reStructuredTextでのインラインコードの強調表示


130

reStructuredTextに次のディレクティブがあることを知っています。

.. code:: bash

    gedit pohl.m

コードブロックをレンダリングします。次のようなインラインスニペットの構文を強調表示する方法はありますか。

Do edit the file, type ``gedit pohl.m`` into a terminal.

バッククォートはそれをコードとしてマークしますが、ブロックのようなピグメントで強調表示したいと思います。これは可能ですか?


7
バッククォートは、テキストのその部分をコードブロックとしてではなく、インラインリテラルとしてマークします。通常、これはモノスペースフォントで公開されます。インラインコード構文を強調表示するスニペットを取得する方法がわかりません。
Chris

回答:


209

これをもう少し調べた後、私はドキュメントreStructuredText Interpreted Text Rolesを偶然見つけました。このドキュメントから:

解釈されたテキストは、テキストをバッククォート( `)で囲みます。明示的な役割マーカーは、コロンで区切って、テキストの前または後にオプションで表示できます。例えば:

This is `interpreted text` using the default role.

This is :title:`interpreted text` using an explicit role.

そこにあると思われるcode役割は、あなたが簡単に入力することができますので、

:code:`a = b + c`

インラインコードブロックをレンダリングします。構文を強調表示するには、カスタムの役割を定義できます。例えば

.. role:: bash(code)
   :language: bash

これを次のように使用できます。

Here is some awesome bash code :bash:`a = b + c`.

役割の定義は、役割への参照の前に置く必要があることに注意してください。

私がリンクするドキュメントは、それが参照するdocutilsのバージョンについて言及していないことに注意してください。コードの役割はdocutils 0.8.1(私がテストする必要がある唯一のバージョンです)では利用できません。


4
スフィンクスを使用している場合、この問題に注意してください。stackoverflow.com/questions/21591107/...
ドナテッロ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.