Tz-Huan Huang edited this page Aug 11, 2018 · 25 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,您應該會看到

\setmainfont{Times New Roman}
\setCJKmainfont{標楷體}

這兩行,請您將 Tiems New Roman標楷體 換成您想使用的字型。您可以用 fc-list 這個指令來確認您想使用的字型是否有正確安裝在您的系統上。如果確認無誤,請可以試著編譯 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 CERTIFICATION=1: 編譯論文時會直接插入您提供的 certification.pdf 作為口試委員會審定書
  • make PASSWORD=test: 為論文並加上密碼,成功的話會產生 thesis-with-pass.pdf (本功能需安裝 pdftk 才能使用)
  • WATERMARKDOIPASSWORDCERTIFICATION 可組合使用,當使用 PASSWORD 搭配任一 WATERMARKDOI 或兩者時,會產生 thesis.pdf (無密碼) 和 thesis-with-pass.pdf (有密碼) 兩個檔案,範例如下:
    • make WATERMARK=1 DOI=1: 產生有浮水印和 DOI 的 thesis.pdf
    • make DOI=1 PASSWORD=test: 產生有 DOI 的 thesis.pdf/thesis-with-pass.pdf
    • 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 裡審定書相關程式碼註解掉:
\ifdefined\withcertification
  \includepdf[angle=0]{certification.pdf}
\else
  \makecertification
\fi
  • 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

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.