標籤:

LuaTeX, XeTeX 和 ConTeXt 分別是什麼?它們有什麼異同優劣?


感謝邀請。

這三者不是一個範疇的東西:

  • 引擎(engine):pdfTeX,pTeX,LuaTeX和XeTeX。
  • 格式(format):plain TeX,LaTeX,ConTeXt,TeXinfo,AMSTeX,。

下面分別解釋這兩個概念。

  • 引擎呢,是不同開發者根據Knuth的演算法實現的TeX,是實體的程,如Windows下的xetex.exe和luatex.exe(這些程序默認使用plain TeX格式)。
  • 格式是宏,很多的宏,通常被編譯成fmt格式,TeXLive下的xelatex.exe,context.exe和lualalatex.exe程序會讀取相應的fmt文件來進行排版,格式通常設計了自己一套字體和版面什麼的,讀取fmt文件是為了更快地讀取。

概念清楚了,問題其實提問的有瑕疵,呵呵。

這些格式呢:

  • plain TeX,高德納編寫的最簡單的格式,這種格式是其後多種格式的基礎。
  • LaTeX,由美國科學家Leslie Lamport最初編寫,現在的版本為LATEX 2",將來的版

    本是3。LaTeX是很多科技類出版社首選格式,如Springer 出版社,在科技界是事實上的排版標準格式。現在LaATeX由Frank Mittelbach等負責維護。
  • AMS-TeX,美國數學學會製作的格式,現已轉為支持plain TeX 和LaTeX兩種格式,這種格式除了約定了一些特定的排版規則外,還額外提供了一些數學字體。
  • TeXinfo,FSF(Free Software Foundation)編寫的一種格式,TeXinfo是Linux等系統下的標準文檔系統,該種格式能夠生成多種輸出格式(如.pdf 文檔和.html 文檔)。
  • ConTeXt,Hans Hagen 等開發的一種格式,能夠生成漂亮的出版物。

我對於ConTeXt的了解,只能說這個格式生成的pdf漂亮了,不像LaTeX那樣很嚴肅的樣子。

ConTeXt在不同的引擎下的效果其實還是有差異的,針對XeTeX,pdfTeX和LuaTeX是有三套代碼的。

這三套分別被命名為:ConTeXt MkII,ConTeXt MkIII,ConTeXt MkIV。

XeTeX以及LuaTeX版本的ConTeXt對中文支持不是很好,能夠支持很好支持中文的是upTeX版本的ConTeXt。

這個可以玩玩的。


推薦閱讀:

LaTeX 里如何定義 9 個參數以上的變數?
如何並排擺放一個tikzpicture和一個tabular,使得其底端在一條水平線上?
LateX 生成的辭彙表 辭彙與其解釋間均如何控制?
請問這個TeX Live的依賴關係是什麼呀?
LaTeX 怎麼禁止標題在目錄中的折行?

TAG:LaTeX |