第6日目 Sphinxドキュメントを編集する その3
今日のご紹介するのは 表 (テーブル) の書き方です。
ディレクティブについて
- 今日からディレクティブという命令文のような物を使います。前に ..(ピリオド×2 半角スペース) 、 後に :: (セミコロン×2) を付けます。 例えば csv-table ディレクティブを使う際は .. csv-table:: のように記述します。
表について
- ちょっと残念ですがSphinxは表があまり得意ではありません それでも表は多用しますので、便利かな?と思われる方法についてご紹介します。
CSVテーブル
- CSV(カンマ区切り)形式を利用して表を作る事ができます。 
- csv-table ディレクティブを使用します。 - 記述例: - .. csv-table:: :header-rows: 1 :widths: 2, 6 種別, タイトル サプリメント, グランド×クロス The Detonation サプリメント, ストレイライト 基本ルールブック, トーキョーN◎VA The Detonation クロニクル サプリメント, マーダーインク サプリメント, ナイトウォッチ サプリメント, ワールドオーダー サプリメント, アウターエッジ リプレイ, ビューティフルデイ リプレイ, ヴァニティ・エンジェル リプレイ, カウンターグロウ - このように表示されます。 - 種別 - タイトル - サプリメント - グランド×クロス The Detonation - サプリメント - ストレイライト - 基本ルールブック - トーキョーN◎VA The Detonation クロニクル - サプリメント - マーダーインク - サプリメント - ナイトウォッチ - サプリメント - ワールドオーダー - サプリメント - アウターエッジ - リプレイ - ビューティフルデイ - リプレイ - ヴァニティ・エンジェル - リプレイ - カウンターグロウ 
- :header-rows: オプションで表のヘッダを何行目にするかを指定できます。 
- :widths: オプションでカラムの長さを調整できます。 
- :file: オプションでファイルから読み込ませる事もできます。表の記述量が多い場合はCSVファイルを作成し読み込ませる事をお勧めします。 - 記述例: - .. csv-table:: :file: subdir/piyo.csv 
リストテーブル
- 表にした際、横に並ぶカラムを縦に伸ばしていく記述方法です。1カラムが長くなってしまう時に非常に便利です。 
- list-table ディレクティブを使用します。 - 記述例: - .. list-table:: :header-rows: 1 :widths: 5,5 * - 都市名 - 読み方 * - オーサカM○●N - オーサカムーン * - トーキョーN◎VA - トーキョーノヴァ * - ホンコンHEAVEN - ホンコンヘブン * - キャンベラAXYZ - キャンベラアクシズ * - ミトラスE△EN - ミトラスエデン * - ゴーストEYEランド - ゴーストアイランド * - サーガSATANN - サーガサターン- このように表示されます。 - 都市名 - 読み方 - オーサカM○●N - オーサカムーン - トーキョーN◎VA - トーキョーノヴァ - ホンコンHEAVEN - ホンコンヘブン - キャンベラAXYZ - キャンベラアクシズ - ミトラスE△EN - ミトラスエデン - ゴーストEYEランド - ゴーストアイランド - サーガSATANN - サーガサターン 
- オプションは header-rows と widths がリストテーブルと同様に使えます。 
セルの中で改行する
- | (パイプ) を使います。 - 記述例: - .. list-table:: :header-rows: 1 :widths: 5,5 * - マイナスナンバー - データ * - -1 - | ヒルコ | ミューテーション * - -7 - | アラシ | ブレイクスルー * - -9 - | カゲムシャ | チェンジ * - -18 - | アヤカシ | ディスアペア- このように表示されます。 - マイナスナンバー - データ - -1 ヒルコミューテーション- -7 アラシブレイクスルー- -9 カゲムシャチェンジ- -18 アヤカシディスアペア
- 他のテーブルディレクトリでも同様の事ができます。 
セルの中にリストを入れる
- セルの中にリストを入れる事もできます。 - 記述例: - .. list-table:: :header-rows: 1 :widths: 5,5 * - 傾向 - 基本スタイル * - 攻撃系 - * バサラ * カブト * カタナ * カゲ * カブトワリ * - 支援系 - * ミストレス * マヤカシ * マネキン * タタラ * - 非物理攻撃系 - * カリスマ * クグツ * ニューロ- このように表示されます。 - 傾向 - 基本スタイル - 攻撃系 - バサラ
- カブト
- カタナ
- カゲ
- カブトワリ
 - 支援系 - ミストレス
- マヤカシ
- マネキン
- タタラ
 - 非物理攻撃系 - カリスマ
- クグツ
- ニューロ
 
- 他のテーブルディレクトリでも同様の事ができます。 
セルの結合について
- 可能ですが グリッドテーブル という面倒な記述をする必要があるのでお勧めしません。 - 記述例: - +--------------+-----------+------------------+ |OS | Client | +==============+===========+==================+ |Name |Plan9 | Yes | +--------------+-----------+ + |Name |Cho-KANJI | | +--------------+-----------+------------------+ - このように表示されます。 - OS - Client - Name - Plan9 - Yes - Name - Cho-KANJI 
明日も引き続き、よく使う記述をご紹介していきます。
※ このアドベントカレンダーについては このアドベントカレンダーについて を参照して下さい。
第5日目 Sphinxドキュメントを編集する その2
昨日は reStructuredText で記述されたサンプルをコピペし HTMLドキュメント を生成しましたね。 今日は、サンプルの中で使用した reStructuredText の記法をご紹介します。
インラインマークアップ(文字の修飾)
- 斜体にするには次のように * (アスタリスク) で囲みます。 - 文中に入れる場合は、前後に 半角スペース を入れて下さい。
 - 記述例: - *index.rst* *UTF-8* *サクラエディタ* *メジャーなツール* - このように表示されます。 
- 太字にするには ** (アスタリスク×2) で囲みます。 - 記述例: - **あふw** **Paper Plane xUI** **内骨格** - このように表示されます。 
- リテラルに(そのまま表示)するには `` (バッククォート×2) で囲みます。 - 記述例: - ``C:\cygwin\bin\vim-nox.exe`` - このように表示されます。 - C:\cygwin\bin\vim-nox.exe - Windowsのパス等、エスケープ文字を含む場合に使うといいでしょう。
 
タイトルリファレンス
- 書籍などの説明に使われる記法です。種別を : セミコロン で挟み、半角スペースを入れた後に名称を記述します。 - 記述例: - :ファイラ: あふw :エディタ: Vim :処理系: AutoHotKey :処理系: Python :シェル: nyaos - このように表示されます。 - ファイラ: - あふw - エディタ: - Vim - 処理系: - AutoHotKey - 処理系: - Python - シェル: - nyaos 
番号無しリスト(箇条書き)
- 箇条書きにする為には * (アスタリスク) - (ハイフン) + (プラス) のいずれかを文頭に置きます。 - 記述例: - * TortoiseHg * TortoiseBzr - Cygwin - gow + xyzzy + Gvim - このように表示されます。 - TortoiseHg
- TortoiseBzr
 - Cygwin
- gow
 - xyzzy
- Gvim
 - 入れ子にする事もできます。 - 記述例: - * TortoiseHg * TortoiseBzr * Cygwin * gow * xyzzy * Gvim- このように表示されます。 - TortoiseHg
- TortoiseBzr- Cygwin
- gow- xyzzy
- Gvim
 
 
 
- インデントの半角スペースの数や、空行などにより表示が変化します。後日また説明します。 
番号付きリスト(箇条書き)
- 番号付きのリストを使う事もできます。番号には 半角英数 が使えます。 - 記述例: - 1. Python 2. Mercurial 3. Sphinx 4. Vim - このように表示されます。 - Python
- Mercurial
- Sphinx
- Vim
 - 入れ子にする事もできます。 - 記述例: - A. Editor i. Vim ii. Emacs iii. SakuraEditor iv. ed B. Filer i. Afxw ii. mfiler4 iii. VimFiler C. Launcher i. CraftLaunch ii. HoeKey iii. Bluewind - このように表示されます。 - Editor- Vim
- Emacs
- SakuraEditor
- ed
 
- Filer- Afxw
- mfiler4
- VimFiler
 
- Launcher- CraftLaunch
- HoeKey
- Bluewind
 
 
- 使用するThemeにより、表示は変わります。今回は全て数字になりましたがThemeによっては、アルファベットがそのまま表示されます。 
セクション(ブロックの区切り)
- 下記記号をアンダーラインのように使う事によりセクションにする事ができます。- #
- *
- =
- -
- ^
- ~
- “
 
記号を使った順にレベル分けされます。
記述例:
レベル2 ------- レベル3 ~~~~~~~ レベル4 """"""" レベル2 -------
次のように表示されます。