<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,                 *
%                                   hdulogo.pdf,                        *
%                                   hdutitle.pdf,                       *
%                                   hdubadge.pdf,                       *
%                                   hdumotto.pdf,                       *
%                                   hduthesis.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, expl3, xparse}
%&lt;/driver|package&gt;
%&lt;*driver&gt;
\documentclass[mode = l3doc, full]{hduthesis}
\usepackage[fontsize = 10.5pt]{fontsize}
\usepackage[mono = false]{libertine}
\setmonofont[Scale = .875]{Maple Mono-Light}
\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} 璅⊥踎嚗�
%   �𣈲��摮血ㄚ��蝖訫ㄚ摮虫�滩捏����垍�����峕𧒄��𣂷�𥕢�摮行嵗靽∠牯��Beamer嚗�劂�舐���劐�舘�訫㭘閫��鞉芋�踎.
% \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}
%     {�㜺�㩞��撌亦掩瘥蓥�朞捏����嗘�𡏭���} 蝻硋�躰�峕�琜�䔶�𡏭��銝滚笆雿輻鍂�𧋦璅⊥踎鈭抒�毺��聢撘誩恣�䰻�䔮憸䁅�蠘提.
%   \ulem{憒���𨀣�冽��銁��摮阡堺��㰘捏���䰻��溻���𤣰敶閧�匧�笔�㰘�瘙���𣂷漱 \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}
%   {\ulem{The Not So Short Introduction to \hologo{LaTeX2e}}}
% 嚗�虾�銁蝏�垢��銵� |texdoc lshort| �繮��吔�㗇�𤥁���嗡葉�����
% \href{http://mirrors.ctan.org/info/lshort/chinese/lshort-zh-cn.pdf}
%   {\ulem{�𠹺�隞踝���滚云嚗厩����� \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{hdulogo.pdf}��\file{hdutitle.pdf}��
% \file{hdumotto.pdf}��\file{hdubadge.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.
%     .2 hduthesis.ins.
%     .2 example/.
%     .3 hduthesis-bachelor.tex, *.pdf.
%     .3 hduthesis-m phil.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 hdulogo.pdf.
%     .3 hdutitle.pdf.
%     .3 hdubadge.pdf.
%     .3 hdumotto.pdf.
%   }
% \end{minipage}
%
% \subsection{璅⊥踎��憒亙�譍�𤾸�菜�}
%
% \begin{enumerate}
%   \item 璅⊥踎��蝡㰘�嚗Ěcs[no-index]{chapter}��\cs[no-index]{section}��
%   \cs[no-index]{subsection}嚗匧�𦯀�瓐����滚�𡡞𡢿頝嘥���冽�厩��
%   \ulem{�㜺�㩞��撌亦掩瘥蓥�朞捏����嗘�𡏭���}餈𥡝�諹挽蝵殷�諹蒾�嗉�蹱甅��霈曄蔭�虾�賭�擧�函�摰∠�𦒘�滨泵嚗�
%   雿��糓餈蹱糓銝箔�靽肽�霈箸����聢撘讐泵���郎�嵗��閬�瘙�.
%   \item \ulem{�㜺�㩞��撌亦掩瘥蓥�朞捏����嗘�𡏭���} 銝剛�瘙�
%   \ulem*{�������讃銋血�蹱聢撘誩�𠉛泵��𠃑B7714-1987}嚗䔶��𤌍���
%   \ulem{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| 餈𥡝���㕑�銝𤾸��漣. �銁蝏�垢嚗㇍erminal嚗�
% ��銵䔶誑銝见𦶢隞文朖�虾摰㕑����鰵���𧋦�� \hologo{hduthesis} 璅⊥踎.
% \begin{quote}
%   "sudo tlmgr install hduthesis"
% \end{quote}
%
% Windows 蝟餌�毺鍂����𣳇� |sudo|嚗諹窈隞亦恣����䁅澈隞質�鞱��𦶢隞斗�鞟內蝚�.
% ��劐�𥟇𧒄�辷�峕�券�閬���见𢆡�凒�鰵 |tlmgr| ��滩�賣迤撣訾蝙�鍂 |tlmgr| �𦶢隞文�㕑�摰誩�.
% \begin{quote}
%   "sudo tlmgr update --self"
% \end{quote}
%
% ���漣霂交芋�踎嚗�銁蝏�垢嚗㇍erminal嚗㗇�銵䔶誑銝见𦶢隞文朖�虾
% \begin{quote}
%   "sudo tlmgr update hduthesis"
% \end{quote}
% ��𤏸�𣬚�� \hologo{TeX} Live 2025 隞亙�𦠜凒�鰵���𧋦撌脰䌊撣行𧋦璅⊥踎嚗峕�𣳇�摰㕑�. �蘨���銁敹�閬��𧒄���漣�朖�虾.
%
% \subsection{��见𢆡摰㕑�}
%
% �𧋦璅⊥踎撌脖�𠹺�㰘秐 \href{https://ctan.org/pkg/hduthesis}{CTAN}��
% \href{https://github.com/myhsia/hduthesis/}{GitHub} ���
% \href{https://gitee.com/myhsia/hduthesis}{Gitee} 撟喳蝱嚗�
% �虾�凒�𦻖 Clone 憿寧𤌍. 閫��见�𤾸銁敶枏�滨𤌍敶閗�鞱��
% \begin{quote}
%   "latex hduthesis.ins"
% \end{quote}
% 隡𡁶���𣂼� \ref{1.2.2} ��蝷箇� Runtime ���辣. �𦻖銝𧢲䔉�繮��硋�㕑�頝臬�嚗�銁�𦶢隞方�諹�枏��
% \begin{quote}
%   "kpsewhich -var-value TEXMFLOCAL"
% \end{quote}
% ��𦒘�朞�枏枂銝�銝芾楝敺�. 撠�銝𠹺�甇亦���鞟����辣憭滚���霂亥楝敺�銝� |./tex/latex/hduthesis/|
% ���辣憭嫣葉嚗𣬚�嗅�𤾸銁�𦶢隞方�峕�銵�
% \begin{quote}
%   "sudo mktexlsr"
% \end{quote}
% ���鰵 \hologo{TeX} ��𤏸�𣬚������辣��齿㺭�旿摨枏�𤾸朖摰峕�𣂼�㕑�.
%
% \section{�典��厰★}
%
% \subsection{�鍂����讛悅}
%
% 雿輻鍂�𧋦璅⊥踎蝻𤥁�烐𧋦蝘㻫��蝖訫ㄚ摮虫�滩捏���𧒄���``蝻𤥁�穃�烾獈''�𥁒��辷�諹窈霈斤�罸�霂餃��𢒰���鍂����讛悅.
% 瘛餃�𣳇�厰★ |agreed| ��𠬍��朖|\documentclass [ agreed ] { hduthesis }|嚗㚁��
% �䲮�虾憿箏⏚蝻𤥁�𡢅�𨜏ulem{撟園�䁅恕�典歇��峕�讐鍂����讛悅}.
%
% 雿輻鍂 \hologo{hduthesis} 蝻𤥁�睲縑蝥詻��霂閖�䁅圾��𣂼�峕𧋦�鍂����见�峕𧒄嚗峕�𣳇� |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}
%   甇文𦶢隞斗𦻖�𤣰�睸�潘�𣬚鍂鈭舘挽蝵格��﹝靽⊥�荔�𨜏ulem{���銁撖潸��躹銝剜�銵𢜒.
%   \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}
%
% 撖嫣�擧𧋦蝘𤑳����蘨��閬�蝑曄蔡 ``\ulem*{霂帋縑�㗁霂漂'' 銝�蝏�蝑曉�㵪��
% 撖嫣�𡒊�𠉛弦������䠷�閬�蝑曄蔡 ``\ulem*{��笔�𥟇�批ㄟ��糵''��
% ``\ulem*{嚗��𡏭����峕�𧶏�匧郎雿滩捏���蝙�鍂����憯唳�糵'' ���
% ``\ulem*{嚗�紡撣��峕�𧶏�匧郎雿滩捏���蝙�鍂����憯唳�糵'' 銝厩�蝑曉��. 雿輻鍂�鍂靘见�銝�
%
% \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 撟餌�舐��.
% �眏鈭擧𧋦銝駁�䀝蛹�㜺撌䂿㩞摮鞟�烐�憭批郎銝枏�痹�峕�隞亥砲銝駁�䀹�銝滚��𦆮�凒�㺿銝駁�䁅𠧧�㜺�㩞��嘥�𥴰ogo.
%
% ��㰘蝸璅∪�� \pkg{beamer}嚗�僎餈𥡝�峕��﹝靽⊥�航挽蝵殷��朖隞� "hdu" 銝箔蜓憸睃�雿輶eamer.
% 甇斗芋��埈�𣳇� \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}. 銝钅△銝箇���𡀔eamer���甅靘�.
% \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 霂訫㭘閫��鞉芋�踎}
%
% \begin{quote}
%   甇斗芋��堒���睲葉嚗峕𨯵霂瑟�笔� |:-)|\quad [憸�霈∪�峕�鞉𧒄�𡢿嚗�14/03/2025].
%   \vspace{\baselineskip}
%   \begin{flushright}
%     |@myhsia|\\
%     Physics Department\\
%     Hangzhou Dianzi University
%   \end{flushright}
% \end{quote}
%
% \includepdf [ pages = -, nup = 2x4, frame, linktodoc,
%               scale = 0.96, delta = .25in .2in
%             ] {hduthesis-beamer.pdf}
%
% \begin{thebibliography}{99}
%   \bibitem{interface3} The \hologo{LaTeX} Project.
%   The \hologo{LaTeX3} Interfaces. CTAN: Released 2025-01-18.
%   \bibitem{ctex} \url{CTEX.ORG}. C\hologo{TeX} 摰誯�. 2022/07/14 v2.5.10.
%   \bibitem{clsguide} \hologo{LaTeX} Project Team.
%   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-01-18.
%   \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-07}
\def \hduthesis@version {1.0.0}
\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 }
\hologoFontSetup { general = \sffamily }
%    \end{macrocode}
%   ��鍦㦛�㮾撖寡楝敺�霈曄蔭.
%    \begin{macrocode}
\graphicspath
  {
    {./figure/}{./figures/}{./image/}{./images/}
    {./graphics/}{./graphic/}{./pictures/}{./picture/}
  }
%    \end{macrocode}
%   霈曄蔭銵諹�嘥�齿㺭��𣬚憬餈�.
%    \begin{macrocode}
\linespread{1.39}
\dim_set:Nn \parindent { 2\ccwd }
%    \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}
\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
  ]
%    \end{macrocode}
%   �砍�𤩺�垍���閬�摰誩���㰘蝸嚗諹�屸𡢿�砍�誩�滚�𡡞𡢿頝肽挽蝵�.
%    \begin{macrocode}
\RequirePackage { mathtools,  amssymb, cancel,  fixdif,
                  derivative, siunitx, physics2 }
\usephysicsmodule { ab, braket, op.legacy, bm-um.legacy }
\RequirePackage
  [ warnings-off = { mathtools-colon, mathtools-overbracket }
  ] {unicode-math}
\AtBeginDocument
  {
    \dim_set:Nn \abovedisplayskip {3pt}
    \dim_set:Nn \belowdisplayskip {3pt}
  }
%    \end{macrocode}
%   �㺭摮血�𦯀�瓐��銝剜���𦯀�栞挽蝵�.
%    \begin{macrocode}
\tl_if_empty:NF \g_@@_math_font
  { \setmathfont { \g_@@_math_font } }
\tl_if_empty:NF \g_@@_main_CJK_font
  { \exp_last_unbraced:No \setCJKmainfont \g_@@_main_CJK_font }
\tl_if_empty:NF \g_@@_sans_CJK_font
  { \exp_last_unbraced:No \setCJKsansfont \g_@@_sans_CJK_font }
\tl_if_empty:NF \g_@@_mono_CJK_font
  { \exp_last_unbraced:No \setCJKmonofont \g_@@_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}
%   ���袇撖寥�鞟�鍦�𣂷�笋ulem{銝见�垍瑪撅�銝剖笆朣鞟�鍦�𨬌.
%   \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 ]{hdutitle}
      \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]{hdutitle}
      \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{\module{hdu} 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_reference_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 ] { hdulogo.pdf } };
  }
\titlegraphic
  {
    \tikz [ remember~picture, overlay ]
      \node [ below~right, yshift = -1em ] at (current~page.north~west) 
        { \includegraphics [ width = 2\textwidth/7 ]{ hdubadge.pdf } };
  }
%    \end{macrocode}
%   |Beamer| ��毺�煺蜓憸䁅��鍂.
%    \begin{macrocode}
\useoutertheme{infolines}
\useinnertheme[shadow = false]{rounded}
\definecolor{hdu}{HTML}{214395}
\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) --++
          (\paperwidth * \fp_eval:n
            {(\insertpagenumber-1)/(\insertdocumentendpage-1)},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 ]{ hdubadge.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) --++
              (2\linewidth *
                \fp_eval:n
                  {
                    (\insertframenumber - 1)/
                    (\inserttotalframenumber - 1)
                  }/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}{214395}

\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 ] {hdubadge} }
    \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 ] {hdulogo} };
      }
  }
%    \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}
%    \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 \@ulem#1
  { \CJKsout*[thickness = 2.5ex, format = \color{blue!15}]{#1} }
\def \s@ulem#1 { \CJKunderwave*{#1} }
\DeclareRobustCommand \ulem { \@ifstar \s@ulem \@ulem }
\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,
                  xeCJKfntef, pdfpages, setspace, subcaption }
\graphicspath { {./example/} }
\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 ]
                { hdumotto.pdf }
            };
          \node [ opacity = .3 ]
            {
              \includegraphics [ width = .21\paperwidth ]
                { hdulogo.pdf }
            };
      }
    \end{center}
    \thispagestyle{empty}
  }
\hook_gput_code:nnn { cmd/tableofcontents/before } { . }
  { \clearpage \spacing{1.15} }
\hook_gput_code:nnn { cmd/tableofcontents/after } { . }
  { \endtitlepage \endspacing \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>