一、使用makeindex
makeindex是一个用来制作索引的程序。
制作论文和书的索引有所区别。因为论文比较短,索引和征文一起排,而书的索引可能很长,得另起章节。
- 在导言区命加上\usepackage{makeidx}
- 在\begin{document}之前加上\makeindex命令
- 在\end{document}命令之前加上\printindex命令
- 在正文中需要索引的地方加上\index{索引条目}命令。注意:\index{}里的字段是索引词句,不会在当前正文内容中显示的。所以应是:The AND\index{AND} operation,才能既显示又索引 AND。
源文件在第一次编译时,自动生成一个索引条目和页码信息文件*.idx,然后手工运行一下makeindex程序,在unix里使用这个命令:
makeindex myfile.idx
会自动生成一个与源文件同名的排序索引文件*.ind。
再次编译源文件时, \printindex 命令将被这个文件的内容所取代。
但是,如果排版一本书,最好的方法是将ind文件改写成tex文件,然后用\include{}命令将索引文件作为一个章节包括进来。
在使用makeindex时,可以用 -o 选项指定输出文件名(比如你可以输出到 index.tex, make -o index.tex myfile.idx,其实ind文件就是tex文件)。
\include{index}\addcontentsline{toc}{chapter}{Index}
这里将index.tex包括近来,而超链接跟chapter相同。
设置索引格式可以考虑如下命令:
\renewcommand\indexname{索~~引}
\def\generateindex{
\addcontentsline{toc}{chapter}{\indexname}
\printindex
\cleardoublepage
}
这样,最后的 \printindex 命令就可以替换为 \generateindex 命令。
二、关于\index命令
\index{}命令中的索引条目可以有子索引条目,索引条目和子索引条目需要放在一起,以感叹号!分隔,比如:\index{程序!GNU}。
如果想指定页码范围,则在头尾两个条目分别加上“|(”和“|)”,比如\index{...|(}和\index{...|)}。
如果用“参见(see)”或者“见”或者“另见”,可以用\index{...!see{...}}命令。