in LaTeX ~ read.

XeTeX:解決 LaTeX 惱人的中文字型問題

相信大家或多或少都有聽過有名的排版軟體 LaTeX ,除了學習曲線比較陡以外,其實我一直以來都還算用得愉快,畢竟沒使用到中文。直到最近研究一下畢業論文的格式,在某些頁面必須用中文來寫,沒想到開始研究之後,才發現比想像中還困難…

簡單 LaTeX 環境設定

以前光是要安裝 LaTeX 的環境就是非常艱難的步驟,所以如果你對 LaTeX 完全不瞭解而隨意 Google 的話,到最後可能就是亂裝一通(光是 teTeX, xeTeX, chiTeX, gwTeX, *TeX, vim-latex, etc. 就夠你頭痛了)。其實隨著時間發展至今,LaTeX 的安裝已經非常簡單了,我們現在只需要:

  1. 執行環境:Tex Live 2010 (幾乎支援各種主流作業系統)
  2. 編輯器:Textshop, Textmate, VIM, etc. (只要可以編輯文字的都可)

    如果是 Mac 使用者,請直接安裝 MacTex 即可,同時包含了執行環境、編輯器。
    Tex Live 幾乎是包山包海了,就連這篇文章會提到的 XeTeX 也在其中。會有缺少的就只有套件而已(Package),不過這個 Tex Live 也幫你準備好了,可以透過 Tex Live Utility 直接新增移除套件。

詳細的安裝說明可以參考這裡,其他也有許多網站有提供教學。

繼續往下看之前,請先確保你的執行環境已經架設完成,並且安裝好基本所需的套件(看編譯的錯誤訊息就可以知道少什麼了)。

LaTeX 的中文解決方案

LaTeX 上有個套件,叫做 CJK(Chinese/Japanese/Korean),是個德國人寫的(汗),還是個音樂家(汗)。這個套件的主要目的就是解決中日韓的字型問題。

直接拿個範例來看:

1 2 3 4 5 6 7 8 9
\[documentclass](http://www.golatex.de/wiki/index.php?title=%5Cdocumentclass)[12pt]{article} \[usepackage](http://www.golatex.de/wiki/index.php?title=%5Cusepackage)[encapsulated]{CJK}% 1. Dec. 2009更新:使用[encapsulate]才是正確的用法 \begin{document} \begin{CJK}{UTF8}{bsmi}% 開始 CJK 環境,設定編碼,設定字體 正體中文測試。This is a test. \end{CJK}% 結束 CJK 環境 \end{document}
接著進行編譯動作(最古老而典型的[編譯方式](http://www.study-area.org/tips/latex/chpdf.html)):
latex cjk.tex   # 輸出 *.dvi (DeVice Independent) dvips cjk.dvi   # 輸出 *.ps (PostScript) ps2pdf cjk.ps # 輸出最終的 *.pdf
感覺上的確很輕鬆就可以輸出我們想要的中文字,但是當你想要使用 CJK 內建並不支援的字型,事情就不再這麼簡單…(至少在 MacTeX 環境下不簡單)假設我們要新增「新楷體」這個字型,我們可以到這裡[下載](ftp://ftp.twaren.net/local-distfiles/tex/cjk/fonts/)字型套件,然後依照這個網站的步驟,安裝「新楷體」。 如何透過 CJK 輸出中文不是這篇的主題,也就是因為不管我怎麼設定,就是抓不到安裝好的新楷體,於是我決定尋求第二個解決方案:XeTex。 ## XeTeX:無痛切換任何作業系統已有的字型 雖然 CJK 是原生的套件,但是系統明明已經有個字型卻還要額外安裝,實在是會讓用習慣 Word 的人百思不得其解,XeTeX 就是因為這個原因而誕生的。它可以自動幫你處理系統原有的 *.ttf 字型轉換,事實上,你也感覺不到它在幫你轉換,讓我們來看個例子就懂:(此範例參考自[此](http://blog.vgod.tw/2007/03/01/mac%E4%B8%8B%E7%9A%84latex%E4%B8%AD%E6%96%87%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%A1%88-xetex/),以及[快速上手](http://electronic-blue.wikidot.com/doc:xetex)教學)
1 2 3 4 5 6 7 8 9 10 11 12 13
\[documentclass](http://www.golatex.de/wiki/index.php?title=%5Cdocumentclass){article} \[usepackage](http://www.golatex.de/wiki/index.php?title=%5Cusepackage){fontspec} \setromanfont{LiHei Pro}% 儷黑Pro \newfontfamily{\K}{BiauKai} \setmonofont[Scale=0.8]{Courier New}% 等寬字型 \XeTeXlinebreaklocale "zh" \XeTeXlinebreakskip = 0pt plus 1pt \begin{document} 在Mac下的XeTeX裡寫中文~{\K 標楷體}~儷黑體 \end{document}
既然換了 XeTeX ,編譯器當然也要隨之更改:
xelatex cjk.tex   # 直接輸出最終的 *.pdf

如何從現有使用 CJK 的範本修改至 XeTeX 所支援的範本?

還是有許多範本就是透過 CJK 來編寫,但是既然設定如此麻煩,又不容易編過,有沒有辦法輕鬆的轉換成 XeTeX 呢?在下一篇文章,我將會用台大論文範本來示範如何修改。

comments powered by Disqus