楼主: oliyiyi
3112 6

TeX家族介绍 [推广有奖]

版主

已卖:2993份资源

泰斗

1%

还不是VIP/贵宾

-

TA的文库  其他...

计量文库

威望
7
论坛币
117070 个
通用积分
31670.9540
学术水平
1454 点
热心指数
1573 点
信用等级
1364 点
经验
384134 点
帖子
9629
精华
66
在线时间
5508 小时
注册时间
2007-5-21
最后登录
2025-7-8

初级学术勋章 初级热心勋章 初级信用勋章 中级信用勋章 中级学术勋章 中级热心勋章 高级热心勋章 高级学术勋章 高级信用勋章 特级热心勋章 特级学术勋章 特级信用勋章

楼主
oliyiyi 发表于 2014-11-8 10:39:44 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
TeX 家族是一个很庞大的概念,虽然 TeX 程序自己很小,庞大的原因,主要是后来人们不断地对它的功能进行扩展导致的。
TeX 家族最开始的概念是引擎。Knuth 老爹开发出的 TeX 是用 WEB 语言写的,这是一个文学编程的语言,需要用 Pascal 来编译——不过现在的 Pascal 编译器也是不能编译它的,版本不匹配——比较的繁琐,效率也不够高。于是有人开发出了 WEB2C 这个小工具来将 WEB 语言的代码转成 C 语言,这样能提高不少效率。
众所周知,TeX 最开始是 Knuth 老爹为了自己的 TAOCP (不知道的请上网爬文)的排版而创作的,所以当 Knuth 老爹自己对 TeX 满意之后,就不乐意修改它了。然而尽管TeX 是 Knuth 老爹和其他人(他的学生)一起做出来的东西,Knuth 老爹却坚持只有自己才能修改名为 TeX 的东西。所以当 TeX 流传开来之后,大家发现 TeX 功能上有不如人意的地方的时候,只能自己在 TeX 的基础上做一些增强版。比如,著名的e-TeX, 还有大家熟悉的 pdfTeX, XeTeX, LuaTeX 等。不是所有的扩展版都包含了T, E, X 这三个字母,比如以前有一个引擎叫做 Omega, 它支持 16 种文字顺序方向,十分神奇。每一个 TeX 引擎都有一套自己的原语,不过所有的增强版引擎,几乎都兼容原始的 TeX 的原语——语法一致,但功能可能变强大了。
这些增强版,包括最原始的 TeX 在内,都被称为**引擎**。引擎是承担最终排版工作的可执行程序。
让我们回到最开始的 TeX 上面来。众所周知,TeX 是一个引擎,同时也是一种宏编程语言的名字。Knuth 老爹的原始版 TeX 一共有三百多个最原始的宏,我们把它们叫做TeX 原语(TeX primitive)。其他所有的宏都是通过他们构建出来的,所以从理论上说,只要掌握了这三百多个原语,就能让 TeX 帮我们解决一切问题了。不过最原始的东西往往是强大的,但同时是不方便使用的。为了方便使用,我们就要在这些原语的基础上为常用的功能编写宏。
有一些宏非常常用,所以如果每次都载入这些宏会繁琐且缓慢。所以 Knuth 老爹允许人们将常用的宏编译成为格式(format, 扩展名为 fmt)。Knuth 老爹自己设计了一个格式,称为 plain TeX, 加上原语,他一共有 900 多个命令。因为它太基础,用得非常频繁,所以大多数时候人们讲到 TeX 语言的时候,指的是 plain TeX 构成的那些指令集合,而不是 TeX primitives.
TeX 是面向排版的,所以许多命令晦涩难懂——通常写文章的作者不需要知道这些细节,于是,刚刚获得图灵奖的 Leslie Lamport 博士在 plain TeX 的基础上又编写了一些宏,并编译为格式,取名为 LaTeX. La 就是他姓氏的头两个字母,仿照中国古代的叫法这就是所谓的莱氏 TeX. 所以你看,不管是中国人还是外国人,都想着光宗耀祖呢。LaTeX 优秀之处在于,它将内容与格式分开,使得作者不需要,或者只需要知道很少的排版细节就能排出漂亮的文章。
除掉 plain TeX 和 LaTeX, 常见的格式可能就只有 ConTeXt 了。
在格式的基础上,人们发现实现某一些特定的功能的时候,使用的宏命令总是一样的。所以如果把它们打包起来,就会变得很方便。所以出现了宏包(package)这个东西。宏包总是和格式对应,LaTeX 格式的宏包往往不能用于使用 plain TeX 格式书写的文章之中。LaTeX 中最常用的几个宏包可能是:amsmath, geometry, hyperref, xcolor, graphicx, booktabs 等。
除掉这些东西,人们还开发了一些辅助工具。比如,名为 BibTeX 的工具,就是用来生成参考文献的;名为 makeindex 的工具,就是用来生成索引的。另外对于引擎、格式、宏包、工具,用户要使用它必须有一份说明文档来指引进步。所有这些东西,零零总总,加起来有成千上万个文件,如果让用户去一一下载安装,一则不方便,二则不方便控制版本。所以就有人/组织/公司将他们全部打包在一起。比较著名的发行版有 Windows 系统下的 MikTeX, 跨平台的 TeX Live (它在 Mac OS X 上运行的版本也被称为 MacTeX),为中文做过优化的 CTeX (大陆吴凌云研究员),cwTeX (台湾吴聪敏教授)等。
至于 TeXworks, WinEdt, TeXstudio, TeXmaker 这些东西,只是编辑代码的工具,和 TeX 系统并没有直接的关系。
总的来说,引擎承担排版工作,对应一套原语;格式对应一套书写规则;宏包对应一定的功能;发行版则是所有东西的大杂烩。如果用汽车来做比喻,那么发行版是整个汽车,引擎是发动机和传动系统,格式是方向盘、刹车、离合器这些控制系统,宏包则是音响、车窗之类的各种功能的小物件。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:TeX Primitive Geometry GRAPHIC package 编译器 程序 开发 乐意 文学

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
平军 + 20 + 20 + 1 + 1 + 1 精彩帖子
╰不滅信念 + 3 + 3 + 3 精彩帖子

总评分: 经验 + 20  论坛币 + 20  学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

本帖被以下文库推荐

  • · LaTeX|主题: 77, 订阅: 25
缺少币币的网友请访问有奖回帖集合
https://bbs.pinggu.org/thread-3990750-1-1.html

沙发
╰不滅信念 学生认证  发表于 2014-11-8 10:47:27
发行版是整个汽车,引擎是发动机和传动系统,格式是方向盘、刹车、离合器这些控制系统,宏包则是音响、车窗之类的各种功能的小物件。
好比喻!
已有 1 人评分论坛币 收起 理由
oliyiyi + 3 观点有启发

总评分: 论坛币 + 3   查看全部评分

where there is a will there is a way

藤椅
bailihongchen 发表于 2014-11-24 11:11:59
写的非常不错,学习了

板凳
soccy 发表于 2014-12-12 02:16:10
拜读了。

报纸
AASMTSH 发表于 2015-3-5 17:25:57
说的很好很明了

地板
tianwk 发表于 2024-5-3 01:35:20
thanks for sharing

7
caifacai 发表于 2025-10-20 19:15:33
支持支持

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-6 07:52