LaTeX3 的由来
1989年8月,正值 TeX 和 Metafont 诞生十周年,TeX 用户组织在斯坦福大学召开会议,研讨 LaTeX 的现状与未来,德国学者 Frank Mittelbach 就
当时流行的 LaTeX2.09
所存在的问题提出许多改进设想。会议商定要研发一个更为先进完善的 LaTeX 版本,并命名为
LaTeX3。会上,LaTeX 的创始人 Lamport 教授,将 LaTeX 的维护和开发工作交给由Mittelbach 等三人组成的 LaTeX3
项目小组。
LaTeX3 项目小组是由志愿者组成,其主要目标就是要在 Lamport 博士的 LaTeX 原理基础上,创建更为简便高效的文稿处理系统,并将仍然是免费的和适合各种操作系统。
Mittelbach
在德国美因兹市古腾堡大学数学与计算机科学专业学习期间,就接触到 TeX 以及 La-TeX。毕业后进入
DES 公司,负责分布系统和网络的远程监控管理。他业余爱好打游戏、听爵士乐、看小说,特别对 LaTeX 感兴趣,multicol、NFSS、doc、AMSLaTeX 和《The LaTeX
Companion》等教材和宏包都是他或他参与的作品,研究 LaTeX 已成为他的“第二职业”。
Mittelbach 主张应把现有对 TeX 拓展开发的成果,如 Omega、eTeX 等,综合整理,拥立一个稳定的、便于维护的、应用广泛的 TeX 继承者,并为以后的 LaTeX3 打下基础。
Mittelbach 已有三个男孩,其中老二和老三是双胞胎,全家居住在美因兹。因此,很多学者把他或他参与编写的各种 LaTeX 程序和文章统称为“美因兹宏包”或“美因兹文件”,这个德国小城也随之名扬于
LaTeX 世界。
LaTeX3 的处女作
LaTeX3 项目小组的第一个作品就是于1993年底推出的测试版 LaTeX2e,之后于1994年6月1日,正式宣布 LaTeX2e 为标准的 LaTeX 版本,以取代1992年3月最后一次更新的LaTeX2.09。
新版 LaTeX 以新字体选择方案作为标准的字体选择方法,并将
AMSLaTeX 和 SliTeX 等宏库都归为其附带的宏包套件;它能更好地支持制图、色彩、字体和多种语言排版。
为了修正错误,不断提高系统性能,LaTeX2e 通常每6个月升级一次。随着系统逐步稳定,升级周期也逐渐拉长,截至2006年12月,LaTeX2e 已升级过17次。
LaTeX2e 其实只是一次强化演习,主要目的是统一几个不同格式的 LaTeX,缓解当时各种格式互不兼容,许多宏包相互冲突的混乱局面,以便争取时间,向
LaTeX3 稳步过渡。
现在,一般都简称 LaTeX2e 为 LaTeX,因为目前还没有其它版本的 LaTeX 系统。在 LaTeX3 发布之前,LaTeX3 项目小组仍将负责维护 LaTeX2e,可以在其网站检索或报告 LaTeX2e 的错误或漏洞。
LaTeX3 将会借鉴 LaTeX2e 的成功经验。
LaTeX3 项目小组下一个要推出的版本就是 LaTeX3 了,它将对文件编辑和宏包编写界面做出重大改进。
LaTeX3 的具体目标
随着 LaTeX 应用范围的逐步扩大,当前系统在文件编辑和文件样式设计两方面的局限性凸现出来。LaTeX3 项目的总体目标是开发新一代 LaTeX:质量更高用途更广的文件制作系统,即可处理的文件范围更加广泛
、完善灵活的排版设计界面和更为便捷地设定文件类型。为此,除了扩展 LaTeX 可处理的文件种类以外,至少要在下列方面作出重大改进:
- 命令语句(属性、简短参引);
- 容错性能(错误恢复、忽略遗漏);
- 可扩展性(宏包界面);
- 表格和图形规范;
- 浮动体定位等页面问题;
- 超文本链接能力。
对上述这些不足之处做进一步分析可以发现,其中一些问题源自 LaTeX 内部的理念和设计。LaTeX3
项目小组将深入研究解决这些问题,使之成为标准格式程序,以适应各种类型文件的要求,例如 SGML 文件和带超文本链接的在线 PDF 文件等。这将导致对系统的大部分内容要重新审视,进行重大改动,例如在字体声明与选择、数学公式中的字体和字形处理、同一文件中多种字形编码处理、同一文件中允许多种编码字符输入、统一的插图界面、支持彩色文本、新类型文件和扩展宏包
的创建与转换等方面。
LaTeX3 希望成为一个新的排版标准,不仅适用于 LaTeX,而是所有排版数学公式的系统。例如可处理相同编码而用于不同系统的数学字体,这便于各种字体在不同系统间调换,也就是说
,以后可以把
MS Word 中的数学字体运用于 LaTeX 文件中。
LaTeX3 的任务
现行版本的 LaTeX 有下列特点:
- 完善的文本、科技公式和表格排版规范;
- 隐形属性标注;
- 使用简便;
- 文件可移植于各种操作平台;
- 适用于多种语言;
- 传播广泛且免费使用;
- 完全由 LaTeX3 项目小组管理维护。
LaTeX3 不仅要继续保持和完善这些优点,还将增添下列新功能,以满足目标要求:
- 提供一种语法,可高度自动地将流行的 SGML DTD
文件转换为 LaTeX 文件类型文件(作为新版本的标准)。这种崭新的 LaTeX 用户界面语法将支持“实体”、“属性”和“简短参引”等
SGML
理念,这样可直接链接到相应的 SGML 部分。
- 要支持超文本链接和其它可在线使用的文件,如 HTML 和
XML。
- 要提供一个简易的样式设计界面,以支持各种排版要求和链接文件通用标记中的实体至所需样式。这两方面的设计处理要明确区分,以便识别相同 DTD 的不同版面。这个设计界面的语言和语法应尽量使排版设计者感到亲近自然,因此这种语言应是一种视觉导向的菜单识别驱动系统。该界面还应支持
DSSSL
规范和用于 HTML、XML 的样式表方式。DSSSL 与 SGML 的关系,就如同 CSS 与 HTML 的关系一样。
- 要提供一个强大的用户界面以适应各方面的排版要求,例如:
科技文件的要求(版面偏移,修改指示等);
人文学科学术出版物的要求(主题词等);
化学结构式的要求;
复杂数学式的排版;
图形内容整合(阴影、注释文字等);
超文本与其他在线文件如 HTML、XML、PDF 中链接的结合等。
应采用模块化设计以确保这个界面是可扩展的。
- 要提供一个更有效的设计界面,例如,取消命令嵌套的人为限制。改进出错处理,创建更为有效的交互式帮助系统。
- 可选用任何字族(例如 PostScript 和 TrueType )中的任意字体,包括可使用于多种语言文件的字体和各种科技学术文件中所需的专业字符。
- 新用户界面应完备清晰,还应提供大量精心设计的样例及其目录,以便尽量缩短新用户的学习时间。
- 用户界面程序要采用模块化设计并经严格验证,以便于系统维护和升级。
新版 LaTeX 将与现行版本一样,适用于任何标准 TeX 系统,可免费地在各种操作系统中使用。
LaTeX3 的运作
先后已有13人参与该项目工作。目前(2006年)LaTeX3 项目小组有共有9人,分别来自德国、英国和美国,Mittelbach 是这个项目的技术负责人,他和 Rowley 负责项目管理。
开发下一代 LaTeX 排版系统是一个长期的研究课题,也是一个依靠捐款资助的志愿者项目。尽管 LaTeX 是免费使用的,但制作和维护该系统还是要有相当大的花费,比如更新计算处理设备、项目小组会议时来自不同国家志愿者的旅行住宿费用等等。
LaTeX3 项目总设计师 Mittelbach 已将自己所写《LaTeX 之友》一书的稿费投入到该项目中。
TUG 专门设立了
LaTeX3 项目基金会,为其募集捐款。
LaTeX编辑部 编译
LaTeX – A document preparation system
LaTeX3 项目网站