How can I have two or more distinct indexes?
The multind
package provides simple and straightforward multiple indexing.
You tag each \makeindex
, \index
and \printindex
command with a file name, and indexing commands are written to (or read from) the name with the appropriate (.idx or .ind) extension appended. To create a “general” and an “authors” index, one might write:
\usepackage{multind}
\makeindex{general}
\makeindex{authors}
...
\index{authors}{Another Idiot}
...
\index{general}{FAQs}
...
\printindex{general}{General index}
\printindex{authors}{Author index}
To complete the job, run LaTeX on your file enough times that labels, etc., are stable, and then execute the commands
makeindex general
makeindex authors
See also this FAQ: Multiple indexes
Update
multind
is a package for LaTeX 2.09
Consider the following alternatives:
- index
- splitindex
- imakeidx
- the memoir class has its own multiple-index functionality
There is also imakeidx
designed to provide multiple indexes (has been mentioned in a comment already, but the usage isn't shown)
Just say \makeindex[name=symbolicname,title={Foo}]
to provide a special index (choose symbolicname appropiately) and \index[symbolicname]{foo}
to make an index entry to this special index.
The special index is printed with \printindex[symbolicname]
.
Using \makeindex
, \index
and \printindex
without optional argument will give the usual index as with makeidx
.
The advantage of imakeidx
is the automatic call of makeindex
or texindy
(if \write18
is enabled).
\documentclass{article}
\usepackage{imakeidx}
\usepackage{blindtext}
\makeindex[name=person,title={Index of persons}]
\makeindex
\begin{document}
Einstein\index[person]{Einstein}
\blindtext
Heisenberg\index[person]{Heisenberg} % Person index
\blindtext[4]
\index{foo}
\index{bar}
\blindtext
\printindex[person] % Person index
\printindex % usual index
\end{document}
One problem with multind
is that the index heading(s) will not be formatted corresponding to your other chapter (or section) headings but simply with \Large\bf
.
If you want multiple indexes that respect the general formatting of your document class (and also work with other than the standard classes), use the splitidx
package.