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) 來協助我們做轉換的工作. 而且, 為了注意力的集中, 而且為了某些檔案可以在短時間內暫時可看, 我將轉換的工作分成三個階段來進行. 每一階段專注在一類的工作.

  1. 將最基礎的 HTML 格式寫出來, 包括 <HTML> <BODY> 這一類的基本標籤, 以及在 TeX 的段落間加上 <P> 標籤. 此外將一些簡單的 TeX 指令換成 HTML 標籤, 例如 \item 換成 <OL>, \bf 換成 <B>, \centerline 換成 <CENTER> 等等. 或是刪除不適用的 TeX 指令, 例如 \medbreak, \vfill\eject, ~, \topinsert 等等. 這一階段做完了之後的檔案, 就已經可以上網了.
  2. 檢查數學模式的 TeX 指令, 將那些可以用 HTML 標籤描述的部分, 用 HTML 呈現出來. 這是最花時間的一階段, 但是我認為這是使得您的文件在網路傳輸上有效率的重要步驟. 如果凡是數學模式都用了 Techexplorer, 那麼可能一方面不怎麼好看, 另方面會比較慢. 哪些是可以用 HTML 代勞而不須使用 Techexplorer 的呢? 我舉例如下: 您會發現, 我比較挑剔: 我不讓括號 ( 和 ) 變成斜體字, 也不讓數目字變成斜體字. 但是這就是繁文褥節的由來. 您必須設計順手的編輯器巨集指令, 否則可能很難輸入這些標籤.
  3. 只有那些非得用 Techexplorer 不可的數學模式, 我們才在這一階段將它們包裹在 <EMBED> 標籤內. 基本上有三種包裹的方式, 一是文字間的數學 (in-line math), 一是獨立表現的數學 (display math) 但沒有編號的, 最後是有編號的獨立表現數學. 其實可以輕易地設計編輯器巨集指令來協助完成這個階段的工作, 因為 TeX/LaTeX 的指令幾乎可以一成不變地被包裹在 <EMBED> 標籤內.
  4. 每個 <EMBED> 標籤必須先設定一個寬度和高度. 最後, 再一起檢查這些寬高的設定是否合宜, 並做最後的修改.

根據私人的經驗, 使用 IBM Techexplorer 的幾個問題如下.

  1. 只能在 Win95 或 WinNT 上流覽 (Server 端不必有任何限制), 對大部分人而言這大概不是嚴重的限制, 但對我而言是麻煩的 (通常我只用 UNIX).
  2. 字型的選擇有所限制. 如果要擁有最完整的數學符號字型, 據使用手冊說, 最好要去買 Lotus Notes 所附的一套字型.
  3. IBM 宣稱這份 plug-in 程式可以在 Netscape 3.0 (以上)或是 Internet Explorer 3.0 (以上)之流覽器內執行. 我們很順利地安裝了它, 而且 Netscape 也如期望地使用了這個 plug-in 程式. 但是 Internet Explorer 就是不肯就範. 如果有仁人君子知道如何在 Internet Explorer 內使用這份 plug-in 程式, 請告訴我.
  4. 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 是否與顯示器的解析度無關.
  5. Techexplorer 在數學式子的周圍留下太多空白, 對於 display mode 的數學式子來說, 沒什麼關係; 但是對於 in-line mode 的數學式子來說, 就比較不好看. 因為它們會使得數學式子和前後文之間的距離太遠, 而且和上下行之間的距離也太遠, 整個畫面看起來不太舒服.
  6. 數學式子的背景顏色不能自動調整成與整頁文件的背景顏色相同. 這或許是流覽器本身的設計問題. Techexplorer 的 \rgb 指令好像不能在 Netscape 內執行.
  7. 某些 TeX 指令被 Techexplorer 解譯之後表現怪異, 例如 \cdots, \circ. 而且, 在數學式內的 \hbox 或 \text 內不能寫中文.
  8. 數學式子不是圖形, 讀者在下載原始碼之後可以修改. 因此有可能改變原作的部分內容而重新發布 --- 也就是說, 有版權的問題.
  9. 目前還不能列印 (其實這可能是個優點, 作者可以保有一部分的版權).

一旦您在 Win95 或 WinNT 環境中安裝了 IBM Techexplorer 的 plug-in 程式, 您可以開始試試看幾個測試文件. 例如

您應該將流覽器所呈現的文件與其原始碼相對應來讀, 就可以領略其基本要義了.


Created: May 25, 1997
Last Revised: Jul 14, 1997
© Copyright 1997 Wei-Chang Shann

shann@math.ncu.edu.tw