Web2C
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]。
參考資料
編輯- ^ Web2C项目主页. [2014-02-22]. (原始內容存檔於2022-05-07).
- ^ 2.0 2.1 2.2 Karl Berry. The TeX Live Guide-2013 (PDF). [2014-02-22]. (原始內容存檔 (PDF)於2014-02-27).
- ^ Kpathsea项目主页. [2014-02-22]. (原始內容存檔於2022-01-21).
- ^ Web2C Manual. [2014-02-22]. (原始內容存檔於2022-01-20).