The end of a Texinfo file should include the commands that create
indices and generate detailed and summary tables of contents.
And it must include the
@bye command that marks the last line
processed by TeX.
@node Concept Index, , Variables Index, Top @c node-name, next, previous, up @unnumbered Concept Index @printindex cp @contents @bye
To print an index means to include it as part of a manual or Info
file. This does not happen automatically just because you use
@cindex or other index-entry generating commands in the
Texinfo file; those just cause the raw data for the index to be
accumulated. To generate an index, you must include the
@printindex command at the place in the document where you
want the index to appear. Also, as part of the process of creating a
printed manual, you must run a program called
(see section Format and Print Hardcopy) to sort the raw data to produce a sorted
index file. The sorted index file is what is actually used to
print the index.
Texinfo offers six different types of predefined index: the concept index, the function index, the variables index, the keystroke index, the program index, and the data type index (see section Predefined Indices). Each index type has a two-letter name: `cp', `fn', `vr', `ky', `pg', and `tp'. You may merge indices, or put them into separate sections (see section Combining Indices); or you may define your own indices (see section Defining New Indices).
@printindex command takes a two-letter index name, reads
the corresponding sorted index file and formats it appropriately into
@printindex command does not generate a chapter heading
for the index. Consequently, you should precede the
@printindex command with a suitable section or chapter command
@unnumbered) to supply the chapter heading and put
the index into the table of contents. Precede the
command with an
@node Variable Index, Concept Index, Function Index, Top @comment node-name, next, previous, up @unnumbered Variable Index @printindex vr @node Concept Index, , Variable Index, Top @comment node-name, next, previous, up @unnumbered Concept Index @printindex cp @summarycontents @contents @bye
(Readers often prefer that the concept index come last in a book, since that makes it easiest to find.)
@section, and other structuring commands
supply the information to make up a table of contents, but they do not
cause an actual table to appear in the manual. To do this, you must
@headingseries of commands do not appear in the table of contents.) The
@contentscommand should be written on a line by itself.
@summarycontentsis a synonym for
@shortcontents; the two commands are exactly the same.) Generate a short or summary table of contents that lists only the chapters (and appendices and unnumbered chapters). Omit sections, subsections and subsubsections. Only a long manual needs a short table of contents in addition to the full table of contents. Write the
@shortcontentscommand on a line by itself right before the
The table of contents commands automatically generate a chapter-like
heading at the top of the first table of contents page. Write the table
of contents commands at the very end of a Texinfo file, just before the
@bye command, following any index sections--anything in the
Texinfo file after the table of contents commands will be omitted from
the table of contents.
When you print a manual with a table of contents, the table of contents are printed last and numbered with roman numerals. You need to place those pages in their proper place, after the title page, yourself. (This is the only collating you need to do for a printed manual. The table of contents is printed last because it is generated after the rest of the manual is typeset.)
Here is an example of where to write table of contents commands:
indices... @shortcontents @contents @bye
Since an Info file uses menus instead of tables of contents, the Info
formatting commands ignore the
@bye command terminates TeX or Info formatting. None of
the formatting commands see any of the file following
@bye command should be on a line by itself.
If you wish, you may follow the
@bye line with notes. These notes
will not be formatted and will not appear in either Info or a printed
manual; it is as if text after
@bye were within
@end ignore. Also, you may follow the
with a local variables list. See section Using the Local Variables List, for more information.