ptexindy と mendex

ptexindy と mendex

- 浮亭 夢介 の投稿
返信数: 6
角藤先生のご尽力により,
xindy が ptexindy コマンドにより,日本語索引生成に利用できるようになりました.
xindy自体は高機能ですが,日本語索引を生成するという範囲内において mendex と
比べたとき,どのような違い(メリット/デメリット)があるのでしょうか.
突飛な質問ですが,宜しくお願いします.以下は ptexindy を使ってみた例です.

%% foo.tex (utf-8)
==========================================
\documentclass{ujarticle}
\usepackage{makeidx}
\makeindex
\begin{document}
ああああああああああああああ

\index{くみはん@組版}
\index{くみはん@組版 ! くみはんこう@組版工}
\index{くみはん@組版 ! くみはんてくにっく@組版テクニック}

\index{めりっと@メリット}
\index{でめりっと@デメリット}
\index{merit}
\index{demerit}

\index{\verb+\latex+}
\index{\verb+"@"!+}

\printindex

\end{document}
==========================================

Usage:
(1) ptex2pdf -l -u foo.tex
(2) ptexindy foo.idx
(3) ptex2pdf -l -u foo.tex

結果は添付の通りです.

添付 ptexindy.png
浮亭 夢介 への返信

Re: ptexindy と mendex

- Akira Kakuto の投稿
ptexindy で使っている,xindy 用の module は,全く
実験的なものです。つかいものにはならないと思います。
xindy はよく知らないのですが,
今の module では,'読み' の部分が一意的でなければ
いけないようなので,(よみはひらかな限定)
\index{ほんだ@本田}
\index{ほんだ@ホンダ}
の場合,一つは捨てられてしまいます。このようなとき,
mendex とのポータビリティを捨ててよければ
\index{ほんだ本田@本田}
\index{ほんだホンダ@ホンダ}
のように書いておけば,ゴミを混ぜたおかげで読みの
部分が一意的になり,ptexindy は処理してくれます。
Akira Kakuto への返信

Re: ptexindy と mendex

- Akira Kakuto の投稿
> \index{ほんだ@本田}
> \index{ほんだ@ホンダ}
> の場合,一つは捨てられてしまいます。

邪道ですが,専用の script pxindy.pl と
専用のフィルタ ptex2xindy.exe を作成する
ことによって,この点を解決しました。
今夜中に整理する予定です。
Akira Kakuto への返信

Re: ptexindy と mendex

- Akira Kakuto の投稿
無意味で簡単なサンプルを添付してみます。
Akira Kakuto への返信

Re: ptexindy と mendex

- 浮亭 夢介 の投稿
サンプルで勉強させて頂きました.ありがとうございます.

サポートされてないかも知れませんが lualatex で試行してみました.
(ltj~ と ltjs~ を使ってみました)

(1) \documentclass[12pt]{ltjarticle}とした場合は(u)platexと同様でした.

(2) \documentclass[12pt]{ltjsarticle}とした場合は文字サイズが10ptぐらいで表示されました.また,see が → で表示されました.
浮亭 夢介 への返信

Re: ptexindy と mendex

- Akira Kakuto の投稿
see に関しては, key が 印字部分とは異なる実装のため,
Cross-reference-target が見つからないという
エラーメッセージが出るのですが,これに目をつぶれば,
幸い意図した印字をしてくれるようです。
Akira Kakuto への返信

Re: ptexindy と mendex

- Akira Kakuto の投稿
なお,少し調べてみると,xindy では \see の第二引数
(ページ数) は常に空になるように設定しているようなので,
\see を再定義してページ数を出すようには,(簡単には)
できないようです。第二引数があれば,
Cross-reference-target が見つからないという
エラーが出ないようにして,ページ数を出すようにする
ことが出来るのですが,そもそも空なのであまり恰好が
よくないその方法はさしあたり否公開とします。