Problem with \printindex. No index created
The makeidx
package doesn't produce the index on its own; it just writes the entries, unsorted, to a separate file. You need to use an external processor, such as makeindex
or xindy
, to sort the index and format it in a way appropriate for inclusion in your document.
So your compilation process might look like this:
pdflatex jobname.tex
This produces a jobname.pdf
file and writes the index entries to jobname.idx
.
makeindex jobname.idx
This sorts and formats the index entries and outputs jobname.ind
.
pdflatex jobname.tex
This produces a pdf
file and includes jobname.ind
at whatever point in the document you issued \printindex
.
Oftentimes, it's good to put these commands into a script so you don't forget to run them.
Remember that every time you compile your document, it is both including the contents of jobname.ind
at whatever point you issued \printindex
and writing all your index entires to jobname.idx
. Once you have your ind
file, you don't need to rerun makeindex
unless your page numbers have changed or you've changed entries in the index.
Although the question has been answered, there still some clarifications that need to be made regarding Windows users.
To run makeindex
in Windows you have to go to the terminal which is what Windows call Command Prompt
or cmd
. You can search for these manually or type them into the run
program that appears in Start
. Once you have opened the terminal, you can use Unix commands to do whatever. makeindex
is a Unix command, too, and only works into this terminal.