How to Create an Index Page in LaTeX

Indexes in a document can greatly enhance the reader's experience. Learn how to create an index page in your LaTeX document.

Good writers index contextual ideas, facts, and features. They call them keywords and they can be found on an index page, along with the page numbers where those keywords can be found.

Having an index page in our LaTeX document allows readers to quickly and easily locate specific information within the document. In this article, we’ll learn how to create an index page in LaTeX to improve the searchability of our document.

Using the “makeidx” package

The makeidx package provides a simple and straightforward way to create an index page in LaTeX.

Include the “makeidx” package in the preamble

To create an index page in our LaTeX document, we need to include makeidx package in our document’s preamble.

\usepackage{makeidx}

Add an entry to the index

The makeidx package will allow us to use the \index command. To add entries to an index page, we can use the \index{keyword} command.

Here is an example of how to use the \index{example} command.

We can also use this command to index multiple keywords. For example:

Here is an example of how to use the \index{example}{examples} command.

We can also use the \index command with subentries.

Here is an example of how to use the \index{example!subentry} command.

Generate the index page

Once we’re done adding entries to our index page, we will need to use the makeindex command to generate the index page from the index entries.

Note: This is not needed if you’re using an online LaTeX editor.

Format the index page

The makeindex command by default generates the index page in a plain format that is not very appealing. To remedy this, we can use imakeidx package.

This imakeidx package is an extension of the makeidx package that provides additional customization options such as creating multiple indexes, using different sorting methods, and customizing the appearance of the index page with the help of some extra commands.

Include the index page

Finally, we need to include (for printing) the generated index page in our LaTeX document. To do this, we need to use the \printindex command which is still part of the makeidx package.

It’s important to note that this command must be used after the makeindex command, otherwise, the index page will not be generated and the \printindex command will not have any effect.

Example

Here is a working example on how to create an index page in LaTeX using the makeidx package:

\documentclass{article}
\usepackage{makeidx}

\begin{document}

\noindent From Wikipedia, the free encyclopedia: Festival Irish dance

\section*{History}
Festival dance is a form of Irish dance\index{Irish dance} traditionally associated with Northern Ireland\index{Northern Ireland}. It separated from the ``fies"\index{feis} movement in stepdancing\index{stepdancing} in the mid-20th century and became stylistically and administratively distinct. The form is practised competitively in Northern Ireland, England\index{England}, and parts of mainland Europe.

\printindex
\end{document}

Summary

We can easily create an index page in LaTeX by using the makeidx package. If we only need a basic index, it’s the go-to choice because it’s simple and straightforward. All we have to do is use the \index command.

On the other hand, the imakeidx package is probably a better option if we need a more advanced indexing feature.