Skip to content
Snippets Groups Projects
njuthesis.dtx 179 KiB
Newer Older
Yu Xiong's avatar
Yu Xiong committed
%           major* = {Chemistry},
%           supervisor = {李成殿,教授},
%           supervisor*= {Professor Li Chengdian},
Yu Xiong's avatar
Yu Xiong committed
%           submit-date = {2021-09-12}
% \end{latexexample}
Yu Xiong's avatar
Yu Xiong committed
%
% 研究生可以参考如下列表输入个人信息
Yu Xiong's avatar
Yu Xiong committed
%
% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info}]
Yu Xiong's avatar
Yu Xiong committed
%   \njusetup {
%       info = {
%           title = {第一行标题\\第二行标题\\第三行标题},
%           title* = {My title in English},
%           keywords = {我,就是,充数的,关键词},
%           keywords* = {Dummy,Keywords,Here,{it is}},
Yu Xiong's avatar
Yu Xiong committed
%           grade = {2018},
Yu Xiong's avatar
Yu Xiong committed
%           student-id = {DZ18114514},
Yu Xiong's avatar
Yu Xiong committed
%           author = {周煜华},
%           author* = {Zhou Yuhua},
Yu Xiong's avatar
Yu Xiong committed
%           department = {化学化工学院},
%           department* = {School of Chemistry and Chemical Engineering},
%           major = {化学},
%           major* = {Chemistry},
%           field = {物理化学},
%           field* = {Physical Chemistry},
%           supervisor = {李成殿,教授},
%           supervisor*= {Professor Li Chengdian},
Yu Xiong's avatar
Yu Xiong committed
%           submit-date = {2021-09-12},
%           defend-date = {2022-01-15},
Yu Xiong's avatar
Yu Xiong committed
%           chairman = {张晓山~教授},
%           reviewer = {王瑞希~教授,郭德纲~副教授,华芈库~教授,戴菲菲~教授},
Yu Xiong's avatar
Yu Xiong committed
%           clc = {0175.2},
%           secret-level = {限制},
%           udc = {004.72},
%           supervisor-contact = {拉太赫科学与技术学院 枝江市结丘路 19 号 114514}
%         }
%     }
% \end{latexexample}
Yu Xiong's avatar
Yu Xiong committed
%
Yu Xiong's avatar
Yu Xiong committed
% \subsection{编写正文}
Yu Xiong's avatar
Yu Xiong committed
%
Yu Xiong's avatar
Yu Xiong committed
% 与导言区相对的是正文,位于 \env{document} 环境内。
% \begin{function}{\mainmatter}
Yu Xiong's avatar
Yu Xiong committed
%   \cs{mainmatter} 标志着正文的开始,使用阿拉伯数字重新进行页码编号,并设置页眉格式。
% \end{function}
%
Yu Xiong's avatar
Yu Xiong committed
% 在页面布局方面,页面编号居中位于页脚,本科生无页眉,研究生页眉包括章名(奇数页)和节名(偶数页)。
%
% \begin{function}{\chapter,\section,\subsection,\subsubsection}
%   \begin{syntax}
Yu Xiong's avatar
Yu Xiong committed
%     \tn{chapter}\oarg{短描述}\marg{完整的章标题}
%     \tn{section}\oarg{短描述}\marg{完整的节标题}
%     \tn{subsection}\oarg{短描述}\marg{完整的节标题}
%     \tn{subsection}\oarg{短描述}\marg{完整的节标题}
%   \end{syntax}
% \pkg{ctex} 宏集提供了其中用于处理长标题的可选参数。对于过长的标题,目录中会使用其短描述。
% \end{function}
Yu Xiong's avatar
Yu Xiong committed
%
% \subsubsection{文字}
%
Yu Xiong's avatar
Yu Xiong committed
% \begin{function}[added=2021-09-22]{\njuline}
%   \begin{syntax}
%     \tn{njuline}\Arg{文字}
%   \end{syntax}
% 为了避免原生\tn{uline}命令在中文环境下不能正常换行的问题,本模板使用\tn{njuline}作为替代方案,分别对 \hologo{XeLaTeX} 的 \pkg{xeCJKfntef} 包和 \hologo{LuaLaTeX} 的 \pkg{lua-ul} 包中的下划线命令进行了包装。
Yu Xiong's avatar
Yu Xiong committed
% \end{function}
Yu Xiong's avatar
Yu Xiong committed
% \begin{function}{\footnote}
%   \begin{syntax}
%     \tn{footnote}\Arg{脚注}
%   \end{syntax}
% 添加脚注。
Yu Xiong's avatar
Yu Xiong committed
% \end{function}
%
% \subsubsection{图片}
Yu Xiong's avatar
Yu Xiong committed
%
% \begin{function}{\graphicspath}
%   \begin{syntax}
%     \tn{graphicspath}\{\marg{路径1}\marg{路径2}\}
%   \end{syntax}
% 添加图像路径。
Yu Xiong's avatar
Yu Xiong committed
% \end{function}
% \pkg{graphicx} 宏包会对一些常见路径进行搜索。使用自己的图片时,如果提示不能找到文件,需要在导言区通过本命令添加图片存放路径。
% 在使用特定类型的图片文件时,可以省略其扩展名,包括 \file{*.jpg}, \file{*.png}, \file{*.pdf}, \file{*.eps}。
%
% \paragraph{图片}
%
% 下面这个例子展示了如何插入一张名称为 \file{myfig.jpg},宽度占页面文字宽度一半的图片。注意标签命令 \tn{label} 必须放在图注命令 \tn{caption} 之后。
% \begin{latexexample}[moretexcs={\includegraphics},emph={[1]figure}]
%   \begin{figure}[h]
Yu Xiong's avatar
Yu Xiong committed
%       \includegraphics[width=0.5\textwidth]{myfig}
%       \caption{我的图}
%       \label{fig:myfig}
%   \end{figure}
% \end{latexexample}
% \emph{以下图片相关功能的实现均需要手动载入相关宏包}。
% \paragraph{文字环绕}
%
% 对于较为瘦长,或者仅起到辅助作用的图像,可以使用 \pkg{wrapfig} 宏包提供的 \env{wrapfigure} 实现文字环绕效果。注意这个环境后紧跟的一行不能为空。
% \begin{latexexample}[moretexcs={\includegraphics},emph={[1]wrapfigure}]
Yu Xiong's avatar
Yu Xiong committed
%   \begin{wrapfigure}{r}{0cm}
Yu Xiong's avatar
Yu Xiong committed
%       \includegraphics[width=0.15\textwidth]{myfig}
%       \caption{我的图}
%       \label{fig:myfig}
%   \end{wrapfigure}
%   <text>
% \end{latexexample}
%
% \paragraph{多张嵌套}
% 使用 \pkg{subcaption} 宏包提供的 \env{subfigure} 环境可以实现多张图片嵌套的效果。
% \begin{latexexample}[moretexcs={\includegraphics},emph={[1]figure,subfigure}]
%   \begin{figure}
%       \begin{subfigure}{.32\textwidth}
%          \centering
%          \includegraphics[width=\textwidth]{fig1}
%          \caption{fig1}
%       \end{subfigure}
%       \begin{subfigure}{.32\textwidth}
%          \centering
%           \includegraphics[width=\textwidth]{fig2}
%           \caption{fig2}
%       \end{subfigure}
%       \begin{subfigure}{.32\textwidth}
%           \centering
%           \includegraphics[width=\textwidth]{fig3}
%           \caption{fig3}
%       \end{subfigure}
%       \caption{subfigures}
%   \end{figure}
% \end{latexexample}
% 请尽量避免使用较为老旧的 \pkg{subfig} 宏包,完全不要使用过时的 \pkg{subfigure} 宏包。两者的 CTAN 页面上均建议转移至更新的 \pkg{subcaption} 宏包。
%
Yu Xiong's avatar
Yu Xiong committed
%
Yu Xiong's avatar
Yu Xiong committed
% \subsubsection{表格}
%
% 下面这个例子展示了如何插入一张表格。通过 \pkg{booktabs} 宏包提供的 \tn{toprule}、\tn{midrule} 和 \tn{bottomrule} 命令,我们可以很轻松地绘制出一张漂亮规范的三线表。
% \begin{latexexample}[moretexcs={\toprule,\midrule,\bottomrule},emph={[1]table,tabular}]
Yu Xiong's avatar
Yu Xiong committed
%   \begin{table}[htbp]
Yu Xiong's avatar
Yu Xiong committed
%       \caption{我的表}
%       \label{tab:testtab}
%       \begin{tabular}{ccc}
%           \toprule
%           OS & TeX & 测试情况 \\
%           \midrule
%           南大TeX & Overleaf & √ \\
%           \bottomrule
%       \end{tabular}
%   \end{table}
% \end{latexexample}
% \emph{以下表格功能的实现均需要手动载入相关宏包。}
%
%
% \paragraph{合并单元格}
%
Yu Xiong's avatar
Yu Xiong committed
% \begin{function}{\multirow,\multicolumn}
%   \begin{syntax}
Yu Xiong's avatar
Yu Xiong committed
%     \tn{multirow}\Arg{nrows}\oarg{bigstructs}\Arg{width}\oarg{fixup}\Arg{text}
Yu Xiong's avatar
Yu Xiong committed
%     \tn{multicolumn}\Arg{nrows}\Arg{width}\Arg{text}
%   \end{syntax}
Yu Xiong's avatar
Yu Xiong committed
% 合并单元格。
% TODO:\pkg{multirow} 宏包的使用方法,命令较为复杂。
Yu Xiong's avatar
Yu Xiong committed
% \url{http://www.ctex.org/documents/packages/table/multirow.htm}
%
% \paragraph{更多样式}
%
Yu Xiong's avatar
Yu Xiong committed
% \pkg{tabularray} 宏包\cite{tabularray}运用 \hologo{LaTeX3} 语法重新实现了表格的绘制,提供了简明的用户接口与丰富的单元格样式,详见其使用手册。
Yu Xiong's avatar
Yu Xiong committed
% 符号表可以参考 \url{https://www.caam.rice.edu/~heinken/latex/symbols.pdf}。
Yu Xiong's avatar
Yu Xiong committed
% 单位请参考相关国家标准\footnote{GB 3100-1993, GB/T 3101-1993, GB/T 3102-1993},使用 \pkg{siunitx} 宏包。\pkg{siunitx} 是一个更新频繁的包,可能会引发兼容性问题。
%
% 行内公式形如|$\mathrm{e}^{(a+2b)x}$|。
%
% 带有编号的行间公式 \env{equation}。
% \begin{latexexample}[emph={[1]equation}]
%   \begin{equation}\label{eq:myeqlabel}
%       \pi
%   \end{equation}
% \end{latexexample}
%
% 如不需要编号,可以用 \env{equation*} 或者 |\[|\meta{公式}|\]|,请不要使用可能引发问题的 |$$|\meta{公式}|$$|\footnote{\url{https://tex.stackexchange.com/questions/503/why-is-preferable-to}}。
%
%
% \paragraph{定理环境}
%
% 本模板也提供了一系列的数学定理环境。
% 全部预定义的数学定理环境如表~\ref{tab:mathenv} 所示。其中证明环境较为特殊,会在结尾添加证毕符号(\mdwhtsquare)。用户也可以选择使用 \tn{newtheorem} 定义新的定理环境。
% \begin{table}[htbp]
%   \centering
%   \caption{数学定理环境}
%   \label{tab:mathenv}
%   \begin{tabular}{cc|cc}
%     \toprule
%     \bf 标签   & \bf 名称 & \bf 标签   & \bf 名称 \\
%     \midrule
%     axiom      & 公理     & lemma      & 引理     \\
%     corollary  & 推论     & proof      & 证明     \\
%     definition & 定义     & theorem    & 定理     \\
%     example    & 例       &            &          \\
%     \bottomrule
%   \end{tabular}
% \end{table}
%
% 使用示例如下。
% \begin{latexexample}
%   \begin{proof}
%       证明我是我
%   \end{proof}
% \end{latexexample}
% 普通环境。
% \begin{latexexample}
%   \begin{definition}[他人]
%       定义他人即地狱
%   \end{definition}
% \end{latexexample}
Yu Xiong's avatar
Yu Xiong committed
% \subsubsection{代码}
% \changes{v0.13}{2021/12/13}{提供简化的行内代码环境。}
% \changes{v0.13}{2021/12/16}{默认不加载 \pkg{listings} 宏包。}
%
% 如需展示代码,可以使用抄录环境 \tn{verb},格式如 |\verb!<code>!|。其中包裹代码的两个感叹号并不是绝对的,可以替换成任何两个相同的、没有在这段代码中出现过的符号。
%
% 抄录环境仅会用等宽字体如实呈现代码本身,并无任何附加功能。若需格式更为多样的代码环境,可以使用 \pkg{listings} 宏包。v0.14.0 版以后,本模板默认不会调用该宏包,使用代码环境前请在导言区自行导入。
% \begin{latexexample}
%   \usepackage{listings}
% \end{latexexample}
% \pkg{listings} 宏包\cite{listings}提供了 \env{lstlisting} 环境,可以生成代码块,提供语法高亮功能,会如实输出缩进空格。且值得注意的是这个环境中的代码不会在草稿模式下显示。
% 如需指定语言,可以使用 |language| 选项。如需自定义关键字,可以使用 |morekeywords| 选项。这一宏包也提供了为某种样式单独一种环境的方法,详见其手册,此处仅展示一个最简化的例子:
% \begin{latexexample}[emph={[1]lstlisting},emph={[2]language},morekeywords={print}]
Yu Xiong's avatar
Yu Xiong committed
%   \begin{lstlisting}[language=python]
%   print("Hello World")
Yu Xiong's avatar
Yu Xiong committed
%   \end{lstlisting}
% \end{latexexample}
% 当然,默认提供的代码样式在本模板中并不和谐。可以参照以下代码在导言区设置代码环境通用样式。
% \begin{latexexample}[moretexcs={\lstdefinestyle,\lstset},emph={[2]basewidth,lineskip,basicstyle,keywordstyle,commentstyle,numbers,captionpos,breaklines,xleftmargin,xrightmargin,style,flexiblecolumns}]
%   \lstdefinestyle { njulisting }
%     {
%       basewidth    = 0.5 em,               % 单个字体宽度
%       lineskip     = 3 pt,                 % 在代码行间添加额外行距
%       basicstyle   = \tiny\ttfamily,       % 基本字体样式,小号等宽
%       keywordstyle = \bfseries,            % 关键词样式,粗体
%       commentstyle = \itshape\color{gray}, % 注释样式,灰色斜体
%       numbers      = left,                 % 行号位置,左侧
%       captionpos   = t,                    % 题注位置,顶部
%       breaklines   = true,                 % 是否允许自动折行
%       xleftmargin  = 2 em,                 % 左侧边距
%       xrightmargin = 2 em                  % 右侧边距
%     }
%   \lstset{
%       style        = njulisting,           % 调用上述样式
%       flexiblecolumns                      % 允许调整字符宽度
%     }
% \end{latexexample}
% \pkg{listings} 同时提供了用于展示行内代码的 \tn{lstinline} 命令,用法同 \tn{verb}。但这一命令会被全局的代码字号设置污染。请参考如下使用方法:
Yu Xiong's avatar
Yu Xiong committed
% \begin{latexexample}[moretexcs={\lstinline,\tt},deletetexcs={\usepackage},emph={[2]language,basicstyle}]
%   \lstinline[language=[LaTeX]TeX, basicstyle=\tt]!\usepackage{njuvisual}!
% \end{latexexample}
% 简便起见,不妨单独创建使用简写的行内代码环境,指定某个符号后用其包裹代码即可。这个符号不可以出现在正文及其他命令中,请谨慎设置。
% \begin{latexexample}[moretexcs={\lstMakeShortInline},emph={[2]style,basicstyle,columns}]
%   \lstMakeShortInline[
%     style = njulisting,
%     basicstyle = \normalsize\tt,
%     columns = fixed]|
% \end{latexexample}
%
Yu Xiong's avatar
Yu Xiong committed
% \subsubsection{引用}
Yu Xiong's avatar
Yu Xiong committed
% \begin{function}{\cref}
%   \begin{syntax}
%     \tn{cref}\Arg{标签}
%   \end{syntax}
Yu Xiong's avatar
Yu Xiong committed
% 使用 \pkg{cleveref} 宏包实现了带图、表等项目名称的智能引用。
Yu Xiong's avatar
Yu Xiong committed
% \end{function}
%
% \begin{function}{\href,\url}
Yu Xiong's avatar
Yu Xiong committed
%   \begin{syntax}
%     \tn{href}\Arg{链接}\Arg{名称}
%     \tn{url}\Arg{链接}
Yu Xiong's avatar
Yu Xiong committed
%   \end{syntax}
Yu Xiong's avatar
Yu Xiong committed
% 超链接。\tn{href} 会将特定字符显示为可点击的超链接,\tn{url} 会输出可点击的链接原文。
Yu Xiong's avatar
Yu Xiong committed
% \end{function}
Yu Xiong's avatar
Yu Xiong committed
% \subsection{参考文献}
%
% 本模板默认载入 \pkg{biblatex} 宏包,使用 \hologo{biber} 作为后端\footnote{出于简化命令的考虑,现阶段并不计划支持 \hologo{BibTeX}。},通过 \pkg{biblatex-gb7714-2015}\cite{biblatex-gb7714-2015} 实现 GB/T 7714--2015\cite{gb-t-7714-2015} 规定的参考文献著录规则国家标准。
%
% 需要使用 |biber| 命令编译才会显示正确的条目序号,详情请参照 \ref{subsubsec:compileseq}。
%
% \begin{function}[added=2021-12-19]{bib/style}
%   \begin{syntax}
%     style = <(numeric)|author-year>
%   \end{syntax}
% 参考文献样式。分为顺序编码制 \opt{numeric} 和著者-出版年制 \opt{author-year},默认为顺序编码制。
% \end{function}
%
% 参考文献样式是一个整体的设置,会对正文中引用的文献的标注方法和参考文献表的输出格式产生影响。根据国家规定\cite{gb-t-7714-2015},可以按照参考文献表的组织方式分为以下两种样式:
Yu Xiong's avatar
Yu Xiong committed
% \begin{description}
%   \item[顺序编码制] 顺序编码制是按正文中引用的文献出现的先后顺序连续编码,将序号置于方括号中。参考文献表采用顺序编码制组织时,各篇文献应按正文部分标注的序号依次列出。
%   \item[著者-出版年制] 正文引用的文献采用著者-出版年制时,各篇文献的标注内容由著者姓氏与出版年构成,并置于"()"内。参考文献表采用著者-出版年制组织时,各篇文献首先按文种集中,然后按著者字顺和出版年排列。
% \end{description}
% 对于本科生而言,学校规定文件表明参考文献表应当“用数字加方括号表示”\cite{nju2021},符合顺序编码制的格式,保持默认设置即可。
%
% \begin{function}[added=2021-12-19]{bib/resource}
%   \begin{syntax}
%   \end{syntax}
% 参考文献数据源。类似于 \tn{addbibresource} 命令,但可以使用逗号分隔的列表形式。必须使用带扩展名(\file{.bib})的完整文件名。
% \end{function}
Yu Xiong's avatar
Yu Xiong committed
% \begin{function}{\addbibresource}
%   \begin{syntax}
%     \tn{addbibresource}\Arg{文件}
%   \end{syntax}
% 添加参考文献源文件。为了与 \pkg{biblatex} 进行兼容,也可使用本命令添加数据源。本命令不支持逗号分隔多个文件的形式,如果希望额外添加参考文献列表,需要在导言区中多次调用。
Yu Xiong's avatar
Yu Xiong committed
% \end{function}
% 示例参考文献存储于 \file{njuthesis-sample.bib},直接向其中粘贴新的参考文献即可。
%
% 可以参考如下范例进行参考文献设置。
% \begin{latexexample}[moretexcs={\njusetup},emph={[2]bib}]
%   \njusetup {
%       bib = {
%           style = author-year,
%           resource = {njuthesis-sample.bib}
%         }
%     }
% \end{latexexample}
% \begin{function}{\printbibliography}
% 生成参考文献表页面。
% \end{function}
% 显然只有被引用过的条目才会被输出至参考文献表。
%
% 如果开启了草稿模式,您可能会注意到部分条目存在超宽的问题,这时就要果断假装没有看到。
Yu Xiong's avatar
Yu Xiong committed
% 该问题的产生是由于 \hologo{LaTeX} 中只有固定的字母组合中间可以断行。使条目右侧平齐的方法有如下两种
% \footnote{详见 \url{https://github.com/nju-lug/NJUThesis/issues/57}。很不幸,\pkg{microtype} 与 \pkg{babel} 没能在我们的模板中解决问题。}:
% \begin{itemize}
%   \item 自行在 \file{.bib} 文件中设置断行点,例如可以将 graphene 一词修改为 graph|\-|ene。缺点是需要逐条手动排查,建议在定稿时进行修改。
Yu Xiong's avatar
Yu Xiong committed
%   \item 在 |\printbibliography| 前添加 |\sloppy| 命令拉伸词间距,缺点是可能降低美观度。
% \subsubsection{正文引用}
Yu Xiong's avatar
Yu Xiong committed
%   \begin{syntax}
%     \tn{cite}\marg{文献}
%     \tn{cite}\oarg{页码}\marg{文献}
Yu Xiong's avatar
Yu Xiong committed
%   \end{syntax}
% 在正文中引用参考文献。
Yu Xiong's avatar
Yu Xiong committed
% \end{function}
%
% 引用命令 \tn{cite} 含有多个变体,以便使用文献条目中不同的信息域。在两种参考文献样式下,这些命令的行为具体存在一些差异,详见表 \ref{tab:numeric-style} 和表 \ref{tab:author-year-style}。
% \begin{table}[ht]
%   \caption{顺序编码制下的引用样式}
%   \label{tab:numeric-style}
%   \centering
%   \begin{tblr}{cll}
%     \toprule
%       \bf 引用方式      & \bf 命令           & \bf 排版效果                   \\
%     \midrule
%       单篇文献          & \tn{cite}          & 上标可设置页码             \\
%       单篇文献          & \tn{parencite}     & 非上标可设置页码           \\
%       多篇文献          & \tn{cite}          & 上标,逗号隔开或短横线连接 \\
%       标注页码          & \tn{pagescite}     & 上标加自动页码             \\
%       标注作者          & \tn{textcite}      & 作者为主语加非上标编号     \\
%       标注作者          & \tn{authornumcite} & 作者为主语加上标编号       \\
%       完整脚注          & \tn{footfullcite}  & 脚注方式                   \\
%     \bottomrule
%   \end{tblr}
% \end{table}
%
% \begin{table}[ht]
%   \centering
%   \begin{talltblr}[
%     caption = {著者-出版年制下的引用样式},
%     label = {tab:author-year-style},
%     note{a} = {在此样式下 \tn{parencite} 效果等同于 \tn{cite}} ] {cll}
%     \toprule
%       \bf 引用方式      & \bf 命令              & \bf 排版效果                   \\
%     \midrule
%       单篇文献          & \tn{cite}\TblrNote{a} & 作者加年份用括号包围可设置页码 \\
%       多篇文献          & \tn{cite}             & 分号隔开                       \\
%       标注页码          & \tn{pagescite}        & 作者加年份用括号包围自动页码   \\
%       标注年份          & \tn{yearcite}         & 用括号包围的年份               \\
%       标注年份、页码    & \tn{yearpagescite}    & 提供年份用括号包围自动页码     \\
%       标注作者          & \tn{textcite}         & 作者为主语加加括号包围年份     \\
%       完整脚注          & \tn{footfullcite}     & 脚注方式                       \\
%     \bottomrule
%   \end{talltblr}
% \end{table}
%
%
% \subsubsection{文献管理}
%
% 参考文献数据源理应是通过文献管理软件导出的,而不是逐条手动填写的。
%
% \subparagraph{使用EndNote}
%
% 南京大学信息化建设管理服务中心已购买 \href{https://itsc.nju.edu.cn/EndNote/list.htm}{EndNote} 供全校师生免费使用,最新版为 EndNote 20。
%
%
% \subparagraph{使用Zotero}
%
% \href{https://www.zotero.org/}{Zotero}是一款免费的文献管理软件,支持所有桌面平台。
%
% 在保持 Zotero 程序运行的情况下,点击浏览器工具栏的 Zotero Connector 插件即可自动从网页抓取参考文件信息。Zotero 可以通过\href{https://github.com/l0o0/jasminum}{jasminum插件}支持中文参考文献的识别。在选中希望使用的文献后右键导出文献条目即可生成 \file{.bib} 文件。
% \subsection{特殊页面}
% 本模板也预定义了一系列用于生成所需的特殊页面的命令与环境。
%
%
% \subsubsection{封面}
%
% \begin{function}{\maketitle}
% 本科生模板仅会生成中文封面;研究生模板会生成中英文封面。
% 如果选择了 \opt{nlcover},仅会生成研究生的国家图书馆封面。
% 如果选择了 \opt{decl-page},会在封面后生成本科生的诚信承诺书或研究生的原创性声明。
% 在启用草稿模式后封面绘制将被禁用。
%
% \paragraph{封面图片}
%
% \begin{function}[added=2021-12-23]{style/emblem-img}
%   \begin{syntax}
%     emblem-img = \Arg{文件}
%   \end{syntax}
% 校徽图片文件。
% \end{function}
%
% \begin{function}[added=2021-12-23]{style/name-img}
%   \begin{syntax}
%     name-img = \Arg{文件}
%   \end{syntax}
% 校名图片文件。
% \end{function}
%
% 通过以上两个选项可以使用外置的校徽和校名图片。本模板封面中校徽及校名的绘制默认依赖 \pkg{njuvisual} 宏包提供的 \pkg{tikz} 矢量曲线,耗时较长,在替换为外置图片后可节省约1秒的编译时长。
%
%
% \subsubsection{摘要页}
% \changes{v0.11}{2021/10/01}{简化了摘要的编写方式。}
% \begin{function}{abstract,abstract*}
% 摘要。带星号的会生成英文摘要。
% \end{function}
%
% \begin{latexexample}[emph={[1]abstract,abstract*}]
%   \begin{abstract}
%       我的中文摘要
%   \end{abstract}
%
%   \begin{abstract*}
%       Abstract in English
%   \end{abstract*}
% \end{latexexample}
%
%
% \subsubsection{前言页}
% \begin{function}{preface}
% 使用 \env{preface} 环境定义。
% \end{function}
% \begin{latexexample}[emph={[1]preface,flushright}]
%   \begin{preface}
%       我的前言
%       \vspace{1cm}
%       \begin{flushright}
%       我的名字\\
%       时间地点
%       \end{flushright}
%   \end{preface}
% \end{latexexample}
%
%
% \subsubsection{目录页}
%
% \begin{function}{\tableofcontents,\listoffigures,\listoftables}
% 分别生成目录、图片目录和表格目录。
% \end{function}
%
% 目录页的标题名称一般无需修改。用户可以选择使用 \pkg{ctex} 宏集提供的 \tn{ctexset} 命令进行自定义。
% \begin{latexexample}[moretexcs={\ctexset},emph={[1]contentsname,listfigurename,listtablename}]
%   \ctexset{
%     contentsname   = { 目\hspace{2em}次 },
%     listfigurename = { 插图清单 },
%     listtablename  = { 表格清单 }
%   }
% \end{latexexample}
% 实际上,根据《学位论文编写规则》国家标准\cite{gb-t-7713.1-2006},尽管“目录”这一说法已流传甚广,但学位论文中理应使用“目次”这一名称来指代篇目的列表。
Yu Xiong's avatar
Yu Xiong committed
% \subsubsection{符号表}
%
% \begin{function}{notation,notation*}
%   \begin{syntax}
%     \tn{begin}\{notation\}\oarg{说明宽度}\oarg{符号宽度}
%     \quad\tn{item}\oarg{符号} \meta{说明}
%     \tn{end}\{notation\}
%   \end{syntax}
% 符号表。带有星号的符号表环境不会插入目录。
% \end{function}
%
%
% \subsubsection{致谢页}
%
% \begin{function}{acknowledgement}
% 同前言,使用 \env{acknowledgement} 环境。
% \end{function}
% \begin{latexexample}[emph={[1]acknowledgement}]
%   \begin{acknowledgement}
%       感谢NJU LUG
%   \end{acknowledgement}
% \end{latexexample}
%
%
% \subsubsection{附录页}
%
% \begin{function}{\appendix}
Yu Xiong's avatar
Yu Xiong committed
% 附录放在本命令后,以英文字母进行编号,编写方式同正文。
% \subsubsection{成果列表}
%
% \begin{function}[added=2021-09-29,updated=2021-12-20]{\njupaperlist}
%   \begin{syntax}
%     \tn{njupaperlist}\oarg{标题}\marg{文献}
%   \end{syntax}
% 成果列表,默认标题为发表文章目录。\Arg{文献} 的填写方式同 \tn{cite},多个文献需要使用英文半角逗号隔开。
% \end{function}
%
% 为了便于识别,成果列表中默认对发表年份进行加粗处理。而对作者姓名的处理较为复杂。利用 \pkg{biblatex} 的数据注解机制可以实现对特定文献信息的样式修改\footnote{\url{https://blog.csdn.net/xenonhu/article/details/120853247}},在此可以用来实现指定作者姓名的突出。经过注解后的一则参考文献条目如下所示:
% \begin{latexexample}[emph={[1]@inproceedings},emph={[2]author}]
%   @inproceedings{Nemec1997-209-214,
%     title = {Force control of redundant robots},
%     author = {B Nemec and Zhao, Mou Mou},
%     author+an = {2=thesisauthor},
%     booktitle = {Processings of Symposium on Robot Control},
%     shortbooktitle = {(PSRC)},
%     pages = {209-214},
%     country = {Nantes France},
%     year = {1997}
%   }
% \end{latexexample}
% 其中 |author+an| 提供了注解的标记,格式为 \meta{序号}|=|\meta{标签},以上条目中即是将第二名作者加入了指定论文作者的注解。\tn{njupaperlist} 会识别 |thesisauthor| 标签,为其指代的作者姓名进行加粗下划线处理。
%
% 除手动进行标记以外,以下也提供一种自动化处理办法。下载 \href{https://github.com/hushidong/biblatex-map}{bibmap} 全部文件后,修改主目录下的 \file{bibmapaddauthoran.py} 中 |fieldsource| 为需要匹配的姓名,将需要进行标记的 \file{.bib} 文件拷贝至本目录(此处使用 \file{test.bib} 进行示范),运行以下命令生成的参考文献数据源即可被成果列表识别加粗。
%
% \begin{shellexample}[morekeywords={python}]
%   python bibmap.py test.bib -m bibmapaddauthoran.py
% \end{shellexample}
Yu Xiong's avatar
Yu Xiong committed
% \subsection{视觉识别系统}
%
Yu Xiong's avatar
Yu Xiong committed
% 视觉识别系统 \pkg{njuvisual} 现已被分离为独立宏包\cite{njuvisual},基本使用方法举例如下:
% \begin{latexexample}[moretexcs={\njuemblem,\njuname,\njuname*}]
%   \njuemblem{!}{3cm}                           % 生成指定大小的紫色南大校徽
%   \njuname{4cm}{!}                             % 生成指定大小的紫色南大中文校名
%   \njuname*{4cm}{!}                            % 生成指定大小的紫色南大英文校名
%   \njuemblem[black]{!}{3cm}                    % 黑色的南大校徽
%   \njuemblem[department=dii]{!}{4cm}           % 紫色匡院徽标
%   \njuemblem[department=cs,color=blue]{!}{3cm} % 纯蓝色计科徽标
% \end{latexexample}
Yu Xiong's avatar
Yu Xiong committed
% 本宏包的详细使用方法请参考其使用手册。
Yu Xiong's avatar
Yu Xiong committed
%
% \begin{thebibliography}{99}
%
% \newcommand\urlprefix{\newline\hspace*{\fill}}
% \let\OldUrl=\url
% \renewcommand\url[2][]{{\small\textit{#1}~\OldUrl{#2}}}
% \newcommand\CTANurl[2][]{{^^A
%   \small\textit{#1}~\href{http://mirror.ctan.org/#2}{\texttt{CTAN://#2}}}}
%
% \subsection*{书籍}
Yu Xiong's avatar
Yu Xiong committed
%
% \bibitem{lshort}
% \textsc{Oetiker T}, \textsc{Partl H}, \textsc{Hyna I}, et al.
% \newblock \textit{The Not So Short Introduction to \hologo{LaTeXe}: Or \hologo{LaTeXe} in 139 minutes} [EB/OL].
% \newblock version 6.4,
% \newblock (2021-03-09)
% \urlprefix\url{https://ctan.org/pkg/lshort-english}
% \urlprefix\CTANurl[文档:]{info/lshort/english/lshort.pdf}
%
% \bibitem{lshort-zh-cn}
% \textsc{Oetiker T}, \textsc{Partl H}, \textsc{Hyna I}, et al.
% \newblock \textit{一份(不太)简短的 \hologo{LaTeXe} 介绍: 或 111 分钟了解 \hologo{LaTeXe}} [EB/OL].
% \newblock \CTeX{} 开发小组, 译.
% \newblock 原版版本 version 6.4, 中文版本 version 6.03,
% \newblock (2021-11-21)
% \urlprefix\url{https://ctan.org/pkg/lshort-zh-cn}
% \urlprefix\CTANurl[文档:]{info/lshort/chinese/lshort-zh-cn.pdf}
%
Yu Xiong's avatar
Yu Xiong committed
% \bibitem{install-latex-guide-zh-cn}
% 王然.
% \newblock \textit{一份简短的关于 \hologo{LaTeX} 安装的介绍} [EB/OL].
% \newblock version 2021.12.1,
% \newblock (2021-12-01)
% \urlprefix\url{https://ctan.org/pkg/install-latex-guide-zh-cn}
% \urlprefix\CTANurl[文档:]{info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf}
%
% \bibitem{刘海洋2013latex入门}
% 刘海洋.
% \newblock \textit{\hologo{LaTeX} 入门} [M].
% \newblock 北京: 电子工业出版社, 2013
%
Yu Xiong's avatar
Yu Xiong committed
%
% \subsection*{标准、规范}
Yu Xiong's avatar
Yu Xiong committed
% \bibitem{gb-t-7408-2005}
% 全国信息与文献标准化技术委员会.
% \newblock \textit{数据元和交换格式\quad 信息交换~ 日期和时间表示法: GB/T 7408--2005} [S].
% \newblock 北京: 中国标准出版社, 2005
%
% \bibitem{gb-t-7713.1-2006}
% 全国信息与文献标准化技术委员会.
% \newblock \textit{学位论文编写规则: GB/T 7713.1--2006} [S].
% \newblock 北京: 中国标准出版社, 2006
%
% \bibitem{gb-t-7714-2015}
% 全国信息与文献标准化技术委员会.
% \newblock \textit{信息与文献\quad 参考文献著录规则: GB/T 7714--2015} [S].
% \newblock 北京: 中国标准出版社, 2015
%
% \bibitem{nju2021}
% 南京大学本科生院.
% \newblock \textit{关于启动南京大学2022届本科毕业论文(设计)工作的通知} [EB/OL].
% \newblock (2021-12-14)
% \urlprefix\url{https://jw.nju.edu.cn/7c/86/c26263a556166/page.htm}
%
%
% \subsection*{宏包}
Yu Xiong's avatar
Yu Xiong committed
%
% \bibitem{biblatex-gb7714-2015}
% 胡振震.
% \newblock \textit{符合 GB/T 7714-2015 标准的 biblatex 参考文献样式} [EB/OL].
% \newblock version 1.1b,
% \newblock (2021-12-11)
% \urlprefix\url{https://ctan.org/pkg/biblatex-gb7714-2015}
% \urlprefix\CTANurl[文档:]{biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf}
%
Yu Xiong's avatar
Yu Xiong committed
% \bibitem{latexmk}
% \textsc{Collins J}.
% \newblock \textit{Fully automated \hologo{LaTeX} document generation} [EB/OL].
% \newblock version 4.76,
% \newblock (2021-11-20)
% \urlprefix\url{https://www.ctan.org/pkg/latexmk}
% \urlprefix\CTANurl[文档:]{support/latexmk/latexmk.pdf}
%
% \bibitem{listings}
% \textsc{Heinz C}, \textsc{Moses B}, \textsc{Hoffmann J}.
% \newblock \textit{Typeset source code listings using \hologo{LaTeX}} [EB/OL].
% \newblock version 1.8d,
% \newblock (2020-03-24)
% \urlprefix\url{https://www.ctan.org/pkg/listings}
% \urlprefix\CTANurl[文档:]{macros/latex/contrib/listings/listings.pdf}
%
Yu Xiong's avatar
Yu Xiong committed
% \bibitem{njuvisual}
% \textsc{Yu Xiong}.
% \newblock \textit{Display logos related to Nanjing University} [EB/OL].
% \newblock version 0.2.1,
% \newblock (2022-01-09)
% \urlprefix\url{https://ctan.org/pkg/njuvisual}
% \urlprefix\CTANurl[文档:]{macros/latex/contrib/njuvisual/njuvisual.pdf}
Yu Xiong's avatar
Yu Xiong committed
% \bibitem{tabularray}
% \textsc{Jianrui Lyu}.
% \newblock \textit{Typeset tabulars and arrays with \hologo{LaTeX3}} [EB/OL].
% \newblock version 2021Q,
% \newblock (2021-12-01)
% \urlprefix\url{https://ctan.org/pkg/tabularray}
% \urlprefix\CTANurl[文档:]{macros/latex/contrib/tabularray/tabularray.pdf}
%
%
% \subsection*{模板}
%
% \bibitem{fduthesis}
% 曾祥东.
% \newblock \textit{fduthesis: 复旦大学论文模板} [EB/OL].
% \newblock version 0.7e,
% \newblock (2020-08-30)
% \urlprefix\url{https://ctan.org/pkg/fduthesis}
% \urlprefix\CTANurl[文档及源代码:]{macros/latex/contrib/fduthesis/fduthesis.pdf}
%
% \bibitem{thuthesis}
% 清华大学 TUNA 协会.
% \newblock \textit{\textsc{ThuThesis}:清华大学学位论文模板} [EB/OL].
% \newblock version 7.2.3,
% \newblock (2021-05-31)
% \urlprefix\url{https://ctan.org/pkg/thuthesis}
% \urlprefix\CTANurl[文档及源代码:]{macros/latex/contrib/thuthesis/thuthesis.pdf}
%
%
% \emph{以下模版现已停止更新。}
%
% \bibitem{wenboyang2013}
% 杨文博.
% \newblock \textit{南京大学学位论文 \hologo{LaTeX} 模板} [EB/OL].
% \newblock (2018-06-23)
% \urlprefix\url{https://github.com/solrex/njuthesis}
%
% \bibitem{fireblue2013}
% \textsc{fireblue}.
% \newblock \textit{南京大学学位论文 \hologo{LaTeX} 模板} [EB/OL].
% \newblock (2013-04-13)
% \urlprefix\url{https://github.com/fireblue/NJUThesis}
%
% \bibitem{wenhai-zheng2013}
% \textsc{wenhai-zheng}.
% \newblock \textit{南京大学本科毕业论文 \hologo{LaTeX} 模板} [EB/OL].
% \newblock (2013-08-12)
% \urlprefix\url{https://github.com/wenhai-zheng/NJUThesis}
%
% \bibitem{zenglecao2013}
% 曹增乐.
% \newblock \textit{南京大学本科毕业论文(设计) \hologo{LaTeX} 模板} [EB/OL].
% \newblock (2019-06-26)
% \urlprefix\url{https://github.com/ZLCao/NJUBachelor}
%
% \bibitem{haixinghu2013}
% 胡海星.
% \newblock \textit{南京大学学位论文 \hologo{XeLaTeX} 模板} [EB/OL].
% \newblock (2018-08-08)
% \urlprefix\url{https://github.com/Haixing-Hu/nju-thesis}
%
% \bibitem{chuhengzhang2016}
% 张楚珩.
% \newblock \textit{南京大学本科生毕业论文 \hologo{LaTeX} 模板} [EB/OL].
% \newblock (2016-06-01)
% \urlprefix\url{https://github.com/zhangchuheng123/NJUThesis}
%
% \bibitem{yanyanjiang2017}
% 蒋炎岩.
% \newblock \textit{南京大学山寨 \hologo{LyX} 研究生毕业论文模板} [EB/OL].
% \newblock (2019-01-16)
% \urlprefix\url{https://github.com/jiangyy/njuthesis}
%
% \bibitem{njuHan2018}
% \textsc{njuHan}.
% \newblock \textit{南京大学学位论文(本科/硕士/博士),毕业论文 \hologo{LaTeX} 模板} [EB/OL].
% \newblock (2021-06-15)
% \urlprefix\url{https://github.com/njuHan/njuthesis-nju-thesis-template}
%
% \bibitem{anyirao2018}
% 饶安逸.
% \newblock \textit{南京大学本科生毕业论文 \hologo{LaTeX} 模板 2018 新版} [EB/OL].
% \newblock (2018-06-24)
% \urlprefix\url{https://github.com/AnyiRao/NJUThesis2018}
%
% \bibitem{yichenzhao2021}
% 赵懿晨.
% \newblock \textit{南京大学本科生毕业论文 \hologo{LaTeX} 模板(2021版)} [EB/OL].
% \newblock (2021-09-23)
% \urlprefix\url{https://github.com/FengChendian/NJUThesis2021}
%
%
Yu Xiong's avatar
Yu Xiong committed
% \end{thebibliography}
%
%
Yu Xiong's avatar
Yu Xiong committed
% \section{代码实现}
Yu Xiong's avatar
Yu Xiong committed
% \changes{v0.10}{2021/09/26}{对代码实现部分进行了整理。}
%
% 本模板使用 \hologo{LaTeX3} 语法编写,依赖 \pkg{expl3} 环境,
% 并需调用 \pkg{l3packages} 中的相关宏包。
%
Yu Xiong's avatar
Yu Xiong committed
% 以下代码中有一些形如 \textsf{\color{guard@series!!}〈*class〉}
% 的标记,这是 \pkg{DocStrip} 中的“guard”,用来选择性地提取文件。
% “|*|”和“|/|”分别表示该部分的开始和结束。不含
% “|*|”和“|/|”的 guard 出现在行号右侧,它们用来确定
% 单独一行代码的归属。这些 guard 的颜色深浅不一,用以明确嵌套关系。
%
Yu Xiong's avatar
Yu Xiong committed
% 另有若干包含 \textsf{\color{at@guard}@@} 的 guard,用以表示名空间(模块)。
% 在删除注释生成格式文件时,源代码变量名称中的 |@@| 会被等号后的字段替换,
% 譬如在本模板中 \textsf{\color{at@guard}〈@@=nju〉}。
% \subsection{准备}
%    \begin{macrocode}
Yu Xiong's avatar
Yu Xiong committed
%<*class>
Yu Xiong's avatar
Yu Xiong committed
%<@@=nju>
Yu Xiong's avatar
Yu Xiong committed
%    \end{macrocode}
%
Yu Xiong's avatar
Yu Xiong committed
% \changes{v0.11}{2021/10/23}{添加了若干环境检查与警告信息。}
% \changes{v0.12}{2021/12/03}{放宽对于 \pkg{l3packages} 的版本要求。}
% 检查 \hologo{LaTeX3} 编程环境。
%    \begin{macrocode}
\RequirePackage { xtemplate, l3keys2e }
\msg_new:nnn { njuthesis } { l3-too-old }
  {
Yu Xiong's avatar
Yu Xiong committed
    Package~ "#1"~ is~ too~ old. \\
    Please~ update~ an~ up-to-date~ version~ of~
    the~ bundles "l3kernel"~ and~ "l3packages"~
Yu Xiong's avatar
Yu Xiong committed
    using~ your~ TeX~ package~ manager~ or~ from~ \\
Yu Xiong's avatar
Yu Xiong committed
    CTAN.
\clist_map_inline:nn { xtemplate, l3keys2e }
    \@ifpackagelater {#1} { 2020/10/01 }
      { } { \msg_error:nnn { njuthesis } { l3-too-old } {#1} }
  }

%    \end{macrocode}
%
Yu Xiong's avatar
Yu Xiong committed
% 目前 \cls{njuthesis} 仅支持 \hologo{XeTeX} 和 \hologo{LuaTeX}。
%    \begin{macrocode}
\msg_new:nnn { njuthesis } { unsupported-engine }
  {
    The~ njuthesis~ class~ requires~ either~
Yu Xiong's avatar
Yu Xiong committed
    XeTeX~ or~ LuaTeX. \\
    "#1"~ is~ not~ supported~ at~ present.~
    You~ must~ change~ your~ typesetting~ engine~
Yu Xiong's avatar
Yu Xiong committed
    to~ "xelatex"~ or~ "lualatex".
  }
\sys_if_engine_xetex:F
  {
    \sys_if_engine_luatex:F
      {
        \msg_fatal:nnx { njuthesis } { unsupported-engine }
          { \c_sys_engine_str }
      }
  }
%    \end{macrocode}
%
% \subsection{定义变量}
%
% 在变量名称中,|l| 代表局部变量,|g| 代表全局变量,|c| 代表常量,最后一个下划线后的内容指示其类型。
Yu Xiong's avatar
Yu Xiong committed
% \begin{variable}{\l_@@_tmp_box,\l_@@_tmp_clist,\l_@@_tmp_dim,
%   \l_@@_tmp_int,\l_@@_tmp_seq,\l_@@_tmp_tl}
% 临时变量。
%    \begin{macrocode}
Yu Xiong's avatar
Yu Xiong committed
\box_new:N   \l_@@_tmp_box
\clist_new:N \l_@@_tmp_clist
\dim_new:N   \l_@@_tmp_dim
Yu Xiong's avatar
Yu Xiong committed
\int_new:N   \l_@@_tmp_int
\seq_new:N   \l_@@_tmp_seq
\tl_new:N    \l_@@_tmp_tl
% \end{variable}
% \begin{variable}{\l_@@_info_degree_int,
%   \l_@@_info_diploma_int,\l_@@_info_type_int}
% 用于存储学位类型的变量。
Yu Xiong's avatar
Yu Xiong committed
\int_new:N \l_@@_info_degree_int
\int_new:N \l_@@_info_diploma_int
\int_new:N \l_@@_info_type_int
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\l_@@_info_degree_tl,\l_@@_info_diploma_tl,
%   \l_@@_info_type_tl}
% 用于存储学位名称的变量。
%    \begin{macrocode}
\tl_new:N  \l_@@_info_degree_tl
\tl_new:N  \l_@@_info_diploma_tl
\tl_new:N  \l_@@_info_type_tl
% \end{variable}
% \begin{variable}{\g_@@_twoside_bool}
% 定义用于判断是否使用双面模式的变量,初始值为使用双面模式。
%    \begin{macrocode}
\bool_new:N \g_@@_twoside_bool
\bool_set_true:N \g_@@_twoside_bool
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\l_@@_second_supv_bool}
% 定义用于判断是否有第二导师的变量。
%    \begin{macrocode}
\bool_new:N \l_@@_second_supv_bool
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\l_@@_info_supv_full_tl,\l_@@_info_supv_full_en_tl}
% 用于存储导师姓名加职称的变量。
\tl_new:N \l_@@_info_supv_full_tl
\tl_new:N \l_@@_info_supv_full_en_tl
% \end{variable}
% \begin{variable}{\g_@@_load_sys_font_bool}
% 定义用于判断是否需要载入系统预装字体的变量。
%    \begin{macrocode}
\bool_new:N \g_@@_load_sys_font_bool
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\g_@@_latin_font_tl,\g_@@_cjk_font_tl}
% 用于存储所使用字体名称的全局变量
%    \begin{macrocode}
\tl_new:N \g_@@_latin_font_tl
\tl_new:N \g_@@_cjk_font_tl
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\l_@@_info_sm_date_tl,\l_@@_info_sm_date_en_tl,\l_@@_info_df_date_tl}
% 用于存储格式化后的论文提交日期和答辩日期的变量。
%    \begin{macrocode}
\tl_new:N \l_@@_info_sm_date_tl
\tl_new:N \l_@@_info_sm_date_en_tl
\tl_new:N \l_@@_info_df_date_tl
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\c_@@_today_tl}
% 编译当天日期,格式为 |yyyy-mm-dd|。
%    \begin{macrocode}
\tl_const:Nx \c_@@_today_tl
  {
    \int_to_arabic:n { \c_sys_year_int  } -
    \int_to_arabic:n { \c_sys_month_int } -
    \int_to_arabic:n { \c_sys_day_int   }
  }
%    \end{macrocode}
% \end{variable}
%
Yu Xiong's avatar
Yu Xiong committed
% \begin{variable}{\c_@@_name_type_clist,\c_@@_name_type_en_clist,
%   \c_@@_name_degree_clist,\c_@@_name_degree_en_clist}
% 论文类型与学位类型。
%    \begin{macrocode}
\clist_const:Nn \c_@@_name_type_clist
  { 毕业论文, 毕业设计 }
\clist_const:Nn \c_@@_name_type_en_clist
  { THESIS, DESIGN }
\clist_const:Nn \c_@@_name_degree_clist
  { 学士, 硕士, 硕士专业, 博士 }
\clist_const:Nn \c_@@_name_degree_en_clist
  { Bachelor, Master, Master, Doctor~of~Philosophy }
%    \end{macrocode}
% \end{variable}
%
% \begin{variable}{\c_@@_month_en_clist}
% 英文月份名称。
%    \begin{macrocode}
\clist_const:Nn \c_@@_month_en_clist
  {
    January, February, March, April, May, June,
    July, August, September, October, November, December
  }
%    \end{macrocode}
% \end{variable}
%