上一代 现在主流版本 下一代
TeX发行套装   MiKTeX, TeXLive, MacTeX  
TeX PDFTeX XeTeX LuaTeX
LaTeX LaTeX 2.09 LaTeX 2ε LaTeX 3
LaTeX中文支持 CJK, CTeX套装 (均已弃用) CTeX宏集  
引用 LaTeX内嵌 natbib biblatex
插入图片 graphics宏集 graphicx宏集  

TeX

  • PDFTeX是最早的版本,貌似是后来支持的UTF-8,现在已经停止新功能更新,仅作Bug修复。
  • XeTeX是现在的主流版本,和LuaTeX一样原生支持UTF-8。
  • PDFTeX和XeTeX的底层都是plain TeX(是宏语言)。
  • LuaTeX是下一代TeX。 相比于前两个TeX来说,LuaTeX底层变成了Lua,以及允许作者在文档中直接嵌入Lua代码;因此被认为选中为PDFTeX引擎的继任者。 (其实我很希望快点放弃对前两个版本的支持……这样很多包的开发都可以直接使用Lua,于是会变得非常简单。)

反正这些TeX开发速度都很慢就是了……

PS:似乎有个叫做ConTeXt,基于LuaTeX的,不知道是什么,我有空该了解下。

PPS:知乎@李阿玲似乎在写个新的TeX引擎,传送门clerkma/ptex-ng

LaTeX

大概在1999年,LaTeX社群决定在2.09的基础上开发下一代LaTeX。于是他们首先开发了LaTeX 2e,然后准备开始写LaTeX 3。 然后就……难产到了现在。 (所以我说我很希望弃用前两代TeX……用现代语言开发LaTeX应该会容易很多吧我想。反正只要最终用户界面变化不大就行了。)

目前仍然只能在LaTeX2e中将其作为一个包使用(expl3)。

最近终于已经将\NewDocumentCommand作为LaTeX的默认功能了……(确实挺好用的。)

关于LaTeX3的中文教程,我有幸找到了这个知乎用户stone-zeng和对应GitHub账号stone-zeng。欢迎大家关注wwww(这个人好像也是CTeX宏集的维护者之一。)

CTeX

最早社区用的是CJK宏集。后来这群人写了CTeX宏集和CTeX套装(据作者讲,是因为当时CTeX宏集的配置过于复杂,所以他们就写了个套装,在套装里预配置好了)。

最后一版CTeX套装(应该是2012年)也早在我接触LaTeX前就停止维护了。 包作者当时说,是因为当时MiKTeX和TeX Live都已经可以较好地支持中文了,所以他们就决定集中精力只维护CTeX宏集了。所以这些都是我后来在互联网上了解这段历史时看到的片段,不保证准确性……

现在你只需在LaTeX中输入\usepackage{ctex}就可以使用中文啦,感谢他们w

UPD:我刚刚看到了作者的更新说明。CTeX已经放弃了Ubuntu下对PDFTeX的支持。所以大家尽量不要使用PDFTeX,以防止遇到兼容性问题。

BibLaTeX

引用

(待补充)