這篇文章將說明如何修改 ntuthesis
內建的模板,使其能用於他校論文的撰寫。
對於有興趣以 ntuthesis
撰寫他校論文模板者,我們非常歡迎將新模板貢獻至此套件 (可將論文資料夾壓縮 Email 給我們),讓日後的使用者可直接使用新的模板。
在開始閱讀前,請確定已閱讀過 ntuthesis
的使用說明。若有任何問題,歡迎來信詢問。
模板組成
ntuthesis
的模板組成有兩個部份 – 封面及內文。封面是獨立於內文生成的,亦即,每此輸出論文 (按下 RStudio 的 build book
) 時,只有內文會重新生成但封面不會。一個學校的論文格式,排版最複雜的地方就是在封面,但內文通常都大同小異。換句話說,要製作一個新的論文模板,只要搞定封面的生成,就完成了大多數的工作。
以臺大論文模板為例,其兩部份的組成如下:
- 封面
- 內文
這兩部份的樣式,大致上可對應到模板中的兩個資料夾 – 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 檔。如果使用這種方式,則可略過說明文件中編輯封面的步驟。
論文封面
使用 Word 製作論文封面,將 Word 檔命名為 front_matter.docx
置於 front_matter
資料夾中
將由 Word 輸出的論文封面命名為 front_matter.pdf
置於 front_matter
資料夾中
-
至 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}
口試委員審定書
使用 Word 製作口試委員審定書,將 Word 檔命名為 certification.docx
置於 front_matter
資料夾中
將由 Word 輸出的口試委員審定書命名為 certification.pdf
置於 front_matter
資料夾中,此應為空白、尚未簽名的口試委員審定書
將已簽名的口試委員審定書掃描成 PDF 檔,命名為 certification-scan.pdf
,並放在論文資料夾 (而非 front_matter/
)
-
至 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: '誌謝'