Generating an index in (La)TeX
Making an index is not trivial; what to index, and how to index it, is
difficult to decide, and uniform implementation is difficult to
achieve. You will need to mark all items to be indexed in your text
(typically with \
index
commands).
It is not practical to sort a large index within TeX, so a
post-processing program is used to sort the output of one TeX run,
to be included into the document at the next run.
The following programs are available:
- makeindex
- Comes with most distributions - a good workhorse,
but is not well-arranged to deal with other sort orders than the
canonical ASCII ordering.
The makeindex documentation is a good source of
information on how to create your own index. Makeindex can
be used with some TeX
macro packages other than LaTeX, such as
Eplain, and TeX (whose macros can
be used independently with Plain TeX).
- idxtex
- for LaTeX under VMS, which comes with a
glossary-maker called glotex.
- texindex
- A witty little shell/sed-script-based
utility for LaTeX under Unix.
The Texinfo system also uses a program
texindex, whose source is to be found in the
texinfo distribution. The ltxindex package
provides macros to allow LaTeX users to use this
texindex.
- xindy
- arose from frustration at the difficulty of making a
multi-language version of makeindex. It is designed to
be a successor to makeindex, by a team that included the
then-current maintainer of makeindex. It successfully
addresses many of makeindex's shortcomings, including
difficulties with collation order in different languages, and it is
highly flexible. Sadly, its take-up is proving rather slow.
- idxtex
- indexing/glo+idxtex (zip, browse)
- ltxindex.sty
- macros/latex/contrib/ltxindex (zip, browse)
- makeindex
- indexing/makeindex (zip, browse)
- makeindex (Macintosh)
- systems/mac/macmakeindex2.12.sea.hqx
- texindex (the script)
- support/texindex (zip, browse)
- texindex (the program)
- Distributed
with macros/texinfo/texinfo (zip, browse)
- texsis (system)
- macros/texsis (zip, browse)
- texsis (makeindex support)
- macros/texsis/index/index.tex
- xindy
- support/xindy/
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=makeindex