Compile LaTeX Files
until all cross-references are resolved to create a dvi or a PDF file.
texi2dvi(file, pdf = FALSE, clean = FALSE, quiet = TRUE, texi2dvi = getOption("texi2dvi"), texinputs = NULL, index = TRUE)
texi2pdf(file, clean = FALSE, quiet = TRUE, texi2dvi = getOption("texi2dvi"), texinputs = NULL, index = TRUE)
character string. Name of the LaTeX source file.
TRUE, a PDF file is produced instead of the default dvi file (
texi2dvicommand line option --pdf).
TRUE, all auxiliary files created during the conversion are removed.
logical. No output unless an error occurs.
character string (or
NULL). Script or program used to compile a TeX file to dvi or PDF. The default (selected by
NULL) is to look for a program or script named
texi2dvion the path and otherwise emulate the script with
system2calls (which can be selected by the value
"emulation"). See also ‘Details’.
NULLor a character vector of paths to add to the LaTeX and bibtex input search paths.
logical: should indices be prepared?
texi2pdf is a wrapper for the common case of
texi2dvi(pdf = TRUE).
Despite the name, this is used in R to compile LaTeX files,
specifically those generated from vignettes and by the
Rd2pdf script (used for package reference manuals). It
ensures that the
R_HOME/share/texmf directory is
TEXINPUTS path, so R style files such as
Rd will be found. The TeX search path used is first the
TEXINPUTS setting (or the current directory if unset),
then elements of argument
R_HOME/share/texmf and finally the default path.
Analogous changes are made to
The default option for
texi2dvi is set from environment variable
R_TEXI2DVICMD, and the default for that is set from environment
TEXI2DVI or if that is unset, from a value chosen when
R is configured.
A shell script
texi2dvi is part of GNU's texinfo.
Several issues have been seen with released versions, so if yours does
not work correctly try
On Windows the option
"texi2dvi" is normally unset. The MiKTeX
texify.exe is a suitable choice for
and is tried as from R 3.2.3 if the argument is blank or
and a program or script
texi2dvi is not found.
MiKTeX had a
texi2dvi executable until Sept 2015, but no other
Windows TeX installation that we know of does, so emulation is used on
e.g.TeXLive installations on Windows.
Occasionally indices contain special characters which cause indexing
to fail (particularly when using the hyperref LaTeX package)
even on valid input. The argument
index = FALSE is provided to
allow package manuals to be made when this happens: it uses emulation.
NULL. Used for the side effect of creating a dvi or
PDF file in the current working directory (and maybe other files,
clean = FALSE).
There are various versions of the
texi2dvi script on
Unix-alikes and quite a number of bugs have been seen, some of which
this R wrapper works around.
One that was present with
supplied by macOS) is that it will not work correctly for paths which
contain spaces, nor if the absolute path to a file would contain
The three possible approaches all have their quirks. For example the
texi2dvi script removes ancillary files that already
exist but the other two approaches do not (and may get confused by
Where supported (
texi2dvi 5.0 and later;
texify.exe from MiKTeX), option --max-iterations=20
is used to avoid infinite retries.
The emulation mode supports
quiet = TRUE from R 3.2.3 only.
clean = TRUE only cleans up in this mode if the
conversion was successful---this gives users a chance to examine log
files in the event of error.
All the approaches should respect the values of environment variables
BIBTEX for the
full paths to the corresponding commands.