Skip to content
Shaform edited this page Aug 10, 2015 · 25 revisions

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

前言

這個模版的前身是 tzhuan臺灣大學碩博士論文 XeLaTeX 模板。 同時也整合了一些 qcl 針對 qcl-master-thesis 所做的修改。 其中,他也參考了 台大碩博士論文LaTeX範本。 最後則由 shaform 在撰寫論文期間又做了些許更動。

下載

您可以直接 clone 這個 git repository,或者您可以在這裡下載發行版本。

環境設定

Ubuntu 14.04

  1. 安裝 XeLaTex 及 相關套件

    sudo apt-get install texlive texlive-xetex texlive-latex-recommended texlive-latex-extra texlive-bibtex-extra texlive-science texlive-humanities
  2. 安裝 PDFtk 以進行 PDF 文件處理

    sudo apt-get install pdftk
  3. 安裝 curl (用來下載圖書館提供的浮水印)

    sudo apt-get install curl
  4. 安裝字形(標楷體、Times New Roman)

    首先你必須要有一台 Windows 電腦,我們將會從裡頭的字型資料夾複製我們要的字體檔案,精確的來說,通常是 [系統磁區]/Windows/Fonts/ 下的:

    • kaiu.ttf
    • timesbd.ttf
    • timesbi.ttf
    • timesi.ttf
    • times.ttf

    我們透過指令在 Ubuntu 裡複製檔案:

    # 4.1. 建立資料夾
    sudo mkdir -p /usr/share/fonts/truetype/win/
    
    # 4.2. 從 Windows 複製字體
    # 請將 Windows 字型資料夾的 kaiu.ttf 及 times 開頭的檔案放置在 [WINDOWS]/Windows/Fonts/ 資料夾
    # 或者是直接掛載 Windows 字型資料夾所在的磁區
    sudo cp [WINDOWS]/Windows/Fonts/kaiu.ttf /usr/share/fonts/truetype/win/
    sudo cp [WINDOWS]/Windows/Fonts/times*.ttf /usr/share/fonts/truetype/win/
    
    # 4.3. 更新字體
    fc-cache
    
    # 4.4. 檢查是否成功,應該要看到標楷體和 Times New Roman
    fc-list | grep "times\|kaiu"

    如果你沒有管理員權限,例如使用資訊系工作站時,可以把 /usr/share/fonts/truetype/win/ 改成 ~/.fonts/truetype/win/。然後改成執行:

    # 4.1. 建立資料夾
    mkdir -p ~/.fonts/truetype/win/
    
    # 4.2. 從 Windows 複製字體
    # 請將 Windows 字型資料夾的 kaiu.ttf 及 times 開頭的檔案用任何方法複製到 ~/.fonts/truetype/win/
    # 例如你也可以用 FTP 裡的 SFTP 連到工作站把檔案上傳
    cp [WINDOWS]/Windows/Fonts/kaiu.ttf ~/.fonts/truetype/win/
    cp [WINDOWS]/Windows/Fonts/times*.ttf ~/.fonts/truetype/win/
    
    # 4.3. 更新字體
    fc-cache -fv ~/.fonts
    
    # 4.4. 檢查是否成功,應該要看到標楷體和 Times New Roman
    fc-list | grep "times\|kaiu"

    工作站上已經有 XeLaTex、PDFtk、curl,不須另外安裝。

Mac OS

Windows

  • 留下字形檔案,下載 Ubuntu 並安裝或找一台蘋果電腦,或者也可直接使用系上工作站。

檔案介紹

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

  • ntuthesis.cls:這是論文模板的設定檔,未來如果改版,通常只要下載新版將這個檔案覆蓋即可。
  • ntuvars.tex:設定您的個人資訊。
  • thesis.tex:論文的主檔案。
  • thesis.bib:參考文獻。
  • Makefile:供 make 使用,如果您不知道 make 是什麼,您可以不管它。

以及實際內文撰寫的檔案:

  • abstract.tex:中英文摘要,學校規定兩者皆需提供。
  • acknowledgements.tex:中英文誌謝,可依個人需求擇一填寫。將不需要的刪除。
  • chapters/*.tex:各章節範例檔。
  • figures/*.tex:圖表範例檔。
  • tables/*.tex:表格範例檔。
  • images/*:圖片範例檔。

和附加的檔案:

  • src/spine.docx:論文側邊檔案,在送印時可以使用。
  • src/cert.docx:口試委員會審定書檔案,僅供參考。一般而言系辦會自行印出,不須自己準備。
  • pdfs/cert.pdf:口試委員會審定書輸出 pdf 檔案,將來可以掃描簽完名的審定書取代此一檔案,即可將審定書嵌入論文中。
  • images/*:圖片範例檔。

撰寫您的論文

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

\day{25}

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

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

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

如果需要對版面做微調,可參考下個小節。祝您順利畢業!

樣版說明

ntuthesis.cls 提供 ntuthesis 這個 classntuthesis 繼承自 book,所以所有 book 的參數 ntuthesis 都可以接受。

單面與雙面印刷設定

在論文少於 80 頁時,可以使用單面印刷的 oneside 參數,修改 thesis.tex 的第一行:

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

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

如果你想用雙面列印,可以使用 twoside 參數。實際產生的效果是插入空白頁以讓各章節開頭都出現在單數頁數。以及或許可以透過某些設定讓左右的留白在單數頁和雙數頁有所不同(不過預設留白不會改變)。

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

如果您想節省紙張,並不見得要使用此參數,或者是可以保留 twoside,但改用 openany 來取消插入空白頁的行為:

\documentclass[twoside,openany, ...]{ntuthesis}

博士論文

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

  • phd:如果您要撰寫博士論文,請使用本參數。如 \documentclass[phd]{ntuthesis}
  • proposal:如果您要撰寫博士論文計畫提案書,請使用本參數。如 \documentclass[proposal]{ntuthesis}。另外別忘記將 thesis.tex 裡的 \makecertification 等相關指令都註解掉。

中文論文

若您想使用中文撰寫論文,則可使用以下參數:

  • zh :本論文格式預設是以英文撰寫,因此是雙倍行高。若您想用中文撰寫,請加上 zh 參數。如 \documentclass[zh]{ntuthesis}。除了會變成 1.5 倍行高外,章節編號等等都會變成中文。

行高

行高的設定目前是用肉眼跟 Microsoft Word 的輸出結果做比對而成的,若您覺得其高度不正確,可修改 ntuthesis.cls 中的雙倍及 1.5 倍行高數字:

\def\@doubleline{1.9}
\def\@onehalfline{1.62}

產生論文 PDF 檔案

  • 編譯

    • make

      這個指令會產生 thesis.pdf 檔案,可供送印使用。(送印版本不一定要加上浮水印,不過送圖書館的紙本一定要加上口試委員會審定書。)

  • 編譯送圖書館版本(加上浮水印、保全)

    • make ntulib

      這個指令除了會產生有浮水印的 thesis.pdf 檔案外,還會產生加上密碼保護的 thesis-lib.pdf 檔案,可直接送圖書館。建議在使用前可以先更改 Makefile 裡頭的 PDF_PWD,使用新的亂數密碼。

      如果你想要把審定書從電子檔中移除(送圖書館的電子檔不一定要有審定書),則可在加密前用 PDFtk 挑掉審定書的頁數,例如如果審定書在第二頁,則 Makefile 可以如此撰寫:

      # 先在檔案開端定義暫存檔名稱
      TMPTHESIS=thesis-tmp
      
      # ...
      
      ntulib: # ... 不更動
      	# ... 不更動
      	$(LATEX) $(MAIN)
      	# 去除第二頁
      	pdftk A=$(MAIN).pdf cat A1 A3-end output $(TMPTHESIS).pdf
      	# 加密
      	pdftk $(TMPTHESIS).pdf output $(LIBVERSION).pdf owner_pw $(PDF_PWD) allow Printing allow ScreenReaders
      	# 移除暫存檔
      	$(RM) watermark.tex $(TMPTHESIS).pdf

送印

實際送印前應參考學位論文繳交及離校手續注意事項以及該年度系上的相關規定。例如資訊系碩士班可在學生事務網頁找到說明。

送印的話在學校四周都有影印店,如果有些頁數需要印彩色只要跟老闆事先說好即可。若你為了省錢而打算自行列印(例如利用計中餘額),則可利用 PDFtk 事先將彩色頁面和黑白頁面分開,以方便列印。最後再送給影印店裝訂即可。

口試本如果很薄,也有同學直接用訂書機裝訂,沒有加書封。不過建議還是詢問實驗室同學再做決定。