Node:Contents, Next:File End, Previous:Printing Indices & Menus, Up:Ending a File
The @chapter
, @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 use
the @contents
and/or @summarycontents
command(s).
@contents
@heading
series of commands do not appear in the table of contents.
@shortcontents
@summarycontents
@summarycontents
is a synonym for @shortcontents
.)
Generate a short or summary table of contents that lists only the chapters, appendices, and unnumbered chapters. Sections, subsections and subsubsections are omitted. Only a long manual needs a short table of contents in addition to the full table of contents.
Both contents commands should be written on a line by themselves.
The contents commands automatically generate a chapter-like heading at
the top of the first table of contents page, so don't include any
sectioning command such as @unnumbered
before them.
Since an Info file uses menus instead of tables of contents, the Info
formatting commands ignore the contents commands. But the contents are
included in plain text output (generated by makeinfo
--no-headers
), unless makeinfo
is writing its output to standard
output.
When makeinfo
writes a short table of contents while producing
html output, the links in the short table of contents point to
corresponding entries in the full table of contents rather than the text
of the document. The links in the full table of contents point to the
main text of the document.
The contents commands can be placed either at the very end of the file,
after any indices (see the previous section) and just before the
@bye
(see the next section), or near the beginning of the file,
after the @end titlepage
(see titlepage). The advantage to
the former is that then the contents output is always up to date,
because it reflects the processing just done. The advantage to the
latter is that the contents are printed in the proper place, thus you do
not need to rearrange the DVI file with dviselect
or shuffle
paper.
As an author, you can put the contents commands wherever you prefer.
But if you are a user simply printing a manual, you may wish to print
the contents after the title page even if the author put the contents
commands at the end of the document (as is the case in most existing
Texinfo documents, at this writing). You can do this by specifying
@setcontentsaftertitlepage
and/or
@setshortcontentsaftertitlepage
. The first prints only the main
contents after the @end titlepage
; the second prints both the
short contents and the main contents. In either case, any subsequent
@contents
or @shortcontents
is ignored (unless no
@end titlepage
is ever encountered).
You need to include the @set...contentsaftertitlepage
commands early in the document (just after @setfilename
, for
example). We recommend using texi2dvi
(see Format with texi2dvi) to specify this without altering the source file at all. For
example:
texi2dvi --texinfo=@setcontentsaftertitlepage foo.texi