コードの表示方法¶
リテラルブロックとコードブロック¶
コードの主要な表示方法として、以下の3つを挙げる.
ReSTソースファイル(.rst)に、直接コードを書く.
リテラルブロック ("::" )
コードブロック ( "code-block" )
外部ファイルを読み込む.
リテラルインクルード ("literalinclude")
リテラルブロックによる表示¶
意味的には、リテラル(文章)を記載するためのブロック.
前の文書の末尾に ダブルコロン "::" を付記する.改行後空白行を挟み、インデントをつけて、コードを記載する. 例としては、
- SphinxのReST文書は、次のコマンドによりコンパイルできる. :: $ make html
ダブルコロン("::")の前には空白区切りを入れ、その後には何も書かない.
(表示例)
#include <cstdio> int main(void) { printf( "Hello World!!\n" ) }
code-block ディレクティヴによる表示¶
意味的には、コードを記載するためのブロック.
code-blockディレクティヴでは、キャプションや行の強調などの設定を付与して、コードを表示することができる.
.. code-block:: 言語の種類、ファイル拡張子 ( f90, cpp, python, bash など ) :caption: (キャプション) :emphasize-lines: (強調したい行) etc. (コードを記載)
(表示例)
#include <cstdio> int main(void) { printf( "Hello World!!\n" ) }
3行目を強調し、キャプションを付けている.また、シンタックスハイライトも "cpp" に沿ってなされている(自動、外観変更はおそらく難しいが).
literalinclude ディレクティヴによる表示¶
リテラルを外部から読み込みする.
literalinclude ディレクティヴでは、外部ファイルに記載されているコードを読み込んで表示することができる.また、各種表示設定も適用可能である.
.. literalinclude:: (ファイル名) :caption: (キャプション) :language: (言語の種類、拡張子)
(表示例)
#include <cstdio> int main(void) { printf( "Hello World!!\n" ) }