Web2C是一整套TeX相关程序的集合,也是TeX的一种实现,它包含TeX本身、MetaFont、MetaPost、BIBTeX等,是很多TeX发行套件的内核。Web2C的工作机理是将高德纳用文学编程语言WEB所编写的原始代码转换为C语言,即Web-to-C[1]。Web2C最初适用于Unix系统,目前已扩展到包括DOS、Amiga、Windows、Mac OS X等在内的多种操作系统[2]。
历史
Web2C最早由Tomas Rokicki在1987年实现,他开发了第一套将TeX系统的代码转换为C语言代码的系统。Tim Morgan后来成为了这套系统的维护者,在这期间,软件的名称改为Web-to-C。在许多其他贡献者的帮助下,1990年Karl Berry接手了这项工作。1997年,Karl将这项工作交给了Olaf Weber。Olaf在2006年又把这项工作交还给了Karl[2]。
主要内容
所有的Web2C程序均使用Kpathsea路径搜索库来查找文件,这套库结合环境变量和配置文件的使用来优化大量TeX文件的搜索[3]。
以Web2C方式处理的核心TeX程序包括[2]:
- bibtex:维护参考文献
- dvicopy:展开DVI中的虚拟字体引用
- dvitomp:将DVI转换为MPX(MetaPost图片)
- dvitype:将DVI转换为可读文本
- gftodvi:生成Generic格式字体的proofsheet
- gftopk:将Generic格式字体转换为packed格式字体
- gftype:将Generic格式字体转换为可读文本
- mf:创建字体
- mft:以漂亮的方式排版输出MetaFont的代码
- mpost:创建技术性插图
- patgen:创建断字规则文件
- pktogf:将Packed格式字体转换为generic格式字体
- pktype:将PK格式转换为可读的文本
- pltotf:将纯文本的property list转换为TFM格式
- pooltype:显示WEB的pool文件
- tangle:将WEB转换为Pascal代码
- tex:排版
- tftopl:将TFM格式转换为纯文本的property list格式
- vftovp:将虚拟字体格式转换为virtual property list格式
- vptovf:将virtual property list格式转换为虚拟字体格式
- weave:将WEB转换为TeX
许可协议
由于创作者的情况各异,Web2C的不同部分采用了不同的许可协议。简而言之,Web2C的可执行文件都采用GPL协议;而源自斯坦福的底层源文件则有其特定的许可协议,不适用GPL协议[4]。
参考资料
相关条目
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.