[Tex/LaTex] Best practice for index construction — recommendations and references

best practicesindexing

I'm about to embark on something I've never done (at any rate, seriously) before: preparing an index for a ~200-page document. I have started, but I get the feeling "something's wrong".

I know that I must do the index as I write the document — this is just to help me set my own ground rules as I do that.

Here are some typical doubts:

  • Should I attempt to identify the principal reference (with a bold or coloured page number)? (I have my own \ixmain command for this.)
  • How much effort should I invest in generating page ranges? (I have my own \ixstart and \ixend for this.)
  • To what extent should I rely on the "see" construct, especially for abbreviations and (common or local) acronyms?:
\index{session identifier|see{session id}}
\index{session identifier|see{\textsc{sid}}}
\index{process identifier|see{\textsc{pid}}}
  • How redundant should I make my index? For example, which of these index entries should I not use?:
\index{session identifier}
\index{session id}

The question is this: what are the guiding principles that, when followed, make an index user-friendly?

Detailed explanations or reference pointers will both be welcome

Best Answer

Posting this as an answer because it is too long for a comment, but I do not aim at exhaustivity (or objectivity, as a matter of fact).

My first suggestion would be, whatever you do regarding the choice of terms to index, to use and abuse the | syntax in your indexing commands (either manually, or by creating your own command that does it):

It works for page ranges, by successively indexing:

\index{something|(} ... \index{something|)}

It also works for whatever formatting commands you may want to add to the page number. Essentially, you can put any control sequence name after |, provided that its last argument (if any) is the implicit page number.

For instance, when something is located in a footnote, I defined:


and I can then use: \index{something|note} – no backslash – which outputs:

something, 36 (n.)

This could be used to put the page number in boldface, or something of that kind. Identifying the principal reference(s) sounds like a good idea to me, though it is a matter of personal taste (some people do it, some don't).

Now, regarding your question proper, the general idea is that you should index terms where it makes the most sense and/or where the reader is most likely to look for them.

To me, this would mean that if you have an expression with a noun and an adjective, like "British imperialism", you would index:

imperialism, British, 39

and eventually (adjectives shouldn't normally be index headings):

British imperialism, see imperialism

Regarding abbreviations, the same logic could apply. Since the abbreviation stands for the full expression, it would seem logical redirect the reader there, a bit like in a glossary. So, unlike what you proposed in your question, I would be kind to the reader (if he is not strictly speaking from your field, chances are he does not remember all abbreviations), and suggest:

EIC, see East India Company (British)

East India Company (British), 45

But there could be many variants; for instance, an equally valid construct could be:

East India Company (EIC), 45

Then, there are the complex cases where you have two nouns (or words) of approximatively equal semantic weight, and it is not clear which one should be indexed. Here, it depends on the context, I suppose.

  • If you think that the reader could reasonably look up either term, then index both with a "see" construct.

  • If both terms are already indexed in their own right, for other reasons (with sub-entries perhaps), then it is almost always worthwhile to redirect the reader with a "see" construct.

Returning to my first example, while I would not necessarily (just eventually) index "British imperialism" on its own just for a "see" construct, if I already had two significant entries for "britain" and "imperialism", I would definitely write:

Britain, 2, 18-29, 23: economy, 5, 33–39; imperialism (see imperialism)

imperialism: British, 37; Dutch, 74; French, 82

I find it good practice, as far as possible, to create matching index headings; what I really mean is, consistency. If you have two things that have a similar logical structure, index them in the same way. Say, if you are indexing people's names to refer the reader to biographical information, try to construct the sub-entries in the same fashion for everyone. I am not saying they should be strictly identical, but that when similarities (in sub-entries) do occur, you should make sure they appear as such in your index.

Say, don't index:

Smith, John: Years in London, 46

and a couple of entries later:

Turner, Jack: Lived in Manchester, 32

That's inconsistent and awkward.

Here is the Chicago Manual of Style's stand on "see" references:

See references direct a reader from, for example, an informal term to a technical one, a pseudonym to a real name, an inverted term to a noninverted one. They are also used for vari­ant spellings, synonyms, aliases, abbreviations, and so on.

The Oxford Guide to Style is substantially similar on that matter. Neither give very precise information regarding abbreviations and other complex issues, but they have great chapters on indexing proper names and punctuating index entries.

Finally, regarding indexing processes, while I agree with most of the comments so far – that most of the work takes place when you are almost done with the writing – I think there are some things you can index on the go, as "flags". If a word is so important that it makes a section heading, or that you define it in a precise way, it will be indexed under that heading anyway, so you may as well do it while writing.

This will give you bare bones for your index, which you can then improve when everything else is done. I find it helpful to print the index (with MakeIndex or on paper), then I can decide which entries are superfluous, which are lacking, which could be merged or rearranged and modify my document accordingly.