傳統 TeX 與一般所見即所得(What You See Is What You See)的文字處理軟體(比如說 Office 系列)相比最大的優勢在於不用花錢就可以製作高排版質量、高重現性的大型文件,特別是會出現大量方程式的數理學術文件。不用花錢、高排版品質、數學方程式排版、大型文件與高重現性這五點分開來獨立做都很容易達成(LibreOffice、 Math Type、M$ Office with VBA、Acrobat 等等),全部摻在一起卻只有 TeX 辦得到,偉哉 Knuth! 他居然在 30 年以前就想到這麼棒的解決方案!
就以 WORD 作為比較基準好了,高重現性這個特色主要表現在跨平台、跨版本的特性上,也可說是 literate programming(從同一原始檔自動生成可編譯的原始碼和高品質的文件)的概念,而用過 MS Word 的人就知道 Word 文件格式的不穩定性(xml 除外);轉成 PDF 檔流通固然好,那該如何共同修改? 高排版質量的大型文件使用 WORD 當然辦得到(這裡指的是交互參照、標題格式與編號的問題),請看侯捷寫的『Word 的排版藝術』,不過我相信同樣等級的書稿使用 WORD 來製作的難度絕對不遜於 TeX。至於方程式編輯與參考書目倒不是兩者最大的區別,只要你肯花錢購買 Math Type 與 endNote 這兩套商用軟體的授權,很容易獲得與 TeX 系統差不多品質的成果(but TeX系的 JabRef 是免費的,方程式編輯排版功能又是 TeX 最大的賣點,就是這個 but 讓不肯用盜版的窮學生屈服)。
早期 TeX 入門難度高(差不多 2007 年以前)的原因不少,不過很多都已經解決了,比如
a) 軟體安裝問題
近期 Windows 上新版的 MikTeX 不僅僅是一鍵安裝到底,連底層文字編輯器與完稿顯示頁面區塊都包在一起,字型方面則是依賴 XeLaTeX 直接取用 Win 系統字型獲得不錯的效果。基本上安裝好,找好範例,每個人都能很快地編出第一份 LaTeX 文件。至於在 Linux 也有 TeXLive 這類大補帖可以使用(你可以用 Live CD 開機的方式在任何電腦上直接使用 TeX 系統)。
b) 所見即所得(What You Get Is What You See)?
商業的 scientific workplace ,免費的 GNU TeXMac 或者 Lyx 都是發展成熟的解決方案
c) 指令記不住
現在的文字編輯器都很高級,比如我最愛的 TeXmaker 就有很棒的指令補完功能與大量的數學字符 GUI 按鈕可以幫你快速輸入方程式;至於在不熟悉的情況下想完全掌控方程式版面大概就需要用所見即所得的文字編輯器(比如前文提到的 Lyx)或者線上文字編輯器。
d) 中文與其他非英語系文字的處理?
XeLaTeX 與 CJK 套件近乎完美地解決了這個問題。現在你甚至 MikTeX 剛裝好就能輕鬆編譯一份中文 TeX 文件。唯一剩下的就是非字母系語言的索引排序問題,不過這個嚴格說起來應該偏重於電腦文字編碼問題,與 TeX 較無關,不過我相信很快就會有人開發出高效率的 package 供大家使用。
真正稱得上是 TeX 較難發揮的弱項的我想只有:
a) 高自由度的圖像文字混合版面配置
這個主要表現在投影片的製作上,當你想要自由補註文字條,甚至是加入少許動畫特效的時候,光使用 TeX 的 beamer 套件還稍嫌不足,細部的調整會變得相當麻煩。這個問題主要與 TeX 的核心價值有衝突: 人家想要依據高度一致性的排版規則來簡化大型文件的編輯難度並且維持相同的美術風格,你卻偏偏想微調每頁每張圖片的細節,這不是自找麻煩嗎?
同樣的道理,整體圖像比例偏大的作品利用 TeX 編輯會有版面略顯單調的缺陷,不過我認為這是軟體預設用途的根本性問題,針對數理類學術書籍的排版而言仍然少有軟體可以與 TeX 系統匹敵。
b) 中文 TeX 學習參考資源不夠多
絕大多數 package 的作者都是用英文來寫參考手冊,實體入門參考書幾乎都由英語系國家出版,除非哪天華人稱霸學術界與數理出版界,不然這種情況非常難改變。中文入門級的超級參考書首推 cwTeX 使用手冊 ,至於 debug 與一些套件的使用細節可以透過 GOOGLE 來搜尋,有一些簡體討論區會給出不錯的解決方案(當然還是英語資源最多)。
c) 找不到適合自己的 TeX 版面樣本
這一點就只能透過自身的編輯經驗與收集資料來達成,完全使用別人的提供的範本 kimochi 一定不是很好,所以最好的方法是建立自己專屬的範本來使用,看到不錯的排版指令就試著加到自己的範本看看效果如何,只有經過自己親手不斷地微調才能找出最符合個人愛好的格式。使用 TeX 要謹記一點:這玩意不只是用來增加文件編輯效率,而是用來提昇完稿品質。
當然遇到好心人在網路上散發相關教學文件與版面範本要心存感激,絕大多數人都只能硬 K 指令參考手冊來編輯文件(其實當你學得排版知識越多,對於版面狀態的渴求越大,很自然就會走到這個境界)。
d) 結合網路的高品質版面輸出
簡言之就是如何把同樣高品質,包含大量方程式的文稿加上合適的超連結與搜尋轉化成 HTML 格式的問題。當然你也可以說:把編譯好的 pdf 檔放到網頁上不就好了嗎? 配合許多網頁文件嵌入元素(GOOGLE 文件,Scribd 等等)的確很方便,我目前也偏向這麼作,不過我們還是必須滿足部份族群的純網頁需求。目前在網頁上呈現 TeX 完稿數學式(可讀性)又包含 TeX 原始碼(流通性、高重現性)的有 MathJax 可以配合,有很多期刊網站已經有專屬的 TeX-based HTML 頁面,譬如 http://www.opticsinfobase.org/boe/fulltext.cfm?uri=boe-4-5-772&id=253151。儘管仍不曉得他們如何作到的,不過我知道一些已知的 HTML 轉換套件可能會與其他套件發生衝突,換言之使用上是有局限性的,我可能還要花一點時間來研究相關的資料,大體而言 TeX 在網路輸出上還有進步的空間。至於能不能把 TeX 當成批次建置網頁的工具,我想這個問題就跟投影片的製作問題有異曲同工之妙。
就結論而言,我認為一個數理化學系大學部與理工研究所以上的學生投資一些時間來學習 TeX 排版系統絕對值回票價(對於手寫方程式特醜的人更是一大福音);即便用到的機會不大,偶而還是可以拿出長得像學術期刊的課堂作業來唬弄一下周遭的同學 (笑)
姑且算是一個不花錢就能潮得發亮的特殊技能吧(數理工限定)
就以 WORD 作為比較基準好了,高重現性這個特色主要表現在跨平台、跨版本的特性上,也可說是 literate programming(從同一原始檔自動生成可編譯的原始碼和高品質的文件)的概念,而用過 MS Word 的人就知道 Word 文件格式的不穩定性(xml 除外);轉成 PDF 檔流通固然好,那該如何共同修改? 高排版質量的大型文件使用 WORD 當然辦得到(這裡指的是交互參照、標題格式與編號的問題),請看侯捷寫的『Word 的排版藝術』,不過我相信同樣等級的書稿使用 WORD 來製作的難度絕對不遜於 TeX。至於方程式編輯與參考書目倒不是兩者最大的區別,只要你肯花錢購買 Math Type 與 endNote 這兩套商用軟體的授權,很容易獲得與 TeX 系統差不多品質的成果(but TeX系的 JabRef 是免費的,方程式編輯排版功能又是 TeX 最大的賣點,就是這個 but 讓不肯用盜版的窮學生屈服)。
早期 TeX 入門難度高(差不多 2007 年以前)的原因不少,不過很多都已經解決了,比如
- 軟體安裝問題
- 所見即所得(What You Get Is What You See)?
- 指令記不住
- 中文與其他非英語系文字的處理?
a) 軟體安裝問題
近期 Windows 上新版的 MikTeX 不僅僅是一鍵安裝到底,連底層文字編輯器與完稿顯示頁面區塊都包在一起,字型方面則是依賴 XeLaTeX 直接取用 Win 系統字型獲得不錯的效果。基本上安裝好,找好範例,每個人都能很快地編出第一份 LaTeX 文件。至於在 Linux 也有 TeXLive 這類大補帖可以使用(你可以用 Live CD 開機的方式在任何電腦上直接使用 TeX 系統)。
b) 所見即所得(What You Get Is What You See)?
商業的 scientific workplace ,免費的 GNU TeXMac 或者 Lyx 都是發展成熟的解決方案
c) 指令記不住
現在的文字編輯器都很高級,比如我最愛的 TeXmaker 就有很棒的指令補完功能與大量的數學字符 GUI 按鈕可以幫你快速輸入方程式;至於在不熟悉的情況下想完全掌控方程式版面大概就需要用所見即所得的文字編輯器(比如前文提到的 Lyx)或者線上文字編輯器。
d) 中文與其他非英語系文字的處理?
XeLaTeX 與 CJK 套件近乎完美地解決了這個問題。現在你甚至 MikTeX 剛裝好就能輕鬆編譯一份中文 TeX 文件。唯一剩下的就是非字母系語言的索引排序問題,不過這個嚴格說起來應該偏重於電腦文字編碼問題,與 TeX 較無關,不過我相信很快就會有人開發出高效率的 package 供大家使用。
真正稱得上是 TeX 較難發揮的弱項的我想只有:
- 高自由度的圖像文字混合版面配置
- 中文 TeX 學習參考資源不夠多
- 找不到適合自己的 TeX 版面樣本
- 結合網路的高品質版面輸出
a) 高自由度的圖像文字混合版面配置
這個主要表現在投影片的製作上,當你想要自由補註文字條,甚至是加入少許動畫特效的時候,光使用 TeX 的 beamer 套件還稍嫌不足,細部的調整會變得相當麻煩。這個問題主要與 TeX 的核心價值有衝突: 人家想要依據高度一致性的排版規則來簡化大型文件的編輯難度並且維持相同的美術風格,你卻偏偏想微調每頁每張圖片的細節,這不是自找麻煩嗎?
同樣的道理,整體圖像比例偏大的作品利用 TeX 編輯會有版面略顯單調的缺陷,不過我認為這是軟體預設用途的根本性問題,針對數理類學術書籍的排版而言仍然少有軟體可以與 TeX 系統匹敵。
b) 中文 TeX 學習參考資源不夠多
絕大多數 package 的作者都是用英文來寫參考手冊,實體入門參考書幾乎都由英語系國家出版,除非哪天華人稱霸學術界與數理出版界,不然這種情況非常難改變。中文入門級的超級參考書首推 cwTeX 使用手冊 ,至於 debug 與一些套件的使用細節可以透過 GOOGLE 來搜尋,有一些簡體討論區會給出不錯的解決方案(當然還是英語資源最多)。
c) 找不到適合自己的 TeX 版面樣本
這一點就只能透過自身的編輯經驗與收集資料來達成,完全使用別人的提供的範本 kimochi 一定不是很好,所以最好的方法是建立自己專屬的範本來使用,看到不錯的排版指令就試著加到自己的範本看看效果如何,只有經過自己親手不斷地微調才能找出最符合個人愛好的格式。使用 TeX 要謹記一點:這玩意不只是用來增加文件編輯效率,而是用來提昇完稿品質。
當然遇到好心人在網路上散發相關教學文件與版面範本要心存感激,絕大多數人都只能硬 K 指令參考手冊來編輯文件(其實當你學得排版知識越多,對於版面狀態的渴求越大,很自然就會走到這個境界)。
d) 結合網路的高品質版面輸出
簡言之就是如何把同樣高品質,包含大量方程式的文稿加上合適的超連結與搜尋轉化成 HTML 格式的問題。當然你也可以說:把編譯好的 pdf 檔放到網頁上不就好了嗎? 配合許多網頁文件嵌入元素(GOOGLE 文件,Scribd 等等)的確很方便,我目前也偏向這麼作,不過我們還是必須滿足部份族群的純網頁需求。目前在網頁上呈現 TeX 完稿數學式(可讀性)又包含 TeX 原始碼(流通性、高重現性)的有 MathJax 可以配合,有很多期刊網站已經有專屬的 TeX-based HTML 頁面,譬如 http://www.opticsinfobase.org/boe/fulltext.cfm?uri=boe-4-5-772&id=253151。儘管仍不曉得他們如何作到的,不過我知道一些已知的 HTML 轉換套件可能會與其他套件發生衝突,換言之使用上是有局限性的,我可能還要花一點時間來研究相關的資料,大體而言 TeX 在網路輸出上還有進步的空間。至於能不能把 TeX 當成批次建置網頁的工具,我想這個問題就跟投影片的製作問題有異曲同工之妙。
就結論而言,我認為一個數理化學系大學部與理工研究所以上的學生投資一些時間來學習 TeX 排版系統絕對值回票價(對於手寫方程式特醜的人更是一大福音);即便用到的機會不大,偶而還是可以拿出長得像學術期刊的課堂作業來唬弄一下周遭的同學 (笑)
姑且算是一個不花錢就能潮得發亮的特殊技能吧(數理工限定)