具体的な何かを指定できます。吐き出すという使い方が......。用意されているからです。と最初のエラーの関係は?もやもや中。技術書の索引を作るのは、一筋縄ではいかない仕事です。Diary)矢吹さんのtweetから始まって、まとまりはないけど索引について思考実験。索引というのは、そもそも正しいページを参照するものでなければなりません。42ページを見よとなっているのに、そのキーワードも関連する概念の説明も42ページに出現しないのはまずい。キーワードAに対して「キーワードBを見よ」などとなっている場合もありますが、これが循環しているのもまずいです。Aの項にもBの項にも具体的なページ番号がないのは論外ですが、「...も見よ」が循環しているのもまずいです。した参照先について要求されることがらを「索引の健全性」と呼びます。このほか、キーワードが正しく五十音順に並んでいることなんかも健全性に含まれますね。)一方、索引には、キーワードがあますところなく網羅されている必要もあります。こちらは、いわば「索引の完全性」です。索引の完全性は、「このキーワードの説明ページに飛びたい」に応えることだけではありません。「本に出現するキーワードはわからないけど、こんな話ってどこに書いてあるんだろう」とか「この話、あのキーワードの近くに説明があったような......」といった漠然とした要求にも応えられるよう、キーワードが選ばれている必要があります。読者にとって索引の悲劇というやつは、たいてい、完全性が満たされていない事態です。健全性がまるでないことが発覚した本は、発行後に回収される場合さえあるので、作ってるほうはあまり手を抜いてません。健全性は機械的に(必ずしも自動的にという意味ではない)チェックができる性質でもあります。時間や人手が足りないなら、項目を減らせばいい。して完全性からは程遠い索引(けど健全)ができあがります。@kmutoさんが指摘するように、索引はページ割りが確定しないと着手できない場合も多く、それはスケジュール上は時間や人手が最高に足りない時間です。索引の完全性は、なりゆきで本を作っていると、おのずから低下します。完全性の高い索引を作るには、著者や編集者にそれなりの心構えが必要ということです。心構えというより、むしろ覚悟がいります。著者にはできないインデキシングもあるという覚悟キーワードを選び出す仕事は索引作りの端緒にすぎません。そのキーワードを参照すべきベストなページ番号を選び出す仕事、あるいは、そのキーワードの文脈を判断して必要があれば複数の索引項目や階層的な索引項目にする仕事が不可欠です。検索して出現ページを調べ、それを組にして五十音順でソートすれば、健全性の保たれた索引はできあがります。完全性を目指した索引は、全文検索とは違う、ひとつのコンテンツです。索引作りには時間がかかります。少なくとも書籍全体をメタに読み直すだけの時間がかかります。(というわけで電子書籍にもいかした索引は必要なんですよ。)で、その時間を誰に割いてもらうか、というのが上記の2.と3.です。さんがいうように、本の中身をいちばんよく知っているのは著者であり、著者が主体的にインデキシングした本はよい索引になることが多いです。ページ割が決まった後でないとインデキシングできないのでは、著者に作業をお願いしにくい。この点、LaTeXとかXMLからの自動組版は秀でています。著者が自分の手で原稿に入れたメタ情報をそのまま情報を落とさずに利用できるのだから。いう要求にも応えられる。自分のDebian徹底本では索引用に5種類くらいのタグを使い分けて後処理していた。当時は紙に組んだら情報がかなり落ちてしまったのでいろいろもったいなかったんだけど、今ならもうちょっとうまい方法を思いつけそうhttp://twitter.com/#!/kmuto/status/106236697867599872実際、『RailsによるアジャイルWebアプリケーション開発』という本の第2版以降は、原著のXMLデータ(著者本人が作ってるもの)からあらゆるインデキシングに関する情報を抜き出しているつもり。(第4版はもうちょっとお待ちください。)とはいえ、著者が作ればうまい索引になるというわけでもないのだよなあ。そこで、だからこそ編集者がいるんだ、というポジショントークです。Work』という読み物があるのですが、これ、ちゃんと索引つけています。なんで読み物に索引ついてるんだという話ですが、この記事で最初のほうに言及した「この話、あのキーワードの近くに説明があったような......」に応えるためというのと、複数の話者のインタビュー集なので、同一の話題をパラレルに参照可能な手段があるほうがよかろうなと考えたからです。「テスト」のような項目を引いてもらうとわかりますが、別々の話者が主にテストについて語っている部分に飛べるようになっています。「テスト」というキーワードの直接出現がない場合もあるので健全性を一部犠牲にしていますが、後悔はしていない。本書は原書にも索引はあるのですが、これが典型的な「それっぽいキーワードの出現箇所を適当に参照してみました」な出来だっていたので、結果的には参考にしませんでした(どうやら英語圏の大手出版社には「indexer」という専門職がいるようなので、その仕事っぷりによって索引の出来が大きく左右されてるような気もします)。いえ、編集者が不要なインデキシングができるすごい著者はたくさんいて、たとえば『プログラミングのための確率統計』の著者の方々とか。それでも、編集者としては、たとえば「Γ関数」を「G」からも「記号・ギリシャ語」からも「カ行」からもひけるようにしました。そこはかとなく気もしてきましたが、とにかくこれはすごい本です。http://d.hatena.ne.jp/zrbabbler/20110815/1313398638一晩すぎたっぽいし、回答例アップしてもいいよね。\repeat}\noindent\NabeAzz{400}\vfill\eject\endとくに奇妙なことはしていません。10進表記でない整数(16進とか8進とか文字とか)も引数にとれるところがちょっとポイント。マクロを使えるかどうかよりも、初等代数的なことを考える力を試されている気分。マクロを参考にしています。SXML入門HTMLやXMLの文章を扱っていると、気楽にこんな操作をしたいケースが間々あります。データとして欲しい場合の話です。関数でどうにでも操作できる気がしてきます。そのような夢をかなえてくれるものです。データを操る方法をまとめます。いうユーティリティを使います。パーザを作る仕組みも提供されているのですが、私は使ったことがありません。'()))))ただ一点だけ、このユーティリティを黙って使う際にぶつかる壁があって、それは文字実体参照です。定義済み実体しか解釈してくれません。混ざっているとはじかれます。使われるので、これはいささか不便です。いうのがあって、これをつつけばよさそう。いう仕組みがあるので、これを使って文字実体参照のデフォルトを「上書き」してしまいます。