Showing Mathematics on the Web
Techexplorer
這是 IBM 公司的產品, 目前還是可免費取得的.
我將它 1.2 版的
線上使用手冊
下載於此. 注意, 這份手冊很可能過時了; 因為我並沒有隨時保持最新的版本.
您可以由 IBM 的
專門網頁
閱讀最新的使用手冊, 並且下載最新版本的 techexplorer 程式.
這個程式是配合 Netscape Navigator 2.0 (以上) 或 Microsoft Internet
Explorer 3.0 (以上) 使用的 plug-in 程式.
目前只提供給 Microsoft Windows 95 和 Windows NT 這兩種工作平台.
IBM 沒提到它自己的 OS/2. 不知道是已經被支援了, 還是已經被放棄了.
經驗上, 從 IBM 的網頁下載那個程式 (約 1.5MB) 頗為吃力,
常常因為網路太慢而中斷. 我請一位學生在 (1997) 五月二十四日拿回來一份程式.
如果您在臺灣擔任教職, 而且已經到 IBM 的網頁去登記過基本資料
(是的, IBM 要求每一個拿了它的好處的人都要留下記錄),
我願意私下把我拿到的程式原樣不動地轉移一份給您
(我不確定是否真的合法, 但是, 差不多啦).
如果任何人下載了最新版的 techexplorer 程式或線上手冊,
願意分我一份, 也很歡迎 (而且感激).
以下是我建議您閱讀的文件:
根據 W3C 的消息指出, IBM Techexplorer 將會支援
MathML
的語法. 且讓我們等待. 不過, 只要是已經在使用 TeX 或 LaTeX 的人,
倒不需要等待到那時候.
因為現在的 Techexplorer 可以還算是方便地將普通的 TeX/LaTeX 指令直接拿來用.
在直接配合 TeX/LaTeX 這一方面, 能與 Techexplorer 比擬的大概只有
WebEQ.
但是, 在經過幾番測試之後, 我發現雖然 WebEQ 比較可以在廣泛的平臺上呈現,
但是其速度比較慢; 這可能是因為要傳輸頗多的 Java applets, 包括字形資料.
因此, 在九七年七月時, 我決定以 IBM Techexplorer 來呈現
單變數微積分的講義.
因為這些講義都是 TeX 文件, 而且已經被成功地排版過,
所以需要做的事只有將它們改寫成 HTML 格式, 外加一些適合 Techexplorer
的 <EMBED> 指令.
我曾經將那些講義改版, 我花了大約三十六個工作小時去轉換二十六個檔案.
這些中文 TeX 檔案原來約有 159K,
在轉換為 HTML/Techexplorer 格式後增加到 261K.
這是可以想像的, 因為 HTML/Techexplorer 的語法比較繁文褥節,
而且 TeX 還可以利用巨集指令來節省空間.
我在工作中獲得一些經驗, 並且發現自認為合適的工作流程.
那就是, 要完全的自動轉換, 似乎是不太可能而且沒有必要去傷這個腦筋的.
比較實際的做法是設計一套編輯程式的巨集指令 (例如使用 vi 或 emacs)
來協助我們做轉換的工作.
而且, 為了注意力的集中, 而且為了某些檔案可以在短時間內暫時可看,
我將轉換的工作分成三個階段來進行.
每一階段專注在一類的工作.
- 將最基礎的 HTML 格式寫出來, 包括 <HTML> <BODY>
這一類的基本標籤, 以及在 TeX 的段落間加上 <P> 標籤.
此外將一些簡單的 TeX 指令換成 HTML 標籤, 例如 \item 換成 <OL>,
\bf 換成 <B>, \centerline 換成 <CENTER> 等等.
或是刪除不適用的 TeX 指令, 例如 \medbreak, \vfill\eject, ~, \topinsert 等等.
這一階段做完了之後的檔案, 就已經可以上網了.
- 檢查數學模式的 TeX 指令, 將那些可以用 HTML 標籤描述的部分,
用 HTML 呈現出來. 這是最花時間的一階段,
但是我認為這是使得您的文件在網路傳輸上有效率的重要步驟.
如果凡是數學模式都用了 Techexplorer, 那麼可能一方面不怎麼好看,
另方面會比較慢. 哪些是可以用 HTML 代勞而不須使用 Techexplorer 的呢?
我舉例如下:
- $f(x)$ 改成 <I>f</I>(<I>x</I>)
呈現 f(x)
- $e^{-x^2}$ 改成 <I>e</I><SUP>-<I>x</I><SUP>2</SUP></SUP>
呈現 e-x2
- $\sin x_1$ 改成 sin<I>x</I><SUB>1</SUB>
呈現 sinx1
您會發現, 我比較挑剔: 我不讓括號 ( 和 ) 變成斜體字, 也不讓數目字變成斜體字.
但是這就是繁文褥節的由來. 您必須設計順手的編輯器巨集指令,
否則可能很難輸入這些標籤.
- 只有那些非得用 Techexplorer 不可的數學模式,
我們才在這一階段將它們包裹在 <EMBED> 標籤內.
基本上有三種包裹的方式, 一是文字間的數學 (in-line math),
一是獨立表現的數學 (display math) 但沒有編號的,
最後是有編號的獨立表現數學.
其實可以輕易地設計編輯器巨集指令來協助完成這個階段的工作,
因為 TeX/LaTeX 的指令幾乎可以一成不變地被包裹在 <EMBED> 標籤內.
- 每個 <EMBED> 標籤必須先設定一個寬度和高度.
最後, 再一起檢查這些寬高的設定是否合宜, 並做最後的修改.
根據私人的經驗, 使用 IBM Techexplorer 的幾個問題如下.
- 只能在 Win95 或 WinNT 上流覽 (Server 端不必有任何限制),
對大部分人而言這大概不是嚴重的限制, 但對我而言是麻煩的 (通常我只用 UNIX).
- 字型的選擇有所限制. 如果要擁有最完整的數學符號字型, 據使用手冊說,
最好要去買 Lotus Notes 所附的一套字型.
- IBM 宣稱這份 plug-in 程式可以在 Netscape 3.0 (以上)或是 Internet
Explorer 3.0 (以上)之流覽器內執行. 我們很順利地安裝了它,
而且 Netscape 也如期望地使用了這個 plug-in 程式.
但是 Internet Explorer 就是不肯就範.
如果有仁人君子知道如何在 Internet Explorer 內使用這份 plug-in 程式,
請告訴我.
- Techexplorer 是以 plug-in 的方式將數學式子畫在覽灠器的螢幕上.
問題是, 每個數學式子被呈現在螢幕上的時候,
必然佔據一塊方形區域. 作者必須告訴 Netscape 這個區域的大小,
例如
<EMBED TYPE="application/x-techexplorer" TEXDATA="\tiny$\zeta(-2)=0$"
HEIGHT=44 WIDTH=112 ALIGN=CENTER>
而這些參數 HEIGHT 或 WIDTH 必須靠實驗或經驗取得.
如果取得不夠, 那麼 Netscape 會自做主張在畫面邊緣添上卷軸 (scroll bar),
這是非常惱人的.
而且, 我還不能確定, 這些參數 HEIGHT 或 WIDTH 是否與顯示器的解析度無關.
- Techexplorer 在數學式子的周圍留下太多空白, 對於 display mode
的數學式子來說, 沒什麼關係; 但是對於 in-line mode 的數學式子來說,
就比較不好看. 因為它們會使得數學式子和前後文之間的距離太遠,
而且和上下行之間的距離也太遠, 整個畫面看起來不太舒服.
- 數學式子的背景顏色不能自動調整成與整頁文件的背景顏色相同.
這或許是流覽器本身的設計問題.
Techexplorer 的 \rgb 指令好像不能在 Netscape 內執行.
- 某些 TeX 指令被 Techexplorer 解譯之後表現怪異, 例如 \cdots, \circ.
而且, 在數學式內的 \hbox 或 \text 內不能寫中文.
- 數學式子不是圖形, 讀者在下載原始碼之後可以修改.
因此有可能改變原作的部分內容而重新發布 --- 也就是說, 有版權的問題.
- 目前還不能列印 (其實這可能是個優點, 作者可以保有一部分的版權).
一旦您在 Win95 或 WinNT 環境中安裝了 IBM Techexplorer 的 plug-in 程式,
您可以開始試試看幾個測試文件. 例如
您應該將流覽器所呈現的文件與其原始碼相對應來讀, 就可以領略其基本要義了.