名前: . 日時: 2006-02-17 13:06:58 IPアドレス: 59.134.169.*
>>41499 マクロ作成にカラム LaTeX の内部のことは “基本的”(elementary)ではなく“基礎的”(fundamental)なこと なのですから,“入門書”ではなくてそれなりの解説を参照してもらうのが 早いでしょう. 近年,日本語で読めるマクロ作成に関するまともな解説書もいくつか 現れてはいますが,それ以前には確かに“The TeXbook”の内容を ふまえたうえで latex.lxt(LaTeX2e の出現の前では latex.tex)の 記述を解析することになり,学習するのはいくぶん大変でした. 昔話だけをしても仕方ありません(し,今回の問題は LaTeX のカウンタの 取り扱いというよりむしろカテゴリーコードの問題のようです)ので, 元の質問者へのヒントも挙げると… (1) \index の引数の中では“カテゴリーコード”が変更されていることを 確認してください. # \index{... \theexample} としても,この \theexample は # コマンドでは *なく* ただの文字列です(\index{... \arabic{example}} と # しても状況はさほど変わりません). # 一方,ind ファイルを読み込むときには(カテゴリーコードの変更など # なされていないので)ind ファイル中の \theexample は“そのまま” # 扱われます. (2) (1) の問題があるため,\index の引数は“具体的な文字列で” 与えなければなりません.そのためには \protected@edef が 使えるということを確認してください. # e.g. \protected@edef\@tempa{れい\theexample @例\theexample} # \expandafter\index\expandafter{\@tempa} # “例”に自動的に索引をつけるのなら,“例”のための“環境”を # 用意し,その環境の開始部分の定義に索引の設定処理を仕込むようにすると # よいでしょう.
この書き込みへの返事: