TeX engines (LaTeX2e unofficial reference manual (November 2018))

Next: LaTeX command syntax, Previous: Output files, Up: Overview [Contents][Index]

### 2.3 TeX engines

LaTeX is defined to be a set of commands that are run by a TeX implementation (see Overview). This section gives a terse overview of the main programs (see also Command line).

`latex`
`pdflatex`

  In TeX Live (http://tug.org/texlive), if LaTeX is invoked via either the system command `latex` or `pdflatex`, then the pdfTeX engine is run (http://ctan.org/pkg/pdftex). When invoked as `latex`, the main output is a `.dvi` file; as `pdflatex`, the main output is a `.pdf` file.

  pdfTeX incorporates the e-TeX extensions to Knuth’s original program (http://ctan.org/pkg/etex), including additional programming features and bi-directional typesetting, and has plenty of extensions of its own. e-TeX is available on its own as the system command `etex`, but this is plain TeX (and produces `.dvi`).

  In other TeX distributions, `latex` may invoke e-TeX rather than pdfTeX. In any case, the e-TeX extensions can be assumed to be available in LaTeX.

`lualatex`

  If LaTeX is invoked via the system command `lualatex`, the LuaTeX engine is run (http://ctan.org/pkg/luatex). This program allows code written in the scripting language Lua (http://luatex.org) to interact with TeX’s typesetting. LuaTeX handles UTF-8 Unicode input natively, can handle OpenType and TrueType fonts, and produces a `.pdf` file by default. There is also `dvilualatex` to produce a `.dvi` file, but this is rarely used.

`xelatex`

  If LaTeX is invoked with the system command `xelatex`, the XeTeX engine is run (http://tug.org/xetex). Like LuaTeX, XeTeX natively supports UTF-8 Unicode and TrueType and OpenType fonts, though the implementation is completely different, mainly using external libraries instead of internal code. XeTeX produces a `.pdf` file as output; it does not support DVI output.

  Internally, XeTeX creates an `.xdv` file, a variant of DVI, and translates that to PDF using the (`x`)`dvipdfmx` program, but this process is automatic. The `.xdv` file is only useful for debugging.

Other variants of LaTeX and TeX exist, e.g., to provide additional support for Japanese and other languages ([u]pTeX, http://ctan.org/pkg/ptex, http://ctan.org/pkg/uptex).

Unofficial LaTeX2e reference manual