texlive[67127] Master/texmf-dist: thuthesis (15may23)

commits+karl at tug.org commits+karl at tug.org
Mon May 15 23:15:11 CEST 2023


Revision: 67127
          http://tug.org/svn/texlive?view=revision&revision=67127
Author:   karl
Date:     2023-05-15 23:15:11 +0200 (Mon, 15 May 2023)
Log Message:
-----------
thuthesis (15may23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/thuthesis/README.md
    trunk/Master/texmf-dist/doc/latex/thuthesis/data/appendix.tex
    trunk/Master/texmf-dist/doc/latex/thuthesis/data/chap04.tex
    trunk/Master/texmf-dist/doc/latex/thuthesis/spine.pdf
    trunk/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex
    trunk/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf
    trunk/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf
    trunk/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx
    trunk/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls

Modified: trunk/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md	2023-05-15 21:14:37 UTC (rev 67126)
+++ trunk/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md	2023-05-15 21:15:11 UTC (rev 67127)
@@ -6,6 +6,29 @@
 
 ## [Unreleased]
 
+## [v7.4.0] - 2023-05-15
+
+### Added
+
+- 允许本科生附录翻译的摘要中使用 `\thusetup{keywords = *}` 设置关键词([#865](https://github.com/tuna/thuthesis/issues/865))。
+- 添加选项 `degree-category` 和 `degree-category*` 设置学科门类([#840](https://github.com/tuna/thuthesis/issues/840))。
+- 添加选项 `professional-field` 和 `professional-field*` 设置专业领域([#840](https://github.com/tuna/thuthesis/issues/840))。
+- 添加选项 `engineering-field` 和 `engineering-field*` 设置工业领域([#840](https://github.com/tuna/thuthesis/issues/840))。
+
+### Changed
+
+- 专业学位的“工程领域”改为“专业领域”,同步《指南》2023 年 3 月版的更改([#862](https://github.com/tuna/thuthesis/issues/862))。
+- 附录中的参考文献另行编号([#837](https://github.com/tuna/thuthesis/issues/837),感谢 [@hushidong](https://github.com/hushidong) 和 [@atxy-blip](https://github.com/atxy-blip))。
+
+### Deprecated
+
+- 选项 `degree-name` 和 `degree-name*` 已经过时([#840](https://github.com/tuna/thuthesis/issues/840))。
+
+### Fixed
+
+- 修正研究生“学术成果”列表的行距([#850](https://github.com/tuna/thuthesis/issues/850))。
+- 修正封面的布局,同步《指南》2023 年 3 月版的更改([#861](https://github.com/tuna/thuthesis/issues/861))。
+
 ## [v7.3.2] - 2023-04-06
 
 ### Fixed
@@ -928,7 +951,8 @@
 
 
 
-[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.3.2...HEAD
+[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.4.0...HEAD
+[v7.4.0]:     https://github.com/tuna/thuthesis/compare/v7.3.2...v7.4.0
 [v7.3.2]:     https://github.com/tuna/thuthesis/compare/v7.3.1...v7.3.2
 [v7.3.1]:     https://github.com/tuna/thuthesis/compare/v7.3.0...v7.3.1
 [v7.3.0]:     https://github.com/tuna/thuthesis/compare/v7.2.4...v7.3.0

Modified: trunk/Master/texmf-dist/doc/latex/thuthesis/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/thuthesis/README.md	2023-05-15 21:14:37 UTC (rev 67126)
+++ trunk/Master/texmf-dist/doc/latex/thuthesis/README.md	2023-05-15 21:15:11 UTC (rev 67127)
@@ -29,10 +29,13 @@
 下载途径:
 
 * 发布版:
-  * [CTAN](https://www.ctan.org/pkg/thuthesis):可能滞后正式发布少许时间。
-  * [GitHub Releases](https://github.com/tuna/thuthesis/releases):最新版的及时发布途径。
-  * [TUNA 镜像站](https://mirrors.tuna.tsinghua.edu.cn/github-release/tuna/thuthesis/):GitHub Releases 的镜像。
-  * [Overleaf](https://www.overleaf.com/latex/templates/thuthesis-tsinghua-university-thesis-latex-template/wddqnwbyhtnk):Overleaf 的模板。
+  * 仅下载:
+    * [CTAN](https://www.ctan.org/pkg/thuthesis):可能滞后正式发布少许时间。
+    * [GitHub Releases](https://github.com/tuna/thuthesis/releases):最新版的及时发布途径。
+    * [TUNA 镜像站](https://mirrors.tuna.tsinghua.edu.cn/github-release/tuna/thuthesis/):GitHub Releases 的镜像。
+  * 在线编辑:
+    * [TeXPage 模板](https://www.texpage.com/template/72b580ca-51fa-4ecc-82b3-0509bc1d6a07)(提供 Windows 中文字体)
+    * [Overleaf 模板](https://www.overleaf.com/latex/templates/thuthesis-tsinghua-university-thesis-latex-template/wddqnwbyhtnk)
 * 开发版:[GitHub](https://github.com/tuna/thuthesis)
 
 **任何在其他途径分发的 ThuThesis(包含其变体或衍生物)均不是官方版本,请谨慎使用。**
@@ -103,11 +106,14 @@
 
 Developer versions contain only source code but no pre-compiled `cls` file and documentations. They are only for the usage of developers and experienced TeX users in need of unpublished features. No warranties are provided.
 
-* Published versions:
-  * [CTAN](https://www.ctan.org/pkg/thuthesis)
-  * [GitHub Releases](https://github.com/tuna/thuthesis/releases)
-  * [TUNA Mirrors](https://mirrors.tuna.tsinghua.edu.cn/github-release/tuna/thuthesis/): mirror of GitHub Releases
-  * [Overleaf Template](https://www.overleaf.com/latex/templates/thuthesis-tsinghua-university-thesis-latex-template/wddqnwbyhtnk)
+* Published versions:
+  * Download only:
+    * [CTAN](https://www.ctan.org/pkg/thuthesis)
+    * [GitHub Releases](https://github.com/tuna/thuthesis/releases)
+    * [TUNA Mirrors](https://mirrors.tuna.tsinghua.edu.cn/github-release/tuna/thuthesis/): mirror of GitHub Releases
+  * Online editor:
+    * [TeXPage template](https://www.texpage.com/template/72b580ca-51fa-4ecc-82b3-0509bc1d6a07) (providing Chinese fonts of Windows)
+    * [Overleaf template](https://www.overleaf.com/latex/templates/thuthesis-tsinghua-university-thesis-latex-template/wddqnwbyhtnk)
 * Developer versions: [GitHub](https://github.com/tuna/thuthesis)
 
 **ThuThesis (including its variants / derivatives) distributed in any other way is NOT an official version. Use at your own risk.**

Modified: trunk/Master/texmf-dist/doc/latex/thuthesis/data/appendix.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/thuthesis/data/appendix.tex	2023-05-15 21:14:37 UTC (rev 67126)
+++ trunk/Master/texmf-dist/doc/latex/thuthesis/data/appendix.tex	2023-05-15 21:15:11 UTC (rev 67127)
@@ -4,12 +4,14 @@
 
 附录是与论文内容密切相关、但编入正文又影响整篇论文编排的条理和逻辑性的资料,例如某些重要的数据表格、计算程序、统计表等,是论文主体的补充内容,可根据需要设置。
 
+附录中的图、表、数学表达式、参考文献等另行编序号,与正文分开,一律用阿拉伯数字编码,
+但在数码前冠以附录的序号,例如“图~\ref{fig:appendix-figure}”,
+“表~\ref{tab:appendix-table}”,“式\eqref{eq:appendix-equation}”等。
 
-\section{图表示例}
 
-\subsection{图}
+\section{插图}
 
-附录中的图片示例(图~\ref{fig:appendix-figure})。
+% 附录中的插图示例(图~\ref{fig:appendix-figure})。
 
 \begin{figure}
   \centering
@@ -19,9 +21,9 @@
 \end{figure}
 
 
-\subsection{表格}
+\section{表格}
 
-附录中的表格示例(表~\ref{tab:appendix-table})。
+% 附录中的表格示例(表~\ref{tab:appendix-table})。
 
 \begin{table}
   \centering
@@ -41,10 +43,17 @@
 \end{table}
 
 
-\section{数学公式}
+\section{数学表达式}
 
-附录中的数学公式示例(公式\eqref{eq:appendix-equation})。
+% 附录中的数学表达式示例(式\eqref{eq:appendix-equation})。
 \begin{equation}
   \frac{1}{2 \uppi \symup{i}} \int_\gamma f = \sum_{k=1}^m n(\gamma; a_k) \mathscr{R}(f; a_k)
   \label{eq:appendix-equation}
 \end{equation}
+
+
+\section{参考文献}
+
+附录中的参考文献示例(\cite{carlson1981two} 和 \cite{carlson1981two,taylor1983scanning,taylor1981study})。
+
+\printbibliography

Modified: trunk/Master/texmf-dist/doc/latex/thuthesis/data/chap04.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/thuthesis/data/chap04.tex	2023-05-15 21:14:37 UTC (rev 67126)
+++ trunk/Master/texmf-dist/doc/latex/thuthesis/data/chap04.tex	2023-05-15 21:15:11 UTC (rev 67127)
@@ -15,6 +15,7 @@
 \thusetup{
   cite-style = super,
 }
+\noindent
 \begin{tabular}{l@{\quad$\Rightarrow$\quad}l}
   \verb|\cite{zhangkun1994}|               & \cite{zhangkun1994}               \\
   \verb|\citet{zhangkun1994}|              & \citet{zhangkun1994}              \\
@@ -30,6 +31,7 @@
 \thusetup{
   cite-style = inline,
 }
+\noindent
 \begin{tabular}{l@{\quad$\Rightarrow$\quad}l}
   \verb|\cite{zhangkun1994}|               & \cite{zhangkun1994}               \\
   \verb|\citet{zhangkun1994}|              & \citet{zhangkun1994}              \\
@@ -47,7 +49,8 @@
 \thusetup{
   cite-style = author-year,
 }
-\begin{tabular}{l@{\space$\Rightarrow$\space}l}
+\noindent
+\begin{tabular}{@{}l@{$\Rightarrow$}l@{}}
   \verb|\cite{zhangkun1994}|                & \cite{zhangkun1994}                \\
   \verb|\citet{zhangkun1994}|               & \citet{zhangkun1994}               \\
   \verb|\citep{zhangkun1994}|               & \citep{zhangkun1994}               \\

Modified: trunk/Master/texmf-dist/doc/latex/thuthesis/spine.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex	2023-05-15 21:14:37 UTC (rev 67126)
+++ trunk/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex	2023-05-15 21:15:11 UTC (rev 67127)
@@ -22,7 +22,7 @@
   title* = {An Introduction to \LaTeX{} Thesis Template of Tsinghua
             University v\version},
   %
-  % 学位
+  % 学科门类
   %   1. 学术型
   %      - 中文
   %        需注明所属的学科门类,例如:
@@ -39,8 +39,8 @@
   %      Doctor of Education, Master of Engineering
   %   3. 本科生不需要填写
   %
-  degree-name  = {工学硕士},
-  degree-name* = {Master of Science},
+  degree-category  = {工学硕士},
+  degree-category* = {Master of Science},
   %
   % 培养单位
   %   填写所属院系的全名
@@ -48,17 +48,20 @@
   department = {计算机科学与技术系},
   %
   % 学科
-  %   1. 学术型学位
-  %      获得一级学科授权的学科填写一级学科名称,其他填写二级学科名称
-  %   2. 工程硕士
-  %      工程领域名称
-  %   3. 其他专业型学位
-  %      不填写此项
-  %   4. 本科生填写专业名称,第二学位论文需标注“(第二学位)”
+  %   1. 研究生学术型学位,获得一级学科授权的学科填写一级学科名称,其他填写二级学科名称
+  %   2. 本科生填写专业名称,第二学位论文需标注“(第二学位)”
   %
   discipline  = {计算机科学与技术},
   discipline* = {Computer Science and Technology},
   %
+  % 专业领域
+  %   1. 设置专业领域的专业学位类别,填写相应专业领域名称
+  %   2. 2019 级及之前工程硕士学位论文,在 `engineering-field` 填写相应工程领域名称
+  %   3. 其他专业学位类别的学位论文无需此信息
+  %
+  % professional-field  = {计算机技术},
+  % professional-field* = {Computer Technology},
+  %
   % 姓名
   %
   author  = {薛瑞尼},

Modified: trunk/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx	2023-05-15 21:14:37 UTC (rev 67126)
+++ trunk/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx	2023-05-15 21:15:11 UTC (rev 67127)
@@ -14,7 +14,7 @@
 %
 % \iffalse
 %<*driver>
-\ProvidesFile{thuthesis.dtx}[2023/04/06 7.3.2 Tsinghua University Thesis Template]
+\ProvidesFile{thuthesis.dtx}[2023/05/15 7.4.0 Tsinghua University Thesis Template]
 \documentclass{ltxdoc}
 \usepackage{dtx-style}
 
@@ -105,7 +105,7 @@
 % \textbf{Thesis} Template)是为了帮助清华大学毕业生撰写毕业论文而编写
 % 的 \LaTeX{} 论文模板。
 %
-% 本文档将尽量完整的介绍模板的使用方法,如有不清楚之处,或者想提出改进建议,
+% 本文档将尽量完整地介绍模板的使用方法,如有不清楚之处,或者想提出改进建议,
 % 可以在 \href{https://github.com/tuna/thuthesis/issues/}{GitHub Issues}
 % 参与讨论或提问。
 % 有兴趣者都可以参与完善此手册,也非常欢迎对代码的贡献。
@@ -444,15 +444,15 @@
 % \end{latex}
 %
 % \subsubsection{申请学位名称}
-% \label{sec:degree-name}
-% 学位名称的设置比较复杂,见表~\ref{tab:degree-name}。
+% \label{sec:degree-category}
+% 学位名称的设置比较复杂,见表~\ref{tab:degree-category}。
 %
 % \begin{table}[h]
 %   \caption{学位名称的要求}
-%   \label{tab:degree-name}
+%   \label{tab:degree-category}
 %   \begin{tabular}{p{2cm}p{6cm}p{6cm}}
 %     \toprule
-%     学位类型 & degree-name & degree-name* \\
+%     学位类型 & degree-category & degree-category* \\
 %     \midrule
 %     学术型博士 & 需注明所属的学科门类,例如:
 %         哲学、经济学、法学、教育学、文学、历史学、理学、工学、农学、医学、
@@ -473,8 +473,8 @@
 %
 % \begin{latex}
 %   \thusetup{
-%     degree-name  = {您要申请什么学位},
-%     degree-name* = {Degree in English},
+%     degree-category  = {您要申请什么学位},
+%     degree-category* = {Degree in English},
 %   }
 % \end{latex}
 %
@@ -489,11 +489,8 @@
 % \subsubsection{学科名称}
 %
 % \begin{itemize}
-%   \item 学术型学位:获得一级学科授权的学科填写一级学科名称,其他填写二级学科名称;
-%   \item 2019级及之前工程硕士:工程领域名称;
-%   \item 有专业领域的专业型学位:专业领域名称;
-%   \item 无专业领域的专业型学位:无需设置;
-%   \item 本科生:专业名称,第二学位论文需标注“(第二学位)”
+%   \item 研究生学术型学位:获得一级学科授权的学科填写一级学科名称,其他填写二级学科名称;
+%   \item 本科生:专业名称,第二学位论文需标注“(第二学位)”。
 % \end{itemize}
 %
 % \begin{latex}
@@ -503,6 +500,24 @@
 %   }
 % \end{latex}
 %
+% \subsubsection{专业领域}
+%
+% 仅用于研究生专业型学位。
+%
+% \begin{itemize}
+%   \item 设置专业领域的专业学位类别,填写相应专业领域名称;
+%   \item 2019 级及之前工程硕士学位论文,在 \option{engineering-field} 填写相应工程领域名称;
+%   \item 其他专业学位类别的学位论文无需此信息。
+% \end{itemize}
+%
+% \begin{latex}
+%   \thusetup{
+%     professional-field  = {专业领域},
+%     professional-field* = {Professional field},
+%   }
+% \end{latex}
+%
+%
 % \subsubsection{作者姓名}
 % 作者姓名。
 % \begin{latex}
@@ -1249,7 +1264,7 @@
 %    \begin{macrocode}
 %<cls>\NeedsTeXFormat{LaTeX2e}[2017/04/15]
 %<cls>\ProvidesClass{thuthesis}
-%<cls>[2023/04/06 7.3.2 Tsinghua University Thesis Template]
+%<cls>[2023/05/15 7.4.0 Tsinghua University Thesis Template]
 %    \end{macrocode}
 %
 % 报错
@@ -1307,7 +1322,7 @@
 %<*cls>
 \hyphenation{Thu-Thesis}
 \def\thuthesis{ThuThesis}
-\def\version{7.3.2}
+\def\version{7.4.0}
 \RequirePackage{kvdefinekeys}
 \RequirePackage{kvsetkeys}
 \RequirePackage{kvoptions}
@@ -1800,11 +1815,9 @@
   }
 }
 \AtEndOfPackageFile*{natbib}{
-  \ifthu at degree@bachelor
-    \@ifpackageloaded{apacite}{}{
-      \RequirePackage{bibunits}
-    }
-  \fi
+  \@ifpackageloaded{apacite}{}{
+    \RequirePackage{bibunits}
+  }
 }
 %    \end{macrocode}
 %
@@ -2301,7 +2314,7 @@
 \newcommand\thu at set@font at times{%
   \setmainfont{Times New Roman}%
   \setsansfont{Arial}%
-  \ifthu at system@mac
+  \ifthu at fontset@mac
     \setmonofont{Menlo}[Scale = MatchLowercase]%
   \else
     \setmonofont{Courier New}[Scale = MatchLowercase]%
@@ -2894,7 +2907,7 @@
     \newcommand\square{\mdlgwhtsquare}%
     \newcommand\blacksquare{\mdlgblksquare}%
     \AtBeginDocument{%
-      \renewcommand\checkmark{\ensuremath{✓}}%
+      \renewcommand\checkmark{\ensuremath{\symbol{"2713}}}%
     }%
 %    \end{macrocode}
 %
@@ -4119,24 +4132,39 @@
 %
 % 学位中英文。
 %    \begin{macrocode}
-  degree-name = {
+  degree-category = {
     default = {工学博士},
-    name    = degree at name,
+    name    = degree at category,
   },
-  degree-name* = {
+  degree-category* = {
     default = {Doctor of Philosophy},
-    name    = degree at name@en,
+    name    = degree at category@en,
   },
+  % 为了向后兼容
+  degree-name = {
+    name    = degree at category,
+  },
+  degree-name* = {
+    name    = degree at category@en,
+  },
+}
+\thu at option@hook{degree-name}{%
+  \thu at warning{`degree-name' is deprecated. Use `degree-category' instead.}
+}
+\thu at option@hook{degree-name*}{%
+  \thu at warning{`degree-name*' is deprecated. Use `degree-category*' instead.}
+}
 %    \end{macrocode}
 %
 % 院系中英文名称。
 %    \begin{macrocode}
+\thu at define@key{
   department = {
     default = {计算机科学与技术系},
   },
 %    \end{macrocode}
 %
-% 专业中英文名称。
+% 学科中英文名称。
 %    \begin{macrocode}
   discipline = {
     % default = {计算机科学与技术},
@@ -4145,8 +4173,44 @@
     % default = {Computer Science and Technology},
     name    = discipline at en,
   },
+}
+\thu at option@hook{discipline}{%
+  \ifthu at degree@type at professional
+    \thu at warning{`discipline' for professional degree is deprecated. Use `professional-field' instead.}
+    \let\thu at professional@field\thu at discipline
+    \let\thu at discipline\@empty
+  \fi
+}
+\thu at option@hook{discipline*}{%
+  \ifthu at degree@type at professional
+    \thu at warning{`discipline*' for professional degree is deprecated. Use `professional-field*' instead.}
+    \let\thu at professional@field at en\thu at discipline@en
+    \let\thu at discipline@en\@empty
+  \fi
+}
 %    \end{macrocode}
 %
+% 专业领域。
+%    \begin{macrocode}
+\thu at define@key{
+  professional-field = {
+    name    = professional at field,
+  },
+  professional-field* = {
+    name    = professional at field@en,
+  },
+%    \end{macrocode}
+%
+% 工程领域。
+%    \begin{macrocode}
+  engineering-field = {
+    name    = engineering at field,
+  },
+  engineering-field* = {
+    name    = engineering at field@en,
+  },
+%    \end{macrocode}
+%
 % 论文成文日期。
 %    \begin{macrocode}
   date = {
@@ -4279,8 +4343,19 @@
   \stepcounter{thu at csl@count}%
 }
 \newcommand\thu at name@title at format[2]{%
-  \thu at pad{3cm}{\thu at stretch{4em}{#1}}%
-  \thu at stretch{3em}{#2}%
+  \ifthu at degree@type at professional
+    % 字距 9.8bp,共 16bp * 3 + 9.8bp * 2 = 67.5bp
+    \thu at stretch{67.6bp}{#1}%
+    \hspace{9.8bp}%
+    % 字距 6bp
+    \begingroup
+      \renewcommand\CJKglue{\hspace{9.8bp}}%
+      #2%
+    \endgroup
+  \else
+    \thu at pad{3cm}{\thu at stretch{4em}{#1}}%
+    \thu at stretch{3em}{#2}%
+  \fi
 }
 \newcommand\thu at name@title[1]{%
   \setcounter{thu at csl@count}{0}%
@@ -4325,12 +4400,24 @@
   \ifthu at degree@graduate
     \ifthu at thesis@type at thesis
       \ifthu at degree@type at academic
-        \thu at titlepage@graduate at academic
+        \ifthu at degree@doctor
+          \thu at titlepage@doctor at academic
+        \else
+          \thu at titlepage@master at academic
+        \fi
       \else
-        \ifx\thu at discipline\@empty
-          \thu at titlepage@graduate at professional
+        \ifthu at degree@doctor
+          \thu at titlepage@doctor at professional
         \else
-          \thu at titlepage@graduate at academic
+          \ifx\thu at professional@field\@empty
+            \ifx\thu at engineering@field\@empty
+              \thu at titlepage@master at professional@without at field
+            \else
+              \thu at titlepage@master at professional@with at field
+            \fi
+          \else
+            \thu at titlepage@master at professional@with at field
+          \fi
         \fi
       \fi
     \else
@@ -4360,7 +4447,7 @@
 % 然而作为事实标准的 Word 模板的页边距是上下 6.0 厘米,左右 4.0 厘米。
 % 这里缩小上边距以方便排版保密信息。
 %    \begin{macrocode}
-\newcommand\thu at titlepage@graduate at academic{%
+\newcommand\thu at titlepage@doctor at academic{%
   \newgeometry{
     top     = 2cm,
     bottom  = 6cm,
@@ -4388,10 +4475,10 @@
       \vskip -9.2pt%
     \fi
     \vskip 24.1pt%
-    \thu at titlepage@degree
+    \thu at titlepage@degree\par
     \vfill
     \parbox[t][7.25cm][t]{\textwidth}{%
-      \centering\fangsong\fontsize{16bp}{31.2bp}\selectfont
+      \fangsong\fontsize{16bp}{31.2bp}\selectfont
       \thu at titlepage@info
     }\par
     \parbox[t][1.03cm][t]{\textwidth}{\centering\thu at titlepage@date}\par
@@ -4403,7 +4490,7 @@
 %
 % 专业型学位论文中文封面
 %    \begin{macrocode}
-\newcommand\thu at titlepage@graduate at professional{%
+\newcommand\thu at titlepage@doctor at professional{%
   \newgeometry{
     top     = 2cm,
     bottom  = 6cm,
@@ -4434,11 +4521,12 @@
     \vskip 25.5pt%
     \thu at titlepage@degree
     \vfill
-    \parbox[t][5.24cm][t]{\textwidth}{%
-      \centering\fangsong\fontsize{16bp}{1cm}\selectfont
+    \parbox[b][5.24cm][b]{\textwidth}{%
+      \fangsong\fontsize{16bp}{1cm}\selectfont
       \thu at titlepage@info
     }\par
-    \parbox[t][1.25cm][t]{\textwidth}{\centering\thu at titlepage@date}\par
+    \vskip 2.22cm%
+    \parbox[t][1.0cm][t]{\textwidth}{\centering\thu at titlepage@date}\par
   \endgroup
   \clearpage
   \restoregeometry
@@ -4445,6 +4533,166 @@
 }
 %    \end{macrocode}
 %
+% 学术型硕士
+%    \begin{macrocode}
+\newcommand\thu at titlepage@master at academic{%
+  \newgeometry{
+    top     = 2cm,
+    bottom  = 6cm,
+    hmargin = 3.5cm,
+  }%
+  \thispagestyle{empty}%
+  \null\vskip 10bp%
+  \begingroup
+    \centering
+    \parbox[t][55bp][t]{\textwidth}{%
+      \hskip -23bp%
+      \thu at titlepage@secret
+    }\par
+    \vskip 34pt%
+    \begingroup
+      % 1.21 倍行距
+      \sffamily\fontsize{26bp}{40.898bp}\selectfont
+      \thu at title\par
+    \endgroup
+    \ifthu at main@language at english
+      \vskip 5.4pt%
+      \begingroup
+        \sffamily\bfseries\fontsize{20bp}{31.2bp}\selectfont
+        \thu at title@en\par
+      \endgroup
+      \vskip -9.2pt%
+    \fi
+    \vskip 18pt%
+    \thu at titlepage@degree\par
+    \vfill
+    \parbox[t][7.05cm][t]{\textwidth}{%
+      % 表格行高 1cm = 28.35bp
+      \fangsong\fontsize{16bp}{28.35bp}\selectfont
+      \thu at titlepage@info
+    }\par
+    \parbox[t][37bp][t]{\textwidth}{\centering\thu at titlepage@date}\par
+  \endgroup
+  \clearpage
+  \restoregeometry
+}
+%    \end{macrocode}
+%
+% 专业型硕士
+%    \begin{macrocode}
+\newcommand\thu at titlepage@master at professional@without at field{%
+  \newgeometry{
+    top     = 2cm,
+    bottom  = 6cm,
+    hmargin = 3.5cm,
+  }%
+  \thispagestyle{empty}%
+  \null\vskip 15bp%
+  \begingroup
+    \centering
+    \parbox[t][41bp][t]{\textwidth}{%
+      \hskip -23bp%
+      \thu at titlepage@secret
+    }\par
+    \vskip 1.5cm%
+    \begingroup
+      % 1.21 倍行距,无网格
+      \sffamily\fontsize{26bp}{40.9bp}\selectfont
+      \thu at title\par
+    \endgroup
+    \ifthu at main@language at english
+      \vskip 5.4pt%
+      \begingroup
+        \sffamily\bfseries\fontsize{20bp}{31.2bp}\selectfont
+        \thu at title@en\par
+      \endgroup
+      \vskip -9.2pt%
+    \fi
+    \vskip 25.5pt%
+    \thu at titlepage@degree
+    \vfill
+    \parbox[b][5.24cm][b]{\textwidth}{%
+      \fangsong\fontsize{16bp}{1cm}\selectfont
+      \thu at titlepage@info
+    }\par
+    \vskip 2.22cm%
+    \parbox[t][35.5bp][t]{\textwidth}{\centering\thu at titlepage@date}\par
+  \endgroup
+  \clearpage
+  \restoregeometry
+}
+%    \end{macrocode}
+%
+% 专业型硕士(有专业领域)
+%    \begin{macrocode}
+\newcommand\thu at titlepage@master at professional@with at field{%
+  \newgeometry{
+    top     = 2cm,
+    bottom  = 6cm,
+    hmargin = 3.5cm,
+  }%
+  \thispagestyle{empty}%
+  \null\vskip 10bp%
+  \begingroup
+    \centering
+    \parbox[t][46bp][t]{\textwidth}{%
+      \hskip -23bp%
+      \thu at titlepage@secret
+    }\par
+    \vskip 1.5cm%
+    \begingroup
+      % 1.21 倍行距,无网格
+      \sffamily\fontsize{26bp}{40.9bp}\selectfont
+      \thu at title\par
+    \endgroup
+    \ifthu at main@language at english
+      \vskip 5.4pt%
+      \begingroup
+        \sffamily\bfseries\fontsize{20bp}{31.2bp}\selectfont
+        \thu at title@en\par
+      \endgroup
+      \vskip -9.2pt%
+    \fi
+    \vskip 25.5pt%
+    \thu at titlepage@degree
+    \vskip 119bp%
+    \parbox[b][5.24cm][b]{\textwidth}{%
+      \fangsong\fontsize{16bp}{31bp}\selectfont
+      \renewcommand\thu at info@item at format[2]{%
+        \begingroup
+          \renewcommand\CJKglue{\hspace{##1}}%
+          ##2%
+        \endgroup
+      }%
+      \renewcommand\thu at name@title at format[2]{%
+        % 字距 9bp,共 16bp * 3 + 9bp * 2 = 66bp
+        \thu at stretch{66bp}{##1}%
+        \hspace{22bp}%
+        % 字距 6bp
+        \begingroup
+          \renewcommand\CJKglue{\hspace{16bp}}%
+          ##2%
+        \endgroup
+      }%
+      \thu at titlepage@info at tabular{65bp}{86.5bp}{81bp}{30.5bp}{%
+        \thu at info@item{培养单位}{\thu at info@item at format{1bp}}{\thu at department}%
+        \thu at info@item{专业领域}{\thu at info@item at format{2bp}}{\thu at professional@field}%
+        \thu at info@item{工程领域}{\thu at info@item at format{2bp}}{\thu at engineering@field}%
+        \thu at info@item{申请人}{\thu at name@title}{\thu at author}%
+        \thu at info@item{学号}{}{\thu at student@id}%
+        \thu at info@item{指导教师}{\thu at name@title}{\thu at supervisor}%
+        \thu at info@item{副指导教师}{\thu at name@title}{\thu at associate@supervisor}%
+        \thu at info@item{联合指导教师}{\thu at name@title}{\thu at co@supervisor}%
+      }\par
+    }\par
+    \vfill
+    \parbox[t][33.5bp][t]{\textwidth}{\centering\thu at titlepage@date}\par
+  \endgroup
+  \clearpage
+  \restoregeometry
+}
+%    \end{macrocode}
+%
 % 选题报告封面
 %    \begin{macrocode}
 \newcommand\thu at titlepage@proposal{%
@@ -4500,7 +4748,7 @@
   \ifx\thu at secret@level\@empty
     \phantom{秘密}%
   \else
-    \thu at secret@level★\makebox[3em][c]{\thu at secret@year}年%
+    \thu at secret@level\symbol{"2605}\makebox[3em][c]{\thu at secret@year}年%
   \fi\par
 }
 %    \end{macrocode}
@@ -4519,7 +4767,7 @@
       \renewcommand\CJKglue{\hspace{1bp}}%
     \fi
     \ifthu at thesis@type at thesis
-      (申请清华大学\thu at degree@name
+      (申请清华大学\thu at degree@category
       \ifthu at degree@type at professional
         专业%
       \fi
@@ -4555,10 +4803,14 @@
     \ifthu at degree@type at academic
       \thu at titlepage@info at master@academic
     \else
-      \ifx\thu at discipline\@empty
-        \thu at titlepage@info at master@other
+      \ifx\thu at professional@field\@empty
+        \ifx\thu at engineering@field\@empty
+          \thu at titlepage@info at master@professional at without@field
+        \else
+          \thu at titlepage@info at master@professional at with@field
+        \fi
       \else
-        \thu at titlepage@info at master@engineer
+        \thu at titlepage@info at master@professional at with@field
       \fi
     \fi
   \fi
@@ -4566,22 +4818,29 @@
 %    \end{macrocode}
 %
 % 标题页作者信息表
+% \texttt{\#1}: 表格左侧至版心的距离;\\
+% \texttt{\#2}: “培养方案”的边框宽度;\\ 
+% \texttt{\#3}: “培养方案”的文字宽度;\\ 
+% \texttt{\#4}: 冒号的边框;\\ 
+% \texttt{\#5}: 表格内容。
 %    \begin{macrocode}
-\newcommand\thu at titlepage@info at tabular[4]{%
+\newcommand\thu at titlepage@info at tabular[5]{%
   \def\thu at info@item##1##2##3{%
     \ifx##3\@empty\else
-      \thu at pad{#1}{\thu at fixed@box{#2}{##1}}%
-      \thu at pad{#3}{:}%
+      \thu at pad{#2}{\thu at fixed@box{#3}{##1}}%
+      \thu at pad{#4}{:}%
       ##2{##3}\\
     \fi
   }%
+  \hspace{#1}%
   \begin{tabular}{l}%
     \renewcommand\arraystretch{1}%
-    #4%
+    #5%
   \end{tabular}%
 }
+\newcommand\thu at info@item at format[1]{#1}
 \newcommand\thu at titlepage@info at doctor@academic{%
-  \thu at titlepage@info at tabular{2.8cm}{2.8cm}{0.82cm}{%
+  \thu at titlepage@info at tabular{2.3cm}{2.85cm}{2.75cm}{0.77cm}{%
     \thu at info@item{培养单位}{}{\thu at department}%
     \thu at info@item{学科}{}{\thu at discipline}%
     \thu at info@item{研究生}{\thu at name@title}{\thu at author}%
@@ -4592,19 +4851,35 @@
   }\par
 }
 \newcommand\thu at titlepage@info at doctor@professional{%
-  \thu at titlepage@info at tabular{3.03cm}{5em}{1.52cm}{%
-    \thu at info@item{培养单位}{}{\thu at department}%
+  \thu at titlepage@info at tabular{2.3cm}{3.1cm}{5em}{1.42cm}{%
+    \thu at info@item{培养单位}{}{{\thu at department}}%
     \thu at info@item{申请人}{\thu at name@title}{\thu at author}%
     \thu at info@item{学号}{}{\thu at student@id}%
     \thu at info@item{指导教师}{\thu at name@title}{\thu at supervisor}%
     \thu at info@item{副指导教师}{\thu at name@title}{\thu at associate@supervisor}%
-    \thu at info@item{联合导师}{\thu at name@title}{\thu at co@supervisor}%
+    \thu at info@item{联合指导教师}{\thu at name@title}{\thu at co@supervisor}%
   }\par
 }
 \newcommand\thu at titlepage@info at master@academic{%
-  \thu at titlepage@info at tabular{3.59cm}{5.5em}{0.82cm}{%
-    \thu at info@item{培养单位}{}{\thu at department}%
-    \thu at info@item{学科}{}{\thu at discipline}%
+  \renewcommand\thu at info@item at format[2]{%
+    \begingroup
+      \renewcommand\CJKglue{\hspace{##1}}%
+      ##2%
+    \endgroup
+  }
+  \renewcommand\thu at name@title at format[2]{%
+    % 字距 9.8bp,共 16bp * 3 + 9.8bp * 2 = 67.5bp
+    \thu at stretch{67.6bp}{##1}%
+    \hspace{9.8bp}%
+    % 字距 6bp
+    \begingroup
+      \renewcommand\CJKglue{\hspace{6bp}}%
+      ##2%
+    \endgroup
+  }%
+  \thu at titlepage@info at tabular{58bp}{3.59cm}{5.5em}{0.82cm}{%
+    \thu at info@item{培养单位}{\thu at info@item at format{1bp}}{\thu at department}%
+    \thu at info@item{学科}{\thu at info@item at format{2bp}}{\thu at discipline}%
     \thu at info@item{研究生}{\thu at name@title}{\thu at author}%
     \thu at info@item{学号}{}{\thu at student@id}%
     \thu at info@item{指导教师}{\thu at name@title}{\thu at supervisor}%
@@ -4612,10 +4887,26 @@
     \thu at info@item{联合指导教师}{\thu at name@title}{\thu at co@supervisor}%
   }\par
 }
-\newcommand\thu at titlepage@info at master@engineer{%
-  \thu at titlepage@info at tabular{2.8cm}{2.8cm}{1.34cm}{%
-    \thu at info@item{培养单位}{}{\thu at department}%
-    \thu at info@item{工程领域}{}{\thu at discipline}%
+% 无专业领域
+\newcommand\thu at titlepage@info at master@professional at without@field{%
+  \renewcommand\thu at info@item at format[2]{%
+    \begingroup
+      \renewcommand\CJKglue{\hspace{##1}}%
+      ##2%
+    \endgroup
+  }
+  \renewcommand\thu at name@title at format[2]{%
+    % 字距 9.8bp,共 16bp * 3 + 9.8bp * 2 = 67.5bp
+    \thu at stretch{67.6bp}{##1}%
+    \hspace{9.8bp}%
+    % 字距 6bp
+    \begingroup
+      \renewcommand\CJKglue{\hspace{6bp}}%
+      ##2%
+    \endgroup
+  }%
+  \thu at titlepage@info at tabular{58bp}{3.28cm}{5em}{1.52cm}{%
+    \thu at info@item{培养单位}{\thu at info@item at format{1bp}}{\thu at department}%
     \thu at info@item{申请人}{\thu at name@title}{\thu at author}%
     \thu at info@item{学号}{}{\thu at student@id}%
     \thu at info@item{指导教师}{\thu at name@title}{\thu at supervisor}%
@@ -4623,15 +4914,8 @@
     \thu at info@item{联合指导教师}{\thu at name@title}{\thu at co@supervisor}%
   }\par
 }
-\newcommand\thu at titlepage@info at master@other{%
-  \thu at titlepage@info at tabular{3.28cm}{5em}{1.52cm}{%
-    \thu at info@item{培养单位}{}{\thu at department}%
-    \thu at info@item{申请人}{\thu at name@title}{\thu at author}%
-    \thu at info@item{学号}{}{\thu at student@id}%
-    \thu at info@item{指导教师}{\thu at name@title}{\thu at supervisor}%
-    \thu at info@item{副指导教师}{\thu at name@title}{\thu at associate@supervisor}%
-    \thu at info@item{联合指导教师}{\thu at name@title}{\thu at co@supervisor}%
-  }\par
+% 有专业领域
+\newcommand\thu at titlepage@info at master@professional at with@field{%
 }
 %    \end{macrocode}
 %
@@ -4658,7 +4942,7 @@
   \newgeometry{
     top     = 5.5cm,
     bottom  = 5cm,
-    hmargin = 3.6cm,
+    hmargin = 3.4cm,
   }%
   \thispagestyle{empty}%
   \thusetup{language = english}%
@@ -4674,49 +4958,51 @@
 \newcommand\thu at titlepage@en at graduate@academic{%
   \begingroup
     \centering
-    \null\vskip -0.7cm%
-    \thu at titlepage@en at title
-    \vfill
+    \null\vskip -0.31cm%
+    \parbox[t][143bp][t]{\textwidth}{%
+      \centering\thu at titlepage@en at title
+    }\par
     \sanhao[1.725]%
     \thu at titlepage@en at degree
-    \vskip 0.13cm%
+    \vskip 3bp%
     in\par
-    \vskip 0.1cm%
+    \vskip 3.5bp%
     {\bfseries\sffamily\thu at discipline@en\par}
-    \vskip 0.7cm%
+    \vfill
     {\sffamily by\par}
     \vskip 0.24cm%
     {\sffamily\bfseries\thu at author@en\par}%
-    \vskip 0.14cm%
-    \parbox[t][3.07cm][t]{\textwidth}{%
-      \centering\xiaosan[2.1]%
+    \vskip 0.18cm%
+    \parbox[t][3.0cm][t]{\textwidth}{%
+      \xiaosan[2.1]%
       \thu at titlepage@en at supervisor
     }\par
     \thu at titlepage@en at date
-    \vskip 0.65cm%
+    \vskip 0.7cm%
   \endgroup
 }
 \newcommand\thu at titlepage@en at graduate@professional{%
   \begingroup
     \centering
-    \null\vskip -0.7cm%
-    \thu at titlepage@en at title
-    \vfill
+    \null\vskip -0.31cm%
+    \parbox[t][143bp][t]{\textwidth}{%
+      \centering\thu at titlepage@en at title
+    }\par
     \sanhao[1.725]%
     \thu at titlepage@en at degree
-    \vskip 1.1cm%
+    \vfill
     {\sffamily by\par}
     \vskip 0.24cm%
     {\sffamily\bfseries\thu at author@en\par}%
-    \ifx\thu at discipline@en\empty
+    \ifx\thu at professional@field at en\empty
       \vskip 1.95cm%
     \else
       \vskip -0.1cm%
-      {\sffamily\bfseries(\thu at discipline@en)\par}%
+      {\sffamily\bfseries(\thu at professional@field at en)\par}%
       \vskip 1.1cm%
     \fi
     \parbox[t][3.37cm][t]{\textwidth}{%
-      \centering\xiaosan[1.82]%
+      \xiaosan[1.82]%
       \thu at titlepage@en at supervisor
     }\par
     \thu at titlepage@en at date
@@ -4725,7 +5011,8 @@
 }
 \newcommand\thu at titlepage@en at title{%
   \begingroup
-    \sffamily\bfseries\fontsize{20bp}{31bp}\selectfont
+    % 对齐到网格,每行 15.6bp
+    \sffamily\bfseries\fontsize{20bp}{31.2bp}\selectfont
     \thu at title@en\par
   \endgroup
 }
@@ -4745,10 +5032,11 @@
     professional
   \fi
   degree of\par
-  {\sffamily\bfseries\thu at degree@name at en\par}%
+  {\sffamily\bfseries\thu at degree@category at en\par}%
 }
 \newcommand\thu at titlepage@en at supervisor{%
-  \begin{tabular}{r@{\makebox[0.71cm][l]{:}}l}%
+  \hspace{1.27cm}%
+  \begin{tabular}{r@{\makebox[20.5bp][l]{\hspace{2bp}:}}l}%
     \renewcommand\arraystretch{1}%
     \thu at thesis@name at en{} Supervisor & \thu at supervisor@en \\
     \ifx\thu at associate@supervisor at en\@empty\else
@@ -5169,6 +5457,7 @@
     \textbf{关键词:}%
   \fi
   \thu at clist@use{\thu at keywords}{;}%
+  \gdef\thu at keywords{}%
   \ifthu at degree@bachelor
     \cleardoublepage
   \fi
@@ -5261,6 +5550,7 @@
 %    \begin{macrocode}
 \newenvironment{acknowledgements}{%
   \@mainmatterfalse
+  \thu at end@appendix at ref@section
   \ifthu at degree@bachelor
     \cleardoublepage
   \fi
@@ -5309,6 +5599,7 @@
 \newif\ifthu at statement@exists
 \newcommand\statement[1][]{%
   \@mainmatterfalse
+  \thu at end@appendix at ref@section
   \thu at statement@existstrue
   \ifthu at degree@bachelor
     \cleardoublepage
@@ -5499,20 +5790,40 @@
 %
 % 设置 \option{cite-style} 的接口,只对 \BibTeX{} 的编译方式有效。
 %    \begin{macrocode}
-  \thu at define@key{
-    cite-style = {
-      name = cite at style,
-      choices = {
-        super,
-        inline,
-        author-year,
-      }
+\thu at define@key{
+  cite-style = {
+    name = cite at style,
+    choices = {
+      super,
+      inline,
+      author-year,
     }
   }
+}
 %    \end{macrocode}
 %
 % \subsubsection{BibTeX + \pkg{natbib} 宏包}
 %
+%    \begin{macrocode}
+\def\bibliographystyle#1{%
+  \gdef\bu at bibstyle{#1}%
+  \ifx\@begindocumenthook\@undefined\else
+    \expandafter\AtBeginDocument
+  \fi
+    {\if at filesw
+       \immediate\write\@auxout{\string\bibstyle{#1}}%
+       \immediate\write\@auxout{\string\gdef\string\bu at bibstyle{#1}}%
+     \fi}%
+}
+\def\bibliography#1{%
+  \if at filesw
+    \immediate\write\@auxout{\string\bibdata{\zap at space#1 \@empty}}%
+    \immediate\write\@auxout{\string\gdef\string\bu at bibdata{#1}}%
+  \fi
+  \gdef\bu at bibdata{#1}%
+  \@input@{\jobname.bbl}}
+%    \end{macrocode}
+%
 % \BibTeX{} 和 \pkg{natbib} 宏包的配置。
 %    \begin{macrocode}
 \PassOptionsToPackage{compress}{natbib}
@@ -6016,6 +6327,68 @@
 }
 %    \end{macrocode}
 %
+% 附录中的参考文献等另行编序号。
+%    \begin{macrocode}
+\newcommand\thu at end@appendix at ref@section{}
+%    \end{macrocode}
+%
+% 如果正文和附录引用了同一文献,\pkg{bibunits} 会给出无意义的警告,这里消除警告。
+%    \begin{macrocode}
+\AtEndOfPackageFile*{bibunits}{
+  \ifthu at degree@graduate
+    \newcommand\thu at appendix@bib at num@format[1]{[\@Alph\c at chapter.#1]\hfill}
+    \g at addto@macro\appendix{%
+      \renewcommand\@bibunitname{\jobname-appendix-\@alph\c at chapter}%
+      \bibliographyunit[\chapter]%
+      \renewcommand\citenumfont{\@Alph\c at chapter.}%
+      \renewcommand\bibsection{%
+        \ctexset{section/numbering = false}%
+        \section{\bibname}%
+        \ctexset{section/numbering = true}%
+      }%
+      \renewcommand\@extra at binfo{@-\@alph\c at chapter}%
+      \renewcommand\@extra at b@citeb{@-\@alph\c at chapter}%
+      \let\bibnumfmt\thu at appendix@bib at num@format
+      \let\bibliographystyle\defaultbibliographystyle
+      \let\bibliography\thu at appendix@bibliography
+    }
+    \renewcommand\thu at end@appendix at ref@section{%
+      \bibliographyunit\relax
+    }
+    \providecommand\printbibliography{\putbib\relax}%
+    \AtEndDocument{\thu at end@appendix at ref@section}
+%    \end{macrocode}
+%
+% 如果正文和附录引用了同一文献,\pkg{bibunits} 会给出无意义的警告,这里消除警告。
+%    \begin{macrocode}
+    % \let\@xtestdef\@gobbletwo  % This doesn't work
+    \def\bibunits at rerun@warning{\relax}
+  \fi
+}
+\PassOptionsToPackage{defernumbers = true}{biblatex}
+\AtEndOfPackageFile*{biblatex}{
+  \ifthu at degree@graduate
+    \DeclareRefcontext{appendix}{}
+    \g at addto@macro\appendix{%
+      \pretocmd\chapter{%
+        \newrefsection
+        \@tempcnta=\c at chapter
+        \advance\@tempcnta\@ne
+        \newrefcontext[labelprefix = {\@Alph\@tempcnta.}]{appendix}%
+      }{}{\thu at patch@error{\chapter}}%
+      \defbibheading{bibliography}[\bibname]{%
+        \ctexset{section/numbering = false}%
+        \section{#1}%
+        \ctexset{section/numbering = true}%
+      }%
+    }
+    % \renewcommand\thu at end@appendix at ref@section{%
+    %   \endrefsection
+    % }
+  \fi
+}
+%    \end{macrocode}
+%
 % 本科生《写作指南》有独特的要求:附录 A 为外文资料的调研阅读报告或书面翻译,
 % 并且要分别附上独立的参考文献和外文资料的原文索引。
 % 所以这里定义 \env{survey} 和 \env{translation} 专门处理这两种情况,
@@ -6082,9 +6455,11 @@
       },
     }%
     \section{摘要}%
-    \quotation
   }{%
-    \endquotation
+    \par
+    \ifx\thu at keywords\@empty\else
+      \textbf{关键词:}\thu at clist@use{\thu at keywords}{;}\par
+    \fi
   }%
   \thu at set@partial at toc@format
   \renewcommand\tableofcontents{%
@@ -6189,6 +6564,7 @@
 %    \begin{macrocode}
 \newenvironment{resume}{%
   \@mainmatterfalse
+  \thu at end@appendix at ref@section
   \thu at chapter*{\thu at resume@name}%
   \ctexset{
     section = {
@@ -6205,13 +6581,18 @@
       },
     }%
     \setlist[achievements]{
-      topsep      = 6bp,
-      itemsep     = 6bp,
-      leftmargin  = 1cm,
-      labelwidth  = 1cm,
-      labelsep    = 0pt,
-      align       = left,
-      label       = [\arabic*],
+      topsep     = 6bp,
+      itemsep    = 6bp,
+      leftmargin = 1cm,
+      labelwidth = 1cm,
+      labelsep   = 0pt,
+      first      = {
+        \ifthu at degree@graduate
+          \fontsize{12bp}{16bp}\selectfont
+        \fi
+      },  
+      align      = left,
+      label      = [\arabic*],
       resume     = achievements,
     }%
   \else
@@ -6229,12 +6610,12 @@
       \sffamily\fontsize{15bp}{20bp}\selectfont
     \fi
     \setlist[achievements]{
-      topsep      = 0bp,
-      itemsep     = 0bp,
-      leftmargin  = 1.75cm,
-      labelsep    = 0.5cm,
-      align       = right,
-      label       = [\arabic*],
+      topsep     = 0bp,
+      itemsep    = 0bp,
+      leftmargin = 1.75cm,
+      labelsep   = 0.5cm,
+      align      = right,
+      label      = [\arabic*],
       resume     = achievements,
     }%
   \fi
@@ -6286,6 +6667,7 @@
 % \begin{environment}{comments}
 %    \begin{macrocode}
 \NewEnviron{comments}[1][]{%
+  \thu at end@appendix at ref@section
   \ifthu at degree@graduate
     \@mainmatterfalse
     \kv at define@key{thu at comments}{name}{\let\thu at comments@name\kv at value}%
@@ -6308,6 +6690,7 @@
 % \begin{environment}{resolution}
 %    \begin{macrocode}
 \NewEnviron{resolution}{%
+  \thu at end@appendix at ref@section
   \ifthu at degree@graduate
     \@mainmatterfalse
     \chapter{\thu at resolution@name}%
@@ -6351,22 +6734,25 @@
 %
 % \subsubsection{\pkg{hyperref} 宏包}
 %
+% 使用 \cs{PassOptionsToPackage} 的方式进行配置,允许用户在 \cs{usepackage} 
+% 覆盖配置(\href{https://github.com/tuna/thuthesis/issues/863}{tuna/thuthesis\#863})。
+%
 %    \begin{macrocode}
+\PassOptionsToPackage{
+  linktoc            = all,
+  bookmarksdepth     = 2,
+  bookmarksnumbered  = true,
+  bookmarksopen      = true,
+  bookmarksopenlevel = 1,
+  bookmarksdepth     = 3,
+  unicode            = true,
+  psdextra           = true,
+  breaklinks         = true,
+  plainpages         = false,
+  pdfdisplaydoctitle = true,
+  hidelinks,
+}{hyperref}
 \AtEndOfPackageFile*{hyperref}{
-  \hypersetup{
-    linktoc            = all,
-    bookmarksdepth     = 2,
-    bookmarksnumbered  = true,
-    bookmarksopen      = true,
-    bookmarksopenlevel = 1,
-    bookmarksdepth     = 3,
-    unicode            = true,
-    psdextra           = true,
-    breaklinks         = true,
-    plainpages         = false,
-    pdfdisplaydoctitle = true,
-    hidelinks,
-  }%
   \newcounter{thu at bookmark}
   \renewcommand\thu at pdfbookmark[2]{%
     \phantomsection
@@ -6408,7 +6794,7 @@
       \hypersetup{
         pdftitle    = \thu at title,
         pdfauthor   = \thu at author,
-        pdfsubject  = \thu at degree@name,
+        pdfsubject  = \thu at degree@category,
         pdfkeywords = \thu at keywords,
       }%
     \else
@@ -6415,7 +6801,7 @@
       \hypersetup{
         pdftitle    = \thu at title@en,
         pdfauthor   = \thu at author@en,
-        pdfsubject  = \thu at degree@name at en,
+        pdfsubject  = \thu at degree@category at en,
         pdfkeywords = \thu at keywords@en,
       }%
     \fi
@@ -6787,35 +7173,30 @@
   pdfdisplaydoctitle = true
 }%
 
-\ifthenelse{\equal{\@nameuse{g__ctex_fontset_tl}}{mac}}{
-  \setmainfont{Palatino}
-  \setsansfont[Scale=MatchLowercase]{Helvetica}
-  \setmonofont[Scale=MatchLowercase]{Menlo}
-}{
-  \setmainfont[
-    Extension      = .otf,
-    UprightFont    = *-regular,
-    BoldFont       = *-bold,
-    ItalicFont     = *-italic,
-    BoldItalicFont = *-bolditalic,
-  ]{texgyrepagella}
-  \setsansfont[
-    Extension      = .otf,
-    UprightFont    = *-regular,
-    BoldFont       = *-bold,
-    ItalicFont     = *-italic,
-    BoldItalicFont = *-bolditalic,
-  ]{texgyreheros}
-  \setmonofont[
-    Extension      = .otf,
-    UprightFont    = *-regular,
-    BoldFont       = *-bold,
-    ItalicFont     = *-italic,
-    BoldItalicFont = *-bolditalic,
-    Scale          = MatchLowercase,
-    Ligatures      = CommonOff,
-  ]{texgyrecursor}
-}
+\setmainfont[
+  Extension      = .otf,
+  UprightFont    = *-regular,
+  BoldFont       = *-bold,
+  ItalicFont     = *-italic,
+  BoldItalicFont = *-bolditalic,
+]{texgyrepagella}
+\setsansfont[
+  Extension      = .otf,
+  UprightFont    = *-regular,
+  BoldFont       = *-bold,
+  ItalicFont     = *-italic,
+  BoldItalicFont = *-bolditalic,
+]{texgyreheros}
+\setmonofont[
+  Extension      = .otf,
+  UprightFont    = *-regular,
+  BoldFont       = *-bold,
+  ItalicFont     = *-italic,
+  BoldItalicFont = *-bolditalic,
+  Scale          = MatchLowercase,
+  Ligatures      = CommonOff,
+]{texgyrecursor}
+
 \unimathsetup{
   math-style=ISO,
   bold-style=ISO,

Modified: trunk/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls	2023-05-15 21:14:37 UTC (rev 67126)
+++ trunk/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls	2023-05-15 21:15:11 UTC (rev 67127)
@@ -23,7 +23,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[2017/04/15]
 \ProvidesClass{thuthesis}
-[2023/04/06 7.3.2 Tsinghua University Thesis Template]
+[2023/05/15 7.4.0 Tsinghua University Thesis Template]
 \newcommand\thu at error[1]{%
   \ClassError{thuthesis}{#1}{}%
 }
@@ -58,7 +58,7 @@
 }
 \hyphenation{Thu-Thesis}
 \def\thuthesis{ThuThesis}
-\def\version{7.3.2}
+\def\version{7.4.0}
 \RequirePackage{kvdefinekeys}
 \RequirePackage{kvsetkeys}
 \RequirePackage{kvoptions}
@@ -358,11 +358,9 @@
   }
 }
 \AtEndOfPackageFile*{natbib}{
-  \ifthu at degree@bachelor
-    \@ifpackageloaded{apacite}{}{
-      \RequirePackage{bibunits}
-    }
-  \fi
+  \@ifpackageloaded{apacite}{}{
+    \RequirePackage{bibunits}
+  }
 }
 \newcommand\thu at package@conflict[2]{%
   \AtEndOfPackageFile*{#1}{%
@@ -710,7 +708,7 @@
 \newcommand\thu at set@font at times{%
   \setmainfont{Times New Roman}%
   \setsansfont{Arial}%
-  \ifthu at system@mac
+  \ifthu at fontset@mac
     \setmonofont{Menlo}[Scale = MatchLowercase]%
   \else
     \setmonofont{Courier New}[Scale = MatchLowercase]%
@@ -1216,7 +1214,7 @@
     \newcommand\square{\mdlgwhtsquare}%
     \newcommand\blacksquare{\mdlgblksquare}%
     \AtBeginDocument{%
-      \renewcommand\checkmark{\ensuremath{✓}}%
+      \renewcommand\checkmark{\ensuremath{\symbol{"2713}}}%
     }%
     \renewcommand\thu at qed{\ensuremath{\QED}}%
   }%
@@ -2082,14 +2080,29 @@
   joint-supervisor* = {
     name = co at supervisor@en,
   },
-  degree-name = {
+  degree-category = {
     default = {工学博士},
-    name    = degree at name,
+    name    = degree at category,
   },
-  degree-name* = {
+  degree-category* = {
     default = {Doctor of Philosophy},
-    name    = degree at name@en,
+    name    = degree at category@en,
   },
+  % 为了向后兼容
+  degree-name = {
+    name    = degree at category,
+  },
+  degree-name* = {
+    name    = degree at category@en,
+  },
+}
+\thu at option@hook{degree-name}{%
+  \thu at warning{`degree-name' is deprecated. Use `degree-category' instead.}
+}
+\thu at option@hook{degree-name*}{%
+  \thu at warning{`degree-name*' is deprecated. Use `degree-category*' instead.}
+}
+\thu at define@key{
   department = {
     default = {计算机科学与技术系},
   },
@@ -2100,6 +2113,34 @@
     % default = {Computer Science and Technology},
     name    = discipline at en,
   },
+}
+\thu at option@hook{discipline}{%
+  \ifthu at degree@type at professional
+    \thu at warning{`discipline' for professional degree is deprecated. Use `professional-field' instead.}
+    \let\thu at professional@field\thu at discipline
+    \let\thu at discipline\@empty
+  \fi
+}
+\thu at option@hook{discipline*}{%
+  \ifthu at degree@type at professional
+    \thu at warning{`discipline*' for professional degree is deprecated. Use `professional-field*' instead.}
+    \let\thu at professional@field at en\thu at discipline@en
+    \let\thu at discipline@en\@empty
+  \fi
+}
+\thu at define@key{
+  professional-field = {
+    name    = professional at field,
+  },
+  professional-field* = {
+    name    = professional at field@en,
+  },
+  engineering-field = {
+    name    = engineering at field,
+  },
+  engineering-field* = {
+    name    = engineering at field@en,
+  },
   date = {
     default = {\the\year-\two at digits{\month}-\two at digits{\day}},
   },
@@ -2195,8 +2236,19 @@
   \stepcounter{thu at csl@count}%
 }
 \newcommand\thu at name@title at format[2]{%
-  \thu at pad{3cm}{\thu at stretch{4em}{#1}}%
-  \thu at stretch{3em}{#2}%
+  \ifthu at degree@type at professional
+    % 字距 9.8bp,共 16bp * 3 + 9.8bp * 2 = 67.5bp
+    \thu at stretch{67.6bp}{#1}%
+    \hspace{9.8bp}%
+    % 字距 6bp
+    \begingroup
+      \renewcommand\CJKglue{\hspace{9.8bp}}%
+      #2%
+    \endgroup
+  \else
+    \thu at pad{3cm}{\thu at stretch{4em}{#1}}%
+    \thu at stretch{3em}{#2}%
+  \fi
 }
 \newcommand\thu at name@title[1]{%
   \setcounter{thu at csl@count}{0}%
@@ -2226,12 +2278,24 @@
   \ifthu at degree@graduate
     \ifthu at thesis@type at thesis
       \ifthu at degree@type at academic
-        \thu at titlepage@graduate at academic
+        \ifthu at degree@doctor
+          \thu at titlepage@doctor at academic
+        \else
+          \thu at titlepage@master at academic
+        \fi
       \else
-        \ifx\thu at discipline\@empty
-          \thu at titlepage@graduate at professional
+        \ifthu at degree@doctor
+          \thu at titlepage@doctor at professional
         \else
-          \thu at titlepage@graduate at academic
+          \ifx\thu at professional@field\@empty
+            \ifx\thu at engineering@field\@empty
+              \thu at titlepage@master at professional@without at field
+            \else
+              \thu at titlepage@master at professional@with at field
+            \fi
+          \else
+            \thu at titlepage@master at professional@with at field
+          \fi
         \fi
       \fi
     \else
@@ -2252,7 +2316,7 @@
   \fi
   \thu at reset@main at language
 }
-\newcommand\thu at titlepage@graduate at academic{%
+\newcommand\thu at titlepage@doctor at academic{%
   \newgeometry{
     top     = 2cm,
     bottom  = 6cm,
@@ -2280,10 +2344,10 @@
       \vskip -9.2pt%
     \fi
     \vskip 24.1pt%
-    \thu at titlepage@degree
+    \thu at titlepage@degree\par
     \vfill
     \parbox[t][7.25cm][t]{\textwidth}{%
-      \centering\fangsong\fontsize{16bp}{31.2bp}\selectfont
+      \fangsong\fontsize{16bp}{31.2bp}\selectfont
       \thu at titlepage@info
     }\par
     \parbox[t][1.03cm][t]{\textwidth}{\centering\thu at titlepage@date}\par
@@ -2291,7 +2355,7 @@
   \clearpage
   \restoregeometry
 }
-\newcommand\thu at titlepage@graduate at professional{%
+\newcommand\thu at titlepage@doctor at professional{%
   \newgeometry{
     top     = 2cm,
     bottom  = 6cm,
@@ -2322,15 +2386,164 @@
     \vskip 25.5pt%
     \thu at titlepage@degree
     \vfill
-    \parbox[t][5.24cm][t]{\textwidth}{%
-      \centering\fangsong\fontsize{16bp}{1cm}\selectfont
+    \parbox[b][5.24cm][b]{\textwidth}{%
+      \fangsong\fontsize{16bp}{1cm}\selectfont
       \thu at titlepage@info
     }\par
-    \parbox[t][1.25cm][t]{\textwidth}{\centering\thu at titlepage@date}\par
+    \vskip 2.22cm%
+    \parbox[t][1.0cm][t]{\textwidth}{\centering\thu at titlepage@date}\par
   \endgroup
   \clearpage
   \restoregeometry
 }
+\newcommand\thu at titlepage@master at academic{%
+  \newgeometry{
+    top     = 2cm,
+    bottom  = 6cm,
+    hmargin = 3.5cm,
+  }%
+  \thispagestyle{empty}%
+  \null\vskip 10bp%
+  \begingroup
+    \centering
+    \parbox[t][55bp][t]{\textwidth}{%
+      \hskip -23bp%
+      \thu at titlepage@secret
+    }\par
+    \vskip 34pt%
+    \begingroup
+      % 1.21 倍行距
+      \sffamily\fontsize{26bp}{40.898bp}\selectfont
+      \thu at title\par
+    \endgroup
+    \ifthu at main@language at english
+      \vskip 5.4pt%
+      \begingroup
+        \sffamily\bfseries\fontsize{20bp}{31.2bp}\selectfont
+        \thu at title@en\par
+      \endgroup
+      \vskip -9.2pt%
+    \fi
+    \vskip 18pt%
+    \thu at titlepage@degree\par
+    \vfill
+    \parbox[t][7.05cm][t]{\textwidth}{%
+      % 表格行高 1cm = 28.35bp
+      \fangsong\fontsize{16bp}{28.35bp}\selectfont
+      \thu at titlepage@info
+    }\par
+    \parbox[t][37bp][t]{\textwidth}{\centering\thu at titlepage@date}\par
+  \endgroup
+  \clearpage
+  \restoregeometry
+}
+\newcommand\thu at titlepage@master at professional@without at field{%
+  \newgeometry{
+    top     = 2cm,
+    bottom  = 6cm,
+    hmargin = 3.5cm,
+  }%
+  \thispagestyle{empty}%
+  \null\vskip 15bp%
+  \begingroup
+    \centering
+    \parbox[t][41bp][t]{\textwidth}{%
+      \hskip -23bp%
+      \thu at titlepage@secret
+    }\par
+    \vskip 1.5cm%
+    \begingroup
+      % 1.21 倍行距,无网格
+      \sffamily\fontsize{26bp}{40.9bp}\selectfont
+      \thu at title\par
+    \endgroup
+    \ifthu at main@language at english
+      \vskip 5.4pt%
+      \begingroup
+        \sffamily\bfseries\fontsize{20bp}{31.2bp}\selectfont
+        \thu at title@en\par
+      \endgroup
+      \vskip -9.2pt%
+    \fi
+    \vskip 25.5pt%
+    \thu at titlepage@degree
+    \vfill
+    \parbox[b][5.24cm][b]{\textwidth}{%
+      \fangsong\fontsize{16bp}{1cm}\selectfont
+      \thu at titlepage@info
+    }\par
+    \vskip 2.22cm%
+    \parbox[t][35.5bp][t]{\textwidth}{\centering\thu at titlepage@date}\par
+  \endgroup
+  \clearpage
+  \restoregeometry
+}
+\newcommand\thu at titlepage@master at professional@with at field{%
+  \newgeometry{
+    top     = 2cm,
+    bottom  = 6cm,
+    hmargin = 3.5cm,
+  }%
+  \thispagestyle{empty}%
+  \null\vskip 10bp%
+  \begingroup
+    \centering
+    \parbox[t][46bp][t]{\textwidth}{%
+      \hskip -23bp%
+      \thu at titlepage@secret
+    }\par
+    \vskip 1.5cm%
+    \begingroup
+      % 1.21 倍行距,无网格
+      \sffamily\fontsize{26bp}{40.9bp}\selectfont
+      \thu at title\par
+    \endgroup
+    \ifthu at main@language at english
+      \vskip 5.4pt%
+      \begingroup
+        \sffamily\bfseries\fontsize{20bp}{31.2bp}\selectfont
+        \thu at title@en\par
+      \endgroup
+      \vskip -9.2pt%
+    \fi
+    \vskip 25.5pt%
+    \thu at titlepage@degree
+    \vskip 119bp%
+    \parbox[b][5.24cm][b]{\textwidth}{%
+      \fangsong\fontsize{16bp}{31bp}\selectfont
+      \renewcommand\thu at info@item at format[2]{%
+        \begingroup
+          \renewcommand\CJKglue{\hspace{##1}}%
+          ##2%
+        \endgroup
+      }%
+      \renewcommand\thu at name@title at format[2]{%
+        % 字距 9bp,共 16bp * 3 + 9bp * 2 = 66bp
+        \thu at stretch{66bp}{##1}%
+        \hspace{22bp}%
+        % 字距 6bp
+        \begingroup
+          \renewcommand\CJKglue{\hspace{16bp}}%
+          ##2%
+        \endgroup
+      }%
+      \thu at titlepage@info at tabular{65bp}{86.5bp}{81bp}{30.5bp}{%
+        \thu at info@item{培养单位}{\thu at info@item at format{1bp}}{\thu at department}%
+        \thu at info@item{专业领域}{\thu at info@item at format{2bp}}{\thu at professional@field}%
+        \thu at info@item{工程领域}{\thu at info@item at format{2bp}}{\thu at engineering@field}%
+        \thu at info@item{申请人}{\thu at name@title}{\thu at author}%
+        \thu at info@item{学号}{}{\thu at student@id}%
+        \thu at info@item{指导教师}{\thu at name@title}{\thu at supervisor}%
+        \thu at info@item{副指导教师}{\thu at name@title}{\thu at associate@supervisor}%
+        \thu at info@item{联合指导教师}{\thu at name@title}{\thu at co@supervisor}%
+      }\par
+    }\par
+    \vfill
+    \parbox[t][33.5bp][t]{\textwidth}{\centering\thu at titlepage@date}\par
+  \endgroup
+  \clearpage
+  \restoregeometry
+}
 \newcommand\thu at titlepage@proposal{%
   \newgeometry{
     top     = 5cm,
@@ -2381,7 +2594,7 @@
   \ifx\thu at secret@level\@empty
     \phantom{秘密}%
   \else
-    \thu at secret@level★\makebox[3em][c]{\thu at secret@year}年%
+    \thu at secret@level\symbol{"2605}\makebox[3em][c]{\thu at secret@year}年%
   \fi\par
 }
 \newcommand\thu at titlepage@degree{%
@@ -2395,7 +2608,7 @@
       \renewcommand\CJKglue{\hspace{1bp}}%
     \fi
     \ifthu at thesis@type at thesis
-      (申请清华大学\thu at degree@name
+      (申请清华大学\thu at degree@category
       \ifthu at degree@type at professional
         专业%
       \fi
@@ -2427,29 +2640,35 @@
     \ifthu at degree@type at academic
       \thu at titlepage@info at master@academic
     \else
-      \ifx\thu at discipline\@empty
-        \thu at titlepage@info at master@other
+      \ifx\thu at professional@field\@empty
+        \ifx\thu at engineering@field\@empty
+          \thu at titlepage@info at master@professional at without@field
+        \else
+          \thu at titlepage@info at master@professional at with@field
+        \fi
       \else
-        \thu at titlepage@info at master@engineer
+        \thu at titlepage@info at master@professional at with@field
       \fi
     \fi
   \fi
 }
-\newcommand\thu at titlepage@info at tabular[4]{%
+\newcommand\thu at titlepage@info at tabular[5]{%
   \def\thu at info@item##1##2##3{%
     \ifx##3\@empty\else
-      \thu at pad{#1}{\thu at fixed@box{#2}{##1}}%
-      \thu at pad{#3}{:}%
+      \thu at pad{#2}{\thu at fixed@box{#3}{##1}}%
+      \thu at pad{#4}{:}%
       ##2{##3}\\
     \fi
   }%
+  \hspace{#1}%
   \begin{tabular}{l}%
     \renewcommand\arraystretch{1}%
-    #4%
+    #5%
   \end{tabular}%
 }
+\newcommand\thu at info@item at format[1]{#1}
 \newcommand\thu at titlepage@info at doctor@academic{%
-  \thu at titlepage@info at tabular{2.8cm}{2.8cm}{0.82cm}{%
+  \thu at titlepage@info at tabular{2.3cm}{2.85cm}{2.75cm}{0.77cm}{%
     \thu at info@item{培养单位}{}{\thu at department}%
     \thu at info@item{学科}{}{\thu at discipline}%
     \thu at info@item{研究生}{\thu at name@title}{\thu at author}%
@@ -2460,19 +2679,35 @@
   }\par
 }
 \newcommand\thu at titlepage@info at doctor@professional{%
-  \thu at titlepage@info at tabular{3.03cm}{5em}{1.52cm}{%
-    \thu at info@item{培养单位}{}{\thu at department}%
+  \thu at titlepage@info at tabular{2.3cm}{3.1cm}{5em}{1.42cm}{%
+    \thu at info@item{培养单位}{}{{\thu at department}}%
     \thu at info@item{申请人}{\thu at name@title}{\thu at author}%
     \thu at info@item{学号}{}{\thu at student@id}%
     \thu at info@item{指导教师}{\thu at name@title}{\thu at supervisor}%
     \thu at info@item{副指导教师}{\thu at name@title}{\thu at associate@supervisor}%
-    \thu at info@item{联合导师}{\thu at name@title}{\thu at co@supervisor}%
+    \thu at info@item{联合指导教师}{\thu at name@title}{\thu at co@supervisor}%
   }\par
 }
 \newcommand\thu at titlepage@info at master@academic{%
-  \thu at titlepage@info at tabular{3.59cm}{5.5em}{0.82cm}{%
-    \thu at info@item{培养单位}{}{\thu at department}%
-    \thu at info@item{学科}{}{\thu at discipline}%
+  \renewcommand\thu at info@item at format[2]{%
+    \begingroup
+      \renewcommand\CJKglue{\hspace{##1}}%
+      ##2%
+    \endgroup
+  }
+  \renewcommand\thu at name@title at format[2]{%
+    % 字距 9.8bp,共 16bp * 3 + 9.8bp * 2 = 67.5bp
+    \thu at stretch{67.6bp}{##1}%
+    \hspace{9.8bp}%
+    % 字距 6bp
+    \begingroup
+      \renewcommand\CJKglue{\hspace{6bp}}%
+      ##2%
+    \endgroup
+  }%
+  \thu at titlepage@info at tabular{58bp}{3.59cm}{5.5em}{0.82cm}{%
+    \thu at info@item{培养单位}{\thu at info@item at format{1bp}}{\thu at department}%
+    \thu at info@item{学科}{\thu at info@item at format{2bp}}{\thu at discipline}%
     \thu at info@item{研究生}{\thu at name@title}{\thu at author}%
     \thu at info@item{学号}{}{\thu at student@id}%
     \thu at info@item{指导教师}{\thu at name@title}{\thu at supervisor}%
@@ -2480,10 +2715,25 @@
     \thu at info@item{联合指导教师}{\thu at name@title}{\thu at co@supervisor}%
   }\par
 }
-\newcommand\thu at titlepage@info at master@engineer{%
-  \thu at titlepage@info at tabular{2.8cm}{2.8cm}{1.34cm}{%
-    \thu at info@item{培养单位}{}{\thu at department}%
-    \thu at info@item{工程领域}{}{\thu at discipline}%
+\newcommand\thu at titlepage@info at master@professional at without@field{%
+  \renewcommand\thu at info@item at format[2]{%
+    \begingroup
+      \renewcommand\CJKglue{\hspace{##1}}%
+      ##2%
+    \endgroup
+  }
+  \renewcommand\thu at name@title at format[2]{%
+    % 字距 9.8bp,共 16bp * 3 + 9.8bp * 2 = 67.5bp
+    \thu at stretch{67.6bp}{##1}%
+    \hspace{9.8bp}%
+    % 字距 6bp
+    \begingroup
+      \renewcommand\CJKglue{\hspace{6bp}}%
+      ##2%
+    \endgroup
+  }%
+  \thu at titlepage@info at tabular{58bp}{3.28cm}{5em}{1.52cm}{%
+    \thu at info@item{培养单位}{\thu at info@item at format{1bp}}{\thu at department}%
     \thu at info@item{申请人}{\thu at name@title}{\thu at author}%
     \thu at info@item{学号}{}{\thu at student@id}%
     \thu at info@item{指导教师}{\thu at name@title}{\thu at supervisor}%
@@ -2491,15 +2741,7 @@
     \thu at info@item{联合指导教师}{\thu at name@title}{\thu at co@supervisor}%
   }\par
 }
-\newcommand\thu at titlepage@info at master@other{%
-  \thu at titlepage@info at tabular{3.28cm}{5em}{1.52cm}{%
-    \thu at info@item{培养单位}{}{\thu at department}%
-    \thu at info@item{申请人}{\thu at name@title}{\thu at author}%
-    \thu at info@item{学号}{}{\thu at student@id}%
-    \thu at info@item{指导教师}{\thu at name@title}{\thu at supervisor}%
-    \thu at info@item{副指导教师}{\thu at name@title}{\thu at associate@supervisor}%
-    \thu at info@item{联合指导教师}{\thu at name@title}{\thu at co@supervisor}%
-  }\par
+\newcommand\thu at titlepage@info at master@professional at with@field{%
 }
 \newcommand\thu at titlepage@date{%
   \begingroup
@@ -2516,7 +2758,7 @@
   \newgeometry{
     top     = 5.5cm,
     bottom  = 5cm,
-    hmargin = 3.6cm,
+    hmargin = 3.4cm,
   }%
   \thispagestyle{empty}%
   \thusetup{language = english}%
@@ -2532,49 +2774,51 @@
 \newcommand\thu at titlepage@en at graduate@academic{%
   \begingroup
     \centering
-    \null\vskip -0.7cm%
-    \thu at titlepage@en at title
-    \vfill
+    \null\vskip -0.31cm%
+    \parbox[t][143bp][t]{\textwidth}{%
+      \centering\thu at titlepage@en at title
+    }\par
     \sanhao[1.725]%
     \thu at titlepage@en at degree
-    \vskip 0.13cm%
+    \vskip 3bp%
     in\par
-    \vskip 0.1cm%
+    \vskip 3.5bp%
     {\bfseries\sffamily\thu at discipline@en\par}
-    \vskip 0.7cm%
+    \vfill
     {\sffamily by\par}
     \vskip 0.24cm%
     {\sffamily\bfseries\thu at author@en\par}%
-    \vskip 0.14cm%
-    \parbox[t][3.07cm][t]{\textwidth}{%
-      \centering\xiaosan[2.1]%
+    \vskip 0.18cm%
+    \parbox[t][3.0cm][t]{\textwidth}{%
+      \xiaosan[2.1]%
       \thu at titlepage@en at supervisor
     }\par
     \thu at titlepage@en at date
-    \vskip 0.65cm%
+    \vskip 0.7cm%
   \endgroup
 }
 \newcommand\thu at titlepage@en at graduate@professional{%
   \begingroup
     \centering
-    \null\vskip -0.7cm%
-    \thu at titlepage@en at title
-    \vfill
+    \null\vskip -0.31cm%
+    \parbox[t][143bp][t]{\textwidth}{%
+      \centering\thu at titlepage@en at title
+    }\par
     \sanhao[1.725]%
     \thu at titlepage@en at degree
-    \vskip 1.1cm%
+    \vfill
     {\sffamily by\par}
     \vskip 0.24cm%
     {\sffamily\bfseries\thu at author@en\par}%
-    \ifx\thu at discipline@en\empty
+    \ifx\thu at professional@field at en\empty
       \vskip 1.95cm%
     \else
       \vskip -0.1cm%
-      {\sffamily\bfseries(\thu at discipline@en)\par}%
+      {\sffamily\bfseries(\thu at professional@field at en)\par}%
       \vskip 1.1cm%
     \fi
     \parbox[t][3.37cm][t]{\textwidth}{%
-      \centering\xiaosan[1.82]%
+      \xiaosan[1.82]%
       \thu at titlepage@en at supervisor
     }\par
     \thu at titlepage@en at date
@@ -2583,7 +2827,8 @@
 }
 \newcommand\thu at titlepage@en at title{%
   \begingroup
-    \sffamily\bfseries\fontsize{20bp}{31bp}\selectfont
+    % 对齐到网格,每行 15.6bp
+    \sffamily\bfseries\fontsize{20bp}{31.2bp}\selectfont
     \thu at title@en\par
   \endgroup
 }
@@ -2603,10 +2848,11 @@
     professional
   \fi
   degree of\par
-  {\sffamily\bfseries\thu at degree@name at en\par}%
+  {\sffamily\bfseries\thu at degree@category at en\par}%
 }
 \newcommand\thu at titlepage@en at supervisor{%
-  \begin{tabular}{r@{\makebox[0.71cm][l]{:}}l}%
+  \hspace{1.27cm}%
+  \begin{tabular}{r@{\makebox[20.5bp][l]{\hspace{2bp}:}}l}%
     \renewcommand\arraystretch{1}%
     \thu at thesis@name at en{} Supervisor & \thu at supervisor@en \\
     \ifx\thu at associate@supervisor at en\@empty\else
@@ -2965,6 +3211,7 @@
     \textbf{关键词:}%
   \fi
   \thu at clist@use{\thu at keywords}{;}%
+  \gdef\thu at keywords{}%
   \ifthu at degree@bachelor
     \cleardoublepage
   \fi
@@ -3028,6 +3275,7 @@
 \newcommand{\thu at backdate}{日\hspace{1em}期:}
 \newenvironment{acknowledgements}{%
   \@mainmatterfalse
+  \thu at end@appendix at ref@section
   \ifthu at degree@bachelor
     \cleardoublepage
   \fi
@@ -3070,6 +3318,7 @@
 \newif\ifthu at statement@exists
 \newcommand\statement[1][]{%
   \@mainmatterfalse
+  \thu at end@appendix at ref@section
   \thu at statement@existstrue
   \ifthu at degree@bachelor
     \cleardoublepage
@@ -3192,16 +3441,33 @@
   {\thu at equation@name~\thecontentslabel}{}
   {\nobreak\thu at leaders\nobreak\thecontentspage}
 \contentsuse{equation}{loe}
-  \thu at define@key{
-    cite-style = {
-      name = cite at style,
-      choices = {
-        super,
-        inline,
-        author-year,
-      }
+\thu at define@key{
+  cite-style = {
+    name = cite at style,
+    choices = {
+      super,
+      inline,
+      author-year,
     }
   }
+}
+\def\bibliographystyle#1{%
+  \gdef\bu at bibstyle{#1}%
+  \ifx\@begindocumenthook\@undefined\else
+    \expandafter\AtBeginDocument
+  \fi
+    {\if at filesw
+       \immediate\write\@auxout{\string\bibstyle{#1}}%
+       \immediate\write\@auxout{\string\gdef\string\bu at bibstyle{#1}}%
+     \fi}%
+}
+\def\bibliography#1{%
+  \if at filesw
+    \immediate\write\@auxout{\string\bibdata{\zap at space#1 \@empty}}%
+    \immediate\write\@auxout{\string\gdef\string\bu at bibdata{#1}}%
+  \fi
+  \gdef\bu at bibdata{#1}%
+  \@input@{\jobname.bbl}}
 \PassOptionsToPackage{compress}{natbib}
 \AtEndOfPackageFile*{natbib}{
   \DeclareRobustCommand\inlinecite{\@inlinecite}
@@ -3589,6 +3855,56 @@
     appendix-figure-in-lof = false,
   }%
 }
+\newcommand\thu at end@appendix at ref@section{}
+\AtEndOfPackageFile*{bibunits}{
+  \ifthu at degree@graduate
+    \newcommand\thu at appendix@bib at num@format[1]{[\@Alph\c at chapter.#1]\hfill}
+    \g at addto@macro\appendix{%
+      \renewcommand\@bibunitname{\jobname-appendix-\@alph\c at chapter}%
+      \bibliographyunit[\chapter]%
+      \renewcommand\citenumfont{\@Alph\c at chapter.}%
+      \renewcommand\bibsection{%
+        \ctexset{section/numbering = false}%
+        \section{\bibname}%
+        \ctexset{section/numbering = true}%
+      }%
+      \renewcommand\@extra at binfo{@-\@alph\c at chapter}%
+      \renewcommand\@extra at b@citeb{@-\@alph\c at chapter}%
+      \let\bibnumfmt\thu at appendix@bib at num@format
+      \let\bibliographystyle\defaultbibliographystyle
+      \let\bibliography\thu at appendix@bibliography
+    }
+    \renewcommand\thu at end@appendix at ref@section{%
+      \bibliographyunit\relax
+    }
+    \providecommand\printbibliography{\putbib\relax}%
+    \AtEndDocument{\thu at end@appendix at ref@section}
+    % \let\@xtestdef\@gobbletwo  % This doesn't work
+    \def\bibunits at rerun@warning{\relax}
+  \fi
+}
+\PassOptionsToPackage{defernumbers = true}{biblatex}
+\AtEndOfPackageFile*{biblatex}{
+  \ifthu at degree@graduate
+    \DeclareRefcontext{appendix}{}
+    \g at addto@macro\appendix{%
+      \pretocmd\chapter{%
+        \newrefsection
+        \@tempcnta=\c at chapter
+        \advance\@tempcnta\@ne
+        \newrefcontext[labelprefix = {\@Alph\@tempcnta.}]{appendix}%
+      }{}{\thu at patch@error{\chapter}}%
+      \defbibheading{bibliography}[\bibname]{%
+        \ctexset{section/numbering = false}%
+        \section{#1}%
+        \ctexset{section/numbering = true}%
+      }%
+    }
+    % \renewcommand\thu at end@appendix at ref@section{%
+    %   \endrefsection
+    % }
+  \fi
+}
 \@ifpackagelater{titletoc}{2019/07/14}{
   \newcommand\thu at print@contents[5]{%
     \printcontents[#1]{#2}{#3}[#4]{}%
@@ -3636,9 +3952,11 @@
       },
     }%
     \section{摘要}%
-    \quotation
   }{%
-    \endquotation
+    \par
+    \ifx\thu at keywords\@empty\else
+      \textbf{关键词:}\thu at clist@use{\thu at keywords}{;}\par
+    \fi
   }%
   \thu at set@partial at toc@format
   \renewcommand\tableofcontents{%
@@ -3713,6 +4031,7 @@
 \newcommand\thu at appendix@bibliography[1]{\putbib[#1]}
 \newenvironment{resume}{%
   \@mainmatterfalse
+  \thu at end@appendix at ref@section
   \thu at chapter*{\thu at resume@name}%
   \ctexset{
     section = {
@@ -3729,13 +4048,18 @@
       },
     }%
     \setlist[achievements]{
-      topsep      = 6bp,
-      itemsep     = 6bp,
-      leftmargin  = 1cm,
-      labelwidth  = 1cm,
-      labelsep    = 0pt,
-      align       = left,
-      label       = [\arabic*],
+      topsep     = 6bp,
+      itemsep    = 6bp,
+      leftmargin = 1cm,
+      labelwidth = 1cm,
+      labelsep   = 0pt,
+      first      = {
+        \ifthu at degree@graduate
+          \fontsize{12bp}{16bp}\selectfont
+        \fi
+      },
+      align      = left,
+      label      = [\arabic*],
       resume     = achievements,
     }%
   \else
@@ -3753,12 +4077,12 @@
       \sffamily\fontsize{15bp}{20bp}\selectfont
     \fi
     \setlist[achievements]{
-      topsep      = 0bp,
-      itemsep     = 0bp,
-      leftmargin  = 1.75cm,
-      labelsep    = 0.5cm,
-      align       = right,
-      label       = [\arabic*],
+      topsep     = 0bp,
+      itemsep    = 0bp,
+      leftmargin = 1.75cm,
+      labelsep   = 0.5cm,
+      align      = right,
+      label      = [\arabic*],
       resume     = achievements,
     }%
   \fi
@@ -3791,6 +4115,7 @@
   \thu at error{The "\protect\publicationskip" is obsolete. Do not use it}%
 }
 \NewEnviron{comments}[1][]{%
+  \thu at end@appendix at ref@section
   \ifthu at degree@graduate
     \@mainmatterfalse
     \kv at define@key{thu at comments}{name}{\let\thu at comments@name\kv at value}%
@@ -3807,6 +4132,7 @@
   \fi
 }
 \NewEnviron{resolution}{%
+  \thu at end@appendix at ref@section
   \ifthu at degree@graduate
     \@mainmatterfalse
     \chapter{\thu at resolution@name}%
@@ -3831,21 +4157,21 @@
   \thu at pdfbookmark{0}{综合论文训练记录表}%
   \includepdf[pages=-]{\thu at record@file}%
 }
+\PassOptionsToPackage{
+  linktoc            = all,
+  bookmarksdepth     = 2,
+  bookmarksnumbered  = true,
+  bookmarksopen      = true,
+  bookmarksopenlevel = 1,
+  bookmarksdepth     = 3,
+  unicode            = true,
+  psdextra           = true,
+  breaklinks         = true,
+  plainpages         = false,
+  pdfdisplaydoctitle = true,
+  hidelinks,
+}{hyperref}
 \AtEndOfPackageFile*{hyperref}{
-  \hypersetup{
-    linktoc            = all,
-    bookmarksdepth     = 2,
-    bookmarksnumbered  = true,
-    bookmarksopen      = true,
-    bookmarksopenlevel = 1,
-    bookmarksdepth     = 3,
-    unicode            = true,
-    psdextra           = true,
-    breaklinks         = true,
-    plainpages         = false,
-    pdfdisplaydoctitle = true,
-    hidelinks,
-  }%
   \newcounter{thu at bookmark}
   \renewcommand\thu at pdfbookmark[2]{%
     \phantomsection
@@ -3878,7 +4204,7 @@
       \hypersetup{
         pdftitle    = \thu at title,
         pdfauthor   = \thu at author,
-        pdfsubject  = \thu at degree@name,
+        pdfsubject  = \thu at degree@category,
         pdfkeywords = \thu at keywords,
       }%
     \else
@@ -3885,7 +4211,7 @@
       \hypersetup{
         pdftitle    = \thu at title@en,
         pdfauthor   = \thu at author@en,
-        pdfsubject  = \thu at degree@name at en,
+        pdfsubject  = \thu at degree@category at en,
         pdfkeywords = \thu at keywords@en,
       }%
     \fi



More information about the tex-live-commits mailing list.