Skip to content
Tz-Huan Huang edited this page Jan 21, 2021 · 29 revisions

臺灣大學碩博士論文 XeLaTeX 模版

這個模版的前身是 LaTeX+CJK 的模版,如果您還是想用 LaTeX+CJK,請參考這篇文章

必要軟體及工具

  • LaTeX 套件:請安裝包含 XeLaTeX 的套件,如 texlive、MikTeX 等。
  • 編輯器:本樣版使用 UTF-8 編碼,請使用支援 UTF-8 編碼的文字編輯器。
  • 中英文字型:臺灣大學規定要使用 Times New Roman楷書 字體,請您自行準備。
  • 本模版:請點選 Code 裡的 releases,從裡面下載最新的版本,或直接 clone/fork 這個 repository。

其它軟體及工具

  • gnu make: 如果您的系統有 gnu make,您可以直接使用本模版提供的 Makefile.
  • pdftk: 如果您要為論文加密,您可以安裝此軟體。
  • wget/curl/php/fetch: 如果您要為論文加上臺大浮水印,請您安裝上述其中一項軟體以下載臺大提供的浮水印 pdf 檔。

檔案介紹

您下載模版並解壓縮後,應該會看到這些檔案:

  • ntuthesis.cls:這是最重要的檔案,未來如果改版,通常只要下載新版將這個檔案覆蓋即可。
  • ntuvars.tex:設定您的個人資訊。
  • thesis.tex:論文的主檔案。
  • 其它的 tex 檔、png 檔:作為範例使用。
  • Makefile:供 gnu make 使用,如果您不知道 make 是什麼,您可以不管它。

確認

首先請您編輯 thesis.tex,找到如下的字型設定:

% Set the default fonts
\setmainfont{Times New Roman}
\setCJKmainfont[AutoFakeBold=true,AutoFakeSlant=true]{標楷體}
%\setCJKmainfont[BoldFont={粗楷體},ItalicFont={斜楷體}]{標楷體}

您可以將 Times New Roman標楷體 換成您偏好的字型 (但能否通過學校的審核請自行斟酌),fc-list 這個指令可以幫助您檢視系統上可用的字型。 以專業排版來說,粗體和斜體是不同的字型檔,但一般人可能無法提供獨立的粗體或斜體字型,因此預設開啟 AutoFakeBoldAutoFakeSlant,這是一種模擬粗體和斜體的技術。若您有獨立的粗體或斜體字型檔,您也可以直接用 BoldFont={...}ItalicFont={...} 來指定。

如果確認無誤,請試著編譯 thesis.tex 這個檔案。如果您是 UNIX 的使用者且您的系統有安裝 gnu make,您可以直接打 make; 若您使用 TeX 整合編輯器,請確定您使用 XeLaTeX 來編譯 thesis.tex。一切順利的話,應該可以產生 thesis.pdf。您可以看看您的論文大概會長什麼樣子。

使用 Makefile

如果您的系統有 gnu make,您可以直接使用 Makefile 來編譯論文。Makefile 提供的功能如下:

  • make: 編譯論文,成功的話會產生 thesis.pdf
  • make clean: 刪除編譯過程中產生的中繼檔,但不刪除編譯完成的 pdf 檔。
  • make clean-pdf: 刪除編譯產生的 thesis.pdf 和 thesis-with-pass.pdf 檔。
  • make clean-all: 刪除編譯過程產生的中繼檔與編譯完成的 pdf 檔 (相當於 make clean 加上 make clean-pdf)。
  • make WATERMARK=1: 編譯論文並加上浮水印,成功的話會產生有浮水印的 thesis.pdf
  • make DOI=1: 編譯論文並加上 DOI,成功的話會產生有 DOI 的 thesis.pdf
  • make FIRSTPAGE=1: 將首頁加上浮水印和 DOI,詳細說明如後
  • make CERTIFICATION=1: 編譯論文時會直接插入您提供的 certification.pdf 作為口試委員會審定書
  • make PASSWORD=test: 為論文並加上密碼,成功的話會產生 thesis-with-pass.pdf (本功能需安裝 pdftk 才能使用)
  • WATERMARKDOIPASSWORDFIRSTPAGECERTIFICATION 可組合使用,使用 PASSWORD 會產生 thesis.pdf (無密碼) 和 thesis-with-pass.pdf (有密碼) 兩個檔案。常見用法如下:
    • make WATERMARK=1 DOI=1: 產生有浮水印和 DOI 的 thesis.pdf,這個版本可以用來印出紙本論文
    • make WATERMARK=1 DOI=1 FIRSTPAGE=1: 產生包含首頁有浮水印和 DOI 的 thesis.dpf,這個版本可以用來上傳電子論文到圖書館 (若有需要可再搭配 PASSWORD 以產生密碼保護的電子論文)
    • make WATERMARK=1 DOI=1 PASSWORD=test: 產生有浮水印和 DOI 的 thesis.pdf/thesis-with-pass.pdf

請注意:

  • PASSWORD=test 裡 test 請改成您的密碼,不要照範例打!
  • 如果 target 已存在且 recipes 無更動的話,make 並不會重新操作一次相同的動作。例如您已經用 make 編譯出 thesis.pdf,這時如果再下一次 make WATERMARK=1 並不會再重新編譯出有浮水印的版本,因為 thesis.pdf 已存在且 tex 檔無更動。您可以在 make 加上 -B 參數:make -B WATERMARK=1 就可以讓 make 重新編譯。

撰寫您的論文

在撰寫論文前,請您編輯 ntuvars.tex,將裡面的資訊改成您的正確資訊。這裡的指令有兩種,一種是只有一個參數的指令,請您直接設定正確的值,例如

\day{25}

而另一種指令有兩個參數,請您依序填入 英文值中文值,如

\author{English Name}{中文姓名}

ntuvars.tex 編輯完畢,請您再試著編譯 thesis.tex。如果能順利產生 thesis.pdf,您已經可以開始撰寫您的論文了,祝您順利畢業!

樣版說明

ntuthesis.cls 提供 ntuthesis 這個 classntuthesis 繼承自 book,所以所有 book 的參數 ntuthesis 都可以接受。例如您想帶入 oneside,則您可以修改 thesis.tex 的第一行:

\documentclass[oneside, ...]{ntuthesis}

ntuthesis 已經帶入 a4paper12pt 這兩個參數了,您不需再額外指定。

除了 book 支援的參數之外,ntuthesis 還額外支援以下參數:

  • phd:如果您要撰寫博士論文,請使用本參數。如 \documentclass[phd]{ntuthesis}
  • proposal:如果您要撰寫博士論文計畫提案書,請使用本參數。如 \documentclass[proposal]{ntuthesis}。另外別忘記將 thesis.tex 裡審定書相關程式碼註解掉:
%\makecertification
  • singlespacingonehalfspacing:本論文格式預設使用 double space,若您想用 single space 或 one-half space,請加上 singlespacingonehalfspacing 參數。

PDF 保護

使用 PDFtk,您可以用下列指令加上臺大規定的 PDF 相關保護設定:

pdftk <input.pdf> output <output.pdf> owner_pw <password> allow printing allow ScreenReaders

(感謝 snowfoxy 分享)

-- Tz-Huan Huang