Latexmk --- Automating the document compiling process
In order to explain the various possibilities with Latexmk, we will first briefly discuss versions of the LaTex engine.
Versions of the LaTex engine
* Historically, the command latex <filename> produced output as a .dvi file, a special format that had to be converted into a .ps or a .pdf file, which was, and is, the desired final output.
* pdflatex, a later development which outputs .pdf directly, without needing any conversion. This is the most common verson used at the department, and probably around the world.
* lualatex, the most modern development which also produces .pdf output. It has a number of advantages:
- it has much richer font possibilities than the earlier versions.
- its various capacities are limited only by the host machine, not by arbitrary constants used at build time. This may be important, especially when processing complicated tikz/pgfplots documents.
- parts of its implementation is based on the lua scripting language, which may be accesible directly from the document itself.
Latexmk --- Automating the document compiling process
Latexmk completely automates the process of compiling a LaTeX document. Essentially, it is like a specialized relative of the general make utility, but one which determines dependencies automatically and has some other very useful features. In its basic mode of operation latexmk is given the name of the primary source file for a document, and it issues the appropriate sequence of commands to generate a .dvi, .ps, .pdf and/or hardcopy version of the document.
Command line:
latexmk [options] [file]
The most common options:
- -latex
- Generate dvi version of the document. Do not convert to .ps or .pdf.
- -lualatex
- Use the lualatex engine to process the file. Only output .pdf.
- -outdir=FOO
- Sets the directory for the output files to FOO
- Generate .pdf version of the document using pdflatex
- -pv
- Open a viewer for the resulting document.
- -pvc
- Run the document previewer continuously such that every time a source file is saved, the file is processed and then shown in the viewer.
Configuration file Configuration file