乐趣区

关于latex:TeX-家族TeX-XeTeX-LuaTeXXeLaTeX-…看完这篇就懂了

名词解释

置信你跟我一样,第一次接触 LaTeX 就被各种名词(LaTeX、TeX、pdfTeX、MiKTeX)弄乱了。

TeX 首先是一种宏语言,同时其也是一种排版引擎。根本的 TeX 零碎只有 300 多个元命令 (primitive),非常精悍,然而很难读懂。

引擎

引擎是真正干活的程序。引擎的基本功能就是解释 TeX 语法,把字排成行,把行排成页,波及到断字、断行、分页等算法。最原始的引擎是 TeX。

  • TeX:1978 年由 Donald Erwin Knuth(高德纳)开发。是起初大部分 TeX 相干的根底。其生成 dvi 文件,而后经由其余程序转换为 pdf 文件。
  • pdfTeX:Tex 语言的又一个实现,将 TeX 代码间接编译成 PDF 文件。
  • XeTeX:TeX 语言的新的实现,反对 Unicode 编码和间接拜访操作系统字体。
  • LuaTeX:TeX 语言的一个残缺的有扩大的实现。LuaTeX 反对 Unicode、零碎字体和内嵌语言扩大,能间接输入 PDF 格式文件,也能够依然输入 DVI 格局。

格局

TeX 语言自身只有 300 个命令,艰涩难懂,只适宜非正常的人类。一个简略的符号可能就须要多个命令来实现,能够将这些最根本的命令封装起来做个简写(宏)以实现非凡的目标。一堆简写的合集就形成了格局。格局能够与不同的引擎相结合。

  • Plain TeX:由 Don Knuth 提供的最小的宏汇合。
  • LaTeX:更易于应用的宏集,最常见的一种格局。
  • ConTeXt:另一种常见的格局。

宏包

一些辅助文件,在 LaTeX 中叫做 packages,在 ConTeXt 中叫做 modules。在 LaTeX 格局中,导言区的 usepackage 的作用就是引入各种宏包。宏包其实也是一堆根本的 TeX 命令的汇合,只是其不够全,所以称之为宏包而不是格局。

发行版

一个残缺的 TeX 须要最根本的 TeX 引擎、格局反对、各种辅助宏包、一些转换程序、GUI、编辑器、文档查看器等等。通过抉择不同的组合就形成了不同的发行版。

  • TeX Live:反对 Linux,Windows,Mac OS
  • MiKTeX:只反对 Windows
  • CTeX:CTeX 基于 MiKTeX,并退出了中文的反对,只反对 Windows。同时 CTEX 是一个网站,ctex 是能够很好反对中文的宏包。

其余相干

  • METAFONT:TeX 中用来生成字体的程序。
  • MetaPost:用于生成图像。
  • BibTeX:用于生成参考文献。
  • dvipdf:dvi 转换成 pdf。

表格整顿

用表格整顿一下

引擎

引擎 解释
(Knuth)TeX 真正的 (原始的)TeX
ε-TeX 绝对于原始的 TeX 它提供了一种扩大模式
pdfTeX 它从 tex 文件不通过 dvi 文件间接生成 pdf 文件(开发者曾经转向 LuaTeX)
XeTeX 绝对于原始的 TeX,次要减少了 Unicode 和 OpenType 的反对
LuaTeX 它应用 Lua 作为扩大语言,对于 LaTeX 反对尚不欠缺?

宏集

宏集 解释
plain TeX 最古老的 TeX 宏集,提供了一些最根本的命令
AMSTeX 是美国数学会提供的一个 TeX 宏集,它增加了许多数学符号和数学字体
LaTeX 绝对于 PlainTeX,它使得科技文档的排版更加直观和不便
ConTeXt 和 LaTeX 相比,它更加灵便和自在

发行版

发行版 解释
TeX Live 国内 TeX 用户组织 TUG 开发, 反对不同的操作系统
MiKTeX Windows 下宽泛应用的一个 TeX 发行版
ConTeXt Minimals 它蕴含了最新版本的 ConTeXt
teTeX 一个 Unix 下的 TeX 发行版,当初曾经进行更新且并入 TeXLive
fpTeX 一个 Windows 的 TeX 发行版,已不再更新

他们是如何演进的

TeX 演进图 (缩略版)

TeX 演进图 (具体版)

LaTeX 演进图

TeX Live

图起源:https://github.com/alt/tex-overview

你也能够在线查看 pdf 文档

参考资料

  • https://www.moonpapers.com/manual/latex/basic/first/term.html
退出移动版