3. ロールやディレクティブの練習

3.1. ロール

詳細 : http://docs.sphinx-users.jp/markup/inline.html

サンプル:

* これが :title:`titleロール` です。
* これが :emphasis:`emphasisロール` です。
* これが :literal:`literalロール` です。
* これが :strong:`strong ロール` です。
* これが :sub:`subscript ロール(下付き文字)` です。
* これが :sup:`superscript ロール(上付き文字)` です。
* これが rfc ロールです。 : :rfc:`2616`
* これが abbr ロールです。 :abbr:`TLS (Transport Layer Security)`
* これが command ロールです。 :command:`/usr/sbin/chkconfig`
* これが file ロールです。 :file:`/etc/hosts`
* これが kbd ロールです。 :kbd:`Ctrl-C`
* これが manpage ロールです。 :manpage:`ls(1)`
* これが mimetype ロールです。 :mimetype:`text/plain`
* これが mailheader ロールです。 :mimetype:`Subject`
* これが regexp ロールです。 :regexp:`abc.{3}[-_0-9][^ABC](?:hello\\s\'\"\`world\`\"\')`

  • これが titleロール です。
  • これが emphasisロール です。
  • これが literalロール です。
  • これが rfc ロールです。 : RFC 2616
  • これが strong ロール です。
  • これが subscript ロール(下付き文字) です。
  • これが superscript ロール(上付き文字) です。
  • これが abbr ロールです。 TLS
  • これが command ロールです。 /usr/sbin/chkconfig
  • これが file ロールです。 /etc/hosts
  • これが kbd ロールです。 Ctrl-C
  • これが manpage ロールです。 ls(1)
  • これが mimetype ロールです。 text/plain
  • これが mailheader ロールです。 Subject
  • これが regexp ロールです。 abc.{3}[-_0-9][^ABC](?:hello\s'"`world`"')

3.2. 図表番号(numfig/numref)


../_images/image1.png

図番号 - 3.2.1 画像のキャプション1 画像のキャプション1

../_images/image2.png

図番号 - 3.2.2 画像のキャプション2 画像のキャプション2

../_images/image3.png

図番号 - 3.2.3 画像のキャプション3 画像のキャプション3

表番号 - 3.2.1 表キャプション1
No 名前 値段
1 バナナ 100
2 みかん 150
3 りんご 200
表番号 - 3.2.2 表キャプション2
日付 場所 天気
2016-08-01 レムリア 晴れ
2016-09-01 アトランティス
2016-10-01 東京 曇りのち雨
表番号 - 3.2.3 表キャプション3
書籍タイトル 値段
ぐりとぐら 1,000
母をたずねて三千里 2,000
海底2万マイル 1,500
ソースコード番号 - 3.2.1 シェル操作その1
1
2
3
$ cd /etc
$ sudo yum update
$ sudo systemctl start httpd
ソースコード番号 - 3.2.2 Main.java
1
2
3
4
5
public class Main {
    public staic void main(String[] args) {
        System.out.println("Hello, Java");
    }
}
ソースコード番号 - 3.2.3 hello.c
1
2
3
4
5
6
#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Hello, C\n");
    return 0;
}

3.3. ディレクティブ

3.3.1. HTML定義

reST:

.. meta::
   :token1: 1234567890 ABCD
   :token2: 1234567890 ABCD

.. title:: <s>"ロール'&</s>やディレクティブの練習
   タイトルの上書き

3.3.2. HTMLベタ書き

reST:

.. raw:: html

  <s>HTMLベタ書き</s>
  <s>HTMLベタ書き</s>

  <s>HTMLベタ書き</s>
  <s>HTMLベタ書き</s>

HTMLベタ書き HTMLベタ書き HTMLベタ書き HTMLベタ書き

3.3.3. 置換機能を使ったHTMLベタ書きのライブラリ化

reST:

.. |mycheck| raw:: html

  <input type="checkbox" name="mycheckbox" value="on">My CheckBox</input>

.. |myradio| raw:: html

  <input type="radio" name="myradio">My RadioButton</input>

====== ==========
name   form
====== ==========
radio1 |myradio|
radio2 |myradio|
radio3 |myradio|
check1 |mycheck|
check2 |mycheck|
check3 |mycheck|
====== ==========

name form
radio1 My RadioButton
radio2 My RadioButton
radio3 My RadioButton
check1 My CheckBox
check2 My CheckBox
check3 My CheckBox

3.3.4. 環境変数(envvar)ディレクティブ

PATH
PATH環境変数の説明
PATH環境変数の説明
PATH環境変数の説明
EDITOR
EDITOR環境変数の説明
EDITOR環境変数の説明
EDITOR環境変数の説明
PAGER
PAGER環境変数の説明
PAGER環境変数の説明
PAGER環境変数の説明
JAVA_HOME
JAVA_PATH環境変数の説明
JAVA_PATH環境変数の説明
JAVA_PATH環境変数の説明

ロールから参照:

* :envvar:`PATH`
* :envvar:`EDITOR`
* :envvar:`PAGER`
* :envvar:`JAVA_HOME`

3.3.5. include, literalinclude ディレクティブ

restとしてそのままinclude:

  • 強調(italic)
  • 強い強調(bold)
  • リテラル表記

リテラルとしてinclude:


*強調(italic)*/**強い強調(bold)**/``リテラル表記``::

  * *強調(italic)*
  * **強い強調(bold)**
  * ``リテラル表記``

→

* *強調(italic)*
* **強い強調(bold)**
* ``リテラル表記``

aaaaaaaaaaaa
bbbbbbbbbbbbbb

Cソースのinclude:

#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Hello, World!\n");
    return 0;
}

Javaソースのinclude:

public class demo {
    public static void main(String[] args) {
        System.out.println("hello, java");
    }
}

Cソースのliteralinclude:

1
2
3
4
5
6
#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Hello, World!\n");
    return 0;
}

Javaソースのliteralinclude:

1
2
3
4
5
public class demo {
    public static void main(String[] args) {
        System.out.println("hello, java");
    }
}

3.3.6. Admonitions ディレティブ

注意

attentionディレクティブです。 どんな風に見えますか?

  • item1
  • item2
  • item3

ご用心

cautionディレクティブです。 どんな風に見えますか?

  • item1
  • item2
  • item3

危険

dangerディレクティブです。 どんな風に見えますか?

  • item1
  • item2
  • item3

エラー

errorディレクティブです。 どんな風に見えますか?

  • item1
  • item2
  • item3

ヒント

hintディレクティブです。 どんな風に見えますか?

  • item1
  • item2
  • item3

重要

importantディレクティブです。 どんな風に見えますか?

  • item1
  • item2
  • item3

注釈

noteディレクティブです。 どんな風に見えますか?

  • item1
  • item2
  • item3

ちなみに

tipディレクティブです。 どんな風に見えますか?

  • item1
  • item2
  • item3

警告

warningディレクティブです。 どんな風に見えますか?

  • item1
  • item2
  • item3

3.4. TODOs

課題

TODO文書その3

課題

TODO文書その4 TODO文書その4

TODO文書その4 TODO文書その4

3.5. 章節番号の設定

目次への出力:

.. toctree::
  :maxdepth: 2
  :numbered:

またはrstファイルごとに以下のディレクティブを設定する:

.. section-numbering::

ただし、出力形式によって付いたり付かなかったり、あるいはTOCには付くが :doc::ref: への参照では付かなかったりと、ちょっと動作がわかりづらいところがあるので、実際に使うときは色々検証してみる必要がありそう。

また、sectnum (section-numbering はこれのsynonyms) は「使用しないでください」と書いてあるので、やめたほうが良いのかもしれない。 via: http://docs.sphinx-users.jp/rest.html#directives

参考: