Effective index generation for technical documents can be very difficult, especially for someone familiar with the topic but not the creation of indexes. Much of the difficulty arises in the area of terminology: including the terms an expert would use for a concept is not sufficient. Coming up with the terms that a novice would look up is fairly difficult for an author who, typically, is an expert in the area she is writing on.
The truly difficult aspects of index generation are not areas with which the documentation tools can help. However, ease of producing the index once content decisions are made is within the scope of the tools. Markup is provided which the processing software is able to use to generate a variety of kinds of index entry with minimal effort. Additionally, many of the environments described in section 6.3, ``Information Units,'' will generate appropriate entries into the general and module indexes.
The following macro can be used to control the generation of index data, and should be used in the document preamble:
libjobname.idx
to be created from the
\declaremodule macros. This file can be processed by the
makeindex program to generate a file which can be
\input into the document at the desired location of the
module index.
There are a number of macros that are useful for adding index entries for particular concepts, many of which are specific to programming languages or even Python.
XXX Need better examples of difference from \kwindex.
Additional macros are provided which are useful for conveniently creating general index entries which should appear at many places in the index by rotating a list of words. These are simple macros that simply use \index to build some number of index entries. Index entries build using these macros contain both primary and secondary text.
\index{word1!word2}
and
\index{word2!word1}
.
\index{word1!word2 word3}
,
\index{word2!word3, word1}
, and
\index{word3!word1 word2}
.
\index{word1!word2 word3 word4}
,
\index{word2!word3 word4, word1}
,
\index{word3!word4, word1 word2}
,
and
\index{word4!word1 word2 word3}
.
See About this document... for information on suggesting changes.