How I perform indexing

This document is an attempt to describe how I do the indexing for the books that I write. I think the index of a technical book is critical, as I find myself always referring to the index of books that I read, and I get frustrated when I cannot find terms in the index.

Creating the index is part mechanical (adding all the flags to the troff files specifying which terms to index), and then a lot of proofing and tweaking. The first step is to get the software (shell scripts and awk scripts) described in the paper Tools for Printing Indexes by Jon L. Bentley and Brian W. Kernighan, Electronic Publishing, Vol. 1, No. 1, pp. 3-17, 1981, as this is the software that I use.

Here are the steps that I take, looking for terms to index, using UNIX Network Programming, Volume 1, second edition for the example.

Once all of the above steps are done (it took me 30 hours to do all of the above for UNPv1), then you generate an index, go through it by hand, fix things, generate another index, go through it again, again and again, until it starts to look reasonable. With UNPv1 this took me 5 complete passes and about 20 hours.

The final steps are just fine tuning this in a pass or two.

left arrow Back to W. Richard Stevens' Home Page