diff options
Diffstat (limited to 'Master/texmf-dist/doc/xelatex/hduthesis/cha/source/a5.tex')
-rw-r--r-- | Master/texmf-dist/doc/xelatex/hduthesis/cha/source/a5.tex | 334 |
1 files changed, 332 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/xelatex/hduthesis/cha/source/a5.tex b/Master/texmf-dist/doc/xelatex/hduthesis/cha/source/a5.tex index a23e8009665..d55cdf54ad7 100644 --- a/Master/texmf-dist/doc/xelatex/hduthesis/cha/source/a5.tex +++ b/Master/texmf-dist/doc/xelatex/hduthesis/cha/source/a5.tex @@ -1,4 +1,334 @@ \subsection{\file{hduthesis-pg.config-module.code} 的实现} -\cmd{pg.config} 模块实现的过程略,主要是对前面定义的命令进行调用,并通过 \cs{ctexset} -或对标准文档类 \cls{report} 中的命令进行重定义.
\ No newline at end of file +由于模块 \file{pg.config} 是通过命令 \cs{__hduthesis_docinfo_degree_if_aux:} 在命令 \cs{DocInfo} 中加载的,所以需要在此模块前后用 \cmd{\ExplSyntaxOn \makeatletter} 和 \cmd{\makeatother \ExplSyntaxOff} 包裹. + +提供模块 \file{pg.config} 文件 +\begin{minted} [ linenos, bgcolor = bg, breaklines ] {tex} + \hduthesis_provide_module:n {pg.config} +\end{minted} + +设置页面布局、页眉、目录页码格式 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \geometry { top = 2.8cm, bottom = 3.2cm, left = 3.2cm, right = 3.2cm, + headheight = 15pt, headsep = .72cm, footskip = 1.5cm } + \fancyhead[C] + { \raisebox { .12ex } { \small 杭州电子科技大学硕士学位论文 } } + \hook_gput_code:nnn { cmd/tableofcontents/after } { . } + { + \clearpage + \pagenumbering{arabic} + \cfoot{\small \thepage} + } +\end{minted} + +使用辅助函数 \cs{__hduthesis_cover_pg_aux:} 重定义 \cs{maketitle} 命令,用于生成封面与扉页,并对其单独设置页面布局 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \RenewDocumentCommand \maketitle {} + { + \newgeometry{margin = 2.75cm} + \begin{titlepage} + \__hduthesis_cover_pg_aux: + \end{titlepage} + \titlepage + \__hduthesis_cnoverleaf_pg_aux: + \endtitlepage + \titlepage + \__hduthesis_enoverleaf_pg_aux: + \endtitlepage + \restoregeometry + \pagenumbering{Roman} + \cfoot {\small \thepage} + } +\end{minted} + +使用辅助函数 \cs{__hduthesis_cover_pg_aux:} 重定义封面页的内容 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \cs_new_protected_nopar:Nn \__hduthesis_cover_pg_aux: + { + \begin{center} + \null + \includegraphics[height = 2.35cm]{hdutitle} + \par \vspace*{40\p@} + { \LARGE\__hduthesis_cover_spread_box:nn {.575\linewidth} {硕士学位论文} } + \par\vspace*{100\p@} + \semiLarge 题 \qquad 目: + \__hduthesis_cover_center_box:nn { .75\linewidth } { \kaishu \@title } + \vspace*{24\p@}\par + \begin{tabular} + { >{\semiLarge\centering\arraybackslash}p{4\ccwd}@{} + >{\semiLarge\centering\arraybackslash\kaishu}p{.65\linewidth}@{} } + \__hduthesis_cover_spread_box:nn { 4\ccwd } { 研究生 } & + \__hduthesis_cover_center_box:nn { .96\linewidth } { \@author }\\ + \__hduthesis_cover_spread_box:nn { 4\ccwd } { 专业 } & + \__hduthesis_cover_center_box:nn { .96\linewidth } + { \l__docinfo_major_tl }\\ + \__hduthesis_cover_spread_box:nn { 4\ccwd } { 指导教师 } & + \__hduthesis_cover_center_box:nn { .96\linewidth } + { + \l__docinfo_cnsupervisor_tl \qquad \l__docinfo_cnrole_tl + }\\[13.5ex] + \semilarge 完成日期 & + \__hduthesis_cover_center_box:nn { .96\linewidth } + { \semilarge + \textsf{\int_use:N \c_sys_year_int} 年 + \textsf{\int_use:N \c_sys_month_int} 月 + } + \end{tabular} + \end{center} + } +\end{minted} + +使用辅助函数 \cs{__hduthesis_cnoverleaf_pg_aux:} 重定义中文扉页的内容 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \cs_new_protected_nopar:Nn \__hduthesis_cnoverleaf_pg_aux: + { + \begin{center} + \vspace*{25\p@} + { \LARGE 杭州电子科技大学硕士学位论文 } + \vspace*{140\p@} \par + \begin{spacing}{1.15} + \huge\textsf{ \@title } + \end{spacing} + \vspace*{128\p@} \par + \begin{tabular}{>{\semiLarge}p{6.25\ccwd}>{\semiLarge\kaishu}l} + \__hduthesis_cover_spread_box:nn { 4\ccwd } {研究生}:& + \__hduthesis_cover_spread_box:nn { 4\ccwd } { \@author }\\[2ex] + \__hduthesis_cover_spread_box:nn { 4\ccwd } {指导教师}:& + \__hduthesis_cover_spread_box:nn { 4\ccwd } + { \l__docinfo_cnsupervisor_tl } \hskip1.5em \l__docinfo_cnrole_tl + \end{tabular} + \par \vspace{60\p@} \semilarge + \textsf{\int_use:N \c_sys_year_int} \kaishu 年 + \textsf{\int_use:N \c_sys_month_int} \kaishu 月 + \end{center} + } +\end{minted} + +使用辅助函数 \cs{__hduthesis_enoverleaf_pg_aux:} 重定义英文扉页的内容 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \cs_new_protected_nopar:Nn \__hduthesis_enoverleaf_pg_aux: + { + \begin{center} + \vspace*{16\p@}{\bfseries \semilarge + Dissertation~Submitted~to~Hangzhou~Dianzi~University\\[.8ex] + for~the~Degree~of~Master} + \vspace*{120\p@} \par + \begin{spacing}{1.12} + \huge\bfseries\l__docinfo_entitle_tl + \end{spacing} + \vspace*{112\p@} \par + \begin{tabular} + { >{\bfseries\large}l + >{\bfseries\large}l + } + \__hduthesis_cover_spread_box:nn { 5em } {Candidate:~} & + \l__docinfo_enauthor_tl\\[3ex] + \__hduthesis_cover_spread_box:nn { 5em } {Supervisor:~} & + \l__docinfo_enrole_tl{}~ \l__docinfo_ensupervisor_tl + \\[11ex] + \end{tabular} + \vspace*{8\p@}\par + \bfseries \large + \clist_item:Nn + \g_system_month_clist { \int_use:N \c_sys_month_int },~ + \int_use:N \c_sys_year_int + \end{center} + } +\end{minted} + +使用辅助函数 \cs{__hduthesis_commitment_pg_aux:} 定义 \cs{commitment} 命令,用于生成承诺书页面. 该命令接收一个可选参数,用于添加签名图片与日期 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \NewDocumentCommand \commitment { O{} } + { + \cfoot {} + \newgeometry{margin = 2.75cm} + \titlepage + \__hduthesis_commitment_pg_aux:n {#1} + \endtitlepage + \restoregeometry + \cfoot {\small \thepage} + } +\end{minted} + +使用辅助函数 \cs{__hduthesis_commitment_pg_aux:} 定义承诺书页面的内容 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \cs_new_protected_nopar:Npn \__hduthesis_commitment_pg_aux:n #1 + { + \vspace*{-12\p@} + \begin{center} + \large + 杭州电子科技大学\\[1ex] 学位论文原创性声明和使用授权说明 + \end{center} + \vspace*{20\p@} + \begin{center} + \semilarge 原创性声明 + \end{center} + \par \vspace*{.4\baselineskip} + \begin{spacing}{1.65} + 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。 + 除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。 + 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。\par + \noindent 申请学位论文与资料若有不实之处,本人承担一切相关责任。 + \par \vspace*{1.25\baselineskip} + \noindent \makebox[.45\linewidth][l] + { + 论文作者签名: + \__hduthesis_signature_process_aux:nnn {#1}{1}{0} + \tl_if_empty:NF \l__hduthesis_signature_figure_tl + { + \signature { \l__hduthesis_signature_figure_tl } + \tl_clear:N \l__hduthesis_signature_figure_tl + } + } + 日期: + \makebox [ 2.5em ] [ l ] + { \__hduthesis_signature_process_aux:nnn {#1}{1}{1} } 年 + \makebox [ 2em ] { \__hduthesis_signature_process_aux:nnn {#1}{1}{2} } 月 + \makebox [ 2em ] { \__hduthesis_signature_process_aux:nnn {#1}{1}{3} } 日 + \par\vspace*{20\p@} + \begin{center} + \semilarge 学位论文使用授权说明 + \end{center} + \par \vspace*{.4\baselineskip} + 本人完全了解杭州电子科技大学关于保留和使用学位论文的规定, + 即:研究生在校攻读学位期间论文工作的知识产权单位属杭州电子科技大学。 + 本人保证毕业离校后,发表论文或使用论文工作成果时署名单位仍然为杭州电子科技大学。 + 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容, + 可以允许采用影印、缩印或其它复制手段保存论文。(保密论文在解密后遵守此规定) + \par \vspace*{1.25\baselineskip} + \noindent \makebox[.45\linewidth][l] + { + 论文作者签名: + \__hduthesis_signature_process_aux:nnn {#1}{2}{0} + \tl_if_empty:NF \l__hduthesis_signature_figure_tl + { + \signature { \l__hduthesis_signature_figure_tl } + \tl_clear:N \l__hduthesis_signature_figure_tl + } + } + 日期: + \makebox [ 2.5em ] [ l ] + { \__hduthesis_signature_process_aux:nnn {#1}{2}{1} } 年 + \makebox [ 2em ] + { \__hduthesis_signature_process_aux:nnn {#1}{2}{2} } 月 + \makebox [ 2em ] + { \__hduthesis_signature_process_aux:nnn {#1}{2}{3} } 日 + \par \vspace*{\baselineskip} + \noindent \makebox[.45\linewidth][l] + { + 指导教师签名: + \__hduthesis_signature_process_aux:nnn {#1}{3}{0} + \tl_if_empty:NF \l__hduthesis_signature_figure_tl + { + \signature { \l__hduthesis_signature_figure_tl } + \tl_clear:N \l__hduthesis_signature_figure_tl + } + } + 日期: + \makebox [ 2.5em ] [ l ] + { \__hduthesis_signature_process_aux:nnn {#1}{3}{1} } 年 + \makebox [ 2em ] + { \__hduthesis_signature_process_aux:nnn {#1}{3}{2} } 月 + \makebox [ 2em ] + { \__hduthesis_signature_process_aux:nnn {#1}{3}{3} } 日 + \end{spacing} + } +\end{minted} + +重新定义摘要环境,该环境接收一个可选参数,用于生成中英文摘要页面,默认为英文页面 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \RenewDocumentEnvironment {abstract} { O{en} } + { + \str_if_eq:nnT {#1} {en} + { + \tl_set:Nn \l__keywords_name_tl {Keywords:~} + \tl_set:Nn \l__keywords_sep_tl {,~} + \@beginparpenalty\@lowpenalty + \chapter*{\normalfont\bfseries Abstract} + \addcontentsline{toc}{chapter}{\bfseries Abstract} + } + \str_if_eq:nnT {#1} {cn} + { + \tl_set:Nn \l__keywords_name_tl {\textsf{关键词:}} + \tl_set:Nn \l__keywords_sep_tl {,} + \@beginparpenalty\@lowpenalty + \chapter*{摘要} + \addcontentsline{toc}{chapter}{摘要} + } + } + { + \tl_clear:N \l__abstract_name_tl + \clearpage + } +\end{minted} + +新建一个列表 \cs{l__abstract_keywords_clist} 保存关键词,定义 \cs{keywords} 命令,通过 \env{abstract} 环境的可选参数来以不同的分隔符输出关键词 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \clist_new:N \l__abstract_keywords_clist + \NewDocumentCommand \keywords { m } + { + \par \vspace*{\baselineskip} + \noindent\textbf{\l__keywords_name_tl} + \clist_set:Nn \l__abstract_keywords_clist {#1} + \clist_use:Nn \l__abstract_keywords_clist {\l__keywords_sep_tl} + } +\end{minted} + +加载 \pkg{tocloft} 宏包,重新定义目录页的格式 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \RequirePackage{tocloft} + \renewcommand \contentsname {\hfill 目录 \hfill} + \renewcommand* \cfttoctitlefont{\sffamily\semiLarge} + \dim_set:Nn \cftbeforetoctitleskip {12pt} + \dim_set:Nn \cftaftertoctitleskip {24pt} + \dim_set:Nn \cftbeforechapskip {1pt} + \dim_set:Nn \cftbeforesecskip {-.2pt} +\end{minted} + +对 \hologo{LaTeX2e} 中用于生成目录导向线的宏 \cs{@dottedtocline} 打补丁,更改导向线密度 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \patchcmd { \@dottedtocline } + { \leaders \hbox { $\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$ } } + { \kern 4pt \leaders \hbox { $\m@th\mkern .4 mu\hbox{.}\mkern .4 mu$ } } {}{} +\end{minted} + +更改目录章节的项目间距、字体格式、导向线密度和目录深度 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \renewcommand* \l@chapter {\@dottedtocline{1}{0em}{1.6em}} + \renewcommand* \l@section {\@dottedtocline{1}{2.3em}{2.1em}} + \renewcommand* \@dotsep {1.7} + \renewcommand* \@pnumwidth {2.5ex} + \renewcommand* \cftchapfont {\normalfont} + \setcounter{tocdepth}{1} +\end{minted} + +使用 \pkg{ctex} 宏包设置章节标题格式 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \ctexset + { + chapter = + { + aftername = \hspace{.5\ccwd}, fixskip = true, + beforeskip = 32pt, afterskip = 32pt, + format+ = \sffamily\semiLarge, + pagestyle = fancy + }, + section = + { + aftername = \hspace{.5\ccwd}, fixskip = true, + beforeskip = 2ex, afterskip = 2.75ex, + format = \sffamily\large + }, + subsection = + { + aftername = \hspace{.5\ccwd}, fixskip = true, + beforeskip = 2ex, afterskip = 2.75ex, + format = \sffamily\semilarge + } + } +\end{minted} + +结束模块 \file{hduthesis-pg.config-module.code} 文件 +\begin{minted} [ linenos, firstnumber = last, bgcolor = bg, breaklines ] {tex} + \endinput +\end{minted}
\ No newline at end of file |