```{eval-rst} .. index:: pair: Sphinx; 索引したい ``` # 索引したい(``index``) ````md ```{eval-rst} .. index:: タイプ: 索引1; 索引2 ``` ```` [index](https://www.sphinx-doc.org/ja/master/usage/restructuredtext/directives.html#index-generating-markup)を使って、ページを索引(インデックス)に登録できます。 索引の登録方法にはさまざまな種類(``single`` / ``pair``/ ``triple`` / ``see`` / ``seealso``)があるので、適切なものを選択してください。 また``;``で区切って複数の索引を設定できます。 HTMLをビルドした場合、ドキュメント全体から集めた索引は{file}``getindex``に書き出され、[索引ページ](genindex)で確認できます。 PDFをビルドした場合、文書の最後に「索引」の章が追加され、該当ページへの相互参照が表示されます。 :::{hint} ロールを使うと**単語単位**で索引に登録できます。 このドキュメントでは、各ページの先頭でディレクティブを使って**ページ単位**で索引に登録することにしています。 具体的な使い方は、このページの``.md``ソースも確認してください。 ::: ## 目的別検索したい(``single``) ````md ```{eval-rst} .. index:: single: 目的別の見出し; キーワード ``` ```` ``single``オプションに2つの索引を登録すると、目的別検索(逆引き検索)のように索引を使うことができます。 ## 相互索引したい(``pair``) ````md ```{eval-rst} .. index:: pair: 索引1; 索引2 ``` ```` ``pair``オプションを使うと、1つのページを複数の索引に登録できます。 :::{note} このページは``pair: Sphinx; index``を設定しています。 索引を確認すると``Sphinx -> index``と``index -> Sphinx``の両方から検索できることがわかります。 (あたりまえですが)索引は、1ページだけに設定してもおもしろくありません。 複数ページに設定することで、ドキュメントの検索性が高まります。 ::: ## その他の種類の索引したい ````md ```{eval-rst} .. index: triple: 索引1; 索引2; 索引3 see: 見出し; キーワード seealso: 見出し; キーワード ``` ```` ``triple``は3つの索引を循環して、索引に表示できます。 ``see``と``seealso``は**見出し**に対して、索引を登録して使うとよさそうです。 日本語の場合、それぞれ「〜**を**参照」「〜**も**参照」と表示されますが、ページへのリンクは作成されません。