web-dev-qa-db-ja.com

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

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

.. code:: bash

    gedit pohl.m

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

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

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

113
Martin Ueding

これをさらに調べてみると、私はこのドキュメントを偶然見つけました reStructuredText Interpreted Text Roles 。このドキュメントから:

解釈されたテキストは、テキストの周りに逆引用符( `)を使用します。コロンで区切られたテキストの前後に、オプションで明示的な役割マーカーを表示できます。例えば:

This is `interpreted text` using the default role.

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

code role があるようですので、単純に入力できます

:code:`a = b + c`

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

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

次のように使用できます:

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

ロールを参照する前に、ロール定義を配置する必要があることに注意してください。

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

185
Chris