summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/njuthesis/njuthesis.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-10-23 20:38:45 +0000
committerKarl Berry <karl@freefriends.org>2022-10-23 20:38:45 +0000
commitca6c52a267964f90dad17c9b7e4ddaff34d50b68 (patch)
tree365007c004eb91804d38a4c9078c3ae793df978c /Master/texmf-dist/source/latex/njuthesis/njuthesis.dtx
parent393ddc705e6ca75bdda91484fe44e15b8e80a626 (diff)
njuthesis (23oct22)
git-svn-id: svn://tug.org/texlive/trunk@64793 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/njuthesis/njuthesis.dtx')
-rw-r--r--Master/texmf-dist/source/latex/njuthesis/njuthesis.dtx1239
1 files changed, 677 insertions, 562 deletions
diff --git a/Master/texmf-dist/source/latex/njuthesis/njuthesis.dtx b/Master/texmf-dist/source/latex/njuthesis/njuthesis.dtx
index ced6a7f27e3..b3da068451c 100644
--- a/Master/texmf-dist/source/latex/njuthesis/njuthesis.dtx
+++ b/Master/texmf-dist/source/latex/njuthesis/njuthesis.dtx
@@ -20,8 +20,9 @@
% This work consists of the files njuthesis.dtx,
% and the derived files njuthesis.ins,
% njuthesis.cls,
-% njuthesis-undergraduate.def,
% njuthesis-graduate.def,
+% njuthesis-postdoctoral.def,
+% njuthesis-undergraduate.def,
% njuthesis.pdf,
% and README.md.
%
@@ -61,7 +62,7 @@ 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
+ 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.
@@ -118,7 +119,7 @@ To produce the documentation run the original source files ending with
%<*!(driver|install)>
% ^^A 诚耀百廿,雄创一流
% ^^A 南京大学一百二十周年华诞邀您共襄盛举!
-%<+!driver>\GetIdInfo $Id: njuthesis.dtx 1.0.0 2022-08-08 14:50:00
+%<+!driver>\GetIdInfo $Id: njuthesis.dtx 1.1.0 2022-10-23 12:30:00
%<+!driver> +0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
%<class> {Thesis template for Nanjing University}
%<class>\ProvidesExplClass{njuthesis}
@@ -134,15 +135,17 @@ To produce the documentation run the original source files ending with
%<*driver>
\ProvidesFile{njuthesis.dtx}
\documentclass[fontset=fandol]{ctxdoc}
-\usepackage{listings,njuvisual,tabularray,unicode-math,zhlineskip}
+\usepackage{listings,njuvisual,tabularray,unicode-math,xeCJKfntef,zhlineskip}
\usepackage[firstpage=true]{background}
\backgroundsetup{
contents={\njuemblem[white!85!gray]{22cm}{!}},
scale=1, angle=0, hshift=-4cm
}
\definecolor{olgreen}{HTML}{138a07}
+\renewcommand\emph[1]{\CJKunderdot[textformat=\itshape]{#1}}
\newcommand\olbutton[1]{\textcolor{olgreen}{\bfseries #1}}
\newcommand\tikzlogo{Ti\emph{k}Z}
+\newcommand\OPT[1]{\textcolor{njuyellow}{\bfseries#1}}
\hypersetup{
pdftitle = {
The njuthesis class -
@@ -216,7 +219,8 @@ To produce the documentation run the original source files ending with
alsoletter = {*, -, .},
texcsstyle = *\color{njuviolet},
emphstyle = [1]\color{nju-ai-orange},
- emphstyle = [2]\color{nju-cs-green}
+ emphstyle = [2]\color{nju-cs-green},
+ emphstyle = [3]\bfseries\color{njuyellow}
}
\lstnewenvironment{shellexample}[1][]{%
\lstset{style=style@shell, #1}}{}
@@ -351,7 +355,7 @@ To produce the documentation run the original source files ending with
% \thanks{E-mail: \href{mailto:git+nju-lug-email-3104-issue-@yaoge123.cn}
% {git+nju-lug-email-3104-issue-@yaoge123.cn}}}
%
-% \date{v1.0.0 \quad 2022-08-08}
+% \date{v1.1.0 \quad 2022-10-23}
%
% \changes{v0.1}{2021/09/04}{开始开发。}
% \changes{v0.2}{2021/09/07}{初步搭建了可用的模板。}
@@ -389,17 +393,17 @@ To produce the documentation run the original source files ending with
% \maketitle
%
% \begin{abstract}
-% 南京大学学位论文 \LaTeX 模板 \cls{njuthesis} 基于本科生院的论文撰写
-% 规范制作,同时参考研究生院提供的硕士、博士学位材料包,用于生成符合南京大学学
-% 位论文排版要求和相应的国家规范、行业标准的学位论文,旨在为同学提供毕业论文书
-% 写的方便。
+% \cls{njuthesis} 是制作南京大学本科生毕业论文、研究生学位论文、博士后出站报告的
+% \LaTeX 文档类。本模板基于本科生院的论文撰写规范制作,同时参考研究生院提供的硕士、
+% 博士学位材料包,用于生成符合南京大学排版要求和相应的国家规范、行业标准的学位论
+% 文,力求通过 \LaTeX3 语法实现清晰的实现逻辑、较高的可定制性以及友好的用户接口。
% \end{abstract}
%
% \def\abstractname{Abstract}
% \begin{abstract}
% The \cls{njuthesis} class is intended for typesetting Nanjing University
% dissertations with \LaTeX, providing support for bachelor, master,
-% and doctoral thesis.
+% doctoral theses as well as postdoctoral reports.
% \end{abstract}
%
% \vspace{2cm}
@@ -652,6 +656,7 @@ To produce the documentation run the original source files ending with
% \file{njuthesis-sample.bib} & 示例参考文献列表 \\
% \file{njuthesis-sample.tex} & 示例文档,不妨以此为基础撰写论文 \\
% \file{njuthesis-graduate.def} & 研究生参数配置文件 \\
+% \file{njuthesis-postdoctoral.def} & 博士后参数配置文件 \\
% \file{njuthesis-undergraduate.def} & 本科生参数配置文件 \\
% \file{README.md} & 自述文件 \\
% \bottomrule
@@ -829,7 +834,7 @@ To produce the documentation run the original source files ending with
% \begin{description}
% \item[Perl] 一般预装于 macOS 和 Linux,而 Windows 用户需要单独安装
% \href{https://strawberryperl.com/}{Strawberry Perl}。
-% \item[\pkg{latexmk}] 如果终端找不到 |latexmk| 命令,需使用包管理器单独安装。
+% \item[\normalfont\pkg{latexmk}] 如果终端找不到 |latexmk| 命令,需使用包管理器单独安装。
% \end{description}
%
% 该命令的使用方法为
@@ -960,15 +965,15 @@ To produce the documentation run the original source files ending with
% \subsubsection{学位信息}
% \begin{function}[added=2021-09-07,updated=2022-07-23]{type}
% \begin{syntax}
-% type = <(bachelor)|master|doctor|postdoc>
+% \OPT{type} = <(bachelor)|master|doctor|postdoc>
% \end{syntax}
-% 选择毕业论文模板类型,这将决定模板整体的外观。
-% 可选值分别为学士(本科生)、硕士研究生和博士研究生,默认为学士。
+% 选择毕业论文模板类型,这将决定模板整体的外观。可选值分别为
+% 学士(本科生)、硕士研究生、博士研究生和博士后,默认为学士。
% \end{function}
%
% \begin{function}[added=2021-09-07,updated=2022-07-01]{degree}
% \begin{syntax}
-% degree = <(academic)|professional>
+% \OPT{degree} = <(academic)|professional>
% \end{syntax}
% 选择研究生的学位类型。可选值分别学术型和专业型,默认为学术型。
% \end{function}
@@ -978,7 +983,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2021-09-07,updated=2022-07-05]{nl-cover}
% \begin{syntax}
-% nl-cover = <\TFF>
+% \OPT{nl-cover} = <\TFF>
% \end{syntax}
% 是否使用国家图书馆封面,默认关闭。
% \end{function}
@@ -988,7 +993,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[updated=2022-01-06]{decl-page}
% \begin{syntax}
-% decl-page = <\TFF>
+% \OPT{decl-page} = <\TFF>
% \end{syntax}
% 是否需要自动生成声明页面,默认关闭。
% \end{function}
@@ -1009,7 +1014,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-01-14]{oneside,twoside}
% \begin{syntax}
-% <oneside|(twoside)>
+% <\OPT{oneside}|(\OPT{twoside})>
% \end{syntax}
% 开启单面或双面模式,默认为双面模式。
% \end{function}
@@ -1022,7 +1027,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2021-12-15]{draft}
% \begin{syntax}
-% draft = <\TFF>
+% \OPT{draft} = <\TFF>
% \end{syntax}
% 是否开启草稿模式,默认关闭。
% \end{function}
@@ -1042,9 +1047,9 @@ To produce the documentation run the original source files ending with
% 宏包的代码环境不会显示内容,具体效果需要参照各个宏包的说明文档。
% 如需抵消草稿模式的影响,请使用 \opt{final} 选项载入相关宏包。
%
-% \begin{function}[added=2022-04-19,updated=2022-07-04]{anonymous}
+% \begin{function}[added=2022-04-19,updated=2022-09-26]{anonymous}
% \begin{syntax}
-% anonymous = <\TFF>
+% \OPT{anonymous} = <\TFF>
% \end{syntax}
% 是否开启盲审模式。
% \end{function}
@@ -1054,6 +1059,7 @@ To produce the documentation run the original source files ending with
% \item 不显示校名校徽图片
% \item 不显示“南京大学”字样
% \item 不显示作者、导师等基本信息
+% \item 不显示声明页、致谢页
% \end{itemize}
%
%
@@ -1068,31 +1074,31 @@ To produce the documentation run the original source files ending with
% footmisc,
% unicode-math}
% \begin{syntax}
-% biblatex = <\TTF>
-% cleveref = <\TTF>
-% ntheorem = <\TTF>
-% enumitem = <\TTF>
-% footmisc = <\TTF>
-% unicode-math = <\TTF>
+% \OPT{biblatex} = <\TTF>
+% \OPT{cleveref} = <\TTF>
+% \OPT{ntheorem} = <\TTF>
+% \OPT{enumitem} = <\TTF>
+% \OPT{footmisc} = <\TTF>
+% \OPT{unicode-math} = <\TTF>
% \end{syntax}
% 是否默认载入某些宏包,默认均是。选项名和宏包名是一致的。
% \end{function}
%
% \begin{function}[added=2022-08-03]{minimal}
% \begin{syntax}
-% <minimal>
+% <\OPT{minimal}>
% \end{syntax}
% 最小化模式,禁用所有上述宏包。
% \end{function}
%
% 本模板内置了一系列宏包以进行功能扩展。这些宏包为:
% \begin{description}
-% \item[\pkg{biblatex}] 复杂参考文献数据的处理。
-% \item[\pkg{cleveref}] 按来源类型自动处理引用标签。
-% \item[\pkg{ntheorem}] 定理类环境定制。
-% \item[\pkg{enumitem}] 列表环境样式定制。
-% \item[\pkg{footmisc}] 脚注样式定制。
-% \item[\pkg{unicode-math}] 支持 Unicode 数学字体。
+% \item[\normalfont\pkg{biblatex}] 复杂参考文献数据的处理。
+% \item[\normalfont\pkg{cleveref}] 按来源类型自动处理引用标签。
+% \item[\normalfont\pkg{ntheorem}] 定理类环境定制。
+% \item[\normalfont\pkg{enumitem}] 列表环境样式定制。
+% \item[\normalfont\pkg{footmisc}] 脚注样式定制。
+% \item[\normalfont\pkg{unicode-math}] 支持 Unicode 数学字体。
% \end{description}
%
% 在某些情况下,这些宏包会与旧有的经验方法冲突,可以使用上述选项在模板
@@ -1102,7 +1108,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-02-23]{config}
% \begin{syntax}
-% config = \Arg{文件}
+% \OPT{config} = \Arg{文件}
% \end{syntax}
% 配置文件路径。
% \end{function}
@@ -1118,8 +1124,8 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2021-09-07,updated=2021-12-18]{cjk-font,latin-font}
% \begin{syntax}
-% cjk-font = <win|mac|fandol|founder|noto|source|none>
-% latin-font = <win|mac|gyre|none>
+% \OPT{cjk-font} = <win|mac|fandol|founder|noto|source|none>
+% \OPT{latin-font} = <win|mac|gyre|none>
% \end{syntax}
% 手动指定字体。
% \end{function}
@@ -1202,18 +1208,19 @@ To produce the documentation run the original source files ending with
% 字体配置。Windows 和 macOS 以外的系统采用 \opt{gyre} 配置。
%
% \begin{table}[!htbp]
+% \def\TG#1{TG~#1~\TA}
% \centering
% \begin{talltblr} [
% caption = {西文字体配置},
-% label = {tab:latin-fontset},
+% label = {tab:latin-fontset},
% note{a} = {TG 表示 \href{http://www.gust.org.pl/projects/e-foundry/tex-gyre}{\TeX~Gyre}。} ]
% { colspec = {cccc} }
% \toprule
-% 配置名称 & 衬线体 & 无衬线体 & 等宽字体 \\
+% 配置名称 & 衬线体 & 无衬线体 & 等宽字体 \\
% \midrule
-% \opt{win} & Times~New~Roman & Arial & Courier~New \\
-% \opt{mac} & Times~New~Roman & Arial & Menlo \\
-% \opt{gyre} & TG Termes & TG Heros & TG Cursor \\
+% \opt{win} & Times~New~Roman & Arial & Courier~New \\
+% \opt{mac} & Times~New~Roman & Arial & Menlo \\
+% \opt{gyre} & \TG{Termes} & \TG{Heros} & \TG{Cursor} \\
% \bottomrule
% \end{talltblr}
% \end{table}
@@ -1223,39 +1230,40 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-07-02]{math-font}
% \begin{syntax}
-% math-font=<asana|cambria|fira|garamond|lm|...|termes|xits|none>
+% \OPT{math-font} = <asana|cambria|fira|garamond|lm|...|termes|(xits)|none>
% \end{syntax}
-% 设置数学字体。
+% 设置数学字体。完整列表见表 {tab:math-fontset}。
% \end{function}
%
-% 本模板采用 \pkg{unicode-math} 宏包配置数学公式环境中使用的字体。
-% 与原生 \LaTeX{} 最接近的字体对应 \opt{lm},
-% 与 MS Word 最接近的字体对应 \opt{cambria}。
+% 本模板默认采用 \pkg{unicode-math} 宏包配置数学模式下使用的字体。
+% 与原生 \LaTeX{} 最接近的字体对应 \opt{lm},MS Word 预装的字体对应 \opt{cambria}。
%
% \begin{table}[!htbp]
+% \def\NCM{New Computer Modern}
% \centering
% \begin{talltblr} [
% caption = {数学字体配置},
-% label = {tab:math-fontset},
+% label = {tab:math-fontset},
% note{a} = {TG 表示 \href{http://www.gust.org.pl/projects/e-foundry/tex-gyre}{\TeX~Gyre}。},
% note{b} = {粗体使用 XITS Math Bold。} ]
% { colspec = {ccl} }
% \toprule
-% 配置名称 & 字体名称 & 描述 \\
+% 配置名称 & 字体名称 & 描述 \\
% \midrule
-% \opt{asana} & Asana Math & \\
-% \opt{cambria} & Cambria Math & 微软 Office 预装的数学字体 \\
-% \opt{fira} & Fira Math & 无衬线数学字体,Fira 风格 \\
-% \opt{garamond} & Garamond Math & Garamond 风格 \\
-% \opt{lm} & Latin Modern Math & Computer Modern 风格 \\
-% \opt{libertinus} & Libertinus Math & \\
-% \opt{stix} & STIX Math & Times 风格 \\
-% \opt{bonum} & TG Bonum Math \TblrNote{a} & \\
-% \opt{dejavu} & TG DejaVu Math \TblrNote{a} & DejaVu 风格 \\
-% \opt{pagella} & TG Pagella Math \TblrNote{a} & Palatino 风格 \\
-% \opt{schola} & TG Schola Math \TblrNote{a} & \\
-% \opt{termes} & TG Termes Math \TblrNote{a} & Times 风格 \\
-% \opt{xits} & XITS Math \TblrNote{b} & 基于 STIX,Times 风格 \\
+% \opt{asana} & Asana Math & \\
+% \opt{cambria} & Cambria Math & 微软 Office 预装的数学字体 \\
+% \opt{fira} & Fira Math & 无衬线数学字体,Fira 风格 \\
+% \opt{garamond} & Garamond Math & Garamond 风格 \\
+% \opt{lm} & Latin Modern Math & Computer Modern 风格 \\
+% \opt{libertinus} & Libertinus Math & \\
+% \opt{newcm} & \NCM~Math & Computer Modern 风格 \\
+% \opt{stix} & STIX Math & Times 风格 \\
+% \opt{bonum} & TG Bonum Math \TA & \\
+% \opt{dejavu} & TG DejaVu Math \TA & DejaVu 风格 \\
+% \opt{pagella} & TG Pagella Math \TA & Palatino 风格 \\
+% \opt{schola} & TG Schola Math \TA & \\
+% \opt{termes} & TG Termes Math \TA & Times 风格 \\
+% \opt{xits} & XITS Math \TB & 基于 STIX,Times 风格 \\
% \bottomrule
% \end{talltblr}
% \end{table}
@@ -1264,7 +1272,7 @@ To produce the documentation run the original source files ending with
%
% 本节提及的字库中,中文字库只有方正书宋、方正黑体、方正楷体、方正仿宋、
% 两种思源字体和四种Fandol字体能够\emph{免费商用};
-% 英文字库中只有 Times New Roman、XITS 和三种 \TeX Gyre字体能够\emph{免费商用}。
+% 英文字库中只有 Times New Roman、XITS 和三种 \TeX~Gyre字体能够\emph{免费商用}。
% 因此,若需要将本模板用于商业相关的活动,请咨询专业人士。
%
%
@@ -1280,49 +1288,53 @@ To produce the documentation run the original source files ending with
% 根据可选参数填写方式不同,\tn{njusetup} 共有四种等效的使用方式,
% 可以根据实际情况进行灵活选择。
%
-% 在键路径留空时,为最基础的用法。此时设置项的参数是一个使用英文
-% 半角逗号分隔的键值列表,通常形如 \meta{key}|=|\meta{value}。
+% 在键路径留空时,为最基础的用法。此时设置项的参数是一个使用
+% \emph{英文半角逗号}分隔的键值列表,通常形如 \meta{key}|=|\meta{value}。
%
-% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info,bib}]
+% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info,bib},
+% emph={[3]title,author,resource}]
% \njusetup{
% info/title = {奇文},
% info/author = {佚名},
-% bib/resource = {ref1.bib, ref1.bib}
+% bib/resource = {ref1.bib, ref2.bib}
% }
% \end{latexexample}
%
% 以上为最基础的填写方法,可以分组为:
%
-% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info,bib}]
+% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info,bib},
+% emph={[3]title,author,resource}]
% \njusetup{
% info = {
% title = {奇文},
% author = {佚名}
% },
% bib = {
-% resource = {ref1.bib, ref1.bib},
+% resource = {ref1.bib, ref2.bib},
% }
% }
% \end{latexexample}
%
% 在键路径填入模块(类)时,只能设定当前模块下的选项。此时参数是键值列表。
%
-% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info,bib}]
+% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info,bib},
+% emph={[3]title,author,resource}]
% \njusetup[info]{
% title = {奇文},
% author = {佚名}
% }
% \njusetup[bib]{
-% resource = {ref1.bib, ref1.bib}
+% resource = {ref1.bib, ref2.bib}
% }
% \end{latexexample}
%
% 在键路径填入具体选项名称时,只能设定该选项的值。
%
-% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info,bib}]
+% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info,bib},
+% emph={[3]title,author,resource}]
% \njusetup[info/title]{奇文}
% \njusetup[info/author]{佚名}
-% \njusetup[bib/resource]{ref1.bib, ref1.bib}
+% \njusetup[bib/resource]{ref1.bib, ref2.bib}
% \end{latexexample}
%
%
@@ -1333,8 +1345,8 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[updated=2022-01-14]{info/title,info/title*}
% \begin{syntax}
-% title = \Arg{标题}
-% title* = \Arg{英文标题}
+% \OPT{title} = \Arg{标题}
+% \OPT{title*} = \Arg{英文标题}
% \end{syntax}
% 题目。由于封面上提供给中文题目的横线长度有限\footnote{单行最长约为15
% 个汉字,建议总长度不超过45字,当然你也可以对照 \ref{subsubsec:modify-length}
@@ -1352,8 +1364,8 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[updated=2021-10-01]{info/keywords,info/keywords*}
% \begin{syntax}
-% keywords = \Arg{关键词}
-% keywords* = \Arg{英文关键词}
+% \OPT{keywords} = \Arg{关键词}
+% \OPT{keywords*} = \Arg{英文关键词}
% \end{syntax}
% 关键词列表。关键词之间需要使用英文半角逗号隔开,
% 含有空格的关键字需要使用花括号包裹以避免歧义。可以参照下方的填写示例。
@@ -1361,14 +1373,14 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[updated=2021-10-01]{info/grade}
% \begin{syntax}
-% grade = \Arg{20XX}
+% \OPT{grade} = \Arg{20XX}
% \end{syntax}
% 年级,推荐格式为“20XX”。
% \end{function}
%
% \begin{function}[updated=2021-10-01]{info/student-id}
% \begin{syntax}
-% student-id = \Arg{学号或工号}
+% \OPT{student-id} = \Arg{学号或工号}
% \end{syntax}
% 学号或工号。南京大学本科生为9位数字学号,
% 研究生为两位大写字母标识加上数字组成的学号(2022级改为纯数字)。
@@ -1376,55 +1388,55 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[updated=2021-10-01]{info/author,info/author*}
% \begin{syntax}
-% author = \Arg{你的名字}
-% author* = \Arg{姓名拼音}
+% \OPT{author} = \Arg{你的名字}
+% \OPT{author*} = \Arg{姓名拼音}
% \end{syntax}
% 姓名。
% \end{function}
%
% \begin{function}[updated=2021-10-01]{info/department,info/department*}
% \begin{syntax}
-% department = \Arg{院系}
-% department* = \Arg{院系}
+% \OPT{department} = \Arg{院系}
+% \OPT{department*} = \Arg{院系}
% \end{syntax}
% 院系。
% \end{function}
%
% \begin{function}[updated=2021-10-01]{info/major,info/major*}
% \begin{syntax}
-% major = \Arg{专业}
-% major* = \Arg{专业}
+% \OPT{major} = \Arg{专业}
+% \OPT{major*} = \Arg{专业}
% \end{syntax}
% 专业。
% \end{function}
%
% \begin{function}[updated=2021-10-01]{info/field,info/field*}
% \begin{syntax}
-% field = \Arg{方向}
-% field* = \Arg{方向}
+% \OPT{field} = \Arg{方向}
+% \OPT{field*} = \Arg{方向}
% \end{syntax}
% 研究领域。只有研究生存在研究领域的说法,本科生无需填写。
% \end{function}
%
% \begin{function}[updated=2022-01-12]{info/supervisor,info/supervisor*}
% \begin{syntax}
-% supervisor = \Arg{导师姓名,职称}
-% supervisor* = \Arg{导师英文全称}
+% \OPT{supervisor} = \Arg{导师姓名,职称}
+% \OPT{supervisor*} = \Arg{导师英文全称}
% \end{syntax}
% 导师全称。请使用逗号( |,| )分隔导师的中文姓名与职称,英文名则不需添加逗号。
% \end{function}
%
% \begin{function}[updated=2021-01-12]{info/supervisor-ii,info/supervisor-ii*}
% \begin{syntax}
-% supervisor-ii = \Arg{第二导师姓名,职称}
-% supervisor-ii* = \Arg{第二导师英文全称}
+% \OPT{supervisor-ii} = \Arg{第二导师姓名,职称}
+% \OPT{supervisor-ii*} = \Arg{第二导师英文全称}
% \end{syntax}
% 第二导师全称。无第二导师时不填即可。
% \end{function}
%
% \begin{function}[updated=2022-01-14]{info/submit-date}
% \begin{syntax}
-% submit-date = \Arg{yyyy-mm-dd}
+% \OPT{submit-date} = \Arg{yyyy-mm-dd}
% \end{syntax}
% 提交日期。中英文日期现在可以由 ISO 日期格式\cite{gb-t-7408-2005}
% 的字符串统一生成。如果在等号后留空,则原本中文日期处使用空白的年月日字样;
@@ -1433,29 +1445,29 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[updated=2022-01-14]{info/defend-date}
% \begin{syntax}
-% defend-date = \Arg{yyyy-mm-dd}
+% \OPT{defend-date} = \Arg{yyyy-mm-dd}
% \end{syntax}
% 答辩日期,只对研究生有效,要求同提交日期。
% \end{function}
%
% \begin{function}[updated=2022-05-23]{info/confer-date}
% \begin{syntax}
-% confer-date = \Arg{yyyy-mm-dd}
+% \OPT{confer-date} = \Arg{yyyy-mm-dd}
% \end{syntax}
% 学位授予日期,只用于国家图书馆封面,要求同提交日期。
% \end{function}
%
% \begin{function}[updated=2022-05-23]{info/bottom-date}
% \begin{syntax}
-% bottom-date = \Arg{yyyy-mm-dd}
+% \OPT{bottom-date} = \Arg{yyyy-mm-dd}
% \end{syntax}
% 底部日期,只用于国家图书馆封面,要求同提交日期。
% \end{function}
%
% \begin{function}[updated=2022-05-27]{info/chairman,info/reviewer}
% \begin{syntax}
-% chairman = \Arg{答辩主席姓名职称}
-% reviewer = \Arg{答辩评委姓名职称}
+% \OPT{chairman} = \Arg{答辩主席姓名职称}
+% \OPT{reviewer} = \Arg{答辩评委姓名职称}
% \end{syntax}
% 答辩委员会信息,分别为评审委员会主席及成员的姓名加职称,只对研究生有效。
% 评审成员名单以逗号分隔的列表形式存储,填写方法同关键词。
@@ -1465,10 +1477,10 @@ To produce the documentation run the original source files ending with
% \begin{function}[updated=2021-10-01]{info/clc,info/secret-level,
% info/udc,info/supervisor-contact}
% \begin{syntax}
-% clc = \Arg{中图分类号}
-% secret-level = <不涉密|秘密|机密|绝密>
-% udc = \Arg{udc}
-% supervisor-contact = \Arg{导师联系方式}
+% \OPT{clc} = \Arg{中图分类号}
+% \OPT{secret-level} = <不涉密|秘密|机密|绝密>
+% \OPT{udc} = \Arg{UDC 分类号}
+% \OPT{supervisor-contact} = \Arg{导师联系方式}
% \end{syntax}
% 国家图书馆封面相关,包括中图分类号、密级、UDC 分类号和导师联系方式。
% \end{function}
@@ -1478,10 +1490,12 @@ To produce the documentation run the original source files ending with
%
% 本科生可以参考如下范例输入个人信息。注意不能有空行。
%
-% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info}]
+% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info},emph={[3]title,title*,
+% keywords,keywords*,grade,student-id,author,author*,department,department*,
+% major,major*,supervisor,supervisor*,submit-date}]
% \njusetup[info]{
% title = {第一行标题\\第二行标题},
-% title* = {My title in English},
+% title* = {My Awesome Work},
% keywords = {我,就是,充数的,关键词},
% keywords* = {Dummy, Keywords, Here, {it is}},
% grade = {2018},
@@ -1500,10 +1514,12 @@ To produce the documentation run the original source files ending with
%
% 研究生可以参考如下列表输入个人信息
%
-% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info}]
+% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info},emph={[3]title,title*,
+% keywords,keywords*,grade,student-id,author,author*,department,department*,
+% major,major*,field,field*,supervisor,supervisor*,submit-date,defend-date,email}]
% \njusetup[info]{
% title = {第一行标题\\第二行标题\\第三行标题},
-% title* = {My title in English},
+% title* = {My Awesome Work},
% keywords = {我,就是,充数的,关键词},
% keywords* = {Dummy,Keywords,Here,{it is}},
% grade = {2018},
@@ -1526,7 +1542,8 @@ To produce the documentation run the original source files ending with
%
% 如果需要国家图书馆封面,还需要加入如下信息
%
-% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info}]
+% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info},emph={[3]confer-date,
+% bottom-date,chairman,reviewer,clc,secret-level,udc,supervisor-contact}]
% \njusetup[info]{
% confer-date = {2022-05-20},
% bottom-date = {2022-05-21},
@@ -1541,10 +1558,11 @@ To produce the documentation run the original source files ending with
%
% 博士后可以参考如下范例输入个人信息。
%
-% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info}]
+% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info},emph={[3]title,title*,
+% keywords,keywords*,student-id,author,department,major,supervisor,submit-date}]
% \njusetup[info]{
% title = {第一行标题\\第二行标题},
-% title* = {My title in English},
+% title* = {My Awesome Work},
% keywords = {我,就是,充数的,关键词},
% keywords* = {Dummy, Keywords, Here, {it is}},
% student-id = {189114514},
@@ -1588,8 +1606,8 @@ To produce the documentation run the original source files ending with
%
% \begin{function}{header/content,header/content*,footer/content,footer/content*}
% \begin{syntax}
-% content = \{\Arg{位置}\Arg{内容},\Arg{位置}\Arg{内容},...\}
-% content* = \{\Arg{位置}\Arg{内容},\Arg{位置}\Arg{内容},...\}
+% \OPT{content} = \{\Arg{位置}\Arg{内容},\Arg{位置}\Arg{内容},...\}
+% \OPT{content*} = \{\Arg{位置}\Arg{内容},\Arg{位置}\Arg{内容},...\}
% \end{syntax}
% 页眉页脚的格式与内容设置。带有星号的设置项供单面模式下使用。
% \end{function}
@@ -1604,7 +1622,7 @@ To produce the documentation run the original source files ending with
% 并将页眉格式设置成五号黑体,奇数页左侧为节名,右侧为页码,
% 偶数页左侧为页码,右侧为章名。
% \begin{latexexample}[moretexcs={\njusetup,\sffamily,\njusetformat},
-% emph={[2]header,footer}]
+% emph={[2]header,footer},emph={[3]content}]
% \njusetup[header/content]{
% { OR } { \thepage }, { OL } { \rightmark },
% { EL } { \thepage }, { ER } { \leftmark }
@@ -1639,19 +1657,36 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-08-06]{image/path}
% \begin{syntax}
-% path = \{\marg{路径1},\marg{路径2},...\}
+% \OPT{path} = \{\marg{路径1},\marg{路径2},...\}
% \end{syntax}
% 图片搜索路径,等效于 \tn{graphicspath}。这个选项仅能设置一次。
% \end{function}
%
% \subsubsection{脚注}
%
-% \begin{function}[added=2022-05-01,updated=2022-08-03]{footnote/style}
+% \begin{function}[added=2022-05-01,updated=2022-10-16]{footnote/style}
+% \begin{syntax}
+% \OPT{style} = <(plain)|pifont|circled|circled*>
+% \end{syntax}
+% 设置脚注编号样式。默认为普通数字;使用 \opt{pifont} 可修改为带圈数字,
+% 此样式受到字符闲置,单页不建议超过10条脚注;使用 \opt{circled} 或 \opt{circled*}
+% 选项同样可修改为带圈数字,且不受单页脚注数量的限制,带星号的选项为黑底白字(阴文)。
+% \footnote{此功能依赖的 \pkg{circledtext} 宏包于 2022 年 4 月发布,可能需要手动安装。}
+% \end{function}
+%
+% \begin{function}[added=2022-10-16]{footnote/circledtext-option}
+% \begin{syntax}
+% \OPT{circledtext-option} = \meta{选项列表}
+% \end{syntax}
+% \opt{circled} 或 \opt{circled*} 选项的带圈数字编号使用 \pkg{circledtext}
+% 宏包绘制,可使用本选项载入更多定制设置,详见其手册。
+% \end{function}
+%
+% \begin{function}[added=2022-10-16]{footnote/hang}
% \begin{syntax}
-% style = <(plain)|pifont>
+% \OPT{hang} = \TTF
% \end{syntax}
-% 设置脚注编号样式。默认为普通数字,使用 |pifont|
-% 选项可修改为带圈数字。单一页面内请尽量避免超过 10 条脚注。
+% 是否进行悬挂缩进。默认为是,缩进宽度为 \qty{1.5}{em}。
% \end{function}
%
% 脚注样式的调整依赖 \pkg{footmisc}。如果希望使用 \LaTeX 的默认样式,
@@ -1678,13 +1713,15 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-07-31]{math/style}
% \begin{syntax}
-% style = <TeX|ISO|(GB)>
+% \OPT{style} = <TeX|ISO|(GB)>
% \end{syntax}
% 数学符号风格。
% \end{function}
%
% 默认的国标风格 \opt{GB} 相当于在导言区设置了
-% \begin{latexexample}[moretexcs={\njusetup},emph={[2]math}]
+% \begin{latexexample}[moretexcs={\njusetup},emph={[2]math},
+% emph={[3]integral,integral-limits,less-than-or-equal,
+% math-ellipsis,partial,real-part,vector,uppercase-greek}]
% \njusetup[math]{
% integral = upright,
% integral-limits = false,
@@ -1701,7 +1738,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-07-31]{math/integral}
% \begin{syntax}
-% integral = <upright|slanted>
+% \OPT{integral} = <upright|slanted>
% \end{syntax}
% 积分号的正/斜体。
% 该选项需要字体的支持,目前仅限 \opt{xits}、\opt{newcm}。
@@ -1709,7 +1746,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-07-31]{math/integral-limits}
% \begin{syntax}
-% integral-limits = <\TF>
+% \OPT{integral-limits} = <\TF>
% \end{syntax}
% 积分号上下限的位置,可选:\opt{true}(在上下)、\opt{false}(在右侧)。
% 这个设置只影响行间公式,行内公式统一居右侧,不受影响。
@@ -1717,7 +1754,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-07-31]{math/less-than-or-equal}
% \begin{syntax}
-% less-than-or-equal = <slanted|horizontal>
+% \OPT{less-than-or-equal} = <slanted|horizontal>
% \end{syntax}
% 小于等于号和大于等于号的字形。
% 这将控制 \tn{le}、\tn{ge}、\tn{leq} 和 \tn{geq} 的符号是
@@ -1726,7 +1763,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-07-31]{math/math-ellipsis}
% \begin{syntax}
-% math-ellipsis = <centered|lower>
+% \OPT{math-ellipsis} = <centered|lower>
% \end{syntax}
% 省略号 \tn{dots} 的样式,可选:\opt{centered}(按照中文的习惯固定居中)、
% \opt{lower}(取决于前后符号的位置)。
@@ -1735,28 +1772,28 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-07-31]{math/partial}
% \begin{syntax}
-% partial = <upright|italic>
+% \OPT{partial} = <upright|italic>
% \end{syntax}
% 偏微分符号的正/斜体。
% \end{function}
%
% \begin{function}[added=2022-07-31]{math/real-part}
% \begin{syntax}
-% real-part = <roman|fraktur>
+% \OPT{real-part} = <roman|fraktur>
% \end{syntax}
% 实部 \tn{Re} 和虚部 \tn{Im} 的字体。
% \end{function}
%
% \begin{function}[added=2022-07-31]{math/vector}
% \begin{syntax}
-% vector = <boldfont|arrow>
+% \OPT{vector} = <boldfont|arrow>
% \end{syntax}
% 向量的表示方法,可选粗斜体或箭头。
% \end{function}
%
% \begin{function}[added=2022-07-31]{math/uppercase-greek}
% \begin{syntax}
-% uppercase-greek = <upright|italic>
+% \OPT{uppercase-greek} = <upright|italic>
% \end{syntax}
% 大写希腊字母的正/斜体。
% 有限增量符号 $\increment x$ 固定使用正体,推荐使用 \tn{increment} 表示。
@@ -1787,28 +1824,28 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-04-21]{theorem/style}
% \begin{syntax}
-% style = <(plain)|break|change|margin|empty|...>
+% \OPT{style} = <(plain)|break|change|margin|empty|...>
% \end{syntax}
% 定理基本样式。等效于 \tn{theoremstyle}\marg{样式名称}。
% \end{function}
%
% \begin{function}[added=2022-04-21]{theorem/header-font}
% \begin{syntax}
-% header-font = \meta{头部字体格式}
+% \OPT{header-font} = \meta{头部字体格式}
% \end{syntax}
% 定理头部字体格式。等效于 \tn{theoremheaderfont}\marg{格式}。
% \end{function}
%
% \begin{function}[added=2022-04-21]{theorem/body-font}
% \begin{syntax}
-% body-font = \meta{内部字体格式}
+% \OPT{body-font} = \meta{内部字体格式}
% \end{syntax}
% 定理内部字体格式。等效于 \tn{theorembodyfont}\marg{格式}。
% \end{function}
%
% \begin{function}[added=2022-04-21]{theorem/qed-symbol}
% \begin{syntax}
-% qed-symbol = \meta{证毕符号}
+% \OPT{qed-symbol} = \meta{证毕符号}
% \end{syntax}
% 证毕符号。等效于 \tn{theoremsymbol}\marg{符号}。默认为空心方块(\mdlgwhtsquare)。
% 禁用 \pkg{unicode-math} 时为实心黑色方块(\rule{1ex}{1ex})。
@@ -1816,7 +1853,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-04-21]{theorem/counter}
% \begin{syntax}
-% counter = <part|(chapter)|section|...>
+% \OPT{counter} = <part|(chapter)|section|...>
% \end{syntax}
% 定理计数器范围。
% \end{function}
@@ -1824,7 +1861,7 @@ To produce the documentation run the original source files ending with
% 模板的默认设置等效于
%
% \begin{latexexample}[moretexcs={\njusetup,\bfseries,\itshape,\mdlgwhtsquare},
-% emph={[2]theorem}]
+% emph={[2]theorem},emph={[3]style,header-font,body-font,qed-symbol,counter}]
% \njusetup[theorem]{
% style = plain,
% header-font = \normalfont \bfseries ,
@@ -1838,7 +1875,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-08-05]{theorem/type}
% \begin{syntax}
-% type = \{\marg{环境名,类型标识} \marg{头名称},...\}
+% \OPT{type} = \{\marg{环境名,类型标识} \marg{头名称},...\}
% \end{syntax}
% 需要定义的定理类型列表。在可选的 \meta{类型标识} 中,含有\emph{星号}表示
% 需要编号,含有\emph{加号}需要证毕符号。该选项存储的是用来定义环境的参数,
@@ -1846,28 +1883,29 @@ To produce the documentation run the original source files ending with
% \end{function}
%
% \opt{theorem/type} 初始定义的环境列表如表~\ref{tab:mathenv} 所示。
-% 其中证明环境较为特殊,不编号且会在结尾添加证毕符号。
% 这些环境并没有预先创建,使用方法见下面的例子。
%
% \begin{table}[htbp]
% \centering
-% \caption{预置的数学定理环境}
-% \label{tab:mathenv}
-% \begin{tabular}{cc|cc}
+% \begin{talltblr} [
+% caption = {预置的数学定理环境},
+% label = {tab:mathenv},
+% note{a} = {证明环境较为特殊,不编号且会在结尾添加证毕符号。} ]
+% { colspec = {cc|cc} }
% \toprule
-% \bf 标签 & \bf 名称 & \bf 标签 & \bf 名称 \\
+% 标签 & 名称 & 标签 & 名称 \\
% \midrule
-% axiom & 公理 & lemma & 引理 \\
-% corollary & 推论 & proof & 证明 \\
-% definition & 定义 & theorem & 定理 \\
-% example & 例 & & \\
+% axiom & 公理 & lemma & 引理 \\
+% corollary & 推论 & proof \TA & 证明 \\
+% definition & 定义 & theorem & 定理 \\
+% example & 例 & & \\
% \bottomrule
-% \end{tabular}
+% \end{talltblr}
% \end{table}
%
% \begin{function}[added=2022-08-05]{theorem/define}
% \begin{syntax}
-% <define>
+% <\OPT{define}>
% \end{syntax}
% 创建定理环境。
% \end{function}
@@ -1880,9 +1918,9 @@ To produce the documentation run the original source files ending with
% 宋体,定义了 \env{exercise} 和 \env{solution} 两种定理环境,后者没有编号。
%
% \begin{latexexample}[moretexcs={\njusetup,\normalfont},
-% emph={[2]theorem}]
+% emph={[2]theorem},emph={[3]define,body-font,type}]
% \njusetup[theorem]{
-% define,
+% define ,
% body-font = \normalfont ,
% type = {
% { {exercise} {习题} },
@@ -1897,9 +1935,9 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-07-31]{label-sep/figure,label-sep/table,label-sep/equation}
% \begin{syntax}
-% figure = \meta{符号}
-% table = \meta{符号}
-% equation = \meta{符号}
+% \OPT{figure} = \meta{符号}
+% \OPT{table} = \meta{符号}
+% \OPT{equation} = \meta{符号}
% \end{syntax}
% 图片、表格、公式编号中的连接符样式,默认为短横线(en dash)。
% \end{function}
@@ -1921,7 +1959,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2021-12-19]{bib/style}
% \begin{syntax}
-% style = <(numeric)|author-year|\meta{自定义样式}>
+% \OPT{style} = <(numeric)|author-year|\meta{自定义样式}>
% \end{syntax}
% 参考文献样式。可选顺序编码制 \opt{numeric} 和著者-出版年制 \opt{author-year},
% 或自行填入任意其他 \pkg{biblatex} 样式。默认为顺序编码制。
@@ -1945,7 +1983,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-02-15]{bib/option}
% \begin{syntax}
-% option = \meta{选项列表}
+% \OPT{option} = \meta{选项列表}
% \end{syntax}
% 待传入 \pkg{biblatex} 宏包的额外选项列表。
% \end{function}
@@ -1955,7 +1993,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2021-12-19]{bib/resource}
% \begin{syntax}
-% resource = \Arg{文件}
+% \OPT{resource} = \Arg{文件}
% \end{syntax}
% 参考文献数据源。类似于 \tn{addbibresource} 命令,但可以使用逗号分隔的
% 列表形式。必须使用带扩展名(\file{.bib})的完整文件名。
@@ -1973,7 +2011,8 @@ To produce the documentation run the original source files ending with
% 可以参考如下范例进行参考文献设置。
% 其中 \opt{bib/option} 的内容旨在关闭部分不需显示的文献信息,
% 并采取仅首字母大写的作者姓名格式,可根据需要使用。
-% \begin{latexexample}[moretexcs={\njusetup},emph={[2]bib}]
+% \begin{latexexample}[moretexcs={\njusetup},emph={[2]bib},
+% emph={[3]style,resource,option}]
% \njusetup[bib]{
% style = author-year,
% resource = {njuthesis-sample.bib},
@@ -2050,16 +2089,15 @@ To produce the documentation run the original source files ending with
% note{a} = {在此样式下 \tn{parencite} 效果等同于 \tn{cite}。} ]
% { colspec = {cll} }
% \toprule
-% 引用方式 & 命令 & 排版效果 \\
+% 引用方式 & 命令 & 排版效果 \\
% \midrule
-% 单篇文献 & \tn{cite}\TblrNote{a} &
-% 作者加年份用括号包围可设置页码 \\
-% 多篇文献 & \tn{cite} & 分号隔开 \\
-% 标注页码 & \tn{pagescite} & 作者加年份用括号包围自动页码 \\
-% 标注年份 & \tn{yearcite} & 用括号包围的年份 \\
-% 标注年份、页码 & \tn{yearpagescite} & 提供年份用括号包围自动页码 \\
-% 标注作者 & \tn{textcite} & 作者为主语加加括号包围年份 \\
-% 完整脚注 & \tn{footfullcite} & 脚注方式 \\
+% 单篇文献 & \tn{cite} \TA & 作者加年份用括号包围可设置页码 \\
+% 多篇文献 & \tn{cite} & 分号隔开 \\
+% 标注页码 & \tn{pagescite} & 作者加年份用括号包围自动页码 \\
+% 标注年份 & \tn{yearcite} & 用括号包围的年份 \\
+% 标注年份、页码 & \tn{yearpagescite} & 提供年份用括号包围自动页码 \\
+% 标注作者 & \tn{textcite} & 作者为主语加加括号包围年份 \\
+% 完整脚注 & \tn{footfullcite} & 脚注方式 \\
% \bottomrule
% \end{talltblr}
% \end{table}
@@ -2111,8 +2149,8 @@ To produce the documentation run the original source files ending with
% \begin{function}[added=2021-12-23,updated=2022-08-06]{
% image/nju-emblem,image/nju-name}
% \begin{syntax}
-% nju-emblem = \Arg{文件}
-% nju-name = \Arg{文件}
+% \OPT{nju-emblem} = \Arg{文件}
+% \OPT{nju-name} = \Arg{文件}
% \end{syntax}
% 校名、校徽图片文件路径。
% \end{function}
@@ -2141,7 +2179,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-02-04,updated=2022-07-31]{abstract/toc-entry}
% \begin{syntax}
-% toc-entry = <\TTF>
+% \OPT{toc-entry} = <\TTF>
% \end{syntax}
% 是否将摘要条目插入目录,默认开启。
% 关闭此选项后摘要页将不会出现在目录中,仅保留其 PDF 书签。
@@ -2149,7 +2187,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-03-26,updated=2022-07-31]{abstract/title-style}
% \begin{syntax}
-% title-style = <(strict)|centered|natural>
+% \OPT{title-style} = <(strict)|centered|natural>
% \end{syntax}
% 选择研究生摘要标题样式。
% 默认为严格模式(\opt{strict}),即完全模仿材料包要求。
@@ -2191,7 +2229,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[added=2022-08-08]{tableofcontents/dotline}
% \begin{syntax}
-% dotline = <chapter|(section)>
+% \OPT{dotline} = <chapter|(section)>
% \end{syntax}
% 目录中的引导线设置。选择 \opt{chapter} 会为章标题后添加引导线。
% \end{function}
@@ -2200,7 +2238,7 @@ To produce the documentation run the original source files ending with
% tableofcontents/toc-entry,listoffigures/toc-entry,
% listoftables/toc-entry}
% \begin{syntax}
-% toc-entry = <\TTF>
+% \OPT{toc-entry} = <\TTF>
% \end{syntax}
% 是否在目录中显示目录自身的条目,默认开启。关闭后目录、
% 插图目录和表格目录将不会出现在目录中,仅保留其 PDF 书签。
@@ -2208,7 +2246,7 @@ To produce the documentation run the original source files ending with
% \end{function}
%
% 如果仅需要禁用插图目录和表格目录的条目,可以这样设置
-% \begin{latexexample}[moretexcs={\njusetup},
+% \begin{latexexample}[moretexcs={\njusetup},emph={[3]toc-entry},
% emph={[2]tableofcontents,listoffigures,listoftables}]
% \njusetup{
% tableofcontents/toc-entry = true, % 仅作展示,无需手动启用
@@ -2236,7 +2274,8 @@ To produce the documentation run the original source files ending with
% \subsubsection{致谢页}
%
% \DescribeEnv{acknowledgement}
-% 同前言,使用 \env{acknowledgement} 环境。
+% 使用 \env{acknowledgement} 环境生成致谢页,附带有相应目录条目。
+% 在开启盲审模式时,仅显示该目录条目。
%
% \begin{latexexample}[emph={[1]acknowledgement}]
% \begin{acknowledgement}
@@ -2421,6 +2460,9 @@ To produce the documentation run the original source files ending with
% \item \pkg{fandol}、\pkg{tex-gyre}、\pkg{tex-gyre-math}、\pkg{xits} 等,
% 提供自由字体。
% \item \pkg{emptypage},在双面模式下清空空白页的页眉、页脚和页码。
+% \item \pkg{circledtext} 和 \pkg{l3experimental},用于在 \opt{footnote/circled}
+% 和 \opt{footnote/circled*} 选项下生成脚注圈码。
+% \item \pkg{pifont},用于在 \opt{footnote/pifont} 选项下生成脚注圈码。
% \item \pkg{tikz} 和 \pkg{njuvisual},用于绘制封面的校名校徽。
% \item \pkg{tabularray},用于绘制研究生的出版授权书信息表格。
% \item \pkg{xeCJKfntef} 或 \pkg{lua-ul},用于在对应引擎下绘制下划线。
@@ -2465,8 +2507,8 @@ To produce the documentation run the original source files ending with
% \bibitem{install-latex-guide-zh-cn}
% 王然.
% \newblock \textit{一份简短的关于 \LaTeX 安装的介绍} [EB/OL].
-% \newblock version 2021.12.1,
-% \newblock (2021-12-01)
+% \newblock version 2022.10.1,
+% \newblock (2022-10-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}
%
@@ -2546,8 +2588,8 @@ To produce the documentation run the original source files ending with
% \bibitem{biblatex-gb7714-2015}
% 胡振震.
% \newblock \textit{符合 GB/T 7714-2015 标准的 biblatex 参考文献样式} [EB/OL].
-% \newblock version 1.1b,
-% \newblock (2021-12-11)
+% \newblock version 1.1j,
+% \newblock (2022-08-29)
% \urlprefix\url{https://ctan.org/pkg/biblatex-gb7714-2015}
% \urlprefix\CTANurl[文档:]{biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf}
%
@@ -2559,6 +2601,14 @@ To produce the documentation run the original source files ending with
% \urlprefix\url{https://ctan.org/pkg/ctex}
% \urlprefix\CTANurl[文档及源代码:]{language/chinese/ctex/ctex.pdf}
%
+% \bibitem{circledtext}
+% 耿楠.
+% \newblock \textit{Create circled text} [EB/OL].
+% \newblock version 1.1.0,
+% \newblock (2022-04-28)
+% \urlprefix\url{https://ctan.org/pkg/circledtext}
+% \urlprefix\CTANurl[文档:]{macros/latex/contrib/circledtext/circledtext.pdf}
+%
% \bibitem{latexmk}
% \textsc{Collins J}.
% \newblock \textit{Fully automated \LaTeX document generation} [EB/OL].
@@ -2763,8 +2813,8 @@ To produce the documentation run the original source files ending with
%
% \subsection{定义变量}
%
-% 本模板的变量名称通式为 |\|\meta{作用域}|_@@_|\meta{族}|_|\meta{描述}|_|\meta{类型}
-% (出现在源代码中)或 |\|\meta{作用域}|__nju_|\meta{族}|_|\meta{描述}|_|\meta{类型}
+% 本模板的变量名称通式为 \cs[no-index]{\meta{作用域}_@@_\meta{族}_\meta{描述}_\meta{类型}}
+% (出现在源代码中)或 \cs[no-index,replace=false]{\meta{作用域}_@@_\meta{族}_\meta{描述}_\meta{类型}}
% (出现在文档中)。作用域为单个字母,|l| 代表局部变量,|g| 代表全局变量,|c| 代表常
% 量。最后一个下划线后的内容指示其类型,但引擎不会根据名称检查变量类型。
%
@@ -2788,38 +2838,32 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{
-% \g_@@_info_degree_int,
-% \g_@@_info_type_int}
-% 用于存储学位类型的变量。
+% \begin{variable}{\g_@@_info_type_int}
+% 用于存储论文类型的变量。
% \begin{macrocode}
-\int_new:N \g_@@_info_degree_int
\int_new:N \g_@@_info_type_int
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{
-% \g_@@_info_degree_tl,
-% \g_@@_info_type_en_tl}
-% 用于存储学位名称的变量。
+% \begin{variable}{\g_@@_opt_academic_bool}
+% 用于判断学术型或专业型学位的变量。
% \begin{macrocode}
-\tl_new:N \g_@@_info_degree_tl
-\tl_new:N \g_@@_info_type_en_tl
+\bool_new:N \g_@@_opt_academic_bool
% \end{macrocode}
% \end{variable}
%
% \begin{variable}{\g_@@_opt_twoside_bool}
% 定义用于判断是否使用双面模式的变量,初始值为使用双面模式。
% \begin{macrocode}
-\bool_new:N \g_@@_opt_twoside_bool
+\bool_new:N \g_@@_opt_twoside_bool
\bool_set_true:N \g_@@_opt_twoside_bool
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\l_@@_second_supvbool}
+% \begin{variable}{\g_@@_opt_second_supv_bool}
% 定义用于判断是否有第二导师的变量。
% \begin{macrocode}
-\bool_new:N \l_@@_second_supvbool
+\bool_new:N \g_@@_opt_second_supv_bool
% \end{macrocode}
% \end{variable}
%
@@ -2856,7 +2900,6 @@ To produce the documentation run the original source files ending with
% 是否使用独立的字体文件。
% \begin{macrocode}
\bool_new:N \g_@@_font_path_bool
-\bool_gset_false:N \g_@@_font_path_bool
% \end{macrocode}
% \end{variable}
%
@@ -2867,23 +2910,6 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\g_@@_thm_type_clist}
-% 默认定理类型、头名称,以及是否需要编号和证毕符号。
-% \begin{macrocode}
-\clist_new:N \g_@@_thm_type_clist
-\clist_gset:Nn \g_@@_thm_type_clist
- {
- { axiom } { 公理 },
- { corollary } { 推论 },
- { definition } { 定义 },
- { example } { 例 },
- { lemma } { 引理 },
- { proof, *+ } { 证明 },
- { theorem } { 定理 }
- }
-% \end{macrocode}
-% \end{variable}
-%
% \begin{variable}{\c_@@_today_tl}
% 编译当天日期,格式为 |yyyy-mm-dd|。
% \begin{macrocode}
@@ -2896,18 +2922,13 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{
-% \c_@@_name_type_clist,
-% \c_@@_name_type_en_clist,
-% \c_@@_name_degree_clist}
+% \begin{variable}{\c_@@_name_type_clist,\c_@@_name_type_en_clist}
% 论文类型与学位类型。
% \begin{macrocode}
\clist_const:Nn \c_@@_name_type_clist
{ 学士, 硕士, 博士 }
\clist_const:Nn \c_@@_name_type_en_clist
{ Bachelor, Master, Doctor~of~Philosophy }
-\clist_const:Nn \c_@@_name_degree_clist
- { \c_empty_tl, 专业 }
% \end{macrocode}
% \end{variable}
%
@@ -2922,27 +2943,29 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{
-% \c_@@_name_anon_clist,
-% \c_@@_name_anon_en_clist,
-% \c_@@_name_anonlist_clist}
-% 盲审模式下不显示的个人信息项。
+% \begin{variable}{\c_@@_name_anon_clist,\c_@@_name_anon_en_clist}
+% 盲审模式下不显示的个人信息键名。
% \begin{macrocode}
\clist_const:Nn \c_@@_name_anon_clist
{
- author, chairman, clc, dept, email, field, grade,
- id, major, secretlv, supvcont, udc
+ author, chairman, email, student-id, reviewer,
+ supervisor-contact, supervisor, supervisor-ii
}
\clist_const:Nn \c_@@_name_anon_en_clist
- { author, dept, field, major, supv, supvii }
-\clist_const:Nn \c_@@_name_anonlist_clist
- { reviewer, supv, supvii }
+ { author, supervisor, supervisor-ii }
% \end{macrocode}
% \end{variable}
%
%
% \subsection{内部函数}
%
+% \begin{macro}{\@@_null:}
+% 等价于 \LaTeXe{} 中的 \tn{null}。
+% \begin{macrocode}
+\cs_new:Nn \@@_null: { \hbox:n { } }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@@_quad:,\@@_qquad:}
% 等价于 \LaTeXe{} 中的 \tn{quad} 和 \tn{qquad}。
% \begin{macrocode}
@@ -3041,7 +3064,7 @@ To produce the documentation run the original source files ending with
% \end{macro}
%
% \begin{macro}{\@@_box_ulined_info:Nn}
-% 以上盒子只用来打印 \cs{g_@@_info_\meta{描述}_tl} 变量。
+% 以上盒子只用来打印 \cs[no-index]{g_@@_info_\meta{描述}_tl} 变量。
% \begin{macrocode}
\cs_new_protected:Npn \@@_box_ulined_info:Nn #1#2
{ \@@_box_ulined:Nc #1 { g_@@_info_ #2 _tl } }
@@ -3062,13 +3085,13 @@ To produce the documentation run the original source files ending with
\cs_new_protected:Npn \@@_box_spread:NNn #1#2#3
{
\mode_leave_vertical:
- \@@_get_width:Nn \l_@@_tmpa_dim { #2 #3 }
+ \@@_get_width:Nn \l_@@_tmp_skip { #2 #3 }
\hbox_to_wd:nn { #1 }
{
- \dim_compare:nTF { \l_@@_tmpa_dim > #1 }
+ \dim_compare:nTF { \l_@@_tmp_skip > #1 }
{
\tex_hfil:D \scalebox
- { \dim_to_decimal_in_unit:nn { #1 } { \l_@@_tmpa_dim } }
+ { \dim_to_decimal_in_unit:nn { #1 } { \l_@@_tmp_skip } }
[ 1.0 ] { #2 #3 } \tex_hfil:D
}
{ #2 \tl_map_inline:nn { #3 } { ##1 \tex_hfil:D } \tex_unskip:D }
@@ -3079,7 +3102,7 @@ To produce the documentation run the original source files ending with
% \end{macro}
%
% \begin{macro}{\@@_box_spread_name:Nn,\@@_box_spread_name:NNn}
-% 以上盒子只用来打印 \cs{c_@@_name_\meta{描述}_tl} 变量。
+% 以上盒子只用来打印 \cs[no-index]{c_@@_name_\meta{描述}_tl} 变量。
% \begin{macrocode}
\cs_new_protected:Npn \@@_box_spread_name:Nn #1#2
{ \@@_box_spread:NNv #1 \c_empty_tl { c_@@_name_ #2 _tl } }
@@ -3184,9 +3207,9 @@ To produce the documentation run the original source files ending with
% \item |dim| 型变量
% \item 文本 |clist|
% \end{arguments}
-% 当 \cs{l_@@_tmpa_clist} 非空时,弹出最后一个元素赋给 \cs{l_@@_tmpa_tl},
+% 当 \cs{l_@@_tmp_clist} 非空时,弹出最后一个元素赋给 \cs{l_@@_tmpa_tl},
% 获取其长度后与 |#1| 进行比较,二者中较大的那一个将成为 |#1| 的新值。
-% 不断循环,直至 \cs{l_@@_tmpa_clist} 为空。
+% 不断循环,直至 \cs{l_@@_tmp_clist} 为空。
% \begin{macrocode}
\cs_new:Npn \@@_get_max_width:NN #1#2
{
@@ -3199,55 +3222,53 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_full_uline:Nn,\@@_full_uline:Nx}
+% \begin{macro}{\@@_get_width_print:Nn,\@@_get_width_print:Nv,
+% \@@_get_width_print:Nx}
% 横跨整页的下划线。
% \begin{arguments}
% \item 宽度,|dim| 型变量
% \item 文本
% \end{arguments}
-% 先使用 \cs{@@_get_text_width:Nn} 获取文本内容宽度,
+% 先使用 \cs{@@_get_width:Nn} 获取文本内容到右边距的宽度,
% 该宽度存储在调用的 |dim| 型变量中。随后输出文本内容。
% \begin{macrocode}
-\cs_new_protected:Npn \@@_full_uline:Nn #1#2
+\cs_new_protected:Npn \@@_get_width_print:Nn #1#2
{
\@@_get_width:Nn #1 { #2 }
\dim_set:Nn #1 { \textwidth - #1 } #2
}
-\cs_generate_variant:Nn \@@_full_uline:Nn { Nx }
+\cs_generate_variant:Nn \@@_get_width_print:Nn { Nv }
+\cs_generate_variant:Nn \@@_get_width_print:Nn { Nx }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_uline_entry:Nnnn}
+% \begin{macro}{\@@_uline_entry:Nn}
% 生成占整页宽度的下划线条目。
% \begin{arguments}
% \item 宽度,|dim| 型变量
% \item 文本
-% \item 文本
-% \item 分隔符
% \end{arguments}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_uline_entry:Nnnn #1#2#3#4
+\cs_new_protected:Npn \@@_uline_entry:Nn #1#2
{
- \@@_full_uline:Nx #1 { \@@_name:n { #2 } #4 }
- \@@_box_ulined_info:Nn #1 { #3 }
+ \@@_get_width_print:Nv #1 { c_@@_name_ #2 _tl }
+ \@@_box_ulined_info:Nn #1 { #2 }
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_uline_bientry:Nnnn}
+% \begin{macro}{\@@_uline_bientry:Nn}
% 生成占半页宽度的下划线条目。
% \begin{arguments}
% \item 宽度,|dim| 型变量
% \item 文本
-% \item 文本
-% \item 分隔符
% \end{arguments}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_uline_bientry:Nnnn #1#2#3#4
+\cs_new_protected:Npn \@@_uline_bientry:Nn #1#2
{
- \@@_full_uline:Nx #1 { \@@_name:n { #2 } #4 }
+ \@@_get_width_print:Nv #1 { c_@@_name_ #2 _tl }
\dim_sub:Nn #1 { \textwidth / 2 }
- \@@_box_ulined_info:Nn #1 { #3 }
+ \@@_box_ulined_info:Nn #1 { #2 }
}
% \end{macrocode}
% \end{macro}
@@ -3677,10 +3698,10 @@ To produce the documentation run the original source files ending with
bottom-skip = \l_@@_bottom_skip,
align =
{
- l = { \cs_set_eq:NN \@@_align: \raggedright },
- r = { \cs_set_eq:NN \@@_align: \raggedleft },
- c = { \cs_set_eq:NN \@@_align: \centering },
- n = { \__nju_cs_clear:N \@@_align: }
+ l = { \cs_set_eq:NN \@@_align: \raggedright },
+ r = { \cs_set_eq:NN \@@_align: \raggedleft },
+ c = { \cs_set_eq:NN \@@_align: \centering },
+ n = { \cs_set:Nn \@@_align: { } }
}
}
{
@@ -3802,9 +3823,9 @@ To produce the documentation run the original source files ending with
% \changes{v1.0}{2022/06/30}{修改类型选项。}
% 学位,默认为学士。
% \begin{macrocode}
- type .choices:nn = { bachelor, master, doctor, postdoc }
+ type .choices:nn = { bachelor, master, doctor, postdoc }
{ \int_gset_eq:NN \g_@@_info_type_int \l_keys_choice_int },
- type .initial:n = bachelor,
+ type .initial:n = bachelor,
% \end{macrocode}
% \end{macro}
%
@@ -3812,9 +3833,12 @@ To produce the documentation run the original source files ending with
% \changes{v1.0}{2022/06/30}{修改学位选项。}
% 研究生的学位类型,默认为学术学位。
% \begin{macrocode}
- degree .choices:nn = { academic, professional }
- { \int_gset_eq:NN \g_@@_info_degree_int \l_keys_choice_int },
- degree .initial:n = academic,
+ degree .choice:,
+ degree / academic .code:n =
+ { \bool_set_true:N \g_@@_opt_academic_bool },
+ degree / professional .code:n =
+ { \bool_set_false:N \g_@@_opt_academic_bool },
+ degree .initial:n = academic,
% \end{macrocode}
% \end{macro}
%
@@ -3822,8 +3846,8 @@ To produce the documentation run the original source files ending with
% 是否需要国家图书馆封面。本选项仅用于研究生模板,默认关闭。
% \footnote{nl 代表 National Library。}
% \begin{macrocode}
- nl-cover .bool_set:N = \g_@@_opt_nlcover_bool,
- nl-cover .initial:n = false,
+ nl-cover .bool_set:N = \g_@@_opt_nlcover_bool,
+ nl-cover .initial:n = false,
% \end{macrocode}
% \end{macro}
%
@@ -3834,8 +3858,8 @@ To produce the documentation run the original source files ending with
% \footnote{原创性声明的英文翻译为 Declaration of Originality,
% 为了使选项表义更清晰同时缩减名称长度,将其修改为“声明页”这一名称。}
% \begin{macrocode}
- decl-page .bool_set:N = \g_@@_opt_decl_bool,
- decl-page .initial:n = false,
+ decl-page .bool_set:N = \g_@@_opt_decl_bool,
+ decl-page .initial:n = false,
% \end{macrocode}
% \end{macro}
%
@@ -3843,8 +3867,8 @@ To produce the documentation run the original source files ending with
% \changes{v0.13}{2021/12/15}{新增草稿模式选项。}
% 是否开启草稿模式(默认关闭)。
% \begin{macrocode}
- draft .bool_gset:N = \g_@@_opt_draft_bool,
- draft .initial:n = false,
+ draft .bool_gset:N = \g_@@_opt_draft_bool,
+ draft .initial:n = false,
% \end{macrocode}
% \end{macro}
%
@@ -3852,9 +3876,9 @@ To produce the documentation run the original source files ending with
% \changes{v0.14}{2022/01/14}{新增单双面模式选项。}
% 单双面模式(默认为双面)。
% \begin{macrocode}
- oneside .value_forbidden:n = true,
- twoside .value_forbidden:n = true,
- oneside .bool_gset_inverse:N = \g_@@_opt_twoside_bool,
+ oneside .value_forbidden:n = true,
+ twoside .value_forbidden:n = true,
+ oneside .bool_gset_inverse:N = \g_@@_opt_twoside_bool,
% \end{macrocode}
% \end{macro}
%
@@ -3864,8 +3888,8 @@ To produce the documentation run the original source files ending with
% \begin{macro}{\g_@@_opt_anon_bool}
% 盲审模式。
% \begin{macrocode}
- anonymous .bool_set:N = \g_@@_opt_anon_bool,
- anonymous .initial:n = false,
+ anonymous .bool_set:N = \g_@@_opt_anon_bool,
+ anonymous .initial:n = false,
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3874,10 +3898,10 @@ To produce the documentation run the original source files ending with
% \changes{v0.14}{2021/12/12}{简化字体选项名称。}
% 中英文字体选项。
% \begin{macrocode}
- latin-font .choices:nn =
+ latin-font .choices:nn =
{ gyre, mac, win, none }
{ \tl_set_eq:NN \g_@@_font_latin_tl \l_keys_choice_tl },
- cjk-font .choices:nn =
+ cjk-font .choices:nn =
{ fandol, founder, mac, noto, source, win, none }
{ \tl_set_eq:NN \g_@@_font_cjk_tl \l_keys_choice_tl },
% \end{macrocode}
@@ -3888,23 +3912,23 @@ To produce the documentation run the original source files ending with
% 数学字体选项。
% 由 \pkg{unicode-math} 指定 \XeTeX 和 \LuaTeX 下使用的数学字体。
% \begin{macrocode}
- math-font .choices:nn =
+ math-font .choices:nn =
{
asana, cambria, fira, garamond, lm, libertinus, newcm,
stix, bonum, dejavu, pagella, schola, termes, xits, none
}
{ \tl_set_eq:NN \g_@@_font_math_tl \l_keys_choice_tl },
- math-font .initial:n = xits,
+ math-font .initial:n = xits,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{font-path}
% 独立字体文件的路径。
% \begin{macrocode}
- font-path .code:n =
+ font-path .code:n =
{
\bool_set_true:N \g_@@_font_path_bool
- \tl_set_eq:NN \g_@@_font_path_tl \l_keys_choice_tl
+ \tl_set_eq:NN \g_@@_font_path_tl \l_keys_value_tl
},
% \end{macrocode}
% \end{macro}
@@ -3914,8 +3938,8 @@ To produce the documentation run the original source files ending with
% \begin{macro}{\g_@@_opt_zihao_tl}
% 字号。默认为小四号。
% \begin{macrocode}
- zihao .tl_set:N = \g_@@_opt_zihao_tl,
- zihao .initial:n = -4,
+ zihao .tl_set:N = \g_@@_opt_zihao_tl,
+ zihao .initial:n = -4,
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3927,8 +3951,8 @@ To produce the documentation run the original source files ending with
% Word 行距,故默认值为 $1.5\times\frac{1.3}{1.2} = 1.625$。
% 更详细的说明请参考 \pkg{zhlineskip} 宏包文档。
% \begin{macrocode}
- linespread .tl_set:N = \g_@@_opt_linespread_tl,
- linespread .initial:n = 1.625,
+ linespread .tl_set:N = \g_@@_opt_linespread_tl,
+ linespread .initial:n = 1.625,
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3937,7 +3961,7 @@ To produce the documentation run the original source files ending with
% \changes{v0.16}{2022/02/23}{新增 \opt{config} 选项。}
% 配置文件路径。
% \begin{macrocode}
- config .clist_set:N = \g_@@_config_clist
+ config .clist_set:N = \g_@@_config_clist
}
% \end{macrocode}
% \end{macro}
@@ -4035,6 +4059,13 @@ To produce the documentation run the original source files ending with
{ \tl_const:Nn \c_@@_name_pagemode_tl { oneside } }
% \end{macrocode}
%
+% \changes{v1.1}{2022/09/26}{盲审模式下不显示声明页。}
+% 盲审模式下不显示声明页。
+% \begin{macrocode}
+\bool_if:NT \g_@@_opt_anon_bool
+ { \bool_set_false:N \g_@@_opt_decl_bool }
+% \end{macrocode}
+%
%
% \subsection{用户接口}
%
@@ -4053,6 +4084,19 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_keys_set:nn}
+% \changes{v1.1}{2022/09/26}{使用 \cs{keys_set_filter:nnn} 重构盲审模式。}
+% 在开启盲审模式时,屏蔽被编入 \opt{annoymous} 分组的键值对输入。
+% \begin{macrocode}
+\bool_if:NTF \g_@@_opt_anon_bool
+ {
+ \cs_new:Npn \@@_keys_set:nn #1#2
+ { \keys_set_filter:nnn {#1} { anonymous } {#2} }
+ }
+ { \cs_new_eq:NN \@@_keys_set:nn \keys_set:nn }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\njusetup}
% \changes{v0.6}{2021/09/10}{改用键值对输入信息。}
% \changes{v1.0}{2022/08/01}{增加输入键路径的可选参数。}
@@ -4070,11 +4114,11 @@ To produce the documentation run the original source files ending with
\NewDocumentCommand \njusetup { o m }
{
\tl_if_novalue:nTF { #1 }
- { \keys_set:nn { nju } { #2 } }
+ { \@@_keys_set:nn { nju } { #2 } }
{
\tl_if_in:nnTF { #1 } { / }
- { \keys_set:nn { nju } { #1 = {#2} } }
- { \keys_set:nn { nju / #1 } {#2} }
+ { \@@_keys_set:nn { nju } { #1 = {#2} } }
+ { \@@_keys_set:nn { nju / #1 } {#2} }
}
}
% \end{macrocode}
@@ -4182,10 +4226,13 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\clist_map_inline:nn
{
- { no-math } { fontspec },
- { perpage } { footmisc },
- { capitalise, nameinlink, noabbrev }
- { cleveref }
+% \end{macrocode}
+% 隐藏 |does not contain script "CJK"| 警告。
+% \begin{macrocode}
+ { quiet } { xeCJK },
+ { no-math } { fontspec },
+ { perpage } { footmisc },
+ { capitalise, nameinlink, noabbrev } { cleveref }
}
{ \PassOptionsToPackage #1 }
% \end{macrocode}
@@ -4274,7 +4321,7 @@ To produce the documentation run the original source files ending with
\sys_if_engine_luatex:T
{
\RequirePackage { lua-ul }
- \NewDocumentCommand \njuline { m } { \underLine{#1} \null }
+ \NewDocumentCommand \njuline { m } { \underLine{#1} \@@_null: }
}
% \end{macrocode}
% \end{macro}
@@ -4407,10 +4454,10 @@ To produce the documentation run the original source files ending with
% \changes{v0.14}{2022/01/14}{将标题断行控制符修改为 |\\|。}
% 题目。中文题目可使用 |\\| 手动断行。以下标注星号(|*|)的皆为对应的英文字段。
% \begin{macrocode}
- title .tl_set:N = \g_@@_info_title_tl,
- title .initial:n = { 空 },
- title* .tl_set:N = \g_@@_info_title_en_tl,
- title* .initial:n = { Empty },
+ title .tl_set:N = \g_@@_info_title_tl ,
+ title .initial:n = { 空 } ,
+ title* .tl_set:N = \g_@@_info_title_en_tl ,
+ title* .initial:n = { Empty } ,
% \end{macrocode}
% \end{macro}
%
@@ -4418,30 +4465,30 @@ To produce the documentation run the original source files ending with
% \changes{v0.11}{2021/10/01}{修改了添加关键词的方式。}
% 关键词列表。
% \begin{macrocode}
- keywords .clist_set:N = \g_@@_info_keywords_clist,
- keywords* .clist_set:N = \g_@@_info_keywords_en_clist,
+ keywords .clist_set:N = \g_@@_info_keywords_clist ,
+ keywords* .clist_set:N = \g_@@_info_keywords_en_clist ,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/grade,info/student-id,info/author,info/author*}
% 年级、学号、姓名。
% \begin{macrocode}
- grade .tl_set:N = \g_@@_info_grade_tl,
- student-id .tl_set:N = \g_@@_info_id_tl,
- author .tl_set:N = \g_@@_info_author_tl,
- author* .tl_set:N = \g_@@_info_author_en_tl,
+ grade .tl_set:N = \g_@@_info_grade_tl ,
+ student-id .tl_set:N = \g_@@_info_id_tl ,
+ author .tl_set:N = \g_@@_info_author_tl ,
+ author* .tl_set:N = \g_@@_info_author_en_tl ,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/department,info/department*,info/major,info/major*,info/field,info/field*}
% 院系、专业、方向。
% \begin{macrocode}
- department .tl_set:N = \g_@@_info_dept_tl,
- department* .tl_set:N = \g_@@_info_dept_en_tl,
- major .tl_set:N = \g_@@_info_major_tl,
- major* .tl_set:N = \g_@@_info_major_en_tl,
- field .tl_set:N = \g_@@_info_field_tl,
- field* .tl_set:N = \g_@@_info_field_en_tl,
+ department .tl_set:N = \g_@@_info_dept_tl ,
+ department* .tl_set:N = \g_@@_info_dept_en_tl ,
+ major .tl_set:N = \g_@@_info_major_tl ,
+ major* .tl_set:N = \g_@@_info_major_en_tl ,
+ field .tl_set:N = \g_@@_info_field_tl ,
+ field* .tl_set:N = \g_@@_info_field_en_tl ,
% \end{macrocode}
% \end{macro}
%
@@ -4450,16 +4497,16 @@ To produce the documentation run the original source files ending with
% \changes{v0.14}{2022/01/12}{精简导师信息选项。}
% 导师信息。中文导师全称使用 |clist| 存储,便于在本科生封面中进行分割。
% \begin{macrocode}
- supervisor .clist_set:N = \g_@@_info_supv_clist,
- supervisor* .tl_set:N = \g_@@_info_supv_en_tl,
+ supervisor .clist_set:N = \g_@@_info_supv_clist ,
+ supervisor* .tl_set:N = \g_@@_info_supv_en_tl ,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/supervisor-ii,info/supervisor-ii*}
% 第二导师信息。
% \begin{macrocode}
- supervisor-ii .clist_set:N = \g_@@_info_supvii_clist,
- supervisor-ii* .tl_set:N = \g_@@_info_supvii_en_tl,
+ supervisor-ii .clist_set:N = \g_@@_info_supvii_clist ,
+ supervisor-ii* .tl_set:N = \g_@@_info_supvii_en_tl ,
% \end{macrocode}
% \end{macro}
%
@@ -4467,8 +4514,8 @@ To produce the documentation run the original source files ending with
% \changes{v0.14}{2022/01/14}{精简提交日期选项。}
% 提交日期,初始值为编译当天日期。
% \begin{macrocode}
- submit-date .tl_set:N = \g_@@_info_submitdate_raw_tl,
- submit-date .initial:V = \c_@@_today_tl,
+ submit-date .tl_set:N = \g_@@_info_submitdate_raw_tl ,
+ submit-date .initial:V = \c_@@_today_tl ,
% \end{macrocode}
% \end{macro}
%
@@ -4476,8 +4523,8 @@ To produce the documentation run the original source files ending with
% \changes{v0.14}{2022/01/14}{精简答辩日期选项。}
% 答辩日期。
% \begin{macrocode}
- defend-date .tl_set:N = \g_@@_info_defenddate_raw_tl,
- defend-date .initial:V = \c_@@_today_tl,
+ defend-date .tl_set:N = \g_@@_info_defenddate_raw_tl ,
+ defend-date .initial:V = \c_@@_today_tl ,
% \end{macrocode}
% \end{macro}
%
@@ -4485,8 +4532,8 @@ To produce the documentation run the original source files ending with
% \changes{v0.19}{2022/05/23}{新增国家图书馆封面的学位授予日期设置项。}
% 学位授予日期。
% \begin{macrocode}
- confer-date .tl_set:N = \g_@@_info_conferdate_raw_tl,
- confer-date .initial:V = \c_@@_today_tl,
+ confer-date .tl_set:N = \g_@@_info_conferdate_raw_tl ,
+ confer-date .initial:V = \c_@@_today_tl ,
% \end{macrocode}
% \end{macro}
%
@@ -4494,26 +4541,26 @@ To produce the documentation run the original source files ending with
% \changes{v0.19}{2022/05/23}{新增国家图书馆封面的底部日期设置项。}
% 底部日期。
% \begin{macrocode}
- bottom-date .tl_set:N = \g_@@_info_bottomdate_raw_tl,
- bottom-date .initial:V = \c_@@_today_tl,
+ bottom-date .tl_set:N = \g_@@_info_bottomdate_raw_tl ,
+ bottom-date .initial:V = \c_@@_today_tl ,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/defend-date,info/chairman,info/reviewer}
% 答辩委员会信息。
% \begin{macrocode}
- chairman .tl_set:N = \g_@@_info_chairman_tl,
- reviewer .clist_set:N = \g_@@_info_reviewer_clist,
+ chairman .tl_set:N = \g_@@_info_chairman_tl ,
+ reviewer .clist_set:N = \g_@@_info_reviewer_clist ,
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{info/clc,info/secret-level,info/udc,info/supervisor-contact}
% 国家图书馆封面相关信息。
% \begin{macrocode}
- clc .tl_set:N = \g_@@_info_clc_tl,
- secret-level .tl_set:N = \g_@@_info_secretlv_tl,
- udc .tl_set:N = \g_@@_info_udc_tl,
- supervisor-contact .tl_set:N = \g_@@_info_supvcont_tl,
+ clc .tl_set:N = \g_@@_info_clc_tl ,
+ secret-level .tl_set:N = \g_@@_info_secretlv_tl ,
+ udc .tl_set:N = \g_@@_info_udc_tl ,
+ supervisor-contact .tl_set:N = \g_@@_info_supvcont_tl ,
% \end{macrocode}
% \end{macro}
%
@@ -4523,56 +4570,33 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
email .tl_set:N = \g_@@_info_email_tl
}
+\clist_map_inline:Nn \c_@@_name_anon_clist
+ { \keys_define:nn { nju / info } { #1 .groups:n = { anonymous } } }
+\clist_map_inline:Nn \c_@@_name_anon_en_clist
+ { \keys_define:nn { nju / info } { #1 * .groups:n = { anonymous } } }
% \end{macrocode}
% \end{macro}
%
-% \changes{v0.16}{2022/03/06}{正确处理学位和类型信息。}
-% 设置学位信息。该设置需要放在 \tn{ProcessKeysOptions}
-% 命令以及载入配置文件中的常量信息后进行。
-% \begin{macrocode}
-\tl_set:Nx \g_@@_info_type_tl
- {
- \clist_item:Nn \c_@@_name_type_clist
- { \g_@@_info_type_int }
- }
-\tl_set:Nx \g_@@_info_degree_tl
- {
- \g_@@_info_type_tl
- \clist_item:Nn \c_@@_name_degree_clist
- { \g_@@_info_degree_int }
- }
-% \end{macrocode}
-%
% \changes{v0.15}{2022/01/22}{正确处理双导师信息。}
% 在导言区录入用户信息后进行变量设置。此处使用到了 \pkg{ctex} 提供的命令,
% 应当位于载入文档类之后。
% \begin{macrocode}
-\ctex_at_end_preamble:n
+\@@_at_begin_document:n
{
% \end{macrocode}
-% 设置类型信息。
-% \begin{macrocode}
- \tl_set:Nx \g_@@_info_type_en_tl
- { \clist_item:Nn \c_@@_name_type_en_clist { \g_@@_info_type_int } }
-% \end{macrocode}
% 拼合双导师的姓名和职称。
% \begin{macrocode}
- \bool_set:Nn \l_@@_second_supvbool
- { ! \clist_if_empty_p:N \g_@@_info_supvii_clist }
- \tl_set:Nx \g_@@_info_supvfull_tl
+ \clist_map_inline:nn
+ { \g_@@_info_supv_clist, \g_@@_info_supvii_clist }
{
- \clist_use:Nn \g_@@_info_supv_clist { \@@_hskip: }
- \bool_if:NT \l_@@_second_supvbool
- {
- \@@_quad:
- \clist_use:Nn \g_@@_info_supvii_clist { \@@_hskip: }
- }
+ \tl_gput_right:Nx \g_@@_info_supvfull_tl
+ { \clist_use:Nn #1 { \@@_hskip: } \@@_quad: }
}
- \tl_set:Nx \g_@@_info_supvfull_en_tl
+ \tl_gput_right:Nn \g_@@_info_supvfull_tl { \tex_unskip:D }
+ \tl_set:Nn \g_@@_info_supvfull_en_tl
{
- \g_@@_info_supv_en_tl
- \bool_if:NT \l_@@_second_supvbool
- { \@@_quad: \g_@@_info_supvii_en_tl }
+ \g_@@_info_supv_en_tl \@@_quad:
+ \g_@@_info_supvii_en_tl \tex_unskip:D
}
}
%</class>
@@ -4624,22 +4648,46 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
-% 盲审模式下抹去个人信息和学校名称。
+% \changes{v0.16}{2022/03/06}{正确处理学位和类型信息。}
+% 设置学位信息。该设置需要放在 \tn{ProcessKeysOptions} 命令后进行。
+%
+% \begin{variable}{\g_@@_info_type_tl}
+% 文档类型字样。
+% \begin{macrocode}
+%<*def-g>
+\tl_new:N \g_@@_info_type_tl
+\tl_set:Nx \g_@@_info_type_tl
+ { \clist_item:Nn \c_@@_name_type_clist { \g_@@_info_type_int } }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_info_type_en_tl}
+% 英文的学位字样。
+% \begin{macrocode}
+\tl_new:N \g_@@_info_type_en_tl
+\tl_set:Nx \g_@@_info_type_en_tl
+ { \clist_item:Nn \c_@@_name_type_en_clist { \g_@@_info_type_int } }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_info_degree_tl}
+% 学位类型字样。
+% \begin{macrocode}
+\tl_new:N \g_@@_info_degree_tl
+\tl_set_eq:NN \g_@@_info_degree_tl \g_@@_info_type_tl
+\bool_if:NF \g_@@_opt_academic_bool
+ { \tl_put_right:Nn \g_@@_info_degree_tl { 专业 } }
+%</def-g>
+% \end{macrocode}
+% \end{variable}
+%
+% 盲审模式下抹去学校名称。
% \begin{macrocode}
%<*class>
\bool_if:NT \g_@@_opt_anon_bool
{
- \ctex_at_end_preamble:n
- {
- \clist_map_inline:Nn \c_@@_name_anon_clist
- { \tl_gclear:c { g_@@_info_ #1 _tl } }
- \clist_map_inline:Nn \c_@@_name_anon_en_clist
- { \tl_gclear:c { g_@@_info_ #1 _en_tl } }
- \clist_map_inline:Nn \c_@@_name_anonlist_clist
- { \clist_gclear:c { g_@@_info_ #1 _clist } }
- \tl_gclear:N \c_@@_name_nju_tl
- \tl_gclear:N \c_@@_name_nju_en_tl
- }
+ \tl_gclear:N \c_@@_name_nju_tl
+ \tl_gclear:N \c_@@_name_nju_en_tl
}
% \end{macrocode}
%
@@ -4789,17 +4837,18 @@ To produce the documentation run the original source files ending with
\cs_new_protected:Npn \@@_loadfont_cjk_mac:
{
\@@_hide_no_script_msg:
- \setCJKmainfont{Songti~SC~Light}[
- BoldFont=Songti~SC~Bold,
- ItalicFont=Kaiti~SC,
- BoldItalicFont=Kaiti~SC~Bold]
- \setCJKsansfont{Heiti~SC~Light}[BoldFont=Heiti~SC~Medium]
- \setCJKmonofont{STFangsong}
- \setCJKfamilyfont{zhsong}{Songti~SC~Light}[BoldFont=Songti~SC~Bold]
- \setCJKfamilyfont{zhhei}{Heiti~SC~Light}[BoldFont=Heiti~SC~Medium]
- \setCJKfamilyfont{zhfs}{STFangsong}
- \setCJKfamilyfont{zhkai}{Kaiti~SC}[BoldFont=Kaiti~SC~Bold]
- \setCJKfamilyfont{zhnewhei}{PingFang~SC}
+ \setCJKmainfont { Songti~SC~Light }
+ [
+ BoldFont = Songti~SC~Bold,
+ ItalicFont = Kaiti~SC,
+ BoldItalicFont = Kaiti~SC~Bold
+ ]
+ \setCJKsansfont { Heiti~SC~Light } [ BoldFont = Heiti~SC~Medium ]
+ \setCJKmonofont { STFangsong }
+ \setCJKfamilyfont { zhsong } { Songti~SC~Light } [ BoldFont = Songti~SC~Bold ]
+ \setCJKfamilyfont { zhhei } { Heiti~SC~Light } [ BoldFont = Heiti~SC~Medium ]
+ \setCJKfamilyfont { zhfs } { STFangsong }
+ \setCJKfamilyfont { zhkai } { Kaiti~SC } [ BoldFont = Kaiti~SC~Bold ]
}
% \end{macrocode}
% \end{macro}
@@ -4851,7 +4900,8 @@ To produce the documentation run the original source files ending with
\cs_new_protected:Npn \@@_loadfont_cjk_founder:
{
% \end{macrocode}
-% 调整方正字体括号位置。\footnote{\XeTeX 的调整方法来自 \url{https://www.zhihu.com/question/46241367/answer/101660183}。}
+% 调整方正字体括号位置。
+% \footnote{\XeTeX 的调整方法来自 \url{https://www.zhihu.com/question/46241367/answer/101660183}。}
% \begin{macrocode}
\sys_if_engine_xetex:T
{ \xeCJKEditPunctStyle {quanjiao} { optimize-kerning = true } }
@@ -5502,14 +5552,6 @@ To produce the documentation run the original source files ending with
% \end{variable}
%
% \begin{macrocode}
-\msg_new:nnn { njuthesis } { extra-bib-style }
- {
- Wrongly-placed~ bib~ style.\\
- Please~ use~ the~ `bib/style`~ field.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
\keys_define:nn { nju / bib }
{
% \end{macrocode}
@@ -5543,17 +5585,13 @@ To produce the documentation run the original source files ending with
% \changes{v0.15}{2022/02/15}{提供传入 \pkg{biblatex} 宏包选项的接口。}
% 待传入 \pkg{biblatex} 的额外宏包选项,以列表形式储存。
% 更为常见的参考文献样式设置已由 \opt{bib/style} 提供,
-% 此处对重复的样式设置进行了检查。本设置项等效于在导言区使用
-% |\PassoptionToPackage{|\meta{key}|=|\meta{value}|}{biblatex}| 命令。
+% 两者中后传入的设置会覆盖已有的设定。本设置项等效于在导言区使用
+% |\PassoptionsToPackage{|\meta{key}|=|\meta{value}|}{biblatex}| 命令。
% \begin{macrocode}
option .code:n =
{
- \tl_if_in:VnTF \l_keys_value_tl { style = }
- { \msg_error:nn { njuthesis } { extra-bib-style } }
- {
\clist_gput_right:NV \g_@@_blx_option_clist
\l_keys_value_tl
- }
},
% \end{macrocode}
% \end{macro}
@@ -5563,10 +5601,7 @@ To produce the documentation run the original source files ending with
% 参考文献数据源,以列表形式储存。
% \begin{macrocode}
resource .code:n =
- {
- \clist_gput_right:NV \g_@@_blx_resource_clist
- \l_keys_value_tl
- },
+ { \clist_gput_right:NV \g_@@_blx_resource_clist \l_keys_value_tl },
}
% \end{macrocode}
% \end{macro}
@@ -5592,8 +5627,7 @@ To produce the documentation run the original source files ending with
{
\cs_undefine:N \addbibresource
\clist_gput_right:Nn \g_@@_blx_option_clist { backend = biber }
- \exp_args:NV \PassOptionsToPackage
- \g_@@_blx_option_clist { biblatex }
+ \exp_args:NV \PassOptionsToPackage \g_@@_blx_option_clist { biblatex }
}
% \end{macrocode}
% \end{macro}
@@ -5626,9 +5660,9 @@ To produce the documentation run the original source files ending with
% 使用 \pkg{etoolbox} 提供的 \tn{BeforeBeginEnvironment},在 \env{document} 环境
% 开始的钩子前载入 \pkg{biblatex} 并进行相关设置。
% \begin{macrocode}
-\BeforeBeginEnvironment { document }
+\bool_if:NT \g_@@_opt_load_blx_bool
{
- \bool_if:NT \g_@@_opt_load_blx_bool
+ \BeforeBeginEnvironment { document }
{
\@@_blx_pre_setup:
\RequirePackage { biblatex }
@@ -5704,61 +5738,105 @@ To produce the documentation run the original source files ending with
%
% \subsection{脚注}
% \changes{v0.18}{2022/05/01}{提供脚注设置项。}
-% ^^A 来自 fduthesis
+% ^^A 借鉴 fduthesis
+%
+% \begin{variable}{\g_@@_fn_ctext_option_clist}
+% 存储传入 \pkg{circledtext} 宏包的选项列表。
+% 由于当前版本放在编号位置的带圈数字无法正确缩放,这里手动指定了字体大小。
+% \begin{macrocode}
+\clist_set:Nn \g_@@_fn_ctext_option_clist { charf = \scriptsize }
+% \end{macrocode}
+% \end{variable}
+%
% \begin{macrocode}
-\tl_new:N \g_@@_fn_style_tl
\keys_define:nn { nju / footnote }
{
% \end{macrocode}
% \begin{macro}{footnote/style}
+% \changes{v1.1}{2022/10/16}{增加 \opt{circled} 和 \opt{circled*} 选项。}
+% 脚注编号的样式。
% \begin{macrocode}
- style .choices:nn = { plain, pifont }
+ style .choices:nn = { plain, pifont, circled, circled* }
+ {
+ \int_case:nnF { \l_keys_choice_int }
+ {
% \end{macrocode}
-% 若使用 \opt{pifont} 类型,则需引入 \pkg{pifont} 宏包。
+% \opt{pifont} 类型,用作对旧发行版的兼容选项。
% \begin{macrocode}
- {
- \tl_gset_eq:NN \g_@@_fn_style_tl \l_keys_choice_tl
- \int_compare:nT { \l_keys_choice_int = 2 }
- { \RequirePackage { pifont } }
- }
- }
+ { 2 }
+ {
+ \RequirePackage { pifont }
+ \cs_set_eq:NN \@@_fn_number:N \@@_fn_number_pifont:N
+ }
+% \end{macrocode}
+% \opt{circled} 类型,带星号的版本为阴文,需引入 \pkg{circledtext} 宏包。
+% \begin{macrocode}
+ { 3 }
+ {
+ \RequirePackage { circledtext }
+ \cs_set:Npn \@@_fn_number:N
+ { \@@_fn_number_circled:NV \c_false_bool }
+ }
+ { 4 }
+ {
+ \RequirePackage { circledtext }
+ \cs_set:Npn \@@_fn_number:N
+ { \@@_fn_number_circled:NV \c_true_bool }
+ }
+ }
+% \end{macrocode}
+% \opt{plain} 或未知类型直接使用计数器的值。
+% \begin{macrocode}
+ { \cs_set_eq:NN \@@_fn_number:N \int_use:N }
+ },
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_fn_symbol_pifont:n}
-% \opt{pifont} 普通版。以下四种都只包含 \numrange{1}{10}。
+% \begin{macro}{footnote/circledtext-option}
+% \changes{v1.1}{2022/10/16}{将生成脚注圈码的 \pkg{pifont} 替换为 \pkg{circledtext}。}
+% \pkg{circledtext} 宏包选项。
% \begin{macrocode}
-\cs_new:Npn \@@_fn_symbol_pifont:n #1
- { \ding { \int_eval:n { 171 + #1 } } }
+ circledtext-option .code:n =
+ { \clist_gput_right:Nn \g_@@_fn_ctext_option_clist {#1} },
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_footnote_number:N}
-% 脚注编号样式。
+% \begin{macro}{footnote/hang}
+% \changes{v1.1}{2022/10/16}{新增悬挂缩进选项。}
+% 是否悬挂缩进。
% \begin{macrocode}
-\tl_const:Nn \c_@@_fn_style_plain_tl { plain }
-\tl_const:Nn \c_@@_fn_style_pifont_tl { pifont }
-\cs_new:Npn \@@_footnote_number:N #1
- {
- \tl_case:NnF \g_@@_fn_style_tl
- {
+ hang .bool_gset:N = \g_@@_fn_hang_bool,
+ hang .initial:n = true
+ }
% \end{macrocode}
-% \opt{plain} 类型直接使用计数器 |footnote| 的值。
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_number_pifont:N}
+% \opt{pifont} 选项提供的带圈数字。
% \begin{macrocode}
- \c_@@_fn_style_plain_tl
- { \int_use:N #1 }
+\cs_new:Npn \@@_fn_number_pifont:N #1 { \ding { \int_eval:n { 171 + #1 } } }
% \end{macrocode}
-% \opt{pifont} 类型无需进行额外的操作。
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_number_circled:Nn,\@@_fn_number_circled:NV}
+% \opt{circled} 选项提供的带圈数字。
% \begin{macrocode}
- \c_@@_fn_style_pifont_tl
- { \@@_fn_symbol_pifont:n {#1} }
- }
+\cs_generate_variant:Nn \__circledtext_handle:nn { Vn }
+\cs_new_protected:Npn \@@_fn_number_circled:Nn #1#2
+ {
+ \group_begin:
+ \bool_set_eq:NN \l__circledtext_negative_bool #1
+ \__circledtext_handle:Vn \g_@@_fn_ctext_option_clist { #2 }
+ \group_end:
+ }
+\cs_generate_variant:Nn \@@_fn_number_circled:Nn { NV }
% \end{macrocode}
-% 变量 \cs{l_@@_fn_style_tl} 保存的类型未知时,默认使用 \opt{plain}
-% 类型。
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_number:N}
+% 脚注编号。默认使用计数器 |footnote| 的值。
% \begin{macrocode}
- { \int_use:N #1 }
- }
+\cs_new_eq:NN \@@_fn_number:N \int_use:N
% \end{macrocode}
% \end{macro}
%
@@ -5767,21 +5845,28 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\bool_if:NT \g_@@_opt_load_fm_bool
{
- \cs_set:Npn \thefootnote { \@@_footnote_number:N \c@footnote }
+ \cs_set:Npn \thefootnote { \@@_fn_number:N \c@footnote }
% \end{macrocode}
% \end{macro}
%
% \subsubsection{整体样式}
%
% \begin{macro}[int]{\@makefntext}
-% 重定义内部脚注文字命令,使脚注编号不使用上标,宽度为 \qty{1.5}{em}。
+% 重定义内部脚注文字命令,使脚注编号不使用上标,宽度为 \qty{1.5}{em}
% \footnote{\url{http://tex.stackexchange.com/q/19844},
-% \url{https://www.zhihu.com/question/53030087}}
+% \url{https://www.zhihu.com/question/53030087}},
+% 并自行实现悬挂缩进。注意这个操作会使 \pkg{footmisc} 宏包内建的 \opt{hang} 选项失效。
% \begin{macrocode}
\cs_set:Npn \@makefntext #1
{
\mode_leave_vertical:
- \hbox_to_wd:nn { 1.5 em } { \@thefnmark \tex_hfil:D }
+ \hbox_to_wd:nn { \c_@@_fnhang_dim } { \@thefnmark \tex_hfil:D }
+ \tex_penalty:D \@M
+ \bool_if:NT \g_@@_fn_hang_bool
+ {
+ \int_set:Nn \tex_hangafter:D { 1 }
+ \dim_set_eq:NN \tex_hangindent:D \c_@@_fnhang_dim
+ }
#1
}
}
@@ -5792,7 +5877,7 @@ To produce the documentation run the original source files ending with
% \subsection{图片表格}
%
% \begin{macro}{image/path}
-% \changes{v1.0}{2021/08/06}{提供图片路径设置。}
+% \changes{v1.0}{2022/08/06}{提供图片路径设置。}
% 外置图片路径,等效于 \tn{graphicspath}。
% \begin{macrocode}
\keys_define:nn { nju / image } { path .code:n = { \graphicspath {#1} } }
@@ -5860,7 +5945,7 @@ To produce the documentation run the original source files ending with
% \end{macro}
%
% \begin{macro}{label-sep/figure,label-sep/table,label-sep/equation}
-% \changes{1.0}{2022/07/31}{添加编号连接符设置项。}
+% \changes{v1.0}{2022/07/31}{添加编号连接符设置项。}
% 修改图片、表格、公式编号中的连接符。
% \footnote{\url{https://tex.stackexchange.com/q/61756/}}
% \begin{macrocode}
@@ -5929,10 +6014,26 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{theorem/type,theorem/define}
-% 定义和创建定理类环境的接口。
+% \begin{macro}{theorem/type}
+% 定义定理类环境。
+% \begin{macrocode}
+ type .clist_gset:N = \g_@@_thm_type_clist,
+ type .initial:n =
+ {
+ { axiom } { 公理 },
+ { corollary } { 推论 },
+ { definition } { 定义 },
+ { example } { 例 },
+ { lemma } { 引理 },
+ { proof, *+ } { 证明 },
+ { theorem } { 定理 }
+ },
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{theorem/define}
+% 创建定理类环境。
% \begin{macrocode}
- type .clist_set:N = \g_@@_thm_type_clist,
define .value_forbidden:n = true,
define .code:n =
{
@@ -6218,8 +6319,8 @@ To produce the documentation run the original source files ending with
\use:c { @@_loadfont_math_ \g_@@_font_math_tl : }
\bool_if:NT \g_@@_opt_math_leq_bool
{
- \cs_set_eq:NN \le \leslant
- \cs_set_eq:NN \ge \geslant
+ \cs_set_eq:NN \le \leqslant
+ \cs_set_eq:NN \ge \geqslant
\cs_set_eq:NN \leq \leqslant
\cs_set_eq:NN \geq \geqslant
}
@@ -6321,7 +6422,7 @@ To produce the documentation run the original source files ending with
\@@_cover_entry:NNNnn #1 \l_@@_tmpb_dim #4 { grade } { id }
\@@_cover_entry:NNNn #1 #2 #4 { author }
\@@_cover_entry_supv:NNNn #1 \l_@@_tmpb_dim #4 { supv }
- \bool_if:NT \l_@@_second_supvbool
+ \bool_if:NT \g_@@_opt_second_supv_bool
{ \@@_cover_entry_supv:NNNn #1 \l_@@_tmpb_dim #4 { supvii } }
\@@_cover_entry:NNNn #1 #2 #4 { submitdate }
}
@@ -6567,10 +6668,8 @@ To produce the documentation run the original source files ending with
{
content =
\c_@@_text_cover_en_tl \@@_vskip:
- \textsc { \clist_item:Nn \c_@@_name_type_en_clist
- { \g_@@_info_degree_int } }
- \@@_vskip: { in } \@@_vskip:
- \g_@@_info_major_en_tl,
+ \group_begin: \scshape \g_@@_info_type_en_tl \group_end:
+ \@@_vskip: { in } \@@_vskip: \g_@@_info_major_en_tl,
bottom-skip = 2 cm
}
% \end{macrocode}
@@ -6679,14 +6778,15 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_top_nl:
{
- \dim_set:Nn \l_@@_tmpa_dim { 3.2 em }
- \dim_set:Nn \l_@@_tmpb_dim { 9 em }
- \@@_box_spread_name:Nn \l_@@_tmpa_dim { clc } \@@_hskip:
- \@@_box_ulined_info:Nn \l_@@_tmpb_dim { clc } \tex_hfill:D
+ \dim_set:Nn \l_@@_tmpa_dim { 38.6 pt }
+ \dim_set:Nn \l_@@_tmpb_dim { 109 pt }
+ \@@_box_spread_name:Nn \l_@@_tmpa_dim { clc } \@@_hskip:
+ \@@_box_ulined_info:Nn \l_@@_tmpb_dim { clc } \tex_hfill:D
\@@_box_spread_name:Nn \l_@@_tmpa_dim { secretlv } \@@_hskip:
\@@_box_ulined_info:Nn \l_@@_tmpb_dim { secretlv } \tex_par:D
- \@@_box_spread_name:Nn \l_@@_tmpa_dim { udc } \@@_hskip:
- \@@_box_ulined_info:Nn \l_@@_tmpb_dim { udc } \tex_hfill:D \hbox:n { }
+ \@@_box_spread_name:Nn \l_@@_tmpa_dim { udc } \@@_hskip:
+ \@@_box_ulined_info:Nn \l_@@_tmpb_dim { udc } \tex_hfill:D
+ \@@_null:
}
% \end{macrocode}
% \end{macro}
@@ -6715,20 +6815,28 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_info_nl:
{
- \skip_set:Nn \l_@@_tmp_skip { 1 em plus 1 fill }
- \@@_uline_list:NNn \c_@@_name_supvinfo_tl \l_@@_tmp_skip
+ \tl_set:Nx \l_@@_tmpa_tl
{
\clist_use:Nn \g_@@_info_supv_clist { ~ }
\clist_use:Nn \g_@@_info_supvii_clist { ~ }
\@@_hskip: \g_@@_info_supvcont_tl
}
- \@@_uline_bientry:Nnnn \l_@@_tmpa_dim { degree } { degree } { }
- \@@_uline_bientry:Nnnn \l_@@_tmpa_dim { majorb } { major } { }
- \tex_par:D
- \@@_uline_bientry:Nnnn \l_@@_tmpa_dim { submitdate } { submitdate } { }
- \@@_uline_bientry:Nnnn \l_@@_tmpa_dim { defenddate } { defenddate } { }
+ \skip_set:Nn \l_@@_tmp_skip { .5 em plus 1 fill }
+ \@@_uline_list:NNn \l_@@_tmpa_tl \l_@@_tmp_skip
+ { \c_@@_name_supvinfo_tl }
+% \end{macrocode}
+% 临时替换显示的名称字样。
+% \begin{macrocode}
+ \group_begin:
+ \tl_set_eq:NN \c_@@_name_major_tl \c_@@_name_majorb_tl
+ \@@_uline_bientry:Nn \l_@@_tmpa_dim { degree }
+ \@@_uline_bientry:Nn \l_@@_tmpa_dim { major }
+ \tex_par:D
+ \group_end:
+ \@@_uline_bientry:Nn \l_@@_tmpa_dim { submitdate }
+ \@@_uline_bientry:Nn \l_@@_tmpa_dim { defenddate }
\tex_par:D
- \@@_uline_entry:Nnnn \l_@@_tmpa_dim { confer } { confer } { }
+ \@@_uline_entry:Nn \l_@@_tmpa_dim { confer }
}
% \end{macrocode}
% \end{macro}
@@ -6850,13 +6958,14 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_degree_checkbox:n}
+% \begin{macro}{\@@_degree_checkbox:Nn}
% 信息栏的学位复选框。打勾符号对应 |U+2713|。
% \begin{macrocode}
-\cs_new_protected:Npn \@@_degree_checkbox:n #1
+\cs_new_protected:Npn \@@_degree_checkbox:Nn #1#2
{
- \int_compare:nNnTF { #1 } { = }
- { \g_@@_info_degree_int * \g_@@_info_type_int }
+ \bool_lazy_and:nnTF
+ { \g_@@_opt_academic_bool && #1 }
+ { \int_compare_p:n { \g_@@_info_type_int = #2 } }
{
\makebox [ 0 pt ] [l] { \ensuremath { \mdwhtsquare } }
\hspace { 0.1 em } \ensuremath { \checkmark }
@@ -6874,31 +6983,28 @@ To produce the documentation run the original source files ending with
\begin{tblr}
{
hlines, vlines, hspan=minimal,
- cells = {font=\normalsize},
- colspec = {cX[c]cX[c]cX[c]},
+ cells = { font = \normalsize },
+ colspec = { c X[c] c X[c] c X[c] },
cell{1}{2} = {c=5}{m}, cell{3}{2} = {c=5}{m},
cell{4}{2} = {c=5}{m}, cell{5}{2} = {c=5}{m}
}
\c_@@_name_titlec_tl & \g_@@_info_title_tl \\
\c_@@_name_ida_tl & \g_@@_info_id_tl &
\c_@@_name_depta_tl & \g_@@_info_dept_tl &
- \c_@@_name_year_tl &
+ \c_@@_name_year_tl &
\tl_range:Nnn \g_@@_info_submitdate_raw_tl {1} {4} \\
\c_@@_name_degreea_tl &
{
- \@@_degree_checkbox:n { 2 } 学术学位硕士 \qquad{}
- \@@_degree_checkbox:n { 4 } 专业学位硕士 \\
- \@@_degree_checkbox:n { 3 } 学术学位博士 \qquad{}
- \@@_degree_checkbox:n { 6 } 专业学位博士
+ \@@_degree_checkbox:Nn \c_true_bool { 2 } 学术学位硕士 \qquad
+ \@@_degree_checkbox:Nn \c_false_bool { 2 } 专业学位硕士 \\
+ \@@_degree_checkbox:Nn \c_true_bool { 3 } 学术学位博士 \qquad
+ \@@_degree_checkbox:Nn \c_false_bool { 3 } 专业学位博士
} \\
- \c_@@_name_email_tl & \g_@@_info_email_tl \\
+ \c_@@_name_email_tl & \g_@@_info_email_tl \\
\c_@@_name_supvb_tl &
- \clist_item:Nn \g_@@_info_supv_clist {1}
- \bool_if:NT \l_@@_second_supvbool
- {
- \@@_quad:
- \clist_item:Nn \g_@@_info_supvii_clist {1}
- } \\
+ \clist_item:Nn \g_@@_info_supv_clist { 1 }
+ \bool_if:NT \g_@@_opt_second_supv_bool
+ { \@@_quad: \clist_item:Nn \g_@@_info_supvii_clist { 1 } } \\
\end{tblr}
}
% \end{macrocode}
@@ -7094,9 +7200,9 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_p_decl_sign:nn #1#2
{
- \@@_name:n {#1} \c_@@_name_colon_tl \hfill
+ \@@_name:n {#1} \c_@@_name_colon_tl \tex_hfill:D
\@@_name:n {#2} \c_@@_name_colon_tl
- \skip_horizontal:n { 160 pt } \null \@@_vskip:
+ \skip_horizontal:n { 160 pt } \@@_null: \@@_vskip:
}
%</def-p>
% \end{macrocode}
@@ -7602,7 +7708,7 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% 专业、年级、姓名。
% \begin{macrocode}
- \@@_full_uline:Nx \l_@@_tmp_skip
+ \@@_get_width_print:Nx \l_@@_tmp_skip
{
\dim_set:Nn \l_@@_tmpa_dim { 11 em }
\dim_set:Nn \l_@@_tmpb_dim { 4 em }
@@ -7615,7 +7721,7 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% 导师姓名、职称。
% \begin{macrocode}
- \@@_full_uline:Nx \l_@@_tmpa_dim { \c_@@_name_supva_tl #1 }
+ \@@_get_width_print:Nx \l_@@_tmpa_dim { \c_@@_name_supva_tl #1 }
\@@_box_ulined_info:Nn \l_@@_tmpa_dim { supvfull }
}
% \end{macrocode}
@@ -7792,10 +7898,14 @@ To produce the documentation run the original source files ending with
% 单独制作的前言致谢页。
% \begin{macrocode}
\NewDocumentEnvironment { preface } { +b }
- { \@@_chapter:V \c_@@_name_preface_tl #1 }
+ { \@@_chapter:V \c_@@_name_preface_tl #1 }
{ \cleardoublepage }
\NewDocumentEnvironment { acknowledgement } { +b }
- { \@@_chapter:V \c_@@_name_acknowledgement_tl #1 }
+ {
+ \bool_if:NTF \g_@@_opt_anon_bool
+ { \@@_bookmark_toc:V \c_@@_name_acknowledgementa_tl }
+ { \@@_chapter:V \c_@@_name_acknowledgement_tl #1 }
+ }
{ \cleardoublepage }
% \end{macrocode}
% \end{environment}
@@ -7944,110 +8054,111 @@ To produce the documentation run the original source files ending with
%<*(def-u|def-g|def-p)>
\clist_map_inline:nn
{
- { acknowledgement } { 致 \qquad{} 谢 },
-%<def-g> { apply } {(申请 \g_@@_info_degree_tl 学位)},
-%<def-g> { auth decl } { 学位论文出版授权书 },
-%<def-p> { auth decl } { 研究报告使用授权书 },
-%<def-p> { author } { 作者 },
+ { acknowledgement } { 致 \qquad{} 谢 },
+ { acknowledgement a } { 致谢(盲审阶段,暂时隐去) },
+%<def-g> { apply } {(申请 \g_@@_info_degree_tl 学位)},
+%<def-g> { auth decl } { 学位论文出版授权书 },
+%<def-p> { auth decl } { 研究报告使用授权书 },
+%<def-p> { author } { 作者 },
% \end{macrocode}
% 用于摘要的作者名称字样
% \begin{macrocode}
-%<def-u> { author a } { 本科生姓名 },
-%<def-g> { author a } { \g_@@_info_type_tl 生姓名 },
-%<def-g> { auth sign } { 作者签名:\njuline{\hspace{6em}} },
-%<def-p> { auth sign } { 本人签名 },
-%<def-p> { auth sign a } { 导师签名 },
-%<def-g> { chairman } { 答辩委员会主席: },
-%<def-g> { clc } { 分类号 },
-%<def-g> { confer } { 学位授予单位和日期 },
- { date } { 日期 },
-%<def-g> { defend date } { 论文答辩日期 },
-%<def-g> { degree } { 申请学位级别 },
+%<def-u> { author a } { 本科生姓名 },
+%<def-g> { author a } { \g_@@_info_type_tl 生姓名 },
+%<def-g> { auth sign } { 作者签名:\njuline{\hspace{6em}} },
+%<def-p> { auth sign } { 本人签名 },
+%<def-p> { auth sign a } { 导师签名 },
+%<def-g> { chairman } { 答辩委员会主席: },
+%<def-g> { clc } { 分类号 },
+%<def-g> { confer } { 学位授予单位和日期 },
+ { date } { 日期 },
+%<def-g> { defend date } { 论文答辩日期 },
+%<def-g> { degree } { 申请学位级别 },
% \end{macrocode}
% 用于出版授权书的学位名称字样
% \begin{macrocode}
-%<def-g> { degree a } { 论文级别 },
-%<def-p> { dept } { 系别 },
+%<def-g> { degree a } { 论文级别 },
+%<def-p> { dept } { 系别 },
% \end{macrocode}
% 用于出版授权书的院系名称字样
% \begin{macrocode}
-%<def-g> { dept a } { 所在院系 },
-%<def-g> { email } { 作者 Email },
-%<def-g> { field } { 研究方向 },
-%<def-u> { grade } { 年级 },
-%<def-g> { grade } { 级 },
-%<def-u|def-g> { id } { 学号 },
-%<def-p> { id } { 工号 },
+%<def-g> { dept a } { 所在院系 },
+%<def-g> { email } { 作者 Email },
+%<def-g> { field } { 研究方向 },
+%<def-u> { grade } { 年级 },
+%<def-g> { grade } { 级 },
+%<def-u|def-g> { id } { 学号 },
+%<def-p> { id } { 工号 },
% \end{macrocode}
% 用于出版授权书的学号名称字样
% \begin{macrocode}
-%<def-g> { id a } { 研究生学号 },
- { listoffigures } { 插图目录 },
- { listoftables } { 表格目录 },
-%<def-p> { major } { 学科专业 },
+%<def-g> { id a } { 研究生学号 },
+ { listoffigures } { 插图目录 },
+ { listoftables } { 表格目录 },
+%<def-p> { major } { 学科专业 },
% \end{macrocode}
% 用于摘要的专业名称字样
% \begin{macrocode}
-%<def-g> { major a } { 专业 },
+%<def-g> { major a } { 专业 },
% \end{macrocode}
% 用于国家图书馆封面的专业名称字样
% \begin{macrocode}
-%<def-g> { major b } { 专业名称 },
- { notation } { 符号表 },
-%<def-u> { orig decl }
-%<def-u> { 南京大学本科毕业论文(设计) \\ 诚信承诺书 },
-%<def-g> { orig decl } { 南京大学学位论文原创性声明 },
-%<def-p> { orig decl } { 研究报告原创性声明 },
-%<def-u> { orig sign } { 作者签名 },
-%<def-g> { orig sign } { 研究生签名 },
-%<def-p> { orig sign } { 研究报告作者签名 },
- { paper list } { 发表文章目录 },
- { pdf creator } { LaTeX~ with~ njuthesis~ class },
- { preface } { 前 \qquad{} 言 },
-%<def-p> { report } { 博士后研究工作报告 },
-%<def-g> { reviewer } { 评阅人: },
-%<def-g> { secret lv } { 密级 },
-%<def-g> { secret status } { 论文涉密情况: },
-%<def-g> { secret free } { 不保密 },
-%<def-g> { secret date }
+%<def-g> { major b } { 专业名称 },
+ { notation } { 符号表 },
+%<def-u> { orig decl }
+%<def-u> { 南京大学本科毕业论文(设计) \\ 诚信承诺书 },
+%<def-g> { orig decl } { 南京大学学位论文原创性声明 },
+%<def-p> { orig decl } { 研究报告原创性声明 },
+%<def-u> { orig sign } { 作者签名 },
+%<def-g> { orig sign } { 研究生签名 },
+%<def-p> { orig sign } { 研究报告作者签名 },
+ { paper list } { 发表文章目录 },
+ { pdf creator } { LaTeX~ with~ njuthesis~ class },
+ { preface } { 前 \qquad{} 言 },
+%<def-p> { report } { 博士后研究工作报告 },
+%<def-g> { reviewer } { 评阅人: },
+%<def-g> { secret lv } { 密级 },
+%<def-g> { secret status } { 论文涉密情况: },
+%<def-g> { secret free } { 不保密 },
+%<def-g> { secret date }
%<def-g> { 保密,保密期( \c_@@_name_blankdatea_tl 至
-%<def-g> \c_@@_name_blankdatea_tl ) },
-%<def-g> { sign } { (签字) },
-%<def-u> { submit date } { 提交日期 },
-%<def-g> { submit date } { 论文提交日期 },
-%<def-p> { submit date } { 完成日期 },
-%<def-g> { subtitle } { (题名和副题名) },
-%<def-u> { supv } { 指导教师 },
-%<def-g> { supv } { 导师 },
-%<def-p> { supv full } { 合作导师 },
+%<def-g> \c_@@_name_blankdatea_tl ) },
+%<def-g> { sign } { (签字) },
+%<def-u> { submit date } { 提交日期 },
+%<def-g> { submit date } { 论文提交日期 },
+%<def-p> { submit date } { 完成日期 },
+%<def-g> { subtitle } { (题名和副题名) },
+%<def-u> { supv } { 指导教师 },
+%<def-g> { supv } { 导师 },
+%<def-p> { supv full } { 合作导师 },
% \end{macrocode}
% 用于摘要的导师名称字样
% \begin{macrocode}
-%<def-g> { supv a } { 指导教师(姓名、职称) },
+%<def-g> { supv a } { 指导教师(姓名、职称) },
% \end{macrocode}
% 用于出版授权书的导师名称字样
% \begin{macrocode}
-%<def-g> { supv b } { 导师姓名 },
-%<def-g> { supv info }
-%<def-g> { 指导教师姓名、职务、职称、学位、单位名称及地址 },
- { supv ii } { 第二导师 },
- { supv title } { 职称 },
- { tableofcontents } { 目 \qquad{} 录 },
-%<def-p> { title } { 报告题目 },
+%<def-g> { supv b } { 导师姓名 },
+%<def-g> { supv info }
+%<def-g> { 指导教师姓名、职务、职称、学位、单位名称及地址 },
+ { supv ii } { 第二导师 },
+ { supv title } { 职称 },
+ { tableofcontents } { 目 \qquad{} 录 },
+%<def-p> { title } { 报告题目 },
% \end{macrocode}
% 用于摘要的标题名称字样
% \begin{macrocode}
-%<def-g> { title a } { 毕业论文题目 },
+%<def-g> { title a } { 毕业论文题目 },
% \end{macrocode}
% 用于国家图书馆封面的标题名称字样
% \begin{macrocode}
-%<def-g> { title b } { 学位论文 },
+%<def-g> { title b } { 学位论文 },
% \end{macrocode}
% 用于出版授权书的标题名称字样
% \begin{macrocode}
-%<def-g> { title c } { 论文题名 },
-%<def-g> { udc } { U D C },
-%<def-g> { year } { 学位年度 }
+%<def-g> { title c } { 论文题名 },
+%<def-g> { udc } { U D C },
+%<def-g> { year } { 学位年度 }
}
{ \@@_define_name:nn #1 }
% \end{macrocode}
@@ -8099,7 +8210,7 @@ To produce the documentation run the original source files ending with
% 对专业硕士的封面条目进行临时修改。
% \begin{macrocode}
%<*def-g>
-\int_compare:nT { \g_@@_info_degree_int == 2 }
+\bool_if:NF \g_@@_opt_academic_bool
{ \tl_set:Nn \c_@@_name_major_tl { 专业学位类别(领域) } }
%</def-g>
% \end{macrocode}
@@ -8236,7 +8347,11 @@ To produce the documentation run the original source files ending with
% 章节标题前后间距。
% \begin{macrocode}
{ chapter before } { 10 pt },
- { chapter after } { 60 pt }
+ { chapter after } { 60 pt },
+% \end{macrocode}
+% 脚注编号宽度。
+% \begin{macrocode}
+ { fn hang } { 13.5 pt }
}
{ \@@_define_dim:nn #1 }
% \end{macrocode}