texlive[65160] Master/texmf-dist: xduts (1dec22)

commits+karl at tug.org commits+karl at tug.org
Thu Dec 1 21:36:46 CET 2022


Revision: 65160
          http://tug.org/svn/texlive?view=revision&revision=65160
Author:   karl
Date:     2022-12-01 21:36:45 +0100 (Thu, 01 Dec 2022)
Log Message:
-----------
xduts (1dec22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf
    trunk/Master/texmf-dist/source/xelatex/xduts/xduts.dtx
    trunk/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty
    trunk/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls
    trunk/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls

Modified: trunk/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/xelatex/xduts/xduts.dtx
===================================================================
--- trunk/Master/texmf-dist/source/xelatex/xduts/xduts.dtx	2022-12-01 20:36:00 UTC (rev 65159)
+++ trunk/Master/texmf-dist/source/xelatex/xduts/xduts.dtx	2022-12-01 20:36:45 UTC (rev 65160)
@@ -1,7 +1,7 @@
 % \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}
@@ -8,7 +8,7 @@
 %<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 @@
 \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 @@
 % \changes{v2.12.0.1}{2022/07/01}{研究生学位论文增加文件配置}
 % 文件配置见\secrefx{文件配置},
 % 交叉引用配置见\secrefx{交叉引用配置},
-% Caption配置见\secrefx{Caption配置},
+% caption配置见\secrefx{caption配置},
 % 表格配置见\secrefx{表格配置},
 % 算法配置见\secrefx{算法配置},
 % 对照表配置见\secrefx{对照表配置},
@@ -314,7 +316,7 @@
 % \changes{v2.12.0.1}{2022/07/01}{本科生毕业设计增加文件配置}
 % 文件配置见\secrefx{文件配置},
 % 交叉引用配置见\secrefx{交叉引用配置},
-% Caption配置见\secrefx{Caption配置},
+% caption配置见\secrefx{caption配置},
 % 表格配置见\secrefx{表格配置},
 % 算法配置见\secrefx{算法配置},
 % 章节配置见\secrefx{章节配置},
@@ -667,7 +669,7 @@
 %   \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 @@
 %   \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 @@
 %   \begin{syntax}
 %     \optx{style/algorithm-small-caption}=\metax{(true)|false}
 %   \end{syntax}
-% 设置算法Caption字号是否为五号。
+% 设置算法caption字号是否为五号。
 % \end{function}
 % \begin{optdesc}
 %   \item[true] 五号。
@@ -713,6 +726,16 @@
 %   \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 @@
 % \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 @@
 % 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 @@
 % 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 @@
 %   \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,8 +1245,11 @@
 % 工程硕士,
 % 工商管理硕士,
 % 公共管理硕士
-% \item \optx{degree*}
+% \item \optx{degree} (专业博士)
 % \par
+% 工程博士
+% \item \optx{degree*} (专业硕士)
+% \par
 % Finance,
 % Applied Statistics,
 % Translation,
@@ -1227,6 +1256,9 @@
 % Engineering,
 % Business Administration,
 % Public Administration
+% \item \optx{degree*} (专业博士)
+% \par
+% Engineering
 % \item \optx{department}
 % \par
 % 通信工程学院,
@@ -1398,7 +1430,7 @@
 % 空间科学仪器与电磁实验技术,
 % 飞行器测控与导航制导,
 % 智能检测与新型传感器
-% \item \optx{domain}
+% \item \optx{domain} (专业硕士)
 % \par
 % 金融,
 % 应用统计,
@@ -1418,6 +1450,10 @@
 % 物流工程,
 % 工商管理,
 % 公共管理
+% \item \optx{domain} (专业博士)
+% \par
+% 电子与信息,
+% 先进制造
 % \item \optx{supervisor-title}
 % \par
 % 教授,
@@ -1578,6 +1614,7 @@
 % \end{figure}
 % \clearpage
 % \end{documentation}
+% \StopEventually{}
 % \begin{implementation}
 % \addtocontents{toc}{\protect\value{tocdepth}=5}
 % \section{代码实现}
@@ -3182,9 +3219,11 @@
 %     \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 @@
 %    \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 @@
 %    \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 @@
 %    \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 @@
 %    \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 @@
     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 @@
 % \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 @@
     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 @@
     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 @@
             \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 at makecaption } { mm }
+              {
+                \hbox_set:Nn \l_@@_algtwoe_capt_box
+                  { \AlCapFnt #1 \algocf at 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 at capseparator }
+                        \makebox { \parbox [ t ] { \hsize } { \AlCapNameFnt #2 } }
+                      }
+                      {
+                        \parbox { \columnwidth }
+                          { \AlCapFnt #1 \algocf at capseparator \AlCapNameFnt #2}
+                      }
+                  }
+                  { \makebox [ \columnwidth ] { \box_use:N \l_@@_algtwoe_capt_box } }
+              }
+          }
+          {
+            \RenewDocumentCommand { \algocf at makecaption } { mm }
+              {
+                 \parbox { \columnwidth }
+                   { \centering \AlCapFnt #1 \algocf at capseparator \AlCapNameFnt #2 }
+              }
+          }
+      \RenewDocumentCommand { \algocf at makecaption@ruled } { mm }
+        { \global \sbox \algocf at capbox { \algocf at makecaption { #1 } { #2 } } }
+      \RenewDocumentCommand { \algocf at makecaption@boxed } { mm }
+        { \global \sbox \algocf at capbox { \algocf at 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 @@
         \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 @@
 % \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 @@
 \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 @@
 %    \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 @@
     \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 @@
     \@@_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 @@
       }
       \@@_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 @@
           }
         \par
         { \bfseries 学位类别: } \l_@@_degree_str
-        \bool_if:NTF \l_@@_pro_master
+        \bool_if:NTF \l_@@_pro
           {
             \par
             { \bfseries 学校导师姓名、职称: }
@@ -5818,7 +5953,7 @@
         \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 @@
         \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 @@
         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 @@
             \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 @@
 %<@@=>
 %    \end{macrocode}
 % \end{implementation}
+% \Finale

Modified: trunk/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty	2022-12-01 20:36:00 UTC (rev 65159)
+++ trunk/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty	2022-12-01 20:36:45 UTC (rev 65160)
@@ -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 }

Modified: trunk/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls	2022-12-01 20:36:00 UTC (rev 65159)
+++ trunk/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls	2022-12-01 20:36:45 UTC (rev 65160)
@@ -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 at makecaption } { mm }
+              {
+                \hbox_set:Nn \l__xdu_algtwoe_capt_box
+                  { \AlCapFnt #1 \algocf at 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 at capseparator }
+                        \makebox { \parbox [ t ] { \hsize } { \AlCapNameFnt #2 } }
+                      }
+                      {
+                        \parbox { \columnwidth }
+                          { \AlCapFnt #1 \algocf at capseparator \AlCapNameFnt #2}
+                      }
+                  }
+                  { \makebox [ \columnwidth ] { \box_use:N \l__xdu_algtwoe_capt_box } }
+              }
+          }
+          {
+            \RenewDocumentCommand { \algocf at makecaption } { mm }
+              {
+                 \parbox { \columnwidth }
+                   { \centering \AlCapFnt #1 \algocf at capseparator \AlCapNameFnt #2 }
+              }
+          }
+      \RenewDocumentCommand { \algocf at makecaption@ruled } { mm }
+        { \global \sbox \algocf at capbox { \algocf at makecaption { #1 } { #2 } } }
+      \RenewDocumentCommand { \algocf at makecaption@boxed } { mm }
+        { \global \sbox \algocf at capbox { \algocf at 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 } \\

Modified: trunk/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls	2022-12-01 20:36:00 UTC (rev 65159)
+++ trunk/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls	2022-12-01 20:36:45 UTC (rev 65160)
@@ -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 at makecaption } { mm }
+              {
+                \hbox_set:Nn \l__xdu_algtwoe_capt_box
+                  { \AlCapFnt #1 \algocf at 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 at capseparator }
+                        \makebox { \parbox [ t ] { \hsize } { \AlCapNameFnt #2 } }
+                      }
+                      {
+                        \parbox { \columnwidth }
+                          { \AlCapFnt #1 \algocf at capseparator \AlCapNameFnt #2}
+                      }
+                  }
+                  { \makebox [ \columnwidth ] { \box_use:N \l__xdu_algtwoe_capt_box } }
+              }
+          }
+          {
+            \RenewDocumentCommand { \algocf at makecaption } { mm }
+              {
+                 \parbox { \columnwidth }
+                   { \centering \AlCapFnt #1 \algocf at capseparator \AlCapNameFnt #2 }
+              }
+          }
+      \RenewDocumentCommand { \algocf at makecaption@ruled } { mm }
+        { \global \sbox \algocf at capbox { \algocf at makecaption { #1 } { #2 } } }
+      \RenewDocumentCommand { \algocf at makecaption@boxed } { mm }
+        { \global \sbox \algocf at capbox { \algocf at 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 } }
       }
       { }
   }



More information about the tex-live-commits mailing list.