summaryrefslogtreecommitdiff
path: root/macros/xetex/latex/xduts/xduts.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/xetex/latex/xduts/xduts.dtx')
-rw-r--r--macros/xetex/latex/xduts/xduts.dtx131
1 files changed, 108 insertions, 23 deletions
diff --git a/macros/xetex/latex/xduts/xduts.dtx b/macros/xetex/latex/xduts/xduts.dtx
index 8ec2d39d83..967e6c1c4a 100644
--- a/macros/xetex/latex/xduts/xduts.dtx
+++ b/macros/xetex/latex/xduts/xduts.dtx
@@ -1,14 +1,14 @@
% \iffalse
%<*driver>
\ProvidesFile{xduts.dtx}
-[2022/05/08 v1.13.2.0 Xidian University TeX Suite]
+[2022/05/15 v1.15.0.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/05/08}{1.13.2.0}
+%<class|sty> {2022/05/15}{1.15.0.1}
%<xdufont> {Xidian University Font package}
%<xdupgthesis> {Xidian University Postgraduate Thesis document class}
%<xduugthesis> {Xidian University Undergraduate Thesis document class}
@@ -155,7 +155,7 @@
\end{document}
%</driver>
% \fi
-% \CheckSum{1283}
+% \CheckSum{1315}
% \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
@@ -278,7 +278,9 @@
% \end{document}
% \end{latexexample}
% \par
-% \secrefx{编译}介绍了如何编译,\secrefx{参数设置}介绍了如何自定义配置。
+% \secrefx{编译}介绍了如何编译,
+% \secrefx{参考文献引用}介绍了如何引用参考文献,
+% \secrefx{参数设置}介绍了如何自定义配置。
% 其中,字体选项见\secrefx{字体选项},
% 部分英文字体切换见\secrefx{英文字体},
% 参考文献配置见\secrefx{参考文献配置},
@@ -313,6 +315,7 @@
% \end{latexexample}
% \par
% 学会以上用法后即可使用\clsx{xduugthesis}文档类。
+% 另外,在\secrefx{额外命令}中提供了部分额外命令来增强排版。
% \changes{v1.3.0.1}{2022/04/20}{增加兼容性说明}
% \section{兼容性说明}
% \label{兼容性说明}
@@ -325,7 +328,8 @@
% \pkgx{algorithm2e}宏包提供了算法环境,
% 该宏包提供的\envx{algorithm}环境实际将浮动体与算法内容合二为一。
% \subsection{图片}
-% 主要适配子图caption字体字号,
+% \changes{v1.13.5.1}{2022/05/08}{补充子图引用样式文档}
+% 主要适配子图caption字体字号和子图引用样式,
% \changes{v1.4.1.1}{2022/04/27}{修正子图适配宏包名称}
% 包括\pkgx{subfig}宏包和\pkgx{subcaption}宏包。
% \subsection{表格}
@@ -339,7 +343,14 @@
% \subsection{编译}
% \label{编译}
% \changes{v0.5.1.2}{2022/04/07}{增加编译说明}
-% \LaTeX{}本身是命令行程序,通过不同的命令调用所需的编译引擎,编辑器提供的快捷按钮实际只是做了包装。\xduts{}仅支持\XeLaTeX{},参考文献默认使用\biber{},也可以切换为\bibtex{}。
+% \LaTeX{}本身是命令行程序,通过不同的命令调用所需的编译引擎,编辑器提供的快捷按钮实际只是做了包装。
+% \xduts{}仅支持\XeLaTeX{},参考文献默认使用\biber{},也可以切换为\bibtex{}。
+% \subsection{参考文献引用}
+% \label{参考文献引用}
+% \xduts{}提供了两种参考文献处理方式,
+% 一种是\pkgx{natbib}和\pkgx{gbt7714}宏包组合,搭配\cmdx{bibtex}命令;
+% 另一种是\pkgx{biblatex}宏包,搭配\cmdx{biber}命令。
+% 引用参考文献时,\tnx{cite}为上标样式,\tnx{parencite}为非上标样式。
% \subsection{参数设置}
% \label{参数设置}
% \changes{v0.5.1.1}{2022/04/06}{增加xdusetup配置文档}
@@ -595,15 +606,18 @@
% \end{optdesc}
% \subsection{交叉引用配置}
% \label{交叉引用配置}
-% \begin{function}[added=2022-04-16]{style/ref-add-space}
+% \begin{function}[added=2022-04-16,updated=2022-05-08]{style/ref-add-space}
% \begin{syntax}
% \optx{style/ref-add-space}=\metax{true|(false)}
% \end{syntax}
-% 是否自动调整\tnx{ref}两侧中英文间空白。
+% 是否自动调整\tnx{ref}和\tnx{pageref}两侧中英文间空白。
% \end{function}
% \begin{optdesc}
-% \item[true] 自动调整\tnx{ref}两侧中英文间空白。未避免产生不正常的空白宽度,请不要在\tnx{ref}两侧输入空格。仅在\optx{language}等于|zh|时有效。
-% \item[false] 保持原始\tnx{ref}命令效果。
+% \item[true] 自动调整\tnx{ref}和\tnx{pageref}两侧中英文间空白。
+% 未避免产生不正常的空白宽度,请不要在\tnx{ref}和\tnx{pageref}两侧输入空格。
+% 仅在\optx{language}等于|zh|时有效。
+% 请不要使用\pkgx{subcaption}宏包的提供的\tnx{subref}和\tnx{subref*}命令。
+% \item[false] 保持原始\tnx{ref}和\tnx{pageref}命令效果。
% \end{optdesc}
% \subsection{Caption配置}
% \label{Caption配置}
@@ -926,10 +940,28 @@
% \end{syntax}
% 设置致谢文件路径,相应文件内仅撰写致谢内容,无需任何环境。
% \end{function}
+% \subsection{额外命令}
+% \label{额外命令}
+% \begin{function}[added=2022-05-13]{\noauxwrite}
+% \begin{syntax}
+% \tn{noauxwrite}\marg{参考文献引用命令}
+% \end{syntax}
+% \tnx{noauxwrite}允许添加不影响现有引用列表顺序的引用。
+% 一个简单的例子如下所示:
+% \begin{latexexample}[moretexcs={\noauxwrite,\caption,\parencite}]
+% \caption{本文与文献\noauxwrite{\parencite{某文献}}计算开销对比}
+% \end{latexexample}
+% \end{function}
% \section{贡献者}
-% \xduts{}的开发过程中,维护者为
+% \xduts{}的开发过程中,唯一维护者为
% \href{https://github.com/note286/}{\ttfamily @note286}。
-% 同时,也要感谢所有在GitHub和睿思上提出问题的同学、老师们。
+% \changes{v1.15.0.1}{2022/05/15}{增加\clsx{xduugthesis}内测人员}
+% 其中,在\clsx{xduugthesis}的开发过程中,
+% \href{https://github.com/Ke-Huo}{\ttfamily @Ke-Huo}、
+% \href{https://github.com/GRHun}{\ttfamily @RH}、
+% \href{https://github.com/songyueran}{\ttfamily @syr-bloom}
+% 等人参与了内测。
+% 同时,也要感谢所有在GitHub和睿思上反馈问题和提出建议的同学、老师们。
% \xduts{}的持续发展,离不开你们的帮助与支持。
% \section{致谢}
% 在学习文学编程的过程中,
@@ -1718,13 +1750,13 @@
% \end{macro}
% \subsubsection{数学字体}
% \begin{macro}{\@@_load_unicode_math_pkg:}
+% \changes{v1.14.1.0}{2022/05/10}{使用\tnx{PassOptionsToPackage}传递\pkgx{unicode-math}宏包参数}
% 加载\pkgx{unicode-math}宏包。
% \begin{macrocode}
\cs_new:Npn \@@_load_unicode_math_pkg:
{
- \RequirePackage
- [ \l_@@_unicode_math_tl ]
- { unicode-math }
+ \PassOptionsToPackage { \l_@@_unicode_math_tl } { unicode-math }
+ \RequirePackage { unicode-math }
}
% \end{macrocode}
% \end{macro}
@@ -1789,7 +1821,7 @@
\@@_load_unicode_math_pkg:
\setmathfont { XITSMath-Regular.otf }
\setmathfont { XITSMath-Bold.otf }
- [range= { bfup -> up, bfit -> it } ]
+ [ range= { bfup -> up, bfit -> it } ]
}
}
% \end{macrocode}
@@ -2259,7 +2291,7 @@
% \begin{macrocode}
\clist_new:N \l_@@_bib_file_clist
% \end{macrocode}
-% 是否在\tnx{ref}两侧自动调整中英文间空白。
+% 是否在\tnx{ref}和\tnx{pageref}两侧自动调整中英文间空白。
% \begin{macrocode}
\tl_new:N \l_@@_ref_add_space
% \end{macrocode}
@@ -2322,7 +2354,7 @@
% \begin{macrocode}
bib-resource .clist_set:N = \l_@@_bib_file_clist,
% \end{macrocode}
-% 是否在\tnx{ref}两侧自动调整中英文间空白。
+% 是否在\tnx{ref}和\tnx{pageref}两侧自动调整中英文间空白。
% \begin{macrocode}
ref-add-space .bool_set:N = \l_@@_ref_add_space,
% \end{macrocode}
@@ -2652,6 +2684,23 @@
}
% \end{macrocode}
% \end{macro}
+% \subsection{额外命令}
+% \begin{macro}{\noauxwrite}
+% \changes{v1.15.0.0}{2022/05/13}{\tnx{noauxwrite}允许添加不影响现有引用列表顺序的引用}
+% \tnx{noauxwrite}允许添加不影响现有引用列表顺序的引用。
+% \begin{macrocode}
+\NewDocumentCommand \noauxwrite { m }
+ {
+ \if@filesw
+ \@fileswfalse
+ #1
+ \@fileswtrue
+ \else
+ #1
+ \fi
+ }
+% \end{macrocode}
+% \end{macro}
% \subsection{页面设置}
% \subsubsection{页面尺寸}
% \begin{macro}{\geometry,\newgeometry,\savegeometry}
@@ -3039,9 +3088,11 @@
% \subsection{目录}
% \begin{macro}{\RequirePackage}
% \changes{v0.4.1.0}{2022/04/05}{设置目录样式}
+% \changes{v1.14.1.0}{2022/05/10}{使用\tnx{PassOptionsToPackage}传递\pkgx{tocloft}宏包参数}
% 设置目录样式。
% \begin{macrocode}
-\RequirePackage [ titles ] { tocloft }
+\PassOptionsToPackage { titles } { tocloft }
+\RequirePackage { tocloft }
% \end{macrocode}
% \end{macro}
% \begin{variable}{\cftchapleader}
@@ -3289,6 +3340,30 @@
\captionsetup [ sub ] { font = customfont }
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\captionsetup}
+% \changes{v1.13.4.0}{2022/05/08}{设置\pkgx{subfig}宏包子图引用样式}
+% 设置\pkgx{subfig}宏包子图引用样式。
+% \begin{macrocode}
+\ctex_at_end_preamble:n
+ {
+ \@ifpackageloaded { subfig }
+ { \captionsetup [ subfloat ] { subrefformat = parens } }
+ { }
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\thesubfigure}
+% \changes{v1.13.5.0}{2022/05/08}{设置\pkgx{subcaption}宏包子图引用样式}
+% 设置\pkgx{subcaption}宏包子图引用样式。
+% \begin{macrocode}
+\ctex_at_end_preamble:n
+ {
+ \@ifpackageloaded { subcaption }
+ { \cs_set:Npn \thesubfigure { ( \alph { subfigure } ) } }
+ { }
+ }
+% \end{macrocode}
+% \end{macro}
% \subsection{表格}
% \changes{v0.10.0.0}{2022/04/13}{设置表格字号是否为五号}
% \changes{v1.0.2.0}{2022/04/14}{修复表格五号字无法设定浮动位置}
@@ -3374,9 +3449,10 @@
% \end{macrocode}
% \end{macro}
% \subsection{交叉引用}
-% \begin{macro}{\@@_trad_ref:n,\ref}
+% \begin{macro}{\ref,\pageref}
% \changes{v1.2.0.0}{2022/04/16}{优化中文环境下\tnx{ref}两侧中英文间空白}
-% 优化中文环境下\tnx{ref}两侧中英文间空白。
+% \changes{v1.13.3.0}{2022/05/08}{优化中文环境下\tnx{pageref}两侧中英文间空白}
+% 优化中文环境下\tnx{ref}和\tnx{pageref}两侧中英文间空白。
% \begin{macrocode}
\ctex_at_end_preamble:n
{
@@ -3396,6 +3472,9 @@
{ \@@_trad_ref:n { #1 } }
{ \xspace \@@_trad_ref:n { #1 } \xspace }
}
+ \cs_set_eq:NN \@@_trad_page_ref:n \pageref
+ \cs_set:Npn \pageref #1
+ { \xspace \@@_trad_page_ref:n { #1 } \xspace }
}
}
}
@@ -3411,18 +3490,24 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\RequirePackage,\bibliographystyle,\addbibresource}
+% \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}宏包参数}
% 参考文献。
% \begin{macrocode}
+\PassOptionsToPackage { sort&compress } { gbt7714 }
+\PassOptionsToPackage { style = gb7714-2015 } { biblatex }
\@@_begin_document:n
{
\tl_if_eq:NnTF \l_@@_bib_tool_tl { bibtex }
{
- \RequirePackage [ sort&compress,square,super,comma,numbers ] { natbib }
\RequirePackage { gbt7714 }
\bibliographystyle { gbt7714-numerical }
+ \NewDocumentCommand \parencite { m }
+ { \group_begin: \citestyle { numbers } \cite { #1 } \group_end: }
}
{
- \RequirePackage [ style = gb7714-2015 ] { biblatex }
+ \RequirePackage { biblatex }
\clist_map_inline:Nn \l_@@_bib_file_clist { \addbibresource { #1 } }
}
}