<索引整形ツール mendex ver.2.4>
                                  株式会社アスキー  出版技術部  田中 禎之
                                                     sada-t@ascii.co.jp
                                                     www-ptex@ascii.co.jp

<mendexとは>

 mendex は makeindex 互換の LaTeX 用索引整形ツールです。
 makeindex は基本的に欧文用であり、和文を扱う上で色々と手間が掛かります。
 それらの手間を減らすように新たに作成されたのが mendexです。

 なお、このプログラムは以下の事項を確認の上、ご利用ください。

   1. 本プログラムの、日本語化部分に関しては株式会社アスキーに著作権が
      あります。

   2. その使用が直接的な営利目的（例えば、利用者からプログラムの使用料
      金をとる等）でない限り、どのような方法、目的で使用されてもかまい
      ません。ただし、それにより生じた問題に関しては一切、株式会社アス
      キーでは責任を持ちません。

   3. 他者へのコピーは、その行為が営利目的でない場合に限り自由に行なっ
      て結構です。

   4. 本プログラムの改変については自由に行なってかまいません。ただし
      改変したものの公開については、改変前のものまたは改変前の状態に
      簡単に戻せる形で行なって下さい。

   5. 本プログラムの使用または、使用不能から生ずるいかなる損害に関して
      も、株式会社アスキーは、一切責任を負わないものとします。

<特徴>

・基本的に makeindex 上位互換。
・和文索引の読みの入力を減らすために、読みと熟語を対応させる辞書ファイルを
  使用。
・和文の読みは辞書順に自動変換。
・数字・記号->欧文->和文の順にこだわらない索引の作成が可能。
・ただし、makeindexと比べて実行速度が非常に遅い。

<動作環境>

 FreeBSD2.1.5, SunOS4.1.3にて動作確認。

<修正履歴>

2.3c->2.3e
 同じ索引語が64個までしか処理できなかった制限をなくした。また、EUCのコンパイラ
 でSJIS対応のバイナリを作れるように修正。

2.3e->2.3f
 preamble,postambleが複数行にわたるとおかしくなるバグを修正。また、索引項目中
 の"\"の処理がおかしかった箇所を修正。

2.3f->2.3g
 同じ索引項目の上限が128個であったのを2147483648個(int型の上限)まで拡張。
 .indファイル生成用の文字列領域を拡張。

2.3g->2,3h
 全索引項目数が4096個までになっていたのでこの制限をなくした。
 ページ範囲の処理にバグがあったので修正。

2.3h->2.4a
 ページのソート処理にバグがあったので修正。
 ページ範囲の処理にまだ問題があったので修正。
 kpathsea-3.0へ対応(kpathsea-2.6, kpathseaなしでも可)。
 makeindexに合わせるために環境変数名を変更。
  ・INDEXSTYLE -> INDEXDEFAULTSTYLE
  ・INDEXSTYLES -> INDEXSTYLE
  ・MENDEX_DICTIONARY -> INDEXDEFAULTDICTIONARY
  ・INDEXDICTS -> INDEXDICTIONARY

2.4a->2.4b
 ページ範囲の始めと終わりが同じ場合には範囲表現をしないように修正。
 ページ番号にコマンドを付ける場合の動作についてmakeindexとの互換性を向上。

2.4b->2.4c
 「ぬ」の後の音引きの変換に失敗するバグを修正。

2.4c->2.4d
 ページ番号のソート処理にバグがあったので修正。

<プログラムのコンパイル>

 対応漢字コードに合わせて kana.h および ktable.h をコード変換してください。
対応できる漢字コードは EUC または Shift-JIS です。JIS コードには非対応です。
 なお、EUC環境(SunOS等)でShiftJISのコードに対応するため、kana.hおよびktable.h
に細工がしてあります。このため、コンパイル時にwarningが出ることがありますが
特に気にする必要はありません。

 この mendex には TeX ver.3 のディレクトリ検索に対応するために、淺山 和典氏
(asayama@vid.cpg.sony.co.jp)による kpathsea 対応差分をあててあります。
 対応している検索ライブラリは kpathsea-2.6 および 3.0 です。

 なお、デフォルトでは kpathsea-3.0(pTeX2.1.5 や dvipsk5.66aのもの)に対応して
いますが、Makefileを書き換えることにより kpathsea-2.6(pTeX2.1.4 や dvipsk5.58f
のもの) および kpathsea なしに対応します。
 対応させたい kpathsea ライブラリに応じてMakefileの CFLAGS と PROGLINK を
選択して下さい。
 また、mendexのインストール先をMakefileの DISTDIR に指定しておいて下さい。

 あとはこのディレクトリを kpathsea ディレクトリと同じ階層に置き、make を実行
すると mendex が作られます。
 さらに make install を実行すると DISTDIR で指定したディレクトリにインストール
されます。

<kpathseaの環境変数について>

 texmf.cnf や環境変数で、以下の変数を設定すればそれを参照します。

  ・INDEXSTYLE   索引スタイルファイルがあるディレクトリ
  ・INDEXDEFAULTSTYLE   デフォルトで参照する索引スタイルファイル
  ・INDEXDICTIONARY   辞書があるディレクトリ
  ・INDEXDEFAULTDICTIONARY   常に参照する辞書ファイル

 これらは、ディレクトリ名を ':' (DOS は ';') で区切って並べます(TEXINPUTS
などと同じ)。TEXINPUTS と同様、"//" は再帰的な検索を意味します。

 これらの変数がどこにも設定されていなければコンパイル時に main.c 冒頭の
DEFAULT_INDEXSTYLES、DEFAULT_INDEXDICTS で指定したディレクトリを用います
(デフォルトでは、双方 "." が指定してあります)。

また、これらの環境変数が設定されていなければ texmf.cnf に設定された変数を
検索します。

texmf.cnf 内では、TeX などと同様に、INDEXSTYLE.mendex のように
プログラム名を限定して指定することも出来ます。

 また、INDEXDEFAULTDICTIONARY に辞書ファイル名を設定しておけば常にその辞書を
参照します。
