sortorder拡張(日本語版説明書)¶
Note
本書(日本語版)は公式サイト及びパッケージのdocフォルダで読むことができます。
はじめに¶
2015年6月1日現在、Sphinx 1.3.1では日本語による索引を作ることはできません。また glossary ディレクティブ内で読みに基づく並べ替えもできません。
このパッケージはSphinxにそのような機能を与える土台部分を提供します。つまりこれ単体では使えず、Sphinx用に別のパッケージが必要です。pipで Gosyu の名で公開しますのでそちらを検索してください。
このパッケージ自身はSphinxに依存しません。従って他の文書処理アプリケーションでも利用はできます。
利用条件¶
二項BSDです。Sphinx本体に合わせています。
設置¶
他のPythonパッケージと同じ方法で設置できます。
環境条件¶
32ビット版Python 2.7.9と64ビット版Python 3.4.3をマイクロソフトウィンドウズ 8.1 Pro 64ビット版で動作させて検証しました。環境依存の要素はないはずなので、他のPythonや他のOSでも動作すると思います。
設置方法¶
前述の通り、通常のPythonパッケージと同様の方法で設置できます。
コンソールを開き
pip install sortorder
を実行してください。マイクロソフトウィンドウズでは
pythonを設置したフォルダ\Scripts\pip.exe install sortorder
を実行してください。あるいはsortorder-2.0.6(.zip)(2.0.6はバージョン番号)というファイルを入手し、このファイルがあるフォルダへ移動した後
pythonを設置したフォルダ\Scripts\pip.exe install sortorder-2.0.6.zip
を実行してください。
Sphinxからの使い方¶
既存の並び順提供moduleを使う方法についてはyogosyuやgosyuの説明書をご覧ください。
本作で提供している日本語版(ja
)・エスペラント(語)(eo
)・ギリシャ語(el
)・ロシア語版(ru
)のいずれかを使う場合はlanguage
を指定することで自動読み込みが動作します。これらの言語に対してであっても、独自に用意したsort_order_xx.py
がsys.path
のどこかに見つかった場合はそちらを優先して使います。
独自の並び順moduleを作る方法についてはsortorder.__init__.pyなどを参照ください。簡単に説明しておくと:
- moduleの名前を決めてそのファイルを作ります。
sort_order_xx.py
という名前であればlanguage = 'xx'
の場合に自動読み込みを行います。 - はじめのほうで
import sortorder
と記述しておきます。 sortorder.SortOrderBase
を継承したクラスを作ります。- そのクラスの
get_string_to_sort()
とget_group_name()
を実装します。 get_default_sort_order()
でそのクラスを実体化して返すよう実装します。setup()
を用意します。こちらはsortorder.ja
などを参照するとよいでしょう。
一般的な使い方¶
pipで設置していない場合は
sys.path.insert(0, '<拡張moduleのpyファイルがあるフォルダへのパス>')
を最初に記述してください。
次に、同梱されている日本語(ja
)・エスペラント(語)(eo
)・ギリシャ語(el
)・ロシア語版(ru
)のいずれかを使う場合は単に
import sortorder.xx
によって利用できるようになります。
そうでない場合、並べ替えを独自に作るか他の方が作ったものを使うことになります。自作する場合は sortorder.SortOrderBase
を継承したクラスを定義してください。ファイル名は sort_order_
を前置したものにします。sort_order_xx.py といった感じになります。
get_default_sort_order()
や setup()
は Sphinx
で使うためのものです。
sort_order_xx.py が準備出来ましたら、Pythonにおけるmoduleの一般的な方法で利用できるようになります。
sys.path.insert(0, '<拡張モジュール(pyファイル)があるフォルダへのパス>')
# (中略)
import sort_order_xx
sortorder.__init__.pyはget_sort_order()
methodを持っています。Sphinxで使うときのように自動選択機能をつけるために
get_default_sort_order()
methodを用意することもできます。
著者¶
鈴見咲 君高, 2011-2015