4. Sphinxでの文章の書き方(reStructuredText)

ここでは、自分がよく使う書き方を集めてみました。

4.1. セクション

セクション名となる文字列の下に、-や=で線を引きます。これでセクションを作ることができます。

セクションは全部で6レベル分作ることができ、出現した順番にレベル分けされます。

セクション名に使用できる記号はたくさんありますが、見やすさから:

= - ` : . ' " ~ ^ _ * + #

これらが推奨されているようです。

=====================
セクション(レベル1)
=====================

レベル2
========

レベル3
--------

レベル4
^^^^^^^^

出力例

4.2. セクション(レベル2)

4.3. レベル3

4.3.1. レベル4

4.3.1.1. レベル4

出力例終わり

4.4. 強調

       
強調 文字列 *で囲む <em>
強い強調 文字列 **で囲む <strong>
コード 文字列 ``で囲む <span class=”pre”>

4.5. 引用

前の段落より1段インデントが深い段落は引用になります。:

以下は引用文です。

    こんにちは
    こんにちは
    こんにちは

ここは引用文ではありません。

以下は引用文です。

こんにちは こんにちは こんにちは

ここは引用文ではありません。

改行をそのまま表示したい場合には、ラインブロックを使います。

| これらの行は、
| ソースファイルと同じように
| 改行されます。
これらの行は、
ソースファイルと同じように
改行されます。

4.6. 番号なしリスト

*、+、-を使って項目を並べるとリストになります。

* 項目1
* 項目2
* 項目3

+ 項目1
+ 項目2
- 項目3

出力例

  • 項目1
  • 項目2
  • 項目3
  • 項目1
  • 項目2
  • 項目1
  • 項目2

4.7. 番号付きリスト

1. 項目1
2. 項目2
3. 項目3

#. 項目1
#. 項目2
#. 項目3
  1. 項目1
  2. 項目2
  3. 項目3
  4. 項目1
  5. 項目2
  6. 項目3

4.8. コードブロック

::のあと1行開けてから1段インデントして書く。

ふつうの文章::

    コードブロック

ふつうの文章

またはcode-blockディレクティブを使います。:

.. code-block:: python

    import sys

    print sys.path

code-blockディレクティブではどのシンタックスハイライトを使うかを指定することができます。

4.9. ラベルと参照

文章中で他の文章にリンクを張りたい場合があると思います。

その場合、 ラベル をつけておき、そこに対してrefでリンクを作ることができます。

.. _label:

タイトル
=========
文章

:ref:`label` を参照

以下はサンプルです。

4.9.1. タイトル

文章

タイトル を参照

4.10. 他のドキュメントへの参照

ラベルを張ったところではなく、別の文書へのリンクを作りたい場合には、次のように書きます。

:doc:`03`

上記のように書くと「 ハンズオン:勉強会レポートを作成しよう 」というリンクが出来ます。

4.11. リンク

次のようにリンクを書くことができます。:

資料
====

* http://sphinx-doc.org/
* `github <https://github.com>`_
* Sphinx-users.jp_

.. _Sphinx-users.jp: http://sphinx-users.jp/
  1. 普通にURLを書くと自動でリンクになる。
  2. 文字列 または スペースを 含む文字列 と書いておいて、 あとから .. _`スペースを 含む文字列`: URL とするとリンクになる。
  3. 文字列 とするとリンクになる。

どの方法が良いというわけはありません。

3の方法は同じ文言を同じリンクにしたい場合には 有効ですが、文字列と実際のリンクURLが離れてしまう欠点もあります。

逆に、2の方法で、同じ文字列に対して2回書いてしまうと、ビルド時に警告がでます。

4.12. ダウンロード用のリンク

以下のように書きます。:

:download:`このファイル <03.rst>`

このファイル 」のようにリンクが出来ます。

また、リンクだけでなく、出力ディレクトリに_downloadsディレクトリが作成され、 その中にdownloadで指定したファイルが格納されます。

4.13. 画像

.. image::
.. figure::

4.14. テーブル

4.14.1. テーブル1

======= ====== ======
col1    col2   col3
======= ====== ======
row1    a      b
row2    a      b
row3    a      b
======= ====== ======
col1 col2 col3
row1 a b
row2 a b
row3 a b

4.14.2. テーブル2

+------------------------+------------+----------+----------+
| Header row, column 1   | Header 2   | Header 3 | Header 4 |
| (header rows optional) |            |          |          |
+========================+============+==========+==========+
| body row 1, column 1   | column 2   | column 3 | column 4 |
+------------------------+------------+----------+----------+
| body row 2             | ...        | ...      |          |
+------------------------+------------+----------+----------+
Header row, column 1 (header rows optional) Header 2 Header 3 Header 4
body row 1, column 1 column 2 column 3 column 4
body row 2 ... ...  

4.14.3. csv-table

.. csv-table:: Frozen Delights!
    :header: "Treat", "Quantity", "Description"
    :widths: 15, 10, 30

    "Albatross", 2.99, "On a stick!"
    "Crunchy Frog", 1.49, "If we took the bones out, it wouldn't be
    crunchy, now would it?"
    "Gannet Ripple", 1.99, "On a stick!"
Frozen Delights!
Treat Quantity Description
Albatross 2.99 On a stick!
Crunchy Frog 1.49 If we took the bones out, it wouldn’t be crunchy, now would it?
Gannet Ripple 1.99 On a stick!

4.14.4. list-table

.. list-table:: Frozen Delights!
    :widths: 15 10 30
    :header-rows: 1

    * - Treat
        - Quantity
        - Description
    * - Albatross
        - 2.99
        - On a stick!
    * - Crunchy Frog
        - 1.49
        - If we took the bones out, it wouldn't be
        crunchy, now would it?
    * - Gannet Ripple
        - 1.99
        - On a stick!
Frozen Delights!
Treat Quantity Description
Albatross 2.99 On a stick!
Crunchy Frog 1.49 If we took the bones out, it wouldn’t be crunchy, now would it?
Gannet Ripple 1.99 On a stick!

4.15. 注釈

ノート

ノート

これは注釈です!

.. note::

    これは注釈です!

警告

警告

これは警告です!

.. warning::

    これは警告です!

4.16. 索引

indexディレクティブを設定することで、索引を作ることができます。

.. index:: Python

.. index::
    pair: Python; Sphinx

4.17. 他のファイルのインクルード

ファイルをreStructuredTextとして取り込みたい場合には includeを使用します。

.. include:: include.rst

includeされました

ファイルを引用として取り込みたい場合には、literalincludeを使用します。

.. literalinclude:: include.rst
    :language: rst
    :linenos:
1
**includeされました**
Read the Docs v: latest
Versions
latest
Downloads
HTML
Epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.