<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% \iffalse meta-comment
%
% File: hduthesis.dtx
% -----------------------------------------------------------------------
%   Copyright (C) 2023-2025 by Mingyu Xia &lt;myhsia@outlook.com&gt;          *
%                                                                       *
%   It may be distributed and/or modified under the conditions of the   *
%   LaTeX Project Public License (LPPL), either version 1.3c of this    *
%   license or (at your option) any later version. The latest version   *
%   of this license is in the file                                      *
%                                                                       *
%       http://www.latex-project.org/lppl.txt                           *
%                                                                       *
%   This work has the LPPL maintenance status `maintained'.             *
%                                                                       *
%   The Current Maintainer of this work is Mingyu Xia.                  *
%                                                                       *
%   This work consists of the files hduthesis.dtx,                      *
%                                   hdu-graphics.dtx,                   *
%                               and hduthesis.ins,                      *
%             and the derived files hduthesis.cls,                      *
%                                   hdu-&lt;module&gt;.code.tex,              *
%                                   beamerthemehdu.sty,                 *
%                                   hdu-logo.pdf,                       *
%                                   hdu-title.pdf,                      *
%                                   hdu-badge.pdf,                      *
%                                   hdu-motto.pdf,                      *
%                                   hduthesis.pdf,                      *
%                                   hdu-graphics.pdf,                   *
%                               and README.md.                          *
% -----------------------------------------------------------------------
%
%   Any modification of this file should ensure that the copyright and
%   license information is placed in the derived files.
%
% -----------------------------------------------------------------------
%
%&lt;*internal&gt;
\iffalse
%&lt;/internal&gt;
%
%&lt;*readme&gt;
The `hduthesis` Class: LaTeX class for Hangzhou Dianzi University
=================================================================

LaTeX class for bachelor and mphil theses in Hangzhou Dianzi
University is constructed by `LaTeX-expl3`. This class provides typesets
for bachelors' and mphils' thesis in Hangzhou Dianzi University.

Modules of `hduThesiS` provide the following supports:

- `typeset`: Math and text Typeset

- `layout`: Some central layout typeset interfaces

- `bc.config`: Configuration for bachelor thesis' style

- `pg.config`: Configuration for mphil thesis' style

- `beamer`: HDU Beamer theme

- `stationery`: Creation of HDU's stationery

- `exam`: Typeset for HDU examinations' solution

- `l3doc`: Configuration for class's `l3doc` manual

Issues
------

The issue tracker for `hduthesis` is currently located
[on GitHub](https://github.com/myhsia/hduthesis/issues).

---

譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ蟄ｦ菴崎ｮｺ譁� LaTeX 讓｡譚ｿ
==============================

譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ蟄ｦ菴崎ｮｺ譁� LaTeX 讓｡譚ｿ莉･ `LaTeX-expl3` 譫�ｻｺ�梧署萓帶擯蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ蟄ｦ螢ｫ蜥檎｡募｣ｫ蟄ｦ菴崎ｮｺ譁��ｼ蠑�.

`hduThesiS` 逧�ｨ｡蝮玲署萓帑ｻ･荳区髪謖�ｼ�

- `typeset`: 謨ｰ蟄ｦ蜥梧枚譛ｬ謗堤沿

- `layout`: 蟆�擇蜥梧ｵｮ蜉ｨ鬚伜ｸ�ｱ

- `bc.config`: 蟄ｦ螢ｫ隶ｺ譁��ｼ蠑城�鄂ｮ

- `pg.config`: 遑募｣ｫ隶ｺ譁��ｼ蠑城�鄂ｮ

- `beamer`: HDU Beamer 荳ｻ鬚�

- `stationery.config`: 蟄ｦ譬｡菫｡郤ｸ逕滓�

- `exam`: HDU 隸募差隗｣譫先ｨ｡譚ｿ

- `hdu.l3doc`: 讓｡譚ｿ `l3doc` 逕ｨ謌ｷ謇句�驟咲ｽｮ

---

References
----------

&gt; \[1\]. The LaTeX3 Interfaces

&gt; \[2\]. CTeX 螳城寔

&gt; \[3\]. LaTeX for package and class authors current version

&gt; \[4\]. The LaTeX2e Sources

&gt; \[5\]. The LaTeX3 kernel: style guide for code authors

&gt; \[6\]. Package `etoolbox`, `geometry`, `tocloft`, `fancyhdr`, etc.

&gt; \[7\]. [豈穂ｸ夊ｮｾ隶｡�郁ｮｺ譁�ｼ臥噪蜀吩ｽ懆ｧ�激蜿頑�ｼ蠑剰ｦ∵ｱ�(蜷ｫ蜀吩ｽ懈ｨ｡譚ｿ)](https://jwc.hdu.edu.cn/2022/0428/c4555a153813/page.htm)

&gt; \[8\]. [譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ遐皮ｩｶ逕溷ｭｦ菴崎ｮｺ譁��ｼ蠑冗ｻ滉ｸ隕∵ｱゑｼ域擯逕ｵ遐斐�2012縲�311蜿ｷ�云(https://grs.hdu.edu.cn/2013/0507/c1730a51754/page.htm)


Copyright and License
---------------------

  Copyright (C) 2023-2025 by Mingyu Xia &lt;myhsia@outlook.com&gt;

  It may be distributed and/or modified under the conditions of the
  LaTeX Project Public License (LPPL), either version 1.3c of this
  license or (at your option) any later version. The latest version
  of this license is in the file &lt;http://www.latex-project.org/lppl.txt&gt;

  This work has the LPPL maintenance status `maintained`.

  The Current Maintainer of this work is Mingyu Xia.
%&lt;/readme&gt;
%
%&lt;*internal&gt;
\fi
%&lt;/internal&gt;
%
%&lt;*driver|package&gt;
\RequirePackage{etoolbox}
%&lt;/driver|package&gt;
%&lt;*driver&gt;
\documentclass[mode = l3doc, full]{hduthesis}
\usepackage[mono = false]{libertine}
\makeindex
\begin{document}
  \DocInput{\jobname.dtx}
\end{document}
%&lt;/driver&gt;
% \fi
%
% \title{\bfseries
%   \hologo{hduThesiS} 譁�｡｣邀ｻ\\^^A
%   譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ蟄ｦ菴崎ｮｺ譁� \hologo{LaTeX} 讓｡譚ｿ^^A
%   \thanks{^^A
%     蝨ｨ 譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ髱樊ｯ穂ｸ夂函 / 謨吝ｸ� 荳ｭ蟇ｻ謇ｾ讓｡譚ｿ逧�磁迴ｭ莠ｺ��
%     隕∵ｱら�謔� \pkg{expl3} 荳取枚蟄ｦ郛也ｨ�. 谺｢霑取怏諢乗�閠�ぐ莉ｶ閨皮ｳｻ.
%   }
% }
%
% \author{^^A
%   Mingyu Xia \mailto{myhsia@outlook.com}^^A
%   \thanks{Physics Department, Graduate in 07/2025}
% }
%
% \maketitle
%
% \begin{documentation}
%
% \begin{abstract}
%   \hologo{hduthesis} 譏ｯ譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ蟄ｦ菴崎ｮｺ譁� \hologo{LaTeX} 讓｡譚ｿ��
%   謾ｯ謖∝ｭｦ螢ｫ縲∫｡募｣ｫ蟄ｦ菴崎ｮｺ譁�賜迚茨ｼ悟酔譌ｶ謠蝉ｾ帑ｺ�ｭｦ譬｡菫｡隨ｺ縲。eamer�亥ｹｻ轣ｯ迚�ｼ我ｸ手ｯ募差隗｣譫先ｨ｡譚ｿ.
% \end{abstract}
% 
% \begin{center}
%   \small\bfseries 逕ｨ謌ｷ蜊剰ｮｮ
% \end{center}
% \begin{enumerate}[itemsep = 2em, itemsep = 0pt]\small
%   \item 譛ｬ讓｡譚ｿ騾夊ｿ� LPPL 1.3c 蜊剰ｮｮ蠑謾ｾ貅蝉ｻ｣遐�ｼ梧お蜿ｯ莉･髫乗э菴ｿ逕ｨ郛冶ｯ大�逧� PDF 譁�ｻｶ.
%   \item 譛ｬ讓｡譚ｿ譬ｹ謐ｮ譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ謨吝苅螟�｢∝書逧�
%   \href{https://jwc.hdu.edu.cn/2022/0428/c4528a153813/page.htm}
%     {譚ｭ逕ｵ逅�ｷ･邀ｻ豈穂ｸ夊ｮｺ譁��菴懆ｧ�激} 郛門�閠梧��御ｽ懆�ｸ榊ｯｹ菴ｿ逕ｨ譛ｬ讓｡譚ｿ莠ｧ逕溽噪譬ｼ蠑丞ｮ｡譟･髣ｮ鬚倩ｴ溯ｴ｣.
%     螯よ棡謔ｨ謇蝨ｨ逧�ｭｦ髯｢蝗�隶ｺ譁�衍驥阪∵噺蠖慕ｭ牙次蝗�隕∵ｱよ署莠､ \file{.docx} 譬ｼ蠑擾ｼ�
%     荳肴磁謾ｶ \file{.pdf} 隶ｺ譁�ｨｿ莉ｶ�瑚ｯｷ蜍ｿ謇ｧ諢丈ｽｿ逕ｨ譛ｬ讓｡譚ｿ�碁∩蜈榊屏譬ｼ蠑剰ｽｬ謐｢蟶ｦ譚･荳榊ｿ�ｦ∫噪鮗ｻ辜ｦ.
%   菴ｿ逕ｨ譛ｬ讓｡譚ｿ譌ｶ�瑚ｯｷ謖臥ｼ冶ｯ鷹漠隸ｯ謠千､ｺ謫堺ｽ懈擂蜍ｾ騾牙酔諢冗畑謌ｷ蜊剰ｮｮ.
%   \item 谺｢霑主燕蠕 \href{https://github.com/myhsia/hduthesis/issues}{GitHub}
%   謠蝉ｺ､蜿埼ｦ域э隗�ｼ御ｸｺ謗ｨ蜉ｨ蟄ｦ譬｡隶､隸∽ｸ手ｧ�激蛹� \hologo{hduthesis} 雍｡迪ｮ蜉幃㍼.
% \end{enumerate}
%
% \setcounter{tocdepth}{2} \tableofcontents
%
% \section{\hologo{hduthesis} 讓｡譚ｿ莉狗ｻ閤
%
% \hologo{hduthesis}��\textbf Hangzhou \textbf Dianzi \textbf University
% \hologo{LaTeX} \textbf{Thesis} Template�� 譏ｯ譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ蟄ｦ菴崎ｮｺ譁�
% \underline{髱槫ｮ俶婿} \hologo{LaTeX} 讓｡譚ｿ�御ｻ･ \hologo{LaTeX3} 譫�ｻｺ��
% 謾ｯ謖∝ｭｦ螢ｫ蜥檎｡募｣ｫ蟄ｦ菴崎ｮｺ譁�賜迚�.
%
% 譛ｬ讓｡譚ｿ譁�｡｣蟆�ｰｽ驥丞ｮ梧紛蝨ｰ莉狗ｻ肴ｨ｡譚ｿ逧�ｽｿ逕ｨ譁ｹ豕包ｼ悟ｦよ怏荳肴ｸ�･壻ｹ句､�ｼ梧�閠�Φ謠仙�謾ｹ霑帛ｻｺ隶ｮ��
% 蜿ｯ莉･蝨ｨ \href{https://github.com/myhsia/hduthesis/issues}{GitHub Issues}
% 謠蝉ｺ､蜿埼ｦ域э隗∝所雍｡迪ｮ莉｣遐�.
%
% 蟇ｹ莠取悴謗･隗ｦ霑� \hologo{LaTeX} 逧��蟄ｦ閠�ｼ梧耳闕宣�隸ｻ
% \href{https://tug.ctan.org/info/lshort/english/lshort.pdf}
%   {The Not So Short Introduction to \hologo{LaTeX2e}}
% �亥庄蝨ｨ扈育ｫｯ謇ｧ陦� |texdoc lshort| 闔ｷ蜿厄ｼ画�閠��荳ｭ譁�沿
% \href{http://mirrors.ctan.org/info/lshort/chinese/lshort-zh-cn.pdf}
%   {縲贋ｸ莉ｽ�井ｸ榊､ｪ�臥ｮ遏ｭ逧� \hologo{LaTeX2e} 莉狗ｻ阪急
% �亥庄蝨ｨ扈育ｫｯ謇ｧ陦� |texdoc lshort-zh-cn| 闔ｷ蜿厄ｼ�.
%
% \subsection{讓｡譚ｿ扈��}
%
% \hologo{hduthesis} 讓｡譚ｿ逧� \file{./tex/} 譁�ｻｶ螟ｹ荳ｭ蛹�性莠�ｨ｡譚ｿ逧�園譛� Runtime 譁�ｻｶ.
% 蜈ｶ荳ｭ�圭file{hduthesis.cls} 譏ｯ讓｡譚ｿ逧��ｸ蠢�枚莉ｶ�悟ｮ櫁ｴｨ荳雁ｹｶ荳肴署萓帑ｸｻ隕∝粥閭ｽ��
% 蜿ｪ逕ｨ莠主ｯｹ蜈ｨ螻騾蛾｡ｹ逧�而蛻ｶ蜉�霓ｽ讓｡譚ｿ逧�推荳ｪ讓｡蝮�. 讓｡譚ｿ逧�粥閭ｽ讓｡蝮怜ｦゆｸ�
%
% \begin{tasks}(2)
%   \task \file{typeset}�壼ｭ嶺ｽ灘柱蜈ｬ蠑剰ｮｾ鄂ｮ.
%   \task \file{layout}�夂沿髱｢譬ｸ蠢�賜迚域磁蜿｣.
%   \task \file{pg.config}�夂｡募｣ｫ蟄ｦ菴崎ｮｺ譁��鄂ｮ讓｡蝮�.
%   \task \file{bc.config}�壽悽遘大ｭｦ菴崎ｮｺ譁��鄂ｮ讓｡蝮�.
%   \task \file{beamerthemehdu}�咤eamer 荳ｻ鬚�.
%   \task \file{stationery}�壻ｿ｡郤ｸ讓｡蝮�.
%   \task \file{exam}�唏DU 隸募差隗｣譫先ｨ｡譚ｿ.
%   \task \file{l3doc}�夂畑謌ｷ謇句�讓｡蝮�.
% \end{tasks}
%
% 莉･荳頑ｨ｡蝮怜桁蜷ｫ蝨ｨ \file{hdu-}\meta{module name}\file{.code.tex} 譁�ｻｶ荳ｭ.
% 蜷梧慮�圭file{./tex/} 譁�ｻｶ螟ｹ荳ｭ霑伜桁蜷ｫ莠� \file{hdu-logo.pdf}縲―file{hdu-title.pdf}縲�
% \file{hdu-motto.pdf}縲―file{hdu-badge.pdf}�悟�蛻ｫ謠蝉ｾ帶擯蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ譬｡蠕ｽ縲∵�｡蜷阪�
% 譬｡隶ｭ蜥梧�｡迚檎噪遏｢驥丞崟.
% \footnote{螯よ棡菴�騾夊ｿ� |tlmgr| 螳芽｣�ｺ�ｭ､讓｡譚ｿ�悟惠蜈ｶ莉匁枚譯｣邀ｻ荳ｭ荵溷庄莉･隹�畑霑吩ｺ帷ｴ�譚�.}
%
% 讓｡譚ｿ鬚�刈霓ｽ逧�ｮ丞桁譛�
%
% \begin{table}[htbp]
%   \centering \renewcommand* \arraystretch {.72}
%   \begin{tabular*}{\linewidth}
%     {*9{@{\hspace{1ex}}&gt;{\footnotesize}l@{\hspace{1ex}}}}
%     \toprule
%     \pkg{amssymb}    &amp; \pkg{bm}         &amp; \pkg{booktabs}  &amp;
%     \pkg{cancel}     &amp; \pkg{circuitikz} &amp; \pkg{cleveref}  &amp;
%     \pkg{derivative} &amp; \pkg{extarrows}  &amp; \pkg{fixdif}    \\
%     \midrule
%     \pkg{hyperref}   &amp; \pkg{listings}   &amp; \pkg{mathtools} &amp;
%     \pkg{multicol}   &amp; \pkg{pgfplots}   &amp; \pkg{physics2}  &amp;
%     \pkg{siunitx}    &amp;
%     \multicolumn{2}{@{}&gt;{\footnotesize}l}{\pkg{unicode-math}}\\
%     \bottomrule
%   \end{tabular*}
% \end{table}
%
% \subsection{譁�ｻｶ扈捺桷}
%
% \noindent \begin{minipage}[t]{.54\linewidth}
% \subsubsection{貅先枚莉ｶ \&amp; 菴ｿ逕ｨ逕ｨ萓急
% \dirtree
%   {^^A
%     .1 ./hduthesis.tar.gz/.
%     .2 hduthesis.dtx, *.pdf.
%     .2 hdu-graphics.dtx, *.pdf.
%     .2 hduthesis.ins.
%     .2 example/.
%     .3 hduthesis-bachelor.tex, *.pdf.
%     .3 hduthesis-mphil.tex, *.pdf.
%     .3 reference.bib.
%     .3 cha/.
%     .3 figures/.
%     .2 README.md.
%   }
% \end{minipage} \hspace*{\fill}
% \begin{minipage}[t]{.42\linewidth}
% \subsubsection{Runtime 譁�ｻｶ} \label{1.2.2}
% \dirtree
%   {^^A
%     .1 ./hduthesis.tar.gz/.
%     .2 hduthesis.dtx/.
%     .3 hduthesis.cls.
%     .3 hdu-&lt;module&gt;.code.tex.
%     .3 beamerthemehdu.sty.
%     .3 README.md.
%     .2 hdu-graphics.dtx/.
%     .3 hdu-logo.pdf.
%     .3 hdu-title.pdf.
%     .3 hdu-badge.pdf.
%     .3 hdu-motto.pdf.
%   }
% \end{minipage}
%
% \subsection{讓｡譚ｿ逧�ｦ･蜊丈ｸ主Ψ謖±
%
% \begin{enumerate}
%   \item 讓｡譚ｿ逧�ｫ�闃ゑｼ�\cs[no-index]{chapter}縲―cs[no-index]{section}縲�
%   \cs[no-index]{subsection}�牙ｭ嶺ｽ薙∝燕蜷朱龍霍晏ｮ悟�謖臥�
%   譚ｭ逕ｵ逅�ｷ･邀ｻ豈穂ｸ夊ｮｺ譁��菴懆ｧ�激 霑幄｡瑚ｮｾ鄂ｮ�瑚區辟ｶ霑呎�ｷ逧�ｮｾ鄂ｮ蜿ｯ閭ｽ荳取お逧�ｮ｡鄒惹ｸ咲ｬｦ��
%   菴�弍霑呎弍荳ｺ莠�ｿ晁ｯ∬ｮｺ譁�噪譬ｼ蠑冗ｬｦ蜷亥ｭｦ譬｡逧�ｦ∵ｱ�.
%   \item 譚ｭ逕ｵ逅�ｷ･邀ｻ豈穂ｸ夊ｮｺ譁��菴懆ｧ�激荳ｭ隕∵ｱ�
%   蜿り�枚迪ｮ荵ｦ蜀呎�ｼ蠑丞ｺ皮ｬｦ蜷�GB7714-1987�御ｽ�岼蜑�
%   GB7714-2015 荳ｺ蟄ｦ譛ｯ逡碁夂畑譬ｼ蠑擾ｼ悟惠蟾ｲ譛画眠譬�㊥諠��荳区立譬�㊥逅�ｺ泌ｺ滓ｭ｢菴ｿ逕ｨ.
%   謇莉･譛ｬ讓｡譚ｿ鮟倩ｮ､菴ｿ逕ｨ \pkg{gbt7714} 螳丞桁.
% \end{enumerate}
%
% \section{讓｡譚ｿ螳芽｣�}
%
% \subsection{邉ｻ扈溯ｦ∵ｱ�}
%
% 譛ｬ讓｡譚ｿ謾ｯ謖∝惠 |macOS|縲－Windows|縲－Linux|縲－Overleaf|縲－LoongTeX|縲－TeXPage|
% 遲牙ｹｳ蜿ｰ菴ｿ逕ｨ�悟�螳ｹ蜿題｡檎沿 \hologo{TeX} Live 2023 蜿頑峩譁ｰ迚域悽^^A
% \footnote{
%   譛ｬ讓｡譚ｿ蝮�庄蝨ｨ |macOS Sequoia Version 15.4| /
%   |Ubuntu 24.04.1 LTS| / |Overleaf| /
%   |LoongTeX| / |TeXPage|
%   荳顔噪 \hologo{TeX} Live 2024 荳ｭ鬘ｺ蛻ｩ郛冶ｯ�.
%   \hologo{MiKTeX} 蜿題｡檎沿莉･蜿� Windows 蟷ｳ蜿ｰ譛ｪ菴懈ｵ玖ｯ�. 螯ょ惠霑吩ｺ帛ｹｳ蜿ｰ郛冶ｯ第裏豕暮夊ｿ�ｼ�
%   蟒ｺ隶ｮ霓ｬ蜷大惠郤ｿ蟷ｳ蜿ｰ�梧悽讓｡譚ｿ蝨ｨ隸ｸ螟壼惠郤ｿ蟷ｳ蜿ｰ郛冶ｯ第ｧ閭ｽ濶ｯ螂ｽ.
% }.
% 譛ｬ讓｡譚ｿ逕滓�蟄ｦ菴崎ｮｺ譁�慮謾ｯ謖� \hologo{XeLaTeX}縲―hologo{ApTeX} 荳� \hologo{LuaLaTeX}
% 郛冶ｯ托ｼ帑ｽｿ逕ｨ譛ｬ讓｡譚ｿ逕滓�菫｡郤ｸ縲∬ｯ暮｢倩ｧ｣譫先慮謾ｯ謖∵園譛臥ｼ冶ｯ第婿蠑�.
%
% \subsection{譬�㊥螳芽｣�}
%
% 蠑ｺ辜亥ｻｺ隶ｮ謔ｨ菴ｿ逕ｨ |tlmgr| 霑幄｡悟ｮ芽｣�ｸ主合郤ｧ. 蝨ｨ扈育ｫｯ��Terminal��
% 謇ｧ陦御ｻ･荳句多莉､蜊ｳ蜿ｯ螳芽｣�怙譁ｰ迚域悽逧� \hologo{hduthesis} 讓｡譚ｿ.
% \begin{quote}
%   "sudo tlmgr install hduthesis"
% \end{quote}
%
% Windows 邉ｻ扈溽畑謌ｷ譌�髴 |sudo|�瑚ｯｷ莉･邂｡逅�遭霄ｫ莉ｽ霑占｡悟多莉､謠千､ｺ隨ｦ.
% 譛我ｺ帶慮蛟呻ｼ梧お髴隕∵焔蜉ｨ譖ｴ譁ｰ |tlmgr| 謇崎�豁｣蟶ｸ菴ｿ逕ｨ |tlmgr| 蜻ｽ莉､螳芽｣�ｮ丞桁.
% \begin{quote}
%   "sudo tlmgr update --self"
% \end{quote}
%
% 蜊�ｺｧ隸･讓｡譚ｿ�悟惠扈育ｫｯ��Terminal�画鴬陦御ｻ･荳句多莉､蜊ｳ蜿ｯ
% \begin{quote}
%   "sudo tlmgr update hduthesis"
% \end{quote}
% 蜿題｡檎沿 \hologo{TeX} Live 2025 莉･蜿頑峩譁ｰ迚域悽蟾ｲ閾ｪ蟶ｦ譛ｬ讓｡譚ｿ�梧裏髴螳芽｣�. 蜿ｪ髴蝨ｨ蠢�ｦ∵慮蜊�ｺｧ蜊ｳ蜿ｯ.
%
% \subsection{謇句勘螳芽｣�}
%
% 譛ｬ讓｡譚ｿ驥�畑 \pkg{l3build} 閼壽悽霑幄｡梧遠蛹�. 逕ｨ謌ｷ蜿ｯ蝨ｨ
% \href{https://ctan.org/pkg/hduthesis}{CTAN}縲�
% \href{https://github.com/myhsia/hduthesis/}{GitHub} 蜥�
% \href{https://gitee.com/myhsia/hduthesis}{Gitee} 蟷ｳ蜿ｰ
% Clone 鬘ｹ逶ｮ\footnote{CTAN 蟷ｳ蜿ｰ蟷ｶ譛ｪ謠蝉ｾ� \file{build.lua} 閼壽悽}.
% 隗｣蜴句錘蝨ｨ蠖灘燕逶ｮ蠖戊ｿ占｡�
% \begin{quote}
%   "l3build ctan"\\
%   "l3build install"
% \end{quote}
% 莨夂函謌仙ｦ� \ref{1.2.2} 謇遉ｺ逧� Runtime 譁�ｻｶ�悟ｹｶ蟆�ｨ｡譚ｿ螳芽｣��譛ｬ蝨ｰ.
%
% \section{蜈ｨ螻騾蛾｡ｹ}
%
% \subsection{逕ｨ謌ｷ蜊剰ｮｮ}
%
% 菴ｿ逕ｨ譛ｬ讓｡譚ｿ郛冶ｯ第悽遘代∫｡募｣ｫ蟄ｦ菴崎ｮｺ譁�慮驕�芦``郛冶ｯ大女髦ｻ''謚･髞呻ｼ瑚ｯｷ隶､逵滄�隸ｻ蟆�擇逧�畑謌ｷ蜊剰ｮｮ.
% 豺ｻ蜉�騾蛾｡ｹ |agreed| 蜷趣ｼ亥叉|\documentclass [ agreed ] { hduthesis }|�会ｼ�
% 譁ｹ蜿ｯ鬘ｺ蛻ｩ郛冶ｯ托ｼ悟ｹｶ鮟倩ｮ､謔ｨ蟾ｲ蜷梧э逕ｨ謌ｷ蜊剰ｮｮ.
%
% 菴ｿ逕ｨ \hologo{hduthesis} 郛冶ｯ台ｿ｡郤ｸ縲∬ｯ暮｢倩ｧ｣譫舌。eamer 蜥梧悽逕ｨ謌ｷ謇句�譌ｶ�梧裏髴 |agreed| 騾蛾｡ｹ.
%
% \subsection{蟄嶺ｽ楢ｮｾ鄂ｮ}
%
% 逕ｨ謌ｷ蜿ｯ騾夊ｿ��螻騾蛾｡ｹ隶ｾ鄂ｮ譁�｡｣逧�焚蟄ｦ蜥御ｸｭ譁�ｭ嶺ｽ�. 隶ｾ鄂ｮ逧�婿蠑丈ｸｺ髞ｮ蛟ｼ蟇ｹ.
% \begin{keyval}
%   \item [\key{math-font}]    \val{font family name} 逕ｨ莠手ｮｾ鄂ｮ謨ｰ蟄ｦ蟄嶺ｽ�.
%   \item [\key{CJKmain-font}] \val{xeCJK interface}  逕ｨ莠手ｮｾ鄂ｮ鄂鈴ｩｬ譌冗噪 CJK 蟄嶺ｽ�.
%   \item [\key{CJKsans-font}] \val{xeCJK interface}  逕ｨ莠手ｮｾ鄂ｮ譌�陦ｬ郤ｿ譌冗噪 CJK 蟄嶺ｽ�.
%   \item [\key{CJKmono-font}] \val{xeCJK interface}  逕ｨ莠手ｮｾ鄂ｮ遲牙ｮｽ譌冗噪 CJK 蟄嶺ｽ�.
% \end{keyval}
% \begin{verbatim}
%   \documentclass
%     [
%       math-font    = STIX Two Math, agreed,
%       CJKmain-font = {{Songti SC}[AutoFakeBold = 2.5, AutoFakeSlant]},
%       CJKsans-font = {{STHeiti}[AutoFakeBold = 2]}
%     ] {hduthesis}
% \end{verbatim}
% 譖ｴ蜉�隸ｦ扈�噪蟄嶺ｽ楢ｮｾ鄂ｮ隸ｷ蜿り� \pkg{xeCJK} 螳丞桁逧�枚譯｣.
%
% \section{譁�｡｣菫｡諱ｯ隶ｾ鄂ｮ}
%
% \begin{function}{\hduset}
%   \begin{syntax}
%     \cs{DocInfo}\marg{key values}
%   \end{syntax}
%   豁､蜻ｽ莉､謗･謾ｶ髞ｮ蛟ｼ�檎畑莠手ｮｾ鄂ｮ譁�｡｣菫｡諱ｯ�碁怙蝨ｨ蟇ｼ險蛹ｺ荳ｭ謇ｧ陦�.
%   \begin{keyval}
%     \item [\key{title}] \val{list} 逕ｨ莠手ｮｾ鄂ｮ隶ｺ譁�｢倡岼荳主ｰ�擇螟ｧ譬�｢�.
%     \item [\key{department}] \val{string} 逕ｨ莠手ｮｾ鄂ｮ蟄ｦ髯｢.
%     \item [\key{major}] \val{string} 逕ｨ莠手ｮｾ鄂ｮ荳謎ｸ�.
%     \item [\key{class}] \val{string} 逕ｨ莠手ｮｾ鄂ｮ迴ｭ郤ｧ.
%     \item [\key{stdntid}] \val{string} 逕ｨ莠手ｮｾ鄂ｮ蟄ｦ蜿ｷ��
%     莨壽�ｹ謐ｮ霎灘�逧�ｭｦ蜿ｷ閾ｪ蜉ｨ騾画叫譛ｬ遘醍函/遐皮ｩｶ逕滓�ｼ蠑�.
%     \item [\key{author}] \val{string} 逕ｨ莠手ｮｾ鄂ｮ菴懆�.
%     \item [\key{supervisor}] \val{list} 逕ｨ莠手ｮｾ鄂ｮ蟇ｼ蟶�.
%     \item [\key{bibsource}] \val{string} 逕ｨ莠手ｮｾ鄂ｮ謠貞�蜿り�枚迪ｮ譁�ｻｶ貅�.
%   \end{keyval}
% \end{function}
%
% 譛ｬ遘醍函霎灘�譬ｷ萓句ｦゆｸ�. 閠�剔蛻ｰ荳榊酔蟄ｦ髯｢蟇ｹ蟆�擇譬ｷ蠑冗噪隕∵ｱゆｸ榊酔 |豈穂ｸ夊ｮｺ譁�|縲－豈穂ｸ夊ｮｾ隶｡|縲�
% |豈穂ｸ夊ｮｺ譁�ｼ郁ｮｾ隶｡�榎�圭key*{title} 謠蝉ｾ帑ｺ�磁蜿｣萓幄ｮｾ鄂ｮ蟆�擇螟ｧ譬�｢假ｼ�
% 隶ｺ譁�｢倡岼蜥悟､ｧ譬�｢倅ｹ矩龍逕ｨ譁懃ｺｿ (|/|) 蛻�囈. 謖�ｯｼ謨吝ｸ郁′遘ｰ蜥悟ｧ灘錐荵矩龍逕ｨ蜊願ｧ貞�蜿ｷ (|:|) 蛻�囈.
% \begin{verbatim}
%   \hduset
%     {
%       title  = 譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ蟄ｦ菴崎ｮｺ譁� \hologo{LaTeX} 讓｡譚ｿ/
%                譛ｬ遘第ｯ穂ｸ夊ｮｾ隶｡,  department = 逅�ｭｦ髯｢,
%       major  = 迚ｩ逅�ｭｦ,        stdntid    = C668668E,
%       author = 逕ｳ譎ｺ閭ｽ,        bibsource  = reference,
%       class  = 闍ｱ謇咲少,        supervisor = 謨呎肢:闡芽換譎ｴ, 
%     }
% \end{verbatim}
%
% 遐皮ｩｶ逕溯ｾ灘�譬ｷ萓句ｦゆｸ�. 遑募｣ｫ蟄ｦ菴崎ｮｺ譁�演鬘ｵ髴蜷梧慮譛芽恭譁�沿�悟屏豁､髴隕∝惠髞ｮ
% \key*{title} \key*{author} \key*{supervisor} 荳ｭ蛻�悪霎灘�荳ｭ譁�柱闍ｱ譁�ｿ｡諱ｯ��
% 荳ｭ闍ｱ菫｡諱ｯ菴ｿ逕ｨ譁懃ｺｿ (|/|) 蛻�囈�梧欠蟇ｼ謨吝ｸ郁′遘ｰ蜥悟ｧ灘錐荵矩龍逕ｨ蜊願ｧ貞�蜿ｷ (|:|) 蛻�囈.
%
% \begin{verbatim}
%   \hduset
%     {
%       title      = 譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ蟄ｦ菴崎ｮｺ譁� \hologo{LaTeX} 讓｡譚ｿ/
%                    \hologo{LaTeX} Template for Thesis at
%                    Hangzhou Dianzi University,
%       major      = 迚ｩ逅�ｭｦ,             stdntid    = 216686680,
%       author     = 逕ｳ譎ｺ閭ｽ/SAN Chi Nan, bibsource  = reference
%       supervisor = 謨呎肢:闡芽換譎ｴ/Prof.:YIP Tsz Ching,
%     }
% \end{verbatim}
%
% \subsection{逕滓�蟆�擇 \&amp; 謇蛾｡ｵ}
%
% \begin{function}{\maketitle}
%   蝨ｨ豁｣譁�玄蝓滂ｼ御ｽｿ逕ｨ蜻ｽ莉､ \cs{maketitle} 蜊ｳ蜿ｯ逕滓�隶ｺ譁�ｰ�擇蜥梧演鬘ｵ.
%   逕滓�逧�ｰ�擇蜥梧演鬘ｵ莨壽�ｹ謐ｮ謇隶ｾ鄂ｮ逧�枚譯｣菫｡諱ｯ閾ｪ蜉ｨ逕滓�.
% \end{function}
%
% \DescribeMacro{\l__hduthesis_grade_int}
% 蟆�擇荳顔噪隶ｺ譁�ｮ梧�譌･譛溷柱蟄ｦ逕滓ｯ穂ｸ壼ｹｴ莉ｽ莨壽�ｹ謐ｮ蠖灘燕邉ｻ扈滓慮髣ｴ閾ｪ蜉ｨ逕滓�.
% 髓亥ｯｹ譛ｬ遘題ｮｺ譁�ｼ悟ｦよ棡蠖灘燕譛井ｻｽ蝨ｨ8譛亥所莉･蜑搾ｼ梧ｯ穂ｸ壼ｹｴ莉ｽ莨壽仞遉ｺ莉雁ｹｴ��
% 螯よ棡蠖灘燕譛井ｻｽ蝨ｨ9譛亥所莉･蜷趣ｼ梧ｯ穂ｸ壼ｹｴ莉ｽ莨壽仞遉ｺ谺｡蟷ｴ.
% 蝨ｨ \cs{DocInfo} 蜷主ｯｹ謨ｴ蝙� \cs{l__hduthesis_grade_int} 驥肴眠襍句ｼ蜿ｯ謇句勘譖ｴ謾ｹ豈穂ｸ壼ｹｴ莉ｽ.
%
% \begin{quote}
%   "\ExplSyntaxOn"\\
%   "\int_set:Nn \l__hduthesis_grade_int" \marg{Year}\\
%   "\ExplSyntaxOff"
% \end{quote}
%
% \subsection{逕滓�謇ｿ隸ｺ荵ｦ}
%
% \begin{function}{\commitment}
%   \begin{syntax}
%     \cs{commitment} \oarg{file-date combined comma list}
%   \end{syntax}
%
%   豁､蜻ｽ莉､逕ｨ莠守函謌先価隸ｺ荵ｦ. 蜻ｽ莉､逧�庄騾牙盾謨ｰ謗･謾ｶ謨ｰ扈�ｼ檎畑莠取欠螳夂ｭｾ蜷肴枚莉ｶ蜥瑚ｾ灘�遲ｾ蜷咲噪譌･譛�.
%   遲ｾ蜷肴枚莉ｶ蜥檎ｭｾ蜷咲噪譌･譛滉ｹ矩龍逕ｨ |/| 蛻�囈�悟､夂ｻ�ｭｾ蜷堺ｹ矩龍逕ｨ |,| 蛻�囈.
%   遲ｾ蜷肴枚莉ｶ謗･謾ｶ \file{.pdf} / \file{.png} / \file{.jpg} 遲画�ｼ蠑�.
%   譌･譛溽噪霎灘�譬ｼ蠑丈ｸｺ |yyyy-mm-dd|.
% \end{function}
%
% 蟇ｹ莠取悽遘醍函�悟宵髴隕∫ｭｾ鄂ｲ ``隸壻ｿ｡謇ｿ隸ｺ'' 荳扈�ｭｾ蜷搾ｼ�
% 蟇ｹ莠守�皮ｩｶ逕滂ｼ悟�髴隕∫ｭｾ鄂ｲ ``蜴溷�諤ｧ螢ｰ譏�''縲�
% ``�井ｽ懆�酔諢擾ｼ牙ｭｦ菴崎ｮｺ譁�ｽｿ逕ｨ謗域揀螢ｰ譏�'' 蜥�
% ``�亥ｯｼ蟶亥酔諢擾ｼ牙ｭｦ菴崎ｮｺ譁�ｽｿ逕ｨ謗域揀螢ｰ譏�'' 荳臥ｻ�ｭｾ蜷�. 菴ｿ逕ｨ逕ｨ萓句ｦゆｸ�
%
% \begin{verbatim}
%   \begin{document} ... \maketitle
%   \commitment
%     [ example-image-a/2025-05-31, example-image-a/2025-05-31,
%       example-image-b/2025-06-01 ]
%     ... \end{document}
% \end{verbatim}
%
% 螯よ棡菴ｿ逕ｨ閠�嘯譛ｪ逕滓�遲ｾ蜷堺ｽ�弍髴隕∵ｷｻ蜉�譌･譛滂ｼ悟�蟆�ｭｾ蜷肴枚莉ｶ逡咏ｩｺ蜊ｳ蜿ｯ�御ｽ��髫皮ｬｦ |/| 莉埼怙菫晉蕗. 萓句ｦ� 
% \verb|\commitment [ /2024-05-31 ]|. 螯よ棡荳埼怙隕∵ｷｻ蜉�譌･譛滂ｼ悟�逶ｴ謗･逡咏ｩｺ蜊ｳ蜿ｯ.
%
% 隶ｺ譁�ｰ�擇縲∵演鬘ｵ蜥梧価隸ｺ荵ｦ螯ゆｸ句崟.
% 蜿ｯ蝨ｨ扈育ｫｯ謇ｧ陦� |texdoc hduthesis-bachelor| 蜥� |texdoc hduthesis-mphil|
% 蛻�悪闔ｷ蜿匁悽遘大柱遑募｣ｫ蟄ｦ菴崎ｮｺ譁��ｷ萓区枚莉ｶ.
%
% \begin{center}
%   \begin{minipage}{.32\linewidth}
%     \centering
%     \fbox{^^A
%       \includegraphics[width = .94\linewidth, page = 1]
%         {hduthesis-bachelor.pdf}^^A
%     }
%   \end{minipage} \hspace*{\fill}
%   \begin{minipage}{.32\linewidth}
%     \centering
%     \fbox{^^A
%       \includegraphics[width = .94\linewidth, page = 2]
%         {hduthesis-bachelor.pdf}^^A
%     }
%   \end{minipage} \hspace*{\fill}
%   \begin{minipage}{.32\linewidth}
%     \centering
%     \fbox{^^A
%       \includegraphics[width = .94\linewidth, page = 1]
%         {hduthesis-mphil.pdf}^^A
%     }
%   \end{minipage}\\
%   \begin{minipage}{.32\linewidth}
%     \centering
%     \fbox{^^A
%       \includegraphics[width = .94\linewidth, page = 2]
%         {hduthesis-mphil.pdf}^^A
%     }
%   \end{minipage} \hspace*{\fill}
%   \begin{minipage}{.32\linewidth}
%     \centering
%     \fbox{^^A
%       \includegraphics[width = .94\linewidth, page = 3]
%         {hduthesis-mphil.pdf}^^A
%     }
%   \end{minipage} \hspace*{\fill}
%   \begin{minipage}{.32\linewidth}
%     \centering
%     \fbox{^^A
%       \includegraphics[width = .94\linewidth, page = 4]
%         {hduthesis-mphil.pdf}^^A
%     }
%   \end{minipage}
% \end{center}
%
% \section{遶�闃りｮｾ鄂ｮ}
%
% \subsection{霎灘�荳ｭ / 闍ｱ鞫倩ｦ±
%
% \DescribeEnv{abstract}
% 邇ｯ蠅� \env{abstract} 逕ｨ莠守函謌先遭隕�ｼ悟�蜿ｯ騾牙盾謨ｰ蜿ｯ隶ｾ鄂ｮ隸ｭ險譬ｼ蠑�.
%
% \begin{function}{\keywords}
%   蜻ｽ莉､ \cs{keywords} 髴蝨ｨ \env{abstract} 邇ｯ蠅��謇ｧ陦鯉ｼ�
%   蜈ｶ莨壽�ｹ謐ｮ \env{abstract} 邇ｯ蠅�園騾画叫逧�ｯｭ險�瑚�蜉ｨ逕滓�闍ｱ譁� / 荳ｭ譁��ｼ蠑冗噪蜈ｳ髞ｮ隸�.
%   \begin{quote}
%     |\begin{abstract}|\oarg{language}\\
%     |  ...  |\\
%     |  |\cs{keywords}\marg{keywords list}\\
%     |\end{abstract}|
%   \end{quote}
%   騾夊ｿ�多莉､ \cs{keywords} 莉･蜊願ｧ帝怜捷 (,) 荳ｺ蛻�囈霎灘�蜈ｳ髞ｮ隸榊�陦ｨ��
%   霎灘�譌ｶ莨壽�ｹ謐ｮ謇螟� \env{abstract} 邇ｯ蠅�画叫逧�ｯｭ險荳榊酔�瑚�蜉ｨ莉･蜊� / 蜈ｨ隗貞�蜿ｷ蛻�囈.
% \end{function}
%
% \subsection{霎灘�逶ｮ蠖� \&amp; 豁｣譁�}
%
% 騾夊ｿ�多莉､ \cs{tableofcontents} 蜿ｯ逕滓�逶ｮ蠖�. \cs{chapter}縲―cs{section}縲�
% \cs{subsection} 遲臥ｫ�闃らｺｧ谺｡蝮�潔辣ｧ
% \href{https://jwc.hdu.edu.cn/2022/0428/c4528a153813/page.htm}
%   {譚ｭ逕ｵ逅�ｷ･邀ｻ豈穂ｸ夊ｮｺ譁��菴懆ｧ�激} 螳壼宛.
%
% \subsection{蜿り�枚迪ｮ \&amp; 髯�ｽ扶
%
% 騾夊ｿ�多莉､ \cs{DocInfo} 謖�ｮ� \file{.bib} 譁�ｻｶ蜷惹ｽｿ逕ｨ蜻ｽ莉､ \cs{printbiblography}
% 蜊ｳ蜿ｯ霎灘�蜿り�枚迪ｮ蛻苓｡ｨ. 蜿り�枚迪ｮ譬ｼ蠑丞ｷｲ隶ｾ鄂ｮ荳ｺ |gb7714-2015|.
% 闍･譛ｪ謖�ｮ壼盾閠�枚迪ｮ \file{.bib} 譁�ｻｶ�御ｸｺ蜉�騾溽ｼ冶ｯ托ｼ圭pkg{gbt7714} 螳丞桁蟆�ｸ堺ｼ壼刈霓ｽ.
%
% 蜿ｯ莉･逶ｴ謗･菴ｿ逕ｨ蟶ｦ譛画弌蜿ｷ逧�ｫ�闃ょ多莉､逕滓�髯�ｽ慕ｫ�闃ゑｼ悟ｦ� \verb|\chapter*{髯�ｽ扶|.
%
% \clearpage
%
% \section{髯�刈讓｡蝮抑
%
% \subsection{逕ｨ謌ｷ謇句�}
%
% 譛ｬ謇句�荳ｺ \cls{hduthesis} 蜉�霓ｽ \pkg{l3doc} 讓｡蝮怜錘逕滓��梧ｭ､讓｡蝮玲裏髴 \pkg{agreed} 騾蛾｡ｹ.
% \begin{quote}
%   |\documentclass [ mode = l3doc ] { hduthesis }|
% \end{quote}
% \subsection{譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ菫｡隨ｺ}
%
% 蜉�霓ｽ讓｡蝮� \pkg{stationery}�悟ｹｶ霑幄｡梧枚譯｣菫｡諱ｯ隶ｾ鄂ｮ�悟叉蜿ｯ逕滓�菫｡郤ｸ.
% 蜿ｯ逕ｨ莠取耳闕蝉ｿ｡謦ｰ蜀呎�逕滓�隨碑ｮｰ郤ｸ. 豁､讓｡蝮玲裏髴 \pkg{agreed} 騾蛾｡ｹ.
% \begin{quote}
%   |\documentclass [ mode = stationery ] { hduthesis }|
% \end{quote}
% 荳主ｭｦ螢ｫ / 遑募｣ｫ蟄ｦ菴崎ｮｺ譁�枚譯｣菫｡諱ｯ隶ｾ鄂ｮ邀ｻ莨ｼ�御ｽｿ逕ｨ \cs{DocInfo} 蜻ｽ莉､��
% 蟇ｹ菫｡莉ｶ荳ｻ鬚倥∝書莉ｶ莠ｺ縲�ぐ邂ｱ縲∵律譛溷柱豌ｴ蜊ｰ霑幄｡瑚ｮｾ鄂ｮ. 豁､譌ｶ \cs{DocInfo} 蜻ｽ莉､謗･蜿鈴醗
% \key*{title} \key*{author} \key*{mail}
% \key*{date} \key*{watermark}. 荳矩｡ｵ荳ｺ逕滓�菫｡郤ｸ逧��ｷ萓�.
%
% \begin{verbatim}
%   \hduset
%     {
%       title      = Recommendation Letter for SAN Chi Nan,
%       author     = YIP Tsz Ching, mail = email@server.domain,
%       date       = {23\textsuperscript{th} December, 2024},
%       watermark  = true
%     }
%   \begin{document} \maketitle ... \end{document}
% \end{verbatim}
%
% \begin{function}{\notelines}
%   \begin{syntax}
%     \cs{notelines} \oarg{num}
%   \end{syntax}
%   逕ｨ莠主惠菫｡郤ｸ荳頑ｷｻ蜉�隨碑ｮｰ郤ｿ�悟�蜿ｯ騾牙盾謨ｰ謗･謾ｶ隨碑ｮｰ郤ｿ逧�焚驥擾ｼ碁ｻ倩ｮ､蛟ｼ荳ｺ20.
%   荳矩｡ｵ荳ｺ逕滓�逧�ｿ｡郤ｸ蜥檎ｬ碑ｮｰ郤ｸ譬ｷ萓具ｼ悟庄蝨ｨ扈育ｫｯ謇ｧ陦� |texdoc hduthesis-stationery|
%   闔ｷ蜿匁ｭ､譬ｷ萓区枚莉ｶ.
% \end{function}
%
% \includepdf [ pages = -, nup = 1x2, angle = -90, frame,
%               linktodoc, scale = 0.96, delta = 0in .25in
%             ] {hduthesis-stationery}
%
% \subsection{Beamer 荳ｻ鬚�}
%
% 譛ｬ讓｡譚ｿ荳ｭ蟄伜惠迢ｬ遶狗噪 Beamer 荳ｻ鬚� |hdu|�檎畑莠守函謌先擯蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ鬟取�ｼ逧� Beamer 蟷ｻ轣ｯ迚�.
% 隸･荳ｻ鬚倡岼蜑肴嘯荳榊ｼ謾ｾ譖ｴ謾ｹ荳ｻ鬚倩牡譚ｭ逕ｵ闢晏柱 Logo.
%
% 蜉�霓ｽ讓｡蝮� \pkg{beamer} 蜷主庄騾夊ｿ� \cs{hduset} 謗･蜿｣隶ｾ鄂ｮ譁�｡｣菫｡諱ｯ.
% 豁､讓｡蝮玲裏髴 \pkg{agreed} 騾蛾｡ｹ.
% \begin{quote}
%   "\documentclass [ mode = beamer ] { hduthesis }"
% \end{quote}
% 荳主ｭｦ螢ｫ / 遑募｣ｫ蟄ｦ菴崎ｮｺ譁�枚譯｣菫｡諱ｯ隶ｾ鄂ｮ邀ｻ莨ｼ�御ｽｿ逕ｨ \cs{DocInfo} 蜻ｽ莉､��
% 蟇ｹ菫｡莉ｶ荳ｻ鬚倥∝書莉ｶ莠ｺ縲�ぐ邂ｱ縲∵律譛溷柱豌ｴ蜊ｰ霑幄｡瑚ｮｾ鄂ｮ. 豁､譌ｶ \cs{DocInfo} 蜻ｽ莉､謗･蜿鈴醗
% \key*{title} \key*{subtitle} \key*{author} \key*{date} \key*{supervisor}
% \key*{reference}. 荳矩｡ｵ荳ｺ逕滓�Beamer逧��ｷ萓�.
% \begin{verbatim}
%   \hduset
%     {
%       title      = Beamer Theme for Hangzhou Dianzi University
%                    Based on \LaTeX3,
%       subtitle   = hdu Undergraduate Thesis Proposal,
%       author     = SAN Chi Nan (C668668E0),
%       date       = {\today{} / Building 6, Room 321},
%       supervisor = Prof. YIP Tsz Ching,
%       bibsource  = reference.bib,
%     }
% \end{verbatim}
%
% \subsection{HDU 隸募差隗｣譫先ｨ｡蝮抑
%
% 蜉�霓ｽ讓｡蝮� \pkg{exam} 蜷主叉蜿ｯ菴ｿ逕ｨ豁､讓｡蝮暦ｼ�
% 豁､讓｡蝮玲裏髴 \pkg{agreed} 騾蛾｡ｹ.
% \begin{quote}
%   "\documentclass [ mode = exam ] { hduthesis }"
% \end{quote}
% 豁､讓｡蝮嶺ｸｭ鬚�宛莠� \env{problem} 蜥� \env{solution} 邇ｯ蠅�.
%
% \includepdf [ pages = -, nup = 2x4, frame, linktodoc,
%               scale = 0.96, delta = .25in .2in
%             ] {hduthesis-beamer}
%
% \includepdf [ pages = -, nup = 1x2, angle = -90, frame,
%               linktodoc, scale = 0.96, delta = 0in .25in
%             ] {hduthesis-exam}
%
% \begin{thebibliography}{99}
%   \bibitem{interface3} The \hologo{LaTeX} Project.
%   The \hologo{LaTeX3} Interfaces. CTAN: Released 2025-03-10.
%   \bibitem{ctex} \url{CTEX.ORG}. C\hologo{TeX} 螳城寔. 2022-07-14 v2.5.10.
%   \bibitem{clsguide} \hologo{LaTeX} Project Team.
%   \hologo{LaTeX} for package and class authors current version
%   \copyright{} Copyright 2023 -- 2024. 2024-09-15.
%   \bibitem{source2e} B. Johannes, C. David, J. Alan, L. Leslie L, M. Frank,
%   R. Chris, and S. Rainer.
%   \hologo{LaTeX} for package and class authors current version.
%   2024-11-01 Patch level 2.
%   \bibitem{l3styleguide} The \hologo{LaTeX} Project.
%   The \hologo{LaTeX3} kernel: style guide for code authors.
%   CTAN: Released 2025-03-10.
%   \bibitem{packages} Package \pkg{etoolbox}, \pkg{geometry}, \pkg{tocloft},
%   \pkg{fancyhdr}, etc.
%   \bibitem{hdubachelor} 譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ謨吝苅螟�.
%   \href{https://jwc.hdu.edu.cn/2022/0428/c4555a153813/page.htm}
%     {豈穂ｸ夊ｮｾ隶｡�郁ｮｺ譁�ｼ臥噪蜀吩ｽ懆ｧ�激蜿頑�ｼ蠑剰ｦ∵ｱ�}
%   \bibitem{hdumphil} 譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ遐皮ｩｶ逕滄劼.
%   \href{https://grs.hdu.edu.cn/2013/0507/c1730a51754/page.htm}
%     {譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ遐皮ｩｶ逕溷ｭｦ菴崎ｮｺ譁��ｼ蠑冗ｻ滉ｸ隕∵ｱゑｼ域擯逕ｵ遐斐�2012縲�311蜿ｷ�厭
% \end{thebibliography}
% \end{documentation}
% \restoregeometry \appendix
% \begin{implementation}
%
% \section{螳樒鴫扈�鰍}
%
% \subsection{HDU 譬｡蠕ｽ \&amp; 譬｡蜷� \&amp; 譬｡迚� \&amp; 譬｡隶ｭ逧�ｮ樒鴫}
%
% \subsubsection{蜴溷ｧ狗ｴ�譚宣｢�､�炊}
%
% 蜑榊ｾ \href{https://www.hdu.edu.cn/666/list.htm}{譬｡諠�ｺｵ隗�/譬｡譬�ｧ�激}
% 襍�ｺ仙錘�御ｽｿ逕ｨ Inkscape�域� Adobe Illustrator�窟ffinity Design�祁ectornator 遲会ｼ�
% 蛻�悪蟆��｡蠕ｽ縲∵�｡蜷阪∵�｡迚後∵�｡隶ｭ蟇ｼ蜃ｺ |.pdf| 譬ｼ蠑�. 譬｡迚悟庄閭ｽ髴隕∵焔蜉ｨ蟆��｡蠕ｽ縲∵�｡蜷肴焔蜉ｨ諡ｼ謗･.
%
% \subsubsection{PDF 譁�ｻｶ螟�炊}
%
% 逕ｱ莠主書陦檎沿 \hologo{TeX} Live 2024 蜿頑峩譌ｩ迚域悽荳ｭ逧� |dvipdfmx| 遞句ｺ丞惠莉･謖�ｮ夐乗�蠎ｦ謠貞�扈�
% Inkscape 蟇ｼ蜃ｺ逧� |.pdf| 譁�ｻｶ譌ｶ蟄伜惠騾乗�蠎ｦ螟ｱ謨磯琉鬚禄footnote
% {諢溯ｰ｢ \hologo{TeX} 荳灘ｮｶ \href{https://www.zhihu.com/people/li-a-ling}
% {|@譚朱仭邇ｲ|} 菫ｮ螟堺ｺ�ｿ吩ｸ Bug (Commit: |fdefe61|).}��
% 謇莉･蜈井ｽｿ逕ｨ |Ghostscript| 遞句ｺ丈ｿｮ螟� |.pdf| 譁�ｻｶ
% \begin{quote}
%   "gs -o" \meta{input file}".pdf -sDEVICE=pdfwrite" \meta{output file}".pdf"
% \end{quote}
% 豁､譌ｶ闍･菴ｿ逕ｨ Text Editor 譟･逵句ｯｼ蜃ｺ逧� |.pdf| 譁�ｻｶ�御ｼ壼書邇ｰ驥碁擇蟄伜惠隶ｸ螟壽裏豕戊ｯ�悪逧�ｭ礼ｬｦ.
% 霑呎慮髴隕∽ｽｿ逕ｨ mutool 蟾･蜈ｷ蟇ｹ |.pdf| 譁�ｻｶ逧��螳ｹ豬∬ｿ幄｡梧ｸ�炊縲∵ｶ域ｯ偵∝視郛ｩ蜥梧焚謐ｮ霓ｬ謐｢. 蜻ｽ莉､螯ゆｸ�
% \begin{quote}
%   "mutool clean -a -z -gggg" \meta{input file}".pdf" \meta{output file}".pdf"
% \end{quote}
%
% \subsubsection{邏�譚先遠蛹�}
%
% 逕ｱ莠取ｯ丈ｸｪ |.pdf| 譁�ｻｶ蝮�ｭ伜惠莉･ |%| 蠑螟ｴ逧�ｻ｣遐�
% \begin{verbatim}
%      %PDF-1.7
%      %ﾂｵﾂｶ
%      %%EOF
% \end{verbatim}
% 髴譖ｴ謾ｹ Docstrip 螟�炊 |%| 陦御ｸｺ�嘶%| 謾ｹ荳ｺ |%%|�芸%%| 謾ｹ荳ｺ |%%%|��
% 蟷ｶ蝨ｨ \file{hduthesis.ins} 豺ｻ蜉�
% \begin{quote}
%   "\let \MetaPrefix \perCent"
% \end{quote}
% 邇ｰ蜿ｯ蟆�､�炊扈捺據蜷主ｾ怜芦 ASCII 郛也�∫噪 |.pdf| 譁�ｻｶ�梧遠蛹�� \file{hdu-graphics.dtx}.
%
% \subsection{\file{hduthesis.cls} 逧�ｮ樒鴫}
%
%    \begin{macrocode}
%&lt;@@=hdu&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;*class&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
\def \hduthesis@date {2025-03-23}
\def \hduthesis@version {1.1.1}
\def \hduthesis@maintainerid {myhsia}
%    \end{macrocode}
%
%    \begin{macrocode}
\ProvidesExplClass {hduthesis} {\hduthesis@date} {\hduthesis@version}
  {LaTeX Template Bundle for Hangzhou Dianzi University}
%    \end{macrocode}
%   蜈ｼ螳ｹ \hologo{TeX} Live 2023 蜿贋ｹ句錘逧�沿譛ｬ. 蠖灘ｯｹ蠎泌多莉､荳榊ｭ伜惠譌ｶ�悟惠蟾ｲ譛牙多莉､蝓ｺ遑荳頑眠蠅槫序菴�
%    \begin{macrocode}
\cs_if_exist:NF \seq_set_split:Nne
  { \cs_generate_variant:Nn \seq_set_split:Nnn { Nne } }
\cs_if_exist:NF \seq_set_split:Nee
  { \cs_generate_variant:Nn \seq_set_split:Nnn { Nee } }
\cs_if_exist:NF \tl_set:Ne
  { \cs_generate_variant:Nn \tl_set:Nn { Ne } }
\cs_if_exist:NF \tl_gset:Ne
  { \cs_generate_variant:Nn \tl_gset:Nn { Ne } }
%    \end{macrocode}
%   隴ｦ蜻贋ｿ｡諱ｯ隶ｾ鄂ｮ
%    \begin{macrocode}
\cs_new_protected:Npn \@@_msg_new:nn #1#2 
  { \msg_new:nnn { hduthesis } {#1} {#2} }
\cs_new_protected:Npn \@@_msg_error:nn #1#2
  { \msg_error:nnn { hduthesis } {#1} {#2} }
\cs_generate_variant:Nn \@@_msg_error:nn { nx }
\cs_new_protected:Npn \@@_msg_warning:nn #1#2
  { \msg_warning:nnn { hduthesis } {#1} {#2} }
\cs_generate_variant:Nn \@@_msg_warning:nn { nx }
\@@_msg_new:nn { not found module }
  { The ~ hduthesis ~ module ~ `#1' ~ not ~ found. }
\@@_msg_new:nn { unknown mode }
  { 
    Unknown ~ hduthesis ~ mode ~ `#1',~
    loading ~ mode ~ `thesis' ~ instead.
  }
\@@_msg_new:nn { Users Agreement }
  {
    \exp_not:n
      {
        郛冶ｯ大女髦ｻ!~ 菴ｿ逕ｨ讓｡譚ｿ蜑崎ｯｷ髦�ｯｻ逕ｨ謌ｷ謇句�荳ｭ逧�檎畑謌ｷ蜊剰ｮｮ縲�
        \MessageBreak
        !讓｡譚ｿ菴懆� (@myhsia) 荳榊ｯｹ菴ｿ逕ｨ譛ｬ讓｡譚ｿ莠ｧ逕溽噪譬ｼ蠑丞ｮ｡譟･髣ｮ鬚倩ｴ溯ｴ｣!
        \MessageBreak
        螯よ棡謔ｨ蜷梧э蜊剰ｮｮ�悟惠蜈ｨ螻騾蛾｡ｹ荳ｭ豺ｻ蜉� `agreed' 蜊ｳ蜿ｯ隗｣髯､譛ｬ髞呵ｯｯ
        \MessageBreak
        谺｢霑取お騾夊ｿ�ぐ莉ｶ (myhsia@hdu.edu.cn) 謌� GitHub 蜿埼ｦ域э隗�
      }
  }
%    \end{macrocode}
% \begin{macro}{\@@_load_module:n, \@@_provide_module:n}
%   蜉�霓ｽ / 謠蝉ｾ� \cls{hduthesis} 逧�ｨ｡蝮�
%    \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_load_module:n #1 
  {
    \clist_map_inline:nn {#1}
    {
      \file_if_exist_input:nF { hdu-##1.code.tex }
        { \@@_msg_error:nn { not found module } {##1} }
    }
  }
\cs_new_protected_nopar:Npn \@@_provide_module:n #1
  {
    \ProvidesExplFile{hdu-#1.code.tex}
      {\hduthesis@date}{\hduthesis@version}
      {hduThesiS ~ \text_titlecase:n {#1} ~ Module}
  }
%    \end{macrocode}
% \end{macro}
% \begin{variable}
%   {
%     \g_@@_agreement_bool, \g_@@_mode_tl,
%     \g_@@_math_font,      \g_@@_main_CJK_font,
%     \g_@@_sans_CJK_font,  \g_@@_mono_CJK_font
%   }
%   螳壻ｹ画枚譯｣邀ｻ蜈ｨ螻騾蛾｡ｹ逧�醗.
%    \begin{macrocode}
\keys_define:nn { hduthesis / classoption }
  {
    agreed       .bool_set:N = \g_@@_agreement_bool,
      agreed     .initial:n  = false,
      agreed     .default:n  = true,
    mode         .tl_set:N   = \g_@@_mode_tl,
    math-font    .tl_set:N   = \g_@@_math_font,
    CJKmain-font .tl_set:N   = \g_@@_main_CJK_font,
    CJKsans-font .tl_set:N   = \g_@@_sans_CJK_font,
    CJKmono-font .tl_set:N   = \g_@@_mono_CJK_font,
    unknown      .code:n     = \@@_unknown_option:n {#1},
  }
%    \end{macrocode}
% \end{variable}
% \begin{macro}{\@@_unknown_option:n}
% \begin{variable}{\g_@@_base_options_clist}
%   逕ｨ莠取磁謾ｶ蜈ｶ莉門ｯｹ豁､譁�｡｣邀ｻ譛ｪ遏･騾蛾｡ｹ.
%    \begin{macrocode}
\clist_new:N \g_@@_base_options_clist
%    \end{macrocode}
% \end{variable}
%   螟�炊譛ｪ遏･騾蛾｡ｹ�夂ｧｻ莠､蝓ｺ譛ｬ譁�｡｣邀ｻ螟�炊.
%    \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_unknown_option:n #1
  {
    \tl_if_empty:nTF { #1 }
      {
        \clist_gput_right:NV
          \g_@@_base_options_clist \l_keys_key_str
      }
      {
        \exp_args:NNx
        \clist_gput_right:Nn \g_@@_base_options_clist
          { \l_keys_key_str = \exp_not:n {#1} }
      }
  }
%    \end{macrocode}
% \end{macro}
%   螟�炊謗･謾ｶ蛻ｰ逧��螻騾蛾｡ｹ.
%    \begin{macrocode}
\ProcessKeyOptions [ hduthesis / classoption ]
%    \end{macrocode}
%   驕�芦譛ｪ遏･讓｡蝮玲慮霑泌屓隴ｦ蜻贋ｿ｡諱ｯ.
%    \begin{macrocode}
\bool_lazy_all:nT
  {
    { !\str_if_empty_p:N \g_@@_mode_tl }
    { !\str_if_eq_p:ee { \g_@@_mode_tl } { thesis }     }
    { !\str_if_eq_p:ee { \g_@@_mode_tl } { beamer }     }
    { !\str_if_eq_p:ee { \g_@@_mode_tl } { stationery } }
    { !\str_if_eq_p:ee { \g_@@_mode_tl } { exam }       }
    { !\str_if_eq_p:ee { \g_@@_mode_tl } { l3doc }      }
  }
  { \@@_msg_warning:nx { unknown mode } { \g_@@_mode_tl } }
%    \end{macrocode}
%   蜉�霓ｽ \module{beamer} 讓｡蝮�.
%    \begin{macrocode}
\str_if_eq:eeT { \g_@@_mode_tl } { beamer }
  {
    \PassOptionsToClass { aspectratio = 2013 } { beamer }
    \exp_args:NNV
      \LoadClass [ \g_@@_base_options_clist ] { beamer }
    \usetheme{hdu}
    \endinput
  }
%    \end{macrocode}
%   蜉�霓ｽ \module{stationery} 讓｡蝮�.
%    \begin{macrocode}
\str_if_eq:eeT { \g_@@_mode_tl } { stationery }
  {
    \PassOptionsToClass { 12pt } { letter }
    \exp_args:NNV
      \LoadClass [ \g_@@_base_options_clist ] { letter }
    \@@_load_module:n { stationery }
    \endinput
  }
%    \end{macrocode}
%   蜉�霓ｽ \module{exam} 讓｡蝮�.
%    \begin{macrocode}
\str_if_eq:eeT { \g_@@_mode_tl } { exam }
  {
    \exp_args:NNV
      \LoadClass [ \g_@@_base_options_clist ] { article }
    \@@_load_module:n { exam }
    \endinput
  }
%    \end{macrocode}
%   蜉�霓ｽ \module{l3doc} 讓｡蝮�.
%    \begin{macrocode}
\str_if_eq:eeT { \g_@@_mode_tl } { l3doc }
  {
    \PassOptionsToClass { 11pt, letterpaper, kernel } { l3doc }
    \RequirePackage{minted}
    \exp_args:NNV
      \LoadClass [ \g_@@_base_options_clist ] { l3doc }
    \@@_load_module:n { l3doc }
    \endinput
  }
%    \end{macrocode}
%   蜈ｶ菴呎ュ蜀ｵ荳具ｼ碁ｻ倩ｮ､蜉�霓ｽ \module{thesis} 讓｡蝮暦ｼ悟ｹｶ譬ｹ謐ｮ謇霎灘�逧�ｭｦ蜿ｷ菴肴焚蜉�霓ｽ荳榊酔驟咲ｽｮ.
%   譛ｪ遑ｮ隶､逕ｨ謌ｷ蜊剰ｮｮ譌ｶ�瑚ｿ泌屓髞呵ｯｯ菫｡諱ｯ.
%    \begin{macrocode}
\bool_lazy_any:nT
  {
    {  \str_if_eq_p:ee { \g_@@_mode_tl } { thesis }     }
    { !\str_if_eq_p:ee { \g_@@_mode_tl } { beamer }     }
    { !\str_if_eq_p:ee { \g_@@_mode_tl } { stationery } }
    { !\str_if_eq_p:ee { \g_@@_mode_tl } { exam }       }
    { !\str_if_eq_p:ee { \g_@@_mode_tl } { l3doc }      }
  }
  {
    \PassOptionsToClass { a4paper, zihao = -4 } { ctexrep }
    \PassOptionsToPackage { quiet, no-math } { xeCJK }
    \exp_args:NNV
      \LoadClass [ \g_@@_base_options_clist ] { ctexrep }
    \bool_if:NTF \g_@@_agreement_bool
      {
        \RequirePackage{hyperref}
        \pdfstringdefDisableCommands
          {
            \def \cite#1 {&lt;#1&gt;}
            \def \hologoRobust#1 {&lt;#1&gt;}
          }
        \AtBeginDocument
          {
            \hypersetup
              { hidelinks, pdfproducer = hduThesiS ~ by ~ Mingyu ~ Xia }
          }
      } { \@@_msg_error:nn { Users Agreement } { Unconfirmed } }
    \@@_load_module:n { typeset }
    \@@_load_module:n { layout }
    \cs_new_protected:Nn \@@_docinfo_degree_if_aux:
      {
        \int_compare:nNnTF
          { \tl_count:N \l_@@_set_stdntid_tl } = { 8 }
          { \@@_load_module:n { bc.config } }
          { \@@_load_module:n { pg.config } }
      }
    \endinput
  }
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;/class&gt;
%    \end{macrocode}
%
% \subsection{\module{typeset} 讓｡蝮礼噪螳樒鴫}
%
%    \begin{macrocode}
%&lt;*typeset&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
\@@_provide_module:n {typeset}
%    \end{macrocode}
%
%    \begin{macrocode}
\RequirePackage { circuitikz, pgfplots, listings, hologo,
                  lipsum,     zhlipsum, booktabs, multicol }
\pgfplotsset { compat = newest }
%    \end{macrocode}
%   謠貞崟逶ｸ蟇ｹ霍ｯ蠕�ｮｾ鄂ｮ.
%    \begin{macrocode}
\graphicspath
  {
    {./figure/}   {./figures/} {./image/}    {./images/}
    {./graphics/} {./graphic/} {./pictures/} {./picture/}
  }
%    \end{macrocode}
%   隶ｾ鄂ｮ陦瑚ｷ晏肴焚縲∫ｼｩ霑帛柱蜈ｬ蠑丞燕蜷朱龍霍�.
%    \begin{macrocode}
\linespread{1.39}
\AtBeginDocument
  {
    \dim_set:Nn \abovedisplayskip {3pt}
    \dim_set:Nn \belowdisplayskip {3pt}
    \dim_set:Nn \parindent { 2\ccwd }
  }
%    \end{macrocode}
%   蜈ｬ蠑乗賜迚亥ｿ�ｦ∝ｮ丞桁蜉�霓ｽ�瑚｡碁龍蜈ｬ蠑丞燕蜷朱龍霍晁ｮｾ鄂ｮ.
%    \begin{macrocode}
\RequirePackage { mathtools,  amssymb, cancel,  fixdif,
                  derivative, siunitx, physics2, bm }
\usephysicsmodule { ab, braket, op.legacy, qtext.legacy }
%    \end{macrocode}
% \begin{macro}{\@@_font_semilarge:, \@@_font_semiLarge:}
%   荳､遘肴眠蟄嶺ｽ灘ｰｺ蟇ｸ隶ｾ鄂ｮ.
%    \begin{macrocode}
\cs_new_protected:Nn \@@_font_semilarge:
  { \@setfontsize \@@_font_semilarge:{14}{16.5} }
\cs_new_protected:Nn \@@_font_semiLarge:
  { \@setfontsize \@@_font_semiLarge:{16.5}{17.5} }
%    \end{macrocode}
% \end{macro}
%   隶ｾ鄂ｮ隘ｿ譁�ｭ嶺ｽ薙∵焚蟄ｦ蟄嶺ｽ薙∽ｸｭ譁�ｭ嶺ｽ�.
%    \begin{macrocode}
\sys_if_engine_xetex:T
  {
    \RequirePackage
      [ warnings-off = { mathtools-colon, mathtools-overbracket }
      ] {unicode-math}
    \setmainfont{texgyretermes}
      [
        Extension      = .otf,         UprightFont = *-regular,
        BoldFont       = *-bold,       ItalicFont  = *-italic,
        BoldItalicFont = *-bolditalic
      ]
    \setsansfont{texgyreheros}
      [
        Extension      = .otf,         BoldItalicFont = *-bolditalic,
        UprightFont    = *-regular,    BoldFont       = *-bold,
        ItalicFont     = *-italic,     Scale          = .9
      ]
    \tl_if_empty:NF \g__hdu_math_font
      { \setmathfont { \g__hdu_math_font } }
    \tl_if_empty:NF \g__hdu_main_CJK_font
      { \exp_last_unbraced:No \setCJKmainfont \g__hdu_main_CJK_font }
    \tl_if_empty:NF \g__hdu_sans_CJK_font
      { \exp_last_unbraced:No \setCJKsansfont \g__hdu_sans_CJK_font }
    \tl_if_empty:NF \g__hdu_mono_CJK_font
      { \exp_last_unbraced:No \setCJKmonofont \g__hdu_mono_CJK_font }
  }
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;/typeset&gt;
%    \end{macrocode}
%
% \subsection{\module{layout} 讓｡蝮礼噪螳樒鴫}
%
%    \begin{macrocode}
%&lt;*layout&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
\@@_provide_module:n {layout}
%    \end{macrocode}
%   鬘ｵ髱｢譬ｷ蠑上∫ｼ門捷縲∝�陦ｨ隶ｾ鄂ｮ.
%    \begin{macrocode}
\RequirePackage { geometry, array, setspace,
                  fancyhdr, enumitem, cleveref }
\RequirePackage
  [ skip = 1.75ex, labelsep = quad, font = small ]{caption}
\fancyhf{}
\pagestyle{fancy}
\renewcommand*\headrulewidth {.8pt}
\renewcommand*\thefigure {\arabic{chapter}-\arabic{figure}}
\renewcommand*\thetable {\arabic{chapter}-\arabic{table}}
\renewcommand*\theequation {\arabic{chapter}-\arabic{equation}}
\AddToHook{env/figure/after}{\vspace*{-2.3ex}}
\AddToHook{env/table/after}{\vskip-1.9ex}
\setlist[enumerate,1]
  {
    label = (\,\arabic*\,), itemindent = 4em, leftmargin = 0em,
    labelsep = 1ex, topsep = 0pt, itemsep = 0pt, partopsep = 0pt,
    parsep = 0em, listparindent = 2\ccwd
  }
\crefformat{figure}{蝗ｾ#2#1#3}
\crefformat{table}{陦ｨ#2#1#3}
%    \end{macrocode}
% \begin{macro}{\@@_cover_spread_box:nn, \@@_cover_center_box:nn}
%   蛻�淵蟇ｹ鮨千將蟄蝉ｸ� 荳句�郤ｿ螻�ｸｭ蟇ｹ鮨千將蟄�.
%   \footnote{逕ｱ \url{tex.stackexchange.com} 隶ｺ蝮帑ｸ� |@egreg| 謠蝉ｾ帶磁蜿｣.}
%    \begin{macrocode}
\cs_new_protected:Npn \@@_cover_spread_box:nn #1#2
  {
    \mode_leave_vertical:
    \hbox_to_wd:nn {#1}
      { \exp_args:Nee \tl_map_inline:nn {#2} { ##1 \hfil } \unskip }
  }
\cs_new_protected:Npn \@@_cover_center_box:nn #1#2
  {
    \mode_leave_vertical:
    \dim_set:Nn \l_tmpa_dim {#1}
    \global\setbox1 = \box\voidb@x
    \group_begin:
    \setbox0 = \vbox
      {
        \dim_set:Nn \hsize {#1}\relax
        \dim_set:Nn \parindent {0pt}
        \skip_set:Nn \leftskip {0pt plus 1fil}
        \skip_set:Nn \rightskip {0pt plus -1fil}
        \skip_set:Nn \parfillskip {0pt plus 2fil}
        #2 \par
        \loop
        \setbox2 = \lastbox
        \unless\ifvoid2
          \global\setbox1 = \vtop
            { \hbox to\hsize{\strut\unhbox2}
              \vskip-4pt \hrule height .5pt
              \vskip9.6pt \unvbox1
            }
          \unskip\unpenalty
        \repeat
      }
    \group_end:
    \box1
  }
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@@_process_array:NnnN}
%   諡�� \cs{hduset} 驛ｨ蛻�醗蛟ｼ霎灘�莠檎ｻｴ謨ｰ扈�.
%    \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_process_array:NnnN #1#2#3#4
  {
    \seq_set_split:Nee \l_@@_process_array_seq { / } {#1}
    \seq_set_split:Nee \l_@@_process_array_row_seq { \c_colon_str }
      { \seq_item:Nn \l_@@_process_array_seq {#2} }
    \tl_if_eq:nnTF {#3} {:}
      {
        \tl_gset:Ne #4
          { \seq_use:Nn \l_@@_process_array_row_seq {} }
      }
      {
        \tl_gset:Ne #4
          { \seq_item:Nn \l_@@_process_array_row_seq {#3} }
      }
    \seq_clear:N \l_@@_process_array_seq
    \seq_clear:N \l_@@_process_array_row_seq
  }
%    \end{macrocode}
% \end{macro}
% \begin{variable}{\g_@@_month_clist}
%   蟄伜お闍ｱ譁�怦莉ｽ陦ｨ霎ｾ.
%    \begin{macrocode}
\clist_set:Nn \g_@@_month_clist
  {
    January, February,  March,     April,   May,      June,
    July,    August,    September, October, November, December
  }
%    \end{macrocode}
% \end{variable}
% \begin{variable}
%   {
%     \l_@@_set_title_tl,      \l_@@_set_department_tl,
%     \l_@@_set_major_tl,      \l_@@_set_class_tl,
%     \l_@@_set_stdntid_tl,    \l_@@_set_author_tl,
%     \l_@@_set_supervisor_tl, \l_@@_set_bibsource_tl
%   }
%   讓｡蠑� \module{thesis} 荳� \cs{hduset} 謗･蜿｣髞ｮ蛟ｼ逧�ｮ壻ｹ�.
%    \begin{macrocode}
\keys_define:nn { thesis / hduset }
  {
    title      .clist_set:N = \l_@@_set_title_tl,
    department .tl_set:N    = \l_@@_set_department_tl,
    major      .tl_set:N    = \l_@@_set_major_tl,
    class      .tl_set:N    = \l_@@_set_class_tl,
    stdntid    .tl_set:N    = \l_@@_set_stdntid_tl,
    author     .clist_set:N = \l_@@_set_author_tl,
    supervisor .tl_set:N    = \l_@@_set_supervisor_tl,
    bibsource  .tl_set:N    = \l_@@_set_bibsource_tl,
  }
%    \end{macrocode}
% \end{variable}
% \begin{macro}{\hduset}
%   讓｡蠑� \module{thesis} 荳玖ｮｾ鄂ｮ譁�｡｣菫｡諱ｯ.
%    \begin{macrocode}
\NewDocumentCommand \hduset { m }
  {
    \keys_set:nn { thesis / hduset } {#1}
    \@@_docinfo_process_aux:  
    \@@_docinfo_degree_if_aux:  
  }
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@@_docinfo_process_aux:}
%   讓｡蠑� \module{thesis} 荳� \cs{hduset} 逧�ｾ�勧蜻ｽ莉､�壽究蛻�焚扈� / 隶ｾ鄂ｮ蜿り�枚迪ｮ.
%    \begin{macrocode}
\cs_set_protected_nopar:Nn \@@_docinfo_process_aux:
  {
    \@@_process_array:NnnN \l_@@_set_title_tl {1} {:} \@title
    \@@_process_array:NnnN \l_@@_set_title_tl {2} {:}
      \l_@@_set_entitle_tl
    \@@_process_array:NnnN \l_@@_set_author_tl {1} {:} \@author
    \@@_process_array:NnnN \l_@@_set_author_tl {2} {:}
      \l_@@_set_enauthor_tl
    \@@_process_array:NnnN \l_@@_set_supervisor_tl {1} {1}
      \l_@@_set_cnrole_tl
    \@@_process_array:NnnN \l_@@_set_supervisor_tl {1} {2}
      \l_@@_set_cnsupervisor_tl
    \@@_process_array:NnnN \l_@@_set_supervisor_tl {2} {1}
      \l_@@_set_enrole_tl
    \@@_process_array:NnnN \l_@@_set_supervisor_tl {2} {2}
      \l_@@_set_ensupervisor_tl
    \bool_if:NF \g_@@_agreement_bool
      { \tl_clear:N \l_@@_set_bibsource_tl }
    \tl_if_empty:NTF \l_@@_set_bibsource_tl
      {
        \newcommand*\printbibliography{\chapter*{蜿り�枚迪ｮ}}
        \newcounter {citecount}
        \renewcommand*\cite[1]
          {
            \refstepcounter{citecount}
            \textsuperscript{[\thecitecount]}
          }
      }
      {
        \RequirePackage[sort&amp;compress]{gbt7714}
        \bibliographystyle{gbt7714-numerical}
        \dim_set:Nn \bibsep {.35ex}
        \newcommand*\printbibliography
          {
            \bibliography { \l_@@_set_bibsource_tl }
            \addcontentsline{toc}{chapter}{蜿り�枚迪ｮ}
          }
      }
  }
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@@_commitment_sign:N}
%   謠貞�遲ｾ蜷榊崟迚�.
%    \begin{macrocode}
\cs_new_protected:Npn \@@_commitment_sign:N #1
  {
    \leavevmode@ifvmode
    \lower \dimexpr \f@size\p@ * 9/16
    \hbox
      {
        \includegraphics
          [ height = { \fp_eval:n { 2*\f@size }\p@ } ] {#1}
      }
  }
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@@_sign_process_aux:nnn}
%   螟�炊謇ｿ隸ｺ荵ｦ遲ｾ蜷肴焚扈�噪霎�勧蜻ｽ莉､. 遲ｾ蜷肴枚莉ｶ蜷埼怙隕∝ｱ募ｼ蜷主ｭ伜�
%   \cs{l_@@_sign_figure_tl} 荳ｭ.
%    \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_sign_process_aux:nnn #1#2#3
  {
    \clist_set:Nn \l_@@_sign_process_clist {#1}
    \seq_set_split:Nne \l_@@_sign_figure_seq {/}
      { \clist_item:Nn \l_@@_sign_process_clist {#2} }
    \int_compare:nNnTF {#3} = {0}
      {
        \tl_set:Ne \l_@@_sign_figure_tl
          { \seq_item:Nn \l_@@_sign_figure_seq { #3 + 1 } }
        \seq_clear:N \l_@@_sign_figure_seq
      }
      {
        \seq_set_split:Nne \l_@@_sign_date_seq {-}
          { \seq_item:Nn \l_@@_sign_figure_seq {2} }
        \seq_item:Nn \l_@@_sign_date_seq {#3}
        \seq_clear:N \l_@@_sign_date_seq
      }
    \clist_clear:N \l_@@_sign_process_clist
  }
%    \end{macrocode}
% \end{macro}
%
%    \begin{macrocode}
%&lt;/layout&gt;
%    \end{macrocode}
%
% \subsection{\module{bc.config} 讓｡蝮礼噪螳樒鴫}
%
%    \begin{macrocode}
%&lt;*bc.config&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
\ExplSyntaxOn \makeatletter
%    \end{macrocode}
%
%    \begin{macrocode}
\@@_provide_module:n {bc.config}
%    \end{macrocode}
%   隶ｾ鄂ｮ鬘ｵ髱｢蟶�ｱ縲�｡ｵ逵峨∫岼蠖暮｡ｵ遐∵�ｼ蠑�.
%    \begin{macrocode}
\geometry { top     = 3.25cm, bottom     = 2.4cm,
            left    = 4cm,    right      = 2cm,
            headsep = .72cm,  headheight = 15pt }
\fancyhead[C]
  {
    \raisebox { .12ex }
      { \small 譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ \l_@@_set_entitle_tl }
  }
\hook_gput_code:nnn {cmd/tableofcontents/before} { . }
  {
    \clearpage 
    \pagenumbering{Roman} \cfoot{\small \thepage}
  }
\hook_gput_code:nnn { cmd/tableofcontents/after } { . }
  {
    \thispagestyle{fancy} \clearpage
    \pagenumbering{arabic} \cfoot{}
  }
%    \end{macrocode}
% \begin{macro}{\maketitle}
%   驥肴眠螳壻ｹ牙ｰ�擇蟶�ｱ.
%    \begin{macrocode}
\RenewDocumentCommand \maketitle {}
  {
    \newgeometry { margin = 3cm }
    \titlepage \@@_maketitle_bc_auxi: \endtitlepage
    \restoregeometry
  }
%    \end{macrocode}
% \end{macro}
% \begin{variable}{\l_@@_grade_int}
%   蟄伜お豈穂ｸ壼ｹｴ莉ｽ. 譬ｹ謐ｮ蠖灘燕譛井ｻｽ蛻､譁ｭ.
%    \begin{macrocode}
\int_new:N \l_@@_grade_int
\int_set:Nn \l_@@_grade_int
  {
    \int_compare:nNnTF { \c_sys_month_int } &lt; 9
      { \c_sys_year_int } { \int_eval:n { \c_sys_year_int + 1 } }
  }
%    \end{macrocode}
% \end{variable}
% \begin{macro}{\@@_maketitle_bc_auxi:}
%   \cs{maketitle} 逧�ｾ�勧蜻ｽ莉､.
%    \begin{macrocode}
\cs_new_protected_nopar:Nn \@@_maketitle_bc_auxi:
  {
    \begin{center}
      \vspace*{14\p@}
      \includegraphics[ width = .64\linewidth ]{hdu-title}
      \par \vspace*{36\p@}
      \scalebox{2.75}
      {
        \textbf
          {
            \@@_cover_spread_box:nn
              { .205\paperwidth } { \l_@@_set_entitle_tl }
          }
      }
      \par \vspace*{1.5\baselineskip}
      { \LARGE ��\int_use:N \l_@@_grade_int \bfseries 螻奇ｼ� }
      \par \vspace*{3.0\baselineskip}
      \begin{tabular}
        {
          &gt;{\large\bfseries}p{5.5\ccwd}@{}
          &gt;{\large\centering\arraybackslash\kaishu}p{.65\linewidth}@{}
        }
        \@@_cover_spread_box:nn { 4\ccwd } { 鬚倡岼 } &amp;
        \@@_cover_center_box:nn { .95\linewidth }
          { \@title }\\[5.2ex]
        \@@_cover_spread_box:nn { 4\ccwd } { 蟄ｦ髯｢ } &amp;
        \@@_cover_center_box:nn { .95\linewidth }
          { \l_@@_set_department_tl }\\[5.2ex]
        \@@_cover_spread_box:nn { 4\ccwd } { 荳謎ｸ� } &amp;
        \@@_cover_center_box:nn { .95\linewidth }
          { \l_@@_set_major_tl }\\[5.2ex]
        \@@_cover_spread_box:nn { 4\ccwd } { 迴ｭ郤ｧ } &amp;
        \@@_cover_center_box:nn { .95\linewidth }
          { \l_@@_set_class_tl }\\[5.2ex]
        \@@_cover_spread_box:nn { 4\ccwd } { 蟄ｦ蜿ｷ } &amp;
        \@@_cover_center_box:nn { .95\linewidth }
          { \l_@@_set_stdntid_tl }\\[5.2ex]
        \@@_cover_spread_box:nn { 4\ccwd } { 蟄ｦ逕溷ｧ灘錐 } &amp;
        \@@_cover_center_box:nn { .95\linewidth }
          { \@author }\\[5.2ex]
        \@@_cover_spread_box:nn { 4\ccwd } { 謖�ｯｼ謨吝ｸ� } &amp;
        \@@_cover_center_box:nn { .95\linewidth }
          {
            \l_@@_set_cnsupervisor_tl \quad
            \l_@@_set_cnrole_tl
          }\\[5.2ex]
        \@@_cover_spread_box:nn { 4\ccwd } { 螳梧�譌･譛� } &amp;
        \@@_cover_center_box:nn { .95\linewidth }
          {
            \textsf{\int_use:N \c_sys_year_int} 蟷ｴ
            \textsf{\int_use:N \c_sys_month_int} 譛�
          }
      \end{tabular}
    \end{center}
  }
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\commitment}
%   逕滓�謇ｿ隸ｺ荵ｦ
%    \begin{macrocode}
\NewDocumentCommand \commitment { O{} }
  {
    \newgeometry{ margin = 3cm }
    \titlepage
      \@@_commitment_bc_aux:n {#1}
    \endtitlepage
    \restoregeometry
  }
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@@_commitment_bc_aux:n}
%   \cs{commitment} 逧�ｾ�勧蜻ｽ莉､.
%    \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_commitment_bc_aux:n #1
  {
    \vspace*{65\p@}
    \begin{center}
      \@beginparpenalty \@lowpenalty
      \Large \textsf
        { \bfseries \@@_cover_spread_box:nn { 6\ccwd }{ 隸壻ｿ｡謇ｿ隸ｺ } }
      \@endparpenalty \@M
    \end{center}
    \vspace*{.4\baselineskip} \par
    \linespread{2.1}
      {
        \@@_font_semilarge:
        謌題ｰｨ蝨ｨ豁､謇ｿ隸ｺ�壽悽莠ｺ謇蜀咏噪豈穂ｸ夊ｮｺ譁�浬@title 縲句插邉ｻ譛ｬ莠ｺ迢ｬ遶句ｮ梧���
        豐｡譛画割陲ｭ陦御ｸｺ�悟�豸牙所蜈ｶ莉紋ｽ懆�噪隗らせ蜥梧攝譁呻ｼ悟插菴應ｺ�ｳｨ驥奇ｼ瑚凶譛我ｸ榊ｮ橸ｼ�
        蜷取棡逕ｱ譛ｬ莠ｺ謇ｿ諡��
        \par\vspace*{\baselineskip} \bfseries\sffamily
        \hskip.48\linewidth 謇ｿ隸ｺ莠ｺ�育ｭｾ蜷搾ｼ会ｼ�
        \@@_sign_process_aux:nnn {#1} { 1 } { 0 }
        \tl_if_empty:NF \l_@@_sign_figure_tl
          {
            \@@_commitment_sign:N
              \l_@@_sign_figure_tl
            \tl_clear:N \l_@@_sign_figure_tl
          }
        \par \vspace*{.5\baselineskip}
        \hskip \dim_eval:n { .48\linewidth - 1em }
        \makebox [ 3em ]
          { \@@_sign_process_aux:nnn {#1} { 1 } { 1 } } 蟷ｴ
        \makebox [ 2em ]
          { \@@_sign_process_aux:nnn {#1} { 1 } { 2 } } 譛�
        \makebox [ 2em ]
          { \@@_sign_process_aux:nnn {#1} { 1 } { 3 } } 譌･
      }
  }
%    \end{macrocode}
% \end{macro}
% \DescribeEnv{abstract}
%   驥肴眠螳壻ｹ画遭隕∫識蠅�ｼ悟刈蜈･荳ｭ闍ｱ譁�愛譁ｭ.
%    \begin{macrocode}
\RenewDocumentEnvironment {abstract} { O{en} }
  {
    \str_if_eq:nnT {#1} {en}
      {
        \tl_set:Nn \l_@@_keywords_name_tl {Keywords:~}
        \tl_set:Nn \l_@@_keywords_sep_tl {;~}
        \@beginparpenalty \@lowpenalty
        \chapter*{\normalfont\bfseries ABSTRACT}
      }
    \str_if_eq:nnT {#1} {cn}
      {
        \tl_set:Nn \l_@@_keywords_name_tl {\textsf{蜈ｳ髞ｮ隸搾ｼ嘲}
        \tl_set:Nn \l_@@_keywords_sep_tl {�孺
        \@beginparpenalty \@lowpenalty
        \chapter*{鞫禄qquad 隕±
      }
  }
  {
    \tl_clear:N \l_@@_abstract_title_tl
    \cfoot{} \clearpage
  }
%    \end{macrocode}
% \begin{variable}{\l_@@_keywords_clist}
%   蟄伜お蜈ｳ髞ｮ隸榊�陦ｨ.
%    \begin{macrocode}
\clist_new:N \l_@@_keywords_clist
%    \end{macrocode}
% \end{variable}
% \begin{macro}{\keywords}
%   驥肴眠螳壻ｹ� \cs{keywords} 蜻ｽ莉､�悟�髞ｮ隸肴�ｷ蠑丈ｼ壽�ｹ謐ｮ \env{abstract} 謇騾芽ｯｭ險閾ｪ蜉ｨ蜿伜喧.  
%    \begin{macrocode}
\NewDocumentCommand \keywords { m }
  {
    \par \vspace*{\baselineskip}
    \noindent\textbf{\l_@@_keywords_name_tl}
    \clist_set:Nn \l_@@_keywords_clist {#1}
    \clist_use:Nn \l_@@_keywords_clist {\l_@@_keywords_sep_tl}
  }
%    \end{macrocode}
% \end{macro}
%   隶ｾ鄂ｮ逶ｮ蠖墓�ｷ蠑�.
%    \begin{macrocode}
\RequirePackage{tocloft}
\renewcommand \contentsname {\hfill 逶ｮ \qquad 蠖� \hfill}
\renewcommand* \cfttoctitlefont {\sffamily\@@_font_semiLarge:}
\dim_set:Nn \cftbeforetoctitleskip {3pt}
\dim_set:Nn \cftaftertoctitleskip {24pt}
\dim_set:Nn \cftbeforechapskip {1pt}
\dim_set:Nn \cftbeforesecskip {-.2pt}
\patchcmd { \@dottedtocline }
  {
    \leaders
    \hbox { $\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$ }
  }
  {
    \kern 4pt \leaders
    \hbox { $\m@th\mkern .4 mu\hbox{-}\mkern .4 mu$ }
  } {}{}
\renewcommand* \l@chapter {\@dottedtocline{1}{0em}{1.6em}}
\renewcommand* \l@section {\@dottedtocline{1}{2.3em}{2.1em}}
\renewcommand* \@dotsep {1.7}
\renewcommand* \@pnumwidth {2.5ex}
\renewcommand* \cftchapfont {\normalfont}
\setcounter{tocdepth}{1}
%    \end{macrocode}
%   菴ｿ逕ｨ \cs{ctexset} 謠蝉ｾ帷噪謗･蜿｣隶ｾ鄂ｮ遶�闃よ�ｷ蠑�.
%    \begin{macrocode}
\ctexset
  {
    chapter    =
      {
        fixskip = true, name = {},  beforeskip = 21pt,
        format+ = \sffamily \large, afterskip  = 34pt,
        number  = \arabic{chapter}, pagestyle  = fancy,
      },
    section    =
      {
        beforeskip = 1.25ex, fixskip = true,
        afterskip  = 1.5ex,  format  = \sffamily \@@_font_semilarge:
      },
    subsection =
      {
        beforeskip = 1.25ex, fixskip = true,
        afterskip  = 1.5ex,  format  = \sffamily
      }
  }
%    \end{macrocode}
%
%    \begin{macrocode}
\makeatother \ExplSyntaxOff
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;/bc.config&gt;
%    \end{macrocode}
%
% \subsection{\module{pg.config} 讓｡蝮礼噪螳樒鴫}
%
%    \begin{macrocode}
%&lt;*pg.config&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
\ExplSyntaxOn \makeatletter
%    \end{macrocode}
%
%    \begin{macrocode}
\@@_provide_module:n {pg.config}
%    \end{macrocode}
%   隶ｾ鄂ｮ鬘ｵ髱｢蟶�ｱ縲�｡ｵ逵峨∫岼蠖暮｡ｵ遐∵�ｼ蠑�.
%    \begin{macrocode}
\geometry { top = 2.8cm, bottom = 3.2cm, left = 3.2cm, right = 3.2cm,
            headheight = 15pt, headsep = .72cm, footskip = 1.5cm }
\fancyhead[C]
  { \raisebox { .12ex } { \small 譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ遑募｣ｫ蟄ｦ菴崎ｮｺ譁� } }
\hook_gput_code:nnn { cmd/tableofcontents/after } { . }
  {
    \clearpage
    \pagenumbering{arabic}
    \cfoot{\small \thepage}
  }
%    \end{macrocode}
%   驥肴眠螳壻ｹ牙ｰ�擇蟶�ｱ.
%    \begin{macrocode}
\RenewDocumentCommand \maketitle {}
  {
    \newgeometry{margin = 2.75cm}
    \begin{titlepage}
      \@@_maketitle_pg_auxi:
    \end{titlepage}
    \titlepage
      \@@_maketitle_pg_auxii:
    \endtitlepage
    \titlepage
      \@@_maketitle_pg_auxiii:
    \endtitlepage
    \restoregeometry
    \pagenumbering{Roman}
    \cfoot {\small \thepage}
  }
%    \end{macrocode}
% \begin{macro}
%   {\@@_maketitle_pg_auxi:, \@@_maketitle_pg_auxii:, \@@_maketitle_pg_auxiii:}
%   \cs{maketitle} 逧�ｾ�勧蜻ｽ莉､�壼ｰ�擇隶ｾ鄂ｮ縲∽ｸｭ譁�演鬘ｵ隶ｾ鄂ｮ縲∬恭譁�演鬘ｵ隶ｾ鄂ｮ.
%    \begin{macrocode}
\cs_new_protected_nopar:Nn \@@_maketitle_pg_auxi:
  {
    \begin{center}
      \null
      \includegraphics[height = 2.35cm]{hdu-title}
      \par \vspace*{40\p@}
        {
          \LARGE
          \@@_cover_spread_box:nn {.575\linewidth} {遑募｣ｫ蟄ｦ菴崎ｮｺ譁�}
        }
      \par\vspace*{100\p@}
      \@@_font_semiLarge: 鬚� \qquad 逶ｮ��
      \@@_cover_center_box:nn { .75\linewidth } { \kaishu \@title }
      \vspace*{24\p@}\par
      \begin{tabular}
        {
          &gt;{ \@@_font_semiLarge: \centering \arraybackslash }
            p{4\ccwd}@{}
          &gt;{ \@@_font_semiLarge: \centering \arraybackslash \kaishu }
            p{.65\linewidth}@{}
        }
        \@@_cover_spread_box:nn { 4\ccwd } { 遐皮ｩｶ逕� } &amp;
        \@@_cover_center_box:nn { .96\linewidth } { \@author }\\
        \@@_cover_spread_box:nn { 4\ccwd } { 荳謎ｸ� } &amp;
        \@@_cover_center_box:nn { .96\linewidth }
          { \l_@@_set_major_tl }\\
        \@@_cover_spread_box:nn { 4\ccwd } { 謖�ｯｼ謨吝ｸ� } &amp;
        \@@_cover_center_box:nn { .96\linewidth }
          {
            \l_@@_set_cnsupervisor_tl \qquad \l_@@_set_cnrole_tl 
          }\\[13.5ex]
        \@@_font_semilarge: 螳梧�譌･譛� &amp;
        \@@_cover_center_box:nn { .96\linewidth }
          {
            \@@_font_semilarge:
            \textsf { \int_use:N \c_sys_year_int } 蟷ｴ
            \textsf { \int_use:N \c_sys_month_int } 譛�
          }
      \end{tabular}
    \end{center}
  }
\cs_new_protected_nopar:Nn \@@_maketitle_pg_auxii:
  {
    \begin{center}
      \vspace*{25\p@}
        { \LARGE 譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ遑募｣ｫ蟄ｦ菴崎ｮｺ譁� }
        \vspace*{140\p@} \par
        \begin{spacing}{1.15}
          \huge\textsf{ \@title }
        \end{spacing}
        \vspace*{128\p@} \par
        \begin{tabular}
          {
            &gt;{ \@@_font_semiLarge: } p{6.25\ccwd}
            &gt;{ \@@_font_semiLarge: \kaishu } l
          }
          \@@_cover_spread_box:nn { 4\ccwd } { 遐皮ｩｶ逕� }��&amp; 
          \@@_cover_spread_box:nn { 4\ccwd } { \@author }\\[2ex]
          \@@_cover_spread_box:nn { 4\ccwd } { 謖�ｯｼ謨吝ｸ� }��&amp;
          \@@_cover_spread_box:nn { 4\ccwd }
            { \l_@@_set_cnsupervisor_tl }
          \hskip 1.5em \l_@@_set_cnrole_tl
        \end{tabular}
        \par \vspace{60\p@} \@@_font_semilarge:
        \textsf { \int_use:N \c_sys_year_int } \kaishu 蟷ｴ
        \textsf { \int_use:N \c_sys_month_int } \kaishu 譛�
    \end{center}
  }
\cs_new_protected_nopar:Nn \@@_maketitle_pg_auxiii:
  {
    \begin{center}
      \vspace*{16\p@}
      {
        \bfseries \@@_font_semilarge:
        Dissertation ~ Submitted ~ to ~
        Hangzhou ~ Dianzi ~ University\\[.8ex]
        for ~ the ~ Degree ~ of ~ Master
      }
      \vspace*{120\p@} \par
      \begin{spacing}{1.12}
        \huge \bfseries \l_@@_set_entitle_tl
      \end{spacing}
      \vspace*{112\p@} \par
      \begin{tabular}{*2{&gt;{\bfseries\large}l}}
        \@@_cover_spread_box:nn { 5em } {Candidate:~} &amp;
        \l_@@_set_enauthor_tl\\[3ex]
        \@@_cover_spread_box:nn { 5em } {Supervisor:~} &amp;
        \l_@@_set_enrole_tl{} ~ \l_@@_set_ensupervisor_tl
        \\[11ex]
      \end{tabular}
      \vspace*{8\p@}\par
      \bfseries \large
      \clist_item:Nn
      \g_@@_month_clist { \int_use:N \c_sys_month_int },~
      \int_use:N \c_sys_year_int
    \end{center}
  }
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\commitment}
%   逕滓�謇ｿ隸ｺ荵ｦ
%    \begin{macrocode}
\NewDocumentCommand \commitment { O{} }
  {
    \cfoot {}
    \newgeometry{margin = 2.75cm}
    \titlepage
      \@@_commitment_pg_aux:n {#1}
    \endtitlepage
    \restoregeometry
    \cfoot {\small \thepage}
  }
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@@_commitment_pg_aux:n}
%   \cs{commitment} 逧�ｾ�勧蜻ｽ莉､.
%    \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_commitment_pg_aux:n #1
  {
    \vspace*{-12\p@}
    \begin{center}
      \large
      譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ\\[1ex] 蟄ｦ菴崎ｮｺ譁�次蛻帶ｧ螢ｰ譏主柱菴ｿ逕ｨ謗域揀隸ｴ譏�
    \end{center}
    \vspace*{20\p@}
    \begin{center}
      \@@_font_semilarge: 蜴溷�諤ｧ螢ｰ譏�
    \end{center}
    \par \vspace*{.4\baselineskip}
    \begin{spacing}{1.65}
      譛ｬ莠ｺ驛鷹㍾螢ｰ譏趣ｼ壽園蜻井ｺ､逧�ｭｦ菴崎ｮｺ譁�ｼ梧弍譛ｬ莠ｺ蝨ｨ蟇ｼ蟶育噪謖�ｯｼ荳具ｼ�
      迢ｬ遶玖ｿ幄｡檎�皮ｩｶ蟾･菴懈園蜿門ｾ礼噪謌先棡縲る勁譁�ｸｭ蟾ｲ扈乗ｳｨ譏主ｼ慕畑逧��螳ｹ螟厄ｼ�
      譛ｬ隶ｺ譁�ｸ榊性莉ｻ菴募�莉紋ｸｪ莠ｺ謌夜寔菴灘ｷｲ扈丞書陦ｨ謌匁腸蜀呵ｿ�噪菴懷刀謌匁�譫懊�
      蟇ｹ譛ｬ譁�噪遐皮ｩｶ蛛壼�驥崎ｦ∬ｴ｡迪ｮ逧�ｸｪ莠ｺ蜥碁寔菴難ｼ悟插蟾ｲ蝨ｨ譁�ｸｭ莉･譏守｡ｮ譁ｹ蠑乗���縲�\par
      \noindent 逕ｳ隸ｷ蟄ｦ菴崎ｮｺ譁�ｸ手ｵ�侭闍･譛我ｸ榊ｮ樔ｹ句､�ｼ梧悽莠ｺ謇ｿ諡�ｸ蛻�嶌蜈ｳ雍｣莉ｻ縲�
      \par \vspace*{1.25\baselineskip}
      \noindent \makebox [ .45\linewidth ] [ l ]
        {
          隶ｺ譁�ｽ懆�ｭｾ蜷搾ｼ�
          \@@_sign_process_aux:nnn {#1} { 1 } { 0 }
          \tl_if_empty:NF \l_@@_sign_figure_tl
            {
              \@@_commitment_sign:N
                \l_@@_sign_figure_tl
              \tl_clear:N \l_@@_sign_figure_tl
            }
        }
      譌･譛滂ｼ�
      \makebox [ 2.5em ] [ l ]
        { \@@_sign_process_aux:nnn {#1} { 1 } { 1 } } 蟷ｴ
      \makebox [ 2em ]
        { \@@_sign_process_aux:nnn {#1} { 1 } { 2 } } 譛�
      \makebox [ 2em ]
        { \@@_sign_process_aux:nnn {#1} { 1 } { 3 } } 譌･
      \par\vspace*{20\p@}
      \begin{center}
        \@@_font_semilarge: 蟄ｦ菴崎ｮｺ譁�ｽｿ逕ｨ謗域揀隸ｴ譏�
      \end{center}
      \par \vspace*{.4\baselineskip}
      譛ｬ莠ｺ螳悟�莠�ｧ｣譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ蜈ｳ莠惹ｿ晉蕗蜥御ｽｿ逕ｨ蟄ｦ菴崎ｮｺ譁�噪隗�ｮ夲ｼ�
      蜊ｳ�夂�皮ｩｶ逕溷惠譬｡謾ｻ隸ｻ蟄ｦ菴肴悄髣ｴ隶ｺ譁�ｷ･菴懃噪遏･隸�ｺｧ譚�黒菴榊ｱ樊擯蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ縲�
      譛ｬ莠ｺ菫晁ｯ∵ｯ穂ｸ夂ｦｻ譬｡蜷趣ｼ�
      蜿題｡ｨ隶ｺ譁��菴ｿ逕ｨ隶ｺ譁�ｷ･菴懈�譫懈慮鄂ｲ蜷榊黒菴堺ｻ咲┯荳ｺ譚ｭ蟾樒鳩蟄千ｧ第橿螟ｧ蟄ｦ縲�
      蟄ｦ譬｡譛画揀菫晉蕗騾∽ｺ､隶ｺ譁�噪螟榊魂莉ｶ�悟�隶ｸ譟･髦�柱蛟滄�隶ｺ譁�ｼ�
      蟄ｦ譬｡蜿ｯ莉･蜈ｬ蟶�ｮｺ譁�噪蜈ｨ驛ｨ謌夜Κ蛻��螳ｹ��
      蜿ｯ莉･蜈∬ｮｸ驥�畑蠖ｱ蜊ｰ縲∫ｼｩ蜊ｰ謌門�螳�､榊宛謇区ｮｵ菫晏ｭ倩ｮｺ譁��
      �井ｿ晏ｯ�ｮｺ譁�惠隗｣蟇�錘驕ｵ螳域ｭ､隗�ｮ夲ｼ�
      \par \vspace*{1.25\baselineskip}
      \noindent \makebox [.45\linewidth] [ l ]
        {
          隶ｺ譁�ｽ懆�ｭｾ蜷搾ｼ�
          \@@_sign_process_aux:nnn {#1} { 2 } { 0 }
          \tl_if_empty:NF \l_@@_sign_figure_tl
            {
              \@@_commitment_sign:N
                \l_@@_sign_figure_tl
              \tl_clear:N \l_@@_sign_figure_tl
            }
        }
      譌･譛滂ｼ�
      \makebox [ 2.5em ] [ l ]
        { \@@_sign_process_aux:nnn {#1} { 2 } { 1 } } 蟷ｴ
      \makebox [ 2em ]
        { \@@_sign_process_aux:nnn {#1} { 2 } { 2 } } 譛�
      \makebox [ 2em ]
        { \@@_sign_process_aux:nnn {#1} { 2 } { 3 } } 譌･
      \par \vspace*{\baselineskip}
      \noindent \makebox [ .45\linewidth ] [ l ]
        {
          謖�ｯｼ謨吝ｸ育ｭｾ蜷搾ｼ�
          \@@_sign_process_aux:nnn {#1} { 3 } { 0 }
          \tl_if_empty:NF \l_@@_sign_figure_tl
            {
              \@@_commitment_sign:N
                \l_@@_sign_figure_tl
              \tl_clear:N \l_@@_sign_figure_tl
            }
        }
      譌･譛滂ｼ�
      \makebox [ 2.5em ] [ l ]
        { \@@_sign_process_aux:nnn {#1} { 3 } { 1 } } 蟷ｴ
      \makebox [ 2em ]
        { \@@_sign_process_aux:nnn {#1} { 3 } { 2 } } 譛�
      \makebox [ 2em ]
        { \@@_sign_process_aux:nnn {#1} { 3 } { 3 } } 譌･
    \end{spacing}
  }
%    \end{macrocode}
% \end{macro}
% \DescribeEnv{abstract}
% 驥肴眠螳壻ｹ画遭隕∫識蠅�ｼ悟刈蜈･荳ｭ闍ｱ譁�愛譁ｭ.
%    \begin{macrocode}
\RenewDocumentEnvironment {abstract} { O{en} }
  {
    \str_if_eq:nnT {#1} {en}
      {
        \tl_set:Nn \l_@@_keywords_name_tl {Keywords:~}
        \tl_set:Nn \l_@@_keywords_sep_tl {,~}
        \@beginparpenalty \@lowpenalty
        \chapter*{\normalfont\bfseries Abstract}
        \addcontentsline{toc}{chapter}{\bfseries Abstract}
      }
    \str_if_eq:nnT {#1} {cn}
      {
        \tl_set:Nn \l_@@_keywords_name_tl {\textsf{蜈ｳ髞ｮ隸搾ｼ嘲}
        \tl_set:Nn \l_@@_keywords_sep_tl {�迎
        \@beginparpenalty \@lowpenalty
        \chapter*{鞫倩ｦ±
        \addcontentsline{toc}{chapter}{鞫倩ｦ±
      }
  }
  {
    \tl_clear:N \l_@@_abstract_title_tl
    \clearpage
  }
%    \end{macrocode}
% \begin{variable}{\l_@@_keywords_clist}
%   蟄伜お蜈ｳ髞ｮ隸榊�陦ｨ.
%    \begin{macrocode}
\clist_new:N \l_@@_keywords_clist
%    \end{macrocode}
% \end{variable}
% \begin{macro}{\keywords}
%  驥肴眠螳壻ｹ� \cs{keywords} 蜻ｽ莉､�悟�髞ｮ隸肴�ｷ蠑丈ｼ壽�ｹ謐ｮ \env{abstract} 謇騾芽ｯｭ險閾ｪ蜉ｨ蜿伜喧.
%    \begin{macrocode}
\NewDocumentCommand \keywords { m }
  {
    \par \vspace*{\baselineskip}
    \noindent\textbf{\l_@@_keywords_name_tl}
    \clist_set:Nn \l_@@_keywords_clist {#1}
    \clist_use:Nn \l_@@_keywords_clist { \l_@@_keywords_sep_tl }
  }
%    \end{macrocode}
% \end{macro}
%   隶ｾ鄂ｮ逶ｮ蠖墓�ｷ蠑�.
%    \begin{macrocode}
\RequirePackage{tocloft}
\renewcommand \contentsname {\hfill 逶ｮ蠖� \hfill}
\renewcommand* \cfttoctitlefont{\sffamily\@@_font_semiLarge:}
\dim_set:Nn \cftbeforetoctitleskip {12pt}
\dim_set:Nn \cftaftertoctitleskip {24pt}
\dim_set:Nn \cftbeforechapskip {1pt}
\dim_set:Nn \cftbeforesecskip {-.2pt}
\patchcmd { \@dottedtocline }
  {
    \leaders
    \hbox { $\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$ }
  }
  {
    \kern 4pt \leaders
    \hbox { $\m@th\mkern .4 mu\hbox{.}\mkern .4 mu$ }
  } {}{}
\renewcommand* \l@chapter {\@dottedtocline{1}{0em}{1.6em}}
\renewcommand* \l@section {\@dottedtocline{1}{2.3em}{2.1em}}
\renewcommand* \@dotsep {1.7}
\renewcommand* \@pnumwidth {2.5ex}
\renewcommand* \cftchapfont {\normalfont}
\setcounter{tocdepth}{1}
%    \end{macrocode}
%   菴ｿ逕ｨ \cs{ctexset} 謠蝉ｾ帷噪謗･蜿｣隶ｾ鄂ｮ遶�闃よ�ｷ蠑�.
%    \begin{macrocode}
\ctexset
  {
    chapter    =
      {
        aftername  = \hspace{.5\ccwd}, fixskip   = true,
        beforeskip = 32pt,             afterskip = 32pt,
        format+    = \sffamily \@@_font_semiLarge:,
        pagestyle  = fancy
      },
    section    =
      {
        aftername  = \hspace{.5\ccwd}, fixskip   = true,
        beforeskip = 2ex,              afterskip = 2.75ex,
        format     = \sffamily \large
      },
    subsection =
      {
        aftername  = \hspace{.5\ccwd}, fixskip   = true,
        beforeskip = 2ex,              afterskip = 2.75ex,
        format     = \sffamily \@@_font_semilarge:
      }
  }
%    \end{macrocode}
%
%    \begin{macrocode}
\makeatother \ExplSyntaxOff
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;/pg.config&gt;
%    \end{macrocode}
%
% \subsection{Beamer 荳ｻ鬚倡噪螳樒鴫}
%
%    \begin{macrocode}
%&lt;*beamer&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
\ProvidesExplPackage{beamerthemehdu}{\hduthesis@date}{\hduthesis@version}
  {hduThesiS ~ \text_titlecase:n {beamer} ~ Module}
%    \end{macrocode}
%
%    \begin{macrocode}
\mode&lt;presentation&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
\RequirePackage{tikz}
\usetikzlibrary{fadings}
%    \end{macrocode}
%   謠貞崟逶ｸ蟇ｹ霍ｯ蠕�ｮｾ鄂ｮ.
%    \begin{macrocode}
\graphicspath
  {
    {./figure/}  {./image/}  {./graphic/}  {./picture/}
    {./figures/} {./images/} {./graphics/} {./pictures/}
  }
%    \end{macrocode}
% 讓｡蠑� \module{beamer} 荳� \cs{hduset} 謗･蜿｣髞ｮ蛟ｼ逧�ｮ壻ｹ�.
% \begin{variable}
%   {
%     \l_@@_set_title_tl,      \l_@@_set_subtitle_tl,
%     \l_@@_set_author_tl,     \l_@@_set_date_tl,
%     \l_@@_set_supervisor_tl, \l_@@_set_reference_tl,
%   }
%    \begin{macrocode}
\keys_define:nn { beamer / hduset }
  {
    title      .tl_set:N = \l_@@_set_title_tl,
    subtitle   .tl_set:N = \l_@@_set_subtitle_tl,
    author     .tl_set:N = \l_@@_set_author_tl,
    date       .tl_set:N = \l_@@_set_date_tl,
    supervisor .tl_set:N = \l_@@_set_supervisor_tl,
    bibsource  .tl_set:N = \l_@@_set_bibsource_tl,
  }
%    \end{macrocode}
% \end{variable}
% \begin{macro}{\hduset}
%   讓｡蠑� \module{beamer} 荳玖ｮｾ鄂ｮ譁�｡｣菫｡諱ｯ.
%    \begin{macrocode}
\NewDocumentCommand \hduset { m }
  {
    \keys_set:nn { beamer / hduset } { #1 }
    \title { \large \l_@@_set_title_tl }
    \tl_set:Nn \insertshorttitle { \textsc \l_@@_set_subtitle_tl }
    \author [ \l_@@_set_author_tl ]
      {
        \l_@@_set_author_tl
        \tl_if_empty:NF \l_@@_set_supervisor_tl
          { 
            \texorpdfstring
              { \\[2ex]
                \small Supervised ~ by ~ \l_@@_set_supervisor_tl
              } {}
          }
      }
    \date { \l_@@_set_date_tl }
    \tl_if_empty:NTF \l_@@_set_bibsource_tl
      {
        \newcommand* \printbibliography
          {
            \begin{frame}[t]
              \frametitle{Bibliography}
            \end{frame}
          }
        \newcounter {citecount}
        \renewcommand*\cite[1]
          {
            \refstepcounter{citecount}
            \textsuperscript{[\thecitecount]}
          }
      }
      {
        \RequirePackage [ natbib = true, sorting = none, backend = biber,
                          autocite = superscript, style = numeric-comp ]
                        { biblatex }
        \addbibresource { \l_@@_set_reference_tl }
        \let \@printbibliography \printbibliography
        \renewcommand* \printbibliography
          {
            \begin{frame}[t, allowframebreaks]{Bibliography}
              \small
              \@printbibliography
            \end{frame}
          }
      }
  }
%    \end{macrocode}
% \end{macro}
%   |Beamer| 閭梧勹 \&amp; 譬�､ｴ隶ｾ鄂ｮ.
%    \begin{macrocode}
\usebackgroundtemplate
  {
    \tikz [ remember~picture, overlay ]
      \node [ inner~sep = 0pt, outer~sep = auto,
              opacity = .1,    xshift = -2em 
            ] at (current~page.east)
       { \includegraphics [ height = .75\paperheight ] { hdu-logo.pdf } };
  }
\titlegraphic
  {
    \tikz [ remember~picture, overlay ]
      \node [ below~right, yshift = -1em ] at (current~page.north~west) 
        { \includegraphics [ width = 2\textwidth/7 ]{ hdu-badge.pdf } };
  }
%    \end{macrocode}
%   |Beamer| 蜴溽函荳ｻ鬚倩ｰ�畑.
%    \begin{macrocode}
\useoutertheme{infolines}
\useinnertheme[shadow = false]{rounded}
\definecolor{hdu}{HTML}{163479}
\definecolor{hduRed}{HTML}{BF6236}
\usecolortheme[named = hdu]{structure}
\setbeamercolor*{palette~primary}
  {
    use = structure, fg = black,
    bg  = structure.fg!30!white
  }
\setbeamercolor*{palette~secondary}
  {
    use = structure, fg = white,
    bg  = structure.fg!60!white
  }
\setbeamercolor*{palette~tertiary}
  {
    use = structure, fg = white,
    bg  = structure.fg!90!white
  }
\setbeamercolor{block~title}
  {
    use = structure, fg  = structure.fg,
    bg  = structure.fg!20!bg
  }
\setbeamercolor{block~body}
  {
    use = block~title, parent = normal~text, 
    bg  = block~title.bg!50!bg
  }
\addtobeamertemplate{block~begin}
  {\pgfsetfillopacity{0.8}}{\pgfsetfillopacity{1}}
\setbeamercolor{block~title~alerted}
  {
    use = alerted~text, fg = alerted~text.fg,
    bg  = alerted~text.fg!20!bg
  }
\setbeamercolor{block~body~alerted}
  {
    use = block~title~alerted, parent = normal~text,
    bg  = block~title~alerted.bg!50!bg
  }
\addtobeamertemplate{block~alerted~begin}
  {\pgfsetfillopacity{0.8}}{\pgfsetfillopacity{1}}
\setbeamercolor{block~title~example}
  {
    use = example~text,fg = example~text.fg,
    bg  = example~text.fg!20!bg
  }
\setbeamercolor{block~body~example}
  {
    use = block~title~example, parent=normal~text,
    bg  = block~title~example.bg!50!bg
  }
\addtobeamertemplate{block~example~begin}
  {\pgfsetfillopacity{0.8}}{\pgfsetfillopacity{1}}
\setbeamercolor{title}{parent=author~in~head/foot}
\setbeamertemplate{title~page}[default][colsep=-4bp,rounded=true]
\usesubitemizeitemtemplate
  {\tiny\raise1.5pt\hbox{\color{beamerstructure}$\blacktriangleright$}}
\usesubsubitemizeitemtemplate
  { \tiny\raise1.5pt\hbox{\color{beamerstructure}$\bigstar$} }
%    \end{macrocode}
%   |Beamer| 鬘ｶ驛ｨ霑帛ｺｦ譚｡驟咲ｽｮ.
%    \begin{macrocode}
\addtobeamertemplate{headline}{}
  {
    \tikz [ remember~picture, overlay ]
      {
        \filldraw [hduRed, ultra~thick, line~cap = butt]
          (0,0) --++
          (\insertpagenumber\paperwidth/\insertdocumentendpage,0);
        \draw [white, very~thick, yshift = -.6pt] (0,0) --++
          (\paperwidth,0);
      }
  }
%    \end{macrocode}
%   |Beamer| 遶�闃ょｰ�擇隶ｾ鄂ｮ.
%    \begin{macrocode}
\AtBeginSection[]
  {
    \begin{frame}
      \tikz [ remember~picture, overlay ]
        \node [ below~right, yshift = -1em ] at (current~page.north~west) 
          { \includegraphics [ width = 2\textwidth/7 ]{ hdu-badge.pdf } };
      \vfill
      \usebeamerfont{title} \insertsectionhead \par
      \tikz
        {
          \draw [line~cap = round, hdu!20, ultra~thick]
            (0,0) --++ (2\linewidth/3,0);
          \filldraw
            [ line~cap = round, hdu!60, ultra~thick, path~fading = west
            ] (0,0) --++
              (\insertpagenumber\linewidth/\insertdocumentendpage * 2/3,0);
        }
      \vfill
    \end{frame}
  }
%    \end{macrocode}
%   蜈ｬ蠑乗賜迚亥ｿ�ｦ∝ｮ丞桁蜉�霓ｽ.
%    \begin{macrocode}
% math settings
\numberwithin{equation}{section}
\RequirePackage { keytheorems, amssymb, mathtools, physics2,
                  fixdif, derivative, cancel, siunitx, nicematrix }
\renewcommand* \qedsymbol {$\color{gray}\blacksquare$}
\usephysicsmodule{ ab, braket, op.legacy }
%    \end{macrocode}
%   豬ｮ蜉ｨ菴楢ｮｾ鄂ｮ.
%    \begin{macrocode}
% Figure settings
\RequirePackage [ labelsep = period, figurename = \textsc{Fig},
                  font = footnotesize ] {caption}
\RequirePackage {subcaption, booktabs, anyfontsize, ragged2e}
\captionsetup{belowskip=0pt}
\captionsetup[sub]{font = scriptsize}
\justifying
\AtBeginEnvironment{columns}{\vspace*{-.5ex}}
%    \end{macrocode}
%
%    \begin{macrocode}
\mode&lt;all&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;/beamer&gt;
%    \end{macrocode}
%
% \subsection{\module{stationery} 讓｡蝮礼噪螳樒鴫}
%
%    \begin{macrocode}
%&lt;*stationery&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
\@@_provide_module:n {stationery}
%    \end{macrocode}
%
% \begin{macro}
%   {
%     \g_@@_set_watermark_bool,
%     \l_@@_set_title_tl, \l_@@_set_author_tl,
%     \l_@@_set_mail_tl,  \l_@@_set_date_tl
%   }
%   讓｡蠑� \module{stationery} 荳� \cs{hduset} 謗･蜿｣髞ｮ蛟ｼ逧�ｮ壻ｹ�.
%    \begin{macrocode}
\keys_define:nn { stationery / hduset }
  {
    watermark   .bool_set:N = \g_@@_set_watermark_bool,
      watermark .initial:n  = false,
      watermark .default:n  = true,
    title       .tl_set:N   = \l_@@_set_title_tl,
    author      .tl_set:N   = \l_@@_set_author_tl,
    mail        .tl_set:N   = \l_@@_set_mail_tl,
    date        .tl_set:N   = \l_@@_set_date_tl
  }
%    \end{macrocode}
% \end{macro}
%    \begin{macrocode}
\RequirePackage{ hyperref,      geometry, tikz,
                 tikzpagenodes, twemojis, fancyhdr }
\hypersetup{hidelinks}
\urlstyle{same}
%    \end{macrocode}
% \begin{macro}{\hduset}
%   讓｡蠑� \module{beamer} 荳玖ｮｾ鄂ｮ譁�｡｣菫｡諱ｯ.
%    \begin{macrocode}
\NewDocumentCommand \hduset { m }
  {
    \tl_clear:N \l_@@_set_author_tl
    \tl_clear:N \l_@@_set_mail_tl
    \keys_set:nn { stationery / hduset } {#1}
    \hypersetup
      {
        pdftitle = Hangzhou Dianzi University,
        pdfsubject = \l_@@_set_title_tl,
        pdfauthor = \l_@@_set_author_tl
      }
  }
%    \end{macrocode}
% \end{macro}
%   隶ｾ鄂ｮ鬘ｵ髱｢蟶�ｱ縲�｡ｵ逵蛾｡ｵ閼壽�ｼ蠑�.
%    \begin{macrocode}
\geometry
  { hmargin  = .8in,    top     = 1.95in, bottom   = .75in,
    headheight = 1.2in, headsep = .3in,   footskip = .3in }
\linespread{1.25}
\RequirePackage [ skip = \baselineskip ] { parskip }
\renewcommand* \familydefault { \sfdefault }
\definecolor{hdu}{HTML}{163479}

\renewcommand* \headrulewidth {2pt}
\renewcommand* \footrulewidth {2pt}
\hook_gput_code:nnn { cmd/headrule/before } { . } { \color{hdu!80} }
\hook_gput_code:nnn { cmd/footrule/before } { . } { \color{hdu!80} }
\lhead
  { {}~
    \minipage{.6\linewidth}
      \medskip \leavevmode \lower -.111in
      \hbox { \includegraphics [ height = .75in ] {hdu-badge} }
    \endminipage \medskip \hfill
    \minipage{.36\linewidth}
      \medskip \vbox
        {
          \linespread{1.2}
          \raggedright \small \color{hdu}
          \texttwemoji{1f4cd} ~ 1158 ~ No.2 ~ St., ~ Hangzhou, ~ 310018\\
          \texttwemoji{1f4de} ~ (86) ~ 0571-86915072\\
          \texttwemoji{1f310} ~ \url{www.hdu.edu.cn}
        } \medskip
    \endminipage
  }
\lfoot
  {
    \small{} ~ \texttwemoji{1f4cd} ~
    1158 ~ No.2~Street, ~ Qiantang ~District, ~
    Hangzhou, ~ Zhejiang ~ Province, ~ 310018, ~ P.R.China
  }
\cfoot {}
\rfoot { \small \texttwemoji{1f310} ~ \url{www.hdu.edu.cn} ~ }
\pagestyle{fancy}
%    \end{macrocode}
% \begin{macro}{\maketitle}
%   驥肴眠螳壻ｹ画��｢伜ｸ�ｱ�悟ｽ捺悴扈吝ｮ� \key*{author} 蜥� \key*{mail} 譌ｶ�御ｸ崎ｾ灘� |From|.
%    \begin{macrocode}
\renewcommand* \maketitle
  {
    \group_begin: \small
    \bool_lazy_or:nnT
      { !\tl_if_empty_p:N \l_@@_set_author_tl }
      { !\tl_if_empty_p:N \l_@@_set_mail_tl }
      { \makebox [ 4em ] [ l ] { \scshape From } }
    \tl_if_empty:NTF \l_@@_set_author_tl
      { \@latex@warning@no@line {No \noexpand \author given} }
      { \l_@@_set_author_tl{} ~ }
    \tl_if_empty:NF \l_@@_set_mail_tl
      { \texttt { &lt;\l_@@_set_mail_tl&gt; } }
    \bool_lazy_or:nnT
      { !\tl_if_empty_p:N \l_@@_set_author_tl }
      { !\tl_if_empty_p:N \l_@@_set_mail_tl } { \\ }
    \makebox [ 4em ] [ l ] { \scshape Date }
    \tl_if_empty:NTF \l_@@_set_date_tl \today \l_@@_set_date_tl \\
    \tl_if_empty:NTF \l_@@_set_title_tl
      { \@latex@error {No \noexpand \title given}\@ehc }
      {
        \makebox [ 4em ] [ l ] { \scshape Subject }
        \l_@@_set_title_tl
      }
    \par \vspace{.5\baselineskip}
    \group_end:
  }
%    \end{macrocode}
% \end{macro}
%   豌ｴ蜊ｰ隶ｾ鄂ｮ.
%    \begin{macrocode}
\AtBeginDocument { \color_select:n {black!80} }
\DeclareHookRule { shipout / background } { hduthesis / stationery }
  { before } { pgfrcs }
\AddToHook { shipout / background } [ hduthesis / stationery ]
  {
    \bool_if:NT \g_@@_set_watermark_bool
      {
        \tikz [ remember~picture, overlay ]
          \node [ opacity = .2 ] at (current~page)
            { \includegraphics [ width = .4\linewidth ] {hdu-logo} };
      }
  }
%    \end{macrocode}
% \begin{macro}{\notelines}
%   逕ｨ莠取ｷｻ蜉�隨碑ｮｰ郤ｿ.
%    \begin{macrocode}
\NewDocumentCommand \notelines {O{20}}
  {
    \tikz [ remember~picture, overlay ]
      {
        \int_step_inline:nn { #1 - 1 }
          {
            \draw [ hdu, very~thick, opacity = .6 ]
              ([
                yshift = -##1 * (\textheight + .6in - 15.87pt ) / #1
                       + .3in
               ]current~page~text~area.north~west
              ) --++ (\linewidth, 0);
          }
      }
  }
%    \end{macrocode}
% \end{macro}
%
%    \begin{macrocode}
%&lt;/stationery&gt;
%    \end{macrocode}
%
% \subsection{\module{exam} 讓｡蝮礼噪螳樒鴫}
%
%    \begin{macrocode}
%&lt;*exam&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
\@@_provide_module:n {exam}
\keys_define:nn { hduthesis / exam }
  {
    watermark .tl_set:N = \l_@@_exam_watermark_tl,
  }
\NewDocumentCommand \hdutexset {m} { \keys_set:nn { hduthesis / exam } {#1} }
\DeclareHookRule { shipout / background }
  { hduthesis / exam } { before } { pgfrcs }
\AddToHook { shipout / background } [ hduthesis / exam ]
  {
    \tl_if_empty:NF \l_@@_exam_watermark_tl
      {
        \tikz [ remember~picture, overlay ]
          \node [ opacity = .2 ] at (current~page)
            {
              \includegraphics [ width = \linewidth ]
                { \l_@@_exam_watermark_tl }
            };
      }
  }
\RequirePackage
  {
    geometry, mathtools, array, bm, esint, keytheorems,
    siunitx, fixdif, derivative, physics2, tasks, anyfontsize
  }
\RequirePackage[inline]{enumitem}
\RequirePackage{fontawesome5, fancyqr, circuitikz}
\hook_gput_code:nnn { cmd/faIcon/before } { . }
  {
    \group_begin:
    \fontsize { \fp_eval:n { .9 * \f@size } } { 0 } \selectfont
  }
\hook_gput_code:nnn { cmd/faIcon/after } { . } { \group_end: }
\geometry{margin = 1in}
\RequirePackage[svgnames]{xcolor}
\newkeytheorem{note}
  [ style = remark, numbered = false,
    name = \color{DarkRed}\sffamily \faIcon{info-circle}~Tip. ]
\newkeytheorem{problem}
  [ style = definition,
    name = \color{DarkGreen}\sffamily \faIcon{pen-square}~Problem ]
\newkeytheorem{solution}
  [ style = definition, numbered = false,
    name = \color{MidnightBlue}\sffamily \faIcon{check-square}~Solution ]
\usephysicsmodule{ab, op.legacy}
\settasks { label = \sffamily\Alph*., item-indent = 2.5em, label-offset = .5pt }
\newcommand \true {\addtocounter{task}{1}\faIcon{check-circle}}
\def \@result#1 {\underline{~#1~}}
\def \s@result {\textsf{縲申qquad 縲挿}
\DeclareRobustCommand \result {\@ifstar\s@result\@result}
\keys_define:nn { textfig }
  {
    ratio      .tl_set:N    = \l_@@_textfig_ratio_tl,
      ratio    .initial:n   = 7 \c_colon_str 2,
    position   .tl_set:N    = \l_@@_textfig_position_tl,
      position .initial:n   = c,
    unknown    .code:n      = \tl_if_novalue:nF {#1}
      { \tl_set_eq:NN \l_@@_textfig_position_tl \l_keys_key_tl }
  }
\NewDocumentEnvironment{textfig}{ O{} }
  {
    \group_begin:
    \keys_set:nn { textfig } {#1}
    \seq_set_split:Nee \l_@@_textfig_ratio_seq { \c_colon_str }
      { \l_@@_textfig_ratio_tl }
    \noindent
    \minipage [ \l_@@_textfig_position_tl ]
      {
        \fp_eval:n
          {
            .96*\seq_item:Nn \l_@@_textfig_ratio_seq {1}/
              (
                \seq_item:Nn \l_@@_textfig_ratio_seq {1} + 
                \seq_item:Nn \l_@@_textfig_ratio_seq {2}
              )
          }\dimexpr \linewidth
      }
  }
  {
    \endminipage
    \vspace{4.5pt plus 1.5pt minus 1.5pt} \par
    \group_end:
  }
\NewDocumentCommand \textfigsplit {}
  {
    \endminipage
    \hspace{.02\linewidth}
    \minipage [ \l_@@_textfig_position_tl ]
      {
        \fp_eval:n
          {
            .96*\seq_item:Nn \l_@@_textfig_ratio_seq {2}/
              (
                \seq_item:Nn \l_@@_textfig_ratio_seq {1} + 
                \seq_item:Nn \l_@@_textfig_ratio_seq {2}
              )
          }\dimexpr \linewidth
      }
  }

\makeatother \ExplSyntaxOff
\usetikzlibrary{ fadings, patterns, arrows, decorations.markings }
\tikzset
  {
    &gt; = stealth',
    every picture/.append style =
      { line join = round, line cap = round, thick }
  }
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;/exam&gt;
%    \end{macrocode}
%
% \subsection{\module{l3doc} 讓｡蝮礼噪螳樒鴫}
%
%    \begin{macrocode}
%&lt;*l3doc&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
\@@_provide_module:n {l3doc}
%    \end{macrocode}
%   螳壻ｹ牙ｸｸ逕ｨ蠑ｺ隹�多莉､.
%    \begin{macrocode}
\providecommand \module \texttt
\RenewDocumentCommand \pkg {m}
  { \href{https://ctan.org/pkg/#1}{\textsf{#1}} }
\RenewDocumentCommand \cls {m}
  { \href{https://ctan.org/pkg/#1}{\textsf{#1}} }
\NewDocumentCommand \mailto {m} { \texttt{&lt;\href{mailto:#1}{#1}&gt;} }
\def \@key #1
  { \textcolor{red}{\textbf{\texttt{#1}}} ~ \normalfont \texttt{=} ~ }
\def \s@key #1{\textcolor{red}{\textbf{\texttt{#1}}}}
\DeclareRobustCommand \key {\@ifstar\s@key\@key}
%    \end{macrocode}
%   逕ｨ莠手ｾ灘�髞ｮ蛟ｼ蟇ｹ.
%    \begin{macrocode}
\def \val #1{\meta{\textup{#1}}}
\def \TFF {true\textbar \textbf{false}}
\def \TTF {\textbf{true}\textbar false}
\newlist{keyval}{itemize}{10}
\setlist[keyval]{leftmargin = 0pt, labelsep = 0pt}
%    \end{macrocode}
%   驟咲ｽｮ \pkg{hyperref}�瑚ｰ�畑謇髴螳丞桁.
%    \begin{macrocode}
\RequirePackage{ hyperref }
\RequirePackage [ svgnames ] { xcolor }
\hypersetup
  {
    filecolor = DarkGreen, urlcolor = MidnightBlue,
    linkcolor = FireBrick
  }
\ExplSyntaxOff
\pdfstringdefDisableCommands
  {
    \def \file #1 { &lt;#1&gt; } \def \pkg    #1 { &lt;#1&gt; }
    \def \cls  #1 { &lt;#1&gt; } \def \mailto #1 { &lt;#1&gt; }
  }
\RequirePackage{tikz}
\usetikzlibrary{calc}
\ExplSyntaxOn
\RequirePackage [ pass ] { geometry }
\RequirePackage { enumitem, dirtree,  tabularx,
                  tasks,    pdfpages, subcaption }
\graphicspath { {} }
\RequirePackage[fontset = fandol]{ctex} \linespread{1.4}
\dim_set:Nn \parindent {0pt}
\hook_gput_code:nnn { env/function/before } { . }
  { \vspace*{-.6\baselineskip} }
\hook_gput_code:nnn { env/syntax/after } { . }
  { \par\vspace*{.1\baselineskip} }
%    \end{macrocode}
%   螳壻ｹ画眠逧� \pkg{hologo} 譬�ｿ�.
%    \begin{macrocode}
\def \HoLogo@ApTeX #1{\HOLOGO@mbox {Ap\kern -.1667em\TeX}}
\def \HoLogo@hduThesiS #1
  {
    \raisebox{-.5pt}
      {
        \HOLOGO@mbox
          {
            \tikz [ baseline = (hduthesis.base) ]
              {
                \node [ inner~sep = 0pt ] (hduthesis)
                  {\sffamily\scshape hduThesi\scalebox{1.2}[1.2]{S}};
                \draw let \p1 = (hduthesis.west),
                          \p2 = (hduthesis.east) in (\x1,\y1) (\x2,\y2)
                  [ line~width = {.028pt * (\x2 - \x1)} ]
                  ([yshift = -.5ex]hduthesis.north~west)
                  to [ bend~right = 5 ]
                  ([yshift = .25ex]hduthesis.north~east);
              }
          }
      }
  }
\def \HoLogo@hduthesis #1
  { \raisebox{-.5pt} { \HOLOGO@mbox { \scshape \cls{hduThesiS} } } }
%    \end{macrocode}
%   驥肴眠螳壻ｹ牙ｰ�擇蟶�ｱ.
%    \begin{macrocode}
\let \old@maketitle \maketitle
\RenewDocumentCommand \maketitle {}
  {
    \newgeometry { margin = 1.2in }
    \titlepage
    \old@maketitle
    \begin{center}
      \tikz
        {
          \node [ opacity = .8 ] 
            {
              \includegraphics [ width = .14\paperwidth ]
                { hdu-motto.pdf }
            };
          \node [ opacity = .3 ]
            {
              \includegraphics [ width = .21\paperwidth ]
                { hdu-logo.pdf }
            };
      }
    \end{center}
    \thispagestyle{empty}
  }
\hook_gput_code:nnn { cmd/tableofcontents/before } { . }
  { \clearpage }
\hook_gput_code:nnn { cmd/tableofcontents/after  } { . }
  { \endtitlepage \restoregeometry }
\date{
  Released ~ \hduthesis@date \quad \texttt{v\hduthesis@version}
  \footnote{
    \url{https://github.com/\hduthesis@maintainerid/hduthesis}, ~
    \url{https://gitee.com/\hduthesis@maintainerid/hduthesis}
  }
}
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;/l3doc&gt;
%    \end{macrocode}
%
% \end{implementation}
% \clearpage
% \PrintIndex</pre></body></html>