<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% \iffalse meta-comment
%
% Copyright (C) 2019-2022 by Miracle0565
% Copyright (C) 2022-2023 by The-CCSN
%
%     https://github.com/the-ccsn/BUCTthesis
% -------------------------------------------------------
%
% This file may be distributed and/or modified under
% the conditions of the LaTeX Project Public License,
% either version 1.3c of this license or (at your option)
% any later version. The latest version of this license
% is in:
%
%     http://www.latex-project.org/lppl.txt
%
% and version 1.3c or later is part of all distributions
% of LaTeX version 1999/12/01 or later.
%
% \fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \iffalse
%&lt;*driver&gt;
\ProvidesFile{buctthesis.dtx}[2023/05/20 v2.0 BUCT Thesis Template]
\documentclass{ltxdoc}
\usepackage{manual}
\begin{document}
\DocInput{\jobname.dtx}
\PrintIndex
\PrintChanges
\end{document}
%&lt;/driver&gt;
% \fi
%
% \DoNotIndex{\newcommand,\newenvironment,\renewcommand,\renewenvironment}
% \DoNotIndex{\providecommand,\NewDocumentCommand}
% \DoNotIndex{\begin,\end,\begingroup,\endgroup}
% \DoNotIndex{\Huge,\huge,\LARGE,\Large,\large,\normalsize}
% \DoNotIndex{\small,\footnotesize,\scriptsize,\tiny,\zihao}
% \DoNotIndex{\addtocounter,\label,\let,\linewidth,\newcounter}
% \DoNotIndex{\noindent,\normalfont,\par,\parskip,\phantomsection}
% \DoNotIndex{\providecommand,\ProvidesPackage,\refstepcounter}
% \DoNotIndex{\setcounter,\setlength,\string,\strut}
% \DoNotIndex{\textbackslash,\texttt,\ttfamily,\usepackage}
% \DoNotIndex{\par,\\}
% \DoNotIndex{\if,\ifx,\ifdim,\ifnum,\ifcase,\else,\or,\fi}
% \DoNotIndex{\let,\def,\xdef,\edef,\newcommand,\renewcommand}
% \DoNotIndex{\expandafter,\csname,\endcsname,\relax,\protect}
% \DoNotIndex{\normalfont,\bfseries,\slshape,\sffamily,\interlinepenalty}
% \DoNotIndex{\textbf,\textit,\textsf,\textsc}
% \DoNotIndex{\hfil,\par,\hskip,\vskip,\vspace,\quad}
% \DoNotIndex{\centering,\raggedright,\ref}
% \DoNotIndex{\c@secnumdepth,\@startsection,\@setfontsize}
% \DoNotIndex{\ ,\@plus,\@minus,\p@,\z@,\@m,\@M,\@ne,\m@ne}
% \DoNotIndex{\@@par,\DeclareOperation,\RequirePackage,\LoadClass}
% \DoNotIndex{\AtBeginDocument,\AtEndDocument}
%
%
% \GetFileInfo{buctthesis.dtx}
%
% \title{\textsf{BUCTthesis}ï¼šåŒ—äº¬åŒ–å·¥å¤§å­¦å­¦ä½è®ºæ–‡æ¨¡æ¿}
% \author{é•¿åŸŽå­¦ç”Ÿç½‘ç»œ \\ \texttt{https://github.com/the-ccsn}}
% \date{\fileversion ï¼ˆ\filedateï¼‰}
%
% \newgeometry{hcentering}
% \maketitle
% \tableofcontents\restoregeometry\clearpage
%
% \section{æ¬¢è¿Žï¼}
% BUCTthesisæ˜¯åŒ—äº¬åŒ–å·¥å¤§å­¦æœ¬ç§‘ä¸Žç¡•å£«ã€åšå£«ç&nbsp;”ç©¶ç”Ÿæ¯•ä¸šè®ºæ–‡çš„ \LaTeX\ å†™ä½œæ¨¡æ¿ï¼Œç‰ˆæœ¬å·~\fileversionã€‚
% æœ¬æ–‡æ˜¯æ¨¡æ¿çš„ä½¿ç”¨æŒ‡å—ï¼Œæ—¨åœ¨å¸®åŠ©åŒ—åŒ–æ¯•ä¸šç”ŸæŽŒæ¡æ­¤æ¨¡æ¿çš„ä½¿ç”¨æ–¹æ³•ï¼Œä»Žè€Œå†™å‡ºç¬¦åˆåŒ—åŒ–
% \href{https://jiaowuchu.buct.edu.cn/2018/1009/c515a22046/page.htm}{ã€Šæœ¬ç§‘ç”Ÿæ¯•ä¸šè®¾è®¡ï¼ˆè®ºæ–‡ï¼‰æ’°å†™è§„èŒƒã€‹}ï¼ˆä»¥ä¸‹ç§°ã€Šæœ¬ç§‘ç”Ÿè§„èŒƒã€‹ï¼‰
% å’Œ \href{https://xxgk.buct.edu.cn/2017/1107/c2835a39437/page.htm}{ã€ŠåŒ—äº¬åŒ–å·¥å¤§å­¦ç&nbsp;”ç©¶ç”Ÿå­¦ä½è®ºæ–‡æ’°å†™è§„èŒƒï¼ˆä¿®è®¢ï¼‰ã€‹}ï¼ˆä»¥ä¸‹ç§°ã€Šç&nbsp;”ç©¶ç”Ÿè§„èŒƒã€‹ï¼‰
% è¦æ±‚çš„æ¯•ä¸šè®ºæ–‡ã€‚
%
% \subsection{æ¨¡æ¿å†…å®¹}
% æœ¬æ¨¡æ¿ä¸ºä¸­æ–‡è®ºæ–‡æ¨¡æ¿ï¼Œæš‚ä¸æ”¯æŒè‹±è¯­ä¸“ä¸šçš„è®ºæ–‡å†™ä½œã€‚ä»¥ä¸‹æ˜¯å®Œæ•´è®ºæ–‡çš„ä¹¦åºï¼Œå…¶ä¸­åˆ’çº¿éƒ¨åˆ†ä¸ºæ¨¡æ¿æœªå®Œæˆçš„éƒ¨åˆ†ã€‚
% \begin{description}
%    \item[æœ¬ç§‘] å¼€é¢˜æŠ¥å‘Š \footnote{ç›®å‰å¤„äºŽå®žéªŒæ€§è´¨ï¼Œå‚è§æ&nbsp;¹ç›®å½•ä¸‹çš„ \file{buct-proposal} æ–‡ä»¶å¤¹ã€‚}ã€\CJKsout{ä¸­æœŸè¿›å±•æƒ…å†µæ£€æŸ¥è¡¨} \footnote{ç”±å­¦æ&nbsp;¡æä¾› Wordï¼Œå¯è½¬æ¢ä¸º PDF æ–‡ä»¶æ’å…¥ã€‚}ã€è®ºæ–‡å°é¢ã€è¯šä¿¡å£°æ˜Žã€ä»»åŠ¡ä¹¦ã€æ‘˜è¦ã€ç›®å½•ã€å‰è¨€ã€æ­£æ–‡ã€ç»“è®ºã€å‚è€ƒæ–‡çŒ®ã€ç¬¦å·è¯´æ˜Žã€è‡´è°¢å’Œé™„å½•ï¼›
%    \item[ç&nbsp;”ç©¶ç”Ÿ] è®ºæ–‡å°é¢ã€ç‰ˆæƒé¡µï¼ˆç‹¬åˆ›æ€§å£°æ˜Žå’ŒæŽˆæƒä¹¦ï¼‰ã€\CJKsout{å­¦ä½è®ºæ–‡æ•°æ®é›†} \footnotemark[2]ã€ä¸­è‹±æ–‡æ‘˜è¦ã€ä¸­è‹±æ–‡ç›®å½•ã€ç¬¦å·å’Œç¼©ç•¥è¯è¯´æ˜Žã€æ­£æ–‡ã€å‚è€ƒæ–‡çŒ®ã€é™„å½•ã€è‡´è°¢ã€ä½œè€…æ”»è¯»å­¦ä½æœŸé—´å‘è¡¨çš„å­¦æœ¯è®ºæ–‡åŠç§‘ç&nbsp;”æˆæžœç›®å½•ã€ä½œè€…å’Œå¯¼å¸ˆç®€ä»‹å’Œ\CJKsout{ç­”è¾©å§”å‘˜ä¼šå†³è®®} \footnote{ä½¿ç”¨æ‰«æä»¶æ’å…¥ã€‚}ã€‚
% \end{description}
%
% \subsection{å…è´£å£°æ˜Ž}
% è¯·æ‚¨æ³¨æ„ï¼Œè‡³æœ¬æ–‡æ¡£ç¼–è¯‘æ—¶ï¼ŒåŒ—äº¬åŒ–å·¥å¤§å­¦æ•™åŠ¡å¤„ä»…æä¾›ã€Šæœ¬ç§‘ç”Ÿè§„èŒƒã€‹å’Œã€Šç&nbsp;”ç©¶ç”Ÿè§„èŒƒã€‹è€Œæœªå¯¹æœ¬æ¨¡æ¿åšä»»ä½•æµ‹è¯•æˆ–æŽˆæƒã€‚
% æ¨¡æ¿ä½œè€…è‡ªå½“å°½åŠ›ï¼Œä½†é™äºŽè½¯ä»¶ç­‰å„ç§å›&nbsp;ç´&nbsp;ï¼Œç”±æœ¬æ¨¡æ¿ç”Ÿæˆçš„æ–‡æ¡£å¯èƒ½ä»ä¸Žè¦æ±‚æœ‰æ‰€å‡ºå…¥ï¼Œ
% æ•…ä¸ä¿è¯å®¡æŸ¥è€å¸ˆå¯¹æ&nbsp;¼å¼ä¸ææ„è§ã€‚åœ¨å¼€å§‹ä½¿ç”¨ä¹‹å‰ï¼Œæ‚¨éœ€è¦åŒæ„ï¼š
% ä»»ä½•ç”±äºŽä½¿ç”¨æœ¬æ¨¡æ¿è€Œå¼•èµ·çš„è®ºæ–‡æ&nbsp;¼å¼å®¡æŸ¥é—®é¢˜å‡ä¸Žæœ¬æ¨¡æ¿ä½œè€…æ—&nbsp;å…³ã€‚
%
% \subsection{å¼€æºè¯´æ˜Ž}
% æœ¬æ¨¡æ¿å¼€æºäºŽ \href{https://github.com/the-ccsn/BUCTthesis}{GitHub}ï¼Œä»£ç&nbsp;éƒ¨åˆ†éµå¾ª
% \href{https://www.latex-project.org/lppl.txt}{\LaTeX\ Project Public License 1.3c} åŠä»¥ä¸Šåè®®ã€‚
% æ¨¡æ¿æ–‡ä»¶å¤¹ä¸­æœ‰å…³å­¦æ&nbsp;¡æ&nbsp;¡å¾½å’Œæ&nbsp;¡åçš„æ’å›¾ï¼Œå…¶ç‰ˆæƒå½’åŒ—äº¬åŒ–å·¥å¤§å­¦æ‰€æœ‰ã€‚
%
% ç”±äºŽæ¨¡æ¿å»ºè®¾å°šåœ¨èµ·æ­¥é˜¶æ®µï¼Œæ¬¢è¿Žä»»ä½•æœ‰å…´è¶£çš„åŒå­¦åŠ&nbsp;å…¥æ¨¡æ¿çš„å¼€å‘å·¥ä½œã€‚
%
% \subsection{å…³äºŽæœ¬æ–‡}
% æœ¬æ–‡æ¡£å°†å¯¹ä½¿ç”¨è¿™ä»½æ¨¡æ¿ä½œä¸€ç®€å•ä»‹ç»ã€‚åœ¨ç¬¬~\ref{sec:start}~èŠ‚å°†æ¦‚è¿°ä½¿ç”¨æ¨¡æ¿å‰çš„å‡†å¤‡ï¼Œä»¥åŠä»‹ç»ç¼–è¯‘æ–¹æ³•ï¼›
% åœ¨ç¬¬~\ref{sec:usage}~èŠ‚å°†ä»‹ç»æœ¬æ¨¡æ¿ä¸­æ–°å®šä¹‰åŠå®žç”¨çš„å‘½ä»¤ä¸ŽçŽ¯å¢ƒï¼›
% æœ€åŽåœ¨ç¬¬~\ref{sec:implementation}~èŠ‚å°†ç®€è¿°æ¨¡æ¿æ–‡æ¡£ç±»ä»£ç&nbsp;ï¼Œé¢å‘å¯¹ BUCTthesis å¼€å‘æ„Ÿå…´è¶£çš„ç”¨æˆ·ã€‚
%
% æœ¬æ–‡æ¡£ä¸­çš„å®åŒ…ã€å‘½ä»¤ç­‰å†…å®¹ä»¥ä¸åŒå­—ä½“æˆ–å½¢å¼å±•çŽ°ï¼Œä»¥ä½œåŒºåˆ†ï¼š
% æ—&nbsp;è¡¬çº¿å­—ä½“è¡¨ç¤ºå®åŒ…ã€æ–‡æ¡£ç±»ç­‰å­˜åœ¨äºŽè®¡ç®—æœºä¸Šçš„æ–‡ä»¶ï¼Œ
% å¦‚ \file{buctthesis.cls} æ–‡ä»¶ã€\pkg{amsmath}å®åŒ…ã€\cls{ctexbook} æ–‡æ¡£ç±»ï¼›
% ç­‰å®½å­—ä½“è¡¨ç¤ºå‘½ä»¤ä¸ŽçŽ¯å¢ƒï¼Œå¦‚ \cs{buctsetup} å‘½ä»¤ã€\env{abstract} çŽ¯å¢ƒã€‚
% å¯¹äºŽå‘½ä»¤ä¸­çš„å‚æ•°å°†ç½®äºŽå°–æ‹¬å·ï¼ˆå°–æ‹¬å·æ—&nbsp;éœ€è¾“å…¥ï¼‰ä¸­ï¼Œå¦‚ \cs{include}\marg{file}ï¼›
% å¯¹äºŽå‘½ä»¤è¡ŒæŒ‡ä»¤ï¼Œå°†ç½®äºŽ\ {\color{violet!65}\rule[.25ex]{1em}{1ex}} é¢œè‰²æ¡†å†…ï¼Œä¸”éœ€è¦é€è¡Œè¾“å…¥ï¼›
% è€Œå¯¹äºŽ \LaTeX\ ä»£ç&nbsp;ï¼Œå°†ç½®äºŽ\ {\color{cyan}\rule[.25ex]{1em}{1ex}} é¢œè‰²æ¡†å†…ï¼Œ
% éœ€è¦ä¿å­˜ä¸ºç‰¹å®šæ–‡ä»¶åŽè¿›è¡Œç¼–è¯‘ã€‚
%
% \section{å¼€å§‹ä½¿ç”¨}\label{sec:start}
% \subsection{å‡†å¤‡å·¥ä½œ}
% å¼€å§‹ä¹‹å‰ï¼Œæ‚¨éœ€è¦é€‰æ‹©ä¸€ä¸ªåˆé€‚çš„ \TeX\ å‘è¡Œç‰ˆï¼Œä»¥åŠéœ€è¦ä¸€äº›å¿…è¦çš„ \TeX\ æŠ€èƒ½ã€‚
% \begin{enumerate}
%     \item  \TeX\ å‘è¡Œç‰ˆï¼š
%     \begin{description}
%         \item[æœ¬åœ°ç¼–è¯‘] å»ºè®®å®Œæ•´å®‰è£… \TeX\ Live 2022 æˆ–æ›´æ–°ç‰ˆæœ¬ã€‚æ¨¡æ¿\emph{ä¸æ”¯æŒ} \CTeX\ å¥—è£…ã€‚å®‰è£… \TeX å‘è¡Œç‰ˆçš„è¯¦ç»†æ­¥éª¤å¯å‚è€ƒ\href{https://github.com/OsbertWang/install-latex-guide-zh-cn}{ã€Šä¸€ä»½ç®€çŸ­çš„å…³äºŽ \LaTeX å®‰è£…çš„ä»‹ç»ã€‹}ã€‚æ­¤å¤–ï¼Œè¯¥æ–‡æ¡£ç®€è¦åœ°ä»‹ç»äº†å‡&nbsp;æ¬¾å¸¸è§çš„æ–‡æœ¬ç¼–è¾‘å™¨ï¼Œå¯æ&nbsp;¹æ®å–œå¥½è‡ªè¡Œé€‰æ‹©ã€‚
%         \item[åœ¨çº¿ç¼–è¯‘] æŽ¨è \href{https://www.overleaf.com/}{Overleaf}ï¼Œå®ƒæä¾›äº† Ubuntu ç³»ç»Ÿä¸‹çš„ \TeX\ Liveï¼Œç›®å‰ä¸º 2022 ç‰ˆã€‚å…è´¹ç‰ˆæœ¬è¶³ä»¥åº”å¯¹æ¨¡æ¿çš„æ­£å¸¸ç¼–è¯‘ï¼Œè‡³äºŽå®Œæ•´çš„æ–‡æ¡£åŽ†å²å’Œåä½œç¼–è¾‘ç­‰åŠŸèƒ½åˆ™éœ€ä»˜è´¹è®¢é˜…ã€‚
%     \end{description}
%     \item \TeX\ æŠ€èƒ½ï¼šæœ¬æ–‡æ¡£ä¸æ˜¯ä¸€ä»½ \LaTeX\ é›¶åŸºç¡€æ•™ç¨‹ï¼Œä½¿ç”¨æœ¬æ¨¡æ¿éœ€è¦å¯¹ \LaTeX\ å’Œå‚è€ƒæ–‡çŒ®ç®¡ç†å·¥å…· \BibTeX æœ‰ä¸€å®šçš„ç†Ÿç»ƒåº¦ã€‚è‹¥æ‚¨æ˜¯æ–°æ‰‹ï¼Œæˆ‘ä»¬å»ºè®®æ‚¨å…ˆé˜…è¯»ä¸€äº›å…¥é—¨æ–‡æ¡£ï¼Œå¦‚\href{http://mirror.ctan.org/info/lshort/chinese/lshort-zh-cn.pdf}{ã€Šä¸€ä»½ä¸å¤ªç®€çŸ­çš„ \LaTeXe ä»‹ç»ã€‹}ã€‚
% \end{enumerate}
%
% \subsection{æ¨¡æ¿ç»„æˆ}
% åœ¨è¡¨ \ref{tab:mainfile} ä¸­ç½—åˆ—äº†æœ¬æ¨¡æ¿æ‰€åŒ…å«çš„ä¸»è¦æ–‡ä»¶ã€‚
% \begin{table}[ht]
%   \centering
%   \caption{æ¨¡æ¿çš„ç»„æˆ}\label{tab:mainfile}
%     \begin{tabular}{ll}
%         \toprule
%         æ–‡ä»¶ï¼ˆå¤¹ï¼‰å &amp; ç®€è¿°\\
%         \midrule
%         \file{buctthesis.ins} &amp; \textsc{DocStrip} é©±åŠ¨æ–‡ä»¶\\
%         \file{buctthesis.dtx} &amp; \textsc{DocStrip} æºæ–‡ä»¶\\\cmidrule(lr){1-2}
%         \file{chapter/} &amp; è®ºæ–‡å„éƒ¨åˆ†çš„æºæ–‡ä»¶è·¯å¾„\\
%         \file{code/} &amp; æºä»£ç&nbsp;çš„è·¯å¾„\\
%         \file{cover/} &amp; è®ºæ–‡å°é¢çš„è·¯å¾„\\
%         \file{figure/}  &amp; æ’å›¾çš„è·¯å¾„\\\cmidrule(lr){1-2}
%         \file{main.tex} &amp; ä¸»æ–‡ä»¶\\
%         \file{main.pdf} &amp; ç¤ºä¾‹æ–‡æ¡£\\
%         \file{buctthesis.cls} &amp; æ¨¡æ¿çš„æ–‡æ¡£ç±»æ–‡ä»¶\\
%         \file{thesisbib.bib}  &amp; \BibTeX{}å‚è€ƒæ–‡çŒ®æ•°æ®åº“\\
%         \file{mycfg.sty} &amp; è‡ªå®šä¹‰é…ç½®æ–‡ä»¶\\
%         \file{README.md} &amp; é¡¹ç›®è‡ªè¿°æ–‡ä»¶\\
%         \file{\bfseries buctthesis.pdf} &amp; å†™ä½œæŒ‡å—ï¼Œå³æœ¬æ–‡\\
%         \bottomrule
%     \end{tabular}
% \end{table}
%
% \begin{enumerate}
%     \item ä¸»æ–‡ä»¶ \file{main.tex}ï¼šå®šä¹‰è®ºæ–‡ç›¸å…³ä¿¡æ¯ï¼Œå¹¶å¯¹åˆ†æ•£äºŽ \file{chapter/} æ–‡ä»¶å¤¹ä¸‹çš„å„éƒ¨åˆ†å†…å®¹è¿›è¡Œâ€œæ•´åˆâ€ã€‚è¿™é‡Œçš„â€œå„éƒ¨åˆ†å†…å®¹â€åŒ…æ‹¬è¯šä¿¡å£°æ˜Žæˆ–ç‰ˆæƒé¡µã€æ‘˜è¦ã€æ­£æ–‡ç­‰ã€‚
%     \item æ–‡æ¡£ç±»æ–‡ä»¶ \file{buctthesis.cls}ï¼šæ&nbsp;¼å¼æŽ§åˆ¶ã€‚å¯ç”± \file{buctthesis.ins} å’Œ \file{buctthesis.dtx} ç”Ÿæˆï¼š
%     \begin{shell}
%   xelatex buctthesis.ins
%     \end{shell}
%     \item \file{buctthesis.pdf}ï¼šå†™ä½œæŒ‡å—ï¼Œå³æœ¬æ–‡ã€‚å¯ç”± \file{buctthesis.dtx} ç”Ÿæˆï¼š
%     \begin{shell}
%   xelatex buctthesis.ins
%   xelatex buctthesis.dtx
%   makeindex -s gind.ist -o buctthesis.ind buctthesis.idx
%   xelatex buctthesis.dtx
%   xelatex buctthesis.dtx
%     \end{shell}
% \end{enumerate}
%
% \subsection{ç¼–è¯‘è®ºæ–‡}
% æ¨¡æ¿åŸºäºŽ \cls{ctexbook} æ–‡æ¡£ç±»æž„å»ºï¼Œä½†\emph{ä»…} æ”¯æŒ \XeTeX\ å¼•æ“Žã€‚
% ç›®å‰å‚è€ƒæ–‡çŒ®ç”ŸæˆåŸºäºŽ \BibTeXï¼Œå›&nbsp;æ­¤å®Œæ•´çš„ç¼–è¯‘æµç¨‹å¦‚ä¸‹ï¼š
% ï¼ˆè¾“å…¥ä»¥ä¸‹å‘½ä»¤æ—¶å¯ç•¥åŽ»æ–‡ä»¶æ‰©å±•åï¼‰
% \begin{shell}
%   xelatex main.tex
%   bibtex main.tex
%   xelatex main.tex
%   xelatex main.tex
% \end{shell}
%
% æˆ–è€…ä½¿ç”¨æ›´æ–¹ä¾¿çš„ latexmk å·¥å…·ï¼šä¸åŠ&nbsp;å‚æ•°åˆ™é»˜è®¤å¯¹ \file{main.tex} è¿›è¡Œç¼–è¯‘ã€‚
% ç›¸æ¯”ä¸Šä¸€ç§ï¼Œä½¿ç”¨ latexmk æ›´åŠ&nbsp;è‡ªåŠ¨åŒ–ï¼Œèƒ½æŒç»­ç¼–è¯‘ç›´åˆ°è§£å†³æ‰€æœ‰çš„äº¤å‰å¼•ç”¨ï¼š
% \begin{shell}
%   latexmk
% \end{shell}
%
% ç¤ºä¾‹æ–‡ä»¶ä¼šéšæ¨¡æ¿ä¸€åŒå‘å¸ƒã€‚å»ºè®®åœ¨å†™ä½œå¼€å§‹å‰å¯¹ç¤ºä¾‹æ–‡ä»¶æ‰§è¡Œä¸€æ¬¡å…¨ç¼–è¯‘ï¼Œä»¥æ£€æŸ¥ç¼–ç¨‹çŽ¯å¢ƒæ˜¯å¦åˆé€‚ã€‚
%
% \subsection{æé—®}
% å¯¹äºŽæ¨¡æ¿çš„ä»»ä½•é—®é¢˜æˆ–æ–°åŠŸèƒ½éœ€æ±‚è¯·æäº¤è‡³ \href{https://github.com/the-ccsn/BUCTthesis/issues}{GitHub Issues}ã€‚
% ä»¥ä¸‹æ­¥éª¤å¯èƒ½å¯¹æŽ’é™¤ä¸Žç²¾ç®€é—®é¢˜æœ‰æ‰€å¸®åŠ©ï¼š
% \begin{enumerate}
%     \item å°† \file{buctthesis.cls} å’Œ \file{main.tex} æ–‡ä»¶å¤åˆ¶åˆ°ä¸€ç©ºç™½æ–‡ä»¶å¤¹ï¼›
%     \item ç®€åŒ– \file{main.tex} ä¸­èƒ½å¤çŽ°é—®é¢˜çš„ä»£ç&nbsp;è‡³å¦‚ä¸‹æ‰€ç¤ºï¼š
%        \begin{latex}
%   \documentclass[ type = bachelor ]{buctthesis}      % è¯·æ³¨æ„æŒ‡å®šæ–‡æ¡£ç±»åž‹
%   \begin{document}
%     sOmetHInG GoEs wRoNg.
%   \end{document}
%       \end{latex}
%    \item å¦‚æžœæœ‰å¿…è¦çš„è¯å¯ä»¥å°† \file{.log} æ–‡ä»¶é€šè¿‡ \href{https://pastebin.com/}{Pastebin} ä¸€å¹¶æäº¤ã€‚
% \end{enumerate}
%
% \section{ä½¿ç”¨è¯´æ˜Ž}\label{sec:usage}
% æœ¬èŠ‚å°†ç®€å•ä»‹ç»æ¨¡æ¿ä¸­çš„å‘½ä»¤å’ŒçŽ¯å¢ƒã€‚é™¤äº†ä»¥ä¸‹ä»‹ç»ï¼ŒæŽ¨èå¯¹ç…§ç¤ºä¾‹æ–‡ä»¶åŠæºä»£ç&nbsp;çœ‹ä¸€çœ‹ã€‚
%
% \subsection{è®ºæ–‡é€‰é¡¹}\label{subsec:options}
% \subsubsection{æ–‡æ¡£ç±»é€‰é¡¹}
% ä¸»æ–‡ä»¶ \file{main.tex} ä»¥
% \begin{latex}
%   \documentclass [
%       type = doctor,          % bachelor | master | doctor
%       fontset = windows,      % fandol | windows | ...
%       submit,
%       openany,                % openany | openright(default)
%   ]{buctthesis}
% \end{latex}
% å‘½ä»¤è½½å…¥æ–‡æ¡£ç±»ï¼Œä»Žè€ŒæŽ§åˆ¶å…¨æ–‡æ&nbsp;¼å¼ã€‚
%
% ä»¥ä¸‹é€ä¸€ç®€è¿°å„ä¸ªé€‰é¡¹ï¼š
%
% \DescribeOpt{type}
% \emph{å¿…é¡»æŒ‡å®šä¸€ç§ç±»åž‹}ï¼šæœ¬ç§‘ \opt{bachelor}ï¼Œç¡•å£« \opt{master}ï¼Œä»¥åŠåšå£« \opt{doctor}ã€‚
% å¦‚ï¼š
% \begin{latex}
%   % åšå£«è®ºæ–‡
%   \documentclass[type = doctor]{buctthesis}
%   % æˆ–ï¼š
%   % æœ¬ç§‘è®ºæ–‡
%   \documentclass[type = bachelor]{buctthesis}
% \end{latex}
%
% \DescribeOpt{fontset}
% è¯¥é€‰é¡¹ä¼šä¼&nbsp;é€’è‡³ \pkg{ctex} å®é›†ï¼Œä»Žè€ŒæŒ‡å®šå…¨æ–‡çš„å­—ä½“ã€‚æ¨¡æ¿çš„è®¾ç½®å¦‚è¡¨~\ref{tab:fontset}~æ‰€ç¤ºã€‚
%
% å…¶ä¸­é€‰é¡¹ \opt{fandol} æˆ–ä½¿ç”¨ \opt{\meta{others}} é€‰é¡¹ \footnote{å‚è§\pkg{ctex}å®é›†ç¬¬ 4.3 å°èŠ‚ã€‚}æ˜¯ä¸ºäº†ä¸€äº›ä¸æ–¹ä¾¿å®‰è£…å­—ä½“çš„ç³»ç»Ÿæˆ–å¹³å°ï¼ˆå¦‚ Overleafï¼‰æ‰€é‡‡å–çš„\emph{ä¸´æ—¶è§£å†³æ–¹æ¡ˆ}ã€‚
% è¿™äº›å­—ä½“ä¸Žä¸­æ˜“ç³»åˆ—å­—ä½“æœ‰å°‘è®¸å·®åˆ«ï¼Œä¸”å¶å°”æœ‰ç¼ºå­—çŽ°è±¡ã€‚
% å›&nbsp;æ­¤ï¼Œå¼ºçƒˆå»ºè®®åœ¨æœ€åŽæäº¤è®ºæ–‡å‰ï¼Œåœ¨åˆé€‚çš„çŽ¯å¢ƒä¸‹ä½¿ç”¨ \opt{fontset = windows} è¿›è¡Œç¼–è¯‘ã€‚
%
% \begin{table}[ht]
%   \centering
%   \caption{æ¨¡æ¿çš„å­—ä½“é…ç½®}\label{tab:fontset}
%     \begin{tabular}{llll}
%         \toprule
%         \opt{fontset =}   &amp; \opt{windows} &amp; \opt{fandol} &amp; \opt{\meta{others}}\\
%         \midrule
%         ä¸­æ–‡      &amp; ä¸­æ˜“å­—åº“ ï¼ˆå®‹ã€é»‘å¼€å¯ä¼ªç²—ä½“ï¼‰  &amp; Fandol å­—åº“ &amp; / \\
%         è¥¿æ–‡      &amp; Times New Roman             &amp; Times New Roman &amp; Times New Roman \\
%         \bottomrule
%     \end{tabular}
% \end{table}
%
% \emph{æ­¤å¤–ï¼Œè®ºæ–‡å°é¢ä½¿ç”¨çš„å­—ä½“æ¯”è¾ƒç‰¹æ®Šï¼Œå›&nbsp;æ­¤éœ€è¦åšå¦å¤–è®¾ç½®ã€‚å‚è§~\ref{subsec:cover}~ä¸­å¯¹å°é¢ç›¸å…³å­—ä½“çš„è¯´æ˜Žã€‚}
%
% \DescribeOpt{submit}
% æ˜¯å¦ä¸ºæäº¤ç‰ˆæœ¬ã€‚å¦‚æžœå¯ç”¨åˆ™ä¼šå°†æ–‡ç«&nbsp;è¶…é“¾æŽ¥å’Œä»£ç&nbsp;å—çš„æ–‡å­—é¢œè‰²å…¨éƒ¨è®¾ç½®ä¸ºé»‘è‰²ï¼Œé€‚åˆè®ºæ–‡æœ€ç»ˆæäº¤ä¸Žä»˜æ¢“ã€‚
% éœ€è¦æé†’çš„æ˜¯ï¼Œå®ƒä¸èƒ½è½¬æ¢æ’å›¾çš„é¢œè‰²ã€‚
%
% \DescribeOpt{openright}
% \DescribeOpt{openany}
% å¯¹äºŽä¹¦ç±è€Œè¨€ï¼Œä¸€èˆ¬ç«&nbsp;æ&nbsp;‡é¢˜éƒ½åªå‡ºçŽ°åœ¨å³è¾¹çš„é¡µé¢ï¼ˆå¥‡æ•°é¡µï¼‰ï¼Œä¹‹å‰ä¸è¶³çš„é¡µé¢ç”¨ç©ºç™½è¡¥è¶³ã€‚
% è¿™ä¹Ÿæ˜¯æ‰“å¼€æ¨¡æ¿ \opt{openright} é€‰é¡¹çš„ç»“æžœï¼šå°†ä¼šåœ¨é€‚å½“å¤„æ’å…¥ä¸€å®Œå…¨ç©ºç™½é¡µã€‚
% è€Œ \opt{openany} åˆ™å…è®¸åœ¨ä»»æ„é¡µå¼€å¯æ–°çš„ä¸€ç«&nbsp;ã€‚
%
% å…¶å®ƒé€‰é¡¹ï¼šå¤šä½™çš„é€‰é¡¹å°†ä¼&nbsp;é€’ç»™ \pkg{ctexbook} æ–‡æ¡£ç±»ï¼Œå¦‚ \opt{draft} å°†å…³é—­æ’å›¾å’Œéƒ¨åˆ†å®åŒ…çš„æ¸²æŸ“ï¼Œä»Žè€ŒåŠ&nbsp;å¿«ç¼–è¯‘é€Ÿåº¦ã€‚
%
% \subsubsection{è®ºæ–‡ä¿¡æ¯}\label{subsec:buctsetup}
% \DescribeMacro{\buctsetup}
% \DescribeOpt{ChineseTitle}
% \DescribeOpt{ChineseTitleLineA}
% \DescribeOpt{ChineseTitleLineB}
% \DescribeOpt{EnglishTitle}
% \DescribeOpt{author}
% \DescribeOpt{class}
% \DescribeOpt{studentid}
% \DescribeOpt{school}
% \DescribeOpt{major}
% \DescribeOpt{supervisor}
% \DescribeOpt{msupervisor}
% \DescribeOpt{ChineseKeywords}
% \DescribeOpt{EnglishKeywords}
% \begin{syntax}{buctsetup}
%    \marg{é”®å€¼åˆ—è¡¨}
% \end{syntax}
%
% æŽ¥ä¸‹æ¥éœ€è¦å®šä¹‰è®ºæ–‡ç›¸å…³ä¿¡æ¯ï¼Œä½¿ç”¨ \cs{buctsetup} å‘½ä»¤ä»¥ \meta{key}$=$\meta{value}
% çš„å½¢å¼è¿›è¡Œå®šä¹‰ï¼ŒåŒ…æ‹¬è®ºæ–‡çš„ä¸­è‹±æ–‡æ&nbsp;‡é¢˜ã€ä½œè€…ä¸ªäººä¿¡æ¯ç­‰ã€‚
% \begin{latex}
%    \buctsetup{
%        % è®ºæ–‡çš„ä¸­æ–‡æ&nbsp;‡é¢˜
%        ChineseTitle         = {åŸºäºŽ \LaTeX\ çš„åŒ—äº¬åŒ–å·¥å¤§å­¦æœ¬ç¡•åšæ¯•ä¸šè®ºæ–‡å†™ä½œæ¨¡æ¿},
%        % å°é¢ä¸Šçš„æ&nbsp;‡é¢˜ã€‚æ€»å­—æ•°ä¸è¦è¶…è¿‡ 36 ä¸ªæ±‰å­—é•¿åº¦ã€‚
%        % æœ¬ç§‘ï¼šå¯ä»¥ä¸€è¡Œæˆ–åˆ†ä¸¤è¡Œå†™ï¼Œå¦‚æ—&nbsp;ç¬¬äºŒè¡Œå°† ChineseTitleLineB ç•™ç©ºæˆ–æ³¨é‡ŠæŽ‰ï¼›
%        % ç¡•åšï¼šå°é¢çš„æ&nbsp;‡é¢˜æœ‰ä¸¤è¡Œï¼Œæ¯ä¸€è¡ŒæŽ§åˆ¶åœ¨ 18 ä¸ªæ±‰å­—é•¿åº¦ä»¥å†…ã€‚
%        % å°é¢æ&nbsp;‡é¢˜é¦–è¡Œ
%        ChineseTitleLineA   = {åŸºäºŽ \LaTeX\ çš„åŒ—äº¬åŒ–å·¥å¤§å­¦æœ¬ç¡•åš},
%        % å°é¢æ&nbsp;‡é¢˜æ¬¡è¡Œ
%        ChineseTitleLineB   = {æ¯•ä¸šè®ºæ–‡å†™ä½œæ¨¡æ¿},
%        % è®ºæ–‡çš„è‹±æ–‡æ&nbsp;‡é¢˜ï¼Œä¸€èˆ¬éœ€è¦å¤§å†™
%        EnglishTitle        = {BUCTthesis: A \LaTeX\ WRITING TEMPLATE FOR BUCT},
%        % ä½œè€…çš„ä¸­æ–‡å§“å
%        author         = {å¼&nbsp;ä¸‰},
%        % ç­çº§ï¼ˆä»…æœ¬ç§‘ï¼‰
%        class          = {æŸæŸ1024},
%        % å­¦å·
%        studentid      = {2018020999},
%        % å­¦é™¢ï¼ˆä»…æœ¬ç§‘ï¼‰
%        school         = {ææ–™ç§‘å­¦ä¸Žå·¥ç¨‹å­¦é™¢},
%        % ä¸“ä¸šåç§°
%        major          = {é«˜åˆ†å­ææ–™ä¸Žå·¥ç¨‹},
%        % å¯¼å¸ˆçš„å§“åä¸ŽèŒç§°
%        supervisor     = {æŽå››æ•™æŽˆ},
%        % ä¸“ä¸šè´Ÿè´£äººå§“åï¼ˆä»…æœ¬ç§‘ï¼‰
%        msupervisor    = {çŽ‹äº”},
%        % ä¸­æ–‡ã€è‹±æ–‡å…³é”®è¯ï¼Œå„å…³é”®è¯é—´ä»¥è¥¿æ–‡é€—å·â€œ,â€åˆ†éš”
%        ChineseKeywords      = {è®ºæ–‡,\LaTeX{},æ¨¡æ¿},
%        EnglishKeywords      = {thesis,\LaTeX{},template},
%        % æ—¥æœŸï¼Œè¯·æ³¨æ„åŠ¡å¿…ä½¿ç”¨å½¢å¦‚â€œYYYY-MM-DDâ€çš„æ&nbsp;¼å¼
%        date = {2021-12-23},
%    }
% \end{latex}
%
% \emph{æ—&nbsp;è®ºæ˜¯æ–‡æ¡£ç±»é€‰é¡¹è¿˜æ˜¯ \cs{buctsetup} å‘½ä»¤ï¼Œå„é€‰é¡¹ä¹‹é—´ä¸è¦ç•™æœ‰ç©ºè¡Œï¼Œå¹¶ä»¥è¥¿æ–‡é€—å·â€œ,â€åˆ†éš”ã€‚}
%
% æ­¤å¤–ï¼Œ\cs{buctsetup}\marg{é”®å€¼åˆ—è¡¨} ä¸Žä¸‹åˆ—å‘½ä»¤ç­‰ä»·ï¼š
% \begin{latex}
%   % äºŽå¯¼è¨€åŒº
%   \ChineseTitle{åŸºäºŽ \LaTeX\ çš„åŒ—äº¬åŒ–å·¥å¤§å­¦æœ¬ç¡•åšæ¯•ä¸šè®ºæ–‡å†™ä½œæ¨¡æ¿}
%   \EnglishTitle{BUCTthesis: A \LaTeX\ WRITING TEMPLATE FOR BUCT}
%   % ...ï¼ˆä¸‹åŒï¼‰
% \end{latex}
%
% \subsection{å°é¢}\label{subsec:cover}
% \DescribeMacro{\makecover}
% \begin{syntax}{makecover}
%    \oarg{æ–‡ä»¶è·¯å¾„}
% \end{syntax}
%
% \emph{æ³¨æ„ï¼šä»Ž2.0ç‰ˆæœ¬èµ·ï¼Œæ¨¡æ¿å°†å°é¢é›†æˆè‡³è®ºæ–‡ä¸­è€Œä¸å†å•ç‹¬ä½¿ç”¨ä¸€ä¸ªæ–‡æ¡£ç±»æ–‡ä»¶ã€‚}
%
% BUCTthesis å¯¹å­¦æ&nbsp;¡å°åˆ·çš„çº¸è´¨å°é¢è¿›è¡Œäº†ä»¿åˆ¶ï¼Œ
% ç›´æŽ¥ä½¿ç”¨è€Œä¸å¸¦ä»»ä½•å‚æ•°çš„ \cs{makecover} ä¼šæ&nbsp;¹æ®æ‰€é€‰ \opt{type} ç”Ÿæˆå¯¹åº”çš„å°é¢ï¼Œå°é¢ä¸Šçš„å„é¡¹ä¿¡æ¯ä»Žå‰è¿°çš„ \cs{buctsetup} å¤„å®šä¹‰ã€‚
% éœ€è¦æ³¨æ„çš„æ˜¯ï¼Œè¿™é‡Œçš„â€œä»¿åˆ¶â€ä»…æ˜¯å®žçŽ°å°é¢çš„æ•ˆæžœï¼Œå­¦æ&nbsp;¡å°åˆ¶çš„å°é¢éœ€è¦æ‰‹å†™å†…å®¹ï¼Œæ•…ä¸èƒ½åœ¨çº¸æœ¬ä¸Šæ›¿ä»£å­¦æ&nbsp;¡ç»Ÿä¸€å°åˆ¶çš„å°é¢ï¼›
% è‹¥æ—&nbsp;ç‰¹æ®Šè¯´æ˜Žï¼Œå¯ä»¥åœ¨æäº¤ç”µå­ç‰ˆæ—¶ä½¿ç”¨æ­¤å°é¢ã€‚ä½†ï¼Œä»è¯·ä»¥æ•™åŠ¡å¤„æœ€æ–°é€šå‘Šä¸ºå‡†ã€‚
%
% æ­¤å¤–ï¼Œå­¦æ&nbsp;¡å°é¢ä½¿ç”¨çš„æ–¹æ­£ç³»åˆ—å­—ä½“æœªé¢„è£…äºŽä¸€äº›æ“ä½œç³»ç»Ÿä¸Šï¼Œ
% å¯è®¿é—®\href{https://www.foundertype.com}{æ–¹æ­£å­—åº“å®˜ç½‘}ä¸‹è½½å’Œå®‰è£…ï¼Œå…·ä½“æ­¥éª¤ä»Žç•¥ã€‚
%
% å°é¢æ‰€ä½¿ç”¨çš„ä¸­æ–‡å­—ä½“æ¸…å•å¦‚ä¸‹ï¼š
% \begin{enumerate}
%    \item SimSunï¼Œä¸­æ˜“å®‹ä½“
%    \item SimHeiï¼Œä¸­æ˜“é»‘ä½“
%    \item KaiTiï¼Œä¸­æ˜“æ¥·ä½“
%    \item STXingkaiï¼ŒåŽæ–‡è¡Œæ¥·
%    \item FZXiaoBiaoSong-B05Sï¼Œæ–¹æ­£å°æ&nbsp;‡å®‹ç®€ä½“
%    \item FZDaBiaoSong-B06Sï¼Œæ–¹æ­£å¤§æ&nbsp;‡å®‹ç®€ä½“ï¼ˆä»…ç¡•åšå°é¢éœ€è¦ï¼‰
% \end{enumerate}
%
% å½“ä¸”ä»…å½“å­˜åœ¨ä¸Šè¿°å­—ä½“æ–‡ä»¶æ—¶æ¨¡æ¿æ‰ä¼šè¾“å‡ºç”µå­ç‰ˆçš„å°é¢ã€‚
% å½“ç„¶ï¼Œè€ƒè™‘åˆ°æœ‰æ—¶éœ€è¦æ’å…¥æ‰«æé¡µï¼Œæ‰€ä»¥è¯¥å‘½ä»¤å¯è·Ÿä¸€ä¸ªå¯é€‰å‚æ•°ï¼Œå¦‚ï¼š
% \begin{latex}
%   \makecover[figure/mycover.pdf]
% \end{latex}
% å³å¯æ’å…¥ä½äºŽ \file{figure/mycover.pdf} çš„å›¾ç‰‡æ¥ä»£æ›¿ã€‚
%
% \subsection{å‰ç½®éƒ¨åˆ†}\label{subsec:frontmatter}
%
% åœ¨å°é¢ä¹‹åŽã€â€œç›®å½•â€ä¹‹å‰çš„å‡&nbsp;ä¸ªéƒ¨åˆ†ï¼ŒåŒ…æ‹¬â€œè¯šä¿¡å£°æ˜Žâ€\footnote{æ&nbsp;¹æ®ã€ŠçŽ°ä»£æ±‰è¯­è¯å…¸ã€‹å¯¹â€œç”³æ˜Žâ€ä¸Žâ€œå£°æ˜Žâ€äºŒè¯çš„é‡Šä¹‰ï¼Œ%
% ã€Šæœ¬ç§‘ç”Ÿè§„èŒƒã€‹ä¸­çš„â€œè¯šä¿¡ç”³æ˜Žâ€åº”ä½œâ€œè¯šä¿¡å£°æ˜Žâ€ï¼›æ¨¡æ¿ä»¥åŽè€…ä½œä¸ºæ&nbsp;‡é¢˜ã€‚}ï¼ˆä»…æœ¬ç§‘ï¼‰ã€
% ç‰ˆæƒé¡µï¼ˆä»…ç¡•åšï¼‰ã€â€œä»»åŠ¡ä¹¦â€ï¼ˆä»…æœ¬ç§‘ï¼‰ã€â€œæ‘˜è¦â€å’Œâ€œAbstractâ€ï¼Œ
% åˆ†åˆ«å¯¹åº”äºŽ \file{chapter/frontmatter.tex} ä¸­çš„ä¸åŒå‘½ä»¤æˆ–çŽ¯å¢ƒã€‚
%
% \subsubsection{è¯šä¿¡å£°æ˜Žä¸Žç‰ˆæƒé¡µ}
% \DescribeMacro{\makedeclare}
% \begin{syntax}{makedeclare}
%    \oarg{æ–‡ä»¶è·¯å¾„}
% \end{syntax}
%
% ç›´æŽ¥ä½¿ç”¨è€Œä¸å¸¦ä»»ä½•å‚æ•°çš„ \cs{makedeclare} ä¼šæ&nbsp;¹æ®æ‰€é€‰ \opt{type} ç”Ÿæˆå¯¹åº”å†…å®¹ã€‚
%
% å’Œ \cs{makecover} ä¸€æ&nbsp;·ï¼Œè¯¥å‘½ä»¤ä¹Ÿå¯è·Ÿä¸€ä¸ªå¯é€‰å‚æ•°æ¥æ’å…¥æ‰«æé¡µï¼Œå¦‚ï¼š
% \begin{latex}
%   \makedeclare[figure/declare.png]
% \end{latex}
% å³å¯æ’å…¥ä½äºŽ \file{figure/declare.png} çš„å›¾ç‰‡æ¥ä»£æ›¿ã€‚
%
% \subsubsection{æ‘˜è¦å’Œå…³é”®è¯}\label{subsubsec:abstract}
% \DescribeEnv{cabstract}
% \DescribeEnv{eabstract}
% ä¸­ã€è‹±æ–‡æ‘˜è¦åˆ†åˆ«ä½¿ç”¨ \env{cabstract} å’Œ \env{eabstract} çŽ¯å¢ƒã€‚
% \begin{latex}
%   \begin{cabstract}
%       ä¸­æ–‡æ‘˜è¦ã€‚
%   \end{cabstract}
%   \begin{eabstract}
%       Abstract in English.
%   \end{eabstract}
% \end{latex}
%
% å…³é”®è¯ä¼šæ&nbsp;¹æ®åœ¨ \cs{buctsetup} ä¸­çš„å®šä¹‰è‡ªåŠ¨ç”Ÿæˆï¼Œå‚è§~\ref{subsec:buctsetup}ã€‚
%
% \subsubsection{ä»»åŠ¡ä¹¦}\label{subsubsec:taskbook}
% \DescribeEnv{taskbook}
% \DescribeMacro{\taskinfo}
% \DescribeMacro{\taskinfo*}
% \DescribeEnv{bibenumerate}
% è¯¥çŽ¯å¢ƒä»…é€‚ç”¨äºŽæœ¬ç§‘è®ºæ–‡ä¸­ã€‚
%
% â€œæœ¬ç§‘ç”Ÿæ¯•ä¸šè®¾è®¡ï¼ˆè®ºæ–‡ï¼‰ä»»åŠ¡ä¹¦â€éƒ¨åˆ†ä½¿ç”¨ \env{taskbook} çŽ¯å¢ƒã€‚
% æ­¤çŽ¯å¢ƒåŽå¯è·Ÿä¸€ä¸ª \texttt{*}ï¼ˆæ³¨æ„ä¸æ˜¯ \env{taskbook*}ï¼‰ï¼Œ
% å®ƒä¼šä½¿å¾—ç”Ÿæˆçš„ä»»åŠ¡ä¹¦é¡µä¸å¸¦ä»»ä½•é¡µçœ‰å’Œé¡µè„šï¼Œä»¥é€‚åˆæŸäº›ç‰¹æ®Šæƒ…å†µä¸‹ä½¿ç”¨ã€‚
% \begin{latex}
%   \begin{taskbook}
%       â€¦â€¦â€œä»»åŠ¡ä¹¦â€å†…å®¹ï¼ˆå¸¦é¡µçœ‰é¡µè„šï¼‰
%   \end{taskbook}
%   % æˆ–è€…ï¼š
%   \begin{taskbook}*
%       â€¦â€¦â€œä»»åŠ¡ä¹¦â€å†…å®¹ï¼ˆä¸å¸¦é¡µçœ‰é¡µè„šï¼‰
%   \end{taskbook}
% \end{latex}
%
% \cs{buctsetup} ä¸­å®šä¹‰çš„ä¿¡æ¯ä¼šä½œç”¨äºŽâ€œä»»åŠ¡ä¹¦â€çš„å¼€å¤´éƒ¨åˆ†ï¼Œè¯¥éƒ¨åˆ†ä»¥ \cs{taskinfo} å‘½ä»¤æ¥æ’å…¥ã€‚
% è¿™ä¸ªå‘½ä»¤åŒæ&nbsp;·æœ‰ä¸€ä¸ªå¸¦æ˜Ÿå·çš„ç‰ˆæœ¬å³ \cs{taskinfo*}ï¼Œ
% äºŒè€…çš„åŒºåˆ«åœ¨äºŽåŽè€…æ¯”å‰è€…å°‘äº†ä¸€æ¬¡æ¢è¡Œï¼Œæ˜¯ã€Šæœ¬ç§‘ç”Ÿè§„èŒƒã€‹ä¸­ç¤ºä¾‹çš„å®žçŽ°ï¼Œä½†ä¸é€‚åˆæ–‡å­—è¾ƒå¤šæ—¶ä½¿ç”¨ã€‚
%
% é™¤æ­¤ä¹‹å¤–ï¼Œå¯ä»¥é€‰æ‹©ä½¿ç”¨ \env{bibenumerate} çŽ¯å¢ƒæ¥æŽ’ç‰ˆæœ‰åºæ–‡çŒ®åˆ—è¡¨ï¼Œ
% åºå·å·²ç»è®¾ç½®ä¸ºå¸¦æ–¹æ‹¬å·çš„æ•°å­—ã€‚
%
% \emph{ä»¥ä¸Šå„éƒ¨åˆ†åœ¨æºæ–‡ä»¶ä¸­å«æœ‰éƒ¨åˆ†ä»£ç&nbsp;ï¼Œç¨ä½œæ”¹åŠ¨å³å¯ã€‚}
%
% \subsubsection{ç›®å½•}\label{subsubsec:content}
% \DescribeMacro{\tableofcontents}
% \DescribeMacro{\tableofcontentsEN}
% \DescribeMacro{\listofdesignfigures}
% ä¸‰ä¸ªå‘½ä»¤åˆ†åˆ«ç”Ÿæˆä¸­æ–‡ç›®å½•ã€è‹±æ–‡ç›®å½•ï¼ˆä»…ç¡•åšï¼‰ã€è®¾è®¡å›¾çº¸ç›®å½•ï¼ˆä»…æœ¬ç§‘éƒ¨åˆ†ä¸“ä¸šï¼‰ã€‚
% \begin{latex}
%   \tableofcontents
%   \tableofcontentsEN
%   \listofdesignfigures
% \end{latex}
%
% ä¸‰è€…æ˜¯äº’ç›¸ç‹¬ç«‹çš„ã€‚
% ä¸ºç”Ÿæˆè‹±æ–‡ç›®å½•ï¼Œéœ€è¦åœ¨æ­£æ–‡ä¸­ä»¥ \cs{echapter} ç­‰å‘½ä»¤æŒ‡å®šå„çº§æ&nbsp;‡é¢˜çš„å¯¹åº”è‹±æ–‡ï¼Œå‚è§~\ref{subsubsec:bitoc}ï¼›
% ä¸ºç”Ÿæˆè®¾è®¡å›¾çº¸ç›®å½•ï¼Œéœ€è¦åœ¨æ­£æ–‡ä¸­ä»¥ \env{dfigure} çŽ¯å¢ƒæŒ‡å®šæ’å›¾ä¸ºâ€œè®¾è®¡å›¾çº¸â€å¹¶è®¡æ•°ç¼–å·ï¼Œå‚è§~\ref{subsubsec:dfigure}ã€‚
%
% \subsubsection{ç¬¦å·è¯´æ˜Žè¡¨}\label{subsubsec:deno}
% \DescribeEnv{denotation}
% ç¬¦å·è¯´æ˜Žè¡¨çš„æºæ–‡ä»¶ä½äºŽ \file{chapter/denotation.tex}ï¼Œ
% ä½¿ç”¨ \env{denotation} çŽ¯å¢ƒã€‚
% ã€Šæœ¬ç§‘ç”Ÿè§„èŒƒã€‹å’Œã€Šç&nbsp;”ç©¶ç”Ÿè§„èŒƒã€‹ä¸­éƒ½æœªè¯¦ç»†è§„å®šç¬¦å·è¯´æ˜Žè¡¨çš„æ&nbsp;¼å¼ï¼Œ
% æ¨¡æ¿è®¾è®¡äº†ä¸€ä¸ªæ—&nbsp;æ¡†çº¿ã€å¯è·¨é¡µçš„é•¿è¡¨æ&nbsp;¼ï¼Œç›´æŽ¥åœ¨çŽ¯å¢ƒé‡Œå¡«å…¥å†…å®¹å³å¯ã€‚
% çŽ¯å¢ƒæŽ¥å—ä¸€ä¸ªå¯é€‰å‚æ•° \meta{width} ï¼Œä»£è¡¨â€œè¯´æ˜Žâ€ä¸€åˆ—çš„å®½åº¦ï¼Œç”¨äºŽåœ¨å¿…è¦æ—¶è°ƒæ•´ã€‚
% \begin{latex}
%   \begin{denotation}[12cm] % è®¾ç½®ç¬¬äºŒåˆ—çš„åˆ—å®½ä¸º 12 cmï¼Œé»˜è®¤ 10 cm
%       ç¬¦å·1   &amp;   è¯´æ˜Ž1   \\
%       ç¬¦å·2   &amp;   è¯´æ˜Ž2   \\
%   \end{denotation}
% \end{latex}
%
% \emph{æ³¨æ„ï¼šâ€œç¬¦å·è¯´æ˜Žè¡¨â€åœ¨æœ¬ç§‘è®ºæ–‡ä¸­ç½®äºŽâ€œå‚è€ƒæ–‡çŒ®â€ä¹‹åŽï¼Œä¸Žç&nbsp;”ç©¶ç”Ÿè®ºæ–‡æœ‰æ‰€å·®å¼‚ã€‚}
%
% \subsubsection{å‰è¨€}\label{subsubsec:foreword}
% è¯¥çŽ¯å¢ƒä»…é€‚ç”¨äºŽæœ¬ç§‘è®ºæ–‡ä¸­ã€‚
%
% è¯¥éƒ¨åˆ†çš„æºä»£ç&nbsp;ä½äºŽ \file{chapter/foreword.tex}ï¼Œ
% ä½¿ç”¨ \env{foreword} çŽ¯å¢ƒï¼Œåœ¨ç›¸åº”ä½ç½®è¾“å…¥æ–‡æœ¬å³å¯ã€‚æ³¨æ„ä¸èƒ½åœ¨æ­¤çŽ¯å¢ƒä¸­ä½¿ç”¨
% \cs{section}ç­‰ä¸Žâ€œç«&nbsp;â€è®¡æ•°å™¨æœ‰å…³çš„å‘½ä»¤ï¼Œç»“è®ºã€ç¿»è¯‘ã€è‡´è°¢éƒ¨åˆ†åŒç†ã€‚
%
% \subsection{æ­£æ–‡éƒ¨åˆ†}\label{subsec:mainmatter}
%
% \subsubsection{çº²ä¸¾ç›®å¼&nbsp;}
% \DescribeMacro{\include}
% \DescribeMacro{\input}
% \begin{syntax}{include}
%     \marg{æ–‡ä»¶}
% \end{syntax}
% \qquad
% \begin{syntax}{input}
%     \marg{æ–‡ä»¶}
% \end{syntax}
%
% æ­£æ–‡éƒ¨åˆ†å„ä¸ªç«&nbsp;èŠ‚çš„æºæ–‡ä»¶å­˜æ”¾äºŽ \file{chapter/} æ–‡ä»¶å¤¹ï¼Œ
% åªè¦åœ¨ \file{main.tex} æ­£æ–‡éƒ¨åˆ†ä»¥ä¸Šè¿°å‘½ä»¤æ’å…¥å„ç«&nbsp;èŠ‚å³å¯æˆæ–‡ã€‚
% æ’å…¥ \meta{æ–‡ä»¶} å¯ä»¥ä¸å¸¦æ‰©å±•åï¼Œé»˜è®¤ä¸º \file{.tex}ã€‚
%
% ä½¿ç”¨ \cs{include} å‘½ä»¤ä¼šåœ¨è¯»å…¥æ–‡ä»¶å‰å¦èµ·ä¸€é¡µï¼Œè€Œ \cs{input}
% çº¯ç²¹æ’å…¥æ–‡ä»¶é‡Œçš„å†…å®¹ã€‚
% å½“éšç€å†™ä½œç«&nbsp;èŠ‚å¢žå¤šï¼Œæ¯æ¬¡ç¼–è¯‘æ—¶é—´ä¹Ÿä¼šè¶Šæ¥è¶Šé•¿ã€‚
% æ­¤æ—¶å¯ä»¥é€‰æ‹©æ€§åœ°æ³¨é‡Šéƒ¨åˆ†ç«&nbsp;èŠ‚ï¼Œä»Žè€Œå¿«é€Ÿç¼–è¯‘æŸ¥é”™ã€‚
%
% \subsubsection{åŒè¯­ç›®å½•}\label{subsubsec:bitoc}
% \DescribeMacro{\echapter}
% \DescribeMacro{\esection}
% \DescribeMacro{\esubsection}
% \DescribeMacro{\esubsubsection}
% \begin{syntax}{echapter}
%     \marg{è‹±æ–‡ç›®å½•æ&nbsp;‡é¢˜}
% \end{syntax}
%
% è¿™äº›å‘½ä»¤ä»…é€‚ç”¨äºŽç¡•åšè®ºæ–‡ä¸­ï¼Œæ”¯æŒç«&nbsp;ã€èŠ‚ã€å°èŠ‚å’Œå°å°èŠ‚æ&nbsp;‡é¢˜ï¼Œä¸”è¯­æ³•ç›¸åŒã€‚
%
% ç¡•åšè®ºæ–‡è¦æ±‚ä¸­è‹±åŒè¯­ç›®å½•ï¼Œä¸”è‹±è¯­ç›®å½•è¦ä¸Žä¸­æ–‡å¯¹åº”ã€‚
% æˆ‘ä»¬åªéœ€åœ¨æ­£æ–‡ç«&nbsp;èŠ‚æ&nbsp;‡é¢˜å‘½ä»¤åŽåŠ&nbsp;ä¸Šå¯¹åº”æ&nbsp;‡ç­¾å³å¯ã€‚
% å¦‚ï¼š
% \begin{latex}
%   \chapter{ç»ªè®º}\echapter{Introduciton}
%       \section{åŸºæœ¬æ¦‚å¿µ}\esection{Basic Conceptions}
%       \section{æœ¬ç«&nbsp;å°ç»“}\esection{Chapter Summary}
%   \chapter{å®žéªŒ}\echapter{The Experiments}
% \end{latex}
%
% å¯èƒ½å†™ä¸¤é chapter æˆ– section æ˜¾å¾—è¿‡äºŽç¹çï¼Œæˆ‘ä»¬ä¹Ÿæœ‰æ›´ç®€å•çš„ \cs{bichapter} ä¸Ž \cs{bisection} ç­‰å‘½ä»¤ã€‚ä»¥ \cs{bichapter} ä¸ºä¾‹ï¼Œè¯­æ³•æ&nbsp;¼å¼ä¸ºï¼š
%
% \DescribeMacro{\bichapter}
% \DescribeMacro{\bisection}
% \DescribeMacro{\bisubsection}
% \DescribeMacro{\bisubsubsection}
% \begin{syntax}{bichapter}
%     \oarg{ä¸­æ–‡ç›®å½•æ&nbsp;‡é¢˜}\marg{ä¸­æ–‡æ­£æ–‡æ&nbsp;‡é¢˜}\marg{è‹±æ–‡ç›®å½•æ&nbsp;‡é¢˜}
% \end{syntax}
%
% å¯è§ä¸Ž \cs{chapter} ç›¸æ¯”ï¼Œå®ƒå¤šäº†ä¸€ä¸ªå¿…é€‰å‚æ•°ç”¨äºŽæŽ¥å— \meta{è‹±æ–‡ç›®å½•çš„æ&nbsp;‡é¢˜}ã€‚
% äºŽæ˜¯ï¼Œä¸Šé¢è¿™ä¸ªä¾‹å­å¯ä»¥è¿™æ&nbsp;·ç®€åŒ–ï¼š
% \begin{latex}
%   \bichapter{ç»ªè®º}{Intorduciton}
%       \bisection{åŸºæœ¬æ¦‚å¿µ}{Basic Conceptions}
%       \bisection{æœ¬ç«&nbsp;å°ç»“}{Chapter Summary}
%   \bichapter{å®žéªŒ}{The Experiments}
% \end{latex}
%
% ä½†è¿™ä¹Ÿæœ‰å°‘è®¸å¼Šç«¯ï¼šä¸€äº›ç¼–è¾‘å™¨ä¼šæ£€æµ‹ä»£ç&nbsp;ä¸­è¯¸å¦‚ \cs{section} ç­‰ç«&nbsp;èŠ‚ç»“æž„å‘½ä»¤ï¼Œ
% ä»¥æ­¤åœ¨ç¼–è¾‘çª—å£ä¸­æ˜¾ç¤ºè®ºæ–‡çš„ç»“æž„æ&nbsp;‘ï¼›ä½†æ˜¯ï¼Œå¦‚æžœä½¿ç”¨äº† \cs{bisection} ç­‰å‘½ä»¤ä¹‹åŽï¼Œ
% å°±å¯èƒ½æ—&nbsp;æ³•æ­£å¸¸æ˜¾ç¤ºäº†ã€‚
%
% \DescribeMacro{\tableofcontentsEN}
% ç„¶åŽï¼Œä½¿ç”¨ \cs{tableofcontentsEN} ç”Ÿæˆè‹±æ–‡ç›®å½•é¡¹ã€‚
% ç±»ä¼¼ä¸­æ–‡ç›®å½•ï¼Œè‹±æ–‡ç›®å½•éœ€è¦ç»è¿‡ä¸¤æ¬¡ç¼–è¯‘æ‰èƒ½æ­£ç¡®ç”Ÿæˆã€‚
%
% \subsubsection{åŒè¯­å›¾è¡¨æ³¨}\label{subsubsec:bicaption}
% \DescribeMacro{\bicaption}
% \begin{syntax}{bicaption}
%     \marg{ä¸­æ–‡é•¿å›¾è¡¨æ³¨}\marg{è‹±æ–‡é•¿å›¾è¡¨æ³¨}
% \end{syntax}
%
% è¯¥å‘½ä»¤ä»…é€‚ç”¨äºŽç¡•åšè®ºæ–‡ä¸­ã€‚
%
% å…·ä½“çš„ç”¨æ³•å¾ˆç®€å•ï¼šåœ¨ \env{figure} çŽ¯å¢ƒä¸­ä½¿ç”¨ \cs{bicaption} ä»£æ›¿ \cs{caption}ï¼Œå¦‚ï¼š
% \begin{latex}
%   \begin{figure}
%       \centering
%       \includegraphics[&lt;options&gt;]{My-Fig}
%       \bicaption{ä¸­æ–‡æ&nbsp;‡é¢˜}{English Title}
%       \label{fig:my-fig}
%   \end{figure}
% \end{latex}
%
% \subsubsection{è®¾è®¡å›¾çº¸}\label{subsubsec:dfigure}
% è¿™äº›å‘½ä»¤å’ŒçŽ¯å¢ƒä»…é€‚ç”¨äºŽæœ¬ç§‘è®ºæ–‡ä¸­ã€‚
%
% å…³äºŽä¸€èˆ¬çš„æ’å›¾è¯·çœ‹ç¤ºä¾‹æ–‡ä»¶ï¼Œè¿™é‡Œä»‹ç»å…³äºŽâ€œè®¾è®¡å›¾çº¸â€åŠç¼–ç›®çš„æ–¹æ³•ã€‚
%
% ç”±äºŽã€Šæœ¬ç§‘ç”Ÿè§„èŒƒã€‹æœªå¯¹æ‰€è°“â€œè®¾è®¡å›¾çº¸â€è¯¦ç»†è¯´æ˜Žï¼Œå›&nbsp;æ­¤æ¨¡æ¿è®¾è®¡äº†ä¸¤ç§ç¼–ç›®æ–¹å¼ï¼š
% ä¸€æ˜¯åŠ&nbsp;å…¥ä¸»ç›®å½•ï¼Œå¦ä¸€ç§æ˜¯å•ç‹¬ç”Ÿæˆç›®å½•ã€‚
%
% \DescribeEnv{dfigure}
% è®¾è®¡å›¾çº¸çš„è®¡æ•°å™¨æ˜¯ç‹¬ç«‹äºŽä¸€èˆ¬æ’å›¾çš„ã€‚
% å›&nbsp;æ­¤ï¼Œæ—&nbsp;è®ºç¼–ç›®æ–¹å¼å¦‚ä½•ï¼Œ
% éƒ½éœ€è¦ä½¿ç”¨ \env{dfigure} è€Œéž \env{figure} çŽ¯å¢ƒï¼Œæ¥ä¸ºä¸€å¼&nbsp;æ’å›¾æŒ‡å®šä¸ºâ€œè®¾è®¡å›¾çº¸â€ã€‚
%
% \DescribeMacro{\dcaption}
% å¦‚æžœéœ€è¦ç¼–å…¥ä¸»ç›®å½•ï¼Œéœ€è¦ä½¿ç”¨ \cs{dcaption} ä»£æ›¿ \cs{caption}ï¼Œå¦‚ï¼š
% \begin{latex}
%   \begin{dfigure}
%       \centering
%       \includegraphics[&lt;options&gt;]{My-Fig}
%       \dcaption{è®¾è®¡å›¾çº¸ç¤ºä¾‹}
%   \end{dfigure}
% \end{latex}
% ä¹Ÿå°±æ˜¯è¯´ï¼Œ\cs{dcaption} å‘½ä»¤ç”¨äºŽæ·»åŠ&nbsp;ç¼–å·ä¸Žæ&nbsp;‡é¢˜çš„åŒæ—¶å°†å®ƒç¼–å…¥ä¸»ç›®å½•ã€‚
%
% \DescribeMacro{\listofdesignfigures}
% è€Œç‹¬ç«‹ç›®å½•ä¹Ÿå¾ˆç®€å•ï¼šåªéœ€è¦ \env{dfigure} æŒ‡å®šä¸ºâ€œè®¾è®¡å›¾çº¸â€ï¼Œ
% å¹¶åœ¨ä¸»ç›®å½•ï¼ˆ\cs{tableofcontents}ï¼‰åŽè·Ÿä¸€ä¸ª \cs{listofdesignfigures} å³å¯ã€‚å‚è§~\ref{subsubsec:content}ã€‚
%
% \subsubsection{ç»“è®º}
% \DescribeEnv{conclusion}
% è¯¥çŽ¯å¢ƒä»…é€‚ç”¨äºŽæœ¬ç§‘è®ºæ–‡ä¸­ã€‚
%
% ç»“è®ºéƒ¨åˆ†çš„æºæ–‡ä»¶ä½äºŽ \file{chapter/conclusion.tex}ã€‚è¯¥çŽ¯å¢ƒä¸Žå‰è¨€ç›¸ä¼¼ï¼Œæ²¡æœ‰ç«&nbsp;çš„ç¼–å·ã€‚
% ä½†å¦‚æžœå¸Œæœ›æŠŠâ€œç»“è®ºâ€ç¼–å…¥ç«&nbsp;èŠ‚ï¼Œå¦‚â€œç¬¬äº”ç«&nbsp;\hspace{\ccwd}ç»“è®ºâ€ï¼Œ
% é‚£ä¹ˆå°±ä¸å¿…ä½¿ç”¨ \env{conclusion} çŽ¯å¢ƒï¼Œåƒå…¶ä»–ç«&nbsp;èŠ‚ä¸€æ&nbsp;·ä½¿ç”¨ \cs{chapter} å°±å¯ä»¥äº†ã€‚
% \begin{latex}
%   \begin{conclusion}
%      æœ¬æ–‡çš„ç»“è®ºæœ‰ä»€ä¹ˆï¼Ÿ
%   \end{conclusion}
% \end{latex}
%
% \subsubsection{å‚è€ƒæ–‡çŒ®}\label{subsubsec:bib}
% \DescribeMacro{\cite}
% \DescribeMacro{\inlinecite}
% \DescribeMacro{\nocite}
% \begin{syntax}{cite}
%    \marg{CiteKey}
% \end{syntax}
% \qquad
% \begin{syntax}{inlinecite}
%    \marg{CiteKey}
% \end{syntax}
%
% æ¨¡æ¿ä½¿ç”¨ \BibTeX æ¥å®žçŽ°å‚è€ƒæ–‡çŒ®çš„å¼•ç”¨ã€‚
% ä¸€èˆ¬æƒ…å†µä¸‹ï¼Œä½¿ç”¨ \cs{cite} å®žçŽ°ä¸Šæ&nbsp;‡ã€æ–¹æ‹¬å·æŒ‰â€œé¡ºåºç¼–ç&nbsp;åˆ¶â€å¼•ç”¨å‚è€ƒæ–‡çŒ®ï¼›
% è€Œ \cs{inlinecite} å¯å®žçŽ°è¡Œé—´å¼•ç”¨ï¼Œé€‚åˆæŸäº›ç‰¹æ®Šæƒ…å†µä½¿ç”¨ï¼›
% æ­¤å¤–ï¼Œ\cs{nocite}\marg{CiteKey} åˆ™æŒ‡æ˜Žä¸åœ¨æ­£æ–‡ä¸­å¼•ç”¨ä½†ä»éœ€è¦åˆ—å‡ºçš„å‚è€ƒæ–‡çŒ®ï¼Œä¸€èˆ¬ä¸ä½¿ç”¨ã€‚
% åœ¨åŒä¸€å¤„å¼•ç”¨å¤šä¸ªæ–‡çŒ®æ—¶ï¼Œåº”å°†å„ç¯‡æ–‡çŒ®çš„å¼•ç”¨æ&nbsp;‡ç­¾ä¸€åŒå†™åœ¨å‚æ•°é‡Œï¼Œ
% å¹¶ä»¥è¥¿æ–‡é€—å·â€œ,â€åˆ†éš”æ¯ä¸ª \meta{CiteKey}ï¼Œå¦‚ï¼š
% \begin{latex}
%   â€¦â€¦å¤šå–çƒ­æ°´ã€‚\cite{bib1, bib2}
% \end{latex}
%
% è‡³äºŽå‚è€ƒæ–‡çŒ®åˆ—è¡¨ï¼Œä¸»æ–‡ä»¶ä¸­ä»¥ä¸‹åˆ—å‘½ä»¤æ¥ç”Ÿæˆç¬¦åˆæ&nbsp;¼å¼è¦æ±‚çš„å‚è€ƒæ–‡çŒ®ç«&nbsp;èŠ‚ï¼š
% \begin{latex}
%   \bibliographystyle{gbt7714-numerical}
%   \bibliography{thesisbib.bib}
% \end{latex}
%
% ä¸ºç½—åˆ—å„æ¡å‚è€ƒæ–‡çŒ®ï¼Œ
% éœ€è¦åœ¨ \file{thesisbib.bib} æ–‡ä»¶ä¸­å¢žåˆ&nbsp;éœ€å¼•ç”¨çš„æ–‡çŒ®æ•°æ®ã€‚
% åœ¨æ–‡ç«&nbsp;ä¸­ç›¸åº”ä½ç½®å¼•ç”¨æ–‡çŒ®åŽï¼Œéœ€æ‰§è¡Œä¸€æ¬¡å…¨ç¼–è¯‘ä»¥ç¡®ä¿æ­£ç¡®æ˜¾ç¤ºã€‚
%
% \emph{æ³¨æ„ï¼šè‡³å°‘éœ€è¦å¼•ç”¨ä¸€ç¯‡æ–‡çŒ®ï¼Œå¦åˆ™æ‰§è¡Œå®Œå…¨ç¼–è¯‘å¯èƒ½ä¼šå¼•èµ·ç¼–è¯‘é”™è¯¯ã€‚}
%
%
% \subsection{åŽç½®éƒ¨åˆ†}\label{subsec:backmatter}
% \subsubsection{ç¿»è¯‘}
% \DescribeEnv{translation}
% è¯¥çŽ¯å¢ƒä»…é€‚ç”¨äºŽæœ¬ç§‘è®ºæ–‡ä¸­ã€‚
%
% æ–‡çŒ®ç¿»è¯‘çš„æºæ–‡ä»¶ä½äºŽ \file{chapter/translation.tex}ï¼Œ
% ä½¿ç”¨ \env{translation} çŽ¯å¢ƒï¼ŒåŽŸæ–‡å’Œç¿»è¯‘éƒ½è¦æœ‰ã€‚
%
% \emph{æ³¨æ„ï¼šéƒ¨åˆ†å­¦é™¢è¦æ±‚è¯¥éƒ¨åˆ†ä½œä¸ºå•ç‹¬çš„ä¸€ä»½æ–‡ä»¶ï¼Œæ­¤æ—¶å¯ç›´æŽ¥åˆ&nbsp;é™¤è¯¥æ–‡ä»¶å¹¶åˆ&nbsp;é™¤ä¸»æ–‡ä»¶çš„æ’å…¥ä»£ç&nbsp;ã€‚}
% \begin{latex}
%   \begin{translation}
%      English.
%
%      æ±‰è¯­ã€‚
%   \end{translation}
% \end{latex}
%
% \subsubsection{é™„å½•}\label{subsubsec:app}
% \DescribeMacro{\appendix}
% \cs{appendix} å‘½ä»¤ä½œä¸ºé™„å½•éƒ¨åˆ†çš„å¼€å§‹ã€‚
% ä¸Žæ­£æ–‡ç±»ä¼¼ï¼Œåªéœ€å¾€ \file{chapter/app1.tex} ç­‰åŠ&nbsp;å…¥å†…å®¹å³å¯ã€‚
% \begin{latex}
%   \appendix
%   \chapter{...}
%   ...
% \end{latex}
%
% \subsubsection{è‡´è°¢}
% \DescribeEnv{acknowledgement}
% è‡´è°¢éƒ¨åˆ†çš„æºæ–‡ä»¶ä½äºŽ \file{chapter/acknowledgement.tex}ï¼Œ
% ä½¿ç”¨ \env{acknowledgement} çŽ¯å¢ƒï¼Œ
% å¾€é‡Œé¢å†™å…¥æ„Ÿè°¢çš„è¯å°±å¯ä»¥å•¦ã€‚
% \begin{latex}
%   \begin{acknowledgement}
%       è°¢è°¢ä½&nbsp;ï¼
%   \end{acknowledgement}
% \end{latex}
%
% \emph{æ³¨æ„ï¼šâ€œè‡´è°¢â€åœ¨æœ¬ç§‘è®ºæ–‡ä¸­ç½®äºŽâ€œé™„å½•â€ä¹‹å‰ï¼Œä¸Žç&nbsp;”ç©¶ç”Ÿè®ºæ–‡æœ‰æ‰€å·®å¼‚ã€‚}
%
% \subsubsection{æˆæžœä¸Žç®€ä»‹}
% \DescribeEnv{achievements}
% \DescribeEnv{resume}
% è¿™äº›çŽ¯å¢ƒä»…é€‚ç”¨äºŽç&nbsp;”ç©¶ç”Ÿè®ºæ–‡ä¸­ã€‚
%
% è¯¥éƒ¨åˆ†åŒ…æ‹¬â€œä½œè€…æ”»è¯»å­¦ä½æœŸé—´å‘è¡¨çš„å­¦æœ¯è®ºæ–‡åŠç§‘ç&nbsp;”æˆæžœç›®å½•â€ä¸Žâ€œä½œè€…å’Œå¯¼å¸ˆç®€ä»‹â€ï¼Œ
% æºæ–‡ä»¶ä½äºŽ \file{chapter/resume.tex}ã€‚ç¤ºä¾‹æ–‡æ¡£ä¸­å·²æœ‰çŽ°æˆä¾‹å­ï¼ŒæŽ¨èç›´æŽ¥ä¿®æ”¹ã€‚
%
% \DescribeEnv{bibenumerate}
% å…¶ä¸­å¯ä»¥ä½¿ç”¨ \env{bibenumerate} çŽ¯å¢ƒæ¥ç”Ÿæˆå¸¦æœ‰æ–¹æ‹¬å·çš„åˆ—è¡¨ï¼Œé€‚åˆç½—åˆ—æ–‡çŒ®ã€‚
%
% \begin{latex}
%   \begin{achievements}
%       \section*{å‘è¡¨åŠå·²æŽ¥å—çš„è®ºæ–‡ï¼š}
%       \section*{æˆæžœåŠä¸“åˆ©ï¼š}
%   \end{achievements}
%   \begin{resume}
%      \section*{ä½œè€…ç®€ä»‹ï¼š}
%      \section*{å¯¼å¸ˆç®€ä»‹ï¼š}
%   \end{resume}
% \end{latex}
%
%
%
% \StopEventually{\PrintChanges\PrintIndex}
%
% \clearpage
% \section{å®žçŽ°ç»†èŠ‚}\label{sec:implementation}
% \subsection{æ–‡æ¡£ç±»ä¿¡æ¯ä¸Žé€‰é¡¹}
%    \begin{macrocode}
%&lt;*class&gt;
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{buctthesis}[2023/05/20 v2.0 BUCT Thesis Template]
%    \end{macrocode}
%
% è£…è½½ \pkg{ifxetex} å®åŒ…ï¼Œå¹¶é€šè¿‡ \cs{RequireXeTeX} å‘½ä»¤æ£€æŸ¥ç¼–è¯‘å‘½ä»¤ã€‚
% è‹¥æœªä½¿ç”¨ \XeTeX\ æˆ– \XeLaTeX\ å°†å¼ºåˆ¶ä¸­æ­¢ç¼–è¯‘å¹¶å‘å‡ºè­¦å‘Šã€‚
%    \begin{macrocode}
\RequirePackage{ifxetex}
\RequireXeTeX
%    \end{macrocode}
%
% å®šä¹‰é€‰é¡¹å’Œæ—ã€‚
%    \begin{macrocode}
\RequirePackage{kvoptions}
\SetupKeyvalOptions{
    family   = buct,
    prefix   = buct@,
    setkeys  = \kvsetkeys,
}
%    \end{macrocode}
%
% å®šä¹‰è½½å…¥æ–‡æ¡£ç±»æ—¶çš„é€‰é¡¹ï¼š
%
% æ¨¡æ¿ç±»åž‹ï¼šæœ¬ç§‘ã€ç¡•å£«ã€åšå£«ï¼›
%    \begin{macrocode}
\newif\ifbuct@bachelor\buct@bachelorfalse
\newif\ifbuct@master\buct@masterfalse
\newif\ifbuct@doctor\buct@doctorfalse
\define@key{buct}{type}{\expandafter\csname buct@#1true\endcsname}
%    \end{macrocode}
%
% æ˜¯å¦ä¸ºæœ€ç»ˆæäº¤ç‰ˆæœ¬ï¼Œé»˜è®¤å¦ï¼›
%    \begin{macrocode}
\DeclareBoolOption[false]{submit}
%    \end{macrocode}
%
% æ¯ç«&nbsp;ä»Žä»»æ„é¡µæˆ–å¥‡æ•°é¡µå¼€å§‹ï¼Œé»˜è®¤ openrightï¼Œå³æ¯ç«&nbsp;åªä»Žå¥‡æ•°é¡µå¼€å§‹ï¼›
%    \begin{macrocode}
\DeclareBoolOption[false]{openany}
\DeclareComplementaryOption{openright}{openany}
%    \end{macrocode}
%
% æ˜¯å¦å¼€å¯æ¨¡æ¿è°ƒè¯•å™¨ï¼Œé»˜è®¤å¦ã€‚
%    \begin{macrocode}
\DeclareBoolOption[false]{debugger}
%    \end{macrocode}
%
% å°†æ–‡æ¡£ç±»å¤šä½™çš„é€‰é¡¹ä¼&nbsp;é€’ç»™ \pkg{ctexbook} æ–‡æ¡£ç±»ï¼Œå¹¶åŠ&nbsp;è½½ç›¸åº”é€‰é¡¹çš„æ–‡æ¡£ç±»ã€‚
%    \begin{macrocode}
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexbook}}
\ProcessKeyvalOptions*
%    \end{macrocode}
%
% ç”±äºŽ \cls{ctexbook} å°†ä¼šè°ƒç”¨ \pkg{xeCJK} å®åŒ…æ¥é…ç½®å­—ä½“ï¼Œè¿™é‡Œä½¿ç”¨ \opt{quiet}
% é€‰é¡¹å…³é—­å›&nbsp;è‡ªå®šä¹‰å­—ä½“ï¼ˆåŽè¿°ï¼‰è€Œäº§ç”Ÿçš„è­¦å‘Šã€‚
% æœ€åŽæ&nbsp;¹æ®ç”¨æˆ·é€‰é¡¹ï¼ŒåŠ&nbsp;è½½ç›¸åº”é€‰é¡¹çš„ \cls{ctexbook} æ–‡æ¡£ç±»ã€‚
%    \begin{macrocode}
\PassOptionsToPackage{quiet}{xeCJK}
\ifbuct@openany\LoadClass[zihao=-4,UTF8,oneside]{ctexbook}
\else\LoadClass[zihao=-4,UTF8,openright]{ctexbook}\fi
%    \end{macrocode}
%
% å¿…é¡»æŒ‡å®šæœ¬ã€ç¡•ã€åšä¸­çš„ä¸€ç§ç±»åž‹ã€‚
%    \begin{macrocode}
\ifbuct@bachelor\relax\else
    \ifbuct@master\relax\else
        \ifbuct@doctor\relax\else
            \ClassError{buctthesis}{%
                Specified thesis type is obligatory: \MessageBreak%
                type = [ bachelor | master | doctor ]%
            }{}
\fi\fi\fi
%    \end{macrocode}
%
% \begin{macro}{\buct@def@key}
% å®šä¹‰ç”¨äºŽå®šä¹‰è®ºæ–‡ç›¸å…³ä¿¡æ¯çš„å†…éƒ¨å‘½ä»¤ã€‚ä¾‹å¦‚ï¼š
% \begin{latex}
%   \buct@def@key{ChineseTitle}
% \end{latex}
% ç›¸å½“äºŽï¼š
% \begin{latex}
%   \newcommand{\ChineseTitle}[1]{\newcommand{\buct@ChineseTitle}{#1}}
%   \define@key{buct}{ChineseTitle}{\ChineseTitle{#1}}
% \end{latex}
%
% è¿™ä¸ªå‘½ä»¤æˆ‘ä»¬è®©å®ƒèƒ½æŽ¥å—ä¸¤ä¸ªå‚æ•°ï¼Œå…¶ä¸­ç¬¬ä¸€ä¸ªå¿…é€‰å‚æ•°ä¸ºé€‰é¡¹çš„é”®åç§°ï¼ŒåŽä¸€ä¸ªå¯é€‰å‚æ•°åˆ™æ˜¯é€‰é¡¹çš„é»˜è®¤å€¼ã€‚
%    \begin{macrocode}
\NewDocumentCommand{\buct@def@key}{ m o }{
    \@namedef{#1}##1{\@namedef{buct@#1}{##1}}
    \define@key{buct}{#1}[#2]{\@nameuse{#1}{##1}}
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\buctsetup}
% å®šä¹‰ \cs{buctsetup} å‘½ä»¤ä½œä¸ºæŽ¥å£ï¼Œæ–¹ä¾¿åœ¨ä¸»æ–‡ä»¶ä¸­è®¾ç½®ã€‚
%    \begin{macrocode}
\newcommand{\buctsetup}[1]{\kvsetkeys{buct}{#1}}
\buct@def@key{ChineseTitle}
\buct@def@key{EnglishTitle}
\buct@def@key{ChineseTitleLineA}
\buct@def@key{ChineseTitleLineB}
\buct@def@key{ChineseTitle}
\buct@def@key{author}
\buct@def@key{studentid}
\buct@def@key{supervisor}
\buct@def@key{major}
\buct@def@key{date}[\the\year-\two@digits{\month}-\two@digits{\day}]
\ifbuct@bachelor
    \buct@def@key{school}
    \buct@def@key{class}
    \buct@def@key{msupervisor}
\fi
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\buct@def@sep@key}
% å¯¹äºŽ \opt{ChineseKeywords} ç­‰é”®æŽ¥å—çš„æ˜¯ä»¥è¥¿æ–‡é€—å·â€œ,â€åˆ†éš”çš„å€¼ï¼Œä¸Šé¢çš„å®šä¹‰å°±ä¸åˆé€‚äº†ã€‚
% æ‰€ä»¥è¦å¯¹å€¼åšåˆ†éš”ã€‚ç›¸æ¯” \cs{buct@def@key} è¿™é‡Œçš„åŽä¸€ä¸ªå‚æ•°ä¸ºå¿…é€‰é¡¹ï¼Œå³ä¸ºåœ¨è®ºæ–‡ä¸­çš„åˆ†éš”ç¬¦ã€‚
% æ­¤å¤„çš„å®å±•å¼€å¯å‚è€ƒ\href{https://www.zhihu.com/question/26916597}{è¿™ç¯‡è®¨è®º}ã€‚
%    \begin{macrocode}
\newcommand{\buct@def@sep@key}[2]{%
    \@namedef{#1}##1{%
        \@namedef{buct@#1}{}%
        \@for\reserved@a:=##1\do{
            \expandafter\ifx\csname buct@#1\endcsname\@empty\else
            \expandafter\g@addto@macro\csname buct@#1\endcsname{#2}\fi
            \expandafter\expandafter\expandafter\g@addto@macro%
            \expandafter\csname buct@#1\expandafter\endcsname%
            \expandafter{\reserved@a}
        }
    }
    \define@key{buct}{#1}{\@nameuse{#1}{##1}}%
}
\buct@def@sep@key{ChineseKeywords}{\buct@ChineseKeywords@sep}
\buct@def@sep@key{EnglishKeywords}{\buct@EnglishKeywords@sep}
%    \end{macrocode}
% \end{macro}
% \subsection{è½½å…¥å®åŒ…}
%
% ç”¨äºŽè°ƒæ•´çº¸å¼&nbsp;ä¸Žé¡µé¢ï¼Œè¿™ä¸¤ä¸ªå®åŒ…æä¾›äº†æ–¹ä¾¿çš„å‘½ä»¤æ¥è®¾ç½®é¡µé¢è¾¹è·å’Œé¡µçœ‰é¡µè„šã€‚
%    \begin{macrocode}
\RequirePackage{geometry,fancyhdr}
%    \end{macrocode}
%
% è‡ªå®šä¹‰ç›®å½•æ&nbsp;¼å¼ã€‚
%    \begin{macrocode}
\RequirePackage{titletoc}
%    \end{macrocode}
%
% \AmS{}ç³»åˆ—å®åŒ…ï¼ŒåŒ…æ‹¬ï¼š
% \begin{enumerate}
%    \item \pkg{amsmath}ï¼Œæä¾›äº†å„ç§æ•°å­¦æ–¹é¢çš„å¢žå¼ºåž‹å‘½ä»¤ï¼Œä»¥æ”¹è¿›åŒ…å«æ•°å­¦å…¬å¼çš„æ–‡æ¡£ç»“æž„ï¼›
%    \item \pkg{amsthm}ï¼Œæä¾›äº†å®šç†ç±»çŽ¯å¢ƒæ&nbsp;·å¼è§„èŒƒï¼›
%    \item \pkg{amssymb}ï¼Œæä¾›å„ç§æ•°å­¦ç¬¦å·ã€‚
% \end{enumerate}
% é™¤æ­¤ä¹‹å¤–ï¼Œè½½å…¥ \pkg{unicode-math} å®åŒ…ä»¥é…ç½®æ•°å­¦å­—ä½“ã€‚
%    \begin{macrocode}
\RequirePackage{amsmath,amsthm,amssymb,unicode-math}
%    \end{macrocode}
%
% è¿™ä¸¤ä¸ªå®åŒ…æœ€é‡è¦çš„ç”¨é€”æ˜¯æŽ’ç‰ˆæœ¬ç§‘çš„ç¬¬äº”çº§æ&nbsp;‡é¢˜ã€‚å‰è€…ç”¨äºŽæä¾›å¸¦åœˆåºå·ï¼Œè€ŒåŽè€…æä¾›äº†æ–¹ä¾¿çš„æ&nbsp;¼å¼æŽ§åˆ¶ã€‚
%    \begin{macrocode}
\RequirePackage{pifont,enumitem}
%    \end{macrocode}
%
% ä¸€ä¸ªé€‚åˆæŽ’ç‰ˆå«æ•°å€¼å’Œå•ä½çš„ç‰©ç†é‡çš„å®åŒ…ï¼Œå®ƒä¹Ÿèƒ½æä¾›åœ¨è¡¨æ&nbsp;¼ä¸­æŒ‰å°æ•°ç‚¹ç«–ç›´å¯¹é½çš„æ–¹æ³•ã€‚
%    \begin{macrocode}
\RequirePackage{siunitx}
%    \end{macrocode}
%
% å…³äºŽåŒ–å­¦å¼æŽ’ç‰ˆçš„å®åŒ…æœ‰å¾ˆå¤šï¼Œä½†è¿™é‡Œè½½å…¥ \pkg{mhchem}ã€‚
% å®ƒå®¹æ˜“ä¸Šæ‰‹ï¼Œåå‘äºŽæ—&nbsp;æœºå’Œåˆ†æžåŒ–å­¦ï¼ˆæ–¹ç¨‹ï¼‰å¼çš„æŽ’ç‰ˆã€‚
% è‡³äºŽæœ‰æœºåŒ–å­¦çš„ç»“æž„å¼ç­‰ï¼Œä½¿ç”¨å›¾ç‰‡æ’å…¥å¯èƒ½æ˜¯ä¸€ä¸ªæ›´å¥½çš„é€‰æ‹©ï¼›è‹¥æ—¶é—´å……è£•å¯å­¦ä¹&nbsp;å¦‚ \pkg{chemfig} ç­‰å®åŒ…ã€‚
%    \begin{macrocode}
\RequirePackage[version = 4]{mhchem}
%    \end{macrocode}
%
% æµ®åŠ¨ä½“ç³»åˆ—å®åŒ…ï¼ŒæŽ§åˆ¶è¡¨æ&nbsp;¼ã€æ’å›¾ç­‰æµ®åŠ¨ä½“åŠæ&nbsp;‡ç­¾æ&nbsp;¼å¼ã€‚
%    \begin{macrocode}
\RequirePackage{float}
\RequirePackage{longtable,threeparttable,tabularx,multirow,booktabs}
\RequirePackage{graphicx}
\RequirePackage[labelformat = simple]{subcaption}
\RequirePackage[format=hang]{caption}
\RequirePackage{bicaption}
%    \end{macrocode}
%
% ä¸€ä¸ªç”¨äºŽç»˜å›¾çš„å®åŒ…ï¼Œæ¨¡æ¿é‡Œç”¨äºŽç»˜åˆ¶è„šæ³¨å¤–çš„åœ†åœˆã€‚
%    \begin{macrocode}
\RequirePackage{tikz}
%    \end{macrocode}
%
% ç»˜åˆ¶å°é¢çš„ä¸€äº›å®åŒ…ã€‚\pkg{calc} èƒ½å¤Ÿæ–¹ä¾¿åœ°è®¡ç®—æ–‡æœ¬é•¿åº¦ï¼›
% \pkg{textpos} é…åˆ \pkg{tikz}ï¼Œè¿™æ&nbsp;·å°±èƒ½åœ¨é¡µé¢çš„ä»»ä½•åœ°æ–¹ä½œç”»äº†ã€‚
% å¦å¤–ï¼Œ åœ¨ ctex å®é›† 2.5 ç‰ˆæœ¬ä¹‹åŽéœ€è¦æ‰‹åŠ¨è½½å…¥\pkg{xeCJKfntef} ã€‚
%    \begin{macrocode}
\RequirePackage{calc}
\RequirePackage[absolute,overlay]{textpos}
\RequirePackage{xeCJKfntef}
%    \end{macrocode}
%
% ä»£ç&nbsp;å—çŽ¯å¢ƒã€‚
%    \begin{macrocode}
\RequirePackage{listings}
%    \end{macrocode}
%
% è¯¥å®åŒ…æä¾›äº†ç¬¦åˆè¦æ±‚çš„â€œå‚è€ƒæ–‡çŒ®â€ç«&nbsp;èŠ‚ä¸­æ–‡çŒ®çš„ç¼–æŽ’æ&nbsp;¼å¼ã€‚
% è¿™é‡Œçš„é€‰é¡¹ä¼šä¼&nbsp;é€’è‡³ \pkg{natbib}ï¼Œä»Žè€Œåœ¨æ­£æ–‡ä¸­èƒ½å®žçŽ°æ•°å­—ã€ä¸Šæ&nbsp;‡ã€æ–¹æ‹¬å·çš„å¼•ç”¨æ¨¡å¼ã€‚
%    \begin{macrocode}
\RequirePackage[sort&amp;compress]{gbt7714}
%    \end{macrocode}
%
% ä¸ºäº†æ–¹ä¾¿æŸ¥çœ‹ï¼Œæ¨¡æ¿å°†ä»¥å½©è‰²æ&nbsp;‡æ˜Žè¶…é“¾æŽ¥å’Œä»£ç&nbsp;å—ä¸­çš„å…³é”®å­—ã€‚
%    \begin{macrocode}
\RequirePackage{xcolor}
%    \end{macrocode}
%
% ç”¨äºŽæ’å…¥PDFæ–‡ä»¶çš„å®åŒ…ã€‚å¯ä»¥æ’å…¥å°é¢ã€å£°æ˜Žé¡µï¼ˆå›&nbsp;ä¸ºäºŒè€…éœ€è¦ç­¾å­—ï¼‰ç­‰æ‰«ææˆ–ä¸æ–¹ä¾¿æŽ’ç‰ˆçš„PDFæ–‡ä»¶ã€‚
%    \begin{macrocode}
\RequirePackage{pdfpages}
%    \end{macrocode}
%
% \pkg{footmisc} å®åŒ…çš„é€‰é¡¹å°†è„šæ³¨çš„ä½ç½®å›ºå®šåœ¨é¡µé¢åº•ç«¯ï¼Œä¸”è·¨é¡µé‡ç½®è®¡æ•°ã€‚
%    \begin{macrocode}
\RequirePackage[bottom,perpage]{footmisc}
%    \end{macrocode}
%
% å‘½ä»¤è¡¥ä¸ï¼Œç”¨äºŽä¾¿æ·åœ°ä¿®æ”¹ä¸€äº›å¤æ‚å‘½ä»¤ï¼Œè€Œæ—&nbsp;éœ€é‡æ–°å®šä¹‰ä¹‹ã€‚
%    \begin{macrocode}
\RequirePackage{xpatch}
%    \end{macrocode}
%
% åˆ¤æ–­è¯­å¥ã€‚
%    \begin{macrocode}
\RequirePackage{xifthen}
%    \end{macrocode}
%
% åœ¨é¡µé¢ç”»ä¸Šæ&nbsp;‡å°ºã€è¾¹æ¡†çº¿ï¼Œå’Œæ&nbsp;‡æ³¨è¡Œå·ã€‚ä»…å½“å¼€å¯è°ƒè¯•æ—¶ã€‚
%    \begin{macrocode}
\ifbuct@debugger
    \RequirePackage[color=blue,type=upperleft,showframe,hshift=2.7cm,vshift=3.5cm]{fgruler}
    \RequirePackage[pagewise]{lineno}
\fi
%    \end{macrocode}
%
% å®žçŽ°äº¤å‰å¼•ç”¨ä¸Žè¶…é“¾æŽ¥ã€‚
%    \begin{macrocode}
\RequirePackage{hyperref}
%    \end{macrocode}
%
% \subsection{å­—ä½“é…ç½®}
% \begin{macro}{\buct@fontsetval}
% é¦–å…ˆæ¥è®¾ç½®ä¸­æ–‡çš„å­—ä½“ã€‚åœ¨ \pkg{ctex} å®é›†ä¸­çš„ \cs{g\_\_ctex\_fontset\_tl} å­˜å‚¨ç€é€‰é¡¹ \opt{fontset} çš„å€¼ã€‚
% æ¨¡æ¿å°½å¯èƒ½é¿å…ä½¿ç”¨ \LaTeX 3 è¯­æ³•ï¼Œæ‰€ä»¥å…ˆç”¨ä¸€ä¸ª \cs{buct@fontsetval} æ¥ä¿å­˜å®ƒã€‚
%    \begin{macrocode}
\newcommand\buct@fontsetval{\csname g__ctex_fontset_tl\endcsname}
%    \end{macrocode}
% \end{macro}
%
% æ&nbsp;¹æ®\cs{buct@fontsetval} çš„å€¼ï¼Œåˆ†åˆ«è®¾ç½®ä¸åŒçš„å­—ä½“ã€‚
%
% åœ¨ Windows ç³»ç»Ÿä¸‹ï¼Œéœ€è¦å¯¹ä¸­æ˜“å®‹ä½“ã€ä¸­æ˜“é»‘ä½“å¼€å¯â€œä¼ªç²—â€å’Œâ€œä¼ªæ–œâ€ï¼Œå¹¶è®¾ç½®ç›¸å…³ç³»æ•°ã€‚
%    \begin{macrocode}
\ifthenelse{\equal{\buct@fontsetval}{windows}}{
    \xeCJKsetup{EmboldenFactor=2.2,SlantFactor=0.2}
    \setCJKmainfont{SimSun}[AutoFakeBold,AutoFakeSlant]
    \setCJKsansfont{SimHei}[AutoFakeBold]
}
%    \end{macrocode}
% è€Œåœ¨éž Windows ç³»ç»Ÿä¸‹ï¼Œåˆ™ç”± \pkg{ctex} å®é›†è‡ªåŠ¨æ£€æµ‹çŽ¯å¢ƒå¹¶ä¿ç•™å…¶é»˜è®¤è®¾ç½®ï¼Œ
% åŒæ—¶è­¦å‘Šæ‰€ä½¿ç”¨çš„å­—ä½“ä¸Žã€Šè§„èŒƒã€‹ï¼ˆå³é»˜è®¤è®¾ç½®ï¼‰å­˜åœ¨ä¸åŒã€‚
%    \begin{macrocode}
{
    \ClassWarning{buctthesis}{%
        The fonts differ to the default.\MessageBreak%
        Use fontset = windows to correct.%
    }
}
%    \end{macrocode}
%
% \begin{macro}{\bfsong}
% å›&nbsp;è®¾ç½®ä¸­æ˜“å®‹ä½“å¼€å¯â€œä¼ªç²—ä½“â€ï¼Œä½¿ç”¨ \cs{bfseries} å°†äº§ç”ŸåŠ&nbsp;ç²—çš„æ•ˆæžœï¼Œ
% è¿™ä¸Žä¸€èˆ¬çš„ \LaTeX\ å¸¸è¯†æ˜¯ç›¸æ‚–çš„ã€‚
% å›&nbsp;æ­¤æ¨¡æ¿æä¾›äº†æ›´æ˜Žç¡®çš„å‘½ä»¤ \cs{bfsong}ã€‚
%    \begin{macrocode}
\newcommand{\bfsong}{\bfseries}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\bfhei}
%
% å¯¹äºŽé»‘ä½“åŒç†ã€‚
% æ­¤å¤–è¦æ³¨æ„ï¼šæ¨¡æ¿å°† \opt{fontset = windows} é¢„è®¾çš„æ—&nbsp;è¡¬çº¿å­—ä½“ï¼ˆå¾®è½¯é›…é»‘ï¼‰æ”¹ä¸ºäº†ä¸­æ˜“é»‘ä½“ã€‚
%    \begin{macrocode}
\newcommand{\bfhei}{\sffamily\bfseries}
%    \end{macrocode}
% \end{macro}
%
% å…¶æ¬¡ï¼Œå¯¹äºŽè¥¿æ–‡ï¼Œå…¨éƒ¨ç»Ÿä¸€è®¾ç½®ä¸º Times New Romanï¼Œä»¥å°½å¯èƒ½é¿å…æ&nbsp;¼å¼å®¡æŸ¥é—®é¢˜ã€‚
%    \begin{macrocode}
\setmainfont{Times New Roman}
\setsansfont{Times New Roman}
\setmonofont{Times New Roman}
%    \end{macrocode}
%
% è®¾ç½®æ•°å­¦å…¬å¼ä¸­çš„å­—ä½“ã€‚
%    \begin{macrocode}
\IfFontExistsTF{LibertinusMath-Regular.otf}{%
    \setmathfont{latinmodern-math.otf}
    \setmathfont[%
        range = {%
            up/{latin,Latin,num},
            it/{latin,Latin,greek},
            bfit/{latin,Latin},
        }
    ]{LibertinusMath-Regular.otf}
}{}
%    \end{macrocode}
%
% æŒ‡å®š Unicode ä¸­å¸¦åœˆæ•°å­— \symbol{"2460}--\symbol{"2469} ä½¿ç”¨ä¸­æ–‡å­—ä½“ã€‚
%    \begin{macrocode}
\xeCJKDeclareCharClass{CJK}{"2460-&gt;"2469}
%    \end{macrocode}
%
% å®Œæˆé…ç½®åŽï¼Œå®šä¹‰æ–‡ä¸­å„å…ƒç´&nbsp;çš„å­—ä½“æ&nbsp;·å¼ã€‚
%
% é¡µçœ‰ä¸Žé¡µè„šã€‚
%    \begin{macrocode}
\newcommand{\buct@headfont}{\zihao{-5}\songti}
\newcommand{\buct@footfont}{\zihao{-5}\songti}
%    \end{macrocode}
%
% è¯šä¿¡å£°æ˜Žï¼ˆæœ¬ç§‘ï¼‰æˆ–è®ºæ–‡åŽŸåˆ›æ€§å£°æ˜Žå’ŒæŽˆæƒå£°æ˜Žï¼ˆç¡•åšï¼‰ã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \newcommand{\buct@dcl@titlefont}{\zihao{3}\songti}
    \newcommand{\buct@dcl@ideclarefont}{\zihao{4}\songti}
\else
    \newcommand{\buct@dcl@titlefont}{\zihao{4}\bfseries}
    \newcommand{\buct@dcl@textfont}{\zihao{4}\mdseries}
    \newcommand{\buct@auth@titlefont}{\zihao{4}\bfseries}
    \newcommand{\buct@auth@textfont}{\zihao{4}\mdseries}
\fi
%    \end{macrocode}
%
% ä¸­è‹±æ–‡æ‘˜è¦ã€‚
% è¿™é‡Œçš„ \cs{CJKfamily+} å‘½ä»¤æ¥è‡ªäºŽ \pkg{xeCJK} å®åŒ…ï¼Œç”¨äºŽåˆ‡æ¢å­—ä½“æ—ï¼š
% å½“å‚æ•°ä¸ºç©ºæ—¶ï¼Œåˆ™ä½¿ç”¨å½“å‰çš„ CJK å­—ä½“æ—ï¼Œä¸”å¯¹æ‰€æœ‰å­—ç¬¦ç±»ç”Ÿæ•ˆã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \newcommand{\buct@abs@titfont}{\zihao{3}\bfsong}
    \newcommand{\buct@abs@infofont}{\zihao{5}\mdseries}
    \newcommand{\buct@abs@absfont}{\zihao{4}\songti}
    \newcommand{\buct@keywordsfont}{\zihao{4}\heiti\CJKfamily+{}}
    \newcommand{\buct@abs@titfonten}{\zihao{3}\bfseries}
    \newcommand{\buct@abs@absfonten}{\zihao{4}\songti}
    \newcommand{\buct@keywordsfonten}{\zihao{4}\heiti\CJKfamily+{}}
\else
    \newcommand{\buct@abs@titfont}{\zihao{3}\heiti}
    \newcommand{\buct@abs@absfont}{\zihao{-3}\heiti}
    \newcommand{\buct@abs@textfont}{\zihao{4}\songti}
    \newcommand{\buct@keywords@titfont}{\zihao{4}\heiti}
    \newcommand{\buct@keywords@font}{\zihao{4}\songti}
    \newcommand{\buct@abs@titfonten}{\zihao{3}\bfseries}
    \newcommand{\buct@abs@absfonten}{\zihao{-3}\bfseries}
    \newcommand{\buct@keywords@titfonten}{\zihao{4}\bfseries}
    \newcommand{\buct@keywords@fonten}{\zihao{4}\mdseries}
\fi
%    \end{macrocode}
%
% ä¸­è‹±æ–‡ç›®å½•ã€è®¾è®¡å›¾çº¸ç›®å½•æ&nbsp;‡é¢˜å’Œç›®å½•ä¸­çš„å„çº§æ&nbsp;‡é¢˜ã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \newcommand{\buct@toc@tocfont}{\zihao{4}\mdseries\heiti}
\else
    \newcommand{\buct@toc@tocfont}{\zihao{3}\heiti}
\fi
\newcommand{\buct@toc@chapfont}{\zihao{4}\heiti}
\newcommand{\buct@toc@secfont}{\zihao{4}\songti}
\newcommand{\buct@toc@ssecfont}{\zihao{4}\songti}
\newcommand{\buct@toc@sssecfont}{\zihao{-4}\songti}
\newcommand{\buct@toc@dsgfigfont}{\buct@toc@ssecfont}
\newcommand{\buct@toce@chapfont}{\zihao{4}\bfseries}
%    \end{macrocode}
%
% æ­£æ–‡çš„å„çº§æ&nbsp;‡é¢˜ã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \newcommand{\buct@chapfont}{\zihao{-3}\bfsong\centering}
    \newcommand{\buct@secfont}{\zihao{-3}\bfsong\centering}
    \newcommand{\buct@ssecfont}{\zihao{-4}\bfsong\raggedright}
    \newcommand{\buct@sssecfont}{\zihao{-4}\songti}
\else
    \newcommand{\buct@chapfont}{\zihao{3}\heiti\centering}
    \newcommand{\buct@secfont}{\zihao{4}\heiti\raggedright}
    \newcommand{\buct@ssecfont}{\zihao{-4}\heiti\raggedright}
    \newcommand{\buct@sssecfont}{\buct@ssecfont}
\fi
%    \end{macrocode}
%
% æµ®åŠ¨ä½“ï¼ˆåŒ…æ‹¬æ’å›¾å’Œè¡¨æ&nbsp;¼ï¼‰å†…å®¹ã€ç¼–å·å’Œæ&nbsp;‡é¢˜ã€‚
%    \begin{macrocode}
\newcommand{\buct@floatfont}{\zihao{5}}
\newcommand{\buct@float@captionfont}{\zihao{5}\mdseries}
\newcommand{\buct@float@labelfont}{\zihao{5}\mdseries}
%    \end{macrocode}
%
% ä»£ç&nbsp;å—ã€‚æ&nbsp;¹æ®æ˜¯å¦å¼€å¯ \opt{submit} é€‰é¡¹ï¼Œè®¾ç½®å…³é”®å­—ã€æ³¨é‡Šçš„é¢œè‰²ã€‚
% å¦‚æžœæœªå¼€å¯ï¼Œå…³é”®å­—å°†ä¼šä½¿ç”¨æ·±è“è‰²ï¼Œæ³¨é‡Šä¼šä½¿ç”¨æ·±ç°è‰²ã€‚
%    \begin{macrocode}
\newcommand{\buct@codefont}{\ttfamily\songti\zihao{5}}
\newcommand{\buct@codecomfont}{%
    \ttfamily\slshape
    \ifbuct@submit\relax\else\color{gray!80!black}\fi}
\newcommand{\buct@codekeyfont}{%
    \ttfamily\bfseries
    \ifbuct@submit\relax\else\color{blue!80!black}\fi}
%    \end{macrocode}
%
%
% \subsection{å¸¸é‡è®¾ç½®}
%    \begin{macrocode}
\ifbuct@bachelor
    \newcommand\buct@headtext{åŒ—äº¬åŒ–å·¥å¤§å­¦æ¯•ä¸šè®¾è®¡ï¼ˆè®ºæ–‡ï¼‰}
    \newcommand\buct@foottext{\thepage}
    \newcommand\buct@dcl@title{è¯šä¿¡å£°æ˜Ž}
    \newcommand\buct@dcl@ideclare{æœ¬äººå£°æ˜Žï¼š}
    \newcommand\buct@dcl@text{
        æ‰€å‘ˆäº¤çš„å­¦ä½è®ºæ–‡æ˜¯æœ¬äººåœ¨å¯¼å¸ˆçš„æŒ‡å¯¼ä¸‹ç‹¬ç«‹è¿›è¡Œç&nbsp;”ç©¶å·¥ä½œæ‰€å–å¾—çš„æˆæžœã€‚
        æ®æˆ‘æ‰€çŸ¥ï¼Œé™¤æ–‡ä¸­å·²ç»æ³¨æ˜Žå¼•ç”¨çš„å†…å®¹å¤–ï¼Œæœ¬è®ºæ–‡ä¸åŒ…å«ä»»ä½•å…¶ä»–ä¸ªäººæˆ–é›†ä½“
        å·²ç»å‘è¡¨æˆ–æ’°å†™è¿‡çš„ç&nbsp;”ç©¶æˆæžœï¼Œä¹Ÿä¸åŒ…å«ä¸ºèŽ·å¾—åŒ—äº¬åŒ–å·¥å¤§å­¦æˆ–å…¶å®ƒæ•™è‚²æœºæž„
        çš„å­¦ä½æˆ–è¯ä¹¦è€Œä½¿ç”¨è¿‡çš„ææ–™ã€‚å¯¹è®ºæ–‡æ‰€æ¶‰åŠçš„ç&nbsp;”ç©¶å·¥ä½œåšå‡ºè´¡çŒ®çš„å…¶ä»–ä¸ªäºº
        å’Œé›†ä½“ï¼Œå‡å·²åœ¨æ–‡ä¸­ä»¥æ˜Žç¡®æ–¹å¼æ&nbsp;‡æ˜Žæˆ–è‡´è°¢ã€‚æœ¬äººå®Œå…¨æ„è¯†åˆ°æœ¬å£°æ˜Žçš„æ³•å¾‹
        ç»“æžœç”±æœ¬äººæ‰¿æ‹…ã€‚
    }
    \newcommand\buct@dcl@sign{æœ¬äººç­¾åï¼š\hspace{14em}å¹´\hspace{2.5em}æœˆ\hspace{2.5em}æ—¥}
    \newcommand\buct@task@title{æœ¬ç§‘ç”Ÿæ¯•ä¸šè®¾è®¡ï¼ˆè®ºæ–‡ï¼‰ä»»åŠ¡ä¹¦}
    \newcommand\buct@task@pdf{ä»»åŠ¡ä¹¦}
    \newcommand\buct@task@ChineseTitle{è®¾è®¡ï¼ˆè®ºæ–‡ï¼‰é¢˜ç›®ï¼š}
    \newcommand\buct@task@school{å­¦é™¢ï¼š}
    \newcommand\buct@task@major{ä¸“ä¸šï¼š}
    \newcommand\buct@task@class{ç­çº§ï¼š}
    \newcommand\buct@task@student{å­¦ç”Ÿï¼š}
    \newcommand\buct@task@supervisor{æŒ‡å¯¼æ•™å¸ˆï¼ˆå«èŒç§°ï¼‰ï¼š}
    \newcommand\buct@task@msupervisor{ä¸“ä¸šè´Ÿè´£äººï¼š}
    \newcommand\buct@task@itema{1.è®¾è®¡ï¼ˆè®ºæ–‡ï¼‰çš„ä¸»è¦ä»»åŠ¡åŠç›®æ&nbsp;‡}
    \newcommand\buct@task@itemb{2.è®¾è®¡ï¼ˆè®ºæ–‡ï¼‰çš„åŸºæœ¬è¦æ±‚å’Œå†…å®¹}
    \newcommand\buct@task@itemc{3.ä¸»è¦å‚è€ƒæ–‡çŒ®}
    \newcommand\buct@task@itemd{4.è¿›åº¦å®‰æŽ’}
    \newcommand\buct@cabstract@title{æ‘˜è¦}
    \newcommand\buct@eabstract@title{ABSTRACT}
    \newcommand\buct@ChineseKeywords@title{å…³é”®è¯ï¼š}
    \newcommand\buct@EnglishKeywords@title{Keywords:~}
    \newcommand\buct@ChineseKeywords@sep{\quad}
    \newcommand\buct@EnglishKeywords@sep{; }
    \newcommand\buct@supervisor@title{æŒ‡å¯¼æ•™å¸ˆï¼š}
    \newcommand\buct@content@title{ç›®\hspace{\ccwd}å½•}
    \newcommand\buct@dfigurename{è®¾è®¡å›¾çº¸}
    \newcommand\buct@dfigure@content@title{è®¾è®¡å›¾çº¸ç›®å½•}
    \newcommand\buct@foreword@title{å‰è¨€}
    \newcommand\buct@concl@title{ç»“è®º}
    \newcommand\buct@trans@title{ç¿»è¯‘}
    \newcommand\buct@ack@title{è‡´è°¢}
    \newcommand\buct@deno@title{ç¬¦å·è¯´æ˜Ž}
    \renewcommand\lstlistingname{ä»£ç&nbsp;}
\else
    \newcommand\buct@headtext{\leftmark}
    \newcommand\buct@foottext{\thepage}
    \newcommand\buct@dcl@title{åŒ—äº¬åŒ–å·¥å¤§å­¦å­¦ä½è®ºæ–‡åŽŸåˆ›æ€§å£°æ˜Ž}
    \newcommand\buct@dcl@text{
        æœ¬äººéƒ‘é‡å£°æ˜Žï¼šæ‰€å‘ˆäº¤çš„å­¦ä½è®ºæ–‡ï¼Œæ˜¯æœ¬äººåœ¨å¯¼å¸ˆçš„æŒ‡å¯¼ä¸‹ï¼Œç‹¬ç«‹
        è¿›è¡Œç&nbsp;”ç©¶å·¥ä½œæ‰€å–å¾—çš„æˆæžœã€‚é™¤æ–‡ä¸­å·²ç»æ³¨æ˜Žå¼•ç”¨çš„å†…å®¹å¤–ï¼Œæœ¬è®º
        æ–‡ä¸å«ä»»ä½•å…¶ä»–ä¸ªäººæˆ–é›†ä½“å·²ç»å‘è¡¨æˆ–æ’°å†™è¿‡çš„ä½œå“æˆæžœã€‚å¯¹æœ¬æ–‡
        çš„ç&nbsp;”ç©¶åšå‡ºé‡è¦è´¡çŒ®çš„ä¸ªäººå’Œé›†ä½“ï¼Œå‡å·²åœ¨æ–‡ä¸­ä»¥æ˜Žç¡®æ–¹å¼æ&nbsp;‡æ˜Žã€‚
        æœ¬äººå®Œå…¨æ„è¯†åˆ°æœ¬å£°æ˜Žçš„æ³•å¾‹ç»“æžœç”±æœ¬äººæ‰¿æ‹…ã€‚
    }
    \newcommand\buct@auth@title{å…³äºŽè®ºæ–‡ä½¿ç”¨æŽˆæƒçš„è¯´æ˜Ž}
    \newcommand\buct@auth@text{
        å­¦ä½è®ºæ–‡ä½œè€…å®Œå…¨äº†è§£åŒ—äº¬åŒ–å·¥å¤§å­¦æœ‰å…³ä¿ç•™å’Œä½¿ç”¨å­¦ä½è®ºæ–‡çš„è§„å®šï¼Œ
        å³ï¼šç&nbsp;”ç©¶ç”Ÿåœ¨æ&nbsp;¡æ”»è¯»å­¦ä½æœŸé—´è®ºæ–‡å·¥ä½œçš„çŸ¥è¯†äº§æƒå•ä½å±žåŒ—äº¬åŒ–å·¥å¤§å­¦ã€‚
        å­¦æ&nbsp;¡æœ‰æƒä¿ç•™å¹¶å‘å›½å®¶æœ‰å…³éƒ¨é—¨æˆ–æœºæž„é€äº¤è®ºæ–‡çš„å¤å°ä»¶å’Œç£ç›˜ï¼Œå…è®¸
        å­¦ä½è®ºæ–‡è¢«æŸ¥é˜…å’Œå€Ÿé˜…ï¼›å­¦æ&nbsp;¡å¯ä»¥å…¬å¸ƒå­¦ä½è®ºæ–‡çš„å…¨éƒ¨æˆ–éƒ¨åˆ†å†…å®¹ï¼Œ
        å¯ä»¥å…è®¸é‡‡ç”¨å½±å°ã€ç¼©å°æˆ–å…¶å®ƒå¤åˆ¶æ‰‹æ®µä¿å­˜ã€æ±‡ç¼–å­¦ä½è®ºæ–‡ã€‚

        $\Box$ è®ºæ–‡æš‚ä¸å…¬å¼€ï¼ˆæˆ–ä¿å¯†ï¼‰æ³¨é‡Šï¼šæœ¬å­¦ä½è®ºæ–‡å±žäºŽæš‚ä¸å…¬å¼€
        ï¼ˆæˆ–ä¿å¯†ï¼‰èŒƒå›´ï¼Œåœ¨\rule{1.5em}{.4pt}å¹´è§£å¯†åŽé€‚ç”¨æœ¬æŽˆæƒä¹¦ã€‚

        $\Box$ éžæš‚ä¸å…¬å¼€ï¼ˆæˆ–ä¿å¯†ï¼‰è®ºæ–‡æ³¨é‡Šï¼šæœ¬å­¦ä½è®ºæ–‡ä¸å±žäºŽæš‚ä¸å…¬å¼€
        ï¼ˆæˆ–ä¿å¯†ï¼‰èŒƒå›´ï¼Œé€‚ç”¨æœ¬æŽˆæƒä¹¦ã€‚
    }
    \newcommand\buct@dcl@pdf{ç‰ˆæƒé¡µ}
    \newcommand\buct@sign@author{ä½œè€…ç­¾åï¼š\rule{7em}{.4pt}\qquad{æ—¥æœŸï¼š}\rule{7em}{.4pt}}
    \newcommand\buct@sign@supervisor{å¯¼å¸ˆç­¾åï¼š\rule{7em}{.4pt}\qquad{æ—¥æœŸï¼š}\rule{7em}{.4pt}}
    \newcommand\buct@cabstract@title{æ‘˜\hspace{\ccwd}è¦}
    \newcommand\buct@eabstract@title{ABSTRACT}
    \newcommand\buct@ChineseKeywords@title{å…³é”®è¯ï¼š}
    \newcommand\buct@EnglishKeywords@title{KEY WORDS:~}
    \newcommand\buct@ChineseKeywords@sep{ï¼Œ}
    \newcommand\buct@EnglishKeywords@sep{,~}
    \newcommand\buct@content@title{ç›®\hspace{\ccwd}å½•}
    \newcommand\buct@econtent@chapter{Chapter~}
    \newcommand\buct@econtentsname{Contents}
    \newcommand\buct@deno@title{ç¬¦å·å’Œç¼©ç•¥è¯è¯´æ˜Ž}
    \newcommand\buct@ack@title{è‡´è°¢}
    \newcommand\buct@eack@title{Acknowledgement}
    \newcommand\buct@achi@title{ç&nbsp;”ç©¶æˆæžœåŠå‘è¡¨çš„å­¦æœ¯è®ºæ–‡}
    \newcommand\buct@eachi@title{Research Results and Published Academic Papaers}
    \newcommand\buct@resu@title{ä½œè€…åŠå¯¼å¸ˆç®€ä»‹}
    \newcommand\buct@eresu@title{About the Author}
    \newcommand\equationname{å¼}
    \newcommand\buct@bitable@name{Table}
    \newcommand\buct@bifigure@name{Figure}
    \newcommand\buct@ebib@title{Bibliography}
    \renewcommand\lstlistingname{ä»£ç&nbsp;}
\fi
%    \end{macrocode}
%
% \subsection{é¡µé¢è®¾ç½®}
% \subsubsection{çº¸å¼&nbsp;ä¸Žè¾¹è·}
% ä½¿ç”¨ \pkg{geometry} å®åŒ…è®¾ç½®å„è¾¹è·ä¸ºï¼šï¼ˆå•åŒé¡µæ‰“å°ã€æœ¬ç¡•åšç›¸åŒï¼‰
% ä¸Š \SI{3.5}{cm}ã€ä¸‹ \SI{2.6}{cm}ã€å·¦å³ \SI{2.7}{cm}ï¼Œé¡µçœ‰ \SI{2.4}{cm}ã€é¡µè„š \SI{2}{cm}ã€‚
%    \begin{macrocode}
\geometry{%
    a4paper,nomarginpar,
    top = 3.5cm, bottom = 2.6cm, left = 2.7cm, right = 2.7cm,
    headheight = 1.1cm, footskip = 0.6cm,
}
%    \end{macrocode}
%
% \subsubsection{é¡µçœ‰å’Œé¡µè„š}
% ä½¿ç”¨ \pkg{fancyhdr} å®åŒ…è®¾ç½®é¡µçœ‰é¡µè„šçš„æ–‡å­—å’Œçº¿å®½ã€‚
%    \begin{macrocode}
\fancypagestyle{plain}{%
    \fancyhf{}
    \fancyhead[C]{\buct@headfont\buct@headtext}
    \fancyfoot[C]{\buct@footfont\buct@foottext}
    \renewcommand\headrulewidth{0.6pt}
    \renewcommand\footrulewidth{0pt}
}
\pagestyle{plain}
%    \end{macrocode}
%
% \begin{macro}{\frontmatter}
% ä¿®æ”¹å‘½ä»¤ \cs{frontmatter} ï¼Œä»…å°†é¡µç&nbsp;ä»Žå°å†™ç½—é©¬å­—æ¯æ”¹ä¸ºå¤§å†™ï¼Œç”¨äºŽâ€œç¬¬ä¸€ç«&nbsp;â€ä¹‹å‰çš„éƒ¨åˆ†ã€‚
%    \begin{macrocode}
\xpatchcmd{\frontmatter}
    {\pagenumbering{roman}}
    {\pagenumbering{Roman}}
    {}{}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\cleardoublepage}
% ä¿®æ”¹å‘½ä»¤ \cs{cleardoublepage}ï¼Œä½¿ä¹‹èƒ½åœ¨æ’å…¥ä¸€å¼&nbsp;å®Œå…¨ç©ºç™½é¡µçš„åŒæ—¶
% ä¿æŒé¡µç&nbsp;çš„è¿žç»­ï¼Œé€‚åˆç«&nbsp;é¡µå³å¼€çš„æƒ…å†µã€‚
%    \begin{macrocode}
\xpatchcmd{\cleardoublepage}
    {\newpage}
    {\thispagestyle{empty}\newpage}
    {}{}
%    \end{macrocode}
% \end{macro}
%
%% \subsection{å°é¢}
% ç”±äºŽå­¦æ&nbsp;¡ä¼šç»Ÿä¸€å°åˆ¶å°é¢ï¼Œè¿™é‡Œä»…æä¾›æœ¬ç§‘å’Œç¡•åšçš„ä¸€ä¸ªå‚è€ƒå®žçŽ°ã€‚
% å¹¶ä¸”ç”±äºŽå­¦æ&nbsp;¡æ‰€ç»™çš„å‚è€ƒå°é¢æ¯å¹´éƒ½æœ‰ç»†å¾®çš„å˜åŠ¨ï¼Œç”±æœ¬æ¨¡æ¿æ‰€ç”Ÿæˆçš„å°é¢ä¸Šæ–‡å­—é—´è·ä¸èƒ½ä¿è¯ä¸Žå‚è€ƒä¸€è‡´ã€‚
% è¿˜è¯·ç•™å¿ƒã€‚
%
% æ&nbsp;‡å°ºï¼Œç”¨äºŽè°ƒè¯•ã€‚æ‰‹åŠ¨å–æ¶ˆæ³¨é‡Šæ¥å¼€å¯ã€‚
%    \begin{macrocode}
% \usepackage[unit=cm,type=upperleft,hshift=0cm,vshift=0cm]{fgruler}
%    \end{macrocode}
%
% \begin{macro}{\buct@title@ul}
% å®šä¹‰ä¸‹åˆ’çº¿å‘½ä»¤ï¼Œè¿™é‡Œåˆ©ç”¨äº† \pkg{calc} å®åŒ…çš„ \cs{widthof} å‘½ä»¤ï¼Œ
% å– \cs{buct@ChineseTitleLineA} ï¼ˆå³é¦–è¡Œæ&nbsp;‡é¢˜ï¼‰çš„é•¿åº¦ï¼Œç”¨ä»¥å›ºå®šä¸‹åˆ’çº¿çš„é•¿åº¦ã€‚
% æ–‡æœ¬æœ«å°¾åŠ&nbsp;ä¸€ä¸ª \cs{enspace} ä¼šè®©æ¨ªçº¿å³ç«¯ç¨é•¿äºŽæœ€åŽä¸€ä¸ªæ–‡å­—ï¼Œæ˜¾å¾—æ›´ç¾Žè§‚ä¸€äº›ã€‚
%    \begin{macrocode}
\newcommand\buct@title@ul[1]{%
    \CJKunderline{\makebox[\widthof{\buct@ChineseTitleLineA\enspace}][l]{#1}}
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\buct@major@ul}
% ä½†æ˜¯å¯¹äºŽæœ¬ç§‘å°é¢è€Œè¨€ï¼Œâ€œä¸“ä¸šâ€â€œå­¦ç”Ÿâ€â€œæŒ‡å¯¼æ•™å¸ˆâ€ä¸Žâ€œé¢˜ç›®â€ä¹‹é—´æœ‰ä¸€å¤§æ®µç©ºç™½ï¼Œ
% å¯ä»¥çœ‹åšç›¸äº’ç‹¬ç«‹çš„è¡¨æ&nbsp;¼ã€‚å›&nbsp;æ­¤ï¼Œè¿™é‡Œæˆ‘ä»¬è®©æ¨ªçº¿çš„å®½åº¦å–æ‰€å¡«å…¥ä¸“ä¸šæ–‡æœ¬çš„å®½åº¦ã€‚
% ä½¿ç”¨ \cs{quad} ä¼šè®©æ¨ªçº¿å³ç«¯é•¿äºŽæœ€åŽä¸€ä¸ªæ–‡å­—æ›´å¤šä¸€ç‚¹ï¼Œæ›´è´´åˆå°é¢çš„å‚è€ƒæ&nbsp;·ä¾‹ã€‚
%    \begin{macrocode}
\newcommand\buct@major@ul[1]{%
    \CJKunderline{\makebox[\widthof{\buct@major\quad}][c]{#1}}
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\buct@format@date}
% æ—¥æœŸæ&nbsp;¼å¼å¤„ç†ï¼Œå°†è¾“å…¥çš„ \cs{buct@date} æ‹†åˆ†ã€‚
%    \begin{macrocode}
\newcommand\buct@format@date[1]{%
    \edef\buct@@date{\buct@date}%
    \def\buct@@process@date##1-##2-##3\@nil{%
        #1{##1}{##2}{##3}%
    }%
    \expandafter\buct@@process@date\buct@@date\@nil
}
%    \end{macrocode}
% \end{macro}
%
% \cs{@zhdate} å‘½ä»¤æŽ¥å—ä¸‰ä¸ªæ•°å­—ã€‚
% æœ¬ç§‘çš„æ—¥æœŸè¦æ±‚æ¯”è¾ƒç®€å•ï¼Œç›´æŽ¥è¾“å‡ºå¯¹åº”çš„æ•°å­—å³å¯ã€‚
% ä½†æ˜¯æ&nbsp;·ä¾‹æ‰€ç»™çš„æ•°å­—å‰åŽæœ‰ä¸€äº›ç©ºç™½ï¼Œæˆ‘ä»¬ç”¨ \cs{makebox} æ¥å®šæ&nbsp;¼å®ƒã€‚
%    \begin{macrocode}
\newcommand\@zhdate[3]{%
    \bfseries\zhkai
    \ifbuct@bachelor
        \zihao{4}
        #1å¹´\makebox[1.5em]{#2}æœˆ\makebox[1.5em]{#3}æ—¥
%    \end{macrocode}
%
% å¦‚æžœæ˜¯ç¡•åšï¼Œåˆ™å°†â€œå¹´â€è½¬æ¢ä¸ºä¸­æ–‡æ•°å­—ä¸²ï¼Œâ€œæœˆâ€å’Œâ€œæ—¥â€è½¬æ¢ä¸ºä¸­æ–‡æ•°å­—ï¼›å…¶ä¸­â€œå¹´â€ä¸­çš„ 0 æ˜&nbsp;å°„ä¸ºâ€œã€‡â€è€Œéžâ€œé›¶â€ã€‚
%    \begin{macrocode}
    \else
        \Large\ziju{.1}%
        æ—¥\hspace{1.5\ccwd}æœŸï¼š\zhdigits{#1}å¹´\zhnumber{#2}æœˆ\zhnumber{#3}æ—¥%
    \fi
}
%    \end{macrocode}
%
% \begin{macro}{\buct@makecover}
% æŽ¥ä¸‹æ¥æ˜¯é‡å¤´æˆï¼šå®šä¹‰ \cs{buct@makecover} å‘½ä»¤æ¥ç”Ÿæˆå°é¢ã€‚
%    \begin{macrocode}
\newcommand{\buct@makecover}{%
%    \end{macrocode}
%
% é¦–å…ˆæ˜¯é¡µè¾¹è·å’Œé¡µçœ‰é¡µè„šã€‚
% ç»è¿‡æµ‹é‡ï¼Œå„è¾¹è·å€¼æ¯”æ­£æ–‡éƒ¨åˆ†éƒ½è¦å°ï¼›æœ¬ç§‘æš‚ä¸Žç¡•åšè®¾ç½®ä¸€è‡´ã€‚
%    \begin{macrocode}
    \newgeometry{
        top = 2.1cm, bottom = 2.2cm,
        left = 2cm, right = 2cm,
        headheight = 0cm, footskip = 0cm
    }
%    \end{macrocode}
% æ¸…ç©ºé¡µçœ‰ã€é¡µè„šã€‚
%    \begin{macrocode}
    \thispagestyle{empty}
%    \end{macrocode}
%
% å…¶æ¬¡æ˜¯å­—ä½“ã€‚å…³äºŽå­—ä½“çš„æ£€æŸ¥å’Œå®šä¹‰æ”¾åœ¨äº†æ–‡æ¡£å‘½ä»¤ \cs{makecover} çš„å®šä¹‰ä¸­ã€‚ï¼ˆè§æœ¬èŠ‚æœ«å°¾ï¼‰
% åœ¨è¿™é‡Œï¼Œæˆ‘ä»¬åªå¼€å¯ä¼ªç²—ä½“ï¼Œå¹¶ä¸”åº”è®¾ç½®å¾—æ¯”æ­£æ–‡æ›´ç²—ä¸€äº›ã€‚
%    \begin{macrocode}
    \xeCJKsetup{EmboldenFactor=2.3}
%    \end{macrocode}
%
% å°é¢å³ä¸Šè§’çš„â€œå•ä½ä»£ç&nbsp;â€å’Œâ€œå­¦å·â€ï¼Œå…ˆåˆ†åˆ«è®¾ç½®æ&nbsp;¼å¼ã€‚
%    \begin{macrocode}
    \begin{table}[h]
        \raggedleft
        \ifbuct@bachelor
            \songti\zihao{5}
        \else
            \renewcommand{\arraystretch}{1.3}\large
        \fi
%    \end{macrocode}
%
% ç”¨ä¸€ä¸ªæ—&nbsp;çº¿è¡¨æ&nbsp;¼æ¥æŽ’ç‰ˆæ–‡å­—ã€‚éœ€è¦æ³¨æ„äºŒè€…éƒ½è¦ä»¥ä¸­æ–‡å­—ä½“æ¥ä¹¦å†™æ•°å­—ã€‚
% æ³¨æ„æœ¬ç§‘å°é¢çš„è¡¨æ&nbsp;¼å³ç«¯å¹¶ä¸æ˜¯ä¸¥æ&nbsp;¼é¡¶å¤´ï¼Œæ‰€ä»¥è¿™é‡Œç©ºå¼€ä¸¤ä¸ªå­—ç¬¦çš„å®½åº¦ã€‚
%    \begin{macrocode}
        \begin{tabular}{l@{}l}
            \ifbuct@bachelor%
                ç­\hspace{2\ccwd}çº§&amp;ï¼š\CJKfamily+{zhsong}\buct@class\hspace*{2\ccwd}\\
                å­¦\hspace{2\ccwd}å·&amp;ï¼š\CJKfamily+{zhsong}\buct@studentid\hspace*{2\ccwd}\\
            \else%
                \xbsong å•ä½ä»£ç&nbsp; &amp; ï¼š\CJKfamily+{zhsong}\mbox{10010}\\
                \xbsong å­¦\hspace{2\ccwd}å· &amp; ï¼š\CJKfamily+{zhsong}\mbox{\buct@studentid}\\
            \fi
        \end{tabular}
    \end{table}
    \ifbuct@bachelor\vspace{3bp}\else\vspace{26bp}\fi
%    \end{macrocode}
%
% æ&nbsp;¡å¾½ä¸Žæ&nbsp;¡åã€‚å‰è€…æ˜¯æ’å›¾ï¼ŒåŽè€…æ˜¯æ–‡å­—ã€‚
% éœ€è¦æ³¨æ„ï¼Œæœ¬ç§‘å’Œç¡•åšå°é¢çš„â€œåŒ—äº¬åŒ–å·¥å¤§å­¦â€å‡&nbsp;ä¸ªå­—çš„å­—è·æ˜¯æœ‰å·®åˆ«çš„ã€‚
% ç”±äºŽå¹¶æœªè®¾ç½®å±…ä¸­ï¼Œæ‰€ä»¥æœ¬ç§‘è¿˜éœ€è¦æ‰‹åŠ¨ç©ºä¸€ç‚¹è·ç¦»è®©æ–‡æœ¬è¿‘ä¼¼å±…äºŽé¡µé¢ä¸­å¤®ã€‚
%    \begin{macrocode}
    \begin{minipage}[c][][c]{2.35cm}
        \includegraphics[width = 2.35cm]{figure/BUCT-badge.pdf}
    \end{minipage}
    \qquad
    \begin{minipage}[c][2.35cm][c]{9cm}
        \xingkai
        \ifbuct@bachelor
            \ziju{0.1}\hspace*{0.8\ccwd}\zihao{-0}
        \else
            \ziju{-0.02}\zihao{0}
        \fi
        {åŒ—äº¬åŒ–å·¥å¤§å­¦}
    \end{minipage}
    \ifbuct@bachelor\vspace{12bp}\else\vspace{18bp}\fi
%    \end{macrocode}
%
% æ&nbsp;‡é¢˜ã€‚æœ¬ç§‘çš„æ&nbsp;‡é¢˜ä¸­çš„â€œ(è®ºæ–‡)â€ä½¿ç”¨äº†åŠè§’æ‹¬å·ï¼Œå­—ä½“ä½¿ç”¨ Times New Roman Boldã€‚
% ä½†æŒ‰ç…§æŽ’ç‰ˆè§„èŒƒï¼Œæ¨¡æ¿ä½¿ç”¨å…¨è§’æ&nbsp;‡ç‚¹å’Œå¯¹åº”çš„ä¸­æ–‡å­—ä½“ã€‚
% å¯¹äºŽè¿™é¡¹æ›´æ”¹ï¼Œæˆ‘ä»¬ä½¿ç”¨ \pkg{xeCJK} é‡Œçš„å‘½ä»¤æ¥åƒæŽ‰ä¸€ç‚¹æ‹¬å·çš„ç©ºç™½ã€‚
%
% æ³¨ï¼š\cs{punctstyle\{banjiao\}} å’Œ \cs{xeCJKsetup\{PunctStyle = banjiao\}} å’Œ \cs{ctexset\{punct = banjiao\}}æ˜¯ä¸€æ&nbsp;·çš„ã€‚
%    \begin{macrocode}
    \begin{center}
        \ifbuct@bachelor
            \ziju{0.15}\xbsong\zihao{-0}\CJKfamily+{}{%
            \punctstyle{banjiao}æ¯•ä¸šè®¾è®¡ï¼ˆè®ºæ–‡ï¼‰% (è®ºæ–‡)
            }
        \else%
            %\ziju{-0.05}
            \dbsong\fontsize{38bp}{60bp}\selectfont
            \ifbuct@master{ç¡•}\else{åš}\fi{}å£«ç&nbsp;”ç©¶ç”Ÿå­¦ä½è®ºæ–‡
        \fi
    \end{center}
%    \end{macrocode}
%
% å¯¹äºŽè®ºæ–‡æ&nbsp;‡é¢˜ä¹‹ä¸‹çš„éƒ¨åˆ†ï¼Œæˆ‘ä»¬å°†æœ¬ç§‘å’Œç¡•åšåˆ†å¼€è®¾ç½®ã€‚
%
% æœ¬ç§‘å°é¢æœ‰ä¸¤æ¡æ¨ªè´¯é¡µé¢çš„æ¨ªçº¿ï¼Œä½äºŽçº¸å¼&nbsp;é¡¶éƒ¨å‘ä¸‹ \SI{10}{\centi\metre} å·¦å³ï¼Œ
% æˆ‘ä»¬ç”¨ \pkg{textpos} çš„ \env{textblock} çŽ¯å¢ƒå®šä½ï¼Œç”¨ \pkg{tikz} å°†å®ƒä»¬ç”»å‡ºæ¥ã€‚
% ä¸¤æ¡çº¿çš„é—´è·å– \SI{0.2}{\centi\metre}ã€‚
%    \begin{macrocode}
    \ifbuct@bachelor
            \setlength{\TPHorizModule}{1cm}
            \setlength{\TPVertModule}{1cm}
            \begin{textblock}{0}(0,10)
                \noindent%
                \tikz[line width=1.2pt] \draw (0,0) -- (21,0) (0,0.2) -- (21,0.2);
            \end{textblock}
            \vspace{72bp}
%    \end{macrocode}
%
% æŽ¥ä¸‹æ¥ä¹¦å†™é¢˜ç›®ã€‚å…ˆä½¿ç”¨ \pkg{xeCJK} çš„åŠŸèƒ½æ¥ç¦ç”¨ä¸‹åˆ’çº¿çš„æ–­ç‚¹ï¼Œå¹¶è°ƒæ•´å…¶ç²—ç»†ã€‚
%    \begin{macrocode}
            \begin{center}
                \xeCJKsetup{
                    underline = {
                        skip      = false,
                        thickness = 1.4pt,
                    }
                }
%    \end{macrocode}
%
% ç„¶åŽæ˜¯â€œé¢˜ç›®â€åŠå…¶å†…å®¹ã€‚
% é¢˜ç›®éœ€è¦æ‰‹åŠ¨æ–­è¡Œï¼Œä¸”é•¿åº¦æŽ§åˆ¶åœ¨ \SI{36}{em} ä»¥å†…ã€‚
% å›&nbsp;è¡¨æ&nbsp;¼æœ¬èº«çš„æ¨ªçº¿ä¸Žæ–‡å­—é—´è·è¾ƒå¤§ï¼Œè¿™é‡Œé‡‡ç”¨ä¸‹åˆ’çº¿çš„æ–¹å¼æ¥åˆ’çº¿ã€‚
% æ³¨æ„è¿™é‡Œæˆ‘ä»¬è¦åˆ¤æ–­é¢˜ç›®æ˜¯å¦æœ‰ç¬¬äºŒè¡Œï¼ˆå³ \cs{buct@ChineseTitleLineB} æ˜¯å¦æœ‰å€¼ï¼‰
% æ¥è¾“å‡ºä¸€è¡Œè¿˜æ˜¯ä¸¤è¡Œé¢˜ç›®ã€‚
%    \begin{macrocode}
                \renewcommand{\arraystretch}{2}
                \begin{tabular}{%
                        &gt;{\zihao{-2}\xbsong}l
                        &gt;{\zihao{3}\bfseries}l
                }
                    é¢˜\hspace{\ccwd}ç›®  &amp; \buct@title@ul{\buct@ChineseTitleLineA}\\
                    \ifthenelse{\equal{\buct@ChineseTitleLineB}{}}{\relax}{
                                        &amp; \buct@title@ul{\buct@ChineseTitleLineB}\\
                    }
                \end{tabular}
                \vskip144bp\zihao{3}
%    \end{macrocode}
%
% ä½¿ç”¨ä¸€ä¸ªè¡¨æ&nbsp;¼æ¥æŽ’ç‰ˆè®ºæ–‡çš„ä¿¡æ¯ï¼Œå¦‚å‰å®šä¹‰ \cs{buct@major@ul} æ‰€è¿°ï¼Œè¿™é‡Œæ¨ªçº¿çš„å®½åº¦å–â€œä¸“ä¸šâ€å†…å®¹çš„å®½åº¦ã€‚
%    \begin{macrocode}
                \begin{tabular}{
                        &gt;{\begin{CJKfilltwosides}[b]{4\ccwd}\xbsong}r%
                            &lt;{\end{CJKfilltwosides}}%
                        @{}&gt;{\enspace\zihao{4}\bfseries}l%
                        &lt;{\vspace{.2em}}%
                    }
                    ä¸“ä¸š     &amp; \buct@major@ul{\buct@major}\\
                    å­¦ç”Ÿ     &amp; \buct@major@ul{\buct@author}\\
                    æŒ‡å¯¼æ•™å¸ˆ &amp; \buct@major@ul{\buct@supervisor}\\
                \end{tabular}
            \end{center}
%    \end{macrocode}
%
% åœ¨é¡µé¢åº•éƒ¨ä¹¦å†™æ—¥æœŸã€‚
%    \begin{macrocode}
            \vfill{%
                \begin{center}%
                    \buct@format@date{\@zhdate}%
                \end{center}%
            }
%    \end{macrocode}
%
%   ç¡•åšè®ºæ–‡çš„å¤„ç†æ–¹å¼ä¸Žæœ¬ç§‘ç›¸ä¼¼ã€‚
%    \begin{macrocode}
    \else
        \vspace{76bp}
        \begin{center}
            \xeCJKsetup{
                underline = {
                    skip      = false,
                    thickness = 1.2pt,
                }
            }
            \renewcommand{\arraystretch}{2.7}
            \begin{tabular}{
                &gt;{\fontsize{20}{36}\selectfont\begin{CJKfilltwosides}[b]{4\ccwd}\sffamily\bfseries}r%
                &lt;{\end{CJKfilltwosides}}%
                @{}&gt;{\enspace\zihao{3}\bfseries}l%
                &lt;{\vspace{.2em}}%
            }
                é¢˜ç›®     &amp; \buct@title@ul{\buct@ChineseTitleLineA}\\
                \ifthenelse{\equal{\buct@ChineseTitleLineB}{}}{\relax}{
                                        &amp; \buct@title@ul{\buct@ChineseTitleLineB}\\
                }
                ä¸“ä¸š     &amp; \buct@title@ul{\zihao{4}\buct@major}\\
                ç&nbsp;”ç©¶ç”Ÿ   &amp; \buct@title@ul{\zihao{4}\buct@author}\\
                æŒ‡å¯¼æ•™å¸ˆ &amp; \buct@title@ul{\zihao{4}\buct@supervisor}\\
            \end{tabular}
        \end{center}
        \vfill{%
            \begin{center}%
                \buct@format@date{\@zhdate}%
            \end{center}%
        }
    \fi
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\makecover}
% è¿™é‡Œå®šä¹‰æ–‡æ¡£å‘½ä»¤ \cs{makecover}ï¼ŒæŽ¥å—ä¸€ä¸ªå¯é€‰å‚æ•°ç”¨äºŽæ’å…¥æ‰«æé¡µï¼Œå¦åˆ™è°ƒç”¨ \cs{buct@makecover} ç”Ÿæˆå°é¢ã€‚
%    \begin{macrocode}
\NewDocumentCommand{\makecover}{ o }{%
    \hypertarget{cover}{}
    \pdfbookmark{å°é¢}{cover}
    \IfNoValueTF{#1}{
%    \end{macrocode}
% åœ¨ä¸æ’å…¥æ‰«æé¡µçš„æƒ…å†µä¸‹è°ƒç”¨æ—¶ï¼Œéœ€è¦å…ˆæ£€æŸ¥å­—ä½“å­˜åœ¨æƒ…å†µã€‚
% å›&nbsp;ä¸ºåªæœ‰ç¡•åšè®ºæ–‡å°é¢æ‰ä¼šç”¨åˆ°æ–¹æ­£å¤§æ&nbsp;‡å®‹ï¼Œä¸ºç®€å•èµ·è§ï¼Œè¿™é‡Œåªæ£€æŸ¥æ–¹æ­£å°æ&nbsp;‡å®‹ã€‚
% å¦‚æžœå­˜åœ¨æ–¹æ­£å°æ&nbsp;‡å®‹ï¼Œåˆ™é»˜è®¤ä¹Ÿå­˜åœ¨æ–¹æ­£å¤§æ&nbsp;‡å®‹ã€åŽæ–‡è¡Œæ¥·å’Œä¸­æ˜“æ¥·ä½“ï¼Œå¹¶å®šä¹‰ä¸Šè¿°æ‰€æœ‰å­—ä½“ã€‚
% è‡³äºŽè¥¿æ–‡å­—ä½“åˆ™ä¸åšè®¾ç½®ï¼Œä¹Ÿå°±æ˜¯è¯´æ²¿ç”¨æ¨¡æ¿é»˜è®¤çš„ Times New Romanã€‚
% äº‹å®žä¸Šè¯¥å­—ä½“åªä¼šä½œç”¨äºŽæœ¬ç§‘å°é¢çš„æ•°å­—æ—¥æœŸï¼Œé™¤æ­¤ä¹‹å¤–çš„æ•°å­—ï¼ˆå¦‚å­¦å·ï¼‰ä½¿ç”¨ä¸­æ–‡å­—ä½“ã€‚
%    \begin{macrocode}
        \IfFontExistsTF{FZXiaoBiaoSong-B05S}{%
            \newCJKfontfamily[xbsong] \xbsong {FZXiaoBiaoSong-B05S}
            \newCJKfontfamily[dbsong] \dbsong {FZDaBiaoSong-B06S}
            \newCJKfontfamily[xingkai]\xingkai{STXingkai}
            \newCJKfontfamily[zhkai]  \zhkai  {KaiTi} [AutoFakeBold]
%    \end{macrocode}
% åªæœ‰å½“å­˜åœ¨æ–¹æ­£å°æ&nbsp;‡å®‹æ—¶ï¼Œä»¤ \cs{makecover} è°ƒç”¨ \cs{buct@makecover}ï¼Œå¦åˆ™è¾“å‡ºç©ºç™½é¡µã€‚
%    \begin{macrocode}
            \buct@makecover
        }{
            \cleardoublepage
        }

    }{%
%    \end{macrocode}
% åœ¨é€‰æ‹©æ’å…¥æ‰«æé¡µçš„æƒ…å†µä¸‹ï¼ˆå‘½ä»¤åŽè·Ÿäº†ä¸€ä¸ªå¯é€‰å‚æ•°ï¼‰åˆ™æ—&nbsp;éœ€æ£€æŸ¥å’Œè®¾ç½®å­—ä½“ï¼Œç›´æŽ¥æ’å…¥ PDF æ–‡ä»¶å³å¯ã€‚
%    \begin{macrocode}
        \includepdf[pages=-]{#1}
    }
%    \end{macrocode}
% è¾“å‡ºå°é¢å®ŒæˆåŽï¼Œé¡µè¾¹è·ä»Žå°é¢ä¸­æ¢å¤ã€‚
%    \begin{macrocode}
\restoregeometry
}
%    \end{macrocode}
% \end{macro}
%
%
% \subsection{å‰ç½®éƒ¨åˆ†}
% \begin{macro}{\buct@pdfmark}
% ä¸ºäº†æ–¹ä¾¿æŸ¥çœ‹ï¼Œæ¨¡æ¿å°†å‰ç½®éƒ¨åˆ†ç¼–å…¥PDFä¹¦ç­¾ï¼Œå®žçŽ°è·³è½¬ã€‚
% è¿™é‡Œå®šä¹‰äº†ä¸€ä¸ªå‘½ä»¤ç”¨äºŽç®€åŒ–ä»£ç&nbsp;ã€‚
%    \begin{macrocode}
\newcommand{\buct@pdfmark}[2]{%
    \hypertarget{#2}{}
    \pdfbookmark{#1}{#2}
}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{å£°æ˜Žé¡µ}
% \begin{macro}{\buct@makedeclare}
% æœ¬ç§‘ä¸ºâ€œè¯šä¿¡å£°æ˜Žâ€ï¼Œç¡•åšä¸ºâ€œåŽŸåˆ›æ€§å£°æ˜Žâ€ä¸Žâ€œä½¿ç”¨æŽˆæƒè¯´æ˜Žâ€ã€‚è¿™é‡Œå®šä¹‰ä¸ä½¿ç”¨æ‰«æé¡µçš„å‘½ä»¤ã€‚
%    \begin{macrocode}
\newcommand{\buct@makedeclare}{
    \ifbuct@bachelor
        \centerline{\buct@dcl@titlefont\buct@dcl@title}\par\vspace{1em}
        \leftline{\buct@dcl@ideclarefont\buct@dcl@ideclare}%
        \buct@dcl@text
        \par\vspace{2em}\hfill{\buct@dcl@sign}
    \else{
        \thispagestyle{empty}
        \linespread{1.5534}
        \setlength{\parskip}{15pt}
        \centerline{\buct@dcl@titlefont\buct@dcl@title}
        \par\indent\buct@dcl@textfont\buct@dcl@text
        \par\indent\buct@sign@author\\[30pt]
        \centerline{\buct@auth@titlefont\buct@auth@title}
        \par\indent\buct@auth@textfont\buct@auth@text
        \par\indent\buct@sign@author
        \par\indent\buct@sign@supervisor
    }\fi
    \clearpage\normalsize
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\makedeclare}
% å®šä¹‰ä¸€ä¸ªå¸¦å¯é€‰å‚æ•°çš„å‘½ä»¤ \cs{makedeclare}ï¼Œå¯é€‰å‚æ•°ä¸ºæ‰«é¢é¡µçš„ç›¸å¯¹è·¯å¾„ï¼›
% è‹¥ä¸åŠ&nbsp;å‚æ•°åˆ™ä½¿ç”¨ \cs{buct@makedeclare} æ¥æ’å…¥æ–‡æœ¬ã€‚
% è¿™é‡Œçš„ \opt{pages=-} è¡¨ç¤ºæ’å…¥æ‰€æœ‰é¡µé¢ã€‚
%    \begin{macrocode}
\NewDocumentCommand{\makedeclare}{ o }{%
    \buct@pdfmark{\ifbuct@bachelor\buct@dcl@title\else\buct@dcl@pdf\fi}{declare}
    \IfNoValueTF{#1}{\buct@makedeclare}{%
        \includepdf[pages=-]{#1}
    }
}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{ä»»åŠ¡ä¹¦}
% \begin{environment}{taskbook}
% çŽ¯å¢ƒ \env{taskbook} ç”¨äºŽæ’å…¥ä»»åŠ¡ä¹¦éƒ¨åˆ†ï¼Œè¯¥éƒ¨åˆ†æŽ’åœ¨è¯šä¿¡å£°æ˜Žä¹‹åŽã€‚
% å¦‚æžœçŽ¯å¢ƒåŽå¸¦æ˜Ÿå·ï¼Œåˆ™ç”Ÿæˆçš„ä»»åŠ¡ä¹¦æ¸…ç©ºé¡µçœ‰å’Œé¡µè„šã€‚
%
% ç•™æ„ \pkg{xparse} å®åŒ…çš„ \cs{NewDocumentEnvironment} è¿˜æ²¡æ³•ä¸€æ¬¡æ€§å®šä¹‰å¸¦æˆ–ä¸å¸¦æ˜Ÿå·çš„çŽ¯å¢ƒ
% â€”â€”æ¯”å¦‚ \env{tabular} å’Œ \env{tabular*}ã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \NewDocumentEnvironment{taskbook}{ s }{%
        \cleardoublepage%
        \buct@pdfmark{\buct@task@pdf}{taskbook}%
        \section*{\buct@task@title}%
        \IfBooleanTF{#1}{\pagestyle{empty}}{}%
    }{\clearpage}
%    \end{macrocode}
% \end{environment}
%
% \begin{macro}{\buct@ul}
% â€œä»»åŠ¡ä¹¦â€å¼€å¤´éƒ¨åˆ†çš„ä¸‹åˆ’çº¿ã€‚
%    \begin{macrocode}
    \NewDocumentCommand{\buct@ul}{ o m }{\underline{\makebox[#1][c]{#2}}}
%    \end{macrocode}
% \end{macro}
%
% æŽ’ç‰ˆâ€œä»»åŠ¡ä¹¦â€æ—¶ï¼Œæä¾›å¦‚ä¸‹çš„å‘½ä»¤å’ŒçŽ¯å¢ƒï¼š
% \begin{macro}{\taskinfo*}
% å‘½ä»¤ \cs{taskinfo} æˆ– \cs{taskinfo*}ï¼š
% åŽè€…æ˜¯å­¦æ&nbsp;¡æ&nbsp;·ä¾‹çš„å®žçŽ°ï¼Œä½†æ˜¯ç”±äºŽæ¢è¡Œã€ç©ºä½å°‘é€&nbsp;æˆä¹¦å†™ä¸ä¾¿ï¼Œä¸”ä¸ç”šç¾Žè§‚ï¼›
% è€Œå‰è€…æ¯”åŽè€…å¤šäº†ä¸€æ¬¡æ¢è¡Œä¸”è®¾ç½®äº†æ–‡æœ¬å’Œæ¨ªçº¿çš„å¯¹é½ï¼Œé€‚åˆæ–‡å­—è¾ƒå¤šæ—¶ä½¿ç”¨ã€‚
%    \begin{macrocode}
    \NewDocumentCommand\taskinfo{ s }{%
        \noindent%
        \begin{minipage}{\textwidth}%
            \punctstyle{plain}\linespread{1.94}%
                \buct@task@ChineseTitle\buct@ul[27em]{\buct@ChineseTitle}\\[3pt]
            \IfBooleanTF{#1}{% less lines break
                \buct@task@school\buct@ul[10em]{\buct@school}\quad
                \buct@task@major\buct@ul[10em]{\buct@major}\quad
                \buct@task@class\buct@ul[5em]{\buct@class}\\[3pt]
                \buct@task@student\buct@ul[5em]{\buct@author}\quad
                \buct@task@supervisor\buct@ul[6em]{\buct@supervisor}\quad
                \buct@task@msupervisor\buct@ul[4em]{\buct@msupervisor}%
            }{% more lines break
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\taskinfo}
% å¤šäº†ä¸€æ¬¡æ¢è¡Œï¼Œç›¸æ¯”ä¹‹ä¸‹ä¼šæ›´åŠ&nbsp;æ•´é½ä¸€äº›ã€‚
%    \begin{macrocode}
                \buct@task@school\buct@ul[15em]{\buct@school}\qquad
                \buct@task@major\buct@ul[13em]{\buct@major}\\[3pt]
                \buct@task@class\buct@ul[15em]{\buct@class}\qquad
                \buct@task@student\buct@ul[13em]{\buct@author}\\[3pt]
                \buct@task@supervisor\buct@ul[8em]{\buct@supervisor}\qquad
                \buct@task@msupervisor\buct@ul[10em]{\buct@msupervisor}%
            }
        \end{minipage}\vspace{1.5em}
    }
%    \end{macrocode}
% \end{macro}
%
% å‘½ä»¤ \cs{taskitem} ï¼šç”¨äºŽæŽ’ç‰ˆä»»åŠ¡ä¹¦ä¸­â€œè®¾è®¡ï¼ˆè®ºæ–‡ï¼‰çš„ä¸»è¦ä»»åŠ¡åŠç›®æ&nbsp;‡â€ç­‰å››é¡¹æ&nbsp;‡é¢˜ã€‚
% è¯¥å‘½ä»¤åªèƒ½ä½¿ç”¨å››æ¬¡ï¼Œè¶…è¿‡åˆ™ä¼šæŠ¥é”™ä¸”ç»™äºˆä¿®æ­£æç¤ºã€‚
%    \begin{macrocode}
    \newcounter{taskitemcnt}
    \newcommand{\buct@taskitem}{%
        \stepcounter{taskitemcnt}%
        \ifcase\value{taskitemcnt}\relax\or%
        {\buct@task@itema}\or%
        {\buct@task@itemb}\or%
        {\buct@task@itemc}\or%
        {\buct@task@itemd}\else%
        \ClassError{buctthesis}{Too many \protect\taskitem\space used}%
        {Keep \protect\taskitem\space no more than 4 times.}\fi
    }
%    \end{macrocode}
% \begin{macro}{\taskitem}
% è¿™é‡Œç›¸æ¯”å­¦æ&nbsp;¡çš„æ&nbsp;·ä¾‹ï¼Œæ®µå‰å¢žåŠ&nbsp;äº†ä¸€ç‚¹ç©ºç™½ã€‚
%    \begin{macrocode}
    \newcommand{\taskitem}{\vspace{6pt}\noindent\buct@taskitem\par}
\fi
%    \end{macrocode}
% \end{macro}
%
%
% \begin{environment}{bibenumerate}
% å®šä¹‰ \env{bibenumerate} çŽ¯å¢ƒï¼šå¯ä»¥ç”Ÿæˆå¸¦æœ‰æ–¹æ‹¬å·ã€é˜¿æ‹‰ä¼¯æ•°å­—çš„åˆ—è¡¨ã€‚
% è¯¥å‘½ä»¤å¯ç”¨äºŽæœ¬ç§‘çš„â€œä»»åŠ¡ä¹¦â€ä¸­ç½—åˆ—ä¸»è¦å‚è€ƒæ–‡çŒ®ï¼Œ
% äº¦å¯ç”¨äºŽç¡•åšâ€œç&nbsp;”ç©¶æˆæžœåŠå‘è¡¨çš„å­¦æœ¯è®ºæ–‡â€ä¸­ç½—åˆ—å‘è¡¨çš„è®ºæ–‡ä¸Žä¸“åˆ©ã€‚
%    \begin{macrocode}
\newenvironment{bibenumerate}{%
    \begin{enumerate}[label={[\arabic*]},leftmargin=3em]
}{\end{enumerate}}
%    \end{macrocode}
% \end{environment}
%
% \subsubsection{æ‘˜è¦}
% \begin{environment}{cabstract}
% ä¸­æ–‡æ‘˜è¦ï¼Œä½¿ç”¨ \env{cabstract} çŽ¯å¢ƒã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \newenvironment{cabstract}{%
        \cleardoublepage
        \buct@pdfmark{\buct@cabstract@title}{cabstract}
        \begin{center}
            \buct@abs@titfont\buct@ChineseTitle
            \vskip22pt
            \buct@abs@infofont\buct@author\quad%
            \buct@class\quad\buct@studentid\quad%
            \buct@supervisor@title\buct@supervisor%
            \vskip22pt
            \buct@abs@absfont\buct@cabstract@title
        \end{center}\par\vspace{18pt}
    }{\vskip1em\noindent\buct@keywordsfont\buct@ChineseKeywords@title\buct@ChineseKeywords}
\else
    \newenvironment{cabstract}{%
        \cleardoublepage
        \buct@pdfmark{\buct@cabstract@title}{cabstract}\markboth{\buct@cabstract@title}{\buct@cabstract@title}
        \begin{center}
            \buct@abs@titfont\buct@ChineseTitle
            \vskip24pt
            \buct@abs@absfont\buct@cabstract@title
        \end{center}\par\vspace{12pt}
        \buct@abs@textfont
    }{\vskip24pt%
    \noindent\buct@keywords@titfont\buct@ChineseKeywords@title\buct@keywords@font\buct@ChineseKeywords}
\fi
%    \end{macrocode}
% \end{environment}
%
% \begin{environment}{eabstract}
% è‹±æ–‡æ‘˜è¦ï¼Œä½¿ç”¨ \env{eabstract} çŽ¯å¢ƒã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \newenvironment{eabstract}{%
        \cleardoublepage%
        \buct@pdfmark{\buct@eabstract@title}{abstracten}
        \begin{center}
            \buct@abs@titfonten\buct@EnglishTitle\vskip22pt
            \buct@abs@absfonten\buct@eabstract@title
        \end{center}
        \par\vspace{22pt}
    }{\vskip1em\noindent\buct@keywordsfonten \buct@EnglishKeywords@title\buct@EnglishKeywords}
\else
    \newenvironment{eabstract}{%
        \cleardoublepage%
        \buct@pdfmark{\buct@eabstract@title}{eabstract}\markboth{\buct@eabstract@title}{\buct@eabstract@title}
            \begin{center}
                \setlength{\leftskip}{3em plus 1em minus .5em}
                \setlength{\rightskip}{3em plus 1em minus .5em}
                \buct@abs@titfonten\buct@EnglishTitle\vskip76pt
                \buct@abs@absfonten\buct@eabstract@title
            \end{center}\par\vspace{40pt}
        \buct@abs@textfont
    }{\vskip48pt%
    \noindent\buct@keywords@titfonten\buct@EnglishKeywords@title\buct@keywords@fonten\buct@EnglishKeywords}
\fi
%    \end{macrocode}
% \end{environment}
%
% \subsubsection{ç›®å½•}
% æ­£æ–‡ä¸­ä¸‰çº§å°èŠ‚ï¼ˆsubsubsubsectionï¼‰ä¸äºˆç¼–å·ï¼›
% æœ¬ç§‘ï¼šç¼–ç›®å±‚æ¬¡è‡³å°èŠ‚ï¼ˆsubsectionï¼‰ï¼Œç¡•åšï¼šç¼–ç›®å±‚æ¬¡è‡³å°å°èŠ‚ï¼ˆsubsubsectionï¼‰ã€‚
%    \begin{macrocode}
\setcounter{secnumdepth}{3}
\ifbuct@bachelor
    \setcounter{tocdepth}{2}
\else
    \setcounter{tocdepth}{3}
\fi
%    \end{macrocode}
%
% \begin{macro}{\tableofcontents}
% é‡å®šä¹‰ä¸­æ–‡ç›®å½•æ&nbsp;‡é¢˜æ&nbsp;·å¼ã€‚è¯¥éƒ¨åˆ†ç¼–å…¥ä¹¦ç­¾ï¼ŒåŒæ—¶åœ¨ç›®å½•ä¸­ä¸å‡ºçŽ°â€œç›®å½•â€é¡¹ã€‚
%    \begin{macrocode}
\renewcommand\tableofcontents{%
    \cleardoublepage
    \pdfbookmark{\contentsname}{toc}%
    \chapter*{\buct@toc@tocfont\buct@content@title}%
    \ifbuct@bachelor\relax\else\markboth{\buct@content@title}{\buct@content@title}\fi
    \@starttoc{toc}
}
%    \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\tableofcontentsEN}
% å®šä¹‰è‹±æ–‡ç›®å½•ï¼Œæ¡ç›®æ&nbsp;¼å¼ä¸Žä¸­æ–‡ç›®å½•ç›¸åŒã€‚
%    \begin{macrocode}
\ifbuct@bachelor\relax\else
    \newcommand\tableofcontentsEN{%
        \cleardoublepage
        \pdfbookmark{\buct@econtentsname}{toce}%
        \chapter*{%
            \em\buct@econtentsname%
            \ifbuct@bachelor\relax\else\markboth{\buct@econtentsname}{\buct@econtentsname}\fi%
        }%
        \@starttoc{toce}
    }
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\buct@addengcontents}
% åŠ&nbsp;å…¥è‹±æ–‡ç›®å½•é¡¹ã€‚æœ¬å‘½ä»¤ä¾æ¬¡æŽ¥å— 3 ä¸ªå‚æ•°ï¼šç›®å½•å±‚çº§ã€æ&nbsp;‡é¢˜æ–‡æœ¬ã€æ‰€ä½¿ç”¨çš„å­—ä½“å’Œï¼ˆæˆ–ï¼‰å‰ç¼€å­—ç¬¦ã€‚
%    \begin{macrocode}
    \newcommand\buct@addengcontents[3]{%
        \addcontentsline{toce}{#1}{\protect\numberline{#3\@nameuse{the#1}}#2}
    }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\echapter}
% \begin{macro}{\esection}
% \begin{macro}{\esubsection}
% \begin{macro}{\esubsubsection}
% å®šä¹‰å°†ä¸åŒå±‚æ¬¡æ&nbsp;‡é¢˜åŠ&nbsp;å…¥è‹±æ–‡ç›®å½•ä¸­çš„å‘½ä»¤ã€‚
%    \begin{macrocode}
    \newcommand\echapter[1]{\buct@addengcontents{chapter}{#1}{\buct@toce@chapfont{}\buct@econtent@chapter}}
    \newcommand\esection[1]{\buct@addengcontents{section}{#1}{}}
    \newcommand\esubsection[1]{\buct@addengcontents{subsection}{#1}{}}
    \newcommand\esubsubsection[1]{\buct@addengcontents{subsubsection}{#1}{}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\bichapter}
% \begin{macro}{\bisection}
% \begin{macro}{\bisubsection}
% \begin{macro}{\bisubsubsection}
% ç±»ä¼¼ \cs{bicaption} å¯æŽ¥å—ä¸¤ä¸ªå‚æ•°æ¥ç”ŸæˆåŒè¯­å›¾æ&nbsp;‡æ³¨ä¸€æ&nbsp;·ï¼Œå®šä¹‰ \cs{bichapter} å‘½ä»¤ä»Žè€Œæ›´åŠ&nbsp;æ–¹ä¾¿ä¸€äº›ã€‚
% \emph{ä»¥ä¸‹å®šä¹‰çš„å‘½ä»¤åœ¨ä½¿ç”¨æ—¶ä¸å¯å¸¦æ˜Ÿå·ã€‚}
%    \begin{macrocode}
    \NewDocumentCommand{\bichapter}{ o m m }{\chapter[#1]{#2}\echapter{#3}}
    \NewDocumentCommand{\bisection}{ o m m }{\section[#1]{#2}\esection{#3}}
    \NewDocumentCommand{\bisubsection}{ o m m }{\subsection[#1]{#2}\esubsection{#3}}
    \NewDocumentCommand{\bisubsubsection}{ o m m }{\subsubsection[#1]{#2}\esubsubsection{#3}}
\fi
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% ä½¿ç”¨ \pkg{titletoc} å®åŒ…çš„ \cs{titlecontents} å‘½ä»¤æ¥è®¾ç½®ç›®å½•é¡¹æ&nbsp;¼å¼ã€‚
% å¯¹äºŽç¡•åšè®ºæ–‡è€Œè¨€ï¼Œä»¥ä¸‹è®¾ç½®ä¼šåŒæ—¶å½±å“ä¸­æ–‡å’Œè‹±æ–‡ç›®å½•ã€‚
% \cs{titlecontents} çš„è¯­æ³•ä¸ºï¼š
%
% \begin{syntax}{titlecontents}
% \marg{æ&nbsp;‡é¢˜å±‚çº§}\oarg{å·¦ä¾§é—´è·}
%
% \marg{ä¸Šé—´è·}
% \marg{æ&nbsp;‡é¢˜æ&nbsp;¼å¼}\marg{å¼•å¯¼çº¿ä¸Žé¡µç&nbsp;}\oarg{ä¸‹é—´è·}
% \end{syntax}
%
%    \begin{macrocode}
\ifbuct@bachelor
    \titlecontents{chapter}[0em]
        {\buct@toc@chapfont\vspace{3pt}}
        {\thecontentslabel\quad}{}
        {\titlerule*[.4em]{$\cdot$}\bfseries\contentspage}
    \titlecontents{section}[2.5em]
        {\buct@toc@secfont\vspace{-3pt}}
        {\thecontentslabel\quad}{}
        {\titlerule*[.5em]{$\cdot$}\contentspage}
    \titlecontents{subsection}[4em]
        {\buct@toc@ssecfont\vspace{-3pt}}
        {\thecontentslabel\quad}{}
        {\titlerule*[1em]{$\cdot$}\contentspage}
\else
    \titlecontents{chapter}[0em]
        {\buct@toc@chapfont\vspace{3pt}}
        {\thecontentslabel\quad}{}
        {\titlerule*[.25em]{$\cdot$}\bfseries\contentspage}
    \titlecontents{section}[2.25em]
        {\buct@toc@secfont\vspace{-3pt}}
        {\thecontentslabel\quad}{}
        {\titlerule*[.5em]{$\cdot$}\contentspage}
    \titlecontents{subsection}[5em]
        {\buct@toc@ssecfont\vspace{-3pt}}
        {\thecontentslabel\quad}{}
        {\titlerule*[1em]{$\cdot$}\contentspage}
    \titlecontents{subsubsection}[8.5em]
        {\buct@toc@sssecfont\vspace{-3pt}}
        {\thecontentslabel\quad}{}
        {\titlerule*[1em]{$\cdot$}\contentspage}
\fi
%    \end{macrocode}
%
% é€šè¿‡é‡å®šä¹‰ \pkg{natbib} å®åŒ…çš„ \cs{bibsection}ï¼Œå®žçŽ°å‚è€ƒæ–‡çŒ®çš„ç¼–ç›®ã€‚
%    \begin{macrocode}
\renewcommand{\bibsection}{
    \chapter*{\bibname}
    \addcontentsline{toc}{chapter}{\bibname}
    \ifbuct@bachelor\relax\else
        \addcontentsline{toce}{chapter}{\buct@toce@chapfont\buct@ebib@title}
        \markboth{\bibname}{\bibname}
    \fi
}
%    \end{macrocode}
%
% å¯¹äºŽæœ¬ç§‘çš„è®¾è®¡å›¾çº¸çš„ä¸¤ç§ç¼–ç›®æ–¹å¼ï¼šä¸€æ˜¯åŠ&nbsp;å…¥ä¸»ç›®å½•ï¼Œå¦ä¸€ç§æ˜¯å•ç‹¬ç”Ÿæˆç›®å½•ã€‚
%
% \begin{macro}{\dcaption}
% å®šä¹‰å‘½ä»¤ \cs{dcaption}ï¼Œåœ¨ \cs{caption} çš„åŸºç¡€ä¸Šå°†è®¾è®¡å›¾çº¸åŠ&nbsp;å…¥ä¸»ç›®å½•ã€‚
% æ¨¡æ¿è®¾ç½®â€œè®¾è®¡å›¾çº¸â€çš„ç›®å½•çº§åˆ«å’Œå°èŠ‚ç›¸åŒï¼Œä½†å´æ²¡æœ‰å°èŠ‚çš„ç¼–å·ã€‚
% ä¸ºä¿è¯åœ¨ç›®å½•ä¸­çš„æ–‡å­—å¯¹é½ï¼Œæ‰€ä»¥å¢žåŠ&nbsp;å…¶ç¼©è¿›ã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \newcommand{\dcaption}[1]{%
        \caption{#1}\addcontentsline{toc}{subsection}{%
            \hspace{2.5em}\buct@dfigurename~\thefigure\hspace{1em}{#1}%
        }
    }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\buct@listof}
% å¦å¤–æ–°å®šä¹‰â€œè®¾è®¡å›¾çº¸ç›®å½•â€ã€‚å¦‚æžœéœ€è¦å•ç‹¬ç¼–ç›®ï¼Œå¯ä½¿ç”¨ \cs{listofdesignfigures} å‘½ä»¤ç”Ÿæˆã€‚
% è¿™é‡ŒæŒ‰ç…§ \pkg{float}å®åŒ…çš„ \cs{listof} å‘½ä»¤æ¥å®šä¹‰æˆ‘ä»¬çš„ \cs{buct@listof} å‘½ä»¤ã€‚
%    \begin{macrocode}
    \newcommand{\buct@listof}[2]{%
        \xpatchcmd{\@dottedtocline}{\hbox{.}}{\hbox{$\cdot$}}{}{}
        \renewcommand{\@dotsep}{1.7}%
        \@ifundefined{ext@#1}{\float@error{#1}}{%
            \@namedef{l@#1}{\@dottedtocline{1}{0em}{2em}}
            \float@listhead{\buct@toc@tocfont{}#2}%
            \begingroup\setlength{\parskip}{\z@}%
            \buct@toc@dsgfigfont\@starttoc{\@nameuse{ext@#1}}%
            \endgroup%
        }
    }
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\listofdesignfigures}
% â€œè®¾è®¡å›¾çº¸ç›®å½•â€è·Ÿä¸»ç›®å½•ç›¸ä¼¼ã€‚
%    \begin{macrocode}
    \newcommand{\listofdesignfigures}{%
        \cleardoublepage%
        \buct@pdfmark{\buct@dfigure@content@title}{dfigure}%
        \buct@listof{dfigure}{\buct@dfigure@content@title}
    }
\fi
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{å‰è¨€}
% \begin{environment}{foreword}
% ä»…æœ¬ç§‘ã€‚å®šä¹‰çŽ¯å¢ƒ \env{foreword} æ’å…¥å‰è¨€éƒ¨åˆ†ã€‚
%    \begin{macrocode}
\newenvironment{foreword}{%
    \cleardoublepage
    \buct@pdfmark{\buct@foreword@title}{foreword}
    \chapter*{\buct@foreword@title}
}{}
%    \end{macrocode}
% \end{environment}
%
% \subsection{ä¸»æ–‡æ¡£éƒ¨åˆ†}
% \subsubsection{è¡Œè·è®¾ç½®}
% è®¡ç®—å…¬å¼ï¼š
% \[
%     1.2 \times \meta{LineSpread} \times \meta{FontSize} = \meta{BaselineSkip}
% \]
% å…¶ä¸­ï¼Œæ­£æ–‡çš„ \meta{FontSize} ä¸ºå°å››å·ï¼Œè€Œ \meta{BaselineSkip} å–
% æœ¬ç§‘è¡Œè· 22 ç£…ã€ç¡•åš 20 ç£…ï¼Œæ•…å¯æ±‚å¾— \meta{LineSpread}ã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \linespread{1.5221}
\else
    \linespread{1.3837}
\fi
%    \end{macrocode}
%
% \subsubsection{æ&nbsp;‡é¢˜æ&nbsp;¼å¼}
%    \begin{macrocode}
\ifbuct@bachelor
    \ctexset{%
        chapter = {%
            name        = {ç¬¬,ç«&nbsp;},
            number      = \arabic{chapter},
            format      = \buct@chapfont,
            beforeskip  = 12 pt,
            afterskip   = 32 pt,
            fixskip     = true,
            aftername   = \qquad,
        },
        section = {%
            name        = {ç¬¬,èŠ‚},
            format      = \buct@secfont,
            aftername   = \quad,
            beforeskip  = 29 pt,
            afterskip   = 32 pt,
            fixskip     = true,
        },
        subsection = {%
            format      = \buct@ssecfont,
            aftername   = \quad,
            beforeskip  = 3 pt,
            afterskip   = 3 pt,
        },
        subsubsection = {%
            name        = {(,)},
            format      = \buct@sssecfont,
            number      = \arabic{subsubsection},
            beforeskip  = 3 pt,
            afterskip   = 3 pt,
            aftername   = \hspace{0.5em},
            indent      = 0.5em,
        },
    }
\else
    \ctexset{%
        chapter = {%
            name        = {ç¬¬,ç«&nbsp;},
            number      = \chinese{chapter},
            format      = \buct@chapfont,
            beforeskip  = 12 pt,
            afterskip   = 46 pt,
            fixskip     = true,
            aftername   = \qquad,
        },
        section = {%
            format      = \buct@secfont,
            aftername   = \quad,
            beforeskip  = 26 pt,
            afterskip   = 28 pt,
            fixskip     = true,
        },
        subsection = {%
            format      = \buct@ssecfont,
            beforeskip  = 3 pt,
            afterskip   = 3 pt,
        },
        subsubsection = {%
            format      = \buct@sssecfont,
            beforeskip  = 3 pt,
            afterskip   = 3 pt,
        },
    }
\fi
%    \end{macrocode}
%
% \subsubsection{åˆ—è¡¨çŽ¯å¢ƒ}
% \begin{environment}{enumerate}
% \begin{environment}{itemize}
% \begin{environment}{description}
% ä½¿ç”¨ \pkg{enumitem} å®åŒ…åˆ†åˆ«è®¾ç½®ç¼–å·åˆ—è¡¨ã€æ—&nbsp;ç¼–å·åˆ—è¡¨ã€æè¿°åˆ—è¡¨çŽ¯å¢ƒçš„é—´è·ã€‚
% è¿™é‡Œå°†ä¸‰ç§åˆ—è¡¨é»˜è®¤å¢žåŠ&nbsp;çš„åž‚ç›´é—´è·å…¨éƒ¨æ¸…é™¤ï¼Œå³å„è¡Œé—´è·ä¸Žæ­£æ–‡è¡Œé—´è·ç›¸åŒï¼Œä»¥ç¬¦åˆä¸­æ–‡ä¹&nbsp;æƒ¯ã€‚
%
% å¦‚æžœä¸€çº§åˆ—è¡¨çŽ¯å¢ƒä½œä¸ºæ&nbsp;‡é¢˜ï¼ˆå¯¹åº”ã€Šæœ¬ç§‘ç”Ÿè§„èŒƒã€‹ä¸­çš„äº”çº§æ&nbsp;‡é¢˜ï¼Œå³å¸¦åœˆåºå·ï¼‰ï¼Œ
% åˆ™ä¸è®¾ç½®åŠ&nbsp;ç²—ã€ä¸å¢žåŠ&nbsp;æ®µé—´è·ã€‚ç”±äºŽåˆ—è¡¨é—´çš„åž‚ç›´é—´è·å‡å°äº†ï¼Œæ‰€ä»¥
% ç›¸åº”åœ°ç¨å¾®è°ƒå°åˆ—è¡¨åºå·å’Œæ–‡å­—ä¹‹é—´çš„è·ç¦»ï¼Œä½¿å¾—æ–‡å­—æ›´ç´§å‡‘ã€‚
%
% å¦å¤–ï¼Œä¸€çº§ç¼–å·åˆ—è¡¨çŽ¯å¢ƒçš„åºå·æ”¹ä¸º \pkg{pifont} å®åŒ…æä¾›çš„å¸¦åœˆæ•°å­—ï¼Œ
% äºŒçº§åŠä¹‹åŽçš„åˆ—è¡¨ã€æ—&nbsp;ç¼–å·åˆ—è¡¨ä¿æŒé»˜è®¤è®¾ç½®ã€‚
%    \begin{macrocode}
\setlist{%
    leftmargin = 2em,
    nosep,
}
\setlist[enumerate,1]{%
    label    = \lower 0.1em\hbox{\large{\ding{\numexpr191+\value{enumi}}}},
    labelsep = 2pt,
}
\setlist[enumerate,2]{%
    labelsep = 6pt,
}
\setlist[description]{%
    labelsep = 1em,
}
%    \end{macrocode}
% \end{environment}
% \end{environment}
% \end{environment}
%
% \subsubsection{æ•°å­¦ç±»}
% ä½¿ç”¨ \pkg{unicode-math} å®åŒ…é…ç½®æ•°å­¦æ&nbsp;‡å‡†å­—å½¢ã€ç²—ä½“å­—å½¢ï¼Œå¹¶è®¾ç½®åå¾®åˆ†ç®—å­ä¸ºç›´ç«‹ä½“ã€‚
%    \begin{macrocode}
\unimathsetup{
    math-style  = ISO,
    bold-style  = ISO,
    partial     = upright,
}
%    \end{macrocode}
%
% ä¿®æ”¹ \cs{mathbb}ï¼Œä½¿å¾—å­—æ¯æ˜¾ç¤ºæ­£ç¡®ã€‚
%    \begin{macrocode}
\let\mathbb\relax
\DeclareMathAlphabet{\mathbb}{U}{msb}{m}{n}%
%    \end{macrocode}
%
% ä½¿ç”¨ \pkg{amsthm} å®åŒ…æ¥è¿›è¡Œå®šç†ç±»çŽ¯å¢ƒçš„æ&nbsp;¼å¼æŽ§åˆ¶ï¼Œå¹¶é¢„è®¾å¦‚ä¸‹å®šç†ç±»çŽ¯å¢ƒã€‚ç¼–å·è·¨ç«&nbsp;é‡ç½®è®¡æ•°ã€‚
%    \begin{macrocode}
\newtheoremstyle{buctthm}%  name
{3pt}%                      Space above
{3pt}%                      Space below
{}%                         Body font
{}%                         Indent amount
{\bfseries}%                Theorem head font
{:}%                        Punctuation after theorem head
{.5em}%                     Space after theorem head
{}%                         Theorem head spec
\theoremstyle{buctthm}
\newtheorem{axiom}{å…¬ç†}[chapter]
\newtheorem{theorem}{å®šç†}[chapter]
\newtheorem{corollary}{æŽ¨è®º}[chapter]
\newtheorem{remark}{æ³¨è§£}[chapter]
\newtheorem{assumption}{å‡è®¾}[chapter]
\newtheorem{definition}{å®šä¹‰}[chapter]
\newtheorem{property}{æ€§è´¨}[chapter]
\newtheorem{proposition}{å‘½é¢˜}[chapter]
\newtheorem{lemma}{å¼•ç†}[chapter]
%    \end{macrocode}
%
% \begin{environment}{proof}
% æŒ‰ç…§ \pkg{amsthm} å®åŒ…è¯´æ˜Žé‡å®šä¹‰ \env{proof}ï¼š
%    \begin{macrocode}
\renewenvironment{proof}[1][\proofname]{\par
    \pushQED{\qed}%
    \normalfont\topsep6\p@\@plus6\p@\relax
    \trivlist
    \item\relax
    {#1\@addpunct{.}}\hspace\labelsep\ignorespaces
}{\popQED\endtrivlist\@endpefalse}
%    \end{macrocode}
% \end{environment}
%
% \subsubsection{éƒ¨åˆ†å®åŒ…æ±‰åŒ–è®¾ç½®}
% å¯¹ \pkg{siunitx} å®åŒ…æ±‰åŒ–å¤„ç†ï¼Œå¹¶å°†è¿žæŽ¥ç¬¦æ”¹ä¸ºâ€œ$\sim$â€ï¼Œç¬¦åˆä¸­æ–‡ä¹&nbsp;æƒ¯ã€‚
%    \begin{macrocode}
\sisetup{%
    list-final-separator = { å’Œ },
    list-pair-separator = { å’Œ },
    range-phrase = {\,$\sim$\,},
}
%    \end{macrocode}
%
% \subsubsection{æµ®åŠ¨ä½“}
% \begin{environment}{dfigure}
% æœ¬ç§‘ï¼š
% ä½¿ç”¨ \pkg{float} å®åŒ…æ–°å®šä¹‰æµ®åŠ¨ä½“çŽ¯å¢ƒ \env{dfigure}ï¼Œç”¨äºŽæŽ’ç‰ˆè®¾è®¡å›¾çº¸ã€‚
% è®¾è®¡å›¾çº¸ä¸Žæ™®é€šæ’å›¾çš„åŒºåˆ«åœ¨äºŽï¼š
% \begin{itemize}
%     \item æ&nbsp;‡ç­¾ä¸åŒï¼Œå¦‚ï¼šâ€œè®¾è®¡å›¾çº¸ 1-1â€ ä¸Ž â€œå›¾ 1-1â€ï¼›
%     \item ç¼–å·ç›¸äº’ç‹¬ç«‹ï¼›
%     \item ä»…è®¾è®¡å›¾çº¸ç¼–å…¥ç›®å½•ï¼Œä¸”æ­¤ç›®å½•ç‹¬ç«‹äºŽä¸»ç›®å½•ã€‚
% \end{itemize}
%
%    \begin{macrocode}
\ifbuct@bachelor
    \newfloat{dfigure}{htbp}{lodf}[chapter]
    \floatname{dfigure}{\buct@dfigurename}
%    \end{macrocode}
% \end{environment}
%
% ç¡•åšï¼š
% ä½¿ç”¨ \pkg{bicaption} å®åŒ…è®¾ç½®åŒè¯­æ&nbsp;‡é¢˜ï¼Œå…¶ä¸­ç¬¬äºŒè¯­è¨€ä¸ºè‹±è¯­ã€‚
%
%    \begin{macrocode}
\else
    \DeclareCaptionOption{english}[]{
        \renewcommand\figurename{\buct@bifigure@name}
        \renewcommand\tablename{\buct@bitable@name}
    }
    \captionsetup[bi-second]{english}
\fi
%    \end{macrocode}
%
% ã€Šç&nbsp;”ç©¶ç”Ÿè§„èŒƒã€‹ä¸­è§„å®šè¡¨æ&nbsp;¼å•å…ƒæ&nbsp;¼é‡Œçš„å­—å·ä¸ºäº”å·ï¼Œè€Œæœªè§„å®šè¡Œè·ï¼Œè¿™é‡Œä¿ç•™å‰è®¾çš„ä¼¸ç¼©å›&nbsp;å­ã€‚
% å…¶ä¸­ \cs{AtBeginEnvironment} æ˜¯ \pkg{etoolbox} å®åŒ…ä¸­çš„å‘½ä»¤ï¼Œå¯ç»™çŽ¯å¢ƒæ‰“è¡¥ä¸ã€‚
%
%    \begin{macrocode}
\ifbuct@bachelor\relax\else
    \AtBeginEnvironment{tabular}{\buct@floatfont}
    \AtBeginEnvironment{tabularx}{\buct@floatfont}
\fi
%    \end{macrocode}
%
% å¯¹äºŽ \pkg{longtable} å®åŒ…çš„è®¾ç½®åˆ™ç¨æœ‰ä¸åŒï¼š
% åœ¨â€œç¬¦å·è¯´æ˜Žè¡¨â€ä¸­æˆ‘ä»¬åµŒå¥—äº† \env{longtable} çŽ¯å¢ƒï¼Œä½†å…¶ä¸­çš„å­—å·ä»åº”ä¸ºå°å››å·ã€‚
% å›&nbsp;æ­¤è¿™é‡Œéœ€è¦ä¿ç•™åŽŸå…ˆçš„å®šä¹‰ã€‚
%    \begin{macrocode}
\let\oldlongtable\longtable
\let\endoldlongtable\endlongtable
\def\longtable{\zihao{5}\oldlongtable}
\AtEndEnvironment{longtable}{\normalsize}
%    \end{macrocode}
%
% è®¾ç½®æ’å›¾çš„æ–‡ä»¶è·¯å¾„ã€‚
%    \begin{macrocode}
\graphicspath{{figure/}}
%    \end{macrocode}
%
% ä½¿ç”¨ \pkg{caption} å®åŒ…é‡å®šä¹‰å›¾ã€è¡¨ç­‰æµ®åŠ¨ä½“çš„æ&nbsp;‡ç­¾æ&nbsp;·å¼ã€‚
%
%    \begin{macrocode}
\renewcommand{\captionfont}{\buct@float@captionfont}
\renewcommand{\captionlabelfont}{\buct@float@labelfont}
\DeclareCaptionLabelSeparator{capspace}{\quad}
\captionsetup{labelsep=capspace}
\captionsetup[table]{%
    position  = top,
    aboveskip = 0.5em,
    belowskip = 0.5em,
}
\captionsetup[figure]{%
    position  = bottom,
    aboveskip = 0.5em,
    belowskip = -0.5em,
}
\captionsetup[dfigure]{%
    position  = bottom,
    aboveskip = 1em,
    belowskip = 1em,
}
%    \end{macrocode}
%
% æ›´æ”¹å›¾ã€è¡¨ã€å…¬å¼å’Œä»£ç&nbsp;çš„ç¼–å·æ&nbsp;¼å¼ã€‚å…¶ä¸­é‡å®šä¹‰ \cs{thelstlisting} é¡»åœ¨ \cs{AtBeginDocument} ä¸­ã€‚
%    \begin{macrocode}
\AtBeginDocument{%
    \renewcommand{\thesubtable}{(\alph{subtable})}
    \renewcommand{\thetable}{\thechapter-\arabic{table}}
    \renewcommand{\thesubfigure}{(\alph{subfigure})}
    \renewcommand{\thefigure}{\thechapter-\arabic{figure}}
    \ifbuct@bachelor
        \renewcommand{\thedfigure}{\thechapter-\arabic{dfigure}}
        \renewcommand{\theequation}{\thechapter-\arabic{equation}}
    \else
        \renewcommand{\eqref}[1]{\equationname~\textup{(\ref{#1})}}
        \renewcommand{\theequation}{\thechapter-\arabic{equation}}
    \fi
    \renewcommand{\thelstlisting}{\thechapter-\arabic{lstlisting}}
}
%    \end{macrocode}
%
% \subsubsection{æ–‡çŒ®å¼•ç”¨}
% \begin{macro}{\inlinecite}
% è¿™é‡Œå®šä¹‰çš„ \cs{inlinecite} é€‚ç”¨äºŽè¡Œé—´å¼•ç”¨ï¼Œä¾èµ–äºŽ \pkg{natbib} å®åŒ…é‡Œçš„å‘½ä»¤ã€‚
%    \begin{macrocode}
\DeclareRobustCommand\inlinecite{\@inlinecite}
\def\@inlinecite#1{\begingroup\let\@cite\NAT@citenum\citep{#1}\endgroup}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{æ•°å­¦å…¬å¼}
% ç¡•åšå…¬å¼éœ€è¦åŠ&nbsp;å…¥ç‚¹çº¿è¿žæŽ¥å…¬å¼ä¸Žç¼–å·ã€‚è¿™é‡Œé€šè¿‡é‡å®šä¹‰ \file{source2e}
% ä¸­çš„ \env{equation} çŽ¯å¢ƒï¼Œæ•…ä»…åœ¨ \env{equation} çŽ¯å¢ƒä¸­ç”Ÿæ•ˆã€‚
%    \begin{macrocode}
\ifbuct@bachelor\relax\else
    \xpatchcmd{\dotfill}{.44em}{.3em}{}{}
    \renewenvironment{equation}{
        \@beginparpenalty\predisplaypenalty
        \@endparpenalty\postdisplaypenalty
        \refstepcounter{equation}%
        \trivlist \item[]\leavevmode
        \hb@xt@\linewidth\bgroup $\m@th% $
        \displaystyle\hfill}
        {$\;\dotfill % $
        \displaywidth\linewidth\hbox{\@eqnnum}%
        \egroup
        \endtrivlist}
\fi
%    \end{macrocode}
%
% \subsubsection{ä»£ç&nbsp;å—}
%    \begin{macrocode}
\lstset{%
    aboveskip        = 0.5em,
    belowskip        = 0.5em,
    tabsize          = 4,
    basicstyle       = \buct@codefont,
    frame            = single,
    basewidth        = {.5em,.4em},
    xleftmargin      = 1.5em,
    xrightmargin     = 1.5em,
    commentstyle     = \buct@codecomfont,
    keywordstyle     = \buct@codekeyfont,
    backgroundcolor  = \color{lightgray!10},
    showtabs         = false,
    showspaces       = false,
    showstringspaces = false,
    captionpos       = t,
    breaklines       = true,
    numbers          = left,
    numberstyle      = \tiny,
    numbersep        = 6 pt,
    stepnumber       = 1,
    extendedchars    = false,
    escapechar       = {@*},
}
%    \end{macrocode}
%
% \subsection{åŽç½®éƒ¨åˆ†}
% ä¸Žå‰è¨€ä¸åŒçš„æ˜¯ï¼Œè¿™å‡&nbsp;éƒ¨åˆ†æ¨¡æ¿é»˜è®¤ç¼–å…¥ç›®å½•ã€‚
%
% \begin{environment}{conclusion}
% ç»“è®ºï¼Œä»…æœ¬ç§‘ã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \newenvironment{conclusion}{%
        \chapter*{\buct@concl@title}
        \addcontentsline{toc}{chapter}{\buct@concl@title}
    }{}
%    \end{macrocode}
% \end{environment}
%
% \begin{environment}{translation}
% ç¿»è¯‘ï¼Œä»…æœ¬ç§‘ã€‚
%    \begin{macrocode}
    \newenvironment{translation}{%
        \chapter*{\buct@trans@title}
        \addcontentsline{toc}{chapter}{\buct@trans@title}
    }{}
%    \end{macrocode}
% \end{environment}
%
% \begin{macro}{\appendix}
% è‹±æ–‡ç›®å½•ä¸­ï¼Œä¿®æ”¹â€œé™„å½•â€çš„è‹±æ–‡å‰ç¼€å­—ç¬¦ï¼Œä»…ç¡•åšã€‚
%    \begin{macrocode}
\else
    \g@addto@macro\appendix{\def\buct@econtent@chapter{Appendix~}}
%    \end{macrocode}
% \end{macro}
%
% \begin{environment}{achievements}
% ç&nbsp;”ç©¶æˆæžœåŠå‘è¡¨çš„å­¦æœ¯è®ºæ–‡ï¼Œä»…ç¡•åšã€‚
%    \begin{macrocode}
    \newenvironment{achievements}{%
        \cleardoublepage
        \chapter*{\buct@achi@title}
        \markboth{\buct@achi@title}{\buct@achi@title}
        \addcontentsline{toc}{chapter}{\buct@achi@title}
        \addcontentsline{toce}{chapter}{\buct@toce@chapfont\buct@eachi@title}
    }{}
%    \end{macrocode}
% \end{environment}
%
% \begin{environment}{resume}
% ä½œè€…åŠå¯¼å¸ˆç®€ä»‹ï¼Œä»…ç¡•åšã€‚
%    \begin{macrocode}
    \newenvironment{resume}{%
        \cleardoublepage
        \chapter*{\buct@resu@title}
        \markboth{\buct@resu@title}{\buct@resu@title}
        \addcontentsline{toc}{chapter}{\buct@resu@title}
        \addcontentsline{toce}{chapter}{\buct@toce@chapfont\buct@eresu@title}
    }{}
\fi
%    \end{macrocode}
% \end{environment}
%
% \begin{environment}{acknowledgement}
% è‡´è°¢ã€‚
%    \begin{macrocode}
\newenvironment{acknowledgement}{%
    \chapter*{\buct@ack@title}
    \ifbuct@bachelor\relax\else
        \markboth{\buct@ack@title}{\buct@ack@title}
        \addcontentsline{toce}{chapter}{\buct@toce@chapfont\buct@eack@title}
    \fi
    \addcontentsline{toc}{chapter}{\buct@ack@title}
}{}
%    \end{macrocode}
% \end{environment}
%
% \subsubsection{ç¬¦å·è¯´æ˜Žè¡¨}
% \begin{environment}{denotation}
% å…³äºŽç«&nbsp;èŠ‚ç¼–ç›®åŒå‰ã€‚è¿™é‡Œä½¿ç”¨ä¸€ä¸ªå¯è·¨é¡µçš„æ—&nbsp;çº¿é•¿è¡¨æ&nbsp;¼ã€‚
% ä¸ºäº†é˜²æ­¢ç¬¦å·è¾ƒé•¿ï¼Œè¿™é‡Œå®šä¹‰çš„çŽ¯å¢ƒéœ€è¦ä¸€ä¸ªå¯é€‰å‚æ•°ç”¨äºŽåœ¨å¿…è¦æ—¶æŽ§åˆ¶ç¬¬äºŒåˆ—åˆ—å®½ã€‚
%    \begin{macrocode}
\NewDocumentEnvironment{denotation}{ O{10cm} +b }{%
    \cleardoublepage
    \chapter*{\buct@deno@title}%
    \ifbuct@bachelor
        \addcontentsline{toc}{chapter}{\buct@deno@title}
    \else
        \buct@pdfmark{\buct@deno@title}{denotation}
        \markboth{\buct@deno@title}{\buct@deno@title}
    \fi
    \vspace{-1em}%
    \begin{oldlongtable}[c]{l@{\extracolsep{3em}}p{#1}}
        #2
}{\end{oldlongtable}}
%    \end{macrocode}
% \end{environment}
%
% \subsubsection{å‚è€ƒæ–‡çŒ®}
% ä¸€æ–¹é¢ï¼Œä¸»æ–‡ä»¶ä¸­è°ƒç”¨äº†ç¬¦åˆè¦æ±‚çš„å‚è€ƒæ–‡çŒ®æ&nbsp;¼å¼æŽ§åˆ¶æ–‡ä»¶ï¼Œä½¿å‚è€ƒæ–‡çŒ®ç«&nbsp;èŠ‚çš„æ&nbsp;¼å¼è§„èŒƒåŒ–ï¼›
% å¦ä¸€æ–¹é¢ï¼Œè°ƒç”¨ \pkg{gbt7714}ï¼ˆå’Œ \pkg{natbib} ï¼‰å®åŒ…æ—¶å·²ç»å¡«å…¥ç›¸å…³é€‰é¡¹ï¼Œ
% åœ¨æ–‡ç«&nbsp;ä¸­å¼•ç”¨æ–‡çŒ®çš„æ&nbsp;¼å¼ä¹Ÿç¬¦åˆäº†è¦æ±‚ã€‚è¿™é‡Œå°†æœ¬ç§‘æ¨¡æ¿ç½—åˆ—çš„å„æ¡å‚è€ƒæ–‡çŒ®ä¹‹é—´è·ç¦»ç¨å¾®è°ƒå°ä¸€äº›ï¼Œè€Œå°†ç¡•åšæ¨¡æ¿å­—å·è®¾ä¸º 5 å·ï¼Œè¡Œè· 20 ç£…ã€‚
%    \begin{macrocode}
\ifbuct@bachelor
    \setlength{\bibsep}{3pt}
\else
    \setlength{\bibsep}{0pt}
    \renewcommand\bibfont{\linespread{1.5814}\zihao{5}}
\fi
%    \end{macrocode}
%
% \subsection{å…¶ä»–è®¾ç½®}
% \subsubsection{å¼ºè°ƒ}
% \begin{macro}{\emph}
% ä¸­è¥¿æ–‡ç»Ÿä¸€ä½¿ç”¨ç²—ä½“ã€‚
%    \begin{macrocode}
\renewcommand{\emph}[1]{\textbf{#1}}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\em}
%    \begin{macrocode}
\renewcommand{\em}{\bfsong}
%    \end{macrocode}
% \end{macro}
% \subsubsection{è„šæ³¨}
% \begin{macro}{\footnote}
% ä½¿ç”¨å¸¦åœˆåœˆçš„è„šæ³¨ã€‚å°½ç®¡ \LaTeX\ è‡ªå¸¦äº† \cs{textcircled} å‘½ä»¤ï¼Œä½†æ˜¯æ•ˆæžœå¹¶ä¸å¦‚æ„ã€‚
% ä¸ºäº†å’Œä¸€çº§åˆ—è¡¨çŽ¯å¢ƒçš„åºå·åŒºåˆ†ï¼Œè¿™é‡Œä½¿ç”¨ \pkg{tikz} å®åŒ…æ¥ç»˜åˆ¶ä¸€ä¸ªå›´ç€é˜¿æ‹‰ä¼¯æ•°å­—è„šæ³¨çš„åœˆã€‚
% ä¸ºäº†çªå‡ºæ&nbsp;‡å·ä»¥ä¾¿æ›´åŠ&nbsp;æ˜Žç¡®ã€æ¸…æ¥šåœ°æ˜¾ç¤ºï¼Œå¯¹ç¼–å·è®¾ç½®äº†æ‚¬æŒ‚ç¼©è¿›ã€‚
%    \begin{macrocode}
\newcommand{\buct@ftntcircled}[1]{%
    \lower 0.15em\hbox{%
        \tikz\draw (0pt, 0pt) circle (0.4 em) node {#1};%
    }%
}
\renewcommand\thefootnote{\protect\buct@ftntcircled{\tiny\arabic{footnote}}}
\renewcommand{\@makefntext}[1]{%
    \setlength{\leftskip}{1.5\ccwd}%
    \noindent\llap{\lower 1pt \hbox{\@thefnmark}\,}#1%
}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{è¶…é“¾æŽ¥}
% å®žçŽ°PDFä¹¦ç­¾å’Œäº¤å‰å¼•ç”¨çš„è·³è½¬ã€‚
%    \begin{macrocode}
\urlstyle{same}
\hypersetup{%
    colorlinks         = true,
    bookmarksnumbered  = true,
    pdfhighlight       = /N,
    breaklinks         = true,
    citecolor          = cyan,
}
%    \end{macrocode}
%
% æ&nbsp;¹æ®æ¨¡æ¿æ–‡æ¡£ç±»æ˜¯å¦æ‰“å¼€ \opt{submit} é€‰é¡¹ï¼Œè®¾ç½®æ˜¯å¦å…³é—­è¶…é“¾æŽ¥é¢œè‰²ã€‚
%    \begin{macrocode}
\ifbuct@submit
    \hypersetup{hidelinks}
\fi
%    \end{macrocode}
%
% æ&nbsp;¹æ®æ¨¡æ¿æ–‡æ¡£ç±»æ˜¯å¦æ‰“å¼€ \opt{debugger} é€‰é¡¹ï¼Œè®¾ç½®æ˜¯å¦æ&nbsp;‡æ³¨è¡Œå·ã€‚
%    \begin{macrocode}
\ifbuct@debugger
    \AtBeginDocument{\linenumbers}
\fi
%&lt;/class&gt;
%    \end{macrocode}
%
%
% \iffalse
%    \begin{macrocode}
%&lt;*manual&gt;
\ProvidesPackage{manual}[2023/05/20 document style for BUCTthesis]
\RequirePackage{hypdoc}
\PassOptionsToPackage{AutoFakeSlant}{xeCJK}
\RequirePackage[UTF8, heading, fontset = none, linespread = 1.2,]{ctex}
\RequirePackage[toc]{multitoc}
\RequirePackage{
    xeCJKfntef,
    listings,
    float,
    tabularx,
    booktabs,
    siunitx,
    unicode-math,
    xcolor,
    caption,
    enumitem,
    metalogo,
}
\RequirePackage[bottom,perpage]{footmisc}
\RequirePackage[
    a4paper,
    hmargin={40mm,20mm},vmargin={25mm,15mm},footskip=7mm,
]{geometry}

\ctexset{
    fontset,
    abstractname   = ç®€ä»‹,
    indexname      = ä»£ç&nbsp;ç´¢å¼•,
    section        = {
        format = \Large\bfseries\raggedright,
        name   = {ç¬¬,èŠ‚},
    },
}
\xeCJKDeclareCharClass{CJK}{"2460-&gt;"2469}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{3}
\setmainfont{TeX Gyre Pagella}
\setmonofont[
    HyphenChar = None ,
    UprightFont=* Light, BoldFont=* Bold,
    SlantedFont=* Light Oblique]{CMU Typewriter Text}
\captionsetup{strut=off, labelsep=quad, labelfont+=bf}
\lstdefinestyle{base}{
    aboveskip        = 0 pt,
    belowskip        = 0 pt,
    tabsize          = 2,
    basicstyle       = \ttfamily\small,
    columns          = flexible,
    frame            = single,
    framerule        = 1 pt,
    xleftmargin      = 1 em,
    aboveskip        = 6 pt,
    belowskip        = 6 pt,
    commentstyle     = \slshape\color{gray},
    keywordstyle     = \color{blue},
    backgroundcolor  = \color{lightgray!10},
    showtabs         = false,
    showspaces       = false,
    showstringspaces = true,
    captionpos       = t,
    breaklines       = true,
    numbers          = none,
    extendedchars    = false,
    escapechar       = {@*},
    gobble           = 4,
}
\lstdefinestyle{latex}{%
    style=base,
    rulecolor=\color{cyan},
    language=[LaTeX]TeX,
}
\lstdefinestyle{shell}{%
    style=base,
    rulecolor=\color{violet!65},
    language=bash,
}
\lstnewenvironment{latex}{\lstset{style=latex}}{}
\lstnewenvironment{shell}{\lstset{style=shell}}{}
\let\oldCodelineNo\theCodelineNo
\def\theCodelineNo{\textcolor{gray}{\oldCodelineNo}}
\setlist{
    leftmargin = 0em,
    nosep
}
\setlist[description]{%
    itemindent = 2.5em,
}
\setlist[enumerate]{%
    itemindent = 2em,
}
\newcommand\Arg[1]{ \texttt{\char`\{} \meta{#1} \texttt{\char`\}} }
\providecommand\marg[1]{ \Arg{#1} }
\providecommand\oarg[1]{ \texttt[ \meta{#1} \texttt] }
\providecommand\parg[1]{ \texttt( \meta{#1} \texttt) }
\DeclareRobustCommand{\opt}{\texttt}
\DeclareRobustCommand{\env}{\texttt}
\DeclareRobustCommand{\pkg}{\textsf}
\DeclareRobustCommand{\cls}{\textsf}
\DeclareRobustCommand{\file}{\textsf}
\NewDocElement[macrolike = false ,
                idxtype   = opt.  ,
                idxgroup  = options ,
                printtype = \textit{opt.}
            ]{Opt}{option}
\NewDocumentEnvironment{syntax}{ m }{%
    \linespread{1}\xeCJKsetup{PunctStyle=plain}\xeCJKsetup{CJKecglue}%
    \cs{#1}\ignorespaces%
}{\vspace{0.5em}}
\def\glossaryname{ç‰ˆæœ¬åŽ†å²}
\GlossaryPrologue{\section{\glossaryname}}
\IndexPrologue{%
    \clearpage\section{\indexname}
    \textit{æ„å¤§åˆ©ä½“çš„æ•°å­—è¡¨ç¤ºæè¿°å¯¹åº”ç´¢å¼•é¡¹çš„é¡µç&nbsp;ï¼›
    å¸¦ä¸‹åˆ’çº¿çš„æ•°å­—è¡¨ç¤ºå®šä¹‰å¯¹åº”ç´¢å¼•é¡¹çš„ä»£ç&nbsp;è¡Œå·ï¼›
    ç½—é©¬å­—ä½“çš„æ•°å­—è¡¨ç¤ºä½¿ç”¨å¯¹åº”ç´¢å¼•é¡¹çš„ä»£ç&nbsp;è¡Œå·ã€‚}
}
\def\IndexLayout{%
    \newgeometry{hmargin=15mm,vmargin={25mm,15mm},footskip=7mm}%
    \setlength\IndexMin{.5\textheight}%
    \ctexset{section/numbering=false}%
}
\hypersetup{
    pdftitle  = {BUCTthesisï¼šåŒ—äº¬åŒ–å·¥å¤§å­¦å­¦ä½è®ºæ–‡æ¨¡æ¿},
    pdfauthor = {The-CCSN},
}
\CodelineIndex
\EnableCrossrefs
\RecordChanges
\endinput
%&lt;/manual&gt;
%    \end{macrocode}
% \fi
%
%
% \Finale
\endinput</pre></body></html>