LaTeX/Indexing

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

A useful feature of many books, index is an alphabetical list of words and expressions with the pages of the book upon which they are to be found. LaTeX supports the creation of indices with its package makeidx, and its support program makeindex, called on some systems makeidx.

To enable the indexing feature of LaTeX, the makeidx package must be loaded in the preamble with:

\usepackage{makeidx}

and the special indexing commands must be enabled by putting the

\makeindex

command into the input file preamble. The content of the index is specified with

\index{key}

where key is the index entry. You enter the index commands at the points in the text that you want the final index entries to point to.

Below are examples of index entries:

When the input file is processed with LaTeX, each \index command writes an appropriate index entry, together with the current page number, to a special file. The file has the same name as the LaTeX input file, but a different extension (.idx). This .idx file can then be processed with the makeindex program. Type in the command line:

makeindex filename.idx

Note that filename is without extension: the program will look for filename.idx and use that. You can optionally pass filename.idx directly to the program as an argument. The makeindex program generates a sorted index with the same base file name, but this time with the extension .ind. If now the LaTeX input file is processed again, this sorted index gets included into the document at the point where LaTeX finds

\printindex

It is common to place it at the end of the document. The default index format is two columns.

The showidx package that comes with LaTeX prints out all index entries in the left margin of the text. This is quite useful for proofreading a document and verifying the index.

Note that the \index command can affect your layout if not used carefully. Here is an example:

My Word \index{Word}. As opposed
to Word\index{Word}. Note the
position of the full stop.
My Word . As opposed to Word. Note

the position of the full stop.

[edit] Abbreviation list

You can make a list of abbreviations with the package nomencl [1].

To enable the Nomenclature feature of LaTeX, the nomencl package must be loaded in the preamble with:

\usepackage[⟨options ⟩]{nomencl}
\makenomenclature

Issue the \nomenclature[⟨prefix ⟩]{⟨symbol ⟩}{⟨description ⟩} command for each symbol you want to have included in the nomenclature list. The best place for this command is immediately after you introduce the symbol for the first time. Put \printnomenclature at the place you want to have your nomenclature list.


Run LaTeX 2 times then

makeindex filename.nlo  -s nomencl.ist -o filename.nls

followed by running LaTeX once again.

[edit] Multiple indexes

If you need multiple indexes you can use the package multind [2].

This package provides the same commands as makeidx, but now you also have to pass a name as the first argument to every command.

\usepackage{multind}
\makeindex{books}
\makeindex{authors}
...
\index{books}{A book to index}
\index{authors}{Put this author in the index}
...
\printindex{books}{The Books index}
\printindex{authors}{The Authors index}
Previous: Labels and Cross-referencing Index Next: Algorithms and Pseudocode
Personal tools