將使用 CJK 的範本無痛轉移到 XeTeX
在上一篇文章中,簡單的介紹了 XeTeX 使用中文字型的優點,但是它也不是沒有缺點的,在這篇文章中有提到,不過目前已經有套件可以彌補這些不足了,也就是這篇文章要介紹的 xeCJK。
透過 xeCJK 處理原本 CJK 的部份
簡單來說,xeCJK 就是加強版的 xCJK (相關介紹),透過這個套件,我們可以幾乎不用去更動之前用 CJK 寫的程式碼,只要在內文之前宣告好你要的字型,其餘的全部都交給它幫你搞定!
現在讓我們以台大論文範本為例,範本可以從這裡下載到,同時也有環境設定的教學。
1. 編碼問題
必須確保編輯器是使用 UTF8 without BOM 的編碼,並且在 thesis.tex 的開頭前兩行宣告這是 XeLatex 的程式以及使用 UTF8 編碼:
3. 把註解拿掉以使用 bibtex
BibTeX 是用來管理參考文獻的工具,預設範本中把這個部分註解掉了,所以現在我們得把這註解拿掉:
80
81
| % input your reference here
\bibliography{thesis} |
接著把紅色那部分字串複製下來,在內文中透過 \cite 引用該文章:
4. 透過 xeCJK 分開宣告中英文字型
在範本中, ntu.sty 裡面定義了行距、字體大小等性質,而裡面會用到一些定義在 ntuvars.tex 的變數,例如:學校、系級。我們可以發現其中的變數都是以 CJK 去宣告的:
63
64
65
66
67
68
69
70
71
| \[renewcommand](http://www.golatex.de/wiki/index.php?title=%5Crenewcommand){\[maketitle](http://www.golatex.de/wiki/index.php?title=%5Cmaketitle)}{% {{{
\begin{CJK}{UTF8}{kai}
\CJKhorz
\begin{titlepage}
\begin{center}
\fontsize{18}{27}\selectfont
\[vspace](http://www.golatex.de/wiki/index.php?title=%5Cvspace){1cm}
\theuniversityCH\thecollageCH\theinstituteCH\\
\thethesisCH |
17
18
19
20
| \RequirePackage{fontspec}
\RequirePackage{xeCJK}
\setmainfont{Times New Roman}% Default main font
\setCJKmainfont{BiauKai}% Default CJK font |
如此一來我們就不用處理惱人的字型問題,直接編譯就可以順利的產生最後的 thesis.pdf 檔案了:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| MAIN=thesis
DRAFT=draft
TEX=$(wildcard *.tex) .SUFFIXES: .tex all: $(MAIN).pdf thesis.bib.orig: thesis.bib $(MAIN).pdf: $(TEX) $(BIB) $(STY) thesis.bib.orig dvips -t a4paper -f < $(MAIN).dvi > $(MAIN).psps2pdf $(MAIN).ps $@ |