引擎
全称为排版引擎,是编译源代码并生成文档的程序,如pdfTEX、XƎTEX 等。有时也称为编译器。
格式
是定义了一组命令的代码集。LATEX 就是最广泛应用的一个格式,高德纳本人还编写了一个简单的plain TEX 格式,没有定义诸如\documentclass 和\section 等等命令。
编译命令
是实际调用的、结合了引擎和格式的命令。如xelatex 命令是结合XƎTEX 引擎和LATEX 格式的一个编译命令。
常见的引擎、格式和编译命令的关系总结
|
文档格式 |
plain TEX 格式 |
LATEX 格式 |
TEX 引擎 |
DVI |
tex |
N/A |
pdfTEX 引擎 |
DVI |
etex |
latex |
|
PDF |
pdftex |
pdflatex |
XETEX 引擎 |
PDF |
xetex |
xelatex |
LuaTEX 引擎 |
PDF |
luatex |
lualatex |
几个编译命令的基本特点
-
latex 虽然名为latex 命令,底层调用的引擎其实是pdfTEX。该命令生成dvi(Device Independent)格式的文档,用dvipdfmx 命令可以将其转为pdf。
-
pdflatex 底层调用的引擎也是pdfTEX,可以直接生成pdf 格式的文档。
-
xelatex 底层调用的引擎是XƎTEX,支持UTF-8 编码和对TrueType / OpenType 字体的调用。当前较为方便的中文排版解决方案基于xelatex。
-
lualatex 底层调用的引擎是LuaTEX,这个引擎在pdfTEX 引擎基础上发展而来,除了支持UTF-8 编码和对TrueType / OpenType 字体的调用外,还支持通过Lua 语言扩展TEX的功能。lualatex 编译命令下的中文排版支持需要借助luatexja 宏包。