[[TeX入門]]/
[[最初の例>TeX入門/最初の例]]/
[[簡単な数式 (1)>TeX入門/簡単な数式(1)]]/
[[簡単な数式 (2)>TeX入門/簡単な数式(2)]]/
[[各種パッケージの利用>TeX入門/各種パッケージの利用]]/
[[レポート>TeX入門/レポート]]/
[[HTML と LaTeX の比較>TeX入門/HTMLとLaTeXの比較]]/
[[複雑な数式>TeX入門/複雑な数式]]/
[[図表>TeX入門/図表]] /
[[文献引用]]/
索引作成/
[[マクロの作成>TeX入門/マクロの作成]]/
[[スライドの作り方(jsarticle 編)>TeX入門/スライドの作り方(jsarticle編)]]/
[[応用的な使い方>TeX入門/応用的な使い方]]
[[LaTeX入門]] /
[[最初の例>LaTeX入門/最初の例]] /
[[簡単な数式 (1)>LaTeX入門/簡単な数式(1)]] /
[[簡単な数式 (2)>LaTeX入門/簡単な数式(2)]] /
[[各種パッケージの利用>LaTeX入門/各種パッケージの利用]] /
[[レポート>LaTeX入門/レポート]] /
[[HTML と LaTeX の比較>LaTeX入門/HTMLとLaTeXの比較]] /
[[複雑な数式>LaTeX入門/複雑な数式]] /
[[図表>LaTeX入門/図表]] /
[[文献引用]] /
索引作成 /
[[LaTeX マクロの作成>LaTeX入門/LaTeXマクロの作成]] /
[[スライドの作り方(jsarticle 編)>LaTeX入門/スライドの作り方(jsarticle編)]] /
[[応用的な使い方>LaTeX入門/応用的な使い方]]

----


* 索引作成 [#wb91d8c9]

LaTeX で索引を作成するには,makeindex, mendex, upmendex, texindy, xindy 等のツールを用います。

#contents

** 索引作成ツール比較 [#l03584a3]

***Makeindex [#gcb83664]
-対応言語
--英語
-LaTeX専用

***Mendex [#xebbb24f]
-対応言語
--英語
--日本語(JIS 第1,2水準)
-対象ソフトウェア
--LaTeX, (e-)(u)pLaTeX, XeLaTeX, LuaTeX-ja
-対応文字コード: 入出力に JIS(ISO-2022-JP), EUC-JP, Shift_JIS, UTF-8
-開発元
--[[(株)アスキーメディアワークス>http://ascii.asciimw.jp/pb/ptex/base/sources.html#mendexk]]
-特徴
--基本的に Makeindex の上位互換
--日本語のインデックスは,読みによるソートを行う。
--インデックスとして,表記+読みの組の入力が可能。
--辞書ファイルの利用により,読みの入力の軽減が可能。

***upmendex [#xebbb24f]
-対応言語
--ラテン文字の言語(英語,ドイツ語,フランス語,…)
--ギリシャ文字の言語(ギリシャ語)
--キリル文字の言語(ロシア語)
--日本語
--韓国語(ハングル)
-対象ソフトウェア
--LaTeX, (e-)upLaTeX, XeLaTeX, LuaTeX-ja
-対応文字コード: UTF-8
-開発元
--[[upTeX web site>http://www.t-lab.opal.ne.jp/tex/uptex.html]]
-特徴
--基本的にMendexの上位互換
--日本語のインデックスは,読みによるソートを行う。
--インデックスとして,表記+読みの組の入力が可能。
--辞書ファイルの利用により,読みの入力の軽減が可能。
--[[ICU>http://site.icu-project.org/]] によるソーティング

***Xindy [#k08a3ba1]
-対応言語
--ラテン文字の言語(英語,ドイツ語,フランス語,…)
--ギリシャ文字の言語(ギリシャ語)
--キリル文字の言語(ロシア語)
--ヘブライ語
-対象ソフトウェア
--TeX, LaTeX family
--roff-family
--SGML/XML-based systems
-対応文字コード: UTF-8
-開発元
--[[SourceForge, Xindy Web Site>http://xindy.sourceforge.net/]]
-特徴
--多言語
--多様なマークアップの取り扱い(TeX 書式の ^^e4 や \"a を ä として扱うなど)
--柔軟にカスタマイズ可能
--TeX, LaTeX 以外のソフトでも利用可能


* Mendex による索引の作成 [#b0b6551e]

** 索引語(\index{})の挿入 [#td781055]

ソース内で,索引語には \index{} コマンドを付けます。
 索引語\index{さくいんご@索引語}を挿入\index{そうにゅう@挿入}する。
// なお,索引語が長い場合,索引語の途中で改ページが起こる場合を考慮して
// ……\index{むやみにながいさくいんご@むやみに長い索引語}むやみに長い索引語……
// のごとく,\index コマンドを索引語の「直前」に置くほうがよいこともあります。

-漢字の「読み方」:「漢字の読みの辞書」を問題無く作成する人は必ずしも多くない (?) ので,基本的には一つ一つの \index{} コマンドに「読み方」を付けた方が好ましい?

-当然ながら\index{} コマンドの引数はミスが許されません。ミスによって異なるものが混在すると,異なる索引語として認識されます。
--\index{} コマンドを挿入する場合,最終的に一人の人が全ページにわたって挿入作業すべきです。複数人で行うと\index{} コマンドの引数の統一化は困難でしょう。
// 全文書にわたる索引付けの作業が 1 人で可能な程度の規模の文書に対してはそうするにこしたことはありませんが……
// やむを得ない場合には idx ファイル(あるいは ind ファイル)を直接編集する
// (もちろん,可能ならばソース自体の中の \index の引数を直接調整してもよいのですが)
// などして,生成される索引だけでも調整せざるを得ないこともあるでしょう。

***「漢字の読みの辞書」の利用 [#afbc0ab7]
「漢字の読みの辞書」を用いた場合は,\index コマンドに「読み方」の記述は不要です。
// 次のように,ソース内では「索引語」,「挿入」に対する
 索引語\index{索引語}を挿入\index{挿入}する。

-ただし,辞書に登録していない語あるいは辞書に登録した「読み方」とは異なる「読み方」をする語に対しては,「読み方」の指定が必要です。\index{} コマンド内に読み方が記述された場合は辞書を見に行きません。
 \index{ゆうせんされるよみかた@優先される読み方}

-マクロ定義の試み:
もし,
 \def\term#1{#1\index{#1}}
とマクロ定義し,これを利用すると,
 \term{索引語}を\term{挿入}する。

-mendex 実行例と「漢字の読みの辞書」ファイル
 $ mendex -U -d foo.dic foo.idx
 $ cat foo.dic
 # Japanese pronounciation dictionary (tab-separated)
 索引	さくいん
 語	ご
 挿入	そうにゅう
 #

***漢字の「読み方」を得る方法 [#o996016f]
例えば,saykotoeri というコマンドがあるようです(OS X 用)。https://sites.google.com/site/nicohemus/home/saykotoeri
 $ saykotoeri -o -m "索引"
 さくいん

***別名を持つ用語の索引化 [#l86bc3d9]
用語の別名の索引は,基本的に「see」を用い,ページ数は表示させない方が良さそう。
すなわち,記述例として,
-ソース内のどこかに下記を記述し,
 \renewcommand{\seename}{$\rightarrow$}
 \index{クラクション|see{警笛(クラクション)}}
-本文内の\index{}コマンド付けは,
 警笛\index{けいてき(クラクション)@警笛(クラクション)} % at p.10
 クラクション\index{けいてき(クラクション)@警笛(クラクション)} % at p.20
- 索引の仕上がり例は
 クラクション, → 警笛(クラクション)
 警笛(クラクション), 10, 20

***索引におけるページ番号表示を加工 [#de756abb]
ソース内で,加工コマンド付きの \index{・|加工コマンド} を付加する。ボールド体で表示の例。
 索引語\index{さくいんご@索引語|textbf}を挿入\index{そうにゅう@挿入|textbf}する
// たとえ記述例であろうと,「『漢字を含む索引語』に対し
// 『読み方(というよりソートキー)を完全に省略した』例」は挙げないでください。

***\index{} コマンドの自動挿入 [#b8a9b6bc]
試み例 (texindex.pl): 寒川光「LaTeX & PostScript スーパーユーザのテクニック」共立出版
// もっとも,\index コマンドの自動挿入などということは,
// 「あまり出現しない語句」に対してしか有用ではないと思われます。
// ([[qa:47376]] 参照)


***\index{} コマンドの挿入位置 [#y3854ca0]
挿入位置に注意が必要。下記の位置に\index{} コマンドを挿入すると,文字詰めを殺してしまう。
-「)」と句読点との間
-「)」と\footnote{}コマンドとの間

回避例
-「(・・・\index{・})」:丸括弧の中に\index{} コマンドを挿入
-「・・・\index{・}(・・・)」:丸括弧の前に\index{} コマンドを挿入


** 索引語(\index{})の付け方 [#d893e47a]
編集者・出版社のノウハウ(門外不出?)かもしれません。

-例えば,ある人物(アインシュタイン)の評伝の本で,アインシュタインという言葉を索引にするかしないか? するならば,全出現箇所(多数)のうちのどこに付けるのかを決める規範は?
-全出現数が n 箇所(n ページ)以下の索引語化を決めた語句に対しては,その全出現箇所に付けるのが適切か?(例えば n=2 ?)
-学術書等では,そこで使用されている専門用語の語義を読者が知ろうとするニーズが割と多そうです。そうすると語義を書内で示すこと及びそのページを索引で示すことは重要。

* 参考情報 [#xd191e7b]
-http://en.wikibooks.org/wiki/LaTeX/Indexing
-[[索引(wikipedia):http://ja.wikipedia.org/wiki/%E7%B4%A2%E5%BC%95]]
-[[奥村晴彦:http://oku.edu.mie-u.ac.jp/~okumura/]], [[黒木 裕介:https://twitter.com/kuroky_plus]]著『[[[改訂第6版] LaTeX2e 美文書作成入門:http://oku.edu.mie-u.ac.jp/~okumura/bibun6/]]』
-[[索引の作成:http://www.rsch.tuis.ac.jp/~mizutani/online/latex/makeindex.html]]
-[[upLaTeX+mendexで索引作成時のトラブル:http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1253]]
-[[MakeIndex, Mendex, XindyとMendexのUnicode化:http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1308]]
-[[さくいんをつくるときのTやDの読み方:http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1338]]
-[[TUG 2013で日本語の巻末索引について発表しました:http://note.golden-lucky.net/2013/12/tug-2013.html]]
--[[Index makes your book perfect:http://www.slideshare.net/k16shikano/imybp-light]]
-[[[texlive] Index of /trunk/Build/source/texk/mendexk:http://www.tug.org/svn/texlive/trunk/Build/source/texk/mendexk/]]
--[[log:http://www.tug.org/svn/texlive/trunk/Build/source/texk/mendexk/?view=log]]
--[[ChangeLog:http://www.tug.org/svn/texlive/trunk/Build/source/texk/mendexk/ChangeLog?view=markup]]