LaTeX's standard indexing capabilities (those provided by the makeidx package) only provide for one index in your document; even quite modest documents can be improved by indexes for separate topics.
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. The \printindex command is modified
from the LaTeX standard so that it doesn't create its own chapter
or section heading; you therefore decide what names (or sectioning
level, even) to use for the indexes, and
\indexname is completely ignored.
The index package provides a comprehensive set of indexing
facilities, including a \newindex command that allows the
definition of new styles of index. \newindex takes a 'tag' (for
use in indexing commands), replacements for the .idx and .ind file
extensions, and a title for the index when it's finally printed; it
can also change the item that's being indexed against (for example,
one might have an index of artists referenced by the figure number
where their work is shown).
To create an author index together with a "normal" index from file myfile.tex, one would start with preamble commands:\usepackage{index} \makeindex \newindex{aut}{adx}{and}{Name Index}which load the package, define a "main" (original-style) index, and then define an author index. Then, in the body of the document, we might find commands like:\index[aut]{Robin Fairbairns} ... \index{FAQs}Which place an entry in the author index, and then one in the main index. At the end of the document, we have two commands:\printindex \printindex[aut]Which print the main index and then the author index. After enough runs through LaTeX that labels are stable, and so on, execute the following shell commands (Unix-style commands shown, for the time being):makeindex myfile makeindex myfile.adx -o myfile.andand rerun LaTeX. The makeindex commands process myfile.idx to myfile.ind (the default action), and then myfile.adx to myfile.and, the two files needed as input by the two\printindexcommands in myfile.tex.
The splitidx package (which comes with a small executable splitindex available for a variety of platforms) is another alternative. It supports the sorts of things that the index package does, but is not limited by the number of output streams (La)TeX can have open at any one time.
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind