名词解释

置信你跟我一样,第一次接触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开发,反对不同的操作系统
MiKTeXWindows 下宽泛应用的一个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