
我們知道 TeX 系列的引擎是編譯 TeX 檔案的二進位執行檔。人們有時會XeLaTeX
提到引擎;那麼問題來了:呼叫XeLaTeX
引擎是錯的嗎?如果不是,那該怎麼稱呼它呢?
答案1
這是一個相當基於意見的答案,因為我不確定是否真的有所有這些術語的一般參考。
當我指的是語言,即所有可以在此特定 TeX 變體中使用的預定義巨集、賦值、特定原語等的集合。
另一方面,...tex
當我指的是特定的時,我使用(全部小寫字母,並且通常使用等寬標記)編譯器,即實現一組特定的原始命令和行為的編譯二進位文件,或者當我指的是預先編譯的格式,它只是編譯器使用的一組預編譯定義。
後者使事情變得更加複雜,因為在現代 TeX 發行版中,編譯器和格式之間的差異不再那麼清晰。例如,如果您想編譯 XeLaTeX 文件,您可以執行xelatex myfile.tex
.這裡的xelatex
行為就像一個編譯器,但(據我所知)實際上只是xetex
編譯器呼叫的包裝二進位文件,它預先載入xelatex
格式,而該格式又定義了 XeLaTeX 語言使用的所有巨集。
由於這種區別,我傾向於避免使用“引擎”一詞。人們只能將編譯器稱為引擎,因為只有它們提供編譯某種語言的檔案所需的核心功能。但人們也可以使用編譯器和格式這個術語,因為對於所有常見的格式變體,從使用者的角度來看,它們基本上是相同的。至少我永遠不會使用“引擎”這個術語來形容該語言。