Next: , Previous: Format with tex/texindex, Up: Hardcopy


20.3 Format with texi2dvi

The 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 textexindextextex sequence described in the previous section.

To run 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 texi2dvi must 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 @pagesizes (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 pdftex instead of 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, since the latter merely prepends ‘pdf’ to DVI producing tools to have PDF producing tools.

texi2dvi can also be used to process LaTeX files; simply run ‘texi2dvi filename.ext’.

Normally 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 etex (or pdfetex) if 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).

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 makeinfo.

Both --recode and --recode-from=enc use recode utility to perform the conversion. If recode fails to process the file, texi2dvi prints a warning and continues using unmodified input file.

For a list of other options, run ‘texi2dvi --help’.