summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/fduthesis/fduthesis-en.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/fduthesis/fduthesis-en.tex')
-rw-r--r--Master/texmf-dist/doc/latex/fduthesis/fduthesis-en.tex1084
1 files changed, 1084 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/fduthesis/fduthesis-en.tex b/Master/texmf-dist/doc/latex/fduthesis/fduthesis-en.tex
new file mode 100644
index 00000000000..b14855d01cb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fduthesis/fduthesis-en.tex
@@ -0,0 +1,1084 @@
+%%
+%% This is file `fduthesis-en.tex',
+%% generated with Lua script `get-doc-en.lua'.
+%%
+%% The original source files were:
+%%
+%% fduthesis.dtx
+%%
+%% Copyright (C) 2017, 2018 by Xiangdong Zeng <xdzeng96@gmail.com>
+%%
+%% 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,
+%% fduthesis-template.tex,
+%% 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,
+%% fduthesis.pdf,
+%% fduthesis-en.pdf,
+%% fduthesis-code.pdf,
+%% latexmkrc,
+%% latexmkrc-en,
+%% 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}
+\renewcommand*\expstar{\hyperlink{expstar}{$\mfrake$}}
+\renewcommand*\rexpstar{\hyperlink{rexpstar}{$\mfrakc$}}
+\newcommand\FSID{{\xeCJKsetup{PunctStyle=banjiao}。}}
+\newcommand\FSFW{{\xeCJKsetup{PunctStyle=banjiao}.}}
+\IndexPrologue{\section{Index}}
+\def\IndexLayout{%
+ \setlength\IndexMin{0.5\textheight}%
+ \ctexset{section/numbering=false}%
+ \StopSpecialIndexModule}
+\def\indexname{Index}
+\let\usage\relax
+
+\title{\textcolor{MaterialIndigo800}{%
+ \textbf{The \textsf{fduthesis} Class \\
+ \LaTeX{} Thesis Template for Fudan University}}}
+\author{Xiangdong Zeng}
+\date{\today \quad v0.7a%
+ \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.75 in,
+ right = 1.00 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 special characters afterwards, then
+ you can use them in both Chinese and English templates.
+\end{itemize}
+
+If you want to read the implementation part, please turn to the
+Chinese version. Any issues or feature requests can be submitted
+in the \href{https://github.com/Stone-Zeng/fduthesis/issues}%
+{GitHub repository}.
+
+\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 GitHub and install it
+manually, the recommended way is to use the TDS ZIP file:
+\begin{itemize}
+ \item Download the \href{https://github.com/Stone-Zeng/fduthesis/releases/download/v0.7a/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 \bashcmd{mktexlsr} to update the ls-R database.
+\end{itemize}
+Although not recommended, you may generate the whole template
+from source code as well:
+\begin{itemize}
+ \item Open the project's \href{https://github.com/Stone-Zeng/fduthesis}%
+ {homepage}, click ``Clone or download'' and choose
+ ``Download ZIP'' to download \file{fduthesis-master.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 Extract files, and get into the \file{source} directory.
+ Run the following command to generate all the components:
+ \begin{shellexample}[gobble=5,morekeywords={xetex}]
+ xetex fduthesis.dtx
+ \end{shellexample}
+ \item Copy the generated document classes (\file{.cls}),
+ packages (\file{.sty}) and configuration files (\file{.def})
+ into \path{texmf-local/tex/latex/fduthesis/} under the local
+ TDS tree of \TeX{} distribution. Then run \bashcmd{mktexlsr}
+ to update the ls-R database.
+\end{itemize}
+
+\subsubsection{\cls{fduthesis} on the fly}
+
+If you don't want to install \cls{fduthesis} but need to use it
+at once, you can try the installation scripts. Download the
+repository from GitHub, run \file{install-win.bat} (on Windows)
+or \file{install-linux.sh} (on Linux), then all the necessary
+files will be found in the \file{thesis} folder.
+
+\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{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. \\
+ \file{fduthesis-template.tex} & An empty thesis template, and you can
+ write your thesis based on it. \\
+ \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}
+
+Note that you should not put the profile \file{latexmkrc} in
+your working directory. This file is meant to generate the
+user's guide.
+
+\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 = (*<doctor|master|(bachelor)>*)
+ \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
+``\textit{Contents}'', ``\textit{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 a Heuristic Viewpoint Concerning the Production
+ and Transformation of Light},
+ 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 a Heuristic Viewpoint Concerning the Production
+ and Transformation of Light},
+ 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=2017-09-23]{style/font}
+ \begin{fdusyntax}[gobble=4,emph={[1]font}]
+ font = (*<libertinus|lm|palatino|(times)|none>*)
+ \end{fdusyntax}
+ Set the western fonts (including math fonts).
+\end{function}
+
+\begin{function}[rEXP,updated=2017-09-23]{style/cjk-font}
+ \begin{fdusyntax}[gobble=4,emph={[1]cjk-font}]
+ cjk-font = (*<adobe|(fandol)|founder|mac|windows|none>*)
+ \end{fdusyntax}
+ Set CJK (Chinese, Japanese and Korean) fonts.
+\end{function}
+
+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 = (*<catcode|mapping|(false)>*)
+ \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 = (*<plain|\\
+ XXXX\mbox{}~~~~~~~~~~~~~~~~~libertinus|libertinus*|libertinus-sans|\\
+ XXXX\mbox{}~~~~~~~~~~~~~~~~~pifont|pifont*|pifont-sans|pifont-sans*|\\
+ XXXX\mbox{}~~~~~~~~~~~~~~~~~xits|xits-sans|xits-sans*>*)
+ \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 = (*<border|(color)|none>*)
+ \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=2017-12-08]{style/hyperlink-color}
+ \begin{fdusyntax}[gobble=4,emph={[1]hyperlink-color}]
+ hyperlink-color = (*<(default)|classic|elegant|fantasy|material|\\
+ XXXX\mbox{}~~~~~~~~~~~~~~~~~~business|science|summer|autumn|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
+\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
+ \textsf{Options} & \textsf{Cross references} & \textsf{URL} & \textsf{Citation} \\
+ \midrule
+ \opt{default} & \linkcolorexam{990000}{0000B2}{007F00} \\
+ \opt{classic} & \linkcolorexam{FF0000}{0000FF}{00FF00} \\
+ \opt{elegant}\tnote{a} & \linkcolorexam{961212}{C31818}{9B764F} \\
+ \opt{fantasy}\tnote{b} & \linkcolorexam{FF4A19}{FF3F94}{934BA1} \\
+ \opt{material}\tnote{c} & \linkcolorexam{E91E63}{009688}{4CAF50} \\
+ \opt{business}\tnote{d} & \linkcolorexam{D14542}{295497}{1F6E43} \\
+ \opt{science}\tnote{e} & \linkcolorexam{CA0619}{389F9D}{FF8920} \\
+ \opt{summer}\tnote{f} & \linkcolorexam{00AFAF}{5F5FAF}{5F8700} \\
+ \opt{autumn}\tnote{f} & \linkcolorexam{D70000}{D75F00}{AF8700} \\
+ \opt{graylevel}\tnote{c} & \linkcolorexam{616161}{616161}{616161} \\
+ \opt{prl}\tnote{g} & \linkcolorexam{2D3092}{2D3092}{2D3092} \\
+ \bottomrule
+\end{tabular}
+\begin{tablenotes}
+ \item[a] From \href{https://tex.stackexchange.com/}%
+ {\TeX{} - \LaTeX{} Stack Exchange}.
+ \item[b] Adobe CC.
+ \item[c] Material Design color palette
+ (See \url{https://material.io/guidelines/style/color.html}).
+ \item[d] Microsoft Office 2016.
+ \item[e] From \href{https://www.wolfram.com/}{Wolfram Research website}.
+ \item[f] Solarized color palette
+ (See \url{http://ethanschoonover.com/solarized}).
+ \item[g] \textit{Physical Review Letter} magazine.
+\end{tablenotes}
+\end{threeparttable}
+\end{table}
+
+\begin{function}[added=2018-01-25]{style/bib-backend}
+ \begin{fdusyntax}[gobble=4,emph={[1]bib-backend}]
+ bib-backend = (*<bibtex|biblatex>*)
+ \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}.
+\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 = (*<author-year|(numerical)|\meta{other 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(s)}*)
+ \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}{\makecoveri,\makecoverii,\makecoveriii}
+ For generating thesis cover, list of instructors and
+ declaration page manually. These commands cannot ensure
+ 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]{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 \SI{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}
+
+\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.
+\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 number 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 (\SI{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}{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{newtheorem} and \cs{newtheorem*}:
+\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}
+
+\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}).
+
+\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}
+
+\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{expl3}, \pkg{xparse}, \pkg{xtemplate} and
+ \pkg{l3keys2e}, belong to \pkg{l3kernel} and
+ \pkg{l3packages} bundles
+ \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{natbib}
+ \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}