texlive[71085] Master/texmf-dist: easybook (26apr24)

commits+karl at tug.org commits+karl at tug.org
Fri Apr 26 23:26:13 CEST 2024


Revision: 71085
          https://tug.org/svn/texlive?view=revision&revision=71085
Author:   karl
Date:     2024-04-26 23:26:13 +0200 (Fri, 26 Apr 2024)
Log Message:
-----------
easybook (26apr24)

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-04-26 21:26:00 UTC (rev 71084)
+++ trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex	2024-04-26 21:26:13 UTC (rev 71085)
@@ -23,8 +23,8 @@
     name            = easybook,
     color-scheme    = blue,
     title           = EASYBOOK使用手册,
-    version         = v2024az,
-    date            = 2024/04/24,
+    version         = v2024bb,
+    date            = 2024/04/26,
     authors         = 瞿毅,
     info            = 简便地排版中文学位论文或书籍,
     email           = toquyi at 163.com,
@@ -53,7 +53,7 @@
 \setlist[1]{labelindent = \parindent}
 \setlist[itemize,1]{label = smallbullet,leftmargin = *}
 \setcounter{tocdepth}{2}
-\SetTblrInner[longtblr]{hline{1,Z} = {1pt,DarkBlue}}
+\SetTblrInner[longtblr]{columns = c,hline{1,Z} = {1pt,DarkBlue}}
 \SetTblrOuter[longtblr]{presep = \bigskipamount,postsep = \bigskipamount}
 \DefTblrTemplate{caption-tag}{default}{表\thetable}
 \DefTblrTemplate{caption-sep}{default}{\quad}
@@ -242,7 +242,6 @@
 \begin{longtblr}
   [caption = 依赖的宏包清单,label = table:package list]
   {
-  colspec       = *{5}{c},
   cells = {cmd  = \pkg*},
   cell{1}{3,4}  = PaleTurquoise,
   cell{2}{5}    = PaleTurquoise,
@@ -294,9 +293,6 @@
   \setCJKmonofont{FangSong}
   \newCJKfontfamily[song]\songti{SimSun}
   \end{ctexexam}
-\end{options}
-
-\begin{options}
   \keychoice{font}{noto,times,times*,ebgaramond,libertine,palatino,\fbox{auto}}\dtag
   预置的英文字体相关配置方案如\ref{table:english font} 所示。这些字体已经包含在了 \hologo{TeXLive} 发行版中,所以通常不需要再专门安装。如果您想使用其它英文字体,可以使用 \pkg*{fontspec} 宏包的相关命令进行设置。
   \begin{longtblr}
@@ -303,9 +299,9 @@
   [
   caption = 英文字体预设方案,
   label = table:english font,
-  remark{\ding{72}} = \code{times*} 方案为 \textsf{windows} 系统的预置字体。
+  remark{\ding{72}} = \code{times*} 方案为 \textsf{windows} 系统的预置字体。,
+  postsep = \bigskipamount-\itemsep
   ]{
-  colspec   = @{}*{4}{c}@{},
   hline{2}  = {0.5pt,DarkBlue},
   row{1}    = {font = \sffamily},
   column{1} = {cmd = \code}
@@ -318,9 +314,6 @@
   palatino & TG Pagella & Libertinus Sans & LM Mono \\
   libertine & Libertinus Serif & Libertinus Sans & LM Mono
   \end{longtblr}
-\end{options}
-
-\begin{options}
   \keychoice{mathfont}{\fbox{times},noto,notosans,nc,ncf,stix2,charter,ebgaramond,libertine}\dtag
   \leftfillchoice{mathfont}{minion,garamondx,baskervaldx,baskerville,none} \\
   选择合适的数学字体,将会加载 \pkg*{newtxmath} 和 \pkg*{bm} 宏包。使用选项 \code{none} 时可以使用 \pkg*{unicode-math} 等其它数学字体宏包定义字体。
@@ -344,12 +337,11 @@
   \begin{longtblr}
   [caption = 模块功能和名称清单,label = table:module List]
   {
-  colspec   = @{}*{5}{c}@{},
   hline{3}  = {0.5pt,DarkBlue},
-  row{1,3}  = {font = \sffamily,belowsep = 0pt},
+  row{1,3}  = {font = \sffamily},
   row{2,4}  = {cmd = \module*}
   }
-  \hyperref[subsec:tools]{工具} & \hyperref[subsec:font]{字体} & \hyperref[subsec:spread]{行距} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{参考文献} \\
+  \hyperref[subsec:tools]{工具} & \hyperref[subsec:font]{部件字体} & \hyperref[subsec:spread]{行距} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{参考文献} \\
   tools & font & spread & ref & bib \\
   \hyperref[subsec:theorem]{定理} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog]{目录} & \\
   thmt & geo & hdr & toc &
@@ -499,7 +491,7 @@
   行间公式与下面正文间的额外距离。
 \end{options}
 
-\subsection[其它字体]{其它字体\smodule{font}}
+\subsection[部件字体]{部件字体\smodule{font}}
 \label{subsec:font}
 \begin{options}
   \keyval{caption-table}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
@@ -639,8 +631,8 @@
 \begin{commands}\noitemsep
   \command{listoftheorems}[\sarg\oarg{键值列表}]\default{}
   \item\key{listoftheorems}{定理目录标题名}
-  \command{settheoremtocline}[\sarg\marg{环境名}\marg{标题定义}]\newtagv{2024az}%
-  对 \pkg*{thmtools} 宏包的定理环境目录命令 \cs{listoftheorems} 进行了兼容调整,\ref{subsec:directory command} 和\ref{subsec:catalog} 中的选项机制均可用,但标题定义选项 \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令单独设置。在 \meta{标题定义} 中有三个命令 \cs{thmtname}、\cs{thmtenvname} 和 \cs{thmtnote} 分别代表定理名、定理环境名和题注用于排版目录条目。
+  \command{settheoremtocline}[\sarg\marg{环境名}\marg{标题定义}]\newtagv{2024bb}%
+  对 \pkg*{thmtools} 宏包的定理环境目录命令 \cs{listoftheorems} 进行了适配调整,\ref{subsec:directory command} 和\ref{subsec:catalog} 中的选项机制均可用,但标题定义选项 \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令单独设置。在 \meta{标题定义} 中有三个命令 \cs{thmtname}、\cs{thmtenvname} 和 \cs{thmtnote} 分别代表定理名、定理环境名和题注用于排版目录条目。
 \end{commands}
 
 \begin{commands}
@@ -872,10 +864,10 @@
   \keyval{tocindent}{刚性长度}\dtag
   目录条目左边的缩进距离,通常标题级别越低缩进越大。如果是段落型目录,仅在当前条目级别为段落中最高时有效。
   \keyval{tocrule}{引导线命令}\dtag
-  引导线选项 \option{tocrule} 中一般可以使用基于 \cs*{xleaders} 命令的 \cs{tocrule} 绘制引导线。
+  目录条目的引导线和页码。引导线可以使用基于 \cs*{xleaders} 命令的 \cs{tocrule} 绘制(同时输出页码),如果是一般不需要引导线的段落型目录,可以使用 \cs{thecontentspage} 命令输出页码。
   \begin{commands}
   \command{tocrule}[\sarg\harg\oarg{引导点间距}\darg{放大因子}\marg{引导点}\oarg{页码格式}]
-  生成目录引导线的命令,需要在引导线选项 \option{tocrule} 中使用。带有星号的命令与 \keyis{dotalign}{false} 效果相同。命令带 \harg{} 号参数不添加目录页码,此时无格式的页码被保存在 \cs{thecontentspage} 命令中,可以配合盒子命令设置不同的页码左右间距和对齐方式。\meta{引导点间距} 需带有长度单位,\meta{放大因子} 为 \meta{引导点} 的放大倍数。\meta{页码格式} 中最后一个命令可以带有一个参数为页码编号。
+  生成目录引导线的命令,需要在引导线选项 \option{tocrule} 中使用。带有星号的命令与 \keyis{dotalign}{false} 效果相同。命令带 \harg{} 号参数不输出目录页码,此时无格式的页码被保存在 \cs{thecontentspage} 命令中,可以配合盒子命令设置不同的页码左右间距和对齐方式。\meta{放大因子} 为 \meta{引导点} 的放大倍数。\meta{页码格式} 中最后一个命令可以带有一个参数用于接受页码。
   \end{commands}
   \keyval{toclabel}{标题标签定义}\dtag\newtagv{2024as}%
   目录中各类型条目标题标签的定义,可与 \option{tocline} 选项联用设置标题。其中参数 \code{\#1} 代表标签的编号 \cs{thecontentslabel},参数 \code{\#2} 代表 \meta{条目名}。定义最后的命令可带有一个参数,用于接受标题内容,一些特殊情况例如需要将标题内容放在标签后,可以通过定义命令实现:
@@ -907,7 +899,7 @@
 
 \begin{commands}
   \command{RegisterTocName}[\sarg\marg{条目名}]\newtagv[Changed]{2024as}%
-  给条目类型名称为 \meta{条目名} 的标题注册用于设置目录样式的选项,即选项前有符号 \ding{73} 表示需要注册后使用。前面提到的条目类型均已注册,新类型的条目注册后选项初始值与图表条目相同。带有星号参数的命令使注册目录的条目形成一个段落,此时多出下面三个选项可用:
+  给条目类型名称为 \meta{条目名} 的标题注册用于设置目录样式的选项,即选项前有符号 \ding{73} 表示需要注册后使用。前面提到的条目类型均已注册,新类型的条目注册后默认格式与图表条目相同。这个命令可以重复使用,会重置目录条目为默认格式。带有星号参数的命令使注册目录的条目形成一个段落,此时多出下面三个选项可用:
   \begin{options}
   \keyval{tocbegin}{开始代码}\dtag\newtagv{2024as}%
   当前级别目录条目第一个标题前的代码,仅在存在更高级别的条目时有效。
@@ -996,6 +988,7 @@
 
 \subsection{目录命令}
 \label{subsec:directory command}
+\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用。更多目录命令的创建和样式设置可参考\ref{subsec:catalog}。
 \begin{commands}
   \command{tableofcontents}[\sarg\oarg{键值列表}\darg{代码钩子}]
   章节标题目录命令,支持中英文双语标题目录输出。带有星号参数不输出目录条目上方的标题。\meta{代码钩子} 是当输出方案 \keyis{plan}{both} 时中文与英文目录之间执行的代码,可以插入设置目录样式和换页等命令。
@@ -1509,7 +1502,7 @@
   \item 新增段落型目录条目附加代码的选项 \option{tocbegin}、\option{tocsep} 和 \option{tocend}。
   \end{version}
   \shortversion{v = 2024aw,date = 2022/04/22,changes = 新增新建章节标题命令 \cs{NewTitleCommand} 和 \cs{NewTitleEntryCommand}。}
-  \shortversion{v = 2024az,date = 2022/04/24,changes = 增加对 \pkg*{thmtools} 宏包定理环境目录 \cs{listoftheorems} 的支持。}
+  \shortversion{v = 2024bb,date = 2022/04/26,changes = 增加对 \pkg*{thmtools} 宏包定理环境目录 \cs{listoftheorems} 的支持。}
 \end{changelog}
 \nocite{*}
 

Modified: trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2024-04-26 21:26:00 UTC (rev 71084)
+++ trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2024-04-26 21:26:13 UTC (rev 71085)
@@ -15,7 +15,7 @@
 %<*class>
 \NeedsTeXFormat{LaTeX2e}[2021/11/15]
 \RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2024/04/24}{2024az}
+\ProvidesExplClass{easybook}{2024/04/26}{2024bb}
   {Easily typesetting Chinese theses or books}
 
 \bool_new:N \l__eb_compile_draft_bool
@@ -297,7 +297,7 @@
 %<*package>
 \NeedsTeXFormat{LaTeX2e}[2021/11/15]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2024/04/24}{2024az}
+\ProvidesExplPackage{easybase}{2024/04/26}{2024bb}
   {Easily typesetting Chinese theses or books}
 
 \cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -1204,7 +1204,7 @@
         \l__eb_fnmarktext_format_tl \l__eb_fncustom_format_tl
       }
   }
-\NewDocumentCommand{\Footnote}{O{#2}mm}
+\NewDocumentCommand{\Footnote}{O{#2}m+m}
   {
     \group_begin:
     \eb_fncustom_format_initial:
@@ -1470,7 +1470,7 @@
           { \par }
       }
   }
-\cs_new_protected:Npn \eb_toc_float_list_parse:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \eb_toc_list_struct_parse:nnnnn #1#2#3#4#5
   {
     \group_begin:
     \tl_set_eq:Nc \eb at toc@title { list#4name }
@@ -1491,7 +1491,7 @@
 \cs_new_protected:Npn \DeclareFloatList #1#2
   {
     \exp_args:Nc \DeclareDocumentCommand { listof#1s }{st+o}
-      {\eb_toc_float_list_parse:nnnnn {##1} {##2} {##3} {#1} {#2}}
+      {\eb_toc_list_struct_parse:nnnnn {##1} {##2} {##3} {#1} {#2}}
     \ctex_define:n
       {
         #1 .meta:nn           = { ctex/#1 } {##1},
@@ -1538,7 +1538,7 @@
     \bool_if:NT \l__eb_toc_plan_cn_bool
       {
         \IfBooleanF{#1}{\eb at toc@title at level{\eb at toc@title}{}}
-        \eb_toc_if_title_between_hook:nn {#1} { main }
+        \eb_toc_if_title_between_hook:nn {#1} { title }
         \eb_toc_start_multi_column_ext:n { toc }#4
       }
     \bool_if:NT \l__eb_toc_plan_bi_bool
@@ -1546,7 +1546,7 @@
         \tl_if_eq:NnF \g__eb_bilist_permute_value_tl { mix }
           {
             \IfBooleanF{#1}{\eb at toc@title at level{\eb at bitoc@title}{}}
-            \eb_toc_if_title_between_hook:nn {#1} { bimain }
+            \eb_toc_if_title_between_hook:nn {#1} { bititle }
             \eb_toc_start_multi_column_ext:n { tec }
           }
       }
@@ -1667,13 +1667,30 @@
           }
       }
   }
+\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+  {
+    \normalsize\normalfont
+    \titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
+      {
+        \IfBooleanF{#2}
+          {
+            \IfBooleanTF{#1}
+              {\thecontentspage}
+              {
+                \bool_if:NTF \l__eb_toc_dot_align_bool
+                  { \contentspage }
+                  { \thecontentspage }
+              }
+          }
+      }
+  }
 \ctex_define:nn { toc }
   {
     lolskip .skip_set:N   = \eb at toc@lol at skip,
     lolskip .initial:n    = 10pt,
-    between .tl_set:N     = \l__eb_toc_main_between_hook_tl,
+    between .tl_set:N     = \l__eb_toc_title_between_hook_tl,
     between .initial:n    = \bool_if:NT \l__eb_class_mode_book_bool { \vspace*{-1pc} },
-    bibetween .tl_set:N   = \l__eb_toc_bimain_between_hook_tl,
+    bibetween .tl_set:N   = \l__eb_toc_bititle_between_hook_tl,
     bibetween .initial:n  = \bool_if:NT \l__eb_class_mode_book_bool { \vspace*{-1pc} },
     dotalign .bool_set:N  = \l__eb_toc_dot_align_bool,
     dotalign .default:n   = true,
@@ -1685,23 +1702,27 @@
     pagenumwd .initial:n  = 1.55em,
     unknown .code:n       = \eb_msg_deprecated_option:n { toc }
   }
-\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+
+\NewHookWithArguments{starttoc/after}{1}
+\AddToHookWithArguments{starttoc/after}[aux]
   {
-    \normalsize\normalfont
-    \titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
+    \ifbool{@filesw}
       {
-        \IfBooleanF{#2}
-          {
-            \IfBooleanTF{#1}
-              {\thecontentspage}
-              {
-                \bool_if:NTF \l__eb_toc_dot_align_bool
-                  { \contentspage }
-                  { \thecontentspage }
-              }
-          }
+        \tl_if_exist:cF { tf@#1 }
+          {\iow_new:c { tf@#1 }\iow_open:cn { tf@#1 } { \jobname.#1 }}
       }
+      {}
   }
+\cs_set:Npn \@starttoc #1
+  {
+    \group_begin:
+    \file_if_exist_input:n { \jobname.#1 }
+    \UseHookWithArguments{starttoc/after}{1}{#1}
+    \boolfalse{@nobreak}
+    \group_end:
+  }
+\AtEndDocument{\iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[aux] }}
+
 \cs_set_eq:NN \eb at ctexsetii \ctex_set:nn
 \cs_new_protected:Npn \SetTocStyle #1#2#3
   {
@@ -1716,6 +1737,7 @@
   }
 \msg_new:nnn { easybase } { undefined-toc-style }
   { The~contents~style~'#1'~of~'#2'~is~not~defined. }
+
 \ctex_set:n
   {
     part          =
@@ -1823,7 +1845,7 @@
   }
 \cs_new_protected:Npn \ebaddtofont #1#2
   {
-    \str_case:nnF {#1}
+    \str_case:nn {#1}
       {
         { table }
         { \tl_put_right:Nn \l__eb_font_caption_table_tl {#2} }
@@ -1837,8 +1859,11 @@
           \tl_put_right:Nn \l__eb_font_caption_figure_tl {#2}
           \tl_put_right:Nn \l__eb_font_caption_listing_tl {#2}
         }
+        { footnote }
+        { \tl_put_right:Nn \eb at font@footnote {#2} }
+        { marginpar }
+        { \tl_put_right:Nn \marginfont {#2} }
       }
-      { \tl_put_right:cn { l__eb_font_#1_tl } {#2} }
   }
 \ctex_define:nn { spread }
   {
@@ -2479,7 +2504,7 @@
   }
 %</package>
 %<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/04/24}{2024az}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/04/26}{2024bb}
   {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-04-26 21:26:00 UTC (rev 71084)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty	2024-04-26 21:26:13 UTC (rev 71085)
@@ -20,7 +20,7 @@
 %% This work has the LPPL maintenance status `maintained'.
 \NeedsTeXFormat{LaTeX2e}[2021/11/15]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2024/04/24}{2024az}
+\ProvidesExplPackage{easybase}{2024/04/26}{2024bb}
   {Easily typesetting Chinese theses or books}
 
 \cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -927,7 +927,7 @@
         \l__eb_fnmarktext_format_tl \l__eb_fncustom_format_tl
       }
   }
-\NewDocumentCommand{\Footnote}{O{#2}mm}
+\NewDocumentCommand{\Footnote}{O{#2}m+m}
   {
     \group_begin:
     \eb_fncustom_format_initial:
@@ -1193,7 +1193,7 @@
           { \par }
       }
   }
-\cs_new_protected:Npn \eb_toc_float_list_parse:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \eb_toc_list_struct_parse:nnnnn #1#2#3#4#5
   {
     \group_begin:
     \tl_set_eq:Nc \eb at toc@title { list#4name }
@@ -1214,7 +1214,7 @@
 \cs_new_protected:Npn \DeclareFloatList #1#2
   {
     \exp_args:Nc \DeclareDocumentCommand { listof#1s }{st+o}
-      {\eb_toc_float_list_parse:nnnnn {##1} {##2} {##3} {#1} {#2}}
+      {\eb_toc_list_struct_parse:nnnnn {##1} {##2} {##3} {#1} {#2}}
     \ctex_define:n
       {
         #1 .meta:nn           = { ctex/#1 } {##1},
@@ -1261,7 +1261,7 @@
     \bool_if:NT \l__eb_toc_plan_cn_bool
       {
         \IfBooleanF{#1}{\eb at toc@title at level{\eb at toc@title}{}}
-        \eb_toc_if_title_between_hook:nn {#1} { main }
+        \eb_toc_if_title_between_hook:nn {#1} { title }
         \eb_toc_start_multi_column_ext:n { toc }#4
       }
     \bool_if:NT \l__eb_toc_plan_bi_bool
@@ -1269,7 +1269,7 @@
         \tl_if_eq:NnF \g__eb_bilist_permute_value_tl { mix }
           {
             \IfBooleanF{#1}{\eb at toc@title at level{\eb at bitoc@title}{}}
-            \eb_toc_if_title_between_hook:nn {#1} { bimain }
+            \eb_toc_if_title_between_hook:nn {#1} { bititle }
             \eb_toc_start_multi_column_ext:n { tec }
           }
       }
@@ -1390,13 +1390,30 @@
           }
       }
   }
+\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+  {
+    \normalsize\normalfont
+    \titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
+      {
+        \IfBooleanF{#2}
+          {
+            \IfBooleanTF{#1}
+              {\thecontentspage}
+              {
+                \bool_if:NTF \l__eb_toc_dot_align_bool
+                  { \contentspage }
+                  { \thecontentspage }
+              }
+          }
+      }
+  }
 \ctex_define:nn { toc }
   {
     lolskip .skip_set:N   = \eb at toc@lol at skip,
     lolskip .initial:n    = 10pt,
-    between .tl_set:N     = \l__eb_toc_main_between_hook_tl,
+    between .tl_set:N     = \l__eb_toc_title_between_hook_tl,
     between .initial:n    = \bool_if:NT \l__eb_class_mode_book_bool { \vspace*{-1pc} },
-    bibetween .tl_set:N   = \l__eb_toc_bimain_between_hook_tl,
+    bibetween .tl_set:N   = \l__eb_toc_bititle_between_hook_tl,
     bibetween .initial:n  = \bool_if:NT \l__eb_class_mode_book_bool { \vspace*{-1pc} },
     dotalign .bool_set:N  = \l__eb_toc_dot_align_bool,
     dotalign .default:n   = true,
@@ -1408,23 +1425,27 @@
     pagenumwd .initial:n  = 1.55em,
     unknown .code:n       = \eb_msg_deprecated_option:n { toc }
   }
-\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+
+\NewHookWithArguments{starttoc/after}{1}
+\AddToHookWithArguments{starttoc/after}[aux]
   {
-    \normalsize\normalfont
-    \titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
+    \ifbool{@filesw}
       {
-        \IfBooleanF{#2}
-          {
-            \IfBooleanTF{#1}
-              {\thecontentspage}
-              {
-                \bool_if:NTF \l__eb_toc_dot_align_bool
-                  { \contentspage }
-                  { \thecontentspage }
-              }
-          }
+        \tl_if_exist:cF { tf@#1 }
+          {\iow_new:c { tf@#1 }\iow_open:cn { tf@#1 } { \jobname.#1 }}
       }
+      {}
   }
+\cs_set:Npn \@starttoc #1
+  {
+    \group_begin:
+    \file_if_exist_input:n { \jobname.#1 }
+    \UseHookWithArguments{starttoc/after}{1}{#1}
+    \boolfalse{@nobreak}
+    \group_end:
+  }
+\AtEndDocument{\iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[aux] }}
+
 \cs_set_eq:NN \eb at ctexsetii \ctex_set:nn
 \cs_new_protected:Npn \SetTocStyle #1#2#3
   {
@@ -1439,6 +1460,7 @@
   }
 \msg_new:nnn { easybase } { undefined-toc-style }
   { The~contents~style~'#1'~of~'#2'~is~not~defined. }
+
 \ctex_set:n
   {
     part          =
@@ -1546,7 +1568,7 @@
   }
 \cs_new_protected:Npn \ebaddtofont #1#2
   {
-    \str_case:nnF {#1}
+    \str_case:nn {#1}
       {
         { table }
         { \tl_put_right:Nn \l__eb_font_caption_table_tl {#2} }
@@ -1560,8 +1582,11 @@
           \tl_put_right:Nn \l__eb_font_caption_figure_tl {#2}
           \tl_put_right:Nn \l__eb_font_caption_listing_tl {#2}
         }
+        { footnote }
+        { \tl_put_right:Nn \eb at font@footnote {#2} }
+        { marginpar }
+        { \tl_put_right:Nn \marginfont {#2} }
       }
-      { \tl_put_right:cn { l__eb_font_#1_tl } {#2} }
   }
 \ctex_define:nn { spread }
   {

Modified: trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2024-04-26 21:26:00 UTC (rev 71084)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2024-04-26 21:26:13 UTC (rev 71085)
@@ -20,7 +20,7 @@
 %% This work has the LPPL maintenance status `maintained'.
 \NeedsTeXFormat{LaTeX2e}[2021/11/15]
 \RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2024/04/24}{2024az}
+\ProvidesExplClass{easybook}{2024/04/26}{2024bb}
   {Easily typesetting Chinese theses or books}
 
 \bool_new:N \l__eb_compile_draft_bool

Modified: trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg	2024-04-26 21:26:00 UTC (rev 71084)
+++ trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg	2024-04-26 21:26:13 UTC (rev 71085)
@@ -18,7 +18,7 @@
 %% LaTeX version 2005/12/01 or later.
 %% 
 %% This work has the LPPL maintenance status `maintained'.
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/04/24}{2024az}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/04/26}{2024bb}
   {Customization of tcolorbox for easybook}
 
 \cs_set_protected:Npn \addtotcbstyle #1#2



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