From 568fe838cef40f671837d9348dd73c93d9ea962b Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 31 Aug 2020 03:02:58 +0000
Subject: CTAN sync 202008310302

---
 macros/latex/contrib/fduthesis/fduthesis.dtx | 334 ++++++++++++++++++---------
 1 file changed, 226 insertions(+), 108 deletions(-)

(limited to 'macros/latex/contrib/fduthesis/fduthesis.dtx')

diff --git a/macros/latex/contrib/fduthesis/fduthesis.dtx b/macros/latex/contrib/fduthesis/fduthesis.dtx
index cd50a39ec6..6f536377da 100644
--- a/macros/latex/contrib/fduthesis/fduthesis.dtx
+++ b/macros/latex/contrib/fduthesis/fduthesis.dtx
@@ -2,7 +2,7 @@
 % !TeX program  = XeLaTeX
 % !TeX encoding = UTF-8
 %
-% Copyright (C) 2017--2019 by Xiangdong Zeng <xdzeng96@gmail.com>
+% Copyright (C) 2017--2020 by Xiangdong Zeng <xdzeng96@gmail.com>
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either
@@ -47,7 +47,7 @@
 The `fduthesis` Class
 =====================
 
-*LaTeX thesis template for Fudan University, v0.7d*
+*LaTeX thesis template for Fudan University, v0.7e*
 
 Overview
 --------
@@ -124,7 +124,7 @@ version.
 
 -----
 
-Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
+Copyright (C) 2017&ndash;2020 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %</readme>
 %
 %<*internal>
@@ -142,7 +142,7 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 
 \preamble
 
-    Copyright (C) 2017--2019 by Xiangdong Zeng <xdzeng96@gmail.com>
+    Copyright (C) 2017--2020 by Xiangdong Zeng <xdzeng96@gmail.com>
 
     This work may be distributed and/or modified under the
     conditions of the LaTeX Project Public License, either
@@ -236,7 +236,7 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %<class|class-en|doc|logo>\NeedsTeXFormat{LaTeX2e}
 %<class|class-en|doc|logo>\RequirePackage{expl3}
 %<*!(driver|install|ex-logo|cover)>
-%<!readme>\GetIdInfo $Id: fduthesis.dtx 0.7d 2019-04-03 12:00:00Z Xiangdong Zeng <xdzeng96@gmail.com> $
+%<!readme>\GetIdInfo $Id: fduthesis.dtx 0.7e 2020-08-30 12:00:00Z Xiangdong Zeng <xdzeng96@gmail.com> $
 %<class>  {Thesis template for Fudan University}
 %<class>\ProvidesExplClass{\ExplFileName}
 %<class-en>  {Thesis template for Fudan University (English version)}
@@ -252,7 +252,7 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %<*driver>
 % \PassOptionsToPackage{showframe}{geometry}
 \documentclass{fdudoc}
-\usepackage{multirow,xpinyin}
+\usepackage{multirow,xeCJKfntef,xpinyin}
 \hypersetup{
   pdftitle  = {fduthesis: 复旦大学论文模板},
   pdfauthor = {曾祥东}}
@@ -261,8 +261,6 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 \def\FSFW{“{\xeCJKsetup{PunctStyle=banjiao}．}”} % U+FF0E
 \def\COFW{“{\xeCJKsetup{PunctStyle=banjiao}：}”} % U+FF1A
 \def\SCFW{“{\xeCJKsetup{PunctStyle=banjiao}；}”} % U+FF1B
-% Libertinus Math 字体不包含 `\QED`，暂时使用 `\blacksquare` 代替 
-\AtBeginDocument{\def\QED{\blacksquare}}
 %^^A! \PassOptionsToPackage{scheme=plain, linespread=1.1}{ctex}
 %^^A! \documentclass{fdudoc}
 %^^A! \hypersetup{
@@ -274,19 +272,18 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %^^A! \pagestyle{headings}
 %^^A! \def\FSID{{\xeCJKsetup{PunctStyle=banjiao}。}}
 %^^A! \def\FSFW{{\xeCJKsetup{PunctStyle=banjiao}．}}
-%^^A! \AtBeginDocument{\def\QED{\blacksquare}}
 %^^A!
 
 \title{\textcolor{MaterialIndigo800}{%
-  \textbf{fduthesis: 复旦大学论文\xpinyin[font=\sffamily]{模}{mu2}板}}}
+  \textbf{fduthesis: 复旦大学论文\xpinyin[font=\sffamily,format=\color{MaterialIndigo800}]{模}{mu2}板}}}
 \author{曾祥东}
-\date{2019/04/03\quad v0.7d%
+\date{2020/08/30\quad v0.7e%
   \thanks{\url{https://github.com/stone-zeng/fduthesis}.}}
 %^^A! \title{\textcolor{MaterialIndigo800}{%
 %^^A!   \textbf{The \textsf{fduthesis} Class \\
 %^^A!     \LaTeX{} Thesis Template for Fudan University}}}
 %^^A! \author{Xiangdong Zeng}
-%^^A! \date{2019/04/03\quad v0.7d%
+%^^A! \date{2020/08/30\quad v0.7e%
 %^^A!   \thanks{\url{https://github.com/stone-zeng/fduthesis}.}}
 %^^A!
 
@@ -1844,12 +1841,17 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %^^A! main matter.
 %^^A!
 %
-% \begin{function}{\tableofcontents}
-%   生成目录。为了生成完整、正确的目录，您至少需要编译\emph{两次}。
+% \begin{function}{\tableofcontents,\listoffigures,\listoftables}
+%   生成目录。为了生成完整、正确的目录，您至少需要编译\emph{两次}。对于图表
+%   较多的论文，也可以使用 \cs{listoffigures} 和 \cs{listoftables} 生成单独的
+%   插图、表格目录。
 % \end{function}
 %^^A! \begin{function}{\tableofcontents}
 %^^A!   Generate the table of contents (TOC). You need to compile
 %^^A!   the source file at least \emph{twice} to get the correct TOC.
+%^^A!   If your thesis contains many figures or tables, you may also
+%^^A!   use \cs{listoffigures} or \cs{listoftables} to generate a list
+%^^A!   of them.
 %^^A! \end{function}
 %^^A!
 %
@@ -2384,14 +2386,14 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 % \bibitem{clreq}
 % W3C.
 % \newblock \textit{中文排版需求（Requirements for Chinese Text Layout）} [EB/OL].
-% \newblock (2019-03-13) 
+% \newblock (2020-08-17)
 % \urlprefix\url{https://w3c.github.io/clreq/}
 %
 % \bibitem{复旦大学论文规范}
 % 复旦大学图书馆, 复旦大学研究生院.
 % \newblock \textit{复旦大学博士、硕士学位论文规范} [EB/OL].
 % \newblock 2017 年 3 月修订版.
-% \newblock (2017-03-27) 
+% \newblock (2017-03-27)
 % \urlprefix\url{http://www.gs.fudan.edu.cn/_upload/article/4c/a8/a82545ef443b9c057c14ba13782c/c883c6f3-6d7f-410c-8f30-d8bde6fcb990.doc}
 %
 % \subsection{宏包、模版}
@@ -2399,23 +2401,23 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 % \bibitem{source2e}
 % \textsc{Braams J}, \textsc{Carlisle D}, \textsc{Jeffrey A}, et al.
 % \newblock \textit{The \LaTeXe{} Sources} [CP/OL].
-% \newblock (2018-12-01) 
+% \newblock (2020-02-02)
 % \urlprefix\url{https://ctan.org/pkg/latex}
 % \urlprefix\CTANurl[源代码：]{macros/latex/base/source2e.pdf}
 %
 % \bibitem{CTeX}
 % \textsc{CTEX.ORG}.
 % \newblock \textit{\CTeX{} 宏集手册} [EB/OL].
-% \newblock version 2.4.14,
-% \newblock (2018-05-02) 
+% \newblock version 2.5.4,
+% \newblock (2020-08-23)
 % \urlprefix\url{https://ctan.org/pkg/ctex}
 % \urlprefix\CTANurl[文档及源代码：]{language/chinese/ctex/ctex.pdf}
 %
 % \bibitem{xeCJK}
 % \textsc{CTEX.ORG}.
 % \newblock \textit{\pkg{xeCJK} 宏包} [EB/OL].
-% \newblock version 3.7.1,
-% \newblock (2018-04-30) 
+% \newblock version 3.8.5,
+% \newblock (2020-08-23)
 % \urlprefix\url{https://ctan.org/pkg/xecjk}
 % \urlprefix\CTANurl[文档及源代码：]{macros/xetex/latex/xecjk/xeCJK.pdf}
 %
@@ -2423,22 +2425,22 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 % \textsc{Daly P W}.
 % \newblock \textit{Natural Sciences Citations and References} [EB/OL].
 % \newblock version 8.31b,
-% \newblock (2010-09-13) 
+% \newblock (2010-09-13)
 % \urlprefix\url{https://ctan.org/pkg/natbib}
 % \urlprefix\CTANurl[文档及源代码：]{macros/latex/contrib/natbib/natbib.pdf}
 %
 % \bibitem{source3}
 % \textsc{The \LaTeX3 Project}.
 % \newblock \textit{The \LaTeX3 Sources} [CP/OL].
-% \newblock (2019-03-05) 
+% \newblock (2020-08-07)
 % \urlprefix\url{https://ctan.org/pkg/l3kernel}
 % \urlprefix\CTANurl[源代码：]{macros/latex/contrib/l3kernel/source3.pdf}
 %
 % \bibitem{biblatex}
 % \textsc{Lehman P}, \textsc{Kime P}, \textsc{Boruvka A}, et al.
 % \newblock \textit{The \pkg{biblatex} Package} [EB/OL].
-% \newblock version 3.12,
-% \newblock (2018-10-18) 
+% \newblock version 3.15a,
+% \newblock (2020-08-23)
 % \urlprefix\url{https://ctan.org/pkg/biblatex}
 % \urlprefix\CTANurl[文档：]{macros/latex/contrib/biblatex/doc/biblatex.pdf}
 %
@@ -2446,48 +2448,48 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 % \textsc{Oetiker T}, \textsc{Partl H}, \textsc{Hyna I}, et al.
 % \newblock \textit{The Not So Short Introduction to \LaTeXe{}: Or \LaTeXe{} in 139 minutes} [EB/OL].
 % \newblock version 6.2,
-% \newblock (2018-02-28) 
+% \newblock (2018-02-28)
 % \urlprefix\url{https://ctan.org/pkg/lshort-english}
 % \urlprefix\CTANurl[文档：]{info/lshort/english/lshort.pdf}
 %
 % \bibitem{lshort-zh-cn}
 % \textsc{Oetiker T}, \textsc{Partl H}, \textsc{Hyna I}, et al.
-% \newblock \textit{一份不太简短的 \LaTeXe{} 介绍: 或 106 分钟了解 \LaTeXe{}} [EB/OL].
+% \newblock \textit{一份（不太）简短的 \LaTeXe{} 介绍: 或 112 分钟了解 \LaTeXe{}} [EB/OL].
 % \newblock \CTeX{} 开发小组, 译.
-% \newblock 原版版本 version 6.2, 中文版本 version 6.0,
-% \newblock (2018-09-01) 
+% \newblock 原版版本 version 6.2, 中文版本 version 6.02,
+% \newblock (2020-08-03)
 % \urlprefix\url{https://ctan.org/pkg/lshort-zh-cn}
 % \urlprefix\CTANurl[文档：]{info/lshort/chinese/lshort-zh-cn.pdf}
 %
 % \bibitem{biblatex-gb7714-2015}
 % 胡振震.
 % \newblock \textit{符合 GB/T 7714-2015 标准的 biblatex 参考文献样式} [EB/OL].
-% \newblock version 1.0q,
-% \newblock (2019-02-11) 
+% \newblock version 1.0v,
+% \newblock (2020-07-21)
 % \urlprefix\url{https://ctan.org/pkg/biblatex-gb7714-2015}
 % \urlprefix\CTANurl[文档：]{biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf}
 %
 % \bibitem{gbt7714}
 % 李泽平（\textsc{Zeping L}）.
 % \newblock \textit{GB/T 7714-2015 \BibTeX{} Style} [EB/OL].
-% \newblock version 1.0.9,
-% \newblock (2018-08-05) 
+% \newblock version 2.0.2,
+% \newblock (2020-06-08)
 % \urlprefix\url{https://ctan.org/pkg/gbt7714}
 % \urlprefix\CTANurl[文档：]{biblio/bibtex/contrib/gbt7714/gbt7714.pdf}
 %
 % \bibitem{cquthesis}
 % 李振楠.
 % \newblock \textit{\textsc{CquThesis}：重庆大学毕业论文 \LaTeX{} 模板} [EB/OL].
-% \newblock version 1.30,
-% \newblock (2018-02-23) 
+% \newblock version 1.50,
+% \newblock (2020-06-23)
 % \urlprefix\url{https://ctan.org/pkg/cquthesis}
 % \urlprefix\CTANurl[文档及源代码：]{macros/latex/contrib/cquthesis/cquthesis.pdf}
 %
 % \bibitem{thuthesis}
-% 薛瑞尼.
+% 清华大学 TUNA 协会.
 % \newblock \textit{\textsc{ThuThesis}：清华大学学位论文模板} [EB/OL].
-% \newblock version 5.4.5,
-% \newblock (2018-05-17) 
+% \newblock version 6.1.3,
+% \newblock (2020-07-09)
 % \urlprefix\url{https://ctan.org/pkg/thuthesis}
 % \urlprefix\CTANurl[文档及源代码：]{macros/latex/contrib/thuthesis/thuthesis.pdf}
 %
@@ -2495,22 +2497,23 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %
 % \bibitem{sjtuthesis}
 % \textsc{SJTUG}.
-% \newblock \textit{上海交通大学 \XeLaTeX{} 学位论文及课程论文模板} [EB/OL].
-% \newblock version 0.10.2,
-% \newblock (2018-11-05)
+% \newblock \textit{上海交通大学学位论文模板} [EB/OL].
+% \newblock version 1.0.0rc7,
+% \newblock (2020-07-31)
 % \urlprefix\url{https://github.com/sjtug/SJTUThesis}
+% \urlprefix\url[源代码仓库：]{https://github.com/sjtug/SJTUTeX}
 %
 % \bibitem{ustcthesis}
 % \textsc{USTC \TeX{} User Group}.
 % \newblock \textit{中国科学技术大学学位论文 \LaTeX{} 模板} [EB/OL].
-% \newblock version 3.1.03,
-% \newblock (2019-01-01)
+% \newblock version 3.2.1,
+% \newblock (2020-04-03)
 % \urlprefix\url{https://github.com/ustctug/ustcthesis}
 %
 % \bibitem{ucasthesis}
 % \textsc{mohuangrui}.
 % \newblock \textit{\pkg{ucasthesis} 国科大学位论文 \LaTeX{} 模板} [EB/OL].
-% \newblock (2019-03-14)
+% \newblock (2020-07-28)
 % \urlprefix\url{https://github.com/mohuangrui/ucasthesis}
 %
 % \emph{以下模版现已停止更新。}
@@ -2518,13 +2521,13 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 % \bibitem{pandoxie2014fduthesislatex}
 % \textsc{Pandoxie}.
 % \newblock \textit{Fudan University-Latex Template} [EB/OL].
-% \newblock (2014-06-07) 
+% \newblock (2014-06-07)
 % \urlprefix\url{https://github.com/Pandoxie/FDU-Thesis-Latex}
 %
 % \bibitem{richard2016fudanthesis}
 % \textsc{richard}.
 % \newblock \textit{复旦大学硕士学位论文模板} [EB/OL].
-% \newblock (2016-01-31) 
+% \newblock (2016-01-31)
 % \urlprefix\url{https://github.com/richarddzh/fudan-thesis}
 %
 % \bibitem{数院毕业论文格式}
@@ -2542,7 +2545,7 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 % \bibitem{wright2009dtxfile}
 % \textsc{Wright J}.
 % \newblock \textit{A model dtx file} [EB/OL].
-% \newblock (2009-10-06) 
+% \newblock (2009-10-06)
 % \urlprefix\url{https://www.texdev.net/2009/10/06/a-model-dtx-file/}
 %
 % \bibitem{孔雀计划}
@@ -2829,7 +2832,7 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %    \begin{macrocode}
     type .choice:,
     type .value_required:n = true,
-    type .choices:nn = 
+    type .choices:nn =
       { doctor, master, bachelor }
       { \int_set_eq:NN \g_@@_thesis_type_int \l_keys_choice_int },
     type .initial:n = bachelor,
@@ -3032,11 +3035,11 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %
 % \changes{v0.7c}{2019/03/05}{重构字体配置，并兼容 macOS。}
 %
-% \begin{variable}{\g_@@_font_set_tl, \g_@@_cjk_font_set_tl}
+% \begin{variable}{\g_@@_fontset_tl, \g_@@_cjk_fontset_tl}
 % 存放字体选项值。
 %    \begin{macrocode}
-\tl_new:N \g_@@_font_set_tl
-%<class>\tl_new:N \g_@@_cjk_font_set_tl
+\tl_new:N \g_@@_fontset_tl
+%<class>\tl_new:N \g_@@_cjk_fontset_tl
 %    \end{macrocode}
 % \end{variable}
 %
@@ -3048,7 +3051,7 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
   {
     font .choices:nn =
       { garamond, libertinus, lm, palatino, times, times*, none }
-      { \tl_set_eq:NN \g_@@_font_set_tl \l_keys_choice_tl }
+      { \tl_set_eq:NN \g_@@_fontset_tl \l_keys_choice_tl }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -3062,7 +3065,7 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
   {
     cjk-font .choices:nn =
       { adobe, fandol, founder, mac, sinotype, sourcehan, windows, none }
-      { \tl_set_eq:NN \g_@@_cjk_font_set_tl \l_keys_choice_tl }
+      { \tl_set_eq:NN \g_@@_cjk_fontset_tl \l_keys_choice_tl }
   }
 %    \end{macrocode}
 %</class>
@@ -3180,6 +3183,97 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %    \end{macrocode}
 % \end{macro}
 %
+% \changes{v0.7e}{2019/04/10}{兼容 Libertinus 和 XITS 字体的文件名变动。}
+% \begin{macro}{
+%   \g_@@_font_family_libertinus_serif_tl,
+%   \g_@@_font_family_libertinus_sans_tl,
+%   \g_@@_font_style_libertinus_rm_tl,
+%   \g_@@_font_style_libertinus_bf_tl,
+%   \g_@@_font_style_libertinus_it_tl,
+%   \g_@@_font_style_libertinus_bfit_tl,
+%   \g_@@_font_style_libertinus_bfsl_tl,
+%   \g_@@_font_family_xits_tl,
+%   \g_@@_font_style_xits_rm_tl,
+%   \g_@@_font_style_xits_bf_tl,
+%   \g_@@_font_style_xits_it_tl,
+%   \g_@@_font_style_xits_bfit_tl,
+%   \g_@@_font_name_libertinus_serif_tl,
+%   \g_@@_font_name_libertinus_sans_tl,
+%   \g_@@_font_name_libertinus_math_tl,
+%   \g_@@_font_name_xits_tl,
+%   \g_@@_font_name_xits_math_rm_tl,
+%   \g_@@_font_name_xits_math_bf_tl}
+% Libertinus 和 XITS 字体的文件名做过变动，需要特殊处理。
+%    \begin{macrocode}
+\tl_new:N \g_@@_font_family_libertinus_serif_tl
+\tl_new:N \g_@@_font_family_libertinus_sans_tl
+\tl_new:N \g_@@_font_style_libertinus_rm_tl
+\tl_new:N \g_@@_font_style_libertinus_bf_tl
+\tl_new:N \g_@@_font_style_libertinus_it_tl
+\tl_new:N \g_@@_font_style_libertinus_bfit_tl
+\tl_new:N \g_@@_font_style_libertinus_bfsl_tl
+\tl_new:N \g_@@_font_family_xits_tl
+\tl_new:N \g_@@_font_style_xits_rm_tl
+\tl_new:N \g_@@_font_style_xits_bf_tl
+\tl_new:N \g_@@_font_style_xits_it_tl
+\tl_new:N \g_@@_font_style_xits_bfit_tl
+\tl_new:N \g_@@_font_name_libertinus_serif_tl
+\tl_new:N \g_@@_font_name_libertinus_sans_tl
+\tl_new:N \g_@@_font_name_libertinus_math_tl
+\tl_new:N \g_@@_font_name_xits_tl
+\tl_new:N \g_@@_font_name_xits_math_rm_tl
+\tl_new:N \g_@@_font_name_xits_math_bf_tl
+\fontspec_font_if_exist:nTF { LibertinusSerif-Regular.otf }
+  {
+    \tl_set:Nn \g_@@_font_family_libertinus_serif_tl { LibertinusSerif }
+    \tl_set:Nn \g_@@_font_family_libertinus_sans_tl  { LibertinusSans  }
+    \tl_set:Nn \g_@@_font_family_libertinus_math_tl  { LibertinusMath  }
+    \tl_set:Nn \g_@@_font_style_libertinus_rm_tl     { Regular         }
+    \tl_set:Nn \g_@@_font_style_libertinus_bf_tl     { Bold            }
+    \tl_set:Nn \g_@@_font_style_libertinus_it_tl     { Italic          }
+    \tl_set:Nn \g_@@_font_style_libertinus_bfit_tl   { BoldItalic      }
+    \tl_set:Nn \g_@@_font_style_libertinus_bfsl_tl   { BoldOblique     }
+  }
+  {
+    \tl_set:Nn \g_@@_font_family_libertinus_serif_tl { libertinusserif }
+    \tl_set:Nn \g_@@_font_family_libertinus_sans_tl  { libertinussans  }
+    \tl_set:Nn \g_@@_font_family_libertinus_math_tl  { libertinusmath  }
+    \tl_set:Nn \g_@@_font_style_libertinus_rm_tl     { regular         }
+    \tl_set:Nn \g_@@_font_style_libertinus_bf_tl     { bold            }
+    \tl_set:Nn \g_@@_font_style_libertinus_it_tl     { italic          }
+    \tl_set:Nn \g_@@_font_style_libertinus_bfit_tl   { bolditalic      }
+    \tl_set:Nn \g_@@_font_style_libertinus_bfsl_tl   { bolditalic      }
+  }
+\fontspec_font_if_exist:nTF { XITS-Regular.otf }
+  {
+    \tl_set:Nn \g_@@_font_family_xits_tl        { XITS             }
+    \tl_set:Nn \g_@@_font_style_xits_rm_tl      { Regular          }
+    \tl_set:Nn \g_@@_font_style_xits_bf_tl      { Bold             }
+    \tl_set:Nn \g_@@_font_style_xits_it_tl      { Italic           }
+    \tl_set:Nn \g_@@_font_style_xits_bfit_tl    { BoldItalic       }
+    \tl_set:Nn \g_@@_font_name_xits_math_rm_tl  { XITSMath-Regular }
+    \tl_set:Nn \g_@@_font_name_xits_math_bf_tl  { XITSMath-Bold    }
+  }
+  {
+    \tl_set:Nn \g_@@_font_family_xits_tl        { xits          }
+    \tl_set:Nn \g_@@_font_style_xits_rm_tl      { regular       }
+    \tl_set:Nn \g_@@_font_style_xits_bf_tl      { bold          }
+    \tl_set:Nn \g_@@_font_style_xits_it_tl      { italic        }
+    \tl_set:Nn \g_@@_font_style_xits_bfit_tl    { bolditalic    }
+    \tl_set:Nn \g_@@_font_name_xits_math_rm_tl  { xits-math     }
+    \tl_set:Nn \g_@@_font_name_xits_math_bf_tl  { xits-mathbold }
+  }
+\tl_set:Nx \g_@@_font_name_libertinus_serif_tl
+  { \g_@@_font_family_libertinus_serif_tl - \g_@@_font_style_libertinus_rm_tl }
+\tl_set:Nx \g_@@_font_name_libertinus_sans_tl
+  { \g_@@_font_family_libertinus_sans_tl  - \g_@@_font_style_libertinus_rm_tl }
+\tl_set:Nx \g_@@_font_name_libertinus_math_tl
+  { \g_@@_font_family_libertinus_math_tl  - \g_@@_font_style_libertinus_rm_tl }
+\tl_set:Nx \g_@@_font_name_xits_tl
+  { \g_@@_font_family_xits_tl - \g_@@_font_style_xits_rm_tl }
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\@@_load_font_garamond:}
 % EB Garamond 系列。
 %    \begin{macrocode}
@@ -3193,13 +3287,13 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
         ItalicFont     = *-Italic,
         BoldItalicFont = *-BoldItalic
       }
-    \@@_setsansfont:nn { libertinussans }
+    \@@_setsansfont:nn { \g_@@_font_family_libertinus_sans_tl }
       {
         Extension      = .otf,
-        UprightFont    = *-regular,
-        BoldFont       = *-bold,
-        ItalicFont     = *-italic,
-        BoldItalicFont = *-bolditalic
+        UprightFont    = *-\g_@@_font_style_libertinus_rm_tl,
+        BoldFont       = *-\g_@@_font_style_libertinus_bf_tl,
+        ItalicFont     = *-\g_@@_font_style_libertinus_it_tl,
+        BoldItalicFont = *-\g_@@_font_style_libertinus_bfsl_tl
       }
     \@@_setmonofont:nn { lmmonolt10 }
       {
@@ -3219,21 +3313,21 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_load_font_libertinus:
   {
-    \@@_setmainfont:nn { libertinusserif }
+    \@@_setmainfont:nn { \g_@@_font_family_libertinus_serif_tl }
       {
         Extension      = .otf,
-        UprightFont    = *-regular,
-        BoldFont       = *-bold,
-        ItalicFont     = *-italic,
-        BoldItalicFont = *-bolditalic
+        UprightFont    = *-\g_@@_font_style_libertinus_rm_tl,
+        BoldFont       = *-\g_@@_font_style_libertinus_bf_tl,
+        ItalicFont     = *-\g_@@_font_style_libertinus_it_tl,
+        BoldItalicFont = *-\g_@@_font_style_libertinus_bfit_tl
       }
-    \@@_setsansfont:nn { libertinussans }
+    \@@_setsansfont:nn { \g_@@_font_family_libertinus_sans_tl }
       {
         Extension      = .otf,
-        UprightFont    = *-regular,
-        BoldFont       = *-bold,
-        ItalicFont     = *-italic,
-        BoldItalicFont = *-bolditalic
+        UprightFont    = *-\g_@@_font_style_libertinus_rm_tl,
+        BoldFont       = *-\g_@@_font_style_libertinus_bf_tl,
+        ItalicFont     = *-\g_@@_font_style_libertinus_it_tl,
+        BoldItalicFont = *-\g_@@_font_style_libertinus_bfsl_tl
       }
     \@@_setmonofont:nn { lmmonolt10 }
       {
@@ -3243,7 +3337,7 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
         ItalicFont     = *-oblique,
         BoldItalicFont = *-boldoblique
       }
-    \@@_setmathfont:nn { libertinusmath-regular.otf } { }
+    \@@_setmathfont:nn { \g_@@_font_name_libertinus_math_tl .otf } { }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -3270,13 +3364,13 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
         ItalicFont     = *-italic,
         BoldItalicFont = *-bolditalic
       }
-    \@@_setsansfont:nn { libertinussans }
+    \@@_setsansfont:nn { \g_@@_font_family_libertinus_sans_tl }
       {
         Extension      = .otf,
-        UprightFont    = *-regular,
-        BoldFont       = *-bold,
-        ItalicFont     = *-italic,
-        BoldItalicFont = *-bolditalic,
+        UprightFont    = *-\g_@@_font_style_libertinus_rm_tl,
+        BoldFont       = *-\g_@@_font_style_libertinus_bf_tl,
+        ItalicFont     = *-\g_@@_font_style_libertinus_it_tl,
+        BoldItalicFont = *-\g_@@_font_style_libertinus_bfsl_tl,
         Scale          = MatchUppercase
       }
     \@@_setmonofont:nn { lmmonolt10 }
@@ -3297,17 +3391,13 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_load_font_times:
   {
-    \@@_setmainfont:nn { XITS }
+    \@@_setmainfont:nn { \g_@@_font_family_xits_tl }
       {
         Extension          = .otf,
-        UprightFont        = *-Regular,
-        BoldFont           = *-Bold,
-        ItalicFont         = *-Italic,
-        BoldItalicFont     = *-BoldItalic,
-        UprightFeatures    = { SmallCapsFont = *-Regular    },
-        BoldFeatures       = { SmallCapsFont = *-Bold       },
-        ItalicFeatures     = { SmallCapsFont = *-Italic     },
-        BoldItalicFeatures = { SmallCapsFont = *-BoldItalic }
+        UprightFont        = *-\g_@@_font_style_xits_rm_tl,
+        BoldFont           = *-\g_@@_font_style_xits_bf_tl,
+        ItalicFont         = *-\g_@@_font_style_xits_it_tl,
+        BoldItalicFont     = *-\g_@@_font_style_xits_bfit_tl
       }
     \@@_setsansfont:nn { texgyreheros }
       {
@@ -3326,20 +3416,22 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
         BoldItalicFont = *-bolditalic,
         Ligatures      = CommonOff
       }
-    \@@_setmathfont:nn { XITSMath-Regular.otf }{ BoldFont = XITSMath-Bold.otf }
+    \@@_setmathfont:nn { \g_@@_font_name_xits_math_rm_tl .otf }
+      { BoldFont = \g_@@_font_name_xits_math_bf_tl .otf }
   }
 %    \end{macrocode}
 % \end{macro}
 %
 % \begin{macro}{\@@_load_font_times*:}
-% Times* 系列，出数学部分外采用系统字体。
+% Times* 系列，除数学部分外采用系统字体。
 %    \begin{macrocode}
 \cs_new_protected:cpn { @@_load_font_ times* : }
   {
     \@@_setmainfont:nn { Times~ New~ Roman    } { }
     \@@_setsansfont:nn { Arial                } { }
     \@@_setmonofont:nn { Courier~ New         } { }
-    \@@_setmathfont:nn { XITSMath-Regular.otf }{ BoldFont = XITSMath-Bold.otf }
+    \@@_setmathfont:nn { \g_@@_font_name_xits_math_rm_tl .otf }
+      { BoldFont = \g_@@_font_name_xits_math_bf_tl .otf }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -3499,8 +3591,8 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_load_font:
   {
-    \use:c { @@_load_font_     \g_@@_font_set_tl     : }
-%<class>    \use:c { @@_load_cjk_font_ \g_@@_cjk_font_set_tl : }
+    \use:c { @@_load_font_     \g_@@_fontset_tl     : }
+%<class>    \use:c { @@_load_cjk_font_ \g_@@_cjk_fontset_tl : }
   }
 \ctex_at_end_preamble:n { \@@_load_font: }
 %    \end{macrocode}
@@ -3915,8 +4007,7 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 % \begin{macro}{\@@_fn_symbol_libertinus_sans:n}
 % \opt{libertinus} 阳文无衬线版。符号排列与普通版相同。
 %    \begin{macrocode}
-\cs_new_eq:NN \@@_fn_symbol_libertinus_sans:n
-  \@@_fn_symbol_libertinus:n
+\cs_new_eq:NN \@@_fn_symbol_libertinus_sans:n \@@_fn_symbol_libertinus:n
 %    \end{macrocode}
 % \end{macro}
 %
@@ -4011,17 +4102,17 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %    \begin{macrocode}
         \c_@@_fn_style_libertinus_tl
           {
-            \fontspec { libertinusserif-regular.otf }
+            \fontspec { \g_@@_font_name_libertinus_serif_tl .otf }
             \@@_fn_symbol_libertinus:n {#1}
           }
         \c_@@_fn_style_libertinus_neg_tl
           {
-            \fontspec { libertinusserif-regular.otf }
+            \fontspec { \g_@@_font_name_libertinus_serif_tl .otf }
             \@@_fn_symbol_libertinus_neg:n {#1}
           }
         \c_@@_fn_style_libertinus_sans_tl
           {
-            \fontspec { libertinussans-regular.otf }
+            \fontspec { \g_@@_font_name_libertinus_sans_tl .otf }
             \@@_fn_symbol_libertinus_sans:n {#1}
           }
 %    \end{macrocode}
@@ -4040,17 +4131,17 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %    \begin{macrocode}
         \c_@@_fn_style_xits_tl
           {
-            \fontspec { XITS-Regular.otf }
+            \fontspec { \g_@@_font_name_xits_tl .otf }
             \@@_fn_symbol_xits:n {#1}
           }
         \c_@@_fn_style_xits_sans_tl
           {
-            \fontspec { XITS-Regular.otf }
+            \fontspec { \g_@@_font_name_xits_tl .otf }
             \@@_fn_symbol_xits_sans:n {#1}
           }
         \c_@@_fn_style_xits_sans_neg_tl
           {
-            \fontspec { XITS-Regular.otf }
+            \fontspec { \g_@@_font_name_xits_tl .otf }
             \@@_fn_symbol_xits_sans_neg:n {#1}
           }
       }
@@ -5094,9 +5185,9 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
     authorization-decl-sig  / content     =
       \@@_cover_signature:N \c_@@_auth_decl_sign_clist,
     originality-decl-name   / format      =
-      \@@_line_spread:n { 1.2 } \zihao { -2 } \sffamily,
+      \@@_line_spread:n { 1.2 } \zihao { -2 } \bfseries,
     authorization-decl-name / format      =
-      \@@_line_spread:n { 1.2 } \zihao { -2 } \sffamily,
+      \@@_line_spread:n { 1.2 } \zihao { -2 } \bfseries,
     originality-decl-name   / bottom-skip = 0.4 cm,
     originality-decl-text   / bottom-skip = 0.4 cm,
     originality-decl-sig    / bottom-skip = 0 pt plus 2.5 fill,
@@ -5148,8 +5239,9 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %    \begin{macrocode}
 \keys_set:nn { ctex }
   {
-%<class>    contentsname = \c_@@_name_toc_tl,
-%<class-en>    contentsname = \c_@@_name_toc_en_tl,
+%<class>    contentsname   = \c_@@_name_toc_tl,
+%<class>    listfigurename = \c_@@_name_lof_tl,
+%<class>    listtablename  = \c_@@_name_lot_tl,
 %    \end{macrocode}
 %
 % 设置目录中章节标题的样式。
@@ -5173,17 +5265,36 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
   }
 %    \end{macrocode}
 %
-% \begin{macro}{\tableofcontents}
-% 修改 \cs{tableofcontents} 的定义，使得页眉正确显示，并出现在目录中。原代码
-% 来自于 \LaTeXe{} 标准文档类 \file{book.cls}。
+% \changes{v0.7e}{2019/05/12}{增加对插图、表格目录的处理。}
+%
+% \begin{macro}{\tableofcontents,\listoffigures,\listoftables}
+% 修改 \cs{tableofcontents}、\cs{listoffigures} 和 \cs{listoftables} 的定义，
+% 使得页眉正确显示，并出现在目录及 PDF 书签中。来自于 \LaTeXe{} 标准文档类
+% \file{book.cls}
+% \footnote{原代码中只有 \cs{tableofcontents} 的 \cs{@mkboth} 出现在
+% \cs{chapter*} 内部，这是出于兼容性的考虑而非 typo。}。
 %    \begin{macrocode}
 \@@_patch_cmd:Nnn \tableofcontents
   {
     \chapter*{\contentsname
-      \@mkboth{%
-        \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
+      \@mkboth{\MakeUppercase\contentsname}
+              {\MakeUppercase\contentsname}}
   }
   { \@@_chapter_no_toc:V \contentsname }
+\@@_patch_cmd:Nnn \listoffigures
+  {
+    \chapter*{\listfigurename}
+    \@mkboth{\MakeUppercase\listfigurename}
+            {\MakeUppercase\listfigurename}
+  }
+  { \@@_chapter:V \listfigurename }
+\@@_patch_cmd:Nnn \listoftables
+  {
+    \chapter*{\listtablename}
+    \@mkboth{\MakeUppercase\listtablename}
+            {\MakeUppercase\listtablename}
+  }
+  { \@@_chapter:V \listtablename }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -5440,6 +5551,7 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 % \changes{v0.7}{2018/01/25}{统一使用 \cs{printbibliography} 命令
 %   生成参考文献列表。}
 % \changes{v0.7d}{2019/03/23}{使参考文献在目录中正常显示。}
+% \changes{v0.7e}{2020/08/30}{同步 \pkg{gbt7714} v2.0。}
 %
 % \begin{macro}{\@@_bibtex_setup:,\bibsection,\printbibliography}
 % \BibTeX{} 相关设置。
@@ -5450,13 +5562,13 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
       {
         \tl_if_eq:VnTF \l_@@_bib_gb_style_tl { numerical }
           {
-            \bibliographystyle { gbt7714-unsrt }
+            \bibliographystyle { gbt7714-numerical }
             \@@_set_cite_style_numerical:
           }
           {
             \tl_if_eq:VnT \l_@@_bib_gb_style_tl { author-year }
               {
-                \bibliographystyle { gbt7714-plain }
+                \bibliographystyle { gbt7714-author-year }
                 \@@_set_cite_style_author_year:
                 \cs_set_eq:NN \cite \citep
               }
@@ -5697,6 +5809,8 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
 %    \end{macrocode}
 % \end{variable}
 %
+% \changes{v0.7e}{2019/04/23}{处理 \pkg{hyperref} 与 \pkg{unicode-math} 的兼容性问题。}
+%
 % 在导言区末尾引入 \pkg{hyperref} 宏包。
 %    \begin{macrocode}
 \ctex_at_end_preamble:n
@@ -5708,6 +5822,8 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
     \hypersetup
       {
         bookmarksnumbered = true,
+        psdextra          = true,
+        unicode           = true,
 %    \end{macrocode}
 % 填写 PDF 元信息。
 %    \begin{macrocode}
@@ -5984,6 +6100,9 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
     { author_sign     } { 作者签名                      },
     { supervisor_sign } { 导师签名                      },
     { sign_date       } { 日期                          },
+    { toc             } { 目 \quad 录                   },
+    { lof             } { 插图目录                      },
+    { lot             } { 表格目录                      },
     { bib_en          } { Bibliography                  },
     { pdf_creator     } { LaTeX~ with~ fduthesis~ class },
     { orig_decl       } { \c_@@_name_simp_tl \\ 学位论文独创性声明   },
@@ -5995,7 +6114,6 @@ Copyright (C) 2017&ndash;2019 by Xiangdong Zeng <xdzeng96@gmail.com>.
     { abstract } { 摘 \quad 要 } { Abstract          },
     { keywords } { 关键字      } { Keywords:         },
     { clc      } { 中图分类号  } { CLC~ number:      },
-    { toc      } { 目 \quad 录 } { Contents          },
     { notation } { 符号表      } { List~ of~ Symbols }
   }
   { \@@_define_name:nnn #1 }
-- 
cgit v1.2.3

