INDEXING CRIB SHEET You will need the package makeidx.sty and you will need to type two commands to the root file (which I will assume is called book.tex). These commands are \makeindex, which goes before the \begin{document} line, and \printindex, which goes right before the \end{document} command. Then you need to code the text so that LaTeX knows what terms to index, and how to organise them. If for example the text says ... chocolate cake... then you can get this indexed simply by adjusting the source code to read ... chocolate cake\index{chocolate cake}... If you also want a subentry cake, chocolate then you should adjust the source file to read ... chocolate cake\index{chocolate cake}\index{cake!chocolate}... Running the makeindex program will create an index which contains, in the correct alphabetical order, a reference to chocolate cake, with the correct page number, and a second reference to cake, chocolate again with the right page number. Moreover, it will collect all instances of chocolate cake and list them under the same entry, and it will collect all instances of cake and the subentries to it. You can also have subentries to subentries: \index{cake!chocolate!Belgian} If the text doesn't actually say `chocolate cake', but you want that in the index, then you should simply type \index{chocolate cake} into the source file. The basic \index command in LaTeX does not print anything in its argument but merely `writes', or `copies' it to a different file called the .idx file. (The makeindex program turns the .idx file into an .ind file, which is the one in which all terms are grouped together in alphabetical order, with all instances, and no duplications, i.e. no instances of 123, 123. The .ind will not change automatically, even when the .idx file changes. The .ind file only updates when you run makeindex again.) You can also do other things. Page range: if cake appears over several consecutive pages, then mark the first instance with \index{cake|(} (say on page 5} and the final one by \index{cake|)} (say on page 10). Then the index will read cake, 5--10. The above works with subentries too. "See" cross references: If you want the index to read cake, chocolate; see chocolate cake then type \index{cake!chocolate|see chocolate, cake} Alphabetizing symbols correctly: If you want symbols put in the correct alphabetical place, then type, for example, \index{delta@$\delta$} The above will work for anything in which the first character is not alphabetical, e.g. \index{cake@\emph{cake}}