latexmk {tinytex} | R Documentation |
The function latexmk()
emulates the system command latexmk
(https://ctan.org/pkg/latexmk) to compile a LaTeX document to PDF. 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"), engine_args = NULL, emulation = TRUE, max_times = 10, install_packages = emulation && tlmgr_available(), pdf_file = gsub("tex$", "pdf", file), clean = TRUE) pdflatex(...) xelatex(...) lualatex(...)
file |
A LaTeX file path. |
engine |
A LaTeX engine (can be set in the global option
|
bib_engine |
A bibliography engine (can be set in the global option
|
engine_args |
Command-line arguments to be passed to |
emulation |
Whether to emulate the executable |
max_times |
The maximum number of times to rerun the LaTeX engine when
using emulation. You can set the global option
|
install_packages |
Whether to automatically install missing LaTeX
packages found by |
pdf_file |
Path to the PDF output file. By default, it is under the same
directory as the input |
clean |
Whether to clean up auxiliary files after compilation (can be
set in the global option |
... |
Arguments to be passed to |
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.
If emulation = FALSE
, you need to make sure the executable
latexmk
is available in your system, otherwise latexmk()
will fall back to emulation = TRUE
. You can set the global option
options(tinytex.latexmk.emulation = FALSE)
to always avoid emulation
(i.e., always use the executable latexmk
).
A character string of the path of the PDF output file (i.e., the
value of the pdf_file
argument).