From 19a90b19f6ec33aec1291be08fecfece45735a22 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Sat, 5 Mar 2022 03:00:46 +0000
Subject: CTAN sync 202203050300

---
 macros/latex/contrib/easybook/easybook.tex | 125 ++++++++++++++++-------------
 1 file changed, 71 insertions(+), 54 deletions(-)

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

diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index ee32700153..eac5a47373 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -21,8 +21,8 @@
     name            = easybook,
     color-scheme    = blue,
     title           = EASYBOOK使用手册,
-    version         = v1.635,
-    date            = 2022/03/02,
+    version         = v1.638,
+    date            = 2022/03/04,
     authors         = 瞿毅,
     info            = 简便地排版中文学位论文或书籍,
     email           = q1jx@foxmail.com,
@@ -329,8 +329,14 @@
 
 \subsection{目录命令}
 \begin{commands}
-  \command{tableofcontents}[\sarg\oarg{键值列表}\darg{附加代码}]
-  文档主目录命令。带有星号参数的命令不输出目录标题。带有 \parg{} 号参数的命令输出双语目录，需要与双语目录标题命令 \cs{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用。附加代码是中文与英文主目录之间的代码，可以插入目录样式和换页等命令。
+  \command{tableofcontents}[\sarg\oarg{键值列表}\darg{代码钩子}]
+  文档主目录命令。带有星号参数的命令不输出目录标题。\meta{代码钩子} 是当方案 \keyis{plan}{both} 时中文与英文目录之间执行的代码，可以插入目录样式和换页等命令。
+  \begin{options}
+  \keychoice{plan}{cn,bi,both}\Default{cn}\newtag[Exp]%
+  文档主目录的输出方案。\code{cn} 只输出中文目录，\code{bi} 只输出英文目录。\code{both} 同时连续输出中文和英文目录，需要与双语目录标题命令 \cs{bichapter} 等或双语标题选项 \option{title} 配合使用。
+  \keyval{bicontentsname}{英文目录标题}\Default{Contents}\newtag%
+  英文目录的标题，为通用接口命令 \cs*{ctexset} 的选项。
+  \end{options}
   \command{listoffigures}[\sarg\oarg{键值列表}]
   输出图片目录命令。带有星号参数的命令不输出目录标题。
   \command{listoftables}[\sarg\oarg{键值列表}]
@@ -339,7 +345,7 @@
   输出代码目录命令。带有星号参数的命令不输出目录标题。
 \end{commands}
 
-如果需要部分而不是全文的目录或其它类型的目录，可以查看 \pkg*{titletoc} 宏包的相关命令。上面目录命令的可选参数改进了原本单一的功能，其中 \meta{键值列表} 的选项如下：
+如果需要部分而不是全文的目录或其它类型的目录，可以查看 \pkg*{titletoc} 宏包的相关示例。如果需要双语图表目录，可以查看 \pkg*{bicaption} 宏包的相关示例。上面目录命令的可选参数改进了原本单一的功能，其中 \meta{键值列表} 的选项如下：
 \begin{options}
   \keyval{level}{标题命令}\newtag%
   设定输出目录标题的命令。如果使用 \option{title} 选项设置了双语标题则需要配合双语标题命令。
@@ -350,9 +356,9 @@
   \keyval{multoc}{整数}\Default{2}
   设置目录的排版栏数。\meta{整数} 代表目录栏数，不指定栏数的值则默认为双栏。
   \kvsplit{title}{中文目录标题,英文目录标题}
-  用于更改目录的标题。标题之间用一个英文逗号分开，也可以只有一部分，表示中文目录的标题。当设置了英文目录标题时，英文目录标题将会自动加入文档主目录 \cs*{tableofcontents}\parg{} 命令。
+  用于更改目录的双语标题。标题之间用一个英文逗号分开，对主目录来说前部分为中文目录标题，后部分为英文目录标题，对图表和代码目录来说后部分则是加入英文目录的条目。也可以只有一部分，表示中文目录的标题。
   \keychoice{bilist}{mix,new}\Default{new}
-  确定文档主目录中双语标题列表的输出排列方式。选项 \code{mix} 使每个英文标题条目在中文目录中跟随对应的中文标题输出，\code{new} 则新建一个英文目录输出英文标题。
+  确定文档主目录中双语标题列表的输出排列方式。选项 \code{mix} 使每个英文标题条目在中文目录中跟随对应的中文标题输出，\code{new} 则在新建的英文目录中输出英文标题。
   \keyval{format}{目录标题格式}
   设置目录标题的格式，在标题级别为 \code{chapter} 或者 \cls*{article} 模式且标题级别为 \code{section} 时有效。
   \keyval{aftertitle}{标题后代码}
@@ -517,7 +523,7 @@
   上下标命令 \cs{supersub} 对应的上下标共同水平偏移量。
   \kvsplit{spbcmd}{上标格式,下标格式}
   上下标命令 \cs{supersub} 对应的上下标格式命令。以英文逗号分隔为前后两个部分分别设置上下标格式，也可以只有前部分，表示上标的格式。
-  \kvsplit{vsep}{上标偏移,下标偏移}\Default{0.6ex}\newtag[Changed]%
+  \kvsplit{vsep}{上标偏移,下标偏移}\Default{0.6ex}
   上下标命令 \cs{supersub} 对应的上下标额外垂直距离。前部分为上标的偏移量，后部分为下标的偏移量。如果只有前部分则上下标各自垂直移动当前值的一半。
   \keychoice{halign}{l,c,r}\Default{l}
   上下标命令 \cs{supersub} 对应的上下标水平对齐方式，有左 \code{l}、居中 \code{c} 和右 \code{r} 三种对齐方式。
@@ -604,13 +610,13 @@
   参考文献格式使用中国参考文献推荐标准GB/T 7714-2015，对应顺序编码制和著者—出版年制两种风格。若使用其它格式，使用 \hologo{BibTeX} 处理时需确保正确的 \code{bst} 文件，使用 \hologo{biber} 处理可使用 \pkg*{biblatex} 宏包支持的参考文献风格名称。
   \keyval{citestyle}{标注风格}
   标注参考文献的风格。选项 \keyis{backend}{bibtex} 下可使用 \option{super}（数字上标标注，默认）或 \option{numbers}（数字标注）等 \pkg*{natbib} 宏包带有的标注风格，选项 \keyis{backend}{biblatex} 下可使用 \pkg*{biblatex} 宏包支持的标注风格名称。
-  \keyval{datafile}{参考文献数据库列表}
+  \keyval{datafile}{数据库列表}
   参考文献数据库的文件名列表，文件列表以花括号包裹并以英文逗号分隔。使用 \hologo{biber} 处理时要带有 \code{bib} 后缀，若参考文献文件不在当前文件夹则文件名需要包含路径。不设置参考文献数据库名时 \module*{bibset} 模块中的选项会失效，即不自动载入 \pkg*{natbib} 或 \pkg*{biblatex} 宏包，此时需要手动载入相关宏包配置参考文献。
 \end{options}
 
 \begin{commands}
   \command{printbibliography}[\oarg{键值列表}]
-  两种方式\textbf{均使用}此命令打印参考文献，不同处理后端此命令的 \meta{键值列表} 不同。使用 \hologo{BibTeX} 处理时选项与\ref{sec:document command} 目录的选项相同，使用 \hologo{biber} 处理时常用的选项如下：
+  两种方式\textbf{均使用}此命令打印参考文献，不同处理后端此命令的 \meta{键值列表} 不同。使用 \hologo{BibTeX} 处理时选项与\ref{sec:document command} 目录命令的选项相同，使用 \hologo{biber} 处理时常用的选项如下：
   \begin{options}
   \keychoice*{heading}{bibliography,subbibliography,bibintoc,subbibintoc}\Default{bibintoc}
   参考文献通常有一个章标题或者节标题，该选项选择由 \cs*{defbibheading} 定义的标题名。
@@ -654,15 +660,12 @@
   选项的值为使用 \cs{declaretheoremstyle} 命令新定义的定理样式。
   \end{options}
 
-  使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定理样式 \code{mythm} 新建一个定理环境猜想，然后用一个基于 \pkg*{tcolorbox} 宏包的预置彩色盒子 \env{easybox} 增加背景：
+  使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定理样式 \code{fancy} 新建一个定理环境猜想，然后用一个基于 \pkg*{tcolorbox} 宏包的预置彩色盒子 \env{easybox} 增加背景：
   \begin{ctexexam}[labelref = exam:new theorem env]
-  \declaretheorem[style = mythm,name = 猜想]{caixiang}
+  \declaretheorem[style = fancy,name = 猜想]{caixiang}
   \addtotcbstyle{tc-easybox}{colback = GreenYellow}
   \tcolorboxenvironment{caixiang}{tc-easybox}
   \end{ctexexam}
-\end{commands}
-
-\begin{commands}
   \command{declaretheoremstyle}[\oarg{键值列表1}\marg{定理样式}\oarg{键值列表2}]
   定理样式声明命令，键值列表支持自身以及定理声明命令 \cs{declaretheorem} 的所有选项。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效，其中支持的选项如下：
   \begin{options}
@@ -687,17 +690,19 @@
   \keyval{headformat}{标题排列}
   定理标题各组成元素的位置排列和格式。定理标题由定理名、编号和题注组成，\meta{标题排列} 中命令 \cs*{NAME}、\cs*{NUMBER} 和 \cs*{NOTE} 分别代表定理名、编号和题注。
   \end{options}
+  \command{theoremstyle}[\marg{定理样式}]
+  设置其后由 \cs{declaretheorem} 命令声明的定理环境的样式。
 
-  下面定义一个名为 \code{mythm} 的定理样式用于 \cs{declaretheorem} 的 \option*{style} 选项：
+  下面定义一个名为 \code{fancy} 的定理样式用于 \cs{declaretheorem} 的 \option*{style} 选项：
   \begin{ctexexam}[labelref = exam:new theorem sty]
-  \declaretheoremstyle{mythm}[
-    wihin = chapter,
-    spaceabove = 6pt,
-    spacebelow = 6pt,
-    headfont = \normalfont\bfseries,
-    notefont = \sffamily,
-    notebraces = {[}{]},
-    bodyfont = \itshape
+  \declaretheoremstyle{fancy}[
+    wihin       = chapter,
+    spaceabove  = 6pt,
+    spacebelow  = 6pt,
+    headfont    = \normalfont\bfseries,
+    notefont    = \sffamily,
+    notebraces  = {[}{]},
+    bodyfont    = \itshape
     ]
   \end{ctexexam}
 \end{commands}
@@ -816,8 +821,8 @@
   \command{setfntsymbol}[\marg{符号表名}]
   这两个命令用于在脚注短编号标记为 \code{s} 自定义符号型时设置符号列表。\cs{DefineFntSymbols} 命令用于设置符号列表，\cs{setfntsymbol} 命令用于选择已定义的符号列表。默认的脚注符号列表是空的，定义新列表时应注意 \meta{符号列表} 的写法和命令顺序：
   \begin{ctexexam}
-  \DefineFntSymbols{myfnsymb}{2}{{1}{*}{2}{@}}
-  \setfntsymbol{myfnsymb}
+  \DefineFntSymbols{fancy}{2}{{1}{*}{2}{@}}
+  \setfntsymbol{fancy}
   \ebhdrset{fnmark-num = s}
   \end{ctexexam}
   \end{commands}
@@ -885,36 +890,22 @@
 
 \subsection{目录样式}
 \label{subsec:catalog style}
-模块 \module*{tocset} 将使用 \pkg*{titletoc} 宏包处理目录样式。模块或扩展包括了 \module*{part}、\module*{chapter}、\module*{section}、\module*{subsection}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 二级路径，而使用 \module*{list} 路径可以统一设置图片、表格和代码目录的样式。选项前带有 \ding{73} 符号表示支持所有相应\textbf{条目级别}的路径，其它选项则处于 \module*{tocset} 路径下。目前支持标准的论文目录样式，更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
+模块 \module*{tocset} 将使用 \pkg*{titletoc} 宏包处理目录样式。模块或扩展包括了 \module*{part}、\module*{chapter}、\module*{section}、\module*{subsection}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 二级路径，而使用 \module*{list} 路径可以统一设置图片、表格和代码目录的样式。选项前带有 \ding{73} 符号表示支持所有相应\textbf{条目名}的路径，其它选项则处于 \module*{tocset} 路径下。目前支持标准的论文目录样式，更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
 \begin{options}
   \keyval{tocformat}{条目格式}\dtag\smodule{tocset}%
   目录中各级别条目的格式。可以设置条目字体和加入垂直间距等，垂直间距最好使用防止垂直间距重合的 \cs*{addvspace} 命令。
   \keyval{tocformat+}{条目格式}\dtag
   与选项 \option{tocformat} 用法一样，只是在已有的格式命令后附加代码。
   \keyval{tocindent}{刚性长度}\dtag
-  目录条目左边的缩进距离，通常条目级别越低缩进越大。
+  目录条目左边的缩进距离，通常标题级别越低缩进越大。
   \keyval{tocrule}{引导线命令}\dtag
   引导线选项 \option{tocrule} 中一般可以使用基于 \cs*{xleaders} 命令的 \cs{tocrule} 绘制引导线。
   \keyval{tocafter}{距离命令}\dtag\Default{\cs*{hspace}\Marg{1em}}
   目录条目编号与标题间的代码，默认为插入 \code{1em} 横向距离。
   \keyval{tocbelow}{距离命令}\dtag\newtag%
   在目录条目下方执行的代码，可以插入垂直距离等命令。
-  \keyval{tocline}{条目定义}\dtag
+  \keyval{tocline}{条目定义}\dtag[\textcolor{red}{\ding{73}}]
   这个选项扩展了图片、表格或代码题注在目录文件中的定义。选项中参数 \code{\#1} 代表相应题注编号 \cs*{the}\meta{计数器} 的值，参数 \code{\#2} 代表相应题注内容。
-  \begin{ctexexam}[labelref = exam:list command usage]
-  \ctexset
-    {
-      figure/tocline      = \listnumberline{figure}#2,
-      lstlisting/tocline  = \protect\numberline{代码#1\hspace{1em}}#2
-    }
-  \end{ctexexam}
-\end{options}
-
-\begin{commands}
-  \command{tocrule}[\sarg\harg\oarg{引导点间距}\darg{放大因子}\marg{引导点}\oarg{页码格式}]
-  生成目录引导线的命令，需要在引导线选项 \option{tocrule} 中使用。带有星号的命令会使当前级别的目录引导线右端与页码相连而不是对齐。带有 \harg{} 号的命令不添加引导线后的目录页码。\meta{引导点间距} 需带有长度单位，\meta{放大因子} 不带单位，为 \meta{引导点} 的放大倍数，\meta{引导点} 一般为英文句号或 \cs*{cdot} 中心点符号。\meta{页码格式} 的代码位于页码前面，可以设置页码字体和距离等，最后一个命令可以带有一个参数，这个参数为页码编号。
-  \command{listnumberline}[\marg{条目级别}]
-  在图片、表格或代码目录中插入条目编号的命令，默认包含与题注名相同的标签名。其中 \meta{条目级别} 需要显示指定，即为 \code{figure}、\code{table} 或 \code{lstlisting}。关于命令的用法可见\ref{exam:list command usage}。
   \begin{ctexexam}
   \ctexset
     {
@@ -927,15 +918,35 @@
         }
     }
   \end{ctexexam}
+\end{options}
+
+\begin{commands}
+  \command{RegisterTocName}[\marg{条目名}]\newtag%
+  给 \meta{条目名} 注册上述设置目录样式的选项，选项前有红色的符号 \textcolor{red}{\ding{73}} 表示目前在注册后不可用。
+  \command{contentsuse}[\marg{条目名}\marg{扩展名}]
+  激活名为 \meta{条目名} 的目录条目定制功能，它使用的目录文件后缀为 \meta{扩展名}。需要在激活条目后再使用命令 \cs{RegisterTocName} 注册选项。
+  \command{tocrule}[\sarg\harg\oarg{引导点间距}\darg{放大因子}\marg{引导点}\oarg{页码格式}]
+  生成目录引导线的命令，需要在引导线选项 \option{tocrule} 中使用。带有星号的命令会使当前级别的目录引导线右端与页码相连而不是对齐。带有 \harg{} 号的命令不添加引导线后的目录页码。\meta{引导点间距} 需带有长度单位，\meta{放大因子} 不带单位，为 \meta{引导点} 的放大倍数，\meta{引导点} 一般为英文句号或 \cs*{cdot} 中心点符号。\meta{页码格式} 的代码位于页码前面，可以设置页码字体和距离等，最后一个命令可以带有一个参数为页码编号。
+  \command{listnumberline}[\marg{条目名}]
+  在图片、表格或代码目录中插入条目编号的命令，默认包含与题注名相同的标签名。其中 \meta{条目名} 需要显示指定，即为 \code{figure}、\code{table} 或 \code{lstlisting}。关于命令的用法可见\ref{exam:list command usage}。
+  \begin{ctexexam}[labelref = exam:list command usage]
+  \ctexset
+    {
+      figure/tocline      = \listnumberline{figure}#2,
+      lstlisting/tocline  = \protect\numberline{代码#1\hspace{1em}}#2
+    }
+  \end{ctexexam}
 \end{commands}
 
 \begin{options}
   \keybool{hang}\Default{true}
-  悬挂缩进选项 \option{hang} 使目录条目为悬挂缩进形式。缩进距离为条目编号及其与标题间距的长度和。这个选项对所有条目级别有效。
+  悬挂缩进选项 \option{hang} 使目录条目为悬挂缩进形式。缩进距离为条目编号及其与标题间距的长度和。这个选项对所有条目名同时生效。
   \keyval{lolskip}{弹性长度}\Default{10pt}
   代码目录中每章第一个条目上方增加的垂直距离。与 \CTeX 的表格和图片目录中每章间的条目距离选项 \option*{lotskip} 和 \option*{lofskip} 类似，在 \cls*{article} 模式中此选项失效。
   \keyval{between}{代码钩子}
   目录标题与内容间的钩子（作用于标题下方间距之后），一般插入负的垂直距离代码用于抵消目录首行额外的垂直间距。一级路径此选项对应文档主目录的钩子，二级路径为 \module*{figure}、\module*{table} 和 \module*{lstlisting}，或者用位于 \module*{list} 路径的此选项统一设置相应类型目录的钩子。
+  \keyval{bibetween}{代码钩子}\newtag%
+  与选项 \option{between} 类似，是位于一级路径的英文文档主目录（如果启用）代码钩子。
   \keybool{dotalign}\Default{true}
   引导线选项 \option{dotalign} 可以使目录引导线右端对齐并与页码保持一定间距，否则会与页码相连。
   \keyval{pagenumwd}{刚性长度}\Default{1.55em}
@@ -972,13 +983,14 @@
       hline{1,6}  = {1pt,solid},
       hline{3-5}  = {LightBlue,dashed},
       vline{1,5}  = {3-4}{dotted},
-      rows        = {1cm,abovesep = 2pt}
+      rows        = {1cm,abovesep = 2pt},
+      column{1}   = {font = \sffamily,mode = math}
     }
-    Alpha & Beta & Gamma & Delta \\
-    Epsilon & Zeta & Eta & Theta \\
-    Iota & Kappa & \SetCell[r = 2]{h,c,Cyan}Lambda & Mu \\
-    Nu & Xi & Omicron & Pi \\
-    Rho & Sigma & Tau & Upsilon
+    Alpha   & Beta  & Gamma   & Delta \\
+    Epsilon & Zeta  & Eta     & Theta \\
+    Iota    & Kappa & \SetCell[r = 2]{h,c,Cyan}Lambda & Mu \\
+    Nu      & Xi    & Omicron & Pi \\
+    Rho     & Sigma & Tau     & Upsilon
   \end{tblr}
   \end{ctexexam}
 \end{environments}
@@ -1064,7 +1076,7 @@
   \command{addtotcbstyle}[\marg{盒子风格}\marg{键值列表}]
   修改已存在的 \pkg*{tcolorbox} 宏包盒子风格。这个命令可以调整以下即将介绍的预置盒子风格，对于预置盒子来说参数 \meta{盒子风格} 即为它们对应的环境或命令名。
   \begin{ctexexam}
-  \deftcbstyle{mytcb} % 新建一个盒子风格mytcb
+  \deftcbstyle{fancy} % 新建一个盒子风格fancy
     {
       colback = Snow,colframe = LimeGreen,coltext = Coral,
       fontupper = \bfseries,arc = 6pt,
@@ -1135,7 +1147,6 @@
   \newcommand{\theoremhead}[1]{定理\counteruse[chapter]{theorem}\hspace{1em}#1}
   \theoremhead{定理内容}\label{thm:theorem}
   \end{ctexexam}
-
   \command{counterwithin}[\sarg\oarg{格式}\marg{计数器}\marg{父计数器}]
   对计数器进行绑定的命令。将 \meta{计数器} 绑定于 \meta{父计数器}，即 \meta{父计数器} 的值递增时 \meta{计数器} 的值会归零，输出格式 \cs*{the}\meta{计数器} 被改为 \cs*{the}\meta{父计数器}\code{.}\meta{格式}\marg{计数器}。\meta{格式} 应当为接受计数器值并改变编号形式的命令，默认为 \cs*{arabic}。带有星号参数的命令仅进行绑定不更改输出格式。
   \command{counterwithout}[\sarg\oarg{格式}\marg{计数器}\marg{父计数器}]
@@ -1242,13 +1253,13 @@
 \subsection{插入文档}
 \begin{commands}
   \command*{includepdf}[\oarg{键值列表}\marg{文档名}]
-  该命令由文档宏包 \pkg*{pdfpages} 提供，可以将其它 \code{pdf} 文档插入当前文档，比如插入其它软件制作的封面。\meta{键值列表} 可以指定插入页数、逻辑页和横向页面等，详情查看宏包文档。
+  该命令由文档宏包 \pkg*{pdfpages} 提供。可以将其它 \code{pdf} 文档插入当前文档，比如插入其它软件制作的封面。\meta{键值列表} 可以指定插入页数、逻辑页和横向页面等，详情查看宏包文档。
 \end{commands}
 
 \subsection{指定行距的段落}
 \begin{environments}
   \environment*{spacing}[\marg{浮点数}]
-  该环境由行距宏包 \pkg*{setspace} 提供，可以指定环境内段落的行距，使用 \meta{浮点数} 控制行距倍数。
+  该环境由行距宏包 \pkg*{setspace} 提供。可以指定环境内段落的行距，使用 \meta{浮点数} 控制行距倍数。
 \end{environments}
 
 \subsection{下划线}
@@ -1282,6 +1293,12 @@
   \changed
   \item 目录改用标题级别选项 \option{level} 设定标题命令，不输出标题则使用星号参数。
   \end{version}
+  \begin{version}[v = 1.636,date = 2022/03/03]
+  \added
+  \item \cs*{tableofcontents} 命令增加输出方案选项 \option{plan}，不再使用 \parg{} 参数输出英文目录。
+  \item 增加英文主文档目录钩子选项 \option{bibetween}。
+  \end{version}
+  \shortversion{v = 1.638,date = 2022/03/04,changes = 增加目录条目样式选项注册命令 \cs{RegisterTocName}。}
 \end{changelog}
 \nocite{*}
 
-- 
cgit v1.2.3

