XeTeX:解決 LaTeX 惱人的中文字型問題
相信大家或多或少都有聽過有名的排版軟體 LaTeX ,除了學習曲線比較陡以外,其實我一直以來都還算用得愉快,畢竟沒使用到中文。直到最近研究一下畢業論文的格式,在某些頁面必須用中文來寫,沒想到開始研究之後,才發現比想像中還困難…
簡單 LaTeX 環境設定
以前光是要安裝 LaTeX 的環境就是非常艱難的步驟,所以如果你對 LaTeX 完全不瞭解而隨意 Google 的話,到最後可能就是亂裝一通(光是 teTeX, xeTeX, chiTeX, gwTeX, *TeX, vim-latex, etc. 就夠你頭痛了)。其實隨著時間發展至今,LaTeX 的安裝已經非常簡單了,我們現在只需要:
- 執行環境:Tex Live 2010 (幾乎支援各種主流作業系統)
- 編輯器: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} |
如何透過 CJK 輸出中文不是這篇的主題,也就是因為不管我怎麼設定,就是抓不到安裝好的新楷體,於是我決定尋求第二個解決方案:XeTex。
XeTeX:無痛切換任何作業系統已有的字型
雖然 CJK 是原生的套件,但是系統明明已經有個字型卻還要額外安裝,實在是會讓用習慣 Word 的人百思不得其解,XeTeX 就是因為這個原因而誕生的。它可以自動幫你處理系統原有的 *.ttf 字型轉換,事實上,你也感覺不到它在幫你轉換,讓我們來看個例子就懂:(此範例參考自此,以及快速上手教學)
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} |
還是有許多範本就是透過 CJK 來編寫,但是既然設定如此麻煩,又不容易編過,有沒有辦法輕鬆的轉換成 XeTeX 呢?在下一篇文章,我將會用台大論文範本來示範如何修改。