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パッケージと同様の方法で設置できます。

  1. コンソールを開きpip install sortorderを実行してください。

    マイクロソフトウィンドウズではpythonを設置したフォルダ\Scripts\pip.exe install sortorderを実行してください。

  2. あるいはsortorder-2.0.6(.zip)(2.0.6はバージョン番号)というファイルを入手し、このファイルがあるフォルダへ移動した後pythonを設置したフォルダ\Scripts\pip.exe install sortorder-2.0.6.zipを実行してください。

Sphinxからの使い方

既存の並び順提供moduleを使う方法についてはyogosyugosyuの説明書をご覧ください。

本作で提供している日本語版(ja)・エスペラント(語)(eo)・ギリシャ語(el)・ロシア語版(ru)のいずれかを使う場合はlanguage を指定することで自動読み込みが動作します。これらの言語に対してであっても、独自に用意したsort_order_xx.pysys.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__.pyget_sort_order() methodを持っています。Sphinxで使うときのように自動選択機能をつけるために get_default_sort_order() methodを用意することもできます。

著者

鈴見咲 君高, 2011-2015

履歴

2.0.6(2015-07-04):

英語版の README.rst を PyPI用に修正しました。

2.0.5(2015-07-04):

  • yogosyu(用語集)から独立させて、少し構造や使い方を変えました。
  • PyPIに公開しました。

2013-12-14:

Sphinx の公式対応化に応じて Python 3 に対応しました。

2011-06-28:

ロシア語用とギリシャ語用を追加しました。

2011-05-24:

初回版。Sphinx用のyogosyu(用語集) 拡張を構成する部品として公開されました。 日本語版のほかエスペラント(語)版を同梱しました。