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 section Format using 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.(11)
To summarize, this is a three step process:
tex
formatting command on the Texinfo file. This
generates the formatted DVI file as well as the raw index files
with two letter extensions.
texindex
on the raw index files to sort
them. This creates the corresponding sorted index files.
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.