當我剛進大學時,學校開始搞一個東西稱為「科際整合」。當時世界上還不存在「Internet」這東西,所以本人可說是相當的封閉+老土。「『科技』整合?科技的整合和我們有什麼關係?」當時我聽到講臺的教務主任講到科際整合的字眼時,老實說我根本不知道這是個什麼東西哩!

但這不是重點,重點是很快我就進入了大學一年級,過著「理應辛苦讀書」的日子。

由於要進行「科際整合」,所以當時我就讀的學校裡,理學院的所有新生打散了重新編班,一起念基礎科目,像是「微積分」、「普通物理」這類的學科。等到大二還是大三左右,再進行正式的選系。這麼做的立意,是希望可以讓當時「一試定終身」的聯考制度,多多少少有個「補救」的、重新選擇的機會。

講義印製異常精美
科際整合的另一個優勢,據說是「各科目可以由最專長的老師進行授課」,比方說,微積分可以由數學系教授進行授課,普通物理可以由物理系老師進行授課,各系不必侷限於只能用自己系上的教授上課,聽起來是不錯的。

當一個大一新生,很重要的一件事就是買課本,所以我們自然會問教授,「那微積分這堂課我們要用哪本書當做課本?」教授的回答倒也乾脆:「不用,我們不用課本。」

教授(們)的意思是,所有理學院的學生統一用相同的講義,由教授決定挑選「微積分裡面重要的部份」來講授,而不必拘泥於課本的範疇。所以每次上課,我們會拿到由教授發給的講義,雷射印表機精印的講義。

我大學時代的功課很糟,因此現在回想起來,就覺得當時的我可以用四個字形容:「本末倒置」。理論上,我應該努力搞懂講義的「內容」才是,那才是重點。不料,我倒是對於這講義怎麼印出來的,對它的「外觀形式」產生了極大的興趣。

這不是「本末倒置」是什麼?

我後來打聽到,微積分的講義是用一套軟體,T3製作的。

T3?魔鬼終結者第三代?
老實說,當時沒有Internet,所以當時就算知道這名字,也查不到什麼資料。不過,這軟體可以用PC印出精美的數學文件確實是相當驚人的成就。至少,各種奇怪的微積分符號,用雷射印表機都可以美美的印出。

現在回想起來,T3應該是個TeX的clone產品?抑或是個仿製的軟體?因為就算現在有Internet了,一樣也查不到T3的資料了。我只能猜想,T3可以驅動PostScript印表機,印出各種特殊的數學符號。但後來各種取代的產品流行之後,T3就漸漸被遺忘了。

那,TeX是什麼?

原來,計算機學界有一位知名的教授,名為「Donald Knuth」,這位教授的名著「The Art of Computer Programming」,應該是學界無人不知、無人不曉的巨作。他另一本比較不知名的書——「Digital Typography(數位印刷術)」,則講了一個有趣的故事,和「The Art of Computer Programming」的出版,以及TeX的誕生有關。

根據書上(Wiki上也有此故事,版本比較簡短)的記載,Knuth的The Art of Computer Programming第一冊到了1976年之時要出第二版(Second Edition),但因為原先的排版裝置已經消失,所以整本書要「重排」,但他老兄收到排好請他校對的二版新書時,據說是嚇壞了,書裡面很多字都不能照他的意思去「印」,這讓他有如下的說法:

「I did't know what to do. I had spent 15 years writing those books, but if they were going to look awful I didn't want to write any more. How could I be proud of such a product?」

(「我不知道該怎麼辦。我花了15年光陰寫這些書,但現在它們看起來是如此恐怖以至於我不想再寫了。我怎麼能對這樣的東西感到驕傲?」)

然後他決定,自己來寫一個排版系統,這就是TeX。

TeX是什麼?
其實Knuth不只寫出了TeX,還自己開發了一個很特別的字型系統系統,稱為「Metafont」。這個Metafont系統的神奇之處,就是你只要給它一個描繪「A」的方法,它就會把所有的英文字(一整套英文字母並包括標點符號)都描繪出來,相當神奇。

只是因為PostScript已經夠強大了,有一些其他系統(包括Metafonts)所沒有的優點,所以Metafont並沒有廣為流傳。但TeX確實在學術界,尤其是數學和物理這兩個領域應用甚廣,不過TeX這東西,嗯,我得說,沒有三兩三你最好不要上梁山,這不是商業軟體,其介面真的非常、非常、非比尋常的難以駕馭。因為它是一個典型的「後端排版系統」。也就是說,你得熟背相關的語法,才能排出一個像樣的公式。

比方說,你若輸入

$$-b \pm \sqrt{b^2 - 4ac} \over 2a$$

你就可以得到,「2a分之-b加減根號b平方減4ac」的公式圖樣,非常非常美觀(各位可以參考圖片)。但問題是,你得知道「\pm」代表加減號,「\sqrt」代表根號,「\over」代表除號(長除法),「^」代表上標。換句話說,輸出前你都不知道你輸入的對不對,錯了你就得修正後端的文字,再重新輸出,再看看內容對不對。但這東西如果配合正確的裝置,而且若你十分熟練語法,那文件品質確實高得驚人哩!因為所有的文字樣式你都可以精確的控制,精確程度超乎你的想像。


用TeX系統製作的方程式圖樣,使用AMS Euler字型顯示。仔細看,isin y的兩個i,字體是不一樣的(前面的i是斜體字)。

用功能變數輸入公式
那沒有TeX的人怎麼辦?沒有PostScript印表機的人怎麼辦?他們就不列印數學公式了嗎?不可能吧?

幸好,Word早期也提供了不好看,但可用的數學公式編排功能。像是你輸入{ EQ \F(-b ±\R(b2 - 4ac) ,2a) }這樣的文字,也可以得到常見的二元一次方程式解的方程式。

早期Word(Word 2.0)時代,你得用「插入」這命令,選「插入功能變數」,選擇「Eq」(Equation的意思),然後輸入適當的代號形式,像是\F代表長除號,\R代表分號,這和TeX的方式很類似但又不太相同。但Word有個好處,你隨時可以切換成「變數代碼的結果」,馬上可以觀察輸出狀況,有錯可以馬上改。雖然也許沒有那麼美觀,但確實是堪用的。

到了Word 6.0吧!Microsoft更進一步,買了Design Science公司(http://www.dessci.com/)的MathType這套軟體軟體,作為整套Office的一個小小的組件,稱為「方程式編輯器」,讓你輸入數學公式更加得心應手。你不必再去背誦奇怪的功能變數,只要直接看著螢幕,就可以輸入正確的各種方程式,確實是方便無比。

這軟體的另一個特色,是可以提供「精確」的文字形式。

數學公式的編輯體例上,「一般文字」(像是x、y、z……)應該用斜體字,「函數文字」(像是sin、cos……)則使用標準字,向量則使用粗體字,而且不能亂用(濫用)空格。所以用前面功能變數的方式輸入的公式,其形式其實是不精準的,但若用MathType輸入公式,形式就會精準多了。

如果要我比較,老實說,用TeX去做排版,真的很精準,很美麗,但也頗有難度,花錢買套Design Science公司的產品,倒也不失為一個省事的解決方案。


在Word文件裡用功能變數輸入公式,雖不甚美觀但還是堪用的,早期會此功能就已經傲視群倫囉!如今大概只有老頭子才知道這功能吧。


現在內建方程式編輯器了
到了Office 2007,Microsoft不再提供MathType了,直接在Word裡面內建了圖形化的方程式編輯器,讓使用者可以直接輸入公式。而且,從介面上看得出來,Word開發小組在這上頭應該是投入了很大的心力,輸入各種形式數學方程式的功能都相當完備。

不過這公式編輯器是否會比以前好用?很難說就是。我個人就碰到三個小問題:

● 以前的方程式編輯器作為一個小工具,其實是可以分享給所有軟體用的,只要該軟體支援OLE就可以。現在Word 2007支援了內嵌的方程式編輯器,卻只能給Word用了。

● 這方程式編輯器對於方程式體例的變化,並不會「從一開始輸入」就正確,你得用自己調整,而且有時你會讓公式名稱「不應該變成斜體字」卻也變成斜體字,又或者是它讓你可以輸入空格(破壞方程式的工整性),這些體例的「不嚴格」是比較嚴重的問題,這部份我比較喜歡MathType。

● 有時你輸入了x,然後想要改成x的平方,你這時想要「改」卻發現不行,你得先輸入「上標」的形式符號,然後把x移進去,這點MathType也做得比較好。


MathType在Office 2007裡面似乎已經被取消了,但Office 2003裡面還有它的精簡版,稱為方程式編輯器,其最大特色是視覺化,方程式體例精準。


免費的也不錯
可惜,MathType是要錢買的,但OpenOffice.org裡面附了一個「Math」,這應該是不用錢的吧?我試用了一下,就方便度而言,比上述兩套軟體要稍差一些,OpenOffice.org Math用的方式很類似以前的Word,使用自己的代碼構成方程式,但也提供即時檢視系統,所以你稍微忍耐它「比較不好操作的部份」,這東西也還算是不錯用的。

至於體例的部份,OpenOffice.org Math還比Word 2007更好些,它可以正確的分辨變數文字(應該用斜體)和公式文字(應該用正體)的形式並正確顯示。所以看在免費的份上,如果你並不是大量數學公式的愛好者,那OOo Math就夠你用囉!


如今的Word 2007內嵌一個方程式編輯器,雖然也很強大,但可惜在方程式的編輯體例上還需要多加點油,希望Microsoft找個精通此道的人去當顧問吧!


本期結語:各種科技排版的工具如今應有盡有
對於科技排版,是不是只有數學公式、方程式?

其實不只,還有很多很多其他的東西,像是化學式?有時你得畫個苯分子圖?那也有對應的工具軟體可以幫你,像是ChemOffice(http://www.cambridgesoft.com)。如果你不只是要顯示方程式,甚至要畫方程式圖形呢?這類軟體更多,像是GAUSS、MathCAD、Mathematica、Maple、Matlab……,很多很多。不過這些產品的重點並非文書處理,而是在規畫求解、數值運算和曲面作圖這一類的應用(所以它們都用M字開頭的文字命名)。此外,這類軟體因為十分專業,功能眾多,價格也大多相當昂貴。

至少,要幫小孩打個數學考卷幫他複習功課,你現在知道從哪裡著手了吧!

熱門新聞

Advertisement