Go forward to Format with texi2dvi.
Go backward to Use TeX.
Go up to Format/Print Hardcopy.

Format using `tex' and `texindex'
=================================

  Format the Texinfo file with the shell command `tex' followed by the
name of the Texinfo file.  This command produces a formatted DVI file
as well as several auxiliary files containing indices, cross
references, etc.  The DVI file (for "DeVice Independent" file) can be
printed on a wide variety of printers.

  The `tex' formatting command itself does not sort the indices; it
writes an output file of unsorted index data.  This is a misfeature of
TeX.  (The `texi2dvi' command automatically generates indices; see
See Format using `texi2dvi': Format with texi2dvi.)  To generate a
printed index after running the `tex' command, you first need a sorted
index to work from.  The `texindex' command sorts indices.  (The source
file `texindex.c' comes as part of the standard GNU distribution and is
usually installed when Emacs is installed.)

  The `tex' formatting command outputs unsorted index files under names
that obey a standard convention.  These names are the name of your main
input file to the `tex' formatting command, with everything after the
first period thrown away, and the two letter names of indices added at
the end.  For example, the raw index output files for the input file
`foo.texinfo' would be `foo.cp', `foo.vr', `foo.fn', `foo.tp', `foo.pg'
and `foo.ky'.  Those are exactly the arguments to give to `texindex'.

  Or else, you can use `??' as "wild-cards" and give the command in
this form:

     texindex foo.??

This command will run `texindex' on all the unsorted index files,
including any that you have defined yourself using `@defindex' or
`@defcodeindex'.  (You may execute `texindex foo.??' even if there are
similarly named files with two letter extensions that are not index
files, such as `foo.el'.  The `texindex' command reports but otherwise
ignores such files.)

  For each file specified, `texindex' generates a sorted index file
whose name is made by appending `s' to the input file name.  The
`@printindex' command knows to look for a file of that name.
`texindex' does not alter the raw index output file.

  After you have sorted the indices, you need to rerun the `tex'
formatting command on the Texinfo file.  This regenerates a formatted
DVI file with up-to-date index entries.(1) (*note Format with
tex/texindex-Footnotes::)

  To summarize, this is a three step process:

  1. Run the `tex' formatting command on the Texinfo file.  This
     generates the formatted DVI file as well as the raw index files
     with two letter extensions.

  2. Run the shell command `texindex' on the raw index files to sort
     them.  This creates the corresponding sorted index files.

  3. Rerun the `tex' formatting command on the Texinfo file.  This
     regenerates a formatted DVI file with the index entries in the
     correct order.  This second run also corrects the page numbers for
     the cross references.  (The tables of contents are always correct.)

  You need not run `texindex' each time after you run the `tex'
formatting.  If you do not, on the next run, the `tex' formatting
command will use whatever sorted index files happen to exist from the
previous use of `texindex'.  This is usually OK while you are debugging.