這篇文章將說明如何修改 ntuthesis 內建的模板，使其能用於他校論文的撰寫。

對於有興趣以 ntuthesis 撰寫他校論文模板者，我們非常歡迎將新模板貢獻至此套件 (可將論文資料夾壓縮 Email 給我們)，讓日後的使用者可直接使用新的模板。
在開始閱讀前，請確定已閱讀過 ntuthesis使用說明。若有任何問題，歡迎來信詢問。

模板組成

ntuthesis 的模板組成有兩個部份 – 封面內文。封面是獨立於內文生成的，亦即，每此輸出論文 (按下 RStudio 的 build book) 時，只有內文會重新生成但封面不會。一個學校的論文格式，排版最複雜的地方就是在封面，但內文通常都大同小異。換句話說，要製作一個新的論文模板，只要搞定封面的生成，就完成了大多數的工作。

以臺大論文模板為例，其兩部份的組成如下：

  1. 封面
  2. 內文
    • 致謝、摘要、Abstract、目錄、內容 …

這兩部份的樣式，大致上可對應到模板1中的兩個資料夾 – front_matter/ (封面) 與 latex/ (內文)：

├── front_matter/
│   ├── certification.tex
│   ├── ntuthesis.cls
│   ├── ntuvars.tex
│   ├── output.yml
│   └── template-rewrite.tex
├── latex/
│   ├── mathjax_bm.tex
│   ├── preamble-en.tex
│   ├── preamble-zh.tex
│   └── template.tex
|
├── _person-info.yml     # Info to generate front matter
├── index.Rmd            # Book Layout (font, watermark, biblio, ...)
├── _output.yml          # preamble, pandoc args, cite-pkg
├── watermark.png        # 臺大浮水印 (右上角)
├── certification-scan.pdf  # 已簽名'口試委員審查書'
|
|   ####### 僅上方檔案與論文樣式設定有關 #########
|
├── _bookdown.yml        # label names in gitbook; Rmd files order
├── R/                   # code chunk root dir, put R scripts and data here
├── figs/                # Put figures to include in the thesis here
├── _acknowledge.Rmd     # acknowledgement
├── _abstract-en.Rmd     # abstract
├── _abstract-zh.Rmd     # Same as above, but in Chinese
├── 01-intro.Rmd         # Chapter 1 content
├── ...
├── 99-references.Rmd    # Edit "References" Title
├── ref.bib              # References
└── cite-style.csl       # Citation style

封面製作 (front_matter/ 設定)

front_matter/ 內有許多檔案，看似相當複雜。確實，如果想要從結構化資料生成封面 (如臺大論文模板使用 _person-info.yml 生成封面資料)，需要對 \(\LaTeX\) 有相當程度的認識，同時也會使 front_matter/ 會變得有點複雜。一個更簡單直接的方式是直接使用 Word 檔製作封面並輸出成 PDF 檔。如果使用這種方式，則可略過說明文件中編輯封面的步驟。

論文封面

  1. 使用 Word 製作論文封面，將 Word 檔命名為 front_matter.docx 置於 front_matter 資料夾中

  2. 將由 Word 輸出的論文封面命名為 front_matter.pdf 置於 front_matter 資料夾中

  3. latex/template.tex 找到下方這行：

    \includepdf[pages={1}, scale=1]{front_matter/front_matter.pdf}

    將其修改為需要的格式。例如，你想將 front_matter.pdf所有頁面加入論文，可將其修改為：

    \includepdf[pages={1-}, scale=1]{front_matter/front_matter.pdf}

    或是，你只需要 front_matter.pdf第二頁

    \includepdf[pages={2}, scale=1]{front_matter/front_matter.pdf}

口試委員審定書

  1. 使用 Word 製作口試委員審定書，將 Word 檔命名為 certification.docx 置於 front_matter 資料夾中

  2. 將由 Word 輸出的口試委員審定書命名為 certification.pdf 置於 front_matter 資料夾中，此應為空白、尚未簽名的口試委員審定書

  3. 將已簽名的口試委員審定書掃描成 PDF 檔，命名為 certification-scan.pdf，並放在論文資料夾 (而非 front_matter/)

  4. latex/template.tex 找到下方這幾行：

    \phantomsection
    \addcontentsline{toc}{chapter}{口試委員會審定書}
    \includepdf[pages={1}, scale=1]{certification-scan.pdf}

    若口試委員審定書僅有 1 頁，則不需更動。若超過 1 頁，請依上方 論文封面 的說明修改 \includepdf[pages={1}, scale=1]{certification-scan.pdf}

\phantomsection
\addcontentsline{toc}{chapter}{口試委員會審定書}

這兩行是用以將口試委員審定書加入論文目錄。若論文格式尚包含其它內文以外的頁面需加入目錄，請依照此節的方式新增這些頁面。

內文

關於內文的修改，例如，語言、頁邊距離、字體、行距、浮水印樣式index.Rmd, latex/template.tex, latex/preamble-en.tex, latex/preamble-zh.tex 內的設定有關。有些設定 (例如，浮水印樣式) 需牽涉到一些 \(LaTeX\) 的知識才能自訂，並非本文重點 (有興趣者可研究原始碼)。

語言

與語言設定最相關的兩個檔案是 latex/preamble-en.tex, latex/preamble-zh.tex

latex/preamble-zh.tex 中，語言的設定僅與下列幾行有關：

\renewcommand{\figurename}{圖}
\renewcommand{\tablename}{表}
\renewcommand{\contentsname}{目錄}
\renewcommand{\listfigurename}{圖目錄}
\renewcommand{\listtablename}{表目錄}
\renewcommand{\appendixname}{附錄}

例如，想要更改原本的圖片開頭名稱，可將 \renewcommand{\figurename}{表} 修改為：

\renewcommand{\figurename}{表格}

至於中文論文的樣式 (例如，\(LaTeX\) 預設的章節開頭名稱為 Chapter，但這裡中文的論文輸出為 第 x 章)，主要是 ctex 套件的內建設定，並不建議修改：

\usepackage[heading, fontset = none]{ctex}

頁邊距離、字體、行距

至於頁邊距離、字體與行距可直接在 index.Rmd 的 yaml header 中設定：

two-side: false  # Whether to start new chapter on odd pages
cjk-mainfont: 'AR PL KaitiM Big5'  # Default: 標楷體
#cjk-boldfont:    # Don't set if same as cjk-mainfont
cjk-style: 'AutoFakeBold=2.5, AutoFakeSlant=.3' # comment out this line if `cjk-boldfont` is set
en-mainfont: 'Liberation Serif'  # Default: Times New Roman
#ipa-font: 'Doulos SIL'  # works with 'linguisticsdown', delete if not needed
#secnumdepth: 2        # section numbering at most to x.y.z
linestretch: 1.5       # If Chinese: 1.5
linestretch-code: 1.5  # linestretch for code chunks
watermark: watermark.png  # path to watermark file (must be in root dir)
geometry: a4paper, left=1.18in, right=1.18in, top=1.18in, bottom=0.787in
fontsize: 12pt
acknowledgements-title: '誌謝'

  1. 見使用說明：匯入論文模板
https://yongfu.name/ntuthesis/articles/extend_template.html
yongfu.name
crawl=CC-MAIN-2020-16
22093
application/http; msgtype=response
sha1:L3AIP76Z7MFKYBUVEX5VINEPWYQBJSTE
<urn:uuid:854df6e7-c5e6-4834-a648-6c235421d6f4>
2020-04-08T12:54:25Z
185.199.111.153
text/html
sha1:WCA2ERAMVS425AGCAFTDFSVX5EYHP4YJ
<urn:uuid:a103fed0-32fb-455c-97d8-6c20af13e6be>
https://yongfu.name/ntuthesis/articles/extend_template.html
response
<urn:uuid:69488322-3dd7-421c-99d7-a38c7f3eb9c7>
isPartOf: CC-MAIN-2020-16
publisher: Common Crawl
description: Wide crawl of the web for March/April 2020
operator: Common Crawl Admin (info@commoncrawl.org)
hostname: ip-10-67-67-193.ec2.internal
software: Apache Nutch 1.16 (modified, https://github.com/commoncrawl/nutch/)
robots: checked via crawler-commons 1.1-SNAPSHOT (https://github.com/crawler-commons/crawler-commons)
format: WARC File Format 1.1
conformsTo: http://iipc.github.io/warc-specifications/specifications/warc-format/warc-1.1/