我在笔记本电脑 (OS X 10.10) 上安装了 MacTeX Basic,得到了 2 个二进制文件luatex
和lualatex
。这两个二进制文件的行为完全不同 (lualatex
可以解析\documentclass
,另一个则不能),尽管它似乎是指向...lualatex
的符号链接。luatex
○ which luatex
/usr/texbin/luatex
○ which lualatex
/usr/texbin/lualatex
○ ls -al /usr/texbin/lualatex
lrwxr-xr-x 1 bastien wheel 6 Nov 24 15:01 /usr/texbin/lualatex -> luatex
我在这里不明白什么?
此外,我尝试在服务器(Debian 7.6)上运行 LaTeX,并texlive-luatex
在那里安装,但我只得到了luatex
二进制文件,因此我无法处理 LaTeX 文件......
答案1
(注:以下解释特定于 TeXLive。我不知道其他 TeX 发行版(例如 MikTeX、PCTeX、Scientific Workplace)如何处理此问题。)
您发现只有一个可执行程序 luatex,而 lualatex “仅仅”是 luatex 的一个符号链接。顺便说一句,单个可执行程序名称问题并不局限于 luatex/lualatex:请查看 pdftex/pdflatex 和 xetex/xelatex 对。
要理解发生了什么,我们需要区分 TeX引擎-- 一个可执行程序,它知道一些所谓的“原始”命令 -- 和一个 TeX格式-- 本质上是一组预定义的宏和环境,使 TeX 基元可供人类使用。TeX 引擎的示例有 pdftex、xetex 和 luatex,TeX 格式的示例有“Plain TeX”和“LaTeX”。
引擎(即可执行程序)启动时执行的第一步是检查其调用方式。如果以“pdftex”形式调用,则会加载 Plain-TeX 格式(纯粹主义者会注意到它是 Plain-eTeX 格式...)。相反,如果命令是“pdflatex”,则会加载 LaTeX(或 LaTeX2e)格式。类似地,“lualatex”加载 LaTeX 格式,而“luatex”加载 PlainTeX 格式(正如您所注意到的,它无法识别指令\documentclass
,这并不奇怪,因为\documentclass
它是特定于 LaTeX 的)。