misc. > reStructuredTextメモ > インライン要素 > インラインリテラル及びインラインコード

インラインリテラル及びインラインコード

インラインリテラル

インラインリテラルとは、ブロック要素におけるリテラルブロック(HTMLのPRE要素相当)と同様、その中にあるいかなるマークアップも無視されます。インラインリテラルは、対象となる文字列を2連続のバッククォートで囲ったものです(````)。インラインリテラルの中ではエスケープ文字である\もそのまま表示されます。

インラインリテラルの中に2連続以上のバッククォートを含めることはできません。上の記述では、バッククォート一文字のみのリテラルブロック(`````)を「文字無し」を意味する「バックスラッシュ+空白」で区切っています。ソースだと以下のようになっています。

インラインリテラルは、対象となる文字列を2連続のバッククォートで囲ったものです(`````\ `````\ ``〜``\ `````\ `````)。インラインリテラルの中ではエスケープ文字である\ ``\``\ もそのまま表示されます。

インラインリテラルのもう一つの制約として、空白で始まる又は終わる文字列は処理できないというものがあるようです。少なくともこのサイトで使っているdocutilsのHTML変換では処理してくれません。全角空白も同様です。

docutilsのHTML4.01変換では、インラインリテラルはTT要素に、HTML5変換ではspan要素に変換されます。class属性として"docutils literal"が付与されます。

インラインコード

while True:のように、プログラムコードなどをインラインで記述する場合は、:code:`プログラムコード`という形で記述します。docutilsのHTML4.01変換ではCODE要素に変換されます。なお、リテラルブロックも:literal:`テキスト`という形で記述可能です。なお、2連続のバッククォートで囲う場合と違ってこちらはエスケープ文字を処理します。

その他インライン要素

small, s, q, dfn, var,samp, kbd, i, b, u, mark, bdi, ins, del要素はインラインリテラルのロールのclass属性を用いて表現可能です。例えばsamp(プログラムの実行結果出力等)を表現する場合は、

.. role:: samp(literal)
   :class: samp

を記述しておき、 :samp:`サンプル出力` と記述します。


コメント(0)

コメントを投稿する際はここをクリック

Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。