LinuxCommandLibrary

lualatex

teX engine that combines LaTeX with the Lua programming language

TLDR

Compile LaTeX document

$ lualatex [document.tex]
copy
Compile to specified output directory
$ lualatex -output-directory=[output/] [document.tex]
copy
Compile in draft mode (faster, no images)
$ lualatex -draftmode [document.tex]
copy
Compile with shell escape (for external commands)
$ lualatex -shell-escape [document.tex]
copy
Compile with interaction mode
$ lualatex -interaction=[nonstopmode] [document.tex]
copy
Compile with job name
$ lualatex -jobname=[output] [document.tex]
copy
Show version
$ lualatex --version
copy

SYNOPSIS

lualatex [-output-directory=dir] [-shell-escape] [-interaction=mode] [options] [file.tex]

DESCRIPTION

lualatex is a TeX engine that combines LaTeX with the Lua programming language. It compiles LaTeX documents while allowing Lua scripting within the document.
Lua integration enables dynamic content generation, complex calculations, and programmatic document manipulation. The fontspec package works seamlessly for OpenType and TrueType font handling.
Unlike pdflatex, lualatex uses UTF-8 natively without additional packages. It can access system fonts directly, making font management simpler.
Multiple compilation passes may be needed for documents with cross-references, tables of contents, or bibliographies. Tools like latexmk automate this process.
Shell escape mode allows external program execution, needed by packages like minted for code highlighting. Use with caution on untrusted documents.

PARAMETERS

-output-directory=DIR

Write output files to directory.
-jobname=NAME
Set output file base name.
-interaction=MODE
Set interaction mode (batchmode, nonstopmode, scrollmode, errorstopmode).
-shell-escape
Enable \\write18 shell commands.
-no-shell-escape
Disable shell commands.
-draftmode
Run without output, for syntax checking.
-halt-on-error
Stop at first error.
-file-line-error
Show file:line:error format.
-synctex=N
Generate SyncTeX data for editor integration.
-fmt=FORMAT
Use specified format file.
--version
Print version information.
--help
Show help.

CAVEATS

Slower than pdflatex due to Lua overhead. Some packages incompatible with LuaTeX. Memory usage higher than other TeX engines. May need multiple runs for references.

HISTORY

LuaTeX development began around 2007, led by Hans Hagen, Hartmut Henkel, and Taco Hoekwater. It combined the pdfTeX engine with an embedded Lua interpreter. lualatex provides the LaTeX format for LuaTeX, becoming the recommended engine for modern LaTeX development.

SEE ALSO

pdflatex(1), xelatex(1), latexmk(1), luatex(1), texdoc(1)

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community