このエントリーをはてなブックマークに追加

Sphinxで図に番号をつける

Sphinxアドベントカレンダー2012の20日目です。

Sphinxで論文などを書くときに "図1 に示す" などのように、図番号への参照を書きたくなりますよね。

しかし、残念ながらsphinxは標準では番号をつけて図を参照できません。

そこでnumfig拡張の出番です。

インストール

# 好きなところに移り
% cd /path/to/somewhere
# リポジトリをclone
% hg clone https://bitbucket.org/arjones6/sphinx-numfig

あとは conf.py に

# リポジトリをパスに追加
sys.path.insert(0, os.path.abspath('/path/to/sphinx-numfig'))
# extensionsに追加
extensions = ['numfig']

これで準備はオーケーです

書いてみる

numというroleが追加されます。例えばこんな感じで使います。

:num:`図 #rrudi-fig` の奴は :ref:`rrudi-fig`

.. _rrudi-fig:

.. figure:: r_rudi-icon.png
   :width: 100px

   だめrudi

もう少しちゃんとしたサンプルを書きましたので、ご覧ください。

http://tdoc.info/tmp/numfig/

使えるrole

num
図番号への参照。 #refターゲット と書く。
ref
ラベルへの参照
page
ページへの参照。これはLaTeX出力の場合だけ使われる。

conf.pyで出来る設定

number_figures
TrueかFalse。Trueの場合図の番号も含めて出力する
figure_caption_prefix
キャプションの頭につく文言。デフォルトは"Figure"。日本語にするときはu"図" などのようにuをつけること

まとめ

これで図もばしばし使えますね。

さて、明日は r_rudi さんです。よろしくお願いします。