如何用 LaTeX 排版臺灣大學碩士論文?

建議您使用 XeLaTeX 來撰寫您的論文!

關於 LaTeX+CJK 和 XeLaTeX

眾所皆知,Knuth 設計 TeX 時並沒有想到這個世界上有幾萬個中日韓越 (CJKV) 表意漢字,因此要在 TeX/LaTeX 裡排版 CJKV 漢字非常地困難。過去處理 CJKV 的優先選擇是 CJK 這個套件,本文便是基於 CJK 套件所設計。然而 CJK 套件基本上是用很惡搞的方法來處理漢字 (將幾萬個漢字拆開成很多字型,再根據字碼選用正確的字型裡的正確的漢字),除了字型安裝非常麻煩之外,CJK 套件也常常會和別的套件衝突。為了徹底解決多國語言的問題,從底層支援多國語言是必要的,其中 XeLaTeX 是目前較成熟的實作,本身支援 Unicode 及現代字型技術如 truetype、opentype 字型。我也提供了 XeLaTeX 論文模版,如果沒有特別的原因,我個人建議您使用 XeLaTeX 來撰寫論文。

前言

這篇文章教您如何使用 LaTeX 來排版臺灣大學碩士論文,用到的 LaTeX 樣版是從我的碩士論文中擷取出來的。臺灣大學詳細規定了碩士論文的格式,不過那些規定都是針對 Microsoft Word 而定,而且排出來的論文就我個人看來並不是非常美觀。有鑑於此,本樣版的設計方針是在不違背本人排版素養及美感的原則下儘量符合臺灣大學的規範,翻成白話就是我沒有完全照臺大的規定啦。如果您無法接受與規定不符,抱歉您需要的是 Word 不是 LaTeX。此外我並非版排專家,也不是 LaTeX 高手,若您覺得我排得很醜,或者我在 tex 檔裡幹了什麼蠢事,歡迎來信糾正我。

必要軟體及工具

安裝過程

UNIX 系統

Windows 系統

Texlive

Texmaker

nkai 字型

確認

在繼續之前,請先確認您安裝的 texlive、texmaker 及中文字型都能正常工作。可以試試看排版這個檔案。用 texmaker 開啟之後,首先在「選項」裡確認編碼設定成 UTF-8 without BOM,接著按下 tex to pdf 的按鈕,如果順利的話應該可以在同一目錄下看到 test.pdf,接下來打開這個 pdf 看看是否一切正常。

使用臺灣大學碩士論文 LaTeX 樣版

請下載這個檔案。解壓縮之後,首先請試著排版 thesis.tex 這個檔案,若成功您會看到 thesis.pdf,將它打開來,看一下您未來的論文大概會是什麼樣子。接下來要修改的檔案是 ntuvars.tex。請把 ntuvars.tex 裡的資訊改成您的正確資訊,包含您的名字、系所、指導教授、論文標題等等。thesis.tex 則是您的論文的 main tex,裡面有些註解您可以視您的需求將它們打開。若您走到這一步,您應該可以開始撰寫您的論文了。祝您順利畢業!

FAQ

書脊上校名和系所名由於字數不同無法對齊。有辦法讓校名和系所名分散對齊嗎?
唔,我不知道分散對齊是否是個好主意,不過如果您想要這麼做,請下載這個 ntu.sty 換掉原本的 (您可能要視您的研究所名有多長來調整 CJKfilltwosides 的參數)。
為什麼有時候會出現空白頁?可以不要有空白頁嗎?
在 book 裡預設是 two-side,在這個情況所有的 chapter (包含 abstract、toc 等等) 都會從奇數頁開始,所以如果前一個 chapter 不是在偶數頁結束,就會多一頁空白。如果您的論文用雙面列印,通常用 two-side 就可以了,這是正式書籍的慣例。如果您打算用單面列印,可以在 thesis.tex 的開頭,宣告 documentclass 那裡加上 oneside 這個選項,例如這樣:\documentclass[a4paper,12pt,oneside]{book}。
為什麼不用 XeLaTeX 要用 LaTeX + CJK?
抱歉我撰寫碩士論文時還不知道 XeLaTeX 這個東西。也許我撰寫博士論文時會改用 XeLaTeX 吧?(不過那是好幾年後的事了…希望… 結果我還沒寫博士論文,卻先生了 XeLaTeX 的模版出來…)
我習慣用 WinEdt 或其它編輯軟體怎麼辦?
唔,如果它們支援 UTF-8 without BOM 那應該沒什麼問題,不然您就得自己想辦法囉。
我習慣裝 cwTeX 或 chiTeX 或 blahblahTeX,該怎麼辦?
嗯抱歉啦,您得自己想辦法。
如果我遇到錯誤,可以找你求救嗎?
基本上如果我有空,且我的能力範圍許可,我很樂意幫忙讓您可以順利編出我提供的樣版。但如果是加上論文內容後才發生的錯誤,這就得由您自己解決了。
為什麼你一直強調要支援 UTF-8 without BOM?with BOM 不行嗎?
Well,就我的經驗並非所有的 LaTeX 工具都支援 BOM,有些讀到 BOM 會直接掛給您看。不過您可以自己試試看啦,也許新版本的 LaTeX 已經完全解決這個問題了。
我用你的樣版如果被臺大退件怎麼辦?
嗯,至少我拿到碩士學位了,臺大沒退我件 :p 通常我會這樣建議:不管臺大說哪裡不合規定,都回答他說:「我是用 LaTeX 寫的,我不知道怎麼改,請問你能教我嗎?」這樣對方就會說:「啊,那不用改了沒關係。」您可以試試看。

致謝

感謝 littleshan 抽空幫我 review 這篇文章,指正我的錯誤並給我鼓勵;另外也感謝 zzz 幫忙測試發現問題,並感謝 fensi 提供解法,最後感謝 known 提供使用 MiKTeX 的指示,特此致謝。

黃子桓, 2009-06-05 22:36 @ CSIE 501