Sphinx logo

Table Of Contents

Previous topic

利用可能なビルダー

Next topic

HTMLテーマのサポート

This Page

ビルド設定ファイル

設定ディレクトリ には必ず conf.py が含まれています。このファイルは “ビルド設定ファイル” と呼ばれていて、Sphinxの入出力の動作をカスタマイズするのに必要な 設定はこのファイルに含まれています。この設定ファイルはPythonのプログラムとして書かれています。

設定ファイルは、ビルド時にPythonコードとして実行されます。 設定ファイルが含まれる フォルダをカレントディレクトリに設定し、:func:execfile を使用してコールされので、 任意の複雑なコードを記述することができます。Sphinxが読み込む際には単純にファイルの 中の名前空間に定義されている名前を使うことで、設定を読み込みます。

詳細に説明するにあたっての注意点を列挙します。

  • 特別に指定されていない場合には、設定値は文字列型になります。また、指定されていない場合のデフォルト値は空文字列です。
  • “完全限定名(FQN)”という用語は、モジュール内のインポート可能なPythonオブジェクトをあらわす名前です。例えば、 "sphinx.builders.Builder" という完全限定名は、 sphinx.builders モジュールにある Builder クラスを意味します。
  • ドキュメント名は、パスのセパレータとして / を使用します。また、拡張子は含まないで表記します。
  • conf.py はPythonファイルとして読み込むため、Pythonの標準のエンコーディングや、ユニコードサポートなどを利用することができます。設定値にASCII文字以外の文字を含む場合には、エンコーディング宣言(行頭に # -*- coding: utf-8 -*- とコメントを入れる)を使用して、ユニコード文字列リテラルを使用してください。
  • 設定の名前空間の内容はpickle化されます(そのため、Sphinxは設定の変更されたのを確認することができます)。そのため、pickle化できない値が含まれているのを発見したら、 del を使って名前空間から削除します。モジュールは自動的に削除されるため、 import したモジュールがあったら、使用後に del を行う必要はありません。
  • 設定ファイルには、 tags という名前の特別なオブジェクトがあります。これはタグの問い合わせをしたり、変更したりするのに使用します。詳しくは タグを使用したインクルード も参照してください。問い合わせには tags.has('tag') 、変更には tags.add('tag')tags.remove('tag') という使い方をします。

一般的な設定

extensions

使用したいSphinx拡張のモジュールを指定する配列です。この設定自体は配列で、中に、使用したい拡張モジュールの名前の文字列が含まれます。文字列としてはSphinxに付属のもの( sphinx.ext.* )か、カスタムの拡張機能を指定できます。

もし拡張機能が他のディレクトリにある場合には、confファイルの中で sys.path にパスを追加することで、使用できるようになります。注意すべき点としては、絶対パスを指定しなければならない点です。もし、 設定ディレクトリ からの相対パスが分かっている場合には、以下のように os.path.abspath() を以下のように使用します:

import sys, os

sys.path.append(os.path.abspath('sphinxext'))

extensions = ['extname']

上記のコードでは sphinxext というサブディレクトリに含まれる extname という名前の拡張機能をロードしています。

設定ファイル自身で拡張機能を実装してもかいません。その場合には、 setup() という名前の関数を提供する必要があります。

source_suffix

ソースファイルに付く、ファイル名の拡張子を指定します。ここで指定された名前が末尾に付くファイルだけがソースファイルとして読み込まれます。デフォルトは '.rst' です。

source_encoding

すべてのreSTのソースファイルのエンコーディングを指定します。デフォルトかつ、推奨のエンコーディングは 'utf-8-sig' です。

New in version 0.5.

master_doc

“マスター”ドキュメントのドキュメント名を指定します。”マスター”ドキュメントには、ルートとなる toctree ディレクティブが含まれます。デフォルトは 'contents' です。

exclude_patterns

globスタイルのパターンのリストを設定し、ソースファイルの探索時に排除すべきファイルを指定します。これらのパターンは、ソースディレクトリからの相対パスで渡されるソースファイル名に対してマッチします。すべての環境で、ディレクトリの指定として、スラッシュ(/)が使用されます。

サンプルのパターン:

  • 'library/xml.rst'library/xml.rst ファイルを無視します。 unused_docs のエントリーの置き換えになります。
  • 'library/xml'library/xml ディレクトリを無視します。 exclude_trees のエントリーの置き換えになります。
  • 'library/xml*'library/xml から始まる全てのファイルとディレクトリを無視します。 library/xml
  • '**/.svn' – すべての .svn ディレクトリを無視します。 exclude_dirnames のエントリーの置き換えになります。

exclude_patterns は、 html_static_path の中の静的ファイルを探索する時にも参照されます。

New in version 1.0.

unused_docs

ディレクトリ内には存在するが、現在はtoctreeに読み込まないドキュメント名のリストです。Sphinxはこのようなファイルがあると、警告を出力しますが、この警告を非表示にしたいときにこの設定を使用します。

Deprecated since version 1.0: 代わりに exclude_patterns を使用してください

exclude_trees

ソースファイルの検索から除外したいディレクトリパスの配列です。ソースディレクトリからの相対パスで、このフォルダからの再帰的な検索もされなくなるため、サブディレクトリも検索されません。デフォルトは [] です。

New in version 0.4.

Deprecated since version 1.0: 代わりに exclude_patterns を使用してください

exclude_dirnames

Sphinxが行う再帰的な処理で使用されたくないディレクトリ名のリストです。Sphinxではソースファイルの探索や静的ファイルのコピーなどで、再帰的にディレクトリを探索します。 'CVS' などの、バージョンコントロールのシステムのためのディレクトリを一括で除外したい場合などに便利です。デフォルトは [] です。

New in version 0.5.

Deprecated since version 1.0: 代わりに exclude_patterns を使用してください

locale_dirs

New in version 0.5.

追加のSphinxメッセージカタログ( language 参照)を探索するディレクトリを指定します。ここで指定されたパスが、標準の gettext モジュールによって、 sphinx ドメインで検索されます。 ./locale を設定ファイルに指定した場合には、 ./locale/language/LC_MESSAGES/sphinx.mo という場所にメッセージカタログを置かなければなりません。

デフォルトは [] です。

templates_path

追加のテンプレート(もしくは組み込みのテーマに関するテンプレートをオーバーライトするテンプレート)が含まれているパスのリストです。 コンフィギュレーションディレクトリからの相対パスで設定します。

template_bridge

~sphinx.application.TemplateBridge のインスタンスを返す、呼び出し可能なオブジェクト、もしくはシンプルなクラスをあらわす完全限定名です。このインスタンスはHTMLドキュメントや、その他のビルダーの出力をレンダリングする際に使用されます。現在ではchanges builderに使用されています。テンプレートブリッジはHTMLテーマが使用された場合には、これに対応するように作られるべきです。

rst_epilog

読み込まれたすべてのソースファイルの末尾に挿入されるreSturucturedTextの文字列を設定します。この設定を利用すると、文字列置換をすべてのファイルに対して行いたいときに、うまく動作します:

rst_epilog = """
.. |psf| replace:: Pythonソフトウェア財団
"""

New in version 0.6.

rst_prolog

読み込まれたすべてのソースファイルの先頭に挿入されるreSturucturedTextの文字列を設定します。

New in version 1.0.

primary_domain

デフォルトの ドメイン を指定します。 None を設定すると、デフォルトドメインを無効にします。デフォルトは 'py' です。ドメイン名が明示的に与えられるか、 default-domain ディレクティブで指定するかに関わらず、他のドメインのオブジェクトにはドメイン名が明示的に付加されるでしょう。たとえば、デフォルトのドメインがCであれば、Pythonの関数は単なる”関数”ではなく、”Python関数”という名前になります。

New in version 1.0.

default_role

デフォルトロールとして使用する、reSTロールの名前(組み込み、もしくはSphinx拡張)を設定します。これは `このような` テキストのマークアップに対して適用されます。これは 'py:obj' というものがあれば、 `filter` という関数と、Pythonの “filter” のクロスリファレンスを行います。デフォルトは None で、デフォルトのロールは適用されません。

デフォルトのロールは、reST標準の default-role ディレクティブを使用することによっても個々のドキュメントに対して設定することができます。

New in version 0.4.

keep_warnings

Trueが設定されると、警告の内容がビルド済みドキュメントの”システムメッセージ”パラグラフの中に保存されます。この設定に関係なく、 sphinx-build 実行時標準エラー出力には警告が出力されます。

デフォルトは False で 0.5以前の振る舞いを維持するにはこのままにしてください。

New in version 0.5.

needs_sphinx

ドキュメントが想定しているSphinxのバージョンを設定します。 '1.1' というような形式で、 メジャー.マイナー というバージョン文字列を設定すると、Sphinxは自分のバージョンとの比較を行い、もしもバージョンが古すぎる場合にはビルドを中止します。デフォルトでは、チェックをしないようになっています。

New in version 1.0.

nitpicky

もしもTrueが設定されると、 すべての 参照に対して、参照先が見つからないと警告を出します。デフォルトは False です。コマンドラインスイッチの -n を使用すると、一時的にこの機能を有効にすることもできます。

New in version 1.0.

プロジェクト情報

project

ドキュメントを書いているプロジェクト名です。

'2008, Author Name' という形式の著作権表記です。

version

主要なプロジェクトのバージョンです。 |version| と置換されます。例えば、Pythonのドキュメントであれば、これは 2.6 になります。

release

完全なプロジェクトのバージョンです。HTMLのテンプレートなどの中の |release| と置換されます。例えば、Pthonのドキュメントの場合には、 2.6.0rc1 のような文字列になります。

versionrelease を分けて設定する必要がなければ、同じ文字列を入れてください。

language

ドキュメントの言語のコードです。Sphinxが自動的に生成する文章が、その言語で出力されるようになります。LaTeXビルダーでは Babel パッケージのオプションとして、適切な言語が選択されます。デフォルトは None で翻訳はされません(訳注:英語で出力されます)

New in version 0.5.

現在は以下の言語をサポートしています:

  • ca – カタロニア語
  • cs – チェコ語
  • de – ドイツ語
  • en – 英語
  • es – スペイン語
  • fi – フィンランド語
  • fr – フランス語
  • hr – クロアチア語
  • it – イタリア語
  • lt – リトアニア語
  • nl – オランダ語
  • pl – ポーランド語
  • pt_BR – ブラジルのポーランド語
  • ru – ロシア語
  • sl – スロベニア語
  • tr – トルコ語
  • uk_UA – ウクライナ語
  • zh_CN – 簡体字中国語
  • zh_TW – 繁体字中国語
  • ja – 日本語
today
today_fmt

これらの値は現在の日付をどのようにフォーマットするのか、というものを決めます。これは |today| を置き換える時に使用されます。

  • もし today に空ではない値が設定されたらそれが使用されます。
  • そうでない場合には、 today_fmt で与えられたフォーマットを使い、 time.strftime() で生成された値が使用されます。

デフォルトでは、 today は空で、 today_fmt には '%B %d, %Y' という値が設定されています。もしも language が設定されていて、翻訳機能が有効になっている場合には、選択された言語の %format が使用されます。

highlight_language

ドキュメント内でハイライトするデフォルトの言語を設定します。デフォルト値は 'python' です。値はPygmentsのlexer名として有効な名前でなければなりません。詳しくは コードサンプルの表示 を参照してください。

New in version 0.5.

pygments_style

Pygmentsがソースコードをハイライトする際に使用するスタイルの名前を設定します。デフォルトのスタイルはHTMLの出力のテーマで指定されたものになります。そうでない場合には 'sphinx' になります。

Changed in version 0.3: もし値として、Pygmentsのカスタムスタイルクラスの完全限定名が指定されると、カスタムスタイルとして使用されます。

add_function_parentheses

関数とメソッドのロールテキストにカッコを付加するかどうかを決めるブール値です。ロールテキストというのは func:`input`input の箇所で、これをTrueにすると、その名前が呼び出し可能オブジェクトであるということが分かるようになります。デフォルトは True です。

add_module_names

モジュール定義がされている場所にある、 function などの オブジェクト 名のタイトルのすべてに、モジュール名を付けるかどうかを決めるブール値です。デフォルトは True です。

show_authors

moduleauthorsectionauthor ディレクティブの出力を、ビルドしたファイルに含めるかどうかのブール値です。

modindex_common_prefix

モジュールのインデックスをソートする際に、無視するプリフィックスのリストです。例えば、 ['foo.'] が設定されると、 foo.bar に関しては foo. が削除されて bar になるため、 F ではなく、 B の項目として表示されます。プロジェクトの中のひとつのパッケージについてドキュメントを書く際にこの機能は便利に使えるでしょう。現在はHTMLビルダーについて使用されています。デフォルトは [] です。

New in version 0.6.

trim_footnote_reference_space

脚注参照の前のスペースをトリムします。スペースはreSTパーサーが脚注を見分けるためには必要ですが、出力されると見た目があまり良くありません。

New in version 0.6.

trim_doctest_flags

Trueのに設定されると、doctestを表す、Pythonのインタラクティブセッション形式のコードブロックの行末のdoctestのフラグ(# doctest: FALG, ... ) が削除されます。デフォルトはTrueです。doctestに関連して可能なことはまだ多くありますので、詳しくはSphinx拡張モジュールの doctest をご覧ください。

New in version 1.0.

HTML出力のオプション

これらのオプションはHTMLと、HTMLヘルプ出力、SphinxのHTMLWriterクラスを利用しているその他のビルダーに対して影響を与えます。

html_theme

HTML出力で使用される”テーマ”です。詳しくは テーマに関するセクション を参照してください。デフォルト値は 'default' です。

New in version 0.6.

html_theme_options

選択したテーマのルックアンドフィールの設定を行うためのオプションのための辞書です。どのようなオプションがあるかは、テーマごとに異なります。組み込みのテーマで提供されるオプションに関しては、 こちらのセクション を参照してください。

New in version 0.6.

html_theme_path

カスタムテーマを含むパスへのリストです。パスはテーマを含むサブディレクトリか、もしくはzipファイルを指定することができます。相対パスを設定すると、コンフィグレーションディレクトリからの相対パスになります。

New in version 0.6.

html_style

HTMLページで使用されるスタイルシートを設定します。ここで指定されたファイル名はSphinxの static/ か、 html_static_path で与えられたパスのどちらかの中になければなりません。デフォルトでは選択されたテーマで提供されるスタイルシートを使用します。テーマで使用しているスタイルシートに対して、要素を追加したり、一部の要素の上書きしたいだけの場合には、テーマで提供されるスタイルシートを @import するようにしてください。

html_title

Sphinx自身のテンプレートで生成されるHTMLドキュメントの”タイトル”を指定します。ここで設定された値は、それぞれのページ内の <title> タグに対して追加され、ナビゲーションバーの一番トップの要素として使用されます。デフォルト値は ‘{<project>} v{<revision>} document’ となっています。内部のプレースホルダーは同名のコンフィグ値で置き換えられます。

html_short_title

HTMLドキュメントの短いタイトルを設定します。これはヘッダ内のリンク、HTMLヘルプのドキュメントで使用されます。設定されない場合には、 html_title と同じ値がデフォルトで使用されます。

New in version 0.4.

もし設定されると、ドキュメントのロゴ画像として使用されます。設定値は家像ファイル名でなければなりません。画像ファイルはサイドバーのトップに表示されます。画像サイズの幅は200ピクセル以下にしてください。デフォルト値は None です。

New in version 0.4.1: 画像ファイルはHTML出力時に _static ディレクトリにコピーされます。もし同名のファイルが存在する場合には上書きされます。

html_favicon

もし設定されると、ドキュメントのfaviconとして使用されます。設定値は静的なパスで、画像ファイルの名前でなければなりません。最近のブラウザでは、タブやウインドウ、ブックマークでこのfaviconの画像を利用します。これは 16x16 あるいは 32x32 の大きさの、Windowsの形式のアイコンファイル(.ico)でなければなりません。デフォルト値は None です。

New in version 0.4.

html_static_path

スタイルシートやスクリプトファイルといった、カスタムの静的ファイル類が含まれるパスのリストです。相対パスが設定されると、コンフィグレーションディレクトリからの相対パスとして処理されます。これらのファイルは、テーマが提供する静的ファイルをコピーした後にコピー処理が行われるため、 default.css という名前のファイルがあると、テーマで使用する default.css を上書きしてしまうので注意してください。

Changed in version 0.4: html_static_path で指定されるパスにはサブディレクトリも含めることができます。

Changed in version 1.0: 1.0からは、 html_static_path 内のエントリーに、単独のファイルを入れることができます。

html_last_updated_fmt

空の文字列以外が設定されると、すべてのページの最下部に挿入される ‘最終更新:’ というタイムスタンプを出力されるためのテンプレートとして使用されます。テンプレートは strftime() で解釈できるフォーマットを指定してください。デフォルトは '%b %d, %Y' (ロケールによって異なります)になります。

html_use_smartypants

Trueが設定されると、 SmartyPants は、印刷上で実体を修正するために引用文とダッシュを変換するのに使用されるでしょう。 デフォルトは True です。

Trueが設定されると、Sphinxはそれぞれの見出しに “パーマリンク” を追加します。マウスをそれぞれのリンクの上に持って行くと、パラグラフサインが表示されます。デフォルトは True です。

New in version 0.6: 以前は常に有効になってました。

html_sidebars

カスタムのサイドバーのテンプレートです。設定値は、ドキュメント名をキーに、テンプレート名を値に持つ辞書として設定します。

キーには、globスタイルパターンを含めることができます。この場合、マッチしたすべてのドキュメントには、指定されたサイドバーが設定されます。1つ以上のglobスタイルのパターンがマッチすると、警告が出されます。

辞書の値には、リストか、文字列を設定することができます。

  • もしも値がリストの場合には、含めるべきサイドバーテンプレートの完全なリストとして使用されます。もしもデフォルトサイドバーのすべて、もしくはいくつかが含まれていたら、それらはこのリストに含められます。

    デフォルトサイドバー(どのパターンにもマッチしなかったドキュメントで使用される)としては、以下の設定がされたものとして動作します:

    ['localtoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html'].

  • もしも値が文字列だった場合には、指定されたカスタムサイドバーが、 'sourcelink.html''searchbox.html' の間に追加されます。これは、Sphinxの1.0よりも前のバージョンと互換性があります。

組み込みのサイドバーテンプレートは以下のようにビルドされます:

  • localtoc.html – 現在のドキュメントの、詳細な目次
  • globaltoc.html – ドキュメントセット全体に関する、荒い粒度の折りたたまれた目次
  • relations.html – 前のドキュメントと、次のドキュメントへの2つのリンク
  • sourcelink.html – もし html_show_sourcelink が有効にされている場合に、現在のドキュメントのソースへのリンク
  • searchbox.html – “クイック検索”ボックス

サンプル:

html_sidebars = {
   '**': ['globaltoc.html', 'sourcelink.html', 'searchbox.html'],
   'using/windows': ['windowssidebar.html', 'searchbox.html'],
}

これは windowssidebar.html カスタムテンプレートと、クイック検索ボックスをレンダリングし、指定されたドキュメントのサイドバーに組み込みます。その他のドキュメントに関しては、デフォルトサイドバーをビルドします。ただし、ローカルの目次はグローバルな目次に置き換えられます。

New in version 1.0: globスタイルのキーが利用できるようになり、複数のサイドバーが設定できるようになりました。

これらの値は、組み込みの scrollshaiku テーマのように、設定したテーマによっては効果がありません。

html_additional_pages

HTMLページにレンダリングする、追加のHTMLテンプレートを指定します。設定値はドキュメント名をキーに、テンプレート名を値に持つ辞書として設定します。

サンプル:

html_additional_pages = {
    'download': 'customdownload.html',
}

この設定では、 customdownload.html というテンプレートが download.html というページにレンダリングされます。

Note

Sphinxの昔のバージョンには html_index と呼ばれる値を持っていて、これだけが唯一 “index” ドキュメントのコンテンツを制御する方法でした。もしこの機能を使っていた場合には、 html_additional_pagesindex というキーを追加して、それまで使用していたカスタムテンプレートを値として設定します。その後、カスタムテンプレートを下記のように書き換えます:

{% extend "defindex.html" %}
{% block tables %}
... 古いテンプレートの内容 ...
{% endblock %}
html_domain_indices

真に設定されると、ドメイン限定の索引を通常の索引に追加します。例えば、Pythonドメインの場合には、グローバルなモジュールの索引が該当します。デフォルトでは True です。

この設定値にはブール型か、生成すべき索引名のリストを設定することができます。特定の索引名をしていると、HTMLのファイル名を探しに行きます。例えば、Pythonのモジュール索引は 'py-modindex' という名前を持ちます。

New in version 1.0.

html_use_modindex

もしTrueに設定されると、HTMLドキュメントにモジュールの索引を挿入します。デフォルトは True です。

Deprecated since version 1.0: html_domain_indices を使用してください。

html_use_index

Trueが設定されると、HTMLドキュメントに索引を追加します。デフォルトは True です。

New in version 0.4.

html_split_index

もしTrueが設定されると、索引が2回作成されます。一つ目は全てのエントリーを含む索引です。2つめは最初の文字ごとにページ分割された索引になります。デフォルトは False です。

New in version 0.4.

html_copy_source

Trueに設定されると、 HTMLのビルド時に _sources/name としてreSTのソースファイルが含まれるようになります。デフォルトは True です。

Warning

もしもこの設定値が False に設定されると、 JavaScriptの検索機能を使用したときに、マッチしたドキュメントのタイトルしか表示できなくなります。マッチした文章の内容を表示することはできません。

html_copy_source がTrueに設定されていて、かつ、この設定値もTrueに設定された場合に、サイドバーにreSTのソースファイルへのリンクを表示します。デフォルト値は True です。

New in version 0.6.

html_use_opensearch

もしこの値が空でなかったら、 OpenSearch <http://opensearch.org> の説明ファイルが生成され、すべてのページにこのファイルを参照する <link> タグが含まれるようになります。OpenSearchが検索ページの位置を示すのに、相対パスをサポートしていないので、 この値はこの設定値の値は、これらのドキュメントが提供されるベースのURLにします。最後のスラッシュ(/)は不要です。例えば、Pythonのドキュメントであれば、 "http://docs.python.org" とします。デフォルト値は '' です。

html_file_suffix

HTMLファイルを生成するときに、ファイル名の末尾に追加される文字列として使用されます。デフォルトでは ".html" となります。

New in version 0.4.

HTMLファイルに対して生成されるリンクの末尾に付けられる文字列です。デフォルト値としては html_file_suffix の値が設定されます。他のウェブサーバのセットアップをサポートする場合などに、別の値を設定することができます。

New in version 0.6.

html_translator_class

HTML変換クラスへの完全限定名(FQN)を表す文字列です。これはSphinxの HTMLTranslator のサブクラスです。これはドキュメントツリーをHTMLに変換するのに使用されます。デフォルト値は None で、組み込みのトランスレータが使用されます。

もしTrueに設定されると、 “(C) Copyright ...” という文字列をHTMLのフッターに出力します。デフォルトは True です。

New in version 1.0.

html_show_sphinx

もしTrueが設定されると、 “このドキュメントは Sphinx 0.6.2 で生成しました。” という説明がHTMLのフッターに追加されます。デフォルトは True です。

New in version 0.4.

html_output_encoding

HTML出力ファイルのエンコーディングを指定します。デフォルトは 'utf-8' です。このエンコーディング名Pythonのエンコーディング指定と、HTMLの charset の両方で使用できる名前でなければなりません。

New in version 1.0.

html_compact_lists

もし真に設定されると、1つのパラグラフのみを含むリストのアイテムは <p> エレメントを使ってレンダリングされなくなります。これは標準のdocutilsの振る舞いと同じです。デフォルト値は True です。

New in version 1.0.

html_secnumber_suffix

セクション番号のサフィックスです。デフォルトは ". " です。 " " を指定すると、セクション番号の末尾のピリオドが表示されなくなります。

New in version 1.0.

htmlhelp_basename

HTMLヘルプビルダーについて、出力ファイルのベース名を設定します。デフォルト値は 'pydoc' です。

epub出力のオプション

これらのオプションを設定すると、epub出力に影響を与えます。このepubビルダーはHTMLビルダーを継承しているため、HTML出力のオプションも適切に反映されます。いくつか、ビルダーへの影響はないが、 ダブリン・コア・メタデータ の中の値として使用される設定値もあります。

epub_basename

epubファイルのベース名です。デフォルトでは project 名が使用されます。

epub_theme

epub出力時のHTMLデータmで素。デフォルトのテーマは小さい画面サイズで見るような調整がされおらず、HTMLのテーマと同じになっていて、epub出力は賢くありません。デフォルトは 'epub' で、このテーマはビジュアルなための空間を減らすようにデザインされています。

epub_title

ドキュメントのタイトルです。デフォルトでは html_title オプションと同じですが、epub作成時のみの名前が設定できるようになります。

epub_author

ドキュメントの著者名です。この設定値はダブリン・コア・メタデータの中に出力されます。デフォルト値は 'unknown' です。

epub_language

ドキュメントの言語設定です。この設定値はダブリン・コア・メタデータの中に出力されます。デフォルトでは、 language オプションが設定されるか、もしそれも設定されていなければ 'en' になります。

epub_publisher

ドキュメントの出版社情報になります。この設定値はダブリン・コア・メタデータの中に出力されます。プロジェクトのホームページなど、なんらかの意味のある文字列を入れることになるでしょう。デフォルト値は 'unknown' です。

ドキュメントの著作権表示です。デフォルトでは copyright オプションと同じですが、epub作成時のみの名前が設定できるようになります。

epub_identifier

ドキュメントの識別子です。この設定値はダブリン・コア・メタデータの中に出力されます。出版物であれば、ISBNコードを入れることになりますが、そうでない場合にはプロジェクトのウェブサイトなどの別のスキーマを使うこともできます。デフォルト値は 'unknown' です。

epub_scheme

epub_identifier に使用する、出版物のスキーマです。この設定値はダブリン・コア・メタデータの中に出力されます。出版物であれば、 'ISBN' になります。プロジェクトのウェブサイトのURLを指定するのであれば、 'URL' を使うのが良いでしょう。デフォルト値は 'unknown' です。

epub_uid

ドキュメントのユニークな識別子です。この設定値はダブリン・コア・メタデータの中に出力されます。ランダムな文字列を使うことが出来ます。デフォルト値は 'unknown' です。

epub_pre_files

Sphinxによって生成されたテキストの前に追加されるファイル群を指定します。ファイル名とタイトルが組になったタプルを含む配列となります。

サンプル:

epub_pre_files = [
    ('index.html', 'Welcome'),
]

デフォルト値は [] です。

epub_post_files

Sphinxによって生成されたテキストの後ろに追加されるファイル群を指定します。ファイル名とタイトルが組になったタプルを含む配列となります。このオプションは、追加のAppendixとして使用されます。デフォルト値は [] です。

epub_exclude_files

buildディレクトリには生成されたりコピーされるが、epubファイルの中には含めないファイルのリストを指定します。デフォルト値は [] です。

epub_tocdepth

toc.ncx という目次ファイルに含める、セクションタイトルの階層数を指定します。1以上の数値でなければなりません。デフォルト値は 3 です。あまり深いと、ユーザが見て辿るのが難しくなることに注意しましょう。

epub_tocdup

このフラグは、ネストされたTOCのリストがあった時に、同じTOCの要素を再度挿入するかどうか決定します。これを使用すると、章の先頭でナビゲーションしやすくなりますが、ことなった階層のリストがまざってしまうため、わかりにくくなります。デフォルトは True です。

LaTeX出力のオプション

これらのオプションはLaTeX出力に影響を与えます。

latex_documents

この値はドキュメントツリーをどのようにグループ化するかを決定します。これは、 (startdocname, targetname, title, author, documentclass, toctree_only) というタプルのリストでなければなりません。それぞれの項目は次のような意味を持ちます。

  • startdocname: LaTeXファイルの”ルート”となるドキュメントの名前です。このファイルから参照されたすべてのドキュメントはLaTeXファイルの中のTOCツリーにも含まれるようになります。もしも1つのファイルをマスターにしたLaTeXファイルにしたい場合には、 master_doc で設定した値をここに指定して下さい。
  • targetname: 出力ディレクトリに出力される、LaTeXのファイル名です。
  • title: LaTeXのドキュメントのタイトルです。 startdoc の名前を使用する場合には、空にすることも可能です。この設定値はLaTeXのマークアップとして挿入されます。バックスラッシュやアンパサンドなどの特別な文字を入れる場合には、適切なLaTeXコマンドを使って表現しなければなりません。
  • author: LaTeXドキュメントの著者です。これも title と同じように、LaTeXマークアップとして挿入されます。複数人の名前を書く場合には、著者名の区切りに \and を使用して、 'John \and Sarah' のように書きます。
  • documentclass*: 通常はSphinxから提供されている 'manual''howto' を使用します。他のドキュメントクラスも定義されていますが、SphinxのカスタムのLaTeXコマンドを定義するために、”sphinx”パッケージをインクルードしなければなりません。”howto”では、Appendixが追加されず、シンプルなタイトルページだけが追加されます。
  • toctree_only*: TrueFalse を設定します。もしも True を設定した場合には startdoc ドキュメント自身は出力には含まれず、そのドキュメントのTOCツリーで参照されたドキュメントだけになります。このオプションを付けると、HTMLではマスタードキュメント内の項目も表示させて、LaTeXでは出さない、ということができます。

New in version 0.3: 6番目の toctree_only が追加されました。現在でも、5要素のタプルを指定することもできます。

このオプションが設定されると、ドキュメントのロゴとして使用されます。指定されるのは、設定ディレクトリからの相対パスの、イメージファイル名でなければなりません。タイトルページのトップに表示されます。デフォルトでは None です。

latex_use_parts

Trueが設定されると、一番上位のセクションの単位がpartになります。そうでない場合はchapterになります。デフォルトは False です。

New in version 0.3.

latex_appendices

すべてのマニュアルのappendixに追加されるドキュメント名のリストです。

latex_domain_indices

Trueが設定されると、ドメインに特化した索引が、全体の索引に追加されます。Pythonのドメインの場合には、グローバルなモジュールの索引が該当します。デフォルトは True です。

html_domain_indices と同じく、この設定値にはブール型か、生成すべき索引名のリストを設定することができます。

New in version 1.0.

latex_use_modindex

Trueが設定されると、モジュールの索引がLaTeXのドキュメントに追加されます。デフォルトでは True です。

Deprecated since version 1.0: latex_domain_indices を使用して下さい。

latex_show_pagerefs

Trueに設定されると内部参照の後ろにページ参照が追加されます。これはマニュアルを紙に印刷して利用する場合に大変便利です。デフォルトは False です。

New in version 1.0.

latex_show_urls

Trueに設定されると、リンクの後ろにURLのアドレスが追加されます。これはマニュアルを紙に印刷して利用する場合に大変便利です。デフォルトは False です。

New in version 1.0.

latex_elements

New in version 0.5.

LaTeXのスニペットコードが含まれる辞書です。Sphinxはこれらのスニペットを使って、生成された .tex ファイルの中の要素をオーバーライドします。

Pythonの文字列中のバックスラッシュは、エスケープシーケンスとして解釈されるのを避けるために、2重に書く必要があります。

  • オーバーライドするキーには、次のようなものがあります:

    'papersize'

    document classの用紙サイズのオプションです。 'a4paper''letterpaper' が指定できます。デフォルトは 'letterpaper' です。

    'pointsize'

    document classのポイントサイズのオプションです。 '10pt''11pt', '12pt' が指定できます。デフォルトは '10pt' です。

    'babel'

    “babel” パッケージの挿入をします。デフォルトは '\\usepackage{babel}' です。

    'fontpkg'

    フォントパッケージの挿入をします。デフォルトはTimesとHelveticaを使用する '\\usepackage{times}' です。 '' を指定すると、Computer Modernフォントが利用されます。

    'fncychap'

    “fncychap”パッケージの挿入をします。これは”fancy chapter tilte”処理を行います。英語のドキュメントのデフォルトは '\\usepackage[Bjarne]{fncychap}' で、国際化されたドキュメントのデフォルトは '\\usepackage[Sonny]{fncychap}' になります。”Bjarne” は数字を英語表記します。他にも”fncychap”スタイルには、 “Lenny”, “Glenn”, “Conny”, “Rejne” を含めることができます。 '' を指定すると、fncychap処理を無効にすることができます。

    'preamble'

    前書き(preamble)を追加します。デフォルトでは追加しません。

    'footer'`

    フッターのコンテンツ(索引の前)を追加します。デフォルトでは追加しません。 Additional footer content (before the indices), default empty.

  • 次のキーは、特別な場合でなければ、オーバーライドする必要はありません:

    'inputenc'

    “inputenc”パッケージを挿入します。デフォルトでは '\\usepackage[utf8]{inputenc}' になります。

    'fontenc'

    “fontenc”パッケージを挿入します。デフォルトでは '\\usepackage[T1]{fontenc}' になります。

    'maketitle'

    “maketitle”呼び出しです。デフォルトでは '\\maketitle' が使用されます。異なるスタイルのタイトルページを生成したい場合には、オーバーライドしてください。

    'tableofcontents'

    “tableofcontents”呼び出しです。デフォルトでは '\\tableofcontents' です。異なるスタイルの目次を生成したい場合や、タイトルページと目次の間に何かコンテンツを追加したい場合にはオーバーライドしてください。

    'printindex'

    “printindex”呼び出しです。ファイルの最後の項目になります。デフォルトでは '\\printindex' になります。異なる索引を生成したい場合や、索引の後に何かコンテンツを追加したい場合にはオーバーライドしてください。

  • 次のようなキーは、他のオプションによって指定されるため、オーバーライドすべきではありません:

    'docclass' 'classoptions' 'title' 'date' 'release' 'author' 'logo' 'releasename' 'makeindex' 'shorthandoff'

latex_docclass

'howto''manual' から実際にSphinxのクラスとして使われるdocument classへのマッピングをする辞書です。デフォルトでは 'howto' には 'article', 'manual' には 'report' が使われます。

New in version 1.0.

latex_additional_files

設定ディレクトリからの相対パスのファイル名のリストです。LaTeX出力のビルドが行われる時にビルドディレクトリに出力されます。 latex_elements などで参照していて、Sphinxが自動ではコピーしないファイルのコピーに使うと便利です。なお、ソースファイルの中で .. image:: を使って参照しているイメージファイルは、自動的にコピーされます。

ファイルの自動コピー時に、ファイル名が衝突しないように設定する必要があります。

New in version 0.6.

latex_preamble

前書き(preamble)のLaTeXのマークアップを追加します。

Deprecated since version 0.5: latex_elements'papersize' を使用して下さい。

latex_paper_size

出力する用紙サイズのオプションです。 'a4paper''letterpaper' が指定できます。デフォルトは 'letterpaper' です。

Deprecated since version 0.5: latex_elements'papersize' を使用して下さい。

latex_font_size

フォントサイズです。 '10pt''11pt', '12pt' が指定できます。デフォルトは '10pt' です。

Deprecated since version 0.5: latex_elements'pointsize' を使用して下さい。

manページ出力のオプション

これらのオプションは、manページ出力に影響を与えます。

man_pages

このオプションでは、ドキュメントツリーをどのようにグループ化してmanページに入れるか、というのを指定します。この設定は、 (startdocname, name, description, authors, section) というタプルのリストでなければなりません。それぞれの項目は次のような意味を持ちます。

  • startdocname: manページの”ルート”となるドキュメントの名前です。このファイルから参照されたすべてのドキュメントはLaTeXファイルの中のTOCツリーにも含まれるようになります。もしも1つのファイルをマスターにしたmanページにしたい場合には、 master_doc で設定した値をここに指定して下さい。
  • name: manページの名前です。これには、スペースや特別な文字を含まない、短い文字列を指定します。この項目は出力ファイル名と、manページの名前(NAMEセクション内)として使用されます。
  • description: manページの説明です。これはNAMEセクション内で使用されます。
  • author: 著者名の文字列のリスト、もしくは単一の文字列です。manページのAUTHORSセクションを自動的に生成したくない場合には、空の文字列や空の配列を指定することもできます。
  • section: manページのセクションです。出力ファイル名や、manページのヘッダー内で使われます。

New in version 1.0.

脚注

[1]使用できるglob文法: 通常のシェルで使用する *, ?, [...], [!...] は使用できます。これらはすべてスラッシュにはマッチしません。 ** を使うと、スラッシュを 含む あらゆる文字列にマッチします。