インラインリテラル及びインラインコード
- 公開日: 2019/10/26
- 更新日: 2019/10/26
インラインリテラル
インラインリテラルとは、ブロック要素におけるリテラルブロック(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:`サンプル出力` と記述します。