Neben den Standardverzeichnissen wie dem Inhaltsverzeichnis (\tableofcontents) und den Verzeichnissen für Abbildungen (\listoffigures) und Tabellen (\listoftables) benötigt man oft noch einen Index. Dieser lässt sich bekanntermaßen sehr einfach mit den entsprechenden LaTeX-Befehlen aus dem Paket makeidx (\makeindex, \index, \printindex) und dem Programm MakeIndex, welches die Sortierung und Formatierung der Einträge vornimmt, erstellen. Problematisch ist dies nur, wenn man mehrere Indexe benötigt (beispielsweise für Namen oder spezielle Begriffe). Dafür bietet sich das Paket index von David M. Jones an. Es ermöglicht die Definition und Pflege mehrer unterschiedlicher Verzeichnisse. Folgender Dokumentauszug zeigt beispielsweise die Nutzung eines Indexes und eines Namensverzeichnisses.

\documentclass[a4paper]{article}
\usepackage[german]{babel}
\usepackage{index}
  \newindex{default}{idx}{ind}{Schlagwortverzeichnis}
  \newindex{name}{adx}{and}{Namensverzeichnis}
  ...
\begin{document}
    ...
  \index{\LaTeX}
    ...
  \index[name]{Helmut Kopka}
    ...
  \printindex
  \printindex[name]
\end{document}

An Stelle von \makeindex tritt der Befehl \newindex. Sein erster Parameter legt einen Bezeichner für das Verzeichnis fest, der in den \index und \printindex Befehlen aufgegriffen wird. Hierbei kommt dem Wert default eine besondere Bedeutung zu: in dieses Verzeichnis werden Einträge ohne spezielle Kennzeichnung aufgenommen. Der Zweite Parameter definiert die Dateierweiterung für die unsortierte Liste der Index-Einträge (erstellt beim ersten LaTeX-Lauf). Diese Datei wird von MakeIndex verarbeitet und in eine Datei mit der im dritten Parameter definierten Dateierweiterung geschrieben. Der vierte Parameter legt schließlich noch die Überschrift für das Verzeichnis fest. (Für weitere Parameter und Einstellmöglichkeiten sei auf die im Paket enthaltene Dokumentation verwiesen.)

Entsprechend der verwendeten Anzahl von Indexen benötigt es auch mehrere Bearbeitungen mit dem MakeIndex-Befehl (es wird von einem Dokument mit dem Namen test.tex ausgegangen):

> makeindex test.idx -o test.ind
> makeindex test.adx -o test.and