diff options
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xduts/xduts.pdf | bin | 722686 -> 306469 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/xelatex/xduts/xduts.dtx | 232 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xduts/xdufont.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls | 121 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls | 87 |
5 files changed, 365 insertions, 77 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf b/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf Binary files differindex 842d7605035..eb83cd20a4a 100644 --- a/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf +++ b/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf diff --git a/Master/texmf-dist/source/xelatex/xduts/xduts.dtx b/Master/texmf-dist/source/xelatex/xduts/xduts.dtx index 85fb4ca102a..25c448bb668 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/11/27 v2.16.1.3 Xidian University TeX Suite] +[2022/12/01 v2.18.1.1 Xidian University TeX Suite] %</driver> %<class|sty>\NeedsTeXFormat{LaTeX2e} %<class|sty>\RequirePackage{expl3} %<xdufont>\ProvidesExplPackage{xdufont} %<xdupgthesis>\ProvidesExplClass{xdupgthesis} %<xduugthesis>\ProvidesExplClass{xduugthesis} -%<class|sty> {2022/11/27}{2.16.1.3} +%<class|sty> {2022/12/01}{2.18.1.1} %<xdufont> {Xidian University Font package} %<xdupgthesis> {Xidian University Postgraduate Thesis document class} %<xduugthesis> {Xidian University Undergraduate Thesis document class} @@ -142,10 +142,12 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \RenewDocumentCommand{\floatpagefraction}{}{.8} \usepackage[nolinks]{qrcode} \begin{document} +\changes{v2.18.1.1}{2022/12/01}{隐藏源码、版本和索引} +\OnlyDescription \DocInput{\jobname.dtx} -\IndexLayout -\PrintChanges -\PrintIndex +% \IndexLayout +% \PrintChanges +% \PrintIndex \end{document} %</driver> % \fi @@ -273,7 +275,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \changes{v2.12.0.1}{2022/07/01}{研究生学位论文增加文件配置} % 文件配置见\secrefx{文件配置}, % 交叉引用配置见\secrefx{交叉引用配置}, -% Caption配置见\secrefx{Caption配置}, +% caption配置见\secrefx{caption配置}, % 表格配置见\secrefx{表格配置}, % 算法配置见\secrefx{算法配置}, % 对照表配置见\secrefx{对照表配置}, @@ -314,7 +316,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \changes{v2.12.0.1}{2022/07/01}{本科生毕业设计增加文件配置} % 文件配置见\secrefx{文件配置}, % 交叉引用配置见\secrefx{交叉引用配置}, -% Caption配置见\secrefx{Caption配置}, +% caption配置见\secrefx{caption配置}, % 表格配置见\secrefx{表格配置}, % 算法配置见\secrefx{算法配置}, % 章节配置见\secrefx{章节配置}, @@ -667,7 +669,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \item[false] 保持原始\tnx{ref}和\tnx{pageref}命令效果。 % \end{optdesc} % \subsection{Caption配置} -% \label{Caption配置} +% \label{caption配置} % \changes{v1.0.0.0}{2022/04/14}{设置图、表、算法标签与后面标题之间的间距} % \begin{function}[added=2022-04-14]{style/caption-label-sep} % \begin{syntax} @@ -675,6 +677,17 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \end{syntax} % 设置图、表、算法标签与后面标题之间的间距,默认值为\valuex{0.75em}。 % \end{function} +% \changes{v2.17.0.0}{2022/11/28}{设置图、表、算法caption格式} +% \begin{function}[added=2022-11-28]{style/caption-format} +% \begin{syntax} +% \optx{style/caption-format}=\metax{plain|(hang)} +% \end{syntax} +% 设置图、表、算法caption的对齐方式。 +% \begin{optdesc} +% \item[plain] 无缩进。 +% \item[hang] 悬挂缩进。 +% \end{optdesc} +% \end{function} % \begin{function}[added=2022-04-03]{style/fig-label-sep} % 已弃用。 % \end{function} @@ -697,7 +710,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \begin{syntax} % \optx{style/algorithm-small-caption}=\metax{(true)|false} % \end{syntax} -% 设置算法Caption字号是否为五号。 +% 设置算法caption字号是否为五号。 % \end{function} % \begin{optdesc} % \item[true] 五号。 @@ -713,6 +726,16 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \item[true] 五号。 % \item[false] 小四号。 % \end{optdesc} +% \begin{function}[added=2022-11-29]{style/algorithm-caption-align} +% \begin{syntax} +% \optx{style/algorithm-caption-align}=\metax{(left)|centering} +% \end{syntax} +% 设置算法caption对齐方式。 +% \end{function} +% \begin{optdesc} +% \item[left] 左对齐。 +% \item[centering] 居中,此时\optx{style/caption-format}中的设置对算法caption无效。 +% \end{optdesc} % \subsection{章节配置} % \label{章节配置} % \begin{function}[added=2022-04-05]{style/before-skip} @@ -905,6 +928,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \end{function} % \subsection{信息录入} % \label{信息录入} +% \changes{v2.18.1.0}{2022/12/01}{增加专业博士校外导师和英文学位类别信息录入} % \changes{v2.16.1.1}{2022/11/27}{修改信息录入选项分类表文档样式} % \changes{v1.9.0.0}{2022/05/03}{增加信息录入选项分类表} % \changes{v1.10.3.1}{2022/05/04}{移除专业博士校外导师信息录入} @@ -934,7 +958,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % graduate-type & & & \cmark & \cmark & \cmark & \cmark \\ % degree-type & & & \cmark & \cmark & \cmark & \cmark \\ % degree & & & \cmark & \cmark & \cmark & \cmark \\ -% degree* & & & & \cmark & & \\ +% degree* & & & & \cmark & & \cmark \\ % title & \cmark & \cmark & \cmark & \cmark & \cmark & \cmark \\ % title* & & & \cmark & \cmark & \cmark & \cmark \\ % department & \cmark & \cmark & \cmark & \cmark & \cmark & \cmark \\ @@ -947,13 +971,13 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % supervisor & \cmark & & \cmark & \cmark & \cmark & \cmark \\ % supervisor* & & & \cmark & \cmark & \cmark & \cmark \\ % supervisor-department & \cmark & & & & & \\ -% supervisor-enterprise & & \cmark & & \cmark & & \\ -% supervisor-enterprise* & & & & \cmark & & \\ +% supervisor-enterprise & & \cmark & & \cmark & & \cmark \\ +% supervisor-enterprise* & & & & \cmark & & \cmark \\ % supervisor-school & & \cmark & & & & \\ % supervisor-title & & & \cmark & \cmark & \cmark & \cmark \\ % supervisor-title* & & & \cmark & \cmark & \cmark & \cmark \\ -% supervisor-enterprise-title & & & & \cmark & & \\ -% supervisor-enterprise-title* & & & & \cmark & & \\ +% supervisor-enterprise-title & & & & \cmark & & \cmark \\ +% supervisor-enterprise-title* & & & & \cmark & & \cmark \\ % class-id & \cmark & \cmark & & & & \\ % student-id & \cmark & \cmark & \cmark & \cmark & \cmark & \cmark \\ % clc & & & \cmark & \cmark & \cmark & \cmark \\ @@ -1186,17 +1210,19 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \end{syntax} % 设置作者简介文件路径,文件内容可参考\secrefx{作者简介配置}中的示例。 % \end{function} +% \changes{v2.18.1.0}{2022/12/01}{增加专业博士信息录入推荐值来源} % \changes{v2.12.2.1}{2022/11/20}{调整研究生信息推荐值展示样式} % \changes{v1.26.11.2}{2022/06/18}{研究生信息推荐值} % \subsubsection{研究生信息推荐值} % \label{研究生信息推荐值} % 以下研究生信息推荐值均来自 -% 《西安电子科技大学研究生学位论文模板(2015年修订版)-2019.03修订》 -% 和《西安电子科技大学专业学位硕士学位论文封面及中英文题名页模板(2015年版)-2019.03修订》, +% 《西安电子科技大学研究生学位论文模板(2015年修订版)-2019.03修订》、 +% 《西安电子科技大学专业学位硕士学位论文封面及中英文题名页模板(2015年版)-2019.03修订》和 +% 《西安电子科技大学专业学位博士学位论文封面及中英文题名页模板-2019.03》, % 无任何修改,仅供参考。 % \setlength\parindent{0pt} % \begin{itemize} -% \item \optx{degree} (非专业硕士) +% \item \optx{degree} (学术硕士、学术博士) % \par % 工学硕士, % 工学博士, @@ -1219,7 +1245,10 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % 工程硕士, % 工商管理硕士, % 公共管理硕士 -% \item \optx{degree*} +% \item \optx{degree} (专业博士) +% \par +% 工程博士 +% \item \optx{degree*} (专业硕士) % \par % Finance, % Applied Statistics, @@ -1227,6 +1256,9 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % Engineering, % Business Administration, % Public Administration +% \item \optx{degree*} (专业博士) +% \par +% Engineering % \item \optx{department} % \par % 通信工程学院, @@ -1398,7 +1430,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % 空间科学仪器与电磁实验技术, % 飞行器测控与导航制导, % 智能检测与新型传感器 -% \item \optx{domain} +% \item \optx{domain} (专业硕士) % \par % 金融, % 应用统计, @@ -1418,6 +1450,10 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % 物流工程, % 工商管理, % 公共管理 +% \item \optx{domain} (专业博士) +% \par +% 电子与信息, +% 先进制造 % \item \optx{supervisor-title} % \par % 教授, @@ -1578,6 +1614,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \end{figure} % \clearpage % \end{documentation} +% \StopEventually{} % \begin{implementation} % \addtocontents{toc}{\protect\value{tocdepth}=5} % \section{代码实现} @@ -3182,9 +3219,11 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \l_@@_fix_graphics_bool, % \l_@@_ref_add_space_bool, % \l_@@_cap_label_sep_tl, +% \l_@@_cap_format_tl, % \l_@@_tab_small_bool, % \l_@@_alg_small_cap_bool, % \l_@@_alg_small_bool, +% \l_@@_alg_capt_align_tl, % \l_@@_before_skip_clist, % \l_@@_after_skip_clist, % \l_@@_chap_tl, @@ -3231,6 +3270,10 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \begin{macrocode} \tl_new:N \l_@@_cap_label_sep_tl % \end{macrocode} +% 图、表、算法caption格式。 +% \begin{macrocode} +\tl_new:N \l_@@_cap_format_tl +% \end{macrocode} % 设置表格字号是否为五号。 % \begin{macrocode} \bool_new:N \l_@@_tab_small_bool @@ -3243,6 +3286,10 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \begin{macrocode} \bool_new:N \l_@@_alg_small_bool % \end{macrocode} +% 设置算法caption对齐方式。 +% \begin{macrocode} +\tl_new:N \l_@@_alg_capt_align_tl +% \end{macrocode} % 设置章节标题前后的垂直间距。 % \begin{macrocode} \clist_new:N \l_@@_before_skip_clist @@ -3308,6 +3355,11 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \begin{macrocode} caption-label-sep .tl_set:N = \l_@@_cap_label_sep_tl, % \end{macrocode} +% 图、表、算法caption格式。 +% \begin{macrocode} + caption-format .choices:nn = { plain, hang } + { \tl_set_eq:NN \l_@@_cap_format_tl \l_keys_choice_tl }, +% \end{macrocode} % 设置表格字号是否为五号。 % \begin{macrocode} table-small-font .bool_set:N = \l_@@_tab_small_bool, @@ -3320,6 +3372,11 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \begin{macrocode} algorithm-small-font .bool_set:N = \l_@@_alg_small_bool, % \end{macrocode} +% 设置算法caption对齐方式。 +% \begin{macrocode} + algorithm-caption-align .choices:nn = { left, centering } + { \tl_set_eq:NN \l_@@_alg_capt_align_tl \l_keys_choice_tl }, +% \end{macrocode} % 设置章节标题前的垂直间距。 % \begin{macrocode} before-skip .clist_set:N = \l_@@_before_skip_clist, @@ -3362,6 +3419,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} style / fix-includegraphics = false, style / ref-add-space = false, style / caption-label-sep = { 0.75em }, + style / caption-format = { hang }, style / table-small-font = true, style / algorithm-small-caption = true, style / algorithm-small-font = true, @@ -4704,6 +4762,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \end{macro} % \subsection{Caption} % \begin{macro}{\DeclareCaptionLabelSeparator,\DeclareCaptionFont,\captionsetup} +% \changes{v2.17.0.0}{2022/11/28}{设置图、表caption格式} % \changes{v0.1.2.0}{2022/04/03}{设置图片标签与后面标题之间的间距} % \changes{v0.1.3.0}{2022/04/03}{设置图片标签与标题字体字号} % \changes{v2.10.1.0}{2022/06/26}{修复算法标签与标题字体字号警告} @@ -4724,9 +4783,16 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} labelsep = customskip, font = customfont } +\ctex_at_end_preamble:n + { + \tl_if_eq:NnTF \l_@@_cap_format_tl { hang } + { \captionsetup { format = hang } } { } + } % \end{macrocode} % \end{macro} % \begin{macro}{\captionsetup} +% \changes{v2.18.0.0}{2022/11/28}{设置算法caption对齐方式} +% \changes{v2.17.0.0}{2022/11/28}{设置算法caption格式} % \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字号是否为五号} @@ -4738,9 +4804,20 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} labelfont = algcustomfont, font = algcustomfont } +\ctex_at_end_preamble:n + { + \tl_if_eq:NnTF \l_@@_alg_capt_align_tl { left } + { + \tl_if_eq:NnTF \l_@@_cap_format_tl { hang } + { \captionsetup [ algorithm ] { format = hang } } { } + } + { \captionsetup [ algorithm ] { justification = centering } } + } % \end{macrocode} % \end{macro} % \begin{macro}{\SetAlgoCaptionSeparator,\SetAlCapNameFnt,\SetAlCapFnt} +% \changes{v2.18.0.0}{2022/11/29}{设置\pkgx{algorithm2e}算法caption对齐方式} +% \changes{v2.17.0.0}{2022/11/28}{设置\pkgx{algorithm2e}算法caption格式} % \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字号是否为五号} @@ -4760,12 +4837,59 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \SetAlCapNameFnt { \@@_rm_family: \zihao { -4 } } \SetAlCapFnt { \@@_rm_family: \zihao { -4 } } } - \SetAlCapSty { } + \SetAlCapSty { } +% \end{macrocode} +% 设置\pkgx{algorithm2e}算法caption格式及对齐方式。 +% \begin{macrocode} + \tl_if_eq:NnTF \l_@@_alg_capt_align_tl { left } + { + \box_new:N \l_@@_algtwoe_capt_box + \RenewDocumentCommand { \algocf@makecaption } { mm } + { + \hbox_set:Nn \l_@@_algtwoe_capt_box + { \AlCapFnt #1 \algocf@capseparator \AlCapNameFnt #2 } + \dim_compare:nNnTF { \box_wd:N \l_@@_algtwoe_capt_box } > { \hsize } + { + \tl_if_eq:NnTF \l_@@_cap_format_tl { hang } + { + \makebox { \AlCapFnt #1 \algocf@capseparator } + \makebox { \parbox [ t ] { \hsize } { \AlCapNameFnt #2 } } + } + { + \parbox { \columnwidth } + { \AlCapFnt #1 \algocf@capseparator \AlCapNameFnt #2} + } + } + { \makebox [ \columnwidth ] { \box_use:N \l_@@_algtwoe_capt_box } } + } + } + { + \RenewDocumentCommand { \algocf@makecaption } { mm } + { + \parbox { \columnwidth } + { \centering \AlCapFnt #1 \algocf@capseparator \AlCapNameFnt #2 } + } + } + \RenewDocumentCommand { \algocf@makecaption@ruled } { mm } + { \global \sbox \algocf@capbox { \algocf@makecaption { #1 } { #2 } } } + \RenewDocumentCommand { \algocf@makecaption@boxed } { mm } + { \global \sbox \algocf@capbox { \algocf@makecaption { #1 } { #2 } } } } } % \end{macrocode} % \end{macro} +% \begin{macro}{\@@_tblr_caption_box:n} +% \changes{v2.16.2.0}{2022/11/27}{\envx{longtblr}环境整页宽的caption盒子} +% \pkgx{tabularray}中\envx{longtblr}环境整页宽的caption盒子。 +% \begin{macrocode} +\cs_new:Npn \@@_tblr_caption_box:n #1 + { \makebox [ \tablewidth ] { \parbox { \columnwidth } { #1 } } } +% \end{macrocode} +% \end{macro} % \begin{macro}{\SetTblrStyle,\DefTblrTemplate} +% \changes{v2.17.0.0}{2022/11/28}{设置\pkgx{tabularray}中\envx{longtblr}环境caption格式} +% \changes{v2.16.3.0}{2022/11/27}{适配不同语言下的\envx{longtblr}环境中标题和尾部的续表文本} +% \changes{v2.16.2.0}{2022/11/27}{修正\envx{longtblr}环境caption宽度} % \changes{v1.11.0.0}{2022/05/06}{适配\pkgx{tabularray}宏包caption样式} % 设置\pkgx{tabularray}宏包中表格标签与后面标题之间的间距及caption字体字号。 % \begin{macrocode} @@ -4776,6 +4900,33 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \SetTblrStyle { head } { font = \@@_rm_family: \zihao { 5 } } \DefTblrTemplate { caption-sep } { default } { \hskip \l_@@_cap_label_sep_tl } + \tl_if_eq:NnTF \l_@@_cap_format_tl { hang } + { + \DefTblrTemplate { firsthead } { default } + { \@@_tblr_caption_box:n { \UseTblrTemplate { caption } { default } } } + \DefTblrTemplate { middlehead, lasthead } { default } + { \@@_tblr_caption_box:n { \UseTblrTemplate { capcont } { default } } } + } + { + \DefTblrTemplate { firsthead } { default } + { \@@_tblr_caption_box:n { \UseTblrTemplate { caption } { plain } } } + \DefTblrTemplate { middlehead, lasthead } { default } + { \@@_tblr_caption_box:n { \UseTblrTemplate { capcont } { plain } } } + } + \DefTblrTemplate { firstfoot, middlefoot } { default } + { \@@_tblr_caption_box:n { \UseTblrTemplate { contfoot } { default } } } + \DefTblrTemplate { lastfoot } { default } + { + \@@_tblr_caption_box:n + { + \UseTblrTemplate { note } { default } + \UseTblrTemplate { remark } { default } + } + } + \DefTblrTemplate { conthead-text } { default } + { \@@_lang_switch:nn { (续表) } { (Continued) } } + \DefTblrTemplate { contfoot-text } { default } + { \@@_lang_switch:nn { 接下页 } { Continued~on~next~page } } } { } } @@ -5334,24 +5485,17 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \paragraph{封面} % \begin{variable} % { -% \l_@@_ac_master, -% \l_@@_pro_master, -% \l_@@_ac_phd, -% \l_@@_pro_phd, % \l_@@_phd, % \l_@@_master, % \l_@@_ac, % \l_@@_pro % } +% \changes{v2.18.1.0}{2022/12/01}{移除部分研究生类型布尔变量} % \changes{v1.16.0.0}{2022/05/22}{研究生类别} % \changes{v1.17.0.0}{2022/05/28}{增加学术和专业研究生布尔变量} % \changes{v1.18.0.0}{2022/05/29}{增加硕士和博士研究生布尔变量} % 研究生类别。 % \begin{macrocode} -\bool_new:N \l_@@_ac_master -\bool_new:N \l_@@_pro_master -\bool_new:N \l_@@_ac_phd -\bool_new:N \l_@@_pro_phd \bool_new:N \l_@@_phd \bool_new:N \l_@@_master \bool_new:N \l_@@_ac @@ -5359,18 +5503,8 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \ctex_at_end_preamble:n { \tl_if_eq:NnTF \l_@@_gr_type_tl { 硕士 } - { - \bool_set_true:N \l_@@_master - \tl_if_eq:NnTF \l_@@_degree_type_tl { 学术 } - { \bool_set_true:N \l_@@_ac_master } - { \bool_set_true:N \l_@@_pro_master } - } - { - \bool_set_true:N \l_@@_phd - \tl_if_eq:NnTF \l_@@_degree_type_tl { 学术 } - { \bool_set_true:N \l_@@_ac_phd } - { \bool_set_true:N \l_@@_pro_phd } - } + { \bool_set_true:N \l_@@_master } + { \bool_set_true:N \l_@@_phd } \tl_if_eq:NnTF \l_@@_degree_type_tl { 学术 } { \bool_set_true:N \l_@@_ac } { \bool_set_true:N \l_@@_pro } @@ -5556,6 +5690,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \end{macrocode} % \end{macro} % \begin{macro}{\@@_cover_author_info:} +% \changes{v2.18.1.0}{2022/12/01}{修正专业博士封面和提名页信息} % \changes{v1.26.4.0}{2022/06/10}{研究生封面底部作者信息} % 研究生封面底部作者信息。 % \begin{macrocode} @@ -5568,7 +5703,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \dim_new:N \l_@@_cover_author_info_dim \dim_set:Nn \l_@@_cover_author_info_dim { 7em } \@@_str_max_dim:Nn \l_@@_cover_author_info_dim { \l_@@_author_str } - \bool_if:NTF \l_@@_pro_master + \bool_if:NTF \l_@@_pro { \@@_str_max_dim:Nn \l_@@_cover_author_info_dim { \l_@@_supv_str \enskip \l_@@_supv_t_str } @@ -5597,7 +5732,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \@@_cover_ii:nnnn { 4em } { 作者姓名 } { \l_@@_cover_author_info_dim } { \l_@@_author_str } - \bool_if:NTF \l_@@_pro_master + \bool_if:NTF \l_@@_pro { \@@_cover_ii:nnnn { 9em } { 学校导师姓名、职称 } { \l_@@_cover_author_info_dim } @@ -5657,7 +5792,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} } \@@_str_max_dim:Nn \l_@@_zh_title_page_info_dim { 学位类别:\l_@@_degree_str } - \bool_if:NTF \l_@@_pro_master + \bool_if:NTF \l_@@_pro { \@@_str_max_dim:Nn \l_@@_zh_title_page_info_dim { 学校导师姓名、职称:\l_@@_supv_str \enskip \l_@@_supv_t_str } @@ -5709,7 +5844,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} } \par { \bfseries 学位类别: } \l_@@_degree_str - \bool_if:NTF \l_@@_pro_master + \bool_if:NTF \l_@@_pro { \par { \bfseries 学校导师姓名、职称: } @@ -5818,7 +5953,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \dim_set:Nn \l_@@_supv_max_dim { \dim_max:nn { \l_@@_supv_dim } { \l_@@_supv_max_dim } } } - \bool_if:NT \l_@@_pro_master + \bool_if:NT \l_@@_pro { \hbox_set:Nn \l_@@_supv_box { \l_@@_supv_ent_en_str } \dim_set:Nn \l_@@_supv_dim { \box_wd:N \l_@@_supv_box } @@ -5851,7 +5986,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \dim_set:Nn \l_@@_supv_t_max_dim { \dim_max:nn { \l_@@_supv_t_dim } { \l_@@_supv_t_max_dim } } } - \bool_if:NT \l_@@_pro_master + \bool_if:NT \l_@@_pro { \hbox_set:Nn \l_@@_supv_t_box { \l_@@_supv_ent_t_en_str } \dim_set:Nn \l_@@_supv_t_dim { \box_wd:N \l_@@_supv_t_box } @@ -5891,7 +6026,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} for~the~degree~of \bool_if:NTF \l_@@_master { ~Master\\ } { ~Doctor~of~Philosophy\\ } in - \bool_if:NTF \l_@@_pro_master + \bool_if:NTF \l_@@_pro { ~\l_@@_degree_en_str\\ } { ~\l_@@_major_en_str\\ } } @@ -5911,7 +6046,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \phantom { Supervisor:~ } \@@_en_title_supv:n { \l_@@_supv_ii_en_str } \phantom { Title:~ } \@@_en_title_supv_t:n { \l_@@_supv_ii_t_en_str } \\ } - \bool_if:NT \l_@@_pro_master + \bool_if:NT \l_@@_pro { Supervisor:~ \@@_en_title_supv:n { \l_@@_supv_ent_en_str } Title:~ \@@_en_title_supv_t:n { \l_@@_supv_ent_t_en_str } \\ @@ -6881,3 +7016,4 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} %<@@=> % \end{macrocode} % \end{implementation} +% \Finale diff --git a/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty b/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty index 4233f10dfc5..3d5fb585d62 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/11/27}{2.16.1.3} + {2022/12/01}{2.18.1.1} {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 c6f32e9f0f2..bc23e6e99c2 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/11/27}{2.16.1.3} + {2022/12/01}{2.18.1.1} {Xidian University Postgraduate Thesis document class} \RequirePackage { xparse, l3keys2e } \PassOptionsToPackage { quiet } { xeCJK } @@ -697,9 +697,11 @@ \bool_new:N \l__xdu_fix_graphics_bool \tl_new:N \l__xdu_ref_add_space_bool \tl_new:N \l__xdu_cap_label_sep_tl +\tl_new:N \l__xdu_cap_format_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 +\tl_new:N \l__xdu_alg_capt_align_tl \clist_new:N \l__xdu_before_skip_clist \clist_new:N \l__xdu_after_skip_clist \tl_new:N \l__xdu_chap_tl @@ -724,9 +726,13 @@ fix-includegraphics .bool_set:N = \l__xdu_fix_graphics_bool, ref-add-space .bool_set:N = \l__xdu_ref_add_space_bool, caption-label-sep .tl_set:N = \l__xdu_cap_label_sep_tl, + caption-format .choices:nn = { plain, hang } + { \tl_set_eq:NN \l__xdu_cap_format_tl \l_keys_choice_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, + algorithm-caption-align .choices:nn = { left, centering } + { \tl_set_eq:NN \l__xdu_alg_capt_align_tl \l_keys_choice_tl }, before-skip .clist_set:N = \l__xdu_before_skip_clist, after-skip .clist_set:N = \l__xdu_after_skip_clist, chap-zihao .tl_set:N = \l__xdu_chap_tl, @@ -750,6 +756,7 @@ style / fix-includegraphics = false, style / ref-add-space = false, style / caption-label-sep = { 0.75em }, + style / caption-format = { hang }, style / table-small-font = true, style / algorithm-small-caption = true, style / algorithm-small-font = true, @@ -1265,6 +1272,11 @@ labelsep = customskip, font = customfont } +\ctex_at_end_preamble:n + { + \tl_if_eq:NnTF \l__xdu_cap_format_tl { hang } + { \captionsetup { format = hang } } { } + } \captionsetup [ algorithm ] { labelsep = customskip, @@ -1273,6 +1285,15 @@ } \ctex_at_end_preamble:n { + \tl_if_eq:NnTF \l__xdu_alg_capt_align_tl { left } + { + \tl_if_eq:NnTF \l__xdu_cap_format_tl { hang } + { \captionsetup [ algorithm ] { format = hang } } { } + } + { \captionsetup [ algorithm ] { justification = centering } } + } +\ctex_at_end_preamble:n + { \cs_if_exist:NT \thealgocf { \SetAlgoCaptionSeparator { \hbox_to_wd:nn { \l__xdu_cap_label_sep_tl } { } } @@ -1285,9 +1306,44 @@ \SetAlCapNameFnt { \__xdu_rm_family: \zihao { -4 } } \SetAlCapFnt { \__xdu_rm_family: \zihao { -4 } } } - \SetAlCapSty { } + \SetAlCapSty { } + \tl_if_eq:NnTF \l__xdu_alg_capt_align_tl { left } + { + \box_new:N \l__xdu_algtwoe_capt_box + \RenewDocumentCommand { \algocf@makecaption } { mm } + { + \hbox_set:Nn \l__xdu_algtwoe_capt_box + { \AlCapFnt #1 \algocf@capseparator \AlCapNameFnt #2 } + \dim_compare:nNnTF { \box_wd:N \l__xdu_algtwoe_capt_box } > { \hsize } + { + \tl_if_eq:NnTF \l__xdu_cap_format_tl { hang } + { + \makebox { \AlCapFnt #1 \algocf@capseparator } + \makebox { \parbox [ t ] { \hsize } { \AlCapNameFnt #2 } } + } + { + \parbox { \columnwidth } + { \AlCapFnt #1 \algocf@capseparator \AlCapNameFnt #2} + } + } + { \makebox [ \columnwidth ] { \box_use:N \l__xdu_algtwoe_capt_box } } + } + } + { + \RenewDocumentCommand { \algocf@makecaption } { mm } + { + \parbox { \columnwidth } + { \centering \AlCapFnt #1 \algocf@capseparator \AlCapNameFnt #2 } + } + } + \RenewDocumentCommand { \algocf@makecaption@ruled } { mm } + { \global \sbox \algocf@capbox { \algocf@makecaption { #1 } { #2 } } } + \RenewDocumentCommand { \algocf@makecaption@boxed } { mm } + { \global \sbox \algocf@capbox { \algocf@makecaption { #1 } { #2 } } } } } +\cs_new:Npn \__xdu_tblr_caption_box:n #1 + { \makebox [ \tablewidth ] { \parbox { \columnwidth } { #1 } } } \ctex_at_end_preamble:n { \@ifpackageloaded { tabularray } @@ -1295,6 +1351,33 @@ \SetTblrStyle { head } { font = \__xdu_rm_family: \zihao { 5 } } \DefTblrTemplate { caption-sep } { default } { \hskip \l__xdu_cap_label_sep_tl } + \tl_if_eq:NnTF \l__xdu_cap_format_tl { hang } + { + \DefTblrTemplate { firsthead } { default } + { \__xdu_tblr_caption_box:n { \UseTblrTemplate { caption } { default } } } + \DefTblrTemplate { middlehead, lasthead } { default } + { \__xdu_tblr_caption_box:n { \UseTblrTemplate { capcont } { default } } } + } + { + \DefTblrTemplate { firsthead } { default } + { \__xdu_tblr_caption_box:n { \UseTblrTemplate { caption } { plain } } } + \DefTblrTemplate { middlehead, lasthead } { default } + { \__xdu_tblr_caption_box:n { \UseTblrTemplate { capcont } { plain } } } + } + \DefTblrTemplate { firstfoot, middlefoot } { default } + { \__xdu_tblr_caption_box:n { \UseTblrTemplate { contfoot } { default } } } + \DefTblrTemplate { lastfoot } { default } + { + \__xdu_tblr_caption_box:n + { + \UseTblrTemplate { note } { default } + \UseTblrTemplate { remark } { default } + } + } + \DefTblrTemplate { conthead-text } { default } + { \__xdu_lang_switch:nn { (续表) } { (Continued) } } + \DefTblrTemplate { contfoot-text } { default } + { \__xdu_lang_switch:nn { 接下页 } { Continued~on~next~page } } } { } } @@ -1449,10 +1532,6 @@ \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 -\bool_new:N \l__xdu_pro_phd \bool_new:N \l__xdu_phd \bool_new:N \l__xdu_master \bool_new:N \l__xdu_ac @@ -1460,18 +1539,8 @@ \ctex_at_end_preamble:n { \tl_if_eq:NnTF \l__xdu_gr_type_tl { 硕士 } - { - \bool_set_true:N \l__xdu_master - \tl_if_eq:NnTF \l__xdu_degree_type_tl { 学术 } - { \bool_set_true:N \l__xdu_ac_master } - { \bool_set_true:N \l__xdu_pro_master } - } - { - \bool_set_true:N \l__xdu_phd - \tl_if_eq:NnTF \l__xdu_degree_type_tl { 学术 } - { \bool_set_true:N \l__xdu_ac_phd } - { \bool_set_true:N \l__xdu_pro_phd } - } + { \bool_set_true:N \l__xdu_master } + { \bool_set_true:N \l__xdu_phd } \tl_if_eq:NnTF \l__xdu_degree_type_tl { 学术 } { \bool_set_true:N \l__xdu_ac } { \bool_set_true:N \l__xdu_pro } @@ -1590,7 +1659,7 @@ \dim_new:N \l__xdu_cover_author_info_dim \dim_set:Nn \l__xdu_cover_author_info_dim { 7em } \__xdu_str_max_dim:Nn \l__xdu_cover_author_info_dim { \l__xdu_author_str } - \bool_if:NTF \l__xdu_pro_master + \bool_if:NTF \l__xdu_pro { \__xdu_str_max_dim:Nn \l__xdu_cover_author_info_dim { \l__xdu_supv_str \enskip \l__xdu_supv_t_str } @@ -1616,7 +1685,7 @@ \__xdu_cover_ii:nnnn { 4em } { 作者姓名 } { \l__xdu_cover_author_info_dim } { \l__xdu_author_str } - \bool_if:NTF \l__xdu_pro_master + \bool_if:NTF \l__xdu_pro { \__xdu_cover_ii:nnnn { 9em } { 学校导师姓名、职称 } { \l__xdu_cover_author_info_dim } @@ -1665,7 +1734,7 @@ } \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim { 学位类别:\l__xdu_degree_str } - \bool_if:NTF \l__xdu_pro_master + \bool_if:NTF \l__xdu_pro { \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim { 学校导师姓名、职称:\l__xdu_supv_str \enskip \l__xdu_supv_t_str } @@ -1712,7 +1781,7 @@ } \par { \bfseries 学位类别: } \l__xdu_degree_str - \bool_if:NTF \l__xdu_pro_master + \bool_if:NTF \l__xdu_pro { \par { \bfseries 学校导师姓名、职称: } @@ -1795,7 +1864,7 @@ \dim_set:Nn \l__xdu_supv_max_dim { \dim_max:nn { \l__xdu_supv_dim } { \l__xdu_supv_max_dim } } } - \bool_if:NT \l__xdu_pro_master + \bool_if:NT \l__xdu_pro { \hbox_set:Nn \l__xdu_supv_box { \l__xdu_supv_ent_en_str } \dim_set:Nn \l__xdu_supv_dim { \box_wd:N \l__xdu_supv_box } @@ -1822,7 +1891,7 @@ \dim_set:Nn \l__xdu_supv_t_max_dim { \dim_max:nn { \l__xdu_supv_t_dim } { \l__xdu_supv_t_max_dim } } } - \bool_if:NT \l__xdu_pro_master + \bool_if:NT \l__xdu_pro { \hbox_set:Nn \l__xdu_supv_t_box { \l__xdu_supv_ent_t_en_str } \dim_set:Nn \l__xdu_supv_t_dim { \box_wd:N \l__xdu_supv_t_box } @@ -1854,7 +1923,7 @@ for~the~degree~of \bool_if:NTF \l__xdu_master { ~Master\\ } { ~Doctor~of~Philosophy\\ } in - \bool_if:NTF \l__xdu_pro_master + \bool_if:NTF \l__xdu_pro { ~\l__xdu_degree_en_str\\ } { ~\l__xdu_major_en_str\\ } } @@ -1874,7 +1943,7 @@ \phantom { Supervisor:~ } \__xdu_en_title_supv:n { \l__xdu_supv_ii_en_str } \phantom { Title:~ } \__xdu_en_title_supv_t:n { \l__xdu_supv_ii_t_en_str } \\ } - \bool_if:NT \l__xdu_pro_master + \bool_if:NT \l__xdu_pro { Supervisor:~ \__xdu_en_title_supv:n { \l__xdu_supv_ent_en_str } Title:~ \__xdu_en_title_supv_t:n { \l__xdu_supv_ent_t_en_str } \\ diff --git a/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls b/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls index f4b4c5fbca0..26afb1b1b6d 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/11/27}{2.16.1.3} + {2022/12/01}{2.18.1.1} {Xidian University Undergraduate Thesis document class} \RequirePackage { xparse, l3keys2e } \PassOptionsToPackage { quiet } { xeCJK } @@ -530,9 +530,11 @@ \bool_new:N \l__xdu_fix_graphics_bool \tl_new:N \l__xdu_ref_add_space_bool \tl_new:N \l__xdu_cap_label_sep_tl +\tl_new:N \l__xdu_cap_format_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 +\tl_new:N \l__xdu_alg_capt_align_tl \clist_new:N \l__xdu_before_skip_clist \clist_new:N \l__xdu_after_skip_clist \tl_new:N \l__xdu_chap_tl @@ -557,9 +559,13 @@ fix-includegraphics .bool_set:N = \l__xdu_fix_graphics_bool, ref-add-space .bool_set:N = \l__xdu_ref_add_space_bool, caption-label-sep .tl_set:N = \l__xdu_cap_label_sep_tl, + caption-format .choices:nn = { plain, hang } + { \tl_set_eq:NN \l__xdu_cap_format_tl \l_keys_choice_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, + algorithm-caption-align .choices:nn = { left, centering } + { \tl_set_eq:NN \l__xdu_alg_capt_align_tl \l_keys_choice_tl }, before-skip .clist_set:N = \l__xdu_before_skip_clist, after-skip .clist_set:N = \l__xdu_after_skip_clist, chap-zihao .tl_set:N = \l__xdu_chap_tl, @@ -583,6 +589,7 @@ style / fix-includegraphics = false, style / ref-add-space = false, style / caption-label-sep = { 0.75em }, + style / caption-format = { hang }, style / table-small-font = true, style / algorithm-small-caption = true, style / algorithm-small-font = true, @@ -1051,6 +1058,11 @@ labelsep = customskip, font = customfont } +\ctex_at_end_preamble:n + { + \tl_if_eq:NnTF \l__xdu_cap_format_tl { hang } + { \captionsetup { format = hang } } { } + } \captionsetup [ algorithm ] { labelsep = customskip, @@ -1059,6 +1071,15 @@ } \ctex_at_end_preamble:n { + \tl_if_eq:NnTF \l__xdu_alg_capt_align_tl { left } + { + \tl_if_eq:NnTF \l__xdu_cap_format_tl { hang } + { \captionsetup [ algorithm ] { format = hang } } { } + } + { \captionsetup [ algorithm ] { justification = centering } } + } +\ctex_at_end_preamble:n + { \cs_if_exist:NT \thealgocf { \SetAlgoCaptionSeparator { \hbox_to_wd:nn { \l__xdu_cap_label_sep_tl } { } } @@ -1071,9 +1092,44 @@ \SetAlCapNameFnt { \__xdu_rm_family: \zihao { -4 } } \SetAlCapFnt { \__xdu_rm_family: \zihao { -4 } } } - \SetAlCapSty { } + \SetAlCapSty { } + \tl_if_eq:NnTF \l__xdu_alg_capt_align_tl { left } + { + \box_new:N \l__xdu_algtwoe_capt_box + \RenewDocumentCommand { \algocf@makecaption } { mm } + { + \hbox_set:Nn \l__xdu_algtwoe_capt_box + { \AlCapFnt #1 \algocf@capseparator \AlCapNameFnt #2 } + \dim_compare:nNnTF { \box_wd:N \l__xdu_algtwoe_capt_box } > { \hsize } + { + \tl_if_eq:NnTF \l__xdu_cap_format_tl { hang } + { + \makebox { \AlCapFnt #1 \algocf@capseparator } + \makebox { \parbox [ t ] { \hsize } { \AlCapNameFnt #2 } } + } + { + \parbox { \columnwidth } + { \AlCapFnt #1 \algocf@capseparator \AlCapNameFnt #2} + } + } + { \makebox [ \columnwidth ] { \box_use:N \l__xdu_algtwoe_capt_box } } + } + } + { + \RenewDocumentCommand { \algocf@makecaption } { mm } + { + \parbox { \columnwidth } + { \centering \AlCapFnt #1 \algocf@capseparator \AlCapNameFnt #2 } + } + } + \RenewDocumentCommand { \algocf@makecaption@ruled } { mm } + { \global \sbox \algocf@capbox { \algocf@makecaption { #1 } { #2 } } } + \RenewDocumentCommand { \algocf@makecaption@boxed } { mm } + { \global \sbox \algocf@capbox { \algocf@makecaption { #1 } { #2 } } } } } +\cs_new:Npn \__xdu_tblr_caption_box:n #1 + { \makebox [ \tablewidth ] { \parbox { \columnwidth } { #1 } } } \ctex_at_end_preamble:n { \@ifpackageloaded { tabularray } @@ -1081,6 +1137,33 @@ \SetTblrStyle { head } { font = \__xdu_rm_family: \zihao { 5 } } \DefTblrTemplate { caption-sep } { default } { \hskip \l__xdu_cap_label_sep_tl } + \tl_if_eq:NnTF \l__xdu_cap_format_tl { hang } + { + \DefTblrTemplate { firsthead } { default } + { \__xdu_tblr_caption_box:n { \UseTblrTemplate { caption } { default } } } + \DefTblrTemplate { middlehead, lasthead } { default } + { \__xdu_tblr_caption_box:n { \UseTblrTemplate { capcont } { default } } } + } + { + \DefTblrTemplate { firsthead } { default } + { \__xdu_tblr_caption_box:n { \UseTblrTemplate { caption } { plain } } } + \DefTblrTemplate { middlehead, lasthead } { default } + { \__xdu_tblr_caption_box:n { \UseTblrTemplate { capcont } { plain } } } + } + \DefTblrTemplate { firstfoot, middlefoot } { default } + { \__xdu_tblr_caption_box:n { \UseTblrTemplate { contfoot } { default } } } + \DefTblrTemplate { lastfoot } { default } + { + \__xdu_tblr_caption_box:n + { + \UseTblrTemplate { note } { default } + \UseTblrTemplate { remark } { default } + } + } + \DefTblrTemplate { conthead-text } { default } + { \__xdu_lang_switch:nn { (续表) } { (Continued) } } + \DefTblrTemplate { contfoot-text } { default } + { \__xdu_lang_switch:nn { 接下页 } { Continued~on~next~page } } } { } } |