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.