texi2dvi command automatically runs both TeX and
texindex as many times as necessary to produce a DVI file
with sorted indices and all cross references resolved. It is
therefore simpler than manually executing the
described in the previous section.
texi2dvi on an input file foo.texi, do this (where
‘prompt$ ’ is your shell prompt):
prompt$ texi2dvi foo.texi
As shown in this example, the input filenames to
include any extension (‘.texi’, ‘.texinfo’, etc.). Under
MS-DOS and perhaps in other circumstances, you may need to run ‘sh
texi2dvi foo.texi’ instead of relying on the operating system to invoke
the shell on the ‘texi2dvi’ script.
One useful option to
texi2dvi is ‘--command=cmd’.
This inserts cmd on a line by itself after the
@setfilename in a temporary copy of the input file before
running TeX. With this, you can specify different printing
formats, such as
@smallbook (see @smallbook),
@afourpaper (see A4 Paper), or
(see @pagesizes), without actually changing the document
source. (You can also do this on a site-wide basis with
texinfo.cnf; see Preparing for TeX).
With the --pdf option,
texi2dvi produces PDF output
instead of DVI (see PDF Output), by running
tex. Alternatively, the command
texi2pdf is an abbreviation for running ‘texi2dvi
--pdf’. The command
pdftexi2dvi is also supported as a
convenience to AUC-TeX users (see AUC-TeX, since
that program merely prepends ‘pdf’ to DVI producing tools to have
PDF producing tools.
With the --dvipdf option,
texi2dvi produces PDF
output by running TeX and then a DVI-to-PDF program: if the
DVIPDF environment variable is set, that value is used, else
the first extant among
dvitopdf. This method can support CJK
typesetting better than
With the --ps option,
texi2dvi produces PostScript
instead of DVI, by running
tex and then
(see Dvips). (Or the value of the
environment variable, if set.)
texi2dvi can also be used to process LaTeX files; simply
run ‘texi2dvi filename.ext’.
texi2dvi is able to guess the input file language
by its contents and file name suffix. If, however, it fails to do so
you can specify the input language using
--language=lang command line option, where lang
is either ‘latex’ or ‘texinfo’.
texi2dvi will use
they are available; these extended versions of TeX are not
required, and the DVI (or PDF) output is identical, but they simplify
the TeX programming in some cases, and provide additional tracing
information when debugging texinfo.tex.
Several options are provided for handling documents, written in
character sets other than ASCII. The
--translate-file=file option instructs
texi2dvi to translate input into internal TeX character
set using translation file file (see TCX files: Character translations in Web2c: A TeX
The options --recode and --recode-from=enc allow conversion of an input document before running TeX. The --recode option recodes the document from encoding specified by ‘@documentencoding’ command (see @documentencoding) to plain 7-bit ‘texinfo’ encoding.
The option --recode-from=enc recodes the document from
enc encoding to the encoding specified by
‘@documentencoding’. This is useful, for example, if the
document is written in ‘UTF-8’ encoding and an equivalent 8-bit
encoding is supported by
Both --recode and --recode-from=enc use
recode utility to perform the conversion. If
recode fails to process the file,
a warning and continues, using the unmodified input file.
The option -E (equivalently, -e and
--expand) does Texinfo macro expansion using
makeinfo instead of the TeX implementation (see Macro Details). Each implementation has its own limitations and
advantages. If this option is used, the string
@c _texi2dvi must not appear at the beginning of a line
in the source file.
For the list of all options, run ‘texi2dvi --help’.