Showing Mathematics on the Web

LaTeX2HTML

LaTeXTeX 的一套 macro language, 它的目的是針對內含非常多數學表達式的文件做排版工作. HTML 如眾所知是 WWW 上交換文件的標準加註語言. LaTeX2HTML 是由英國 Leeds 大學的 Nikos Drakos (nikos@cbl.leeds.ac.uk) 用 perl 語言寫成的一套程式. 如果您現在已經會使用 LaTeX 語言, 而且您的計算機裡面已經安裝了 perl 程式 (其實這一部分並不困難), 那麼目前 (1997 年 6 月) 要在 WWW 網路上呈現數學的最佳捷徑, 就該是使用 latex2html 這套程式. 您可以從中央大學數學系東坡站的 CTAN:/support/ 服務網上取得 latex2html 的程式.

它的做法是, 讀入一份符合標準 LaTeX 3 (或 2e) 格式的文件, 將文字部分盡量以 HTML 的加註語言呈現, 碰到數學式子的時候, 它為每一個數學式子編一個獨特的名字, 以此名字臨時製造一個 LaTeX 檔案, 內容只有那一條數學式子. 之後它便以 LaTeX 處理那個數學式子檔案, 先製造 dvi 檔案, 然後以 dvips 製造對應的 PostScript 檔案, 再用 pstogif 之類的程式將之轉換成 GIF 圖形檔案, 最後, 將這個 GIF 圖形 (其實就是一個數學式子) 以 <IMG> 的 HTML 結構安插在文件內的適當位置.

前述的 latex 編譯程式, dvips 轉換程式, 以及 LaTeX 3 (或 2e) 的所有附屬檔案, 都屬於公益產權 (public domain), 也都可以從東坡站的 CTAN 服務網上取得. 但是, 安裝這一套軟體是很繁複的工作, 我們並不建議缺乏經驗的人去做.

例如以下的式子

就是以 LaTeX 指令
\begin{displaymath}
\frac{\partial f}{\partial x} \frac{\partial x}{\partial t}
= \frac{\partial f}{\partial t}
\end{displaymath}
經過 Latex2html 變成某個圖形檔案, 比如說 img3.gif 然後再以 HTML 的指令 <CENTER><IMG SRC="img3.gif"></CENTER> 呈現出來.

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

  1. 不方便. 每一篇文件必須在一個獨立的檔案夾內, 否則繁多的 GIF 檔很難管理. 而且一旦想要修改文件中的數學符號時, 必須將整個程序重新來過.
  2. 由於 GIF 圖檔是由 PS 檔製造來的, 而 PS 檔通常是為了在雷射印刷機上列印. 所以, 通常我們會用 300 dpi 或更高解析度的點陣字 (PK 檔) 來製造 PS 檔. 而 GIF 的目的是在電腦螢幕上顯示, 螢幕的解析度通常只有 70 到 100 dpi. 因此直接從 PS 轉換成 GIF 的圖形總是會太大. 如果用 down-sampling 的方法使它變小, 則有鋸齒問題或是 aliasing 的問題. 否則就要在 dvips 的步驟就直接使用 70 或 100 dpi 的點陣字. 但是這就提高了 TeX 系統管理的複雜度 (要儲存並維護兩套解析度的點陣字, 還要設定兩種 dvips 的程序), 不是一般的工作站容易辦到的.
  3. 前面提到 GIF 是固定的尺寸, 所以不能隨讀者的流覽器字樣大小而改變. 尤其是比較小的 in-line 數學式子, 例如 , 其大小與文字的配合很不容易.
  4. 前面提到, 若縮小 GIF 圖形需要做 anti-aliasing. 但是這種演算法通常假設背景顏色是白色. 如果背景真是白色, 那麼很可能與文件底色不配. 如果背景設定成透明, 那麼真正的背景顏色也許會使得 anti-aliasing 的作用失效, 導至非常模糊不清的影象.
  5. 前面提到, GIF 的解析度固定, 而且是針對螢幕的解析度設計. 所以, 當我們將文件移送到雷射印刷機去列印的時候, 數學式子是以低解析度的圖形來處理的. 通常這個結果都很難看. 尤其是像前面那種 in-line 數學式子.
  6. 所有的數學式子都是圖形, 讀者端沒有修改的可能 (其實這可能是個優點, 作者可以保有一部分的版權), 而在網路上也沒有被搜尋的可能.

MathML 的處理方式, 可能是個釜底抽薪的辦法. 一旦它真能成為 WWW 上表現數學式子的標準, 而且一旦支援它的流覽程式普遍化, 上述的限制可能都將解除. 這是下一節的主題.


NEW

安裝 latex2html 以前要先安裝好 netpbm (1994 年以後) 和 perl (5.0 版以後). 而安裝 perl 常常需要 gcc. 又因為 latex2html 會需要某些特定的圖標 (icons), 所以最好能夠和當地網站的管理人員配合, 將那些圖標統一放在公共的地方. 總之, 有一些系統配置 (configuration) 的問題.


Created: May 25, 1997
Last Revised: Jun 23, 1997
© Copyright 1997 Wei-Chang Shann

shann@math.ncu.edu.tw