texi2dvi {tools} | R Documentation |
Compile LaTeX Files
Description
Run latex
/pdflatex
, makeindex
and bibtex
until all cross-references are resolved to create a DVI or a PDF file.
Usage
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)
Arguments
file |
character string. Name of the LaTeX source file. |
pdf |
logical. If |
clean |
logical. If |
quiet |
logical. No output unless an error occurs
( |
texi2dvi |
character string (or |
texinputs |
|
index |
logical: should indices be prepared? |
Details
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
in the TEXINPUTS path, so R style files such as ‘Sweave.sty’
and ‘Rd.sty’ will be found. The TeX search path used is first the
elements of argument texinputs
, then the
existing TEXINPUTS setting (or the current directory if unset),
then ‘R_HOME/share/texmf’ and finally the system paths.
Analogous changes are made to BIBINPUTS and BSTINPUTS
settings.
On Unix-alikes,
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.
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 a program or script texi2dvi
is not found.
A shell script texi2dvi
is part of GNU Texinfo.
If another external script is used as the texi2dvi
command
it should accept options --pdf (for pdf = TRUE
) and
--quiet (for quiet = TRUE
), but also --help
and --version. This is true for the latexmk
Perl
script available from LaTeX package managers.
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.
Value
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
).
Note
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, but if yours does not work correctly
try texi2dvi = "emulation"
.
The historic texi2dvi
version 4.8
(as
supplied by macOS)
will not work correctly for paths which
contain spaces, nor if the absolute path to a file would contain
spaces.
It removes ancillary files that already exist, whereas later versions
and other compilation approaches do not (and may get confused by
such files).
The command-line option --max-iterations=20 is no longer used: all supported scripts nowadays avoid infinite retries by default.
In emulation mode, clean = TRUE
only cleans up 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 LATEX, PDFLATEX, MAKEINDEX and BIBTEX for the full paths to the corresponding commands.
Author(s)
Originally Achim Zeileis but largely rewritten by R-core.