An index in Info format is a kind of menu, with an additional directive at the beginning to mark it as an index menu.
<printindex> = ^@^H[index^@^H] * Menu: <index entry>*
The <index entry>
items are similar to normal menu entries, but
the free-format description is replaced by the line number of where
the entries occurs in the text:
<index entry> = * <entry text>: <node-spec>. <line-spec> <line-spec> = <lparen>line <lineno><rparen>
The initial part, ‘<entry text>: <entry node>.’, should be on a
single line. The <entry text>
is the index term.
Even though <entry text>
is followed by a colon, it may itself
contain colons, so Info readers should try to include as much of the
line as possible in the <entry text>
. (However, <entry text>
may not contain the DEL
characters that may occur in <node-spec>
.)
<lineno>
is an unsigned integer, given relative to the start
of the <entry node>
. An optional line break may occur before
‘<line-spec>’.
Here is an example:
^@^H[index^@^H] * Menu: * thunder: Weather Phenomena. (line 5)
This means that an index entry for ‘thunder’ appears at line 5 of the node ‘Weather Phenomena’.