今日は索引と参照の話。
LaTeXには索引を作るmendexというツールがある。
そこで棋譜ファイルからデータを読み込み次のように作者名にindex{}をつけておいた。
\def\作者#1{%
\def\sakusya{#1}
\index{#1}
}
ところが、mendexはうまく動作しなかった。
おそらく\index{伊藤看寿}では駄目で、\index{いとうかんじゅ@伊藤看寿}とする必要があるのだろう。もしまたアンソロジーを編むことがあったときには試みたい。
しかし次のようなidxファイルは出力してくれる。
\indexentry{岡田秋葭}{6}
\indexentry{伊藤看寿}{6}
\indexentry{岸本雅美・三枝文夫・三木正道}{7}
\indexentry{詰鬼人}{7}
\indexentry{岸本雅美}{7}
\indexentry{牧野隆一}{8}
\indexentry{角寿雄}{9}
このファイルを手作業で編集して索引を作ったので、労力はさほどでもない。
にも関わらず最後の最後に、たいした変更はないからと手作業で索引を手直しした結果、1カ所の校正ミスが発生してしまった。今後の教訓としたい。
面倒なのは相互参照である。
例えば第209番の解説に
「この作品は第92番を4手逆算したものである。」
と書いたとする。
しかし、その後の編集作業で第92番の番号が変わってしまうことは幾度もある。
その度に、このような作品番号が書かれているところを見つけ出し、修正するという作業が必要になった。
LaTeXにも\ref{}や\pageref{}という機能は用意されているが、これは節や頁を参照するもので、今回の用途には使えない。
しかし、あるカウンターの番号を参照したいという要望はかなりあるはずだから、誰かが使えるツールを作ってくれているかもしれない。
ここに書いておけば、親切な人が教えてくれるかもしれないと期待している。
探してもなければ、自前でなんとかするしかない。
カウンターの値をラベルに書き込むようなスクリプトを書けば良いのだから、なんとかなるだろう。
追記
さっそく、浦壁さんからご教授いただいた。
\refstepcounter というマクロ、全然知りませんでした。。
これで助かりました。
ありがとうございます。
TweetLaTeXの自前のカウンターの参照について (via.golden tumekster)
つみき書店に、LaTeXの自前のカウンターの参照についての記事があったが、あっているか解らないが、以下のようにしてみた。
\documentclass[11pt,a4j,openany]{jsbook}
\newcounter{TanCon}
\newcommand{\TanCon}{%
\refstepcounter{TanCon}%
第\the\value{TanCon}番%
}
\begin{document}
\setcounter{TanCon}{90}
%\TanCon 追加
\TanCon 浅野博
\TanCon いほり閑子
\label{ihori}
\TanCon 今井敬吾
\TanCon 岩本一郎
\TanCon 伊藤明治
作品第\ref{ihori}番のいほり閑子作を、、
\end{document}
LaTeXの自前のカウンターの参照について、
golden tumekster (旧 まんようてい)に記事を書きました。
あっていますか?
ありがとうございます。
本文に追記させていただきます。