From c92d9953347e3bdebc5243c67cf012a2f7a60fb6 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Fri, 7 May 2021 03:01:25 +0000
Subject: CTAN sync 202105070301

---
 macros/latex/contrib/easybook/easybook.dtx | 107 +++++++++++++++--------------
 1 file changed, 55 insertions(+), 52 deletions(-)

(limited to 'macros/latex/contrib/easybook/easybook.dtx')

diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 2247ca0125..6917c83e8b 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -24,11 +24,11 @@
 % \changes{v1.20}{2021/01/09}{修改和完善用户文档。}
 % \changes{v1.20}{2021/01/09}{模板更改为使用 CC-BY 许可协议。}
 % \changes{v1.23}{2021/03/19}{修复在 \pkg{ctex} v2.5.6 更新后 \cls{easybook} 与 \pkg{hyperref} 冲突问题。}
-% \changes{v1.25b}{2021/05/03}{取消附带的示例文件，可查看历史版本及其它来源的使用样例。}
+% \changes{v1.25c}{2021/05/03}{取消附带的示例文件，可查看历史版本及其它来源的使用样例。}
 %
 % \title{\sffamily easybook 文档类手册}
 % \author{瞿毅}
-% \date{2021/05/05\hskip\ccwd\relax v1.25b\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/05/06\hskip\ccwd\relax v1.25c\thanks{\url{https://gitee.com/texl3/easybook}}}
 %
 % \maketitle
 % \begin{abstract}
@@ -118,7 +118,7 @@
 % \end{syntax}
 % 传递给 \cls{ctexbook} 设置字体，最好不要使用原有的 \opt{fontset} 选项，默认情况下使用自定义字体而不开启这个选项，可根据安装的字体及电脑系统选取。\opt{noto} 与 \opt{none} 选项的相关描述见小节 \ref{subsec:font settings}，\opt{overleaf} 是一个各系统通用选项，会检测系统环境选取对应字体。
 % \changes{v1.21}{2021/01/12}{默认字体与 \CTeX 一致，不再是自定义字体。}
-% \changes{v1.25b}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
+% \changes{v1.25c}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
 % \end{function}
 %
 % \begin{function}[rEXP,added = 2021-01-05,updated = 2021-01-13]{paper}
@@ -169,7 +169,7 @@
 %   \tn{listoflistings*+}\oarg{键值列表}
 % \end{syntax}
 % \tn{listoffigures} 命令输出图片目录，\tn{listoftables} 输出表格目录，\tn{listoflistings} 输出代码目录。带有星号的目录命令不将标题添加进主文档目录，带有+号的目录命令可以使当前标题编号。\tn{tableofcontents+} 与其它命令不同是用于输出双语目录，需要与双语目录标题命令 \tn{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用，附加代码是中文与英文目录之间的代码，可以插入文本和换页命令等。目录的键值列表选项如下
-% \changes{v1.25b}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。}
+% \changes{v1.25c}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。}
 % \end{function}
 %
 % \begin{function}{multoc,title,book,article}
@@ -183,19 +183,19 @@
 % \end{function}
 %
 % \subsubsection{标题命令}
-% \begin{function}[added = 2021-05-05]{\bichapter,\bisection,\bisubsection,\bichapter*,\bisection*,\bisubsection*}
+% \begin{function}[added = 2021-05-05]{\bichapter,\bichapter*,\bisection,\bisection*,\bisubsection,\bisubsection*}
 % \begin{syntax}
 %   \tn{bichapter}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}
-%   \tn{bisection}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}
-%   \tn{bisubsection}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}
 %   \tn{bichapter*}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}
+%   \tn{bisection}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}
 %   \tn{bisection*}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}
+%   \tn{bisubsection}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}
 %   \tn{bisubsection*}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}
 % \end{syntax}
-% 双语目录的标题命令目前设置了常用的三个级别，它们将中文标题正常输出，并使中英文标题加入双语目录，这个功能是为国内一些大学的学位论文模板的要求设计，当然在英文模式下不需要使用。
+% 双语目录的标题命令目前设置了常用的三个级别，它们将中文标题正常输出，并使中英文标题加入双语目录，这个功能是为国内一些大学的学位论文模板的要求设计，在一般情况和英文模式下不需要使用。
 %
-% 它们的星号变体命令使文中标题不编号，但是仍然加入双语目录，若英文标题参数空置那么仅加入中文目录而不加入英文目录，这一点与 \tn{chapter*} 等命令的行为不太一样。可选参数是目录中的中文标题，默认与中文标题一致，正文标题过长时可用它设置在目录中显示的标题。双语目录的格式是一致的，共享使用 \tn{tocset} 的设置，英文目录的章级别标题名及编号的修改方式如下
-% \changes{v1.25b}{2021/05/05}{增加与双语目录配合的标题命令。}
+% 它们的星号变体命令使文中标题不编号，但是仍然加入双语目录，若英文标题参数空置那么仅加入中文目录而不加入英文目录，这一特点与 \tn{chapter*} 等命令的行为不太一样，在一些情况下会用到。可选参数是目录中的中文标题，默认与中文标题一致，正文标题过长时可用它设置在目录中显示的标题。双语目录的格式是一致的，共享使用 \tn{tocset} 的设置，英文目录的章级别标题名及编号的修改方式如下
+% \changes{v1.25c}{2021/05/05}{增加与双语目录配合的标题命令。}
 % \end{function}
 %
 % \begin{function}{biname,binmuber}
@@ -224,7 +224,7 @@
 %   \begin{tabular}{*{5}{c}}
 %     \toprule
 %     \hyperref[subsec:style]{风格} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:other font]{其它字体} & \hyperref[subsec:spacing]{行距} & \hyperref[subsec:reference]{参考文献} \\
-%     style & link & elsefont & spread & bibset \\
+%     style & refset & elsefont & spread & bibset \\
 %     \midrule
 %     \hyperref[subsec:theorem of style]{定理样式} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog style]{目录样式} & \\
 %     thmset & geoset & hdrset & tocset & \\
@@ -283,17 +283,18 @@
 %
 % \subsection{超链接}
 % \label{subsec:hyperlinks}
-% \begin{function}[EXP,added = 2021-01-05,updated = 2021-04-18]{hyperlink,linkcolor,linkcol-all,linktoc}
+% \begin{function}[EXP,added = 2021-01-05,updated = 2021-05-06]{hyperlink,linkcolor,linkcol-all,linktoc}
 % \begin{syntax}
 %   hyperlink = <(edge)|various|none>
 %   linkcolor = <fresh|cutepink|(navyblue)|crimson>
 %   linkcol-all = <HTML颜色代码>
 %   linktoc = <none|section|page|(all)>
 % \end{syntax}
-% \ding{229} 以上选项路径为 \opt{link/...} \\
-% \opt{link} 将超链接选项（包括以上选项）交给 \pkg{hyperref} 处理，除了一些关于 pdf 书签的选项可能会失效，其它由键值选项命令 \tn{hypersetup} 支持的多数选项可用。
+% \ding{229} 以上选项路径为 \opt{refset/...} \\
+% \opt{refset} 将超链接选项（包括以上选项）交给 \pkg{hyperref} 处理，除了一些关于 pdf 书签的选项可能会失效，其它由键值选项命令 \tn{hypersetup} 支持的多数选项可用。
 % \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。}
 % \changes{v1.24}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
+% \changes{v1.25c}{2021/05/06}{模块名 \opt{link} 改为 \opt{refset}，\opt{link} 作为兼容性保留。}
 % \end{function}
 %
 % \begin{optdesc}
@@ -361,13 +362,13 @@
 %
 % \subsection{参考文献}
 % \label{subsec:reference}
-% \begin{function}[EXP,added = 2021-01-11,updated = 2021-04-09]{bib-loadpkg,backend,bib-style,cite-style,bibfile}
+% \begin{function}[EXP,added = 2021-01-11,updated = 2021-04-09]{loadpkg,backend,bib-style,cite-style,datafile}
 % \begin{syntax}
-%   bib-loadpkg = <(true)|false>
+%   loadpkg = <(true)|false>
 %   backend = <(bibtex)|biblatex>
 %   bib-style = <(numerical)|authoryear|其它格式>
 %   cite-style = <标注风格>
-%   bibfile = <refs.bib>
+%   datafile = <refs.bib>
 % \end{syntax}
 % \ding{229} 以上选项路径为 \opt{bibset/...}
 % \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项，可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。}
@@ -376,18 +377,18 @@
 % \end{function}
 %
 % \begin{optdesc}
-%   \item[bib-loadpkg] 是否载入 \pkg{natbib} 或 \pkg{biblatex} 宏包，关闭此选项后需要在导言区手动载入参考文献宏包，之后可使用相关配置命令（见下文）或完全自行设置参考文献。
+%   \item[loadpkg] 是否载入 \pkg{natbib} 或 \pkg{biblatex} 宏包，关闭此选项后需要在导言区手动载入参考文献宏包，之后可使用相关配置命令（见下文）或完全自行设置参考文献。
 %   \item[backend] 参考文献处理后端，默认用传统的 \hologo{BibTeX} 处理参考文献。
 %   \item[bib-style] 参考文献格式为中国的参考文献推荐标准GB/T 7714-2015，有顺序编码制和著者-出版年制两种风格，理工科类一般使用顺序编码制，文科类一般使用著者-出版年制。若使用其它格式，使用 \hologo{BibTeX} 处理时需确保正确的 \opt{bst} 文件，使用 \hologo{biber} 处理可使用 \pkg{biblatex} 宏包支持的参考文献风格名称。
 %   \item[cite-style] 标注参考文献的风格，\opt{backend = bibtex} 选项下可使用 \opt{super}（数字上标标注，默认）或 \opt{numbers}（数字标注）等 \pkg{natbib} 宏包带有的标注风格，\opt{backend = biblatex} 选项下可使用 \pkg{biblatex} 宏包支持的标注风格名称。
-%   \item[bibfile] 参考文献数据库的文件名，使用 \hologo{biber} 处理时要带有 \opt{bib} 后缀，若不在当前文件夹名称需要包含路径，默认是一个在当前文件夹以 \opt{refs.bib} 命名的文件。
+%   \item[datafile] 参考文献数据库的文件名，使用 \hologo{biber} 处理时要带有 \opt{bib} 后缀，若不在当前文件夹名称需要包含路径，默认是一个在当前文件夹以 \opt{refs.bib} 命名的文件。
 % \end{optdesc}
 %
 % \begin{function}[added = 2021-01-11,updated = 2021-04-09]{\printbibliography,\EbBibtexSet,\EbBiblatexPreset,\EbBiblatexPostset}
 % \begin{syntax}
 %   \tn{printbibliography}\oarg{键值列表}
 % \end{syntax}
-% 关闭 \opt{bib-loadpkg} 选项时 \opt{bibset} 中的选项会失效，但是后三个命令保存了 \opt{bibset} 模块预置的参考文献选项与配置，与对应宏包配合使用它们时 \opt{bibset} 中的选项仍然有效，也可以不使用它们完全自行设置参考文献方案。开启 \opt{bib-loadpkg} 选项对它们重新定义也可以达到重新设置参考文献的效果。
+% 关闭 \opt{loadpkg} 选项时 \opt{bibset} 中的选项会失效，但是后三个命令保存了 \opt{bibset} 模块预置的参考文献选项与配置，与对应宏包配合使用它们时 \opt{bibset} 中的选项仍然有效，也可以不使用它们完全自行设置参考文献方案。开启 \opt{loadpkg} 选项对它们重新定义也可以达到重新设置参考文献的效果。
 % \end{function}
 %
 % \begin{optdesc}
@@ -647,7 +648,7 @@
 % \end{function}
 %
 % \subsection{列表}
-% \begin{function}[added = 2021-01-05,updated = 2021-04-08]{enumerate,itemize,description,enumerate*,itemize*,description*}
+% \begin{function}[added = 2021-01-05,updated = 2021-04-08]{enumerate,enumerate*,itemize,itemize*,description,description*}
 % \begin{syntax}
 %   \tn{begin}\marg{环境名}\oarg{键值列表}
 %   \  \tn{item} <列表内容>
@@ -945,7 +946,7 @@
 %<*class>
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplClass{easybook}{2021/05/05}{1.25b}{beta}
+\ProvidesExplClass{easybook}{2021/05/06}{1.25c}{beta}
 
 \cs_generate_variant:Nn \eb_ctex_define:nn { nx }
 \cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1058,8 +1059,8 @@
 
 \seq_const_from_clist:Nn \c__eb_options_path_seq
   {
-    style,link,elsefont,
-    spread,bibset,thmset,
+    style,elsefont,spread,
+    refset,bibset,thmset,
     geoset,hdrset,tocset
   }
 \seq_map_inline:Nn \c__eb_options_path_seq
@@ -1067,8 +1068,10 @@
     \ctex_define:n { #1 .meta:nn = { ctex/#1 } {##1} }
     \cs_new:cpn {#1} ##1 { \keys_set:nn {ctex/#1} {##1} }
   }
+\keys_define:nn { } { ctex/link .inherit:n = ctex/refset }
 \ctex_define:n
   {
+    link .meta:nn                 = { ctex/link } {#1},
     lstlistlistingname .tl_set:N  = \lstlistlistingname,
     lstlistingname .tl_set:N      = \lstlistingname
   }
@@ -1167,8 +1170,8 @@
   }
 \cs_new_protected:Npn \eb_font_double_engine_set:n #1
   {
-    \exp_args:Nc \RenewDocumentCommand {set #1 font}{O{}mO{}}
-      {\use:c { eb_set #1 font:nn }{##2}{##1,##3}}
+    \exp_args:Nc \RenewDocumentCommand {set#1font}{O{}mO{}}
+      {\use:c { eb_set#1font:nn }{##2}{##1,##3}}
   }
 \seq_const_from_clist:Nn \c__eb_font_reset_family_seq
   { main,sans,mono,CJKmain,CJKsans,CJKmono }
@@ -1643,7 +1646,7 @@
   { chapter,section,subsection }
 \seq_map_inline:Nn \c__eb_bitoc_title_level_seq
   {
-    \exp_args:Nc \NewDocumentCommand {bi #1}{sO{##3}mm}
+    \exp_args:Nc \NewDocumentCommand {bi#1}{sO{##3}mm}
       {
         \IfBooleanTF{##1}
           {
@@ -1689,10 +1692,10 @@
     multoc .initial:n   = false,
     title .code:n       = \eb_assign_toc_title:n {#1}
   }
-\NewDocumentCommand \eb_assign_toc_title:n
+\NewDocumentCommand{\eb_assign_toc_title:n}
   {>{\SplitArgument{1}{,}}m}
-  {\eb_assign_toc_title:nn #1}
-\cs_new_protected:Npn \eb_assign_toc_title:nn #1#2
+  {\eb_assign_toc_title_judge:nn #1}
+\cs_new_protected:Npn \eb_assign_toc_title_judge:nn #1#2
   {
     \tl_set:Nn \eb@toc@title {#1}
     \tl_if_novalue:nTF {#2}
@@ -1796,10 +1799,10 @@
     \eb_multoc_pre_bool:
     \eb_title_mark_notoc:n { \eb@toc@title }
     \vspace*{\dim_use:N \l__eb_toc_offset_dim}
-    \@starttoc{toc}
+    \@starttoc{toc}#3
     \IfBooleanT{#1}
       {
-        #3\eb_title_mark_notoc:n { \eb@bitoc@title }
+        \eb_title_mark_notoc:n { \eb@bitoc@title }
         \vspace*{\dim_use:N \l__eb_toc_offset_dim}
         \@starttoc{tec}
       }
@@ -1970,7 +1973,7 @@
     \captionsetup[table][bi-second]{name = Table}
   }
 
-\cs_new:Npn \eb_arabic:n #1 { \int_to_arabic:v { c@ #1 } }
+\cs_new:Npn \eb_arabic:n #1 { \int_to_arabic:v { c@#1 } }
 \cs_gset:cpn { thesection }
   {
     \int_compare:nNnT { \c@chapter } > { 0 } { \thechapter. }
@@ -1980,7 +1983,7 @@
   { figure,table,lstlisting,equation }
 \seq_map_inline:Nn \c__eb_serial_number_counter_seq
   {
-    \cs_set:cpn { the #1 }
+    \cs_set:cpn { the#1 }
       {
         \int_compare:nNnT { \c@chapter } > { 0 }
           {
@@ -2167,7 +2170,7 @@
 \eb_at_end_preamble:n
   {
     \exp_last_unbraced:No
-    \declaretheoremstyle\c__eb_thmtools_keyval_tl{easy-theorem}
+    \declaretheoremstyle{\c__eb_thmtools_keyval_tl}{easy-theorem}
     \eb_thmname_set:nnn { exercise } { Exercise } { 练习 }
     \cs_undefine:N \proof
     \clist_map_inline:nn
@@ -2203,16 +2206,16 @@
   }
 \sisetup
   {
+    detect-shape,
     detect-family,
     detect-weight,
-    detect-shape,
+    table-parse-only,
+    detect-display-math,
     detect-inline-family  = math,
     detect-inline-weight  = math,
-    detect-display-math,
-    table-parse-only,
-    range-phrase  = \ensuremath{\sim},
-    range-units   = single,
-    group-digits  = false
+    range-phrase          = \ensuremath{\sim},
+    range-units           = single,
+    group-digits          = false
   }
 \allowdisplaybreaks[4]
 \tl_gset:Nn \ULthickness { 0.75pt }
@@ -2334,7 +2337,7 @@
           }{
             \group_begin:
             \keys_set:nn { ctex/section } { format += \centering }
-            \IfValueT{#6}{\keys_set:nn { ctex/section } {#6}}
+            \IfValueT{#6}{\ctex_set:nn { section } {#6}}
             \IfBooleanTF{#1}{\section*{#5}}{\section{#5}}
             \group_end:
           }#7
@@ -2426,12 +2429,12 @@
 
     cite-style .code:n  =
       { \tl_set:Nn \l__eb_bib_citestyle_tl {#1} },
-    bibfile .tl_set:N   = \l__eb_bib_file_tl,
-    bibfile .initial:n  = refs.bib,
+    datafile .tl_set:N  = \l__eb_bib_file_tl,
+    datafile .initial:n = refs.bib,
 
-    bib-loadpkg .bool_set:N = \l__eb_bib_loadpkg_bool,
-    bib-loadpkg .default:n  = true,
-    bib-loadpkg .initial:n  = true,
+    loadpkg .bool_set:N = \l__eb_bib_loadpkg_bool,
+    loadpkg .default:n  = true,
+    loadpkg .initial:n  = true,
 
     bitoc-title .tl_set:N   = \l__eb_bib_bitoc_title,
     bitoc-title .initial:n  = Reference
@@ -2646,7 +2649,7 @@
   }
 
 \bool_set_false:N \l__eb_toc_number_color_bool
-\eb_ctex_define:nn { link }
+\eb_ctex_define:nn { refset }
   {
     hyperlink .choice:,
     hyperlink/edge .code:n    = { },
@@ -2683,7 +2686,7 @@
           }
       }
   }
-\eb_ctex_define:nx { link }
+\eb_ctex_define:nx { refset }
   {
     linkcolor .choice:,
     \clist_map_function:nN
@@ -2720,9 +2723,9 @@
 \cs_new:Npn \eb_allow_urlbreak:
   {
     \cs_new:Npn \eb_add_urlbreak_points:
-      { \tl_map_function:NN \c__eb_urlbreak_points_tl\do }
-    \eb_appto_cmd:Nn
-      \UrlBreaks{\UrlOrds\eb_add_urlbreak_points:}
+      { \tl_map_function:NN \c__eb_urlbreak_points_tl \do }
+    \eb_appto_cmd:Nn \UrlBreaks
+      { \UrlOrds\eb_add_urlbreak_points: }
   }
 \tl_const:Nn \c__eb_urlbreak_points_tl
   {
-- 
cgit v1.2.3

