The function latexmk()
uses the system command latexmk
to
compile a LaTeX document to PDF; if latexmk
is not available, use a
simple emulation. The functions pdflatex()
, xelatex()
, and
lualatex()
are wrappers of latexmk(engine =, emulation = TRUE)
.
latexmk(file, engine = c("pdflatex", "xelatex", "lualatex"), bib_engine = c("bibtex",
"biber"), emulation = TRUE, max_times = 10, install_packages = emulation &&
tlmgr_available())pdflatex(...)
xelatex(...)
lualatex(...)
A LaTeX file path.
A LaTeX engine.
A bibliography engine.
Whether to use latexmk
emulation (by default,
TRUE
if the command latexmk
is not available). You can set
the global option options(tinytex.latexmk.emulation = TRUE)
to
always use emulation.
The maximum number of times to rerun the LaTeX engine when
using emulation. You can set the global option
tinytex.compile.max_times
, e.g.,
options(tinytex.compile.max_times = 3)
.
Whether to automatically install missing LaTeX
packages found by parse_packages()
from the LaTeX log. This
argument is only for the emulation mode and TeX Live.
Arguments to be passed to latexmk()
(other than
engine
and emulation
).
The latexmk
emulation works like this: run the LaTeX engine once
(e.g., pdflatex
), run makeindex
to make the index if
necessary (the *.idx
file exists), run the bibliography engine
bibtex
or biber
to make the bibliography if necessary
(the *.aux
or *.bcf
file exists), and finally run the LaTeX
engine a number of times (the maximum is 10 by default) to resolve all
cross-references.