%% %% This is file `fduthesis-en.tex', %% generated with Lua script `get-doc-en.lua'. %% %% The original source files were: %% %% fduthesis.dtx %% %% Copyright (C) 2017--2023 by Xiangdong Zeng %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later %% version. The latest version of this license is in: %% %% http://www.latex-project.org/lppl.txt %% %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainer of this work is Xiangdong Zeng. %% %% This work consists of the files fduthesis.dtx, %% fduthesis-doc.dtx, %% fduthesis-logo.dtx, %% and the derived files fduthesis.ins, %% fduthesis.cls, %% fduthesis-en.cls, %% fduthesis.def, %% fdudoc.cls, %% fdulogo.sty, %% fdulogo-example.tex, %% fduthesis-cover.tex, %% fduthesis-en.tex, %% fudan-emblem.pdf, %% fudan-emblem-new.pdf, %% fudan-name.pdf, %% fduthesis.pdf, %% fduthesis-en.pdf, %% fduthesis-code.pdf, %% and README.md. %% \PassOptionsToPackage{scheme=plain, linespread=1.1}{ctex} \documentclass{fdudoc} \hypersetup{ pdftitle = {fduthesis: LaTeX Thesis Template for Fudan University}, pdfauthor = {Xiangdong Zeng}} \ctexset{ section = {name = {}, format+ = \raggedright}, subsubsection/tocline = {\CTEXnumberline{#1}#2}} \pagestyle{headings} \def\FSID{{\xeCJKsetup{PunctStyle=banjiao}。}} \def\FSFW{{\xeCJKsetup{PunctStyle=banjiao}.}} \title{\textcolor{MaterialIndigo800}{% \textbf{The \textsf{fduthesis} Class \\ \LaTeX{} Thesis Template for Fudan University}}} \author{Xiangdong Zeng} \date{2023/05/27\quad v0.9a% \thanks{\url{https://github.com/stone-zeng/fduthesis}.}} \begin{document} \DeleteShortVerb\" \newgeometry{ left = 1.25 in, right = 1.25 in, top = 1.25 in, bottom = 1.00 in } \maketitle \vfill \begin{center} \includegraphics[width=8cm]{../logo/fduthesis-cover.pdf} \end{center} \vfill \thispagestyle{plain} \clearpage \tableofcontents \newgeometry{ left = 1.65 in, right = 0.80 in, top = 1.25 in, bottom = 1.00 in } \section{Introduction} \cls{fduthesis} is a thesis template for Fudan University. This template is mostly written in \LaTeX3 syntax, and provides a simple interface for users. \subsection*{Getting started with \LaTeX{}} This documentation is \emph{not} a \LaTeX{} tutorial at starter's level. If you are totally a newbie, please read some introductions like the famous \pkg{lshort}. Of course, there are countless \LaTeX{} tutorials on the Internet. You can choose whatever you like. \subsection*{About this documentation} In this documentation, different typefaces are used to represent different contents. Packages and classes are shown in sans-serif font, e.g.\ \pkg{xeCJK} package and \cls{fduthesis} class. Commands and file names are shown in monospaced font, e.g.\ command \cs{fdusetup}, environment \env{abstract} and \TeX{} document \file{thesis.tex}. Italic-shaped font with angle brackets outside means arguments, e.g.\ \meta{English title}. However, you do not need to type the brackets when using these commands. The example code has proper syntax highlighting so it will be much easier to read. \LaTeX{} code lines will have a blue line on their left, while for command lines there will be a pink line. The options, commands and environments in \cls{fduthesis} will be surrounded by two horizontal lines. Their usages and descriptions are provided at the same time. The options, commands and environments in \cls{fduthesis} can be divided into the following three types: \begin{itemize} \item Those can be only used in \emph{Chinese templates} are indicated by \rexptarget\rexpstar{}. \item Those can be only used in \emph{English templates} are indicated by \rexptarget\expstar{}. \item If they do not have marks afterwards, then you can use them in both Chinese and English templates. \end{itemize} \section{Installation} \subsection{Obtaining \cls{fduthesis}} \subsubsection{Standard installation} If there are no special reasons, it is always recommended to install \cls{fduthesis} with a package manager. For example, the following command will install the package in \TeXLive{} (administrator permission may be required): \begin{shellexample}[gobble=1,morekeywords={tlmgr,install}] tlmgr install fduthesis \end{shellexample} In \TeXLive{} and \MiKTeX{}, you can also install \cls{fduthesis} through a graphical interface. It's rather simple and will not be described here. \subsubsection{Install manually} If you want to download the template from CTAN and install it manually, the recommended way is to use the TDS ZIP file: \begin{itemize} \item Download the \href{http://mirror.ctan.org/install/macros/latex/contrib/fduthesis.tds.zip}% {TDS ZIP file} for \cls{fduthesis}; \item Copy all the files in \file{fduthesis.tds.zip} into the local TDS directory of \TeX{} distribution. \item Run \texttt{mktexlsr} to update the ls-R database. \end{itemize} \subsubsection{Development version} On CTAN, only the stable version of \cls{fduthesis} is provided, where new features and bug fixes may not be included in time. To use the latest development version on GitHub, you can use the install script: \begin{itemize} \item Open the project's \href{https://github.com/stone-zeng/fduthesis}{homepage}, click ``Code'' button and choose ``Download ZIP'' to download \file{fduthesis-main.zip}. If you have git program on your computer, you can also clone the repository directly: \begin{shellexample}[gobble=5,alsoletter={.},morekeywords={git,clone}] git clone https://github.com/stone-zeng/fduthesis.git \end{shellexample} \item Run \file{install-win.bat} (Windows) or \file{install-unix.sh} (Linux or macOS), all the necessary files will be found in the \file{thesis} folder then. \end{itemize} \subsubsection{Overleaf} \cls{fduthesis} also provides the \href{https://www.overleaf.com/latex/templates/fduthesis-latex-thesis-template-for-fudan-university/svtdhhstkmkt}{Overleaf version}. You can follow the link and login to edit directly on the web. \subsection{Composition of the template} There are several parts in \cls{fduthesis}, including kernel template classes, configuration files, affiliated packages and user's guides. More details are listed in table~\ref{tab:fduthesis-components}. \begin{table}[ht] \caption{The main components of \cls{fduthesis}} \label{tab:fduthesis-components} \centering \begin{tabular}{lp{24em}} \toprule \textbf{Files} & \textbf{Descriptions} \\ \midrule \file{fduthesis.cls} & Document class for Chinese thesis. \\ \file{fduthesis-en.cls} & Document class for English thesis.\\ \file{fduthesis.def} & Configuration parameters file for \cls{fduthesis}. Please do \emph{not} modify it. \\ \file{fdudoc.cls} & Document class for user guides. \\ \file{fdulogo.sty} & Fudan University's visual identity. \\ \file{fudan-emblem.pdf} & University emblem. \\ \file{fudan-emblem-new.pdf} & University emblem (revised version). \\ \file{fudan-name.pdf} & Figure of university name. \\ \file{README.md} & The brief introduction. \\ \file{fduthesis.pdf} & User's guide in Chinese. \\ \file{fduthesis-en.pdf} & User's guide in English (this document). \\ \file{fduthesis-code.pdf} & Code implementation. \\ \bottomrule \end{tabular} \end{table} \section{User's guide} \subsection{Getting started} Here is a minimal \TeX{} file for \cls{fduthesis}: \begin{latexexample}[gobble=1,deletetexcs={\documentclass}, moretexcs={\chapter},morekeywords={\documentclass}, emph={[2]document}] % thesis.tex \documentclass{fduthesis} \begin{document} \chapter{欢迎} \section{Welcome to fduthesis!} 你好,\LaTeX{}! \end{document} \end{latexexample} Compile this file under the instructions in subsection~\ref{subsec:compilation}, you will get a 5-page article. Of course, most of it will be blank, as you may predicate. The English version can be used in the same way: \begin{latexexample}[gobble=1,deletetexcs={\documentclass}, moretexcs={\chapter},morekeywords={\documentclass}, emph={[2]document}] % thesis-en.tex \documentclass{fduthesis-en} \begin{document} \chapter{Welcome} \section{Welcome to fduthesis!} Hello, \LaTeX{}! \end{document} \end{latexexample} The differences between English and Chinese version only live in the main body. Thesis cover, instructors list and declaration page are still printed in Chinese. \subsection{Compilation} \label{subsec:compilation} \cls{fduthesis} does NOT support \pdfTeX{}. Please use \XeLaTeX{} or \LuaLaTeX{} to compile, and \XeLaTeX{} is recommended. To get the correct table of contents, footnotes and cross-references, you need to compile the source file at least twice. In the following example, suppose your \TeX{} source file is \file{thesis.tex}. Please execute the following commands if you want to use \XeLaTeX{}: \begin{shellexample}[gobble=1,morekeywords={xelatex}] xelatex thesis xelatex thesis \end{shellexample} You can use \pkg{latexmk} as well: \begin{shellexample}[gobble=1,morekeywords={latexmk},emph={-xelatex}] latexmk -xelatex thesis \end{shellexample} \LuaLaTeX{} can be used in a similar way: \begin{shellexample}[gobble=1,morekeywords={lualatex}] lualatex thesis lualatex thesis \end{shellexample} or \begin{shellexample}[gobble=1,morekeywords={latexmk},emph={-lualatex}] latexmk -lualatex thesis \end{shellexample} \subsection{Options of the template} You can specify some \emph{template options} when loading \cls{fduthesis}: \begin{latexexample}[gobble=1,deletetexcs={\documentclass}, morekeywords={\documentclass}] \documentclass(*\oarg{options}*){fduthesis} \documentclass(*\oarg{options}*){fduthesis-en} \end{latexexample} Some options are \emph{boolean} --- they only take the value \opt{true} or \opt{false}. For these options, you can abbreviate ``\kvopt{\meta{option}}{true}'' simply to ``\opt{\meta{option}}''. \begin{function}[added=2018-02-01]{type} \begin{fdusyntax}[gobble=4,emph={[1]type}] type = (**) \end{fdusyntax} Choose the type of your thesis. The three options represent doctoral dissertation, master degree thesis and undergraduate thesis, respectively. \end{function} \begin{function}{oneside,twoside} Specify whether single or double sided output should be generated. \opt{twoside} will be chosen by default. These option will determine where the new chapters begin and how the headers display. The option \opt{twoside} does \emph{not} tell the printer to actually make a two-sided printout. \end{function} If choosing \opt{twoside}, chapters will begin at the odd pages (right hand). However, they will begin at arbitrary pages available when choosing \opt{oneside}. Table of contents, abstract and the list of symbols are considered as chapters and processed in the same way. At two-sided mode, left headers on the even pages (left hand) in \emph{main body} will show the title of chapters, while the right headers on the odd pages (right hand) will show the title of sections. Headers in \emph{front matter} have the same style, but they will only show the title as ``Contents'', ``Abstract'', etc. At one-sided mode, both left and right headers on \emph{all} pages in main body will be shown. The text is the title of chapters and sections, respectively. In front matter, there are only middle headers, which show the corresponding titles. \begin{function}{draft} \begin{fdusyntax}[gobble=4,emph={[1]draft}] draft = (*<\TFF>*) \end{fdusyntax} Enable draft mode. Default off. \end{function} \opt{draft} is a global option and will affect many packages. You may notice the following changes when using \opt{draft}: \begin{itemize} \item Lines with overfull \tn{hbox}'s will be marked with a thick black square on the right margin. \item Will not include graphics files actually, but instead print a box of the size the graphic would take up, as well as the file name. \item Will not make hyperlinks and PDF bookmarks. \item Show the page frames. \end{itemize} \begin{function}[added=2018-01-31]{config} \begin{fdusyntax}[gobble=4,emph={[1]config}] config = (*\marg{file}*) \end{fdusyntax} File name of user profile. Default value is empty, so no profile is loaded automatically. \end{function} \subsection{More options} \begin{function}{\fdusetup} \begin{fdusyntax}[gobble=4,morekeywords={\fdusetup}] \fdusetup(*\marg{key-value list}*) \end{fdusyntax} \cls{fduthesis} has provided a number of options, which can be given via the general command \cs{fdusetup}. \end{function} The argument of \cs{fdusetup} is a set of comma-separated option list. The options usually have the form of \kvopt{\meta{key}}{\meta{value}} and in some cases \meta{value} can be omitted. For the same option, the values given later will override the the previous ones. Default values are indicated in \textbf{boldface} in the following descriptions. \cs{fdusetup} follows \LaTeX3 key-value style, and different types as well as various levels options are supported. In the key-value list, spaces around ``|=|'' will be trimmed; however, blank lines should never appear in the argument. Similar with template options, ``\kvopt{\meta{option}}{true}'' can be abbreviated to \opt{\meta{option}} for boolean type. Some options, such as \opt{style} and \opt{info}, may have sub-options. They can be set by the following two equivalent methods: \begin{latexexample}[gobble=1,morekeywords={\fdusetup}, emph={[1]style,cjk-font,font-size,info,title,title*,author,author*,department}] \fdusetup{ style = {cjk-font = adobe, font-size = -4}, info = { title = {论动体的电动力学}, title* = {On the Electrodynamics of Moving Bodies}, author = {阿尔伯特·爱因斯坦}, author* = {Albert Einstein}, department = {物理学系} } } \end{latexexample} or \begin{latexexample}[gobble=1,morekeywords={\fdusetup}, emph={[1]style,cjk-font,font-size,info,title,title*,author,author*,department}] \fdusetup{ style/cjk-font = adobe, style/font-size = -4, info/title = {论动体的电动力学}, info/title* = {On the Electrodynamics of Moving Bodies}, info/author = {阿尔伯特·爱因斯坦}, info/author* = {Albert Einstein}, info/department = {物理学系} } \end{latexexample} Note that you may \emph{not} put spaces around ``|/|''. \subsubsection{Style and format} \label{subsubsec:style-and-format} \begin{function}{style} \begin{fdusyntax}[gobble=4,emph={[1]style}] style = (*\marg{key-value list}*) style/(*\meta{key}*) = (*\meta{value}*) \end{fdusyntax} This general option is for setting the thesis style and format. See the following details. \end{function} \begin{function}[updated=2019-03-05]{style/font} \begin{fdusyntax}[gobble=4,emph={[1]font}] font = (**) \end{fdusyntax} Set fonts (including math fonts). The details can be found in table~\ref{tab:font}. \end{function} \begin{table}[ht] \begin{threeparttable} \caption{Font configuration} \label{tab:font} \centering \begin{tabular}{ccccc} \toprule & \textbf{Roman} & \textbf{Sans-serif} & \textbf{Monospaced} & \textbf{Math} \\ \midrule |garamond| & EB Garamond & Libertinus Sans & LM Mono\tnote{a} & Garamond Math \\ |libertinus| & Libertinus Serif & Libertinus Sans & LM Mono & Libertinus Math \\ |lm| & LM Roman & LM Sans & LM Mono & LM Math \\ |palatino| & TG Pagella\tnote{b} & Libertinus Sans & LM Mono & TG Pagella Math \\ |times| & XITS & TG Heros & TG Cursor & XITS Math \\ |times*|\tnote{c} & Times New Roman & Arial & Courier New & XITS Math \\ \bottomrule \end{tabular} \begin{tablenotes} \item[a] ``LM'' is the abbreviation of Latin Modern. \item[b] ``TG'' is the abbreviation of TeX Gyre. \item[c] Here, Times New Roman, Arial and Courier New are commercial fonts. They are installed on Windows and macOS by default. \end{tablenotes} \end{threeparttable} \end{table} \begin{function}[rEXP,updated=2019-03-05]{style/cjk-font} \begin{fdusyntax}[gobble=4,emph={[1]cjk-font}] cjk-font = (**) \end{fdusyntax} Set CJK (Chinese, Japanese and Korean) fonts. The details can be found in table~\ref{tab:cjk-font}. \end{function} \begin{table}[ht] \caption{CJK font configuration} \label{tab:cjk-font} \centering \begin{tabular}{cccc} \toprule & \textbf{Roman (song)} & \textbf{Sans-serif (hei)} & \textbf{Monospaced (fang)} \\ \midrule |adobe| & Adobe Song Std & Adobe Heiti Std & Adobe Fangsong Std \\ |fandol| & FandolSong & FandolHei & FandolFang \\ |founder| & FZShuSong-Z01 & FZHei-B01 & FZFangSong-Z02 \\ |mac| & Songti SC & Heiti SC & STFangsong \\ |sinotype| & STSong & STHeiti & STFangsong \\ |sourcehan| & Source Han Serif SC & Source Han Sans SC & --- \\ |windows| & SimSun & SimHei & FangSong \\ \bottomrule \end{tabular} \end{table} When you choose \kvopt{font}{none} or \kvopt{cjk-font}{none}, \cls{fduthesis} will disable the default western/CJK font settings. You may use \cs{setmainfont}, \cs{setCJKmainfont} and \cs{set\-math\-font}, etc.\ to configure the fonts manually. \begin{function}{style/font-size} \begin{fdusyntax}[gobble=4,emph={[1]font-size}] font-size = (*<(-4)|5>*) \end{fdusyntax} Specify the basic font size in your thesis. \end{function} \begin{function}[rEXP,updated=2017-10-14]{style/fullwidth-stop} \begin{fdusyntax}[gobble=4,emph={[1]fullwidth-stop}] fullwidth-stop = (**) \end{fdusyntax} Let full-width full stop ``\FSFW'' as the default full stop. Generally, this punctuation is used for scientific articles, where ``\FSID'' is easily to be confused with subscript ``$_o$'' or ``$_0$''. \end{function} If you choose \kvopt{fullwidth-stop}{catcode}, only \emph{explicit} ``\FSID'' will be replaced by ``\FSFW''; when choosing \kvopt{fullwidth-stop}{mapping}, however, \emph{all} the ``\FSID'' will be replaced. \opt{mapping} is valid only under \XeTeX{}. When compiling with \LuaTeX{}, it is equivalent to \opt{catcode}. If you want to display ``\FSID'' temporarily after setting \kvopt{fullwidth-stop}{mapping}, the following code snippet will be helpful: \begin{latexexample}[gobble=1,moretexcs={\CJKfontspec},emph={[1]Mapping}] % Compiled with XeTeX % The outside braces is used for group 这是一个句号{\CJKfontspec{(*\meta{font name}*)}[Mapping=full-stop]。} \end{latexexample} \begin{function}{style/footnote-style} \begin{fdusyntax}[gobble=4,emph={[1]footnote-style}] footnote-style = (**) \end{fdusyntax} Set the style of footnote numbers. Note that western fonts will affect its default value (see table~\ref{tab:footnote-font}), so you may put it after |font| option. The one with |sans| is for the corresponding sans-serif version, while |*| for white on black version. \end{function} \begin{table}[ht] \caption{Relationship between option \opt{font} and the default value of \opt{footnote-style}} \label{tab:footnote-font} \centering \begin{tabular}{ccccc} \toprule \textbf{Western fonts settings} & |libertinus| & |lm| & |palatino| & |times| \\ \midrule \textbf{Default value of footnote number style} & |libertinus| & |pifont| & |pifont| & |xits| \\ \bottomrule \end{tabular} \end{table} \begin{function}[added=2017-08-13]{style/hyperlink} \begin{fdusyntax}[gobble=4,emph={[1]hyperlink}] hyperlink = (**) \end{fdusyntax} Set the style of hyperlinks. \opt{border} draws borders around hyperlinks; \opt{color} displays hyperlinks in colorful text; \opt{none} leads to plain text, which is useful when printing the final document. \end{function} \begin{function}[added=2017-08-13,updated=2021-12-27]{style/hyperlink-color} \begin{fdusyntax}[gobble=4,emph={[1]hyperlink-color}] hyperlink-color = (*<(default)|classic|material|graylevel|prl>*) \end{fdusyntax} Set the color of hyperlinks. It is invalid if \kvopt{hyperlink}{none}. The related colors can be found in table~\ref{tab:hyperlink-color}. \end{function} \begin{table}[ht] \centering \small \newcommand\linkcolorexam[3]{% {\small Fig.~\textcolor[HTML]{#1}{1-2}, Eq.~(\textcolor[HTML]{#1}{3.4})} & {\small \textcolor[HTML]{#2}{\texttt{http://g.cn}}} & {\small Ref.~[\textcolor[HTML]{#3}{1}], (\textcolor[HTML]{#3}{Knuth~1986})}} \begin{threeparttable} \caption{Pre-defined hyperlink color schemes} \label{tab:hyperlink-color} \begin{tabular}{c*{3}{>{\hspace{0.2cm}}c<{\hspace{0.2cm}}}} \toprule \textbf{Options} & \textbf{Cross references} & \textbf{URL} & \textbf{Citation} \\ \midrule \opt{default} & \linkcolorexam{990000}{0000B2}{007F00} \\ \opt{classic} & \linkcolorexam{FF0000}{0000FF}{00FF00} \\ \opt{material}\tnote{a} & \linkcolorexam{E91E63}{009688}{4CAF50} \\ \opt{graylevel}\tnote{a} & \linkcolorexam{616161}{616161}{616161} \\ \opt{prl}\tnote{b} & \linkcolorexam{2D3092}{2D3092}{2D3092} \\ \bottomrule \end{tabular} \begin{tablenotes} \item[a] Material Design color palette (See \url{https://material.io/guidelines/style/color.html}). \item[b] \textit{Physical Review Letter} magazine. \end{tablenotes} \end{threeparttable} \end{table} \begin{function}[added=2018-01-25,updated=2023-05-11]{style/bib-backend} \begin{fdusyntax}[gobble=4,emph={[1]bib-backend}] bib-backend = (**) \end{fdusyntax} Specify the backend or driver of bibliography processing. \BibTeX{} and \pkg{natbib} package will be used if you choose \opt{bibtex}, while \biber{} and \pkg{biblatex} will be used if you choose \opt{biblatex}. If not specified, the citations and references will not be processed. \end{function} \begin{function}[added=2017-10-28,updated=2018-01-25]{style/bib-style} \begin{fdusyntax}[gobble=4,emph={[1]bib-style}] bib-style = (**) \end{fdusyntax} Set the style of bibliography. \opt{author-year} and \opt{numerical} will follow the standard GB/T 7714--2015. By setting \kvopt{bib-style}{\meta{other style}}, you can use other bibliography style (\file{.bst} file for \kvopt{bib-backend}{bibtex} and \file{.bbx} file for \kvopt{bib-backend}{biblatex}). Suffix is not needed. \end{function} \begin{function}[added=2018-01-25]{style/cite-style} \begin{fdusyntax}[gobble=4,emph={[1]cite-style}] cite-style = (*\marg{style}*) \end{fdusyntax} Select citation style. Default value is empty, which means the citation style will follow your bibliography style (author-year or numeric). If you want change the citation style, the corresponding \file{.cbx} file must be available. This option is invalid when \kvopt{bib-backend}{bibtex}. \end{function} \begin{function}[added=2018-01-25]{style/bib-resource} \begin{fdusyntax}[gobble=4,emph={[1]bib-resource}] bib-resource = (*\marg{bib file\symbol{"28}s\symbol{"29}}*) \end{fdusyntax} Specify the bibliography database (usually in \file{.bib} format). If using more than one files, the file names should be separated with comma. When \kvopt{bib-backend}{biblatex}, you must type in the ``\file{.bib}'' suffix. \end{function} \begin{function}[added=2017-08-10]{style/logo} \begin{fdusyntax}[gobble=4,emph={[1]logo}] logo = (*\marg{file}*) \end{fdusyntax} File name of the logo in thesis cover. Default value is \file{fudan-name.pdf}. \end{function} \begin{function}[added=2017-08-10]{style/logo-size} \begin{fdusyntax}[gobble=4,emph={[1]logo-size}] logo-size = (*\marg{width}*) logo-size = {(*\meta{width}*), (*\meta{height}*)} \end{fdusyntax} Size of the logo. By default, only width is set to |0.5\textwidth|. To set height only, you can put an empty group ``|{}|'' at \meta{width}. \end{function} \begin{function}[added=2017-07-06]{style/auto-make-cover} \begin{fdusyntax}[gobble=4,emph={[1]auto-make-cover}] auto-make-cover = (*<\TTF>*) \end{fdusyntax} Whether generate thesis cover, list of instructors (inside front cover) and declaration page (inside back cover) automatically. Entries in the cover can be specified also via \cs{fdusetup}, and you can find more details in subsubsection~\ref{subsubsec:information}. \end{function} \begin{function}[added=2021-09-21]{style/declaration-page} \begin{fdusyntax}[gobble=4,emph={[1]declaration-page}] declaration-page = (*\marg{file}*) \end{fdusyntax} Insert the scanned declaration page PDF file. If empty (default), then the pre-defined declaration page will be inserted. \end{function} \begin{function}{\makecoveri,\makecoverii,\makecoveriii} For generating thesis cover, list of instructors and declaration page manually. These commands cannot guarantee the correct page numbers, hence you should always use the auto-generated thesis cover unless necessary. \end{function} \subsubsection{Personal information} \label{subsubsec:information} \begin{function}{info} \begin{fdusyntax}[gobble=4,emph={[1]info}] info = (*\marg{key-value list}*) info/(*\meta{key}*) = (*\meta{value}*) \end{fdusyntax} This general option is for entering your personal information. See the following details. Note that options with ``|*|'' are the corresponding English items. \end{function} \begin{function}[added=2018-02-01,updated=2019-03-12]{info/degree} \begin{fdusyntax}[gobble=4,emph={[1]degree}] degree = (*<(academic)|professional>*) \end{fdusyntax} Degree type. This option can only be used in master degree thesis. \end{function} \begin{function}{info/title,info/title*} \begin{fdusyntax}[gobble=4,emph={[1]title,title*}] title = (*\marg{title in Chinese}*) title* = (*\marg{title in English}*) \end{fdusyntax} Title of your thesis. The line width is about \qty{30}{em} by default, but you may break it with |\\| manually. \end{function} \begin{function}{info/author,info/author*} \begin{fdusyntax}[gobble=4,emph={[1]author,author*}] author = (*\marg{name in Chinese}*) author* = (*\marg{name in English \lparen or Pinyin\rparen}*) \end{fdusyntax} Author's name. \end{function} \begin{function}{info/supervisor} \begin{fdusyntax}[gobble=4,emph={[1]supervisor}] supervisor = (*\marg{name}*) \end{fdusyntax} Supervisor's name. \end{function} \begin{function}{info/department} \begin{fdusyntax}[gobble=4,emph={[1]department}] department = (*\marg{name}*) \end{fdusyntax} Name of the department. \end{function} \begin{function}{info/major} \begin{fdusyntax}[gobble=4,emph={[1]major}] major = (*\marg{name}*) \end{fdusyntax} Name of the major. \end{function} \begin{function}{info/student-id} \begin{fdusyntax}[gobble=4,emph={[1]student-id}] student-id = (*\marg{number}*) \end{fdusyntax} Author's student ID. \end{function} In Fudan University, student ID has 11 digits. The first two are the year of attendance; next one represents the student's type (1 for doctor, 2 for master and 3 for bachelor); the following five digits are major ID while the last three are serial number. \begin{function}{info/school-id} \begin{fdusyntax}[gobble=4,emph={[1]school-id}] school-id = (*\marg{number}*) \end{fdusyntax} School ID. Default value is 10246 (school ID of Fudan University). \end{function} \begin{function}{info/date} \begin{fdusyntax}[gobble=4,emph={[1]date}] date = (*\marg{date}*) \end{fdusyntax} Finish date of your thesis. Default value is the compilation date (\tn{today}). \end{function} \begin{function}[added=2017-07-04]{info/secret-level} \begin{fdusyntax}[gobble=4,emph={[1]secret-level}] secret-level = (*<(none)|i|ii|iii>*) \end{fdusyntax} Secret level. \opt{i}, \opt{ii} and \opt{iii} means ``秘密'' (secret), ``机密'' (confidential) and ``绝密'' (top secret) respectively. \opt{none} means your thesis is not secret-related and secret level and year will not be shown. \end{function} \begin{function}[added=2017-07-04]{info/secret-year} \begin{fdusyntax}[gobble=4,emph={[1]secret-year}] secret-year = (*\marg{year}*) \end{fdusyntax} Secret year. It's recommended to use Chinese word as ``五年'' (5 years) here. This option is invalid if you have set \kvopt{secret-level}{none}. \end{function} \begin{function}{info/instructors} \begin{fdusyntax}[gobble=4,emph={[1]instructors}] instructors = (*\marg{member 1, member 2, ...}*) \end{fdusyntax} Instructors' name. Each name should be separated with comma. To disambiguate, you may put text containing comma into a group ``|{...}|''. \end{function} \begin{function}{info/keywords,info/keywords*} \begin{fdusyntax}[gobble=4,emph={[1]keywords,keywords*}] keywords = (*\marg{keywords in Chinese}*) keywords* = (*\marg{keywords in English}*) \end{fdusyntax} Keywords list. Each keyword should be separated with comma. To disambiguate, you may put text containing comma into a group ``|{...}|''. \end{function} \begin{function}{info/clc} \begin{fdusyntax}[gobble=4,emph={[1]clc}] clc = (*\marg{classification codes}*) \end{fdusyntax} Chinese Library Classification (CLC). \end{function} \begin{function}[added=2021-09-16]{info/jel} \begin{fdusyntax}[gobble=4,emph={[1]jel}] jel = (*\marg{classification codes}*) \end{fdusyntax} \textit{Journal of Economic Literature} (JEL) Classification Code. It's only mandatory for some departments. When specified, CLC code in the English abstract will be replaced by it. \end{function} \subsection{Writing your thesis} \subsubsection{Front matter} \begin{function}{\frontmatter} Declare the beginning of front matter. \end{function} Front matter contains table of contents, abstracts and notation list. The page numbers in front matter will be shown in lowercase Roman numerals, and will be counted separately with main matter. \begin{function}{\tableofcontents} Generate the table of contents (TOC). You need to compile the source file at least \emph{twice} to get the correct TOC. If your thesis contains many figures or tables, you may also use \cs{listoffigures} or \cs{listoftables} to generate a list of them. \end{function} \begin{function}{abstract} \begin{fdusyntax}[gobble=4,emph={[2]abstract}] % fduthesis (Chinese thesis) % fduthesis-en (English thesis) \begin{abstract} \begin{abstract} (*\meta{Chinese abstract} \hspace{3cm} \meta{English abstract}*) \end{abstract} \end{abstract} \end{fdusyntax} \end{function} \begin{function}[rEXP]{abstract*} \begin{fdusyntax}[gobble=4,emph={[2]abstract*}] % Only for fduthesis \begin{abstract*} (*\meta{English abstract}*) \end{abstract*} \end{fdusyntax} Abstract environment. In \cls{fduthesis}, \env{abstract} and \env{abstract*} are used for Chinese and English abstract, respectively; while in \cls{fduthesis-en}, there is no \env{abstract*} environment and you need to write the English abstract merely. \end{function} At the end of abstract (both Chinese and English, if available), keywords list and CLC or JEL code will be shown. They can be specified via command \cs{fdusetup} and you may refer to subsubsection~\ref{subsubsec:information} for more details. \begin{function}{notation} \begin{fdusyntax}[gobble=4,emph={[2]notation}] \begin{notation}(*\oarg{column format}*) (*\meta{symbol 1}*) & (*\meta{description}*) \\ (*\meta{symbol 2}*) & (*\meta{description}*) \\ (*\phantom{\meta{symbol $n$}}*) (*$\vdots$*) (*\meta{symbol \kern-0.1em$n$}*) & (*\meta{description}*) \end{notation} \end{fdusyntax} Notation list (or symbol list, nomenclature) environment. The optional argument \meta{column format} is the same as in a standard \LaTeX{} table. The default value is ``|lp{7.5cm}|'', which means auto-width for the first column and fix-width (\qty{7.5}{cm}) for the second; both columns will be left-aligned. \end{function} \subsubsection{Main matter} \begin{function}{\mainmatter} Declare the beginning of main matter. \end{function} As the name suggests, ``main matter'' is the main body of your thesis. When working on a big projects, it's usually a good idea to split the source file into several parts. The page numbers in main matter are shown in arabic numerals. \begin{function}[updated=2018-01-15]{\footnote} \begin{fdusyntax}[gobble=4,deletetexcs={\footnote},morekeywords={\footnote}] \footnote(*\marg{text}*) \end{fdusyntax} Insert a footnote. The style of footnote numbers can be set with option \opt{style/foot\-note\-style}. See subsubsection~\ref{subsubsec:style-and-format} for more details. \end{function} \begin{function}{\caption} \begin{fdusyntax}[gobble=4,deletetexcs={\caption},morekeywords={\caption}] \caption(*\marg{caption}*) \caption(*\oarg{short caption}\marg{long caption}*) \end{fdusyntax} Insert the caption of figure or table. The optional argument \meta{short caption} will be shown in the list of figures/tables. In \meta{long caption}, you can write descriptions for several paragraphs, but \meta{short caption} and the single \meta{caption} will not allow multi-paragraph text (i.e.\ text containing \tn{par}) inside. \end{function} By convention, caption of a table is usually put \emph{before} the table itself, while for figure it's the opposite. In addition, command \tn{caption} must be put inside float environments (e.g.\ \env{table} and \env{figure}). \paragraph{Citations} \begin{function}[updated=2021-09-20]{\cite} \begin{fdusyntax}[gobble=4,deletetexcs={\cite},morekeywords={\cite}] \cite(*\marg{bib key}*) \cite(*\oarg{page number}\marg{bib key}*) \end{fdusyntax} Insert citations. The optional argument \meta{page number} can be used to indicate the page number of the citation. The citation style varies among different bibliography styles. More commands are also provided to mark the citations, which can be found in table~\ref{tab:citation-numerical} (numerical style) and \ref{tab:citation-author-year} (author-year style). \end{function} \NewDocumentCommand\verbcite{O{cite}om}{^^A \IfNoValueTF{#2}{^^A \texttt{\textbackslash#1\{#3\}}^^A }{^^A \texttt{\textbackslash#1[#2]\{#3\}}^^A }} \begin{table}[ht] \caption{Citations in numerical style} \label{tab:citation-numerical} \centering \small \def\C#1{\textcolor{MaterialGreen}{#1}} \begin{tabularx}{\textwidth}{cCll} \toprule \textbf{Styles} & \textbf{Results} & \textbf{\kvopt{bib-backend}{bibtex}} & \textbf{\kvopt{bib-backend}{biblatex}} \\ \midrule Single & Text\textsuperscript{[\C1]} & \verbcite{texbook} & Same as left \\ Multiple & Text\textsuperscript{[\C1--\C2]} & \verbcite{texbook,companion} & Same as left \\ With page & Text\textsuperscript{[\C1]126--137} & \verbcite[cite][126--137]{texbook} & Same as left \\ With author & Knuth\textsuperscript{[\C1]} states & \verbcite[citet]{texbook} & \verbcite[authornumcite]{texbook} \\ With page \& author & Knuth\textsuperscript{[\C1]42} states & \verbcite[citet][42]{texbook} & \verbcite[authornumcite][42]{texbook} \\ No superscript & Text [\C1] & \verbcite[parencite]{texbook} & Same as left \\ \bottomrule \end{tabularx} \end{table} \begin{table}[ht] \caption{Citations in author-year style} \label{tab:citation-author-year} \centering \small \def\C#1{\textcolor{MaterialGreen}{#1}} \begin{tabularx}{\textwidth}{cCll} \toprule \textbf{Styles} & \textbf{Results} & \textbf{\kvopt{bib-backend}{bibtex}} & \textbf{\kvopt{bib-backend}{biblatex}} \\ \midrule Single & (\C{Knuth}, \C{1986}) & \verbcite[citep]{texbook} & \verbcite{texbook} \\ Multiple & (\C{Knuth}, \C{1986}; \C{Mittelbach et~al.}, \C{2004}) & \verbcite[citep]{texbook,companion} & \verbcite{texbook,companion} \\ With page & (\C{Knuth}, \C{1986})\textsuperscript{126--137} & \verbcite[citep][126--137]{texbook} & \verbcite[cite][126--137]{texbook} \\ With author & \C{Knuth} (\C{1986}) & \verbcite[citet]{texbook} & Same as left \\ With page \& author & \C{Knuth} (\C{1986})\textsuperscript{42} & \verbcite[citet][42]{texbook} & Same as left \\ \bottomrule \end{tabularx} \end{table} \paragraph{Theorem-like environments} \begin{function}{axiom,corollary,definition,example,lemma, proof,theorem} \begin{fdusyntax}[gobble=4,emph={[2]proof}] \begin{proof}(*\oarg{subheading}*) (*\meta{procedure of proof}*) \end{proof} \end{fdusyntax} A series of pre-defined math environments. \end{function} A QED\footnote{Abbreviation of Latin phrase \emph{quod erat demonstrandum}, means ``what was to be demonstrated''.} symbol ``$\QED$'' will be added at the end of \env{proof} environment. You need to compile the source file \emph{twice} as in subsection~\ref{subsec:compilation} in order to make the position of QED symbol correct. \begin{function}[updated=2017-12-12]{\newtheorem} \begin{fdusyntax}[gobble=4,deletetexcs={\newtheorem}, morekeywords={\newtheorem,\newtheorem*}] \newtheorem(*\oarg{options}\marg{environment}\marg{title}*) \newtheorem*(*\oarg{options}\marg{environment}\marg{title}*) \begin(*\marg{environment}\oarg{subheading}*) (*\meta{contents}*) \end(*\marg{environment}*) \end{fdusyntax} Declare new math environments (theorems). If you use \cs{newtheorem*}, then the theorem will not be numbered, and a QED symbol ``$\QED$'' will be added at the end of the environment. All the theorem environments defined by yourself can be used as the pre-defined ones. \end{function} Actually, the pre-defined math environments are just defined with \cs{new\-the\-o\-rem} and \cs{new\-the\-o\-rem*}: \begin{latexexample}[gobble=1,deletetexcs={\newtheorem}, morekeywords={\newtheorem,\newtheorem*}] \newtheorem*{proof}{proof} \newtheorem{axiom}{axiom} \newtheorem{corollary}{corollary} ... \end{latexexample} Similar with \cs{fdusetup}, the optional argument \meta{options} of \cs{newtheorem} is a key-value list as well. The available are described below. Note that you don't need to type in the ``|theorem/|'' prefix. \begin{function}{theorem/style} \begin{fdusyntax}[gobble=4,emph={[1]style}] style = (*<(plain)|margin|change|\\ XXXX\mbox{}~~~~~~~~break|marginbreak|changebreak>*) \end{fdusyntax} The overall style of the theorem environment. \end{function} \begin{function}{theorem/header-font} \begin{fdusyntax}[gobble=4,emph={[1]header-font}] header-font = (*\marg{font}*) \end{fdusyntax} Font of the theorem header. Default value is \tn{sffamily} and |\bfseries\upshape| for Chinese and English template, respectively. \end{function} \begin{function}{theorem/body-font} \begin{fdusyntax}[gobble=4,emph={[1]body-font}] body-font = (*\marg{font}*) \end{fdusyntax} Font of the theorem body. Default value is \tn{fdu@kai} (\textit{楷体}) and \tn{itshape} for Chinese and English template, respectively. \end{function} \begin{function}{theorem/qed} \begin{fdusyntax}[gobble=4,emph={[1]qed}] qed = (*\marg{symbol}*) \end{fdusyntax} Theorem end mark. For \cs{newtheorem}, default value is empty; for \cs{newtheorem*}, default value is |\ensuremath{\QED}| (i.e.\ ``$\QED$''). \end{function} \begin{function}{theorem/counter} \begin{fdusyntax}[gobble=4,emph={[1]counter}] counter = (*\marg{counter}*) \end{fdusyntax} The theorem will be enumerated within \meta{counter}. For example, the default value is |chapter|, which means with each new \tn{chapter}, the enumeration begins again with 1. This option is invalid for \cs{newtheorem*}. \end{function} \subsubsection{Back matter} \begin{function}{\backmatter} Declare the beginning of back matter. \end{function} Back matter contains bibliography, declaration page, etc. \begin{function}[updated=2018-01-25]{\printbibliography} \begin{fdusyntax}[gobble=4,morekeywords={\printbibliography}] \printbibliography(*\oarg{options}*) \end{fdusyntax} Print the bibliography. When \kvopt{bib-backend}{bibtex}, then \meta{options} is invalid and this command is equivalent to \tn{bibliography} \texttt{\marg{bib files}}, where \meta{bib files} should be specified with option \opt{style/bib-resource} (see subsubsection~\ref{subsubsec:style-and-format}). When \kvopt{bib-backend}{bibtex}, then \tn{printbibliography} is provided by \pkg{biblatex} and the available options can be found in its documentation. \end{function} \begin{function}[added=2023-02-06]{acknowledgements} \begin{fdusyntax}[gobble=4,emph={[2]acknowledgements}] \begin{acknowledgements} (*\meta{acknowledgements}*) \end{acknowledgements} \end{fdusyntax} Acknowledgements. \end{function} \section{Packages dependencies} Different compilation methods and options will result in a different packages dependency. Details are as follows: \begin{itemize} \item In any case, \cls{fduthesis} will load the following packages \emph{explicitly}: \begin{itemize} \item \pkg{xtemplate} and \pkg{l3keys2e}, belong to \pkg{l3packages} bundle \item \cls{ctexbook}, belongs to \CTeX{} bundle \item \pkg{amsmath}, belongs to \AmSLaTeX{} bundle \item \pkg{unicode-math} \item \pkg{geometry} \item \pkg{fancyhdr} \item \pkg{footmisc} \item \pkg{ntheorem} \item \pkg{graphicx} \item \pkg{longtable} \item \pkg{caption} \item \pkg{xcolor} \item \pkg{hyperref} \end{itemize} \item When chosen \kvopt{style/footnote-style}{pifont}, package \pkg{pifont} will be loaded. It belongs to \pkg{psnfss} bundle. \item When chosen \kvopt{style/bib-backend}{bibtex}, package \pkg{natbib} will be loaded. Meanwhile, program \BibTeX{} will be required for compilation. The bibliography style is provided by \pkg{gbt7714}. \item When chosen \kvopt{style/bib-backend}{biblatex}, package \pkg{biblatex} will be loaded. Program \biber{} will be required then. The bibliography style is provided by \pkg{biblatex-gb7714-2015}. \end{itemize} Only the packages loaded directly by \cls{fduthesis} are listed here. If you need to know the dependencies of the packages themselves, please refer to the corresponding manuals. \end{document}