Compile LaTeX Files

Run latex and bibtex until all cross-references are resolved and create either 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 LaTeX source file.
logical. If TRUE, a PDF file is produced instead of the default dvi file (texi2dvi command line option --pdf).
logical. If 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 "" or NULL) is to look for a program or script named ‘texi2dvi’ on the path and otherwise emulate the script with system2 calls (which can be selected by the value "emulation").
NULL or 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. It ensures that the ‘R_HOME/share/texmf’ directory is in the TEXINPUTS path, so R style files such as ‘Sweave’ and ‘Rd’ will be found. The TeX search path used is first the existing TEXINPUTS setting (or the current directory if unset), then elements of texinputs, then ‘R_HOME/share/texmf’ and finally the default path. Analogous changes are made to BIBINPUTS and BSTINPUTS settings.

unix The default option for texi2dvi is set from environment variable R_TEXI2DVICMD, and the default for that is set from environment variable TEXI2DVI or if that is unset, from a value chosen when R is configured. A shell script texi2dvi is part of GNU's texinfo.

windows On Windows the option "texi2dvi" is normally unset. The MiKTeX command texify.exe is a suitable choice for texi2dvi, and is tried as from R 3.2.3 if the argument is blank or NULL and 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.\ifelse{latex}{\out{~}}{ } 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.


Invisible NULL. Used for the side effect of creating a dvi or PDF file in the current working directory (and maybe other files, especially if 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 texi2dvi version 4.8 (as supplied by OS X) is that it will not work correctly for paths which contain spaces, nor if the absolute path to a file would contain spaces.

The three possible approaches all have their quirks. For example the Unix-alike texi2dvi script removes ancillary files that already exist but the other two approaches do not (and may get confused by such files). Where supported (texi2dvi 5.0 and later, and texi2dvi.exe and 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.

  • texi2dvi
  • texi2pdf
Documentation reproduced from package tools, version 3.2.3, License: Part of R 3.2.3

Community examples

Looks like there are no examples yet.