From b1b25ae75db0114523bd5e88ae7cf38af04083fc Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 28 Jun 2022 21:09:08 +0000 Subject: xduts (28jun22) git-svn-id: svn://tug.org/texlive/trunk@63751 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xelatex/xduts/xduts.pdf | Bin 665369 -> 704529 bytes Master/texmf-dist/source/xelatex/xduts/xduts.dtx | 828 +++++++++++++++++---- Master/texmf-dist/tex/xelatex/xduts/xdufont.sty | 2 +- .../texmf-dist/tex/xelatex/xduts/xdupgthesis.cls | 487 ++++++++---- .../texmf-dist/tex/xelatex/xduts/xduugthesis.cls | 79 +- 5 files changed, 1085 insertions(+), 311 deletions(-) diff --git a/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf b/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf index c37cd0b7dc0..765e5bb869c 100644 Binary files a/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf and b/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf differ diff --git a/Master/texmf-dist/source/xelatex/xduts/xduts.dtx b/Master/texmf-dist/source/xelatex/xduts/xduts.dtx index cb82f932352..8e43cadca14 100644 --- a/Master/texmf-dist/source/xelatex/xduts/xduts.dtx +++ b/Master/texmf-dist/source/xelatex/xduts/xduts.dtx @@ -1,14 +1,14 @@ % \iffalse %<*driver> \ProvidesFile{xduts.dtx} -[2022/06/21 v2.0.0.0 Xidian University TeX Suite] +[2022/06/28 v2.10.3.0 Xidian University TeX Suite] % %\NeedsTeXFormat{LaTeX2e} %\RequirePackage{expl3} %\ProvidesExplPackage{xdufont} %\ProvidesExplClass{xdupgthesis} %\ProvidesExplClass{xduugthesis} -% {2022/06/21}{2.0.0.0} +% {2022/06/28}{2.10.3.0} % {Xidian University Font package} % {Xidian University Postgraduate Thesis document class} % {Xidian University Undergraduate Thesis document class} @@ -155,7 +155,7 @@ \end{document} % % \fi -% \CheckSum{2773} +% \CheckSum{3008} % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -260,6 +260,7 @@ % 学会以上用法后即可使用\pkgx{xdufont}宏包。 % \changes{v1.4.0.0}{2022/04/26}{新增研究生学位论文} % \changes{v1.30.0.2}{2022/06/20}{研究生学位论文文档} +% \changes{v2.2.1.1}{2022/06/23}{移除研究生学位论文中关于章节配置的文档} % \subsection{xdupgthesis} % \pkgx{xdupgthesis}基于\clsx{ctexbook}文档类, % 提供多种字体配置,部分样式可自定义,信息录入便捷。 @@ -292,11 +293,11 @@ % Caption配置见\secrefx{Caption配置}, % 表格配置见\secrefx{表格配置}, % 算法配置见\secrefx{算法配置}, -% 章节配置见\secrefx{章节配置}, % 对照表配置见\secrefx{对照表配置}, % 作者简介配置见\secrefx{作者简介配置}。 % 如需附录,请使用附录环境,具体见\secrefx{附录环境}。 % 支持的信息录入选项见\secrefx{信息录入}。 +% 页面和信息移除见\secrefx{页面和信息移除}。 % \par % 学会以上用法后即可使用\clsx{xdupgthesis}文档类。 % 另外,在\secrefx{额外命令}中提供了部分额外命令来增强排版。 @@ -332,12 +333,12 @@ % Caption配置见\secrefx{Caption配置}, % 表格配置见\secrefx{表格配置}, % 算法配置见\secrefx{算法配置}, -% 章节配置见\secrefx{章节配置}。 -% 如需附录,请使用附录环境,具体见\secrefx{附录环境}。 +% 章节配置见\secrefx{章节配置}, +% 附录配置见\secrefx{附录环境}, % 支持的信息录入选项见\secrefx{信息录入}。 % \par % 学会以上用法后即可使用\clsx{xduugthesis}文档类。 -% 另外,在\secrefx{额外命令}中提供了部分额外命令来增强排版。 +% 另外,在\secrefx{额外命令}和\secrefx{额外功能}中提供了部分额外命令和功能来增强排版。 % \changes{v1.3.0.1}{2022/04/20}{增加兼容性说明} % \section{兼容性说明} % \label{兼容性说明} @@ -683,6 +684,16 @@ % \end{optdesc} % \subsection{算法配置} % \label{算法配置} +% \begin{function}[added=2022-06-25]{style/algorithm-small-caption} +% \begin{syntax} +% \optx{style/algorithm-small-caption}=\metax{(true)|false} +% \end{syntax} +% 设置算法Caption字号是否为五号。 +% \end{function} +% \begin{optdesc} +% \item[true] 五号。 +% \item[false] 小四号。 +% \end{optdesc} % \begin{function}[added=2022-04-15]{style/algorithm-small-font} % \begin{syntax} % \optx{style/algorithm-small-font}=\metax{(true)|false} @@ -773,14 +784,15 @@ % $\mathbb{R}$ & 实数 \\ % \end{latexexample} % \end{optdesc} -% \begin{function}[added=2022-06-05]{style/colspec-los,style/colspec-loa} +% \changes{v2.10.2.1}{2022/06/28}{修改对照表默认列格式} +% \begin{function}[added=2022-06-05,updated=2022-06-28]{style/colspec-los,style/colspec-loa} % \begin{syntax} % \optx{style/colspec-los}=\argx{符号对照表列格式} % \optx{style/colspec-loa}=\argx{缩略语对照表列格式} % \end{syntax} % 设置符号对照表和缩略语对照表列格式, -% 符号对照表列格式默认值为\valuex{Q[l,m]X[l,m]}。 -% 缩略语对照表列格式默认值为\valuex{Q[l,m]X[l,m]X[l,m]}。 +% 符号对照表列格式默认值为\valuex{Q[l,h]X[l,h]}。 +% 缩略语对照表列格式默认值为\valuex{Q[l,h]X[l,h]X[l,h]}。 % 语法参考\pkgx{tabularray}宏包\cmdx{colspec}选项。 % 仅在\optx{style/customize-los}和\optx{style/customize-loa}等于\valuex{false}时有效。 % \end{function} @@ -940,6 +952,7 @@ % secret-level & & & \cmark & \cmark & \cmark & \cmark \\ % secret-year & & & \cmark & \cmark & \cmark & \cmark \\ % submit-date & & & \cmark & \cmark & \cmark & \cmark \\ +% statement-scan & & & \cmark & \cmark & \cmark & \cmark \\ % abstract & \cmark & \cmark & \cmark & \cmark & \cmark & \cmark \\ % abstract* & \cmark & \cmark & \cmark & \cmark & \cmark & \cmark \\ % keywords & \cmark & \cmark & \cmark & \cmark & \cmark & \cmark \\ @@ -1095,6 +1108,29 @@ % \end{syntax} % 设置提交日期,如果留空,则自动使用编译当天年份和月份。 % \end{function} +% \changes{v2.1.0.0}{2022/06/22}{声明页扫描文件路径} +% \begin{function}[added=2022-06-22]{info/statement-scan} +% \begin{syntax} +% \optx{info/statement-scan}=\argx{学位论文独创性声明和关于论文使用授权的说明页扫描文件路径} +% \end{syntax} +% 设置学位论文独创性声明和关于论文使用授权的说明页扫描文件路径。 +% \end{function} +% \changes{v2.2.0.0}{2022/06/23}{声明页签名文件路径} +% \begin{function}[added=2022-06-23]{info/statement-sign} +% \begin{syntax} +% \optx{info/statement-sign}=\argx{文件路径1,文件路径2,文件路径3,文件路径4,文件路径5,文件路径6} +% \end{syntax} +% 设置声明页签名文件路径。 +% 文件支持格式与\tnx{includegraphics}一致,建议文件为透明背景且仅有黑色,并尽量减少边距。 +% \end{function} +% \begin{optdesc} +% \item[文件路径1] 学位论文独创性声明本人签名文件路径。 +% \item[文件路径2] 学位论文独创性声明日期文件路径。 +% \item[文件路径3] 关于论文使用授权的说明本人签名文件路径。 +% \item[文件路径4] 关于论文使用授权的说明日期文件路径。 +% \item[文件路径5] 关于论文使用授权的说明导师签名文件路径。 +% \item[文件路径6] 关于论文使用授权的说明日期文件路径。 +% \end{optdesc} % \begin{function}[added=2022-04-02]{info/abstract,info/abstract*} % \begin{syntax} % \optx{info/abstract}=\argx{中文摘要文件路径} @@ -1405,6 +1441,38 @@ % \end{itemize} % \end{itemize} % \setlength\parindent{2em} +% \subsection{页面和信息移除} +% \label{页面和信息移除} +% \begin{function}[added=2022-06-26]{style/remove-page} +% \begin{syntax} +% \optx{style/remove-page}=\metax{封面|提名页|声明页|摘要|索引|对照表|目录|附录|参考文献|致谢|作者简介} +% \end{syntax} +% 设置移除的页面,可多选,多个值之间需要使用英文半角逗号隔开。 +% \end{function} +% \begin{optdesc} +% \item[提名页] 中英文提名页。 +% \item[摘要] 中英文摘要。 +% \item[索引] 图片索引和表格索引。 +% \item[对照表] 符号对照表和缩略语对照表。 +% \end{optdesc} +% \begin{function}[added=2022-06-26]{style/remove-header} +% \begin{syntax} +% \optx{style/remove-header}=\metax{true|(false)} +% \end{syntax} +% 设置是否移除页眉。 +% \end{function} +% \begin{function}[added=2022-06-26]{style/remove-footer} +% \begin{syntax} +% \optx{style/remove-footer}=\metax{true|(false)} +% \end{syntax} +% 设置是否移除页脚。 +% \end{function} +% \begin{function}[added=2022-06-26]{style/anonymous} +% \begin{syntax} +% \optx{anonymous}=\metax{true|(false)} +% \end{syntax} +% 设置是否开启匿名,与\secrefx{额外命令}中的\tnx{anon}搭配使用。 +% \end{function} % \subsection{额外命令} % \label{额外命令} % \subsubsection{\tn{noauxwrite}} @@ -1439,7 +1507,22 @@ % \subparagraph{This Is Subparagraph} % \end{latexexample} % \end{function} -% \subsection{隐藏功能} +% \subsubsection{匿名命令} +% \label{匿名命令} +% \begin{function}[added=2022-06-26]{\anon} +% \begin{syntax} +% \tn{anon}\oarg{匿名内容}\marg{非匿名内容} +% \end{syntax} +% 根据\optx{style/anonymous}的状态来显示相应的\metax{匿名内容}和\metax{非匿名内容}。 +% 其中\oargx{匿名内容}为可选参数,默认为XXX。 +% 一个简单的例子如下所示: +% \begin{latexexample}[moretexcs={\anon}] +% \anon[XX]{张三} +% \end{latexexample} +% 当\optx{style/anonymous}为\valuex{true},输出张三;当\optx{style/anonymous}为\valuex{false},输出XX。 +% \end{function} +% \subsection{额外功能} +% \label{额外功能} % \changes{v1.26.11.1}{2022/06/17}{带教导师与挂名导师} % \subsubsection{带教导师与挂名导师} % 已和学位办确认,对于研究生,如挂名导师与带教导师不是一人的, @@ -1448,6 +1531,16 @@ % 可在\optx{info/supervisor}、\optx{info/supervisor*}、 % \optx{info/supervisor-title}和\optx{info/supervisor-title*}中 % 使用逗号分隔两位老师的信息。 +% \changes{v2.10.1.1}{2022/06/26}{相似性检测、盲审和抽查评估} +% \subsubsection{相似性检测、盲审和抽查评估} +% 对于相似性检测、盲审和抽查评估,主要分为两种操作, +% 一种是页面移除,另外一种是信息的隐藏和替换。 +% 页面移除请参考\secrefx{页面和信息移除}, +% 信息隐藏请自行删除或注释相应的信息录入选项, +% 信息替换请自行修改相应的信息录入选项; +% 作者简介部分的信息匿名请参考\secrefx{匿名命令}。 +% 用户根据学校和学院的具体要求, +% 组合使用以上两种操作来生成符合相似性检测、盲审和抽查评估要求的论文。 % \section{贡献者} % \xduts{}的开发过程中,唯一维护者为 % \href{https://github.com/note286/}{\ttfamily @note286}。 @@ -2605,6 +2698,8 @@ % \l_@@_secret_lv_str, % \l_@@_secret_year_str, % \l_@@_submit_date_str, +% \l_@@_statement_scan_str, +% \l_@@_statement_sign_clist, % \l_@@_los_str, % \l_@@_loa_str, % \l_@@_bio_str @@ -2676,6 +2771,14 @@ % \begin{macrocode} \str_new:N \l_@@_submit_date_str % \end{macrocode} +% 声明页扫描文件路径。 +% \begin{macrocode} +\str_new:N \l_@@_statement_scan_str +% \end{macrocode} +% 声明页签名文件路径。 +% \begin{macrocode} +\clist_new:N \l_@@_statement_sign_clist +% \end{macrocode} % 符号对照表文件路径。 % \begin{macrocode} \str_new:N \l_@@_los_str @@ -2765,6 +2868,14 @@ % \begin{macrocode} submit-date .tl_set:N = \l_@@_submit_date_str, % \end{macrocode} +% 声明页扫描文件路径。 +% \begin{macrocode} + statement-scan .tl_set:N = \l_@@_statement_scan_str, +% \end{macrocode} +% 声明页签名文件路径。 +% \begin{macrocode} + statement-sign .clist_set:N = \l_@@_statement_sign_clist, +% \end{macrocode} % 符号对照表文件路径。 % \begin{macrocode} los .tl_set:N = \l_@@_los_str, @@ -2805,6 +2916,8 @@ info / secret-level = { 公开 }, info / secret-year = { }, info / submit-date = { }, + info / statement-scan = { }, + info / statement-sign = { }, info / los = { }, info / loa = { }, info / bio = { } @@ -2846,6 +2959,182 @@ } % \end{macrocode} % \end{variable} +% \changes{v2.7.0.0}{2022/06/26}{页面移除开关} +% \subsection{页面移除开关} +% \label{页面移除开关} +% \begin{variable} +% { +% \l_@@_rm_page_clist, +% \l_@@_rm_header_bool, +% \l_@@_rm_footer_bool +% } +% 页面移除开关。 +% \begin{macrocode} +\clist_new:N \l_@@_rm_page_clist +% \end{macrocode} +% 页眉移除开关。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_header_bool +% \end{macrocode} +% 页脚移除开关。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_footer_bool +% \end{macrocode} +% \end{variable} +% \begin{macro}{\keys_define:nn} +% 定义样式键值。 +% \begin{macrocode} +\keys_define:nn { xdu / style } + { +% \end{macrocode} +% 设置页面移除开关。 +% \begin{macrocode} + remove-page .clist_set:N = \l_@@_rm_page_clist, + remove-header .bool_set:N = \l_@@_rm_header_bool, + remove-footer .bool_set:N = \l_@@_rm_footer_bool + } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\keys_set:nn} +% 初始设置。 +% \begin{macrocode} +\keys_set:nn { xdu } + { + style / remove-page = { }, + style / remove-header = { false }, + style / remove-footer = { false } + } +% \end{macrocode} +% \end{macro} +% \begin{variable} +% { +% \l_@@_rm_cover_bool, +% \l_@@_rm_title_page_bool, +% \l_@@_rm_statement_bool, +% \l_@@_rm_abstract_bool, +% \l_@@_rm_loft_bool, +% \l_@@_rm_losa_bool, +% \l_@@_rm_toc_bool, +% \l_@@_rm_appendix_bool, +% \l_@@_rm_ref_bool, +% \l_@@_rm_ack_bool, +% \l_@@_rm_bio_bool +% } +% 封面。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_cover_bool +% \end{macrocode} +% 中英文提名页。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_title_page_bool +% \end{macrocode} +% 声明页。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_statement_bool +% \end{macrocode} +% 中英文摘要。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_abstract_bool +% \end{macrocode} +% 索引。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_loft_bool +% \end{macrocode} +% 符号对照表和缩略语对照表。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_losa_bool +% \end{macrocode} +% 目录。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_toc_bool +% \end{macrocode} +% 附录。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_appendix_bool +% \end{macrocode} +% 参考文献。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_ref_bool +% \end{macrocode} +% 致谢。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_ack_bool +% \end{macrocode} +% 作者简介。 +% \begin{macrocode} +\bool_new:N \l_@@_rm_bio_bool +% \end{macrocode} +% \end{variable} +% \begin{macro}{\clist_if_in:NnT,\bool_set_true:N} +% 设置页面移除开关布尔值。 +% \begin{macrocode} +\ctex_at_end_preamble:n + { + \clist_if_in:NnT \l_@@_rm_page_clist { 封面 } + { \bool_set_true:N \l_@@_rm_cover_bool } + \clist_if_in:NnT \l_@@_rm_page_clist { 提名页 } + { \bool_set_true:N \l_@@_rm_title_page_bool } + \clist_if_in:NnT \l_@@_rm_page_clist { 声明页 } + { \bool_set_true:N \l_@@_rm_statement_bool } + \clist_if_in:NnT \l_@@_rm_page_clist { 摘要 } + { \bool_set_true:N \l_@@_rm_abstract_bool } + \clist_if_in:NnT \l_@@_rm_page_clist { 索引 } + { \bool_set_true:N \l_@@_rm_loft_bool } + \clist_if_in:NnT \l_@@_rm_page_clist { 对照表 } + { \bool_set_true:N \l_@@_rm_losa_bool } + \clist_if_in:NnT \l_@@_rm_page_clist { 目录 } + { \bool_set_true:N \l_@@_rm_toc_bool } + \clist_if_in:NnT \l_@@_rm_page_clist { 附录 } + { \bool_set_true:N \l_@@_rm_appendix_bool } + \clist_if_in:NnT \l_@@_rm_page_clist { 参考文献 } + { \bool_set_true:N \l_@@_rm_ref_bool } + \clist_if_in:NnT \l_@@_rm_page_clist { 致谢 } + { \bool_set_true:N \l_@@_rm_ack_bool } + \clist_if_in:NnT \l_@@_rm_page_clist { 作者简介 } + { \bool_set_true:N \l_@@_rm_bio_bool } + } +% \end{macrocode} +% \end{macro} +% \changes{v2.10.0.0}{2022/06/26}{匿名命令} +% \subsection{匿名操作} +% \label{匿名操作} +% \begin{variable}{\l_@@_anon_bool} +% 匿名开关。 +% \begin{macrocode} +\bool_new:N \l_@@_anon_bool +% \end{macrocode} +% \end{variable} +% \begin{macro}{\keys_define:nn} +% 定义样式键值。 +% \begin{macrocode} +\keys_define:nn { xdu / style } + { +% \end{macrocode} +% 匿名操作。 +% \begin{macrocode} + anonymous .bool_set:N = \l_@@_anon_bool + } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\keys_set:nn} +% 初始设置。 +% \begin{macrocode} +\keys_set:nn { xdu } + { + style / anonymous = { false } + } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\anon} +% 匿名命令。 +% \begin{macrocode} +\NewDocumentCommand \anon { O { XXX } m } + { + \bool_if:NTF \l_@@_anon_bool + { #1 } { #2 } + } +% \end{macrocode} +% \end{macro} % \begin{macrocode} % %<*thesis> @@ -2876,6 +3165,7 @@ % \l_@@_biblatex_option_tl, % \l_@@_cap_label_sep_tl, % \l_@@_tab_small_bool, +% \l_@@_alg_small_cap_bool, % \l_@@_alg_small_bool, % \l_@@_before_skip_clist, % \l_@@_after_skip_clist, @@ -2916,7 +3206,11 @@ % \begin{macrocode} \bool_new:N \l_@@_tab_small_bool % \end{macrocode} -% 设置算法字号是否为五号。 +% 设置算法Caption字号是否为五号。 +% \begin{macrocode} +\bool_new:N \l_@@_alg_small_cap_bool +% \end{macrocode} +% 设置算法内容字号是否为五号。 % \begin{macrocode} \bool_new:N \l_@@_alg_small_bool % \end{macrocode} @@ -2979,7 +3273,11 @@ % \begin{macrocode} table-small-font .bool_set:N = \l_@@_tab_small_bool, % \end{macrocode} -% 设置算法字号是否为五号。 +% 设置算法Caption字号是否为五号。 +% \begin{macrocode} + algorithm-small-caption .bool_set:N = \l_@@_alg_small_cap_bool, +% \end{macrocode} +% 设置算法内容字号是否为五号。 % \begin{macrocode} algorithm-small-font .bool_set:N = \l_@@_alg_small_bool, % \end{macrocode} @@ -3015,18 +3313,19 @@ % \begin{macrocode} \keys_set:nn { xdu } { - style / en-cjk-font = false, - style / language = zh, - style / bib-backend = biblatex, - style / biblatex-option = { }, - style / ref-add-space = false, - style / caption-label-sep = { 0.75em }, - style / table-small-font = true, - style / algorithm-small-font = true, - style / before-skip = { 24pt, 18pt, 12pt, 12pt, 12pt, 12pt }, - style / after-skip = { 18pt, 12pt, 6pt, 6pt, 6pt, 6pt }, - style / symmetric-margin = false, - style / page-vertical-align = { 顶部对齐 } + style / en-cjk-font = false, + style / language = zh, + style / bib-backend = biblatex, + style / biblatex-option = { }, + style / ref-add-space = false, + style / caption-label-sep = { 0.75em }, + style / table-small-font = true, + style / algorithm-small-caption = true, + style / algorithm-small-font = true, + style / before-skip = { 24pt, 18pt, 12pt, 12pt, 12pt, 12pt }, + style / after-skip = { 18pt, 12pt, 6pt, 6pt, 6pt, 6pt }, + style / symmetric-margin = false, + style / page-vertical-align = { 顶部对齐 } } % \end{macrocode} % \end{macro} @@ -3109,8 +3408,8 @@ { style / customize-los = { true }, style / customize-loa = { true }, - style / colspec-los = { Q[l,m]X[l,m] }, - style / colspec-loa = { Q[l,m]X[l,m]X[l,m] }, + style / colspec-los = { Q[l,h]X[l,h] }, + style / colspec-loa = { Q[l,h]X[l,h]X[l,h] }, style / title-row-los = { false }, style / title-row-loa = { false } } @@ -3590,6 +3889,14 @@ } \savegeometry { cover } % \end{macrocode} +% \changes{v2.1.0.0}{2022/06/22}{无页边距页面} +% 无页边距页面。 +% \begin{macrocode} +%<*xdupgthesis> +\newgeometry { margin = 0cm } +\savegeometry { nomargin } +% +% \end{macrocode} % \end{macro} % \begin{macro}{\@@_load_main_geometry:} % \changes{v0.8.0.0}{2022/04/12}{根据用户配置加载正文页边距配置} @@ -3660,6 +3967,9 @@ % \changes{v1.6.0.0}{2022/05/02}{设置页脚页码} % \changes{v1.7.0.0}{2022/05/02}{设置页眉} % \changes{v1.26.9.0}{2022/06/13}{修正页眉文字和双横线高度} +% \changes{v2.8.0.0}{2022/06/26}{研究生学位论文支持移除页眉} +% \changes{v2.9.0.0}{2022/06/26}{研究生学位论文支持移除页脚} +% \changes{v2.9.1.0}{2022/06/26}{研究生学位论文支持移除页眉双横线} % 设置正文页眉页脚。 % \begin{description} % \item[本科生] 页眉:宋体五号,居中排列。左面页眉为论文题目,右面页眉为章次和章标题。页眉底划线的宽度为0.75磅。页码:宋体小五号,排在页眉行的最外侧,不加任何修饰。 @@ -3678,19 +3988,27 @@ \renewcommand { \headrulewidth } { 0.75pt } % %<*xdupgthesis> - \fancyhead [ CE ] { \@@_rm_family: \zihao { 5 } \l_@@_header_str } - \fancyhead [ CO ] { \@@_rm_family: \zihao { 5 } \leftmark } - \fancyfoot [ CE ] { \@@_rm_family: \zihao { -5 } \thepage } - \fancyfoot [ CO ] { \@@_rm_family: \zihao { -5 } \thepage } + \bool_if:NF \l_@@_rm_header_bool + { + \fancyhead [ CE ] { \@@_rm_family: \zihao { 5 } \l_@@_header_str } + \fancyhead [ CO ] { \@@_rm_family: \zihao { 5 } \leftmark } + } + \bool_if:NTF \l_@@_rm_footer_bool + { \fancyfoot [ C ] { } } + { \fancyfoot [ C ] { \@@_rm_family: \zihao { -5 } \thepage } } \cs_set:Npn \headrulewidth { 0.5pt } - \cs_set:Npn \headrule + \bool_if:NTF \l_@@_rm_header_bool + { \cs_set:Npn \headrule { } } { - \hrule \@height 0pt - \skip_vertical:N 2pt - \hrule \@height \headrulewidth - \skip_vertical:N \headrulewidth - \hrule \@height \headrulewidth - \skip_vertical:N -\headrulewidth + \cs_set:Npn \headrule + { + \hrule \@height 0pt + \skip_vertical:N 2pt + \hrule \@height \headrulewidth + \skip_vertical:N \headrulewidth + \hrule \@height \headrulewidth + \skip_vertical:N -\headrulewidth + } } % } @@ -3698,8 +4016,9 @@ \fancypagestyle { front } { \pagestyle { plain } - \fancyfoot [ CE ] { \rmfamily \zihao { -5 } \thepage } - \fancyfoot [ CO ] { \rmfamily \zihao { -5 } \thepage } + \bool_if:NTF \l_@@_rm_footer_bool + { \fancyfoot [ C ] { } } + { \fancyfoot [ C ] { \rmfamily \zihao { -5 } \thepage } } } % % \end{macrocode} @@ -4288,11 +4607,19 @@ % \begin{macro}{\DeclareCaptionLabelSeparator,\DeclareCaptionFont,\captionsetup} % \changes{v0.1.2.0}{2022/04/03}{设置图片标签与后面标题之间的间距} % \changes{v0.1.3.0}{2022/04/03}{设置图片标签与标题字体字号} +% \changes{v2.10.1.0}{2022/06/26}{修复算法标签与标题字体字号警告} % 设置图表标签与后面标题之间的间距及caption字体字号。 % \begin{macrocode} \RequirePackage { caption } \DeclareCaptionLabelSeparator { customskip } { \hskip \l_@@_cap_label_sep_tl } -\DeclareCaptionFont { customfont } { \@@_rm_family: \zihao { 5 } } +\DeclareCaptionFont { customfont } { \@@_rm_family: \zihao { 5 } } +\DeclareCaptionFont { algcustomfont } + { + \@@_rm_family: + \bool_if:NTF \l_@@_alg_small_cap_bool + { \zihao { 5 } } + { \zihao { -4 } } + } \captionsetup { labelsep = customskip, @@ -4303,19 +4630,21 @@ % \begin{macro}{\captionsetup} % \changes{v1.0.4.0}{2022/04/15}{设置\pkgx{algorithm}算法标签与标题字体字号及标签与后面标题之间的间距} % \changes{v1.1.3.0}{2022/04/15}{修正\pkgx{algorithm}算法标签字体系列} +% \changes{v2.6.0.0}{2022/06/25}{设置\pkgx{algorithm}算法Caption字号是否为五号} % 设置\pkgx{algorithm}算法标签与标题字体字号及标签与后面标题之间的间距。 % \begin{macrocode} \captionsetup [ algorithm ] { labelsep = customskip, - labelfont = customfont, - font = customfont + labelfont = algcustomfont, + font = algcustomfont } % \end{macrocode} % \end{macro} % \begin{macro}{\SetAlgoCaptionSeparator,\SetAlCapNameFnt,\SetAlCapFnt} % \changes{v1.0.0.0}{2022/04/14}{修正\pkgx{algorithm2e}算法标签与后面标题之间的间距} % \changes{v1.0.4.0}{2022/04/15}{修正\pkgx{algorithm2e}算法标签与标题字体字号} +% \changes{v2.6.0.0}{2022/06/25}{设置\pkgx{algorithm2e}算法Caption字号是否为五号} % 设置\pkgx{algorithm2e}算法标签与标题字体字号及标签与后面标题之间的间距。 % \begin{macrocode} \ctex_at_end_preamble:n @@ -4323,8 +4652,15 @@ \cs_if_exist:NT \thealgocf { \SetAlgoCaptionSeparator { \hbox_to_wd:nn { \l_@@_cap_label_sep_tl } { } } - \SetAlCapNameFnt { \@@_rm_family: \zihao { 5 } } - \SetAlCapFnt { \@@_rm_family: \zihao { 5 } } + \bool_if:NTF \l_@@_alg_small_cap_bool + { + \SetAlCapNameFnt { \@@_rm_family: \zihao { 5 } } + \SetAlCapFnt { \@@_rm_family: \zihao { 5 } } + } + { + \SetAlCapNameFnt { \@@_rm_family: \zihao { -4 } } + \SetAlCapFnt { \@@_rm_family: \zihao { -4 } } + } \SetAlCapSty { } } } @@ -4510,6 +4846,9 @@ % \changes{v1.13.6.0}{2022/05/09}{移除\pkgx{natbib}宏包显式调用} % \changes{v1.14.0.0}{2022/05/10}{为\bibtex{}提供\tnx{parencite}命令} % \changes{v1.14.1.0}{2022/05/10}{使用\tnx{PassOptionsToPackage}传递\pkgx{gbt7714}和\pkgx{biblatex}宏包参数} +% \changes{v2.2.4.0}{2022/06/24}{修改参考文献\bibtex{}标签右对齐} +% \changes{v2.2.5.0}{2022/06/24}{修改\bibtex{}和\pkgx{biblatex}字体配置方式} +% \changes{v2.7.1.0}{2022/06/26}{修改\pkgx{biblatex}中斜杠字符字体族} % 参考文献。 % \begin{macrocode} \PassOptionsToPackage { sort&compress } { gbt7714 } @@ -4520,6 +4859,9 @@ { \RequirePackage { gbt7714 } \bibliographystyle { gbt7714-numerical } + \cs_set:Npn \@biblabel #1 { \hfill [ #1 ] } + \cs_set:Npn \bibsection { } + \dim_set:Nn \bibsep { 0pt } \NewDocumentCommand \parencite { m } { \group_begin: \citestyle { numbers } \cite { #1 } \group_end: } } @@ -4527,6 +4869,29 @@ \PassOptionsToPackage { \l_@@_biblatex_option_tl } { biblatex } \RequirePackage { biblatex } \clist_map_inline:Nn \l_@@_bib_file_clist { \addbibresource { #1 } } + \defbibheading { bibliography } [ ] { } + \dim_set:Nn \biblabelsep { 1ex } + \dim_set:Nn \bibitemsep { 0pt } + \cs_set_eq:NN \SlashFont \rmfamily + } +% \end{macrocode} +% \changes{v2.7.0.0}{2022/06/26}{\bibtex{}下允许不生成文献列表} +% \bibtex{}下允许不生成文献列表。 +% \begin{macrocode} +\ctex_at_end_preamble:n + { + \bool_if:NT \l_@@_rm_ref_bool + { \RequirePackage { bibentry } } + } +% \end{macrocode} +% \bibtex{}和\pkgx{biblatex}通用字体字号配置。 +% \begin{macrocode} + \cs_set:Npn \bibfont + { +% \rmfamily +% \@@_rm_family: + \zihao { 5 } +% \dim_set:Nn \baselineskip { 20pt } } } % \end{macrocode} @@ -4556,9 +4921,22 @@ \BODY } % \end{macrocode} -% \end{macro} % \begin{macrocode} % +%<*xdupgthesis> +% \end{macrocode} +% \changes{v2.7.0.0}{2022/06/26}{研究生学位论文支持移除附录} +% 研究生学位论文支持移除附录。 +% \begin{macrocode} +\ctex_at_end_preamble:n + { + \bool_if:NT \l_@@_rm_appendix_bool + { \RenewEnviron { appendixes } { } } + } +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +% %<*xduugthesis> % \end{macrocode} % \changes{v1.26.7.1}{2022/06/12}{整理代码结构} @@ -5439,8 +5817,47 @@ % \end{macrocode} % \end{macro} % \paragraph{声明页} +% \begin{macro} +% { +% \@@_statement_scan_sign_uline:n, +% \@@_statement_scan_sign:nnnn +% } +% \changes{v2.2.0.0}{2022/06/23}{声明页签字扫描文件} +% 声明页签字扫描文件。 +% \begin{macrocode} +\cs_new:Npn \@@_statement_scan_sign_uline:n #1 + { + \@@_uline:n + { + \vbox_to_ht:nn { 17.5pt } + { + \vfil + \hbox_to_wd:nn { 10em } + { + \hfil + \includegraphics [ width = 10em, height = 25pt, keepaspectratio ] { #1 } + \hfil + } + } + } + } +\cs_new:Npn \@@_statement_scan_sign:nnnn #1#2#3#4 + { + \vbox_to_ht:nn { 30pt } + { + \vfil + #1: + \@@_statement_scan_sign_uline:n { #2 } + \hfill + #3: + \@@_statement_scan_sign_uline:n { #4 } + } + } +% \end{macrocode} +% \end{macro} % \begin{macro}{\@@_statement:} % \changes{v1.19.0.0}{2022/05/30}{学位论文独创性声明和关于论文使用授权的说明} +% \changes{v2.2.0.0}{2022/06/23}{支持声明页插入签字扫描文件} % 学位论文独创性声明和关于论文使用授权的说明。 % \begin{macrocode} \cs_new:Npn \@@_statement: @@ -5454,7 +5871,7 @@ 西安电子科技大学\\ 学位论文独创性(或创新性)声明 } - \vbox_to_ht:nn { 140pt } + \vbox_to_ht:nn { 120pt } { \rmfamily \zihao { -4 } \dim_set:Nn \parindent { 2em } @@ -5468,15 +5885,27 @@ 学位论文若有不实之处,本人承担一切法律责任。 \vfil } + \clist_if_empty:NT \l_@@_statement_sign_clist + { \skip_vertical:n { 20pt } } \vbox_to_ht:nn { 175pt } { \rmfamily \zihao { -4 } \dim_set:Nn \parindent { 2em } \dim_set:Nn \baselineskip { 20pt } - 本人签名:\@@_uline:n { \skip_horizontal:n { 10em } } - \hfill - 日\qquad{}期:\@@_uline:n { \skip_horizontal:n { 10em } } + \clist_if_empty:NTF \l_@@_statement_sign_clist + { + 本人签名:\@@_uline:n { \skip_horizontal:n { 10em } } + \hfill + 日\qquad{}期:\@@_uline:n { \skip_horizontal:n { 10em } } + } + { + \@@_statement_scan_sign:nnnn + { 本人签名 } { \clist_item:Nn \l_@@_statement_sign_clist { 1 } } + { 日\qquad{}期 } { \clist_item:Nn \l_@@_statement_sign_clist { 2 } } + } } + \clist_if_empty:NF \l_@@_statement_sign_clist + { \skip_vertical:n { 20pt } } \vbox_to_ht:nn { 60pt } { \rmfamily \zihao { 4 } \bfseries \centering @@ -5484,7 +5913,7 @@ 西安电子科技大学\\ 关于论文使用授权的说明 } - \vbox_to_ht:nn { 140pt } + \vbox_to_ht:nn { 120pt } { \rmfamily \zihao { -4 } \dim_set:Nn \parindent { 2em } @@ -5506,18 +5935,32 @@ 年解密后适用本授权书。 \vfil } + \clist_if_empty:NT \l_@@_statement_sign_clist + { \skip_vertical:n { 20pt } } \vbox:n { \rmfamily \zihao { -4 } \dim_set:Nn \parindent { 2em } \dim_set:Nn \baselineskip { 40pt } - 本人签名:\@@_uline:n { \skip_horizontal:n { 10em } } - \hfill - 导师签名:\@@_uline:n { \skip_horizontal:n { 10em } } - \par - 日\qquad{}期:\@@_uline:n { \skip_horizontal:n { 10em } } - \hfill - 日\qquad{}期:\@@_uline:n { \skip_horizontal:n { 10em } } + \clist_if_empty:NTF \l_@@_statement_sign_clist + { + 本人签名:\@@_uline:n { \skip_horizontal:n { 10em } } + \hfill + 导师签名:\@@_uline:n { \skip_horizontal:n { 10em } } + \par + 日\qquad{}期:\@@_uline:n { \skip_horizontal:n { 10em } } + \hfill + 日\qquad{}期:\@@_uline:n { \skip_horizontal:n { 10em } } + } + { + \@@_statement_scan_sign:nnnn + { 本人签名 } { \clist_item:Nn \l_@@_statement_sign_clist { 3 } } + { 导师签名 } { \clist_item:Nn \l_@@_statement_sign_clist { 5 } } + \par + \@@_statement_scan_sign:nnnn + { 日\qquad{}期 } { \clist_item:Nn \l_@@_statement_sign_clist { 4 } } + { 日\qquad{}期 } { \clist_item:Nn \l_@@_statement_sign_clist { 6 } } + } } \cleardoublepage } @@ -5743,6 +6186,15 @@ } % \end{macrocode} % \end{macro} +% \begin{variable}{\l_@@_losa_add_skip_dim} +% \changes{v2.10.2.0}{2022/06/28}{对照表行间距补偿值} +% 对照表行间距补偿值: +% $20pt-12bp\times(72.27/72)pt/bp\times1.2\times1.3=1.2098pt$。 +% \begin{macrocode} +\dim_new:N \l_@@_losa_add_skip_dim +\dim_set:Nn \l_@@_losa_add_skip_dim { 1.2098pt } +% \end{macrocode} +% \end{variable} % \begin{macro}{\@@_symbols_list:} % \changes{v1.22.0.0}{2022/06/05}{符号对照表} % \changes{v1.26.2.0}{2022/06/09}{修复符号对照表列格式解析错误} @@ -5750,6 +6202,8 @@ % \changes{v1.26.5.0}{2022/06/10}{修复符号对照表空文件标题行错误} % \changes{v1.28.1.0}{2022/06/18}{添加符号对照表至目录} % \changes{v1.29.1.0}{2022/06/19}{修复符号对照表引起的章节段前段后间距错误} +% \changes{v2.2.1.0}{2022/06/23}{移除表格索引中生成的符号对照表} +% \changes{v2.10.2.0}{2022/06/28}{修正符号对照表行内行间距} % 符号对照表。 % \begin{macrocode} \cs_new:Npn \@@_symbols_list: @@ -5789,6 +6243,7 @@ [ evaluate = \fileIfExistInput, expand = \l_@@_los_head_tl, + entry = none, theme = losloatheme ] } @@ -5796,13 +6251,15 @@ colspec = { \exp_not:V \l_@@_colspec_los_tl }, \exp_not:n { - rowhead = \int_compare:nNnTF - { \value { rowcount } } > { 1 } - { \l_@@_los_rowhead_tl } { 0 }, - rows = { font = \rmfamily \zihao { -4 } }, - stretch = 0, - rowsep = { 3pt }, - rows = { ht = 14pt } + rowhead = \int_compare:nNnTF + { \value { rowcount } } > { 1 } + { \l_@@_los_rowhead_tl } { 0 }, + cells = { + font = \rmfamily \zihao { -4 } + \dim_add:Nn \baselineskip { \l_@@_losa_add_skip_dim } + }, + abovesep = 0pt, + belowsep = \l_@@_losa_add_skip_dim } } } @@ -5821,6 +6278,8 @@ % \changes{v1.26.5.0}{2022/06/10}{修复缩略语对照表空文件标题行错误} % \changes{v1.28.1.0}{2022/06/18}{添加缩略语对照表至目录} % \changes{v1.29.1.0}{2022/06/19}{修复缩略语对照表引起的章节段前段后间距错误} +% \changes{v2.2.1.0}{2022/06/23}{移除表格索引中生成的缩略语对照表} +% \changes{v2.10.2.0}{2022/06/28}{修正缩略语对照表行内行间距} % 缩略语对照表。 % \begin{macrocode} \cs_new:Npn \@@_abbreviations_list: @@ -5866,6 +6325,7 @@ [ evaluate = \fileIfExistInput, expand = \l_@@_loa_head_tl, + entry = none, theme = losloatheme ] } @@ -5873,13 +6333,15 @@ colspec = { \exp_not:V \l_@@_colspec_loa_tl }, \exp_not:n { - rowhead = \int_compare:nNnTF - { \value { rowcount } } > { 1 } - { \l_@@_loa_rowhead_tl } { 0 }, - rows = { font = \rmfamily \zihao { -4 } }, - stretch = 0, - rowsep = { 3pt }, - rows = { ht = 14pt } + rowhead = \int_compare:nNnTF + { \value { rowcount } } > { 1 } + { \l_@@_loa_rowhead_tl } { 0 }, + cells = { + font = \rmfamily \zihao { -4 } + \dim_add:Nn \baselineskip { \l_@@_losa_add_skip_dim } + }, + abovesep = 0pt, + belowsep = \l_@@_losa_add_skip_dim } } } @@ -5907,6 +6369,7 @@ % \changes{v1.5.0.0}{2022/05/01}{设置封面页边距} % \changes{v1.6.0.0}{2022/05/02}{设置页脚页码} % \changes{v1.16.0.0}{2022/05/22}{绘制研究生封面} +% \changes{v2.7.0.0}{2022/06/26}{研究生学位论文支持移除前言部分页面} % 排版前言部分。 % \begin{macrocode} \renewcommand { \frontmatter } @@ -5915,34 +6378,57 @@ \pagestyle { empty } \dim_set:Nn \parindent { 0pt } \dim_set:Nn \baselineskip { 20pt } - \@@_add_bookmark:n { \@@_lang_switch:nn { 封面 } { Cover } } + \bool_if:NF \l_@@_rm_cover_bool + { + \@@_add_bookmark:n { \@@_lang_switch:nn { 封面 } { Cover } } % \end{macrocode} % \changes{v1.18.1.0}{2022/05/30}{不拆分研究生封面标题} % 封面标题。 % \begin{macrocode} - \vbox:n { } - \skip_vertical:n { 435pt } - \vbox_to_ht:nn { 120pt } - { - \rmfamily \zihao { 2 } \bfseries \centering - \dim_set:Nn \baselineskip { 30pt } - \l_@@_title_str - } + \vbox:n { } + \skip_vertical:n { 435pt } + \vbox_to_ht:nn { 120pt } + { + \rmfamily \zihao { 2 } \bfseries \centering + \dim_set:Nn \baselineskip { 30pt } + \l_@@_title_str + } % \end{macrocode} % 封面底部作者信息。 % \begin{macrocode} - \@@_cover_author_info: - \cleardoublepage + \@@_cover_author_info: + \cleardoublepage + } % \end{macrocode} % 中英文提名页。 % \begin{macrocode} - \@@_lang_switch:nn - { \@@_zh_title_page: \@@_en_title_page: } - { \@@_en_title_page: \@@_zh_title_page: } + \bool_if:NF \l_@@_rm_title_page_bool + { + \@@_lang_switch:nn + { \@@_zh_title_page: \@@_en_title_page: } + { \@@_en_title_page: \@@_zh_title_page: } + } % \end{macrocode} % 声明页。 % \begin{macrocode} - \@@_statement: + \bool_if:NF \l_@@_rm_statement_bool + { + \file_if_exist:nTF { \l_@@_statement_scan_str } + { + \loadgeometry { nomargin } + \vbox_to_ht:nn { \textheight } + { + \vfil + \centering + \includegraphics + [ width = \textwidth, height = \textheight, keepaspectratio ] + { \l_@@_statement_scan_str } + \vfil + } + \cleardoublepage + } + { \@@_statement: } + } % \end{macrocode} % 更改页面样式。 % \begin{macrocode} @@ -5953,40 +6439,52 @@ % \end{macrocode} % 中英文摘要。 % \begin{macrocode} - \@@_lang_switch:nn - { \@@_zh_abstract_keywords: \@@_en_abstract_keywords: } - { \@@_en_abstract_keywords: \@@_zh_abstract_keywords: } + \bool_if:NF \l_@@_rm_abstract_bool + { + \@@_lang_switch:nn + { \@@_zh_abstract_keywords: \@@_en_abstract_keywords: } + { \@@_en_abstract_keywords: \@@_zh_abstract_keywords: } + } % \end{macrocode} % 图表索引。 % \begin{macrocode} - \@@_list_of_figure: - \@@_list_of_table: + \bool_if:NF \l_@@_rm_loft_bool + { + \@@_list_of_figure: + \@@_list_of_table: + } % \end{macrocode} % 符号对照表和缩略语对照表。 % \begin{macrocode} - \@@_symbols_list: - \@@_abbreviations_list: + \bool_if:NF \l_@@_rm_losa_bool + { + \@@_symbols_list: + \@@_abbreviations_list: + } % \end{macrocode} % \changes{v1.23.0.0}{2022/06/05}{研究生学位论文目录} % \changes{v1.28.0.0}{2022/06/18}{设置研究生学位论文目录深度} % 目录。 % \begin{macrocode} - \setcounter { tocdepth } { 2 } - \@@_n_chapter_head:nn - { \@@_lang_switch:nn { 目录 } { Contents } } - { \@@_lang_switch:nn { 目 { \quad } 录 } { Contents } } - \@starttoc { toc } - \cleardoublepage + \bool_if:NF \l_@@_rm_toc_bool + { + \setcounter { tocdepth } { 2 } + \@@_n_chapter_head:nn + { \@@_lang_switch:nn { 目录 } { Contents } } + { \@@_lang_switch:nn { 目 { \quad } 录 } { Contents } } + \@starttoc { toc } + \cleardoublepage % \end{macrocode} % \changes{v1.30.0.0}{2022/06/20}{英文研究生学位论文中文目录} % 英文研究生学位论文中文目录。 % \begin{macrocode} - \@@_lang_switch:nn { } - { - \setcounter { tocdepth } { 2 } - \@@_n_chapter_head:nn { 目录 } { \@@_sf_family: 目 { \quad } 录 } - \@starttoc { zh.toc } - \cleardoublepage + \@@_lang_switch:nn { } + { + \setcounter { tocdepth } { 2 } + \@@_n_chapter_head:nn { 目录 } { \@@_sf_family: 目 { \quad } 录 } + \@starttoc { zh.toc } + \cleardoublepage + } } } % \end{macrocode} @@ -6020,6 +6518,7 @@ % \changes{v1.5.0.0}{2022/05/01}{设置正文页边距} % \changes{v1.6.0.0}{2022/05/02}{设置页脚页码} % \changes{v1.23.1.0}{2022/06/05}{设置正文字号和行间距} +% \changes{v2.10.3.0}{2022/06/28}{修正公式与正文间距} % 排版正文部分。 % \begin{macrocode} \renewcommand { \mainmatter } @@ -6056,6 +6555,13 @@ \@@_add_zh_toc:nn { subsection } { \numberline { \thesubsection } ##2 } } } +% \end{macrocode} +% 修正公式与正文间距。 +% \begin{macrocode} + \dim_set:Nn \abovedisplayskip { 12bp } + \dim_set:Nn \belowdisplayskip { 12bp } + \dim_set:Nn \abovedisplayshortskip { 0bp } + \dim_set:Nn \belowdisplayshortskip { 12bp } } % \end{macrocode} % \end{macro} @@ -6088,21 +6594,20 @@ % \changes{v0.5.2.0}{2022/04/07}{修正参考文献列表字体字号} % \changes{v1.3.1.0}{2022/04/21}{修复参考文献列表字体字号} % \changes{v1.4.1.0}{2022/04/27}{修复bibtex产生的多余参考文献列表章节} +% \changes{v2.2.2.0}{2022/06/24}{修正本科生毕业设计参考文献行间距} +% \changes{v2.2.3.0}{2022/06/24}{修改本科生毕业设计参考文献\bibtex{}字体字号设置方式} +% \changes{v2.2.5.0}{2022/06/24}{修改本科生毕业设计参考文献标签与文献内容的间距} +% \changes{v2.6.1.0}{2022/06/25}{修正本科生毕业设计参考文献斜杠符号字体} % \begin{macrocode} \cs_set:Npn \bibname { \@@_lang_switch:nn { 参考文献 } { Bibliography } } \@@_n_chapter_head_toc:n { \bibname } \group_begin: \tl_if_eq:NnTF \l_@@_bib_tool_tl { bibtex } { - \cs_set:Npn \bibsection { } - \@@_rm_family: \zihao { 5 } + \dim_set:Nn \labelsep { 1ex } \bibliography { \l_@@_bib_file_clist } } - { - \defbibheading { bibliography } [ ] { } - \cs_set:Npn \bibfont { \@@_rm_family: \zihao { 5 } } - \printbibliography - } + { \printbibliography } \group_end: } % \end{macrocode} @@ -6167,6 +6672,7 @@ } % \end{macrocode} % \end{macro} +% \changes{v2.7.0.0}{2022/06/26}{研究生学位论文支持移除后记部分页面} % \begin{macro}{\backmatter} % 排版后记部分。 % \begin{macrocode} @@ -6184,73 +6690,83 @@ } % \end{macrocode} % \changes{v1.25.0.0}{2022/06/05}{研究生学位论文参考文献} +% \changes{v2.2.2.0}{2022/06/24}{修正研究生学位论文参考文献行间距} +% \changes{v2.2.3.0}{2022/06/24}{修改研究生学位论文参考文献\bibtex{}字体字号设置方式} +% \changes{v2.2.5.0}{2022/06/24}{修改研究生学位论文参考文献标签与文献内容的间距} +% \changes{v2.6.1.0}{2022/06/25}{修正研究生学位论文参考文献斜杠符号字体} % 参考文献。 % \begin{macrocode} - \cs_set:Npn \bibname { \@@_lang_switch:nn { 参考文献 } { Bibliography } } - \@@_n_chapter_head_toc:n { \bibname } - \@@_lang_switch:nn { } { \@@_add_zh_toc:nn { chapter } { 参考文献 } } + \bool_if:NF \l_@@_rm_ref_bool + { + \cs_set:Npn \bibname { \@@_lang_switch:nn { 参考文献 } { Bibliography } } + \@@_n_chapter_head_toc:n { \bibname } + \@@_lang_switch:nn { } { \@@_add_zh_toc:nn { chapter } { 参考文献 } } + } \group_begin: \tl_if_eq:NnTF \l_@@_bib_tool_tl { bibtex } { - \cs_set:Npn \bibsection { } - \rmfamily \zihao { 5 } - \dim_set:Nn \baselineskip { 20pt } - \bibliography { \l_@@_bib_file_clist } - } - { - \defbibheading { bibliography } [ ] { } - \cs_set:Npn \bibfont + \bool_if:NTF \l_@@_rm_ref_bool + { \nobibliography { \l_@@_bib_file_clist } } { - \rmfamily \zihao { 5 } - \dim_set:Nn \baselineskip { 20pt } + \dim_set:Nn \labelsep { 1ex } + \bibliography { \l_@@_bib_file_clist } } - \printbibliography + } + { + \bool_if:NF \l_@@_rm_ref_bool + { \printbibliography } } \group_end: % \end{macrocode} % \changes{v1.24.0.0}{2022/06/05}{研究生学位论文致谢} % 致谢。 % \begin{macrocode} - \@@_n_chapter_head_toc:nn - { \@@_lang_switch:nn { 致谢 } { Acknowledgements } } - { \@@_lang_switch:nn { 致 { \quad } 谢 } { Acknowledgements } } - \@@_lang_switch:nn { } { \@@_add_zh_toc:nn { chapter } { 致谢 } } - \group_begin: - \dim_set:Nn \parindent { 2 \ccwd } - \rmfamily \zihao { -4 } - \dim_set:Nn \baselineskip { 20pt } - \file_if_exist_input:n { \l_@@_ack_tl } - \group_end: + \bool_if:NF \l_@@_rm_ack_bool + { + \@@_n_chapter_head_toc:nn + { \@@_lang_switch:nn { 致谢 } { Acknowledgements } } + { \@@_lang_switch:nn { 致 { \quad } 谢 } { Acknowledgements } } + \@@_lang_switch:nn { } { \@@_add_zh_toc:nn { chapter } { 致谢 } } + \group_begin: + \dim_set:Nn \parindent { 2 \ccwd } + \rmfamily \zihao { -4 } + \dim_set:Nn \baselineskip { 20pt } + \file_if_exist_input:n { \l_@@_ack_tl } + \group_end: + } % \end{macrocode} % \changes{v1.26.0.0}{2022/06/07}{研究生学位论文作者简介} % \changes{v1.28.4.0}{2022/06/18}{移除研究生学位论文目录中作者简介二三级标题} % 作者简介。 % \begin{macrocode} - \@@_n_chapter_head_toc:n - { \@@_lang_switch:nn { 作者简介 } { Author~Biography } } - \@@_lang_switch:nn { } { \@@_add_zh_toc:nn { chapter } { 作者简介 } } - \group_begin: - \dim_set:Nn \parindent { 2 \ccwd } - \rmfamily \zihao { -4 } - \dim_set:Nn \baselineskip { 20pt } + \bool_if:NF \l_@@_rm_bio_bool + { + \@@_n_chapter_head_toc:n + { \@@_lang_switch:nn { 作者简介 } { Author~Biography } } + \@@_lang_switch:nn { } { \@@_add_zh_toc:nn { chapter } { 作者简介 } } + \group_begin: + \dim_set:Nn \parindent { 2 \ccwd } + \rmfamily \zihao { -4 } + \dim_set:Nn \baselineskip { 20pt } % \end{macrocode} % 配置作者简介部分标题样式。 % \begin{macrocode} - \ctexset - { - section / number = { \arabic { section } . }, - section / format = { \rmfamily \zihao { -3 } \bfseries \raggedright }, - subsection / number = { \arabic { section } . \arabic { subsection } }, - subsection / format = { \rmfamily \zihao { 4 } \bfseries \raggedright }, - subsection / indent = { \l_@@_bio_indent_dim } - } - \setcounter { section } { 0 } - \addtocontents { toc } { \setcounter { tocdepth } { 0 } } + \ctexset + { + section / number = { \arabic { section } . }, + section / format = { \rmfamily \zihao { -3 } \bfseries \raggedright }, + subsection / number = { \arabic { section } . \arabic { subsection } }, + subsection / format = { \rmfamily \zihao { 4 } \bfseries \raggedright }, + subsection / indent = { \l_@@_bio_indent_dim } + } + \setcounter { section } { 0 } + \addtocontents { toc } { \setcounter { tocdepth } { 0 } } % \end{macrocode} % 作者简介文件。 % \begin{macrocode} - \file_if_exist_input:n { \l_@@_bio_str } - \group_end: + \file_if_exist_input:n { \l_@@_bio_str } + \group_end: + } } % \end{macrocode} % \end{macro} diff --git a/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty b/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty index 06324233c65..3dbc2a3e0fb 100644 --- a/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty +++ b/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty @@ -28,7 +28,7 @@ \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplPackage{xdufont} - {2022/06/21}{2.0.0.0} + {2022/06/28}{2.10.3.0} {Xidian University Font package} \RequirePackage { xparse, l3keys2e } \PassOptionsToPackage { quiet } { xeCJK } diff --git a/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls b/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls index cf4fbea89c4..bb0a63f820a 100644 --- a/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls +++ b/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls @@ -28,7 +28,7 @@ \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplClass{xdupgthesis} - {2022/06/21}{2.0.0.0} + {2022/06/28}{2.10.3.0} {Xidian University Postgraduate Thesis document class} \RequirePackage { xparse, l3keys2e } \PassOptionsToPackage { quiet } { xeCJK } @@ -527,6 +527,8 @@ \str_new:N \l__xdu_secret_lv_str \str_new:N \l__xdu_secret_year_str \str_new:N \l__xdu_submit_date_str +\str_new:N \l__xdu_statement_scan_str +\clist_new:N \l__xdu_statement_sign_clist \str_new:N \l__xdu_los_str \str_new:N \l__xdu_loa_str \str_new:N \l__xdu_bio_str @@ -554,6 +556,8 @@ { \tl_set_eq:NN \l__xdu_secret_lv_str \l_keys_choice_tl }, secret-year .tl_set:N = \l__xdu_secret_year_str, submit-date .tl_set:N = \l__xdu_submit_date_str, + statement-scan .tl_set:N = \l__xdu_statement_scan_str, + statement-sign .clist_set:N = \l__xdu_statement_sign_clist, los .tl_set:N = \l__xdu_los_str, loa .tl_set:N = \l__xdu_loa_str, bio .tl_set:N = \l__xdu_bio_str @@ -579,6 +583,8 @@ info / secret-level = { 公开 }, info / secret-year = { }, info / submit-date = { }, + info / statement-scan = { }, + info / statement-sign = { }, info / los = { }, info / loa = { }, info / bio = { } @@ -604,6 +610,71 @@ \str_set:Nx \l__xdu_supv_ii_t_en_str { \clist_item:Nn \l__xdu_supv_t_en_clist { 2 } } } +\clist_new:N \l__xdu_rm_page_clist +\bool_new:N \l__xdu_rm_header_bool +\bool_new:N \l__xdu_rm_footer_bool +\keys_define:nn { xdu / style } + { + remove-page .clist_set:N = \l__xdu_rm_page_clist, + remove-header .bool_set:N = \l__xdu_rm_header_bool, + remove-footer .bool_set:N = \l__xdu_rm_footer_bool + } +\keys_set:nn { xdu } + { + style / remove-page = { }, + style / remove-header = { false }, + style / remove-footer = { false } + } +\bool_new:N \l__xdu_rm_cover_bool +\bool_new:N \l__xdu_rm_title_page_bool +\bool_new:N \l__xdu_rm_statement_bool +\bool_new:N \l__xdu_rm_abstract_bool +\bool_new:N \l__xdu_rm_loft_bool +\bool_new:N \l__xdu_rm_losa_bool +\bool_new:N \l__xdu_rm_toc_bool +\bool_new:N \l__xdu_rm_appendix_bool +\bool_new:N \l__xdu_rm_ref_bool +\bool_new:N \l__xdu_rm_ack_bool +\bool_new:N \l__xdu_rm_bio_bool +\ctex_at_end_preamble:n + { + \clist_if_in:NnT \l__xdu_rm_page_clist { 封面 } + { \bool_set_true:N \l__xdu_rm_cover_bool } + \clist_if_in:NnT \l__xdu_rm_page_clist { 提名页 } + { \bool_set_true:N \l__xdu_rm_title_page_bool } + \clist_if_in:NnT \l__xdu_rm_page_clist { 声明页 } + { \bool_set_true:N \l__xdu_rm_statement_bool } + \clist_if_in:NnT \l__xdu_rm_page_clist { 摘要 } + { \bool_set_true:N \l__xdu_rm_abstract_bool } + \clist_if_in:NnT \l__xdu_rm_page_clist { 索引 } + { \bool_set_true:N \l__xdu_rm_loft_bool } + \clist_if_in:NnT \l__xdu_rm_page_clist { 对照表 } + { \bool_set_true:N \l__xdu_rm_losa_bool } + \clist_if_in:NnT \l__xdu_rm_page_clist { 目录 } + { \bool_set_true:N \l__xdu_rm_toc_bool } + \clist_if_in:NnT \l__xdu_rm_page_clist { 附录 } + { \bool_set_true:N \l__xdu_rm_appendix_bool } + \clist_if_in:NnT \l__xdu_rm_page_clist { 参考文献 } + { \bool_set_true:N \l__xdu_rm_ref_bool } + \clist_if_in:NnT \l__xdu_rm_page_clist { 致谢 } + { \bool_set_true:N \l__xdu_rm_ack_bool } + \clist_if_in:NnT \l__xdu_rm_page_clist { 作者简介 } + { \bool_set_true:N \l__xdu_rm_bio_bool } + } +\bool_new:N \l__xdu_anon_bool +\keys_define:nn { xdu / style } + { + anonymous .bool_set:N = \l__xdu_anon_bool + } +\keys_set:nn { xdu } + { + style / anonymous = { false } + } +\NewDocumentCommand \anon { O { XXX } m } + { + \bool_if:NTF \l__xdu_anon_bool + { #1 } { #2 } + } \cs_set:Npn \figurename { \__xdu_lang_switch:nn { 图 } { Figure } } \cs_new_eq:NN \figname \figurename \cs_set:Npn \tablename { \__xdu_lang_switch:nn { 表 } { Table } } @@ -615,6 +686,7 @@ \tl_new:N \l__xdu_ref_add_space \tl_new:N \l__xdu_cap_label_sep_tl \bool_new:N \l__xdu_tab_small_bool +\bool_new:N \l__xdu_alg_small_cap_bool \bool_new:N \l__xdu_alg_small_bool \clist_new:N \l__xdu_before_skip_clist \clist_new:N \l__xdu_after_skip_clist @@ -637,6 +709,7 @@ ref-add-space .bool_set:N = \l__xdu_ref_add_space, caption-label-sep .tl_set:N = \l__xdu_cap_label_sep_tl, table-small-font .bool_set:N = \l__xdu_tab_small_bool, + algorithm-small-caption .bool_set:N = \l__xdu_alg_small_cap_bool, algorithm-small-font .bool_set:N = \l__xdu_alg_small_bool, before-skip .clist_set:N = \l__xdu_before_skip_clist, after-skip .clist_set:N = \l__xdu_after_skip_clist, @@ -651,18 +724,19 @@ } \keys_set:nn { xdu } { - style / en-cjk-font = false, - style / language = zh, - style / bib-backend = biblatex, - style / biblatex-option = { }, - style / ref-add-space = false, - style / caption-label-sep = { 0.75em }, - style / table-small-font = true, - style / algorithm-small-font = true, - style / before-skip = { 24pt, 18pt, 12pt, 12pt, 12pt, 12pt }, - style / after-skip = { 18pt, 12pt, 6pt, 6pt, 6pt, 6pt }, - style / symmetric-margin = false, - style / page-vertical-align = { 顶部对齐 } + style / en-cjk-font = false, + style / language = zh, + style / bib-backend = biblatex, + style / biblatex-option = { }, + style / ref-add-space = false, + style / caption-label-sep = { 0.75em }, + style / table-small-font = true, + style / algorithm-small-caption = true, + style / algorithm-small-font = true, + style / before-skip = { 24pt, 18pt, 12pt, 12pt, 12pt, 12pt }, + style / after-skip = { 18pt, 12pt, 6pt, 6pt, 6pt, 6pt }, + style / symmetric-margin = false, + style / page-vertical-align = { 顶部对齐 } } \bool_new:N \l__xdu_customize_los_bool \bool_new:N \l__xdu_customize_loa_bool @@ -683,8 +757,8 @@ { style / customize-los = { true }, style / customize-loa = { true }, - style / colspec-los = { Q[l,m]X[l,m] }, - style / colspec-loa = { Q[l,m]X[l,m]X[l,m] }, + style / colspec-los = { Q[l,h]X[l,h] }, + style / colspec-loa = { Q[l,h]X[l,h]X[l,h] }, style / title-row-los = { false }, style / title-row-loa = { false } } @@ -890,6 +964,8 @@ outer = 2.5cm } \savegeometry { cover } +\newgeometry { margin = 0cm } +\savegeometry { nomargin } \cs_new:Npn \__xdu_load_main_geometry: { \bool_if:NTF \l__xdu_sym_mgn_bool @@ -925,26 +1001,35 @@ { \pagestyle { fancy } \fancyhf { } - \fancyhead [ CE ] { \__xdu_rm_family: \zihao { 5 } \l__xdu_header_str } - \fancyhead [ CO ] { \__xdu_rm_family: \zihao { 5 } \leftmark } - \fancyfoot [ CE ] { \__xdu_rm_family: \zihao { -5 } \thepage } - \fancyfoot [ CO ] { \__xdu_rm_family: \zihao { -5 } \thepage } + \bool_if:NF \l__xdu_rm_header_bool + { + \fancyhead [ CE ] { \__xdu_rm_family: \zihao { 5 } \l__xdu_header_str } + \fancyhead [ CO ] { \__xdu_rm_family: \zihao { 5 } \leftmark } + } + \bool_if:NTF \l__xdu_rm_footer_bool + { \fancyfoot [ C ] { } } + { \fancyfoot [ C ] { \__xdu_rm_family: \zihao { -5 } \thepage } } \cs_set:Npn \headrulewidth { 0.5pt } - \cs_set:Npn \headrule + \bool_if:NTF \l__xdu_rm_header_bool + { \cs_set:Npn \headrule { } } { - \hrule \@height 0pt - \skip_vertical:N 2pt - \hrule \@height \headrulewidth - \skip_vertical:N \headrulewidth - \hrule \@height \headrulewidth - \skip_vertical:N -\headrulewidth + \cs_set:Npn \headrule + { + \hrule \@height 0pt + \skip_vertical:N 2pt + \hrule \@height \headrulewidth + \skip_vertical:N \headrulewidth + \hrule \@height \headrulewidth + \skip_vertical:N -\headrulewidth + } } } \fancypagestyle { front } { \pagestyle { plain } - \fancyfoot [ CE ] { \rmfamily \zihao { -5 } \thepage } - \fancyfoot [ CO ] { \rmfamily \zihao { -5 } \thepage } + \bool_if:NTF \l__xdu_rm_footer_bool + { \fancyfoot [ C ] { } } + { \fancyfoot [ C ] { \rmfamily \zihao { -5 } \thepage } } } \ctex_at_end_preamble:n { @@ -1115,7 +1200,14 @@ } \RequirePackage { caption } \DeclareCaptionLabelSeparator { customskip } { \hskip \l__xdu_cap_label_sep_tl } -\DeclareCaptionFont { customfont } { \__xdu_rm_family: \zihao { 5 } } +\DeclareCaptionFont { customfont } { \__xdu_rm_family: \zihao { 5 } } +\DeclareCaptionFont { algcustomfont } + { + \__xdu_rm_family: + \bool_if:NTF \l__xdu_alg_small_cap_bool + { \zihao { 5 } } + { \zihao { -4 } } + } \captionsetup { labelsep = customskip, @@ -1124,16 +1216,23 @@ \captionsetup [ algorithm ] { labelsep = customskip, - labelfont = customfont, - font = customfont + labelfont = algcustomfont, + font = algcustomfont } \ctex_at_end_preamble:n { \cs_if_exist:NT \thealgocf { \SetAlgoCaptionSeparator { \hbox_to_wd:nn { \l__xdu_cap_label_sep_tl } { } } - \SetAlCapNameFnt { \__xdu_rm_family: \zihao { 5 } } - \SetAlCapFnt { \__xdu_rm_family: \zihao { 5 } } + \bool_if:NTF \l__xdu_alg_small_cap_bool + { + \SetAlCapNameFnt { \__xdu_rm_family: \zihao { 5 } } + \SetAlCapFnt { \__xdu_rm_family: \zihao { 5 } } + } + { + \SetAlCapNameFnt { \__xdu_rm_family: \zihao { -4 } } + \SetAlCapFnt { \__xdu_rm_family: \zihao { -4 } } + } \SetAlCapSty { } } } @@ -1251,6 +1350,9 @@ { \RequirePackage { gbt7714 } \bibliographystyle { gbt7714-numerical } + \cs_set:Npn \@biblabel #1 { \hfill [ #1 ] } + \cs_set:Npn \bibsection { } + \dim_set:Nn \bibsep { 0pt } \NewDocumentCommand \parencite { m } { \group_begin: \citestyle { numbers } \cite { #1 } \group_end: } } @@ -1258,6 +1360,21 @@ \PassOptionsToPackage { \l__xdu_biblatex_option_tl } { biblatex } \RequirePackage { biblatex } \clist_map_inline:Nn \l__xdu_bib_file_clist { \addbibresource { #1 } } + \defbibheading { bibliography } [ ] { } + \dim_set:Nn \biblabelsep { 1ex } + \dim_set:Nn \bibitemsep { 0pt } + \cs_set_eq:NN \SlashFont \rmfamily + } +\ctex_at_end_preamble:n + { + \bool_if:NT \l__xdu_rm_ref_bool + { \RequirePackage { bibentry } } + } + \cs_set:Npn \bibfont + { + \rmfamily + \zihao { 5 } + \dim_set:Nn \baselineskip { 20pt } } } \RequirePackage { environ } @@ -1275,6 +1392,11 @@ { \cs_set:Npn \thealgocf { \thechapter \arabic { algocf } } } \BODY } +\ctex_at_end_preamble:n + { + \bool_if:NT \l__xdu_rm_appendix_bool + { \RenewEnviron { appendixes } { } } + } \bool_new:N \l__xdu_ac_master \bool_new:N \l__xdu_pro_master \bool_new:N \l__xdu_ac_phd @@ -1709,6 +1831,34 @@ } \cleardoublepage } +\cs_new:Npn \__xdu_statement_scan_sign_uline:n #1 + { + \__xdu_uline:n + { + \vbox_to_ht:nn { 17.5pt } + { + \vfil + \hbox_to_wd:nn { 10em } + { + \hfil + \includegraphics [ width = 10em, height = 25pt, keepaspectratio ] { #1 } + \hfil + } + } + } + } +\cs_new:Npn \__xdu_statement_scan_sign:nnnn #1#2#3#4 + { + \vbox_to_ht:nn { 30pt } + { + \vfil + #1: + \__xdu_statement_scan_sign_uline:n { #2 } + \hfill + #3: + \__xdu_statement_scan_sign_uline:n { #4 } + } + } \cs_new:Npn \__xdu_statement: { \vbox:n { } @@ -1720,7 +1870,7 @@ 西安电子科技大学\\ 学位论文独创性(或创新性)声明 } - \vbox_to_ht:nn { 140pt } + \vbox_to_ht:nn { 120pt } { \rmfamily \zihao { -4 } \dim_set:Nn \parindent { 2em } @@ -1734,15 +1884,27 @@ 学位论文若有不实之处,本人承担一切法律责任。 \vfil } + \clist_if_empty:NT \l__xdu_statement_sign_clist + { \skip_vertical:n { 20pt } } \vbox_to_ht:nn { 175pt } { \rmfamily \zihao { -4 } \dim_set:Nn \parindent { 2em } \dim_set:Nn \baselineskip { 20pt } - 本人签名:\__xdu_uline:n { \skip_horizontal:n { 10em } } - \hfill - 日\qquad{}期:\__xdu_uline:n { \skip_horizontal:n { 10em } } + \clist_if_empty:NTF \l__xdu_statement_sign_clist + { + 本人签名:\__xdu_uline:n { \skip_horizontal:n { 10em } } + \hfill + 日\qquad{}期:\__xdu_uline:n { \skip_horizontal:n { 10em } } + } + { + \__xdu_statement_scan_sign:nnnn + { 本人签名 } { \clist_item:Nn \l__xdu_statement_sign_clist { 1 } } + { 日\qquad{}期 } { \clist_item:Nn \l__xdu_statement_sign_clist { 2 } } + } } + \clist_if_empty:NF \l__xdu_statement_sign_clist + { \skip_vertical:n { 20pt } } \vbox_to_ht:nn { 60pt } { \rmfamily \zihao { 4 } \bfseries \centering @@ -1750,7 +1912,7 @@ 西安电子科技大学\\ 关于论文使用授权的说明 } - \vbox_to_ht:nn { 140pt } + \vbox_to_ht:nn { 120pt } { \rmfamily \zihao { -4 } \dim_set:Nn \parindent { 2em } @@ -1772,18 +1934,32 @@ 年解密后适用本授权书。 \vfil } + \clist_if_empty:NT \l__xdu_statement_sign_clist + { \skip_vertical:n { 20pt } } \vbox:n { \rmfamily \zihao { -4 } \dim_set:Nn \parindent { 2em } \dim_set:Nn \baselineskip { 40pt } - 本人签名:\__xdu_uline:n { \skip_horizontal:n { 10em } } - \hfill - 导师签名:\__xdu_uline:n { \skip_horizontal:n { 10em } } - \par - 日\qquad{}期:\__xdu_uline:n { \skip_horizontal:n { 10em } } - \hfill - 日\qquad{}期:\__xdu_uline:n { \skip_horizontal:n { 10em } } + \clist_if_empty:NTF \l__xdu_statement_sign_clist + { + 本人签名:\__xdu_uline:n { \skip_horizontal:n { 10em } } + \hfill + 导师签名:\__xdu_uline:n { \skip_horizontal:n { 10em } } + \par + 日\qquad{}期:\__xdu_uline:n { \skip_horizontal:n { 10em } } + \hfill + 日\qquad{}期:\__xdu_uline:n { \skip_horizontal:n { 10em } } + } + { + \__xdu_statement_scan_sign:nnnn + { 本人签名 } { \clist_item:Nn \l__xdu_statement_sign_clist { 3 } } + { 导师签名 } { \clist_item:Nn \l__xdu_statement_sign_clist { 5 } } + \par + \__xdu_statement_scan_sign:nnnn + { 日\qquad{}期 } { \clist_item:Nn \l__xdu_statement_sign_clist { 4 } } + { 日\qquad{}期 } { \clist_item:Nn \l__xdu_statement_sign_clist { 6 } } + } } \cleardoublepage } @@ -1920,6 +2096,8 @@ } \cs_generate_variant:Nn \__tblr_parse_colrow_spec:nn { nV } } +\dim_new:N \l__xdu_losa_add_skip_dim +\dim_set:Nn \l__xdu_losa_add_skip_dim { 1.2098pt } \cs_new:Npn \__xdu_symbols_list: { \__xdu_n_chapter_head_toc:n @@ -1945,6 +2123,7 @@ [ evaluate = \fileIfExistInput, expand = \l__xdu_los_head_tl, + entry = none, theme = losloatheme ] } @@ -1952,13 +2131,15 @@ colspec = { \exp_not:V \l__xdu_colspec_los_tl }, \exp_not:n { - rowhead = \int_compare:nNnTF - { \value { rowcount } } > { 1 } - { \l__xdu_los_rowhead_tl } { 0 }, - rows = { font = \rmfamily \zihao { -4 } }, - stretch = 0, - rowsep = { 3pt }, - rows = { ht = 14pt } + rowhead = \int_compare:nNnTF + { \value { rowcount } } > { 1 } + { \l__xdu_los_rowhead_tl } { 0 }, + cells = { + font = \rmfamily \zihao { -4 } + \dim_add:Nn \baselineskip { \l__xdu_losa_add_skip_dim } + }, + abovesep = 0pt, + belowsep = \l__xdu_losa_add_skip_dim } } } @@ -1999,6 +2180,7 @@ [ evaluate = \fileIfExistInput, expand = \l__xdu_loa_head_tl, + entry = none, theme = losloatheme ] } @@ -2006,13 +2188,15 @@ colspec = { \exp_not:V \l__xdu_colspec_loa_tl }, \exp_not:n { - rowhead = \int_compare:nNnTF - { \value { rowcount } } > { 1 } - { \l__xdu_loa_rowhead_tl } { 0 }, - rows = { font = \rmfamily \zihao { -4 } }, - stretch = 0, - rowsep = { 3pt }, - rows = { ht = 14pt } + rowhead = \int_compare:nNnTF + { \value { rowcount } } > { 1 } + { \l__xdu_loa_rowhead_tl } { 0 }, + cells = { + font = \rmfamily \zihao { -4 } + \dim_add:Nn \baselineskip { \l__xdu_losa_add_skip_dim } + }, + abovesep = 0pt, + belowsep = \l__xdu_losa_add_skip_dim } } } @@ -2034,44 +2218,79 @@ \pagestyle { empty } \dim_set:Nn \parindent { 0pt } \dim_set:Nn \baselineskip { 20pt } - \__xdu_add_bookmark:n { \__xdu_lang_switch:nn { 封面 } { Cover } } - \vbox:n { } - \skip_vertical:n { 435pt } - \vbox_to_ht:nn { 120pt } + \bool_if:NF \l__xdu_rm_cover_bool { - \rmfamily \zihao { 2 } \bfseries \centering - \dim_set:Nn \baselineskip { 30pt } - \l__xdu_title_str + \__xdu_add_bookmark:n { \__xdu_lang_switch:nn { 封面 } { Cover } } + \vbox:n { } + \skip_vertical:n { 435pt } + \vbox_to_ht:nn { 120pt } + { + \rmfamily \zihao { 2 } \bfseries \centering + \dim_set:Nn \baselineskip { 30pt } + \l__xdu_title_str + } + \__xdu_cover_author_info: + \cleardoublepage + } + \bool_if:NF \l__xdu_rm_title_page_bool + { + \__xdu_lang_switch:nn + { \__xdu_zh_title_page: \__xdu_en_title_page: } + { \__xdu_en_title_page: \__xdu_zh_title_page: } + } + \bool_if:NF \l__xdu_rm_statement_bool + { + \file_if_exist:nTF { \l__xdu_statement_scan_str } + { + \loadgeometry { nomargin } + \vbox_to_ht:nn { \textheight } + { + \vfil + \centering + \includegraphics + [ width = \textwidth, height = \textheight, keepaspectratio ] + { \l__xdu_statement_scan_str } + \vfil + } + \cleardoublepage + } + { \__xdu_statement: } } - \__xdu_cover_author_info: - \cleardoublepage - \__xdu_lang_switch:nn - { \__xdu_zh_title_page: \__xdu_en_title_page: } - { \__xdu_en_title_page: \__xdu_zh_title_page: } - \__xdu_statement: \__xdu_load_main_geometry: \pagestyle { front } \pagenumbering { Roman } \dim_set:Nn \baselineskip { 20pt } - \__xdu_lang_switch:nn - { \__xdu_zh_abstract_keywords: \__xdu_en_abstract_keywords: } - { \__xdu_en_abstract_keywords: \__xdu_zh_abstract_keywords: } - \__xdu_list_of_figure: - \__xdu_list_of_table: - \__xdu_symbols_list: - \__xdu_abbreviations_list: - \setcounter { tocdepth } { 2 } - \__xdu_n_chapter_head:nn - { \__xdu_lang_switch:nn { 目录 } { Contents } } - { \__xdu_lang_switch:nn { 目 { \quad } 录 } { Contents } } - \@starttoc { toc } - \cleardoublepage - \__xdu_lang_switch:nn { } + \bool_if:NF \l__xdu_rm_abstract_bool + { + \__xdu_lang_switch:nn + { \__xdu_zh_abstract_keywords: \__xdu_en_abstract_keywords: } + { \__xdu_en_abstract_keywords: \__xdu_zh_abstract_keywords: } + } + \bool_if:NF \l__xdu_rm_loft_bool + { + \__xdu_list_of_figure: + \__xdu_list_of_table: + } + \bool_if:NF \l__xdu_rm_losa_bool + { + \__xdu_symbols_list: + \__xdu_abbreviations_list: + } + \bool_if:NF \l__xdu_rm_toc_bool { \setcounter { tocdepth } { 2 } - \__xdu_n_chapter_head:nn { 目录 } { \__xdu_sf_family: 目 { \quad } 录 } - \@starttoc { zh.toc } + \__xdu_n_chapter_head:nn + { \__xdu_lang_switch:nn { 目录 } { Contents } } + { \__xdu_lang_switch:nn { 目 { \quad } 录 } { Contents } } + \@starttoc { toc } \cleardoublepage + \__xdu_lang_switch:nn { } + { + \setcounter { tocdepth } { 2 } + \__xdu_n_chapter_head:nn { 目录 } { \__xdu_sf_family: 目 { \quad } 录 } + \@starttoc { zh.toc } + \cleardoublepage + } } } \renewcommand { \mainmatter } @@ -2104,6 +2323,10 @@ \__xdu_add_zh_toc:nn { subsection } { \numberline { \thesubsection } ##2 } } } + \dim_set:Nn \abovedisplayskip { 12bp } + \dim_set:Nn \belowdisplayskip { 12bp } + \dim_set:Nn \abovedisplayshortskip { 0bp } + \dim_set:Nn \belowdisplayshortskip { 12bp } } \ctex_at_end_preamble:n { @@ -2153,56 +2376,62 @@ \cs_set_eq:NN \section \__xdu_org_section:n \cs_set_eq:NN \subsection \__xdu_org_subsection:n } - \cs_set:Npn \bibname { \__xdu_lang_switch:nn { 参考文献 } { Bibliography } } - \__xdu_n_chapter_head_toc:n { \bibname } - \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 参考文献 } } + \bool_if:NF \l__xdu_rm_ref_bool + { + \cs_set:Npn \bibname { \__xdu_lang_switch:nn { 参考文献 } { Bibliography } } + \__xdu_n_chapter_head_toc:n { \bibname } + \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 参考文献 } } + } \group_begin: \tl_if_eq:NnTF \l__xdu_bib_tool_tl { bibtex } { - \cs_set:Npn \bibsection { } - \rmfamily \zihao { 5 } - \dim_set:Nn \baselineskip { 20pt } - \bibliography { \l__xdu_bib_file_clist } - } - { - \defbibheading { bibliography } [ ] { } - \cs_set:Npn \bibfont + \bool_if:NTF \l__xdu_rm_ref_bool + { \nobibliography { \l__xdu_bib_file_clist } } { - \rmfamily \zihao { 5 } - \dim_set:Nn \baselineskip { 20pt } + \dim_set:Nn \labelsep { 1ex } + \bibliography { \l__xdu_bib_file_clist } } - \printbibliography } - \group_end: - \__xdu_n_chapter_head_toc:nn - { \__xdu_lang_switch:nn { 致谢 } { Acknowledgements } } - { \__xdu_lang_switch:nn { 致 { \quad } 谢 } { Acknowledgements } } - \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 致谢 } } - \group_begin: - \dim_set:Nn \parindent { 2 \ccwd } - \rmfamily \zihao { -4 } - \dim_set:Nn \baselineskip { 20pt } - \file_if_exist_input:n { \l__xdu_ack_tl } - \group_end: - \__xdu_n_chapter_head_toc:n - { \__xdu_lang_switch:nn { 作者简介 } { Author~Biography } } - \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 作者简介 } } - \group_begin: - \dim_set:Nn \parindent { 2 \ccwd } - \rmfamily \zihao { -4 } - \dim_set:Nn \baselineskip { 20pt } - \ctexset { - section / number = { \arabic { section } . }, - section / format = { \rmfamily \zihao { -3 } \bfseries \raggedright }, - subsection / number = { \arabic { section } . \arabic { subsection } }, - subsection / format = { \rmfamily \zihao { 4 } \bfseries \raggedright }, - subsection / indent = { \l__xdu_bio_indent_dim } + \bool_if:NF \l__xdu_rm_ref_bool + { \printbibliography } } - \setcounter { section } { 0 } - \addtocontents { toc } { \setcounter { tocdepth } { 0 } } - \file_if_exist_input:n { \l__xdu_bio_str } \group_end: + \bool_if:NF \l__xdu_rm_ack_bool + { + \__xdu_n_chapter_head_toc:nn + { \__xdu_lang_switch:nn { 致谢 } { Acknowledgements } } + { \__xdu_lang_switch:nn { 致 { \quad } 谢 } { Acknowledgements } } + \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 致谢 } } + \group_begin: + \dim_set:Nn \parindent { 2 \ccwd } + \rmfamily \zihao { -4 } + \dim_set:Nn \baselineskip { 20pt } + \file_if_exist_input:n { \l__xdu_ack_tl } + \group_end: + } + \bool_if:NF \l__xdu_rm_bio_bool + { + \__xdu_n_chapter_head_toc:n + { \__xdu_lang_switch:nn { 作者简介 } { Author~Biography } } + \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 作者简介 } } + \group_begin: + \dim_set:Nn \parindent { 2 \ccwd } + \rmfamily \zihao { -4 } + \dim_set:Nn \baselineskip { 20pt } + \ctexset + { + section / number = { \arabic { section } . }, + section / format = { \rmfamily \zihao { -3 } \bfseries \raggedright }, + subsection / number = { \arabic { section } . \arabic { subsection } }, + subsection / format = { \rmfamily \zihao { 4 } \bfseries \raggedright }, + subsection / indent = { \l__xdu_bio_indent_dim } + } + \setcounter { section } { 0 } + \addtocontents { toc } { \setcounter { tocdepth } { 0 } } + \file_if_exist_input:n { \l__xdu_bio_str } + \group_end: + } } %% %% diff --git a/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls b/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls index f4b9664ab22..37f26c0881e 100644 --- a/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls +++ b/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls @@ -28,7 +28,7 @@ \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplClass{xduugthesis} - {2022/06/21}{2.0.0.0} + {2022/06/28}{2.10.3.0} {Xidian University Undergraduate Thesis document class} \RequirePackage { xparse, l3keys2e } \PassOptionsToPackage { quiet } { xeCJK } @@ -535,6 +535,7 @@ \tl_new:N \l__xdu_ref_add_space \tl_new:N \l__xdu_cap_label_sep_tl \bool_new:N \l__xdu_tab_small_bool +\bool_new:N \l__xdu_alg_small_cap_bool \bool_new:N \l__xdu_alg_small_bool \clist_new:N \l__xdu_before_skip_clist \clist_new:N \l__xdu_after_skip_clist @@ -557,6 +558,7 @@ ref-add-space .bool_set:N = \l__xdu_ref_add_space, caption-label-sep .tl_set:N = \l__xdu_cap_label_sep_tl, table-small-font .bool_set:N = \l__xdu_tab_small_bool, + algorithm-small-caption .bool_set:N = \l__xdu_alg_small_cap_bool, algorithm-small-font .bool_set:N = \l__xdu_alg_small_bool, before-skip .clist_set:N = \l__xdu_before_skip_clist, after-skip .clist_set:N = \l__xdu_after_skip_clist, @@ -571,18 +573,19 @@ } \keys_set:nn { xdu } { - style / en-cjk-font = false, - style / language = zh, - style / bib-backend = biblatex, - style / biblatex-option = { }, - style / ref-add-space = false, - style / caption-label-sep = { 0.75em }, - style / table-small-font = true, - style / algorithm-small-font = true, - style / before-skip = { 24pt, 18pt, 12pt, 12pt, 12pt, 12pt }, - style / after-skip = { 18pt, 12pt, 6pt, 6pt, 6pt, 6pt }, - style / symmetric-margin = false, - style / page-vertical-align = { 顶部对齐 } + style / en-cjk-font = false, + style / language = zh, + style / bib-backend = biblatex, + style / biblatex-option = { }, + style / ref-add-space = false, + style / caption-label-sep = { 0.75em }, + style / table-small-font = true, + style / algorithm-small-caption = true, + style / algorithm-small-font = true, + style / before-skip = { 24pt, 18pt, 12pt, 12pt, 12pt, 12pt }, + style / after-skip = { 18pt, 12pt, 6pt, 6pt, 6pt, 6pt }, + style / symmetric-margin = false, + style / page-vertical-align = { 顶部对齐 } } \NewDocumentCommand \xdusetup { m } { \keys_set:nn { xdu } { #1 } } @@ -999,7 +1002,14 @@ } \RequirePackage { caption } \DeclareCaptionLabelSeparator { customskip } { \hskip \l__xdu_cap_label_sep_tl } -\DeclareCaptionFont { customfont } { \__xdu_rm_family: \zihao { 5 } } +\DeclareCaptionFont { customfont } { \__xdu_rm_family: \zihao { 5 } } +\DeclareCaptionFont { algcustomfont } + { + \__xdu_rm_family: + \bool_if:NTF \l__xdu_alg_small_cap_bool + { \zihao { 5 } } + { \zihao { -4 } } + } \captionsetup { labelsep = customskip, @@ -1008,16 +1018,23 @@ \captionsetup [ algorithm ] { labelsep = customskip, - labelfont = customfont, - font = customfont + labelfont = algcustomfont, + font = algcustomfont } \ctex_at_end_preamble:n { \cs_if_exist:NT \thealgocf { \SetAlgoCaptionSeparator { \hbox_to_wd:nn { \l__xdu_cap_label_sep_tl } { } } - \SetAlCapNameFnt { \__xdu_rm_family: \zihao { 5 } } - \SetAlCapFnt { \__xdu_rm_family: \zihao { 5 } } + \bool_if:NTF \l__xdu_alg_small_cap_bool + { + \SetAlCapNameFnt { \__xdu_rm_family: \zihao { 5 } } + \SetAlCapFnt { \__xdu_rm_family: \zihao { 5 } } + } + { + \SetAlCapNameFnt { \__xdu_rm_family: \zihao { -4 } } + \SetAlCapFnt { \__xdu_rm_family: \zihao { -4 } } + } \SetAlCapSty { } } } @@ -1135,6 +1152,9 @@ { \RequirePackage { gbt7714 } \bibliographystyle { gbt7714-numerical } + \cs_set:Npn \@biblabel #1 { \hfill [ #1 ] } + \cs_set:Npn \bibsection { } + \dim_set:Nn \bibsep { 0pt } \NewDocumentCommand \parencite { m } { \group_begin: \citestyle { numbers } \cite { #1 } \group_end: } } @@ -1142,6 +1162,20 @@ \PassOptionsToPackage { \l__xdu_biblatex_option_tl } { biblatex } \RequirePackage { biblatex } \clist_map_inline:Nn \l__xdu_bib_file_clist { \addbibresource { #1 } } + \defbibheading { bibliography } [ ] { } + \dim_set:Nn \biblabelsep { 1ex } + \dim_set:Nn \bibitemsep { 0pt } + \cs_set_eq:NN \SlashFont \rmfamily + } +\ctex_at_end_preamble:n + { + \bool_if:NT \l__xdu_rm_ref_bool + { \RequirePackage { bibentry } } + } + \cs_set:Npn \bibfont + { + \__xdu_rm_family: + \zihao { 5 } } } \RequirePackage { environ } @@ -1345,15 +1379,10 @@ \group_begin: \tl_if_eq:NnTF \l__xdu_bib_tool_tl { bibtex } { - \cs_set:Npn \bibsection { } - \__xdu_rm_family: \zihao { 5 } + \dim_set:Nn \labelsep { 1ex } \bibliography { \l__xdu_bib_file_clist } } - { - \defbibheading { bibliography } [ ] { } - \cs_set:Npn \bibfont { \__xdu_rm_family: \zihao { 5 } } - \printbibliography - } + { \printbibliography } \group_end: } %% -- cgit v1.2.3