電子出版系統出現之初,稿件從電腦輸入,用軟體編排,比鉛字環境乾淨又便捷,但在數學公式的製作上,卻遠不如人工鉛字編排。數學公式的編排有如拼圖,找到適用的字體與圖形,用手工拼排在一起最為方便,鉛字正有這個功能。鉛字被淘汰,換成電腦做這件事,只有把人的直覺動作一步步邏輯化,轉換成電腦指令,輸入電腦編排。但指令繁瑣、容易打字出錯,需要反覆校對,記得當時排版的價格,有數學內容的稿件是純文字稿件的五倍之高。
美國史坦福大學教授 Donald Knuth,是最早把數學編排程式化的人,他遠在 1978 年就寫了一程式,取名 TeX,用一連串的文字作為數學編排的指令,只要電腦能解譯這些指令,就能編排出如手寫規格的數學公式。TeX 三十年來多經修改,至今仍為學術界所用,最後一次修改是 2008 年,並幽默的把版本訂為圓周率,π=3.1415926535......,再有版本更改,就在這個無限數最後加一,也就是繼續改善,版本不再、也不能更動。
對有數學基礎的人,撰寫 TeX 指令並不十分困難,尤其是簡單的公式可以用一行指令描述,像下面的例子(紅色為 LeX 指令,藍色為指令解譯結果):
The quadratic formula is $$-b\pm\sqrt{b^2 - 4ac}\over 2a$$\bye
The quadratic formula is
TeX 雖然有數學公式製作功能,但究竟屬於低階層的指令語言,於是出現了 LaTeX 軟體提升 TeX 的功能,可以串連指令,有製作圖表、編排章節、組合全頁、內容相互參考、轉換成 PDF 格式等功能,所以廣為科學界使用,直接使用 TeX 的則越來越少。
MathType 用互動式的方式製作數學公式,輸入的同時可以在畫面上看得見,不同於 TeX 一串指令需經過解譯,才看得見結果。上圖是 MathType 的主畫面,除了有許多指令與符號,還有樣本可以直接取來修改。製作公式的時候先點指令再輸入文字,多個指令的複合,就能組成複雜的公式。除了直接在畫面上製作,還可以手寫輸入,經識別轉為數位字體。對慣用 LaTeX 的人,也可以直接輸入指令串,與互動製作混合。另外從別的文件看到可用的公式,可以直接拷貝貼進來,MathType 會自動做系統的融合。看起來數學公式的製作越來越簡單了,當然相對其背後的技術卻越來越複雜了。
MathType 最新版本 6.7,約一年以前推出 Windows 版本,現在看到推出麥金塔版的新聞,想到讀者也許對科技文獻的製作少有接觸,所以簡單介紹數學排版,期望帶給讀者些許概念,每當看到編排美觀的數學公式,或可想到背後的複雜流程。最後建議讀者下載 MathType 玩玩,免費試用三十天。