texlive[71207] Master/texmf-dist: easybook (8may24)

commits+karl at tug.org commits+karl at tug.org
Wed May 8 21:33:03 CEST 2024


Revision: 71207
          https://tug.org/svn/texlive?view=revision&revision=71207
Author:   karl
Date:     2024-05-08 21:33:03 +0200 (Wed, 08 May 2024)
Log Message:
-----------
easybook (8may24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/easybook/easybook.pdf
    trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex
    trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx
    trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty
    trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls
    trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg

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

Modified: trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex	2024-05-07 23:42:26 UTC (rev 71206)
+++ trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex	2024-05-08 19:33:03 UTC (rev 71207)
@@ -23,8 +23,8 @@
     name            = easybook,
     color-scheme    = blue,
     title           = EASYBOOK使用手册,
-    version         = v2024bj,
-    date            = 2024/05/06,
+    version         = v2024bl,
+    date            = 2024/05/08,
     authors         = 瞿毅,
     info            = 简便地排版中文学位论文或书籍,
     email           = toquyi at 163.com,
@@ -118,6 +118,11 @@
   }
 \newnote{\newtag}[1][New]{\fbox{#1}}
 \newnote{\newtagv}[2][New]{#1\\#2}
+\NewDocumentCommand{\optpath}{sm}
+  {
+    \IfBooleanF{#1}{\item}
+    \code{\textcolor{SlateGray}{#2}}
+  }
 % Multi-row values alignment when there are many choices
 \newcommand{\leftfillchoice}[2]
   {
@@ -173,7 +178,6 @@
         \refstepcounter{ctexexam}\ctexexamlabelref
       }
   }
-\newcommand{\optpath}[1]{\item\code{\textcolor{SlateGray}{#1}}}
 \makeatother\ExplSyntaxOff
 \labelformat{section}{节#1}
 \labelformat{subsection}{小节#1}
@@ -271,7 +275,7 @@
   文档主题方案选项 \option{scheme} 扩展了 \CTeX 文档类中同名选项原有的作用范围,选项值 \code{plain} 可使各类标题变为英文形式。包括章节标题、图表标题和定理名等。
   \opt{enmode}\dtag
   同时开启 \option{newline} 和 \keyis{scheme}{plain} 选项以符合英文原生风格。
-  \keychoice{paper}{\fbox{a4paper},b5paper,c5paper,letterpaper,\textcolor{SlateGray}{other paper}}
+  \keychoice{paper}{\fbox{a4paper},b5paper,c5paper,letterpaper,\optpath*{other paper}}
   文档页面尺寸选项将参数交给 \pkg*{geometry} 宏包处理,可使用它支持的所有标准纸张规格。
   \keyval{configs}{配置文件列表}\dtag\newtag[Chg]%
   载入用户配置的文件名列表,文件列表以花括号包裹并以英文逗号分隔。文件名应包含如 \code{tex}、\code{def} 或 \code{cfg} 等扩展名。若配置文件不在当前文件夹则文件名需要包含路径,即 \code{path/file.cfg}。
@@ -522,7 +526,7 @@
 \begin{options}
   \keychoice{backend}{\fbox{bibtex},biblatex}
   参考文献处理后端。默认用传统的 \hologo{BibTeX} 处理参考文献\footnote{使用 \hologo{BibTeX} 引擎时加载 \pkg*{natbib} 宏包,使用 \hologo{biber} 时将加载 \pkg*{biblatex} 宏包。}。
-  \keychoice{bibstyle}{\fbox{numerical},authoryear,\textcolor{SlateGray}{other sty}}
+  \keychoice{bibstyle}{\fbox{numerical},authoryear,\optpath*{other sty}}
   参考文献格式使用中国参考文献推荐标准GB/T 7714-2015,对应顺序编码制和著者—出版年制两种风格。若使用其它格式,使用 \hologo{BibTeX} 处理时需确保正确的 \code{bst} 文件,使用 \hologo{biber} 处理可使用 \pkg*{biblatex} 宏包支持的参考文献风格名称。
   \keyval{citestyle}{标注风格}
   标注参考文献的风格。后端为 \hologo{BibTeX} 时可使用 \option{super}(数字上标标注,默认)或 \option{numbers}(数字标注)等 \pkg*{natbib} 宏包带有的标注风格,后端为 \hologo{biber} 时可使用 \pkg*{biblatex} 宏包支持的标注风格。
@@ -562,7 +566,7 @@
 
 \subsection[定理]{定理\smodule{thmt}}
 \label{subsec:theorem}
-定理模块 \module*{thmt} 由 \pkg*{thmtools} 宏包提供支持,主要提供了定理环境和样式声明两个命令。定理环境声明命令 \cs{declaretheorem} 使用的定理样式由样式声明命令 \cs{declaretheoremstyle} 提供,文档类预置了一个定理样式 \code{default},但未定义任何定理环境。
+定理模块 \module*{thmt} 由 \pkg*{thmtools} 宏包提供支持,主要提供了定理环境和样式声明两个命令。定理环境声明命令 \cs{declaretheorem} 使用的定理样式由样式声明命令 \cs{declaretheoremstyle} 提供。文档类未预声明任何定理环境,如果声明定理环境时不指定样式,则使用默认定理样式 \code{default},可以对它重新定义。
 \begin{commands}
   \command{declaretheorem}[\oarg{键值列表1}\marg{环境名}\oarg{键值列表2}]
   定理环境声明命令。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,其中常用的选项如下:
@@ -571,7 +575,7 @@
   定理环境的标题名称,默认为英文首字母大写的环境名。
   \keychoice{numbered}{no,yes,unless unique}
   定理可以被编号、不被编号或者只有在文档中多次出现时才被编号。
-  \keychoice{within}{chapter,section,empty,\textcolor{SlateGray}{counter}}
+  \keychoice{within}{chapter,section,\optpath*{empty},\optpath*{counter}}
   定理编号跟随的计数器。当计数器值递增时定理编号会从零开始,通常这是一个章节计数器。
   \keyval{numberlike}{计数器}
   定理将使用此 \meta{计数器} 进行编号,通常这是另一个定理环境的名称。
@@ -738,7 +742,7 @@
   实线命令 \cs{markrule} 既可在 \meta{横线命令} 中用于绘制页眉页脚横线,也可以在正文中使用。\meta{长度} 默认为版心的宽度,上下间距为横线与上下方部件的间距,带有长度单位,上下间距之间用符号 \code{|} 分开,若只有一部分则表示 \meta{上间距}。下面举一个设置页眉内容的例子:
   \begin{ctexexam}[labelref = exam:markrule]
   \ebhdrset{headrule = \markrule(DarkOrchid){0.5pt}[2pt|2pt]}
-  \fancyhead[ER]{\leftmark}
+  \fancyhead[ER]{\FirstMark{2e-left}} % 来自ltmarks的标记机制
   \fancyhead[OL]{\rightmark}
   \fancyhead[EL,OR]{\textbf{\thepage}}
   \end{ctexexam}
@@ -763,7 +767,7 @@
   不同脚注之间的距离,默认情况下它自适应 \module*{spread} 模块脚注行距选项 \option{footnote} 的值。
   \keychoice{fntext-pos}{normal,\fbox{super}}
   设置脚注内容标记的位置,正常文本或是上标形式。
-  \keychoice{fnmark-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\textcolor{SlateGray}{short num}}
+  \keychoice{fnmark-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\optpath*{short num}}
   脚注正文标记编号的类型。默认为原生样式 \code{plain},还可以改为 \code{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括1-10。
 
   短编号的参数与列表环境类似,有 \code{1}、\code{A}、\code{a}、\code{I} 和 \code{i},除此之外还增加了中文数字 \code{c} 和符号 \code{s} 格式。原生样式 \code{plain} 等同于单独使用数字 \code{1} 参数。这个选项可以用在正文中改变其后脚注编号类型。
@@ -785,17 +789,17 @@
   \ebhdrset{fnmark-num = s}
   \end{ctexexam}
   \end{commands}
-  \keychoice{fntext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\textcolor{SlateGray}{short num}}
+  \keychoice{fntext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\optpath*{short num}}
   脚注内容标记编号的类型。用法与 \option{fnmark-num} 一样,所以脚注内容与正文标记编号类型\textbf{可以不同}。
-  \keychoice{fnmarktext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\textcolor{SlateGray}{short num}}
+  \keychoice{fnmarktext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\optpath*{short num}}
   同时设定脚注正文标记编号 \option{fnmark-num} 与脚注内容标记编号 \option{fntext-num} 的类型。目前脚注编号类型选项对于迷你页环境 \env*{minipage} 无效,其中的脚注保持默认英文字母的编号类型。
-  \keychoice{fnmark-vmove}{\textcolor{SlateGray}{fixed length},match}\Default{0pt}
+  \keychoice{fnmark-vmove}{\optpath*{fixed length},match}\Default{0pt}
   脚注正文标记的垂直偏移。可以设为刚性长度,或用 \code{match} 匹配 \option{spvmove} 全局的值。
-  \keychoice{fnmark-hmove}{\textcolor{SlateGray}{fixed length},match}\Default{0pt}
+  \keychoice{fnmark-hmove}{\optpath*{fixed length},match}\Default{0pt}
   脚注正文标记的水平偏移。可以设为刚性长度,或用 \code{match} 匹配 \option{sphmove} 全局的值。
-  \keychoice{fntext-vmove}{\textcolor{SlateGray}{fixed length},match}\Default{0pt}
+  \keychoice{fntext-vmove}{\optpath*{fixed length},match}\Default{0pt}
   脚注内容标记的垂直偏移。可以设为刚性长度,或用 \code{match} 匹配 \option{spvmove} 全局的值。
-  \keychoice{fnmarktext-format}{\textcolor{SlateGray}{format code},match}
+  \keychoice{fnmarktext-format}{\optpath*{format code},match}
   默认脚注标记的格式,选项 \code{match} 可以匹配 \option{spcmd} 全局的值。一般配合 \keyis{fnmarktext-num}{plain} 原生编号形式使用,例如用 \pkg*{circledtext} 宏包的带圈字符命令 \cs{circledtext} 给脚注标记添加圆圈:
   \begin{ctexexam}
   \usepackage{circledtext}
@@ -825,7 +829,7 @@
   \defdownfntmark{\notminipage{\textcolor{blue}{\thedownfootnote}}{}}
   \deffntpara{\makebox[2em][r]{\thefootnote}#1}
   \end{ctexexam}
-  \keychoice{fncustom-format}{\textcolor{SlateGray}{format code},match}
+  \keychoice{fncustom-format}{\optpath*{format code},match}
   单独设定自定义脚注标记的格式,选项 \code{match} 可以匹配 \option{spcmd} 全局的值。自定义脚注内容和正文标记的命令与用法可以见下方和\ref{exam:custom footnote markers} 的介绍。
   \begin{commands}\noitemsep
   \command{Footnote}[\oarg{内容标记}\marg{正文标记}\marg{脚注文本}]\default{}
@@ -836,7 +840,7 @@
   \Footnote{*}{这是可以自定义标记的脚注。}
   \end{ctexexam}
   \end{commands}
-  \keychoice{fnboth-format}{\textcolor{SlateGray}{format code},match}
+  \keychoice{fnboth-format}{\optpath*{format code},match}
   同时设定默认脚注标记 \option{fnmarktext-format} 和自定义脚注标记 \option{fncustom-format} 的格式。两种脚注标记匹配上标格式 \option{spcmd} 的值是独立的,使用 \code{match} 则可以同时匹配。会覆盖 \module*{font} 模块脚注字体选项 \option{footnote} 相同类型的命令,最后一个格式命令可以带有一个参数接受脚注标记。
   \keyval{fnpara-format}{格式代码}
   脚注内容文本的格式。会覆盖 \module*{font} 模块脚注字体选项 \option{footnote} 相同类型的命令,最后一个格式命令可以带有一个参数接受脚注内容文本。
@@ -892,7 +896,8 @@
           tocline       = \CTEXnumberline{#1}#2
         },
       section/toclabel  = \contentspush{#1\hspace{0.5em}},
-      section/tocrule   = \tocrule-{}\makebox[1cm]{\rlap{\thecontentspage}}
+      section/tocrule   = \tocrule-{}\makebox[1cm]{\rlap{\thecontentspage}},
+      toc/pagenumwd     = 0pt
     }
   \end{ctexexam}
 \end{options}
@@ -928,6 +933,15 @@
   \AllotCaptionExt{table}{lof}
   \newcommand{\listoffiguretables}{\listoffigures} % 同时输出图表目录的命令
   \end{ctexexam}
+  \command{AllotPartialExt}[\marg{扩展名1}\marg{扩展名2}]\newtagv{2024bk}
+  给目录文件扩展名为 \meta{扩展名1} 的目录分配扩展名为 \meta{扩展名2} 的局部目录,预注册的条目均无需再分配。用于搭配题注标题 \cs{caption} 命令和 \pkg*{titletoc} 宏包的局部题注目录命令。
+  \begin{ctexexam}
+  \AllotPartialExt{loa}{pla}
+  \startlist[fancy]{loa}
+  \captionof{algorithm}{算法标题}
+  \stoplist[fancy]{loa}
+  \printlist[fancy]{loa}{}{}
+  \end{ctexexam}
   \command{SetTocStyle}[\marg{条目名}\marg{风格名}\marg{键值列表}]
   定义条目类型名称为 \meta{风格名} 的目录风格。使用 \cs*{ctexset} 命令设置目录样式时,除了条目标题定义选项 \option{tocline},其它选项只有在目录输出命令前设置才有效,定义完目录风格后用 \cs{UseTocStyle} 命令可以在正文中任意位置生效。如果是没有 \ding{73} 符号的选项,\meta{条目名} 设置为 \module*{toc}。
   \command{UseTocStyle}[\marg{条目名}\marg{风格名}\marg{扩展名}]
@@ -959,15 +973,9 @@
   \keyval{bibetween}{代码钩子}
   与选项 \option{between} 类似,是英文章节标题目录(如果启用)标题代码钩子。
   \keychoice{dotalign}{\fbox{true},false}
-  引导线选项 \option{dotalign} 可以使目录引导线右端对齐并与页码保持一定间距,否则会与页码相连。
+  将目录页码装进一个右对齐的水平盒子里。这样可以使目录引导线右端对齐并与页码保持一定间距,否则会与页码相连。
   \keyval{pagenumwd}{刚性长度}\Default{1.55em}
-  目录条目页码的宽度。开启 \option{dotalign} 选项时宽度越大引导线与页码的距离就越大。
-  \keyval{tocafter-every}{距离命令}\Default{\cs*{hspace}\Marg{1em}}
-  统一设置所有类型条目编号与标题间的代码(仅支持上述预注册的条目)。
-  \keyval{tocindent-every}{刚性长度}
-  统一设置所有类型条目的左边缩进(仅支持上述预注册的条目)。
-  \keyval{tocrule-every}{引导线命令}
-  统一设置所有类型的目录引导线样式(仅支持上述预注册的条目)。
+  设置开启 \option{dotalign} 选项时页码水平盒子的宽度。
 \end{options}
 
 \section{环境和命令}
@@ -1507,6 +1515,7 @@
   \end{version}
   \shortversion{v = 2024aw,date = 2022/04/22,changes = 新增新建章节标题命令 \cs{NewTitleCommand} 和 \cs{NewTitleEntryCommand}。}
   \shortversion{v = 2024bb,date = 2022/04/26,changes = 增加对 \pkg*{thmtools} 宏包定理环境目录 \cs{listoftheorems} 的支持。}
+  \shortversion{v = 2024bk,date = 2022/05/07,changes = 新增局部题注目录分配命令 \cs{AllotPartialExt}。}
 \end{changelog}
 \nocite{*}
 

Modified: trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2024-05-07 23:42:26 UTC (rev 71206)
+++ trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2024-05-08 19:33:03 UTC (rev 71207)
@@ -14,7 +14,7 @@
 % This work has the LPPL maintenance status `maintained'.
 %<*class>
 \NeedsTeXFormat{LaTeX2e}[2021/11/15]
-\ProvidesExplClass{easybook}{2024/05/06}{2024bj}
+\ProvidesExplClass{easybook}{2024/05/08}{2024bl}
   {Easily typesetting Chinese theses or books}
 
 \bool_new:N \l__eb_compile_draft_bool
@@ -28,7 +28,7 @@
 \keys_define:nn { easybook }
   {
     newline .code:n         = \bool_set_true:N \l__eb_title_newline_bool,
-    scheme .code:n          = \eb_put_ctexbook:n { scheme = #1 },
+    scheme .code:n          = \eb_put_ctexbook:n { scheme = {#1} },
     enmode .meta:n          = { newline,scheme = plain },
     font .choices:nn        =
       { noto,times,times*,ebgaramond,libertine,palatino,auto }
@@ -301,7 +301,7 @@
 %<*package>
 \NeedsTeXFormat{LaTeX2e}[2021/11/15]
 \RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2024/05/06}{2024bj}
+\ProvidesExplPackage{easybase}{2024/05/08}{2024bl}
   {Easily typesetting Chinese theses or books}
 
 \cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -898,7 +898,7 @@
     fntext-code .initial:n = { ,\tl_if_eq:NnF \l__eb_fntext_position_tl { super } { ~ } },
     fnmarktext-format .code:n = \eb_fnboth_format_set:nn {#1} { marktext },
     fncustom-format .code:n = \eb_fnboth_format_set:nn {#1} { custom },
-    fnboth-format .meta:n = { fnmarktext-format = #1,fncustom-format = #1 },
+    fnboth-format .meta:n = { fnmarktext-format = {#1},fncustom-format = {#1} },
     footnotetype .multichoices:nn   =
       { plain,hang,bottom,para,flush }
       { \eb_footnote_value_handle:n {#1} },
@@ -921,7 +921,7 @@
       { \eb_fnmarktext_normal_label_set:Nn \thefootnote {#1} },
     fntext-num .value_required:n    = true,
     fntext-num/unknown .code:n = \eb_fnmarktext_short_label_set:Nn \thefootnote {#1},
-    fnmarktext-num .meta:n = { fntext-num = #1,fnmark-num = #1 },
+    fnmarktext-num .meta:n = { fntext-num = {#1},fnmark-num = {#1} },
     fnmarktext-num .initial:n       = plain,
     unknown .code:n                 = \eb_msg_deprecated_option:n { hdr }
   }
@@ -1369,18 +1369,18 @@
   {
     hyphen-figure .tl_set:N   = \l__eb_hyphen_figure_tl,
     hyphen-table .tl_set:N    = \l__eb_hyphen_table_tl,
-    hyphen-listing .tl_set:N  = \l__eb_hyphen_lstlisting_tl,
+    hyphen-listing .tl_set:N  = \l__eb_hyphen_listing_tl,
     hyphen-equation .tl_set:N = \l__eb_hyphen_equation_tl,
     hyphen-every .meta:n      =
       {
-        hyphen-figure  = #1,hyphen-table    = #1,
-        hyphen-listing = #1,hyphen-equation = #1
+        hyphen-figure  = {#1},hyphen-table    = {#1},
+        hyphen-listing = {#1},hyphen-equation = {#1}
       },
     hyphen-every .initial:n   = .,
     unknown .code:n           = \eb_msg_deprecated_option:n { tools }
   }
 \eb_seq_map_inline:nn
-  { figure,table,lstlisting,equation }
+  { figure,table,listing,equation }
   {
     \cs_set:cpn { the#1 }
       {
@@ -1437,7 +1437,7 @@
         \bool_set_true:N \l__eb_toc_plan_bi_bool
       },
     plan .initial:n   = cn,
-    columns .meta:n   = { multoc = #1 },
+    columns .meta:n   = { multoc = {#1} },
     title .code:n     = \eb_assign_toc_title:n {#1},
     bilist .code:n    =
       {
@@ -1663,8 +1663,9 @@
 \c__ctex_headings_seq \RegisterTocName
 \eb_seq_map_inline:nn
   {
-    tocformat,tocformat+,tocformat~+,
-    tocindent,tocrule,tocline,tocafter,between
+    tocformat,tocformat+,tocformat~+,tocformat*,
+    toclabel,tocindent,tocrule,tocline,tocafter,between,
+    tocbelow,tocbegin,tocsep,tocend
   }
   {
     \ctex_define:n
@@ -1671,31 +1672,15 @@
       {
         float/#1 .meta:n  =
           {
-            figure/#1     = ##1,table/#1  = ##1,
-            lstlisting/#1 = ##1
+            figure/#1     = {##1},table/#1 = {##1},
+            lstlisting/#1 = {##1}
           }
       }
   }
-\eb_seq_map_inline:nn
-  { tocafter,tocindent,tocrule }
-  {
-    \ctex_define:nn { toc }
-      {
-        #1-every .code:n    =
-          {
-            \ctex_set:n
-              {
-                part/#1     = ##1,chapter/#1    = ##1,
-                section/#1  = ##1,subsection/#1 = ##1,
-                float/#1    = ##1
-              }
-          }
-      }
-  }
 \NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
   {
     \normalsize\normalfont
-    \titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
+    \ttl at row@i[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
       {
         \IfBooleanF{#2}
           {
@@ -1752,6 +1737,13 @@
     \IfHookEmptyTF{starttoc/after}{}
       {\iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[aux] }}
   }
+\cs_set_protected:Npn \AllotPartialExt #1#2
+  {
+    \tl_set:cn { ttl at partial#1 } {#2}
+    \AddToHookWithArguments{cmd/ttl at writepartial/before}
+      {\ttl at topartial{#1}{##1}{##2}}
+  }
+\AllotPartialExt{lol}{pll}
 
 \cs_set_eq:NN \eb at ctexsetii \ctex_set:nn
 \cs_new_protected:Npn \SetTocStyle #1#2#3
@@ -1864,8 +1856,8 @@
     caption-listing .tl_set:N = \l__eb_font_caption_listing_tl,
     caption-every .meta:n     =
       {
-        caption-table   = #1,caption-figure = #1,
-        caption-listing = #1
+        caption-table   = {#1},caption-figure = {#1},
+        caption-listing = {#1}
       },
     caption-every .initial:n  = \sffamily\small,
     footnote .tl_set:N        = \eb at font@footnote,
@@ -1895,6 +1887,7 @@
         { \tl_put_right:Nn \marginfont {#2} }
       }
   }
+\cs_set_eq:NN \addtosubfont \ebaddtofont
 \ctex_define:nn { spread }
   {
     line .code:n              = \setspread{#1},
@@ -1923,14 +1916,14 @@
     caption-listing .fp_set:N = \l__eb_spread_caption_listing_fp,
     caption-every .meta:n     =
       {
-        caption-table   = #1,caption-figure = #1,
-        caption-listing = #1
+        caption-table   = {#1},caption-figure = {#1},
+        caption-listing = {#1}
       },
     caption-every .initial:n  = 1.2,
     every .meta:n             =
       {
-        line = #1,table = #1,math = #1,
-        caption-every = #1,footnote = #1
+        line = {#1},table = {#1},math = {#1},
+        caption-every = {#1},footnote = {#1}
       },
     abovedisplayskip .code:n    =
       {\AfterPreamble{\skip_set:Nn \abovedisplayskip {#1}}},
@@ -2130,9 +2123,12 @@
 \bool_if:NT \l__eb_theorem_support_bool
   {
     \RequirePackage{amsthm,thmtools}
-    \cs_set_eq:NN \eb at declaretheoremsyle@save \declaretheoremstyle
+    \cs_set_eq:NN \eb at declaretheoremstyle@save \declaretheoremstyle
+    \cs_set_eq:NN \eb at declaretheorem@save \declaretheorem
     \RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}}
-      {\eb at declaretheoremsyle@save[#1,#3]{#2}}
+      {\eb at declaretheoremstyle@save[#1,#3]{#2}}
+    \RenewDocumentCommand{\declaretheorem}{O{}mO{}}
+      {\eb at declaretheorem@save[style = default,#1,#3]{#2}}
     \ctex_define:nn { thmt }
       {
         loeskip .skip_set:N = \eb at thmt@loe at skip,
@@ -2152,6 +2148,7 @@
     \theoremstyle{default}
     \cs_undefine:N \proof
     \DeclareFloatList{theorem}{loe}
+    \AllotPartialExt{loe}{ple}
     \eb_preto_cmd:nn { listoftheorems }
       {
         \group_begin:
@@ -2534,7 +2531,7 @@
   }
 %</package>
 %<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/05/06}{2024bj}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/05/08}{2024bl}
   {Customization of tcolorbox for easybook}
 
 \cs_set_protected:Npn \addtotcbstyle #1#2

Modified: trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty	2024-05-07 23:42:26 UTC (rev 71206)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty	2024-05-08 19:33:03 UTC (rev 71207)
@@ -20,7 +20,7 @@
 %% This work has the LPPL maintenance status `maintained'.
 \NeedsTeXFormat{LaTeX2e}[2021/11/15]
 \RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2024/05/06}{2024bj}
+\ProvidesExplPackage{easybase}{2024/05/08}{2024bl}
   {Easily typesetting Chinese theses or books}
 
 \cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -617,7 +617,7 @@
     fntext-code .initial:n = { ,\tl_if_eq:NnF \l__eb_fntext_position_tl { super } { ~ } },
     fnmarktext-format .code:n = \eb_fnboth_format_set:nn {#1} { marktext },
     fncustom-format .code:n = \eb_fnboth_format_set:nn {#1} { custom },
-    fnboth-format .meta:n = { fnmarktext-format = #1,fncustom-format = #1 },
+    fnboth-format .meta:n = { fnmarktext-format = {#1},fncustom-format = {#1} },
     footnotetype .multichoices:nn   =
       { plain,hang,bottom,para,flush }
       { \eb_footnote_value_handle:n {#1} },
@@ -640,7 +640,7 @@
       { \eb_fnmarktext_normal_label_set:Nn \thefootnote {#1} },
     fntext-num .value_required:n    = true,
     fntext-num/unknown .code:n = \eb_fnmarktext_short_label_set:Nn \thefootnote {#1},
-    fnmarktext-num .meta:n = { fntext-num = #1,fnmark-num = #1 },
+    fnmarktext-num .meta:n = { fntext-num = {#1},fnmark-num = {#1} },
     fnmarktext-num .initial:n       = plain,
     unknown .code:n                 = \eb_msg_deprecated_option:n { hdr }
   }
@@ -1088,18 +1088,18 @@
   {
     hyphen-figure .tl_set:N   = \l__eb_hyphen_figure_tl,
     hyphen-table .tl_set:N    = \l__eb_hyphen_table_tl,
-    hyphen-listing .tl_set:N  = \l__eb_hyphen_lstlisting_tl,
+    hyphen-listing .tl_set:N  = \l__eb_hyphen_listing_tl,
     hyphen-equation .tl_set:N = \l__eb_hyphen_equation_tl,
     hyphen-every .meta:n      =
       {
-        hyphen-figure  = #1,hyphen-table    = #1,
-        hyphen-listing = #1,hyphen-equation = #1
+        hyphen-figure  = {#1},hyphen-table    = {#1},
+        hyphen-listing = {#1},hyphen-equation = {#1}
       },
     hyphen-every .initial:n   = .,
     unknown .code:n           = \eb_msg_deprecated_option:n { tools }
   }
 \eb_seq_map_inline:nn
-  { figure,table,lstlisting,equation }
+  { figure,table,listing,equation }
   {
     \cs_set:cpn { the#1 }
       {
@@ -1156,7 +1156,7 @@
         \bool_set_true:N \l__eb_toc_plan_bi_bool
       },
     plan .initial:n   = cn,
-    columns .meta:n   = { multoc = #1 },
+    columns .meta:n   = { multoc = {#1} },
     title .code:n     = \eb_assign_toc_title:n {#1},
     bilist .code:n    =
       {
@@ -1382,8 +1382,9 @@
 \c__ctex_headings_seq \RegisterTocName
 \eb_seq_map_inline:nn
   {
-    tocformat,tocformat+,tocformat~+,
-    tocindent,tocrule,tocline,tocafter,between
+    tocformat,tocformat+,tocformat~+,tocformat*,
+    toclabel,tocindent,tocrule,tocline,tocafter,between,
+    tocbelow,tocbegin,tocsep,tocend
   }
   {
     \ctex_define:n
@@ -1390,31 +1391,15 @@
       {
         float/#1 .meta:n  =
           {
-            figure/#1     = ##1,table/#1  = ##1,
-            lstlisting/#1 = ##1
+            figure/#1     = {##1},table/#1 = {##1},
+            lstlisting/#1 = {##1}
           }
       }
   }
-\eb_seq_map_inline:nn
-  { tocafter,tocindent,tocrule }
-  {
-    \ctex_define:nn { toc }
-      {
-        #1-every .code:n    =
-          {
-            \ctex_set:n
-              {
-                part/#1     = ##1,chapter/#1    = ##1,
-                section/#1  = ##1,subsection/#1 = ##1,
-                float/#1    = ##1
-              }
-          }
-      }
-  }
 \NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
   {
     \normalsize\normalfont
-    \titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
+    \ttl at row@i[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
       {
         \IfBooleanF{#2}
           {
@@ -1471,6 +1456,13 @@
     \IfHookEmptyTF{starttoc/after}{}
       {\iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[aux] }}
   }
+\cs_set_protected:Npn \AllotPartialExt #1#2
+  {
+    \tl_set:cn { ttl at partial#1 } {#2}
+    \AddToHookWithArguments{cmd/ttl at writepartial/before}
+      {\ttl at topartial{#1}{##1}{##2}}
+  }
+\AllotPartialExt{lol}{pll}
 
 \cs_set_eq:NN \eb at ctexsetii \ctex_set:nn
 \cs_new_protected:Npn \SetTocStyle #1#2#3
@@ -1583,8 +1575,8 @@
     caption-listing .tl_set:N = \l__eb_font_caption_listing_tl,
     caption-every .meta:n     =
       {
-        caption-table   = #1,caption-figure = #1,
-        caption-listing = #1
+        caption-table   = {#1},caption-figure = {#1},
+        caption-listing = {#1}
       },
     caption-every .initial:n  = \sffamily\small,
     footnote .tl_set:N        = \eb at font@footnote,
@@ -1614,6 +1606,7 @@
         { \tl_put_right:Nn \marginfont {#2} }
       }
   }
+\cs_set_eq:NN \addtosubfont \ebaddtofont
 \ctex_define:nn { spread }
   {
     line .code:n              = \setspread{#1},
@@ -1642,14 +1635,14 @@
     caption-listing .fp_set:N = \l__eb_spread_caption_listing_fp,
     caption-every .meta:n     =
       {
-        caption-table   = #1,caption-figure = #1,
-        caption-listing = #1
+        caption-table   = {#1},caption-figure = {#1},
+        caption-listing = {#1}
       },
     caption-every .initial:n  = 1.2,
     every .meta:n             =
       {
-        line = #1,table = #1,math = #1,
-        caption-every = #1,footnote = #1
+        line = {#1},table = {#1},math = {#1},
+        caption-every = {#1},footnote = {#1}
       },
     abovedisplayskip .code:n    =
       {\AfterPreamble{\skip_set:Nn \abovedisplayskip {#1}}},
@@ -1849,9 +1842,12 @@
 \bool_if:NT \l__eb_theorem_support_bool
   {
     \RequirePackage{amsthm,thmtools}
-    \cs_set_eq:NN \eb at declaretheoremsyle@save \declaretheoremstyle
+    \cs_set_eq:NN \eb at declaretheoremstyle@save \declaretheoremstyle
+    \cs_set_eq:NN \eb at declaretheorem@save \declaretheorem
     \RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}}
-      {\eb at declaretheoremsyle@save[#1,#3]{#2}}
+      {\eb at declaretheoremstyle@save[#1,#3]{#2}}
+    \RenewDocumentCommand{\declaretheorem}{O{}mO{}}
+      {\eb at declaretheorem@save[style = default,#1,#3]{#2}}
     \ctex_define:nn { thmt }
       {
         loeskip .skip_set:N = \eb at thmt@loe at skip,
@@ -1871,6 +1867,7 @@
     \theoremstyle{default}
     \cs_undefine:N \proof
     \DeclareFloatList{theorem}{loe}
+    \AllotPartialExt{loe}{ple}
     \eb_preto_cmd:nn { listoftheorems }
       {
         \group_begin:

Modified: trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2024-05-07 23:42:26 UTC (rev 71206)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2024-05-08 19:33:03 UTC (rev 71207)
@@ -19,7 +19,7 @@
 %% 
 %% This work has the LPPL maintenance status `maintained'.
 \NeedsTeXFormat{LaTeX2e}[2021/11/15]
-\ProvidesExplClass{easybook}{2024/05/06}{2024bj}
+\ProvidesExplClass{easybook}{2024/05/08}{2024bl}
   {Easily typesetting Chinese theses or books}
 
 \bool_new:N \l__eb_compile_draft_bool
@@ -33,7 +33,7 @@
 \keys_define:nn { easybook }
   {
     newline .code:n         = \bool_set_true:N \l__eb_title_newline_bool,
-    scheme .code:n          = \eb_put_ctexbook:n { scheme = #1 },
+    scheme .code:n          = \eb_put_ctexbook:n { scheme = {#1} },
     enmode .meta:n          = { newline,scheme = plain },
     font .choices:nn        =
       { noto,times,times*,ebgaramond,libertine,palatino,auto }

Modified: trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg	2024-05-07 23:42:26 UTC (rev 71206)
+++ trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg	2024-05-08 19:33:03 UTC (rev 71207)
@@ -18,7 +18,7 @@
 %% LaTeX version 2005/12/01 or later.
 %% 
 %% This work has the LPPL maintenance status `maintained'.
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/05/06}{2024bj}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/05/08}{2024bl}
   {Customization of tcolorbox for easybook}
 
 \cs_set_protected:Npn \addtotcbstyle #1#2



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