標籤:

TeXShop 裡面的引擎(如 plain TeX, LaTeX,BibTeX)各適用於什麼情況?

我用的是TeXShop+BasicTeX, MacTeX太大了,所以沒裝。現在已經有13種引擎了,我都列出來吧,除了題目裡面的三種,還有MakeIndex,Metapost,ConTeXt,ConTeXt(LuaTeX) ,LuaLaTeX,nv-metafun,nv-metapost,pdflatexmk,XeLaTeX,XeTeX


TeX 家族可以分成幾個層次:

  • 引擎:這個是各位開發者根據 Knuth 老爹的演算法做的各種實現,是真正進行排版作業的程序。比如 TeX 引擎,又比如 e-TeX, pdfTeX, XeTeX, LuaTeX, 再比如日系的 pTeX, e-pTeX, e-upTeX, 這些都是引擎。
  • 格式:這個是一些宏的集合,並且這些宏大致具有常用、底層的特點。格式比如有 Knuth 老爹的 plainTeX, 著名的 LaTeX, 以及生力軍 ConTeXt.
  • 宏包:這個也是宏的集合,但通常沒有格式那麼常用或者底層。宏包基本上是為了一定的目的專門編寫的,與格式和引擎搭配使用。
  • 周邊工具:這個是為了自動化方便,提供一些 TeX 本身實現起來麻煩的功能。比如 BibTeX 用來排版參考文獻,比如 makeindex 用來排版文章索引。
  • 發行版:看過上面的內容,你應該知道,單獨的任何一個層次都是沒法給用戶使用的(大多數,高級用戶其實可以的),所謂發行版就是上面所有東西的集合(還包括一些說明文檔和字體之類的東西)。比如 MikTeX 和 CTeX 是簡體中文 Windows 用戶常用的發行版,更通用的則是 TUG 維護的 TeX Live, Mac 上有 MacTeX. 當然你說的 BasicTeX 也是一個發行版。

這幾個層次是相互分開的,可以在一定規律下互相組合。而你在問題標題里提到的引擎,指的就是這種組合的結果,而不是 TeX 家族真正意義上的引擎。

  • Makeindex:makeindex, 排版索引用的。

  • Metapost: mp, 畫圖用的。
  • ConTeXt: 一般指的是 pdfTeX 結合 ConTeXt (也可能是 XeTeX 結合 ConTeXt, 我記不得了)。
  • ConTeXt (LuaTeX): LuaTeX 結合 ConTeXt.
  • LuaLaTeX: LaTeX 結合 LuaTeX.
  • XeLaTeX: LaTeX 結合 XeTeX.
  • XeTeX: plainTeX 結合 XeTeX.
  • pdflatexmk: LaTeXmk 是一個用 Perl 寫的腳本,能自動判斷需要編譯的步驟和次數。
  • 剩下兩個沒用過,不清楚。

大概就這樣吧,不是很完美的答案,但是讓你大致區分開來就行了。


對於 LaTeX 來說,LuaTeX 將是 pdftex 的官方後代。所以適用範圍是這樣的:

Pdflatex: 無

Xelatex: 無

Lualatex: 所有 latex 文檔

ConTeXt 那些你不用管,你不會用到的。剩下那些名字里沒有 TeX 的自己 Google.


推薦閱讀:

LaTeX的編輯器TeXStudio能夠識別中文嗎?為何添加字體庫中沒有中文的?
LaTeX 中字體調用機制是怎樣的?
有沒有比latex更加好的寫作排版軟體,或者怎麼解決latex邊寫作還要邊編代碼的問題?
CTeX 2.0有哪些新功能?
如何在LaTeX數學模式中更好地使用粗體?

TAG:LaTeX |