texlive[62005] Master/texmf-dist: easybook (13feb22)

commits+karl at tug.org commits+karl at tug.org
Sun Feb 13 22:25:26 CET 2022


Revision: 62005
          http://tug.org/svn/texlive?view=revision&revision=62005
Author:   karl
Date:     2022-02-13 22:25:26 +0100 (Sun, 13 Feb 2022)
Log Message:
-----------
easybook (13feb22)

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	2022-02-13 21:25:05 UTC (rev 62004)
+++ trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex	2022-02-13 21:25:26 UTC (rev 62005)
@@ -21,8 +21,8 @@
     name            = easybook,
     color-scheme    = blue,
     title           = EASYBOOK 使用手册,
-    version         = v1.624,
-    date            = 2022/02/12,
+    version         = v1.625,
+    date            = 2022/02/13,
     authors         = 瞿毅,
     info            = 排版简体中文学位论文和书籍,
     email           = q1jx at foxmail.com,
@@ -331,24 +331,24 @@
 
 \subsection{目录命令}
 \begin{commands}
-  \command{tableofcontents}[\parg\oarg{键值列表}\darg{附加代码}]
-  文档主目录命令。带有 \parg{} 号参数的命令输出双语目录,需要与双语目录标题命令 \cs{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用,附加代码是中文与英文目录之间的代码,可以插入目录样式和换页等命令。
-  \command{listoffigures}[\sarg\parg\oarg{键值列表}]
-  输出图片目录命令。带有星号的目录命令不将目录标题添加进文档主目录,带有 \parg{} 号的目录命令可以使当前标题编号。
-  \command{listoftables}[\sarg\parg\oarg{键值列表}]
-  输出表格目录命令。带有星号的目录命令不将目录标题添加进文档主目录,带有 \parg{} 号的目录命令可以使当前标题编号。
-  \command{listoflstlistings}[\sarg\parg\oarg{键值列表}]
-  输出代码目录命令。带有星号的目录命令不将目录标题添加进文档主目录,带有 \parg{} 号的目录命令可以使当前标题编号。
+  \command{tableofcontents}[\sarg\oarg{键值列表}\darg{附加代码}]
+  文档主目录命令。带有星号参数的命令不输出目录标题。带有 \parg{} 号参数的命令输出双语目录,需要与双语目录标题命令 \cs{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用。附加代码是中文与英文主目录之间的代码,可以插入目录样式和换页等命令。
+  \command{listoffigures}[\sarg\oarg{键值列表}]
+  输出图片目录命令。带有星号参数的命令不输出目录标题。
+  \command{listoftables}[\sarg\oarg{键值列表}]
+  输出表格目录命令。带有星号参数的命令不输出目录标题。
+  \command{listoflstlistings}[\sarg\oarg{键值列表}]
+  输出代码目录命令。带有星号参数的命令不输出目录标题。
 \end{commands}
 
-上面目录命令的可选参数改进了原本单一的功能,其中 \meta{键值列表} 的选项如下:
+如果需要部分而不是全文的目录或其它类型的目录,可以查看 \pkg*{titletoc} 宏包的相关命令。上面目录命令的可选参数改进了原本单一的功能,其中 \meta{键值列表} 的选项如下:
 \begin{options}
-  \opt{chapter}
-  使当前目录标题按照 \code{chapter} 章级别输出。
-  \opt{section}
-  使当前目录标题按照 \code{section} 节级别输出。
-  \opt{none}
-  使当前目录没有 \code{chapter} 或 \code{section} 级别的标题,仅输出目录原始内容。
+  \keyval{level}{标题命令}\newtag
+  设定输出目录标题的命令。如果使用 \option{title} 选项设置了双语标题则需要配合双语标题命令。
+  \begin{ctexexam}
+  \tableofcontents[level = \chapter*]
+  \listoffigures[level = \bichapter,title = {图片索引,List of Figures}]
+  \end{ctexexam}
   \keyval{multoc}{整数}\Default{2}
   与 \module*{style} 模块的 \option{multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同类型目录的排版栏数。\meta{整数} 为目录栏数,不指定栏数值则默认为双栏。
   \kvsplit{title}{中文目录标题,英文目录标题}
@@ -356,10 +356,10 @@
   \keychoice{bilist}{mix,new}\Default{new}
   确定文档主目录中双语标题列表的输出排列方式。选项 \code{mix} 使每个英文标题条目在中文目录中跟随对应的中文标题输出,\code{new} 则新建一个英文目录输出英文标题。
   \keyval{format}{目录标题格式}
-  在 \cls*{book} 模式且 \option{chapter} 选项开启或者 \cls*{article} 模式的情况下,\option{format} 用于设置目录标题的格式。
-  \keyval{aftertitle}{目录标题格式}
-  目录标题文本之后插入的代码。
-  \keyval{pagestyle}{标题页的页面格式}\Default{empty}
+  设置目录标题的格式,在标题级别为 \code{chapter} 或者 \cls*{article} 模式且标题级别为 \code{section} 时有效。
+  \keyval{aftertitle}{标题后代码}
+  目录标题文本之后插入的代码,生效情形同上。
+  \keyval{pagestyle}{页面风格}\Default{empty}
   目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。除了上述选项还支持 C\TeX 键值列表路径 \module*{chapter} 或 \module*{section} 所有的章节标题样式选项。
 \end{options}
 
@@ -937,7 +937,7 @@
   \keyval{lolskip}{弹性长度}\Default{10pt}
   代码目录中每章第一个条目上方增加的垂直距离。与 C\TeX 的表格和图片目录中每章间的条目距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。
   \keyval{between}{代码钩子}
-  目录标题与内容间的钩子,一般插入负的垂直距离代码用于抵消目录首行额外的垂直间距。一级路径此选项对应文档主目录的钩子,二级路径为 \module*{figure}、\module*{table} 和 \module*{lstlisting},或者用位于 \module*{list} 路径的此选项统一设置相应类型目录的钩子。
+  目录标题与内容间的钩子(作用于标题下方间距之后),一般插入负的垂直距离代码用于抵消目录首行额外的垂直间距。一级路径此选项对应文档主目录的钩子,二级路径为 \module*{figure}、\module*{table} 和 \module*{lstlisting},或者用位于 \module*{list} 路径的此选项统一设置相应类型目录的钩子。
   \keybool{dotalign}\Default{true}
   引导线选项 \option{dotalign} 可以使目录引导线右端对齐并与页码保持一定间距,否则会与页码相连。
   \keyval{pagenumwd}{刚性长度}\Default{1.55em}
@@ -1231,7 +1231,7 @@
   索引标签命令 \cs*{index} 的 \meta{索引名} 与索引打印命令 \cs{printindex} 一致,可以存在多个索引表。
   \command*{makeindex}[\oarg{键值列表}]
   使用 \cs*{makeindex} 命令开启索引收集。这个命令可以重复使用打印多个索引表,以不同的 \meta{索引名} 作为区分,如果仅打印一个索引表就没必要再使用。
-  \command{printindex}[\sarg\parg\oarg{键值列表}\darg{索引名}]
+  \command{printindex}[\sarg\oarg{键值列表}\darg{索引名}]
   现在索引表生成命令 \cs{printindex} 被重新定义,\meta{键值列表} 中的选项与\ref{sec:document command} 其它目录命令相同,但是原本接口命令 \cs*{indexsetup} 的部分选项失效。
 \end{commands}
 
@@ -1277,7 +1277,12 @@
   \item 文档类移除预置的定理环境,改为由用户自行定义环境。
   \item 考虑到功能性和实用性不强弃用摘要环境 \env*{outline} 和习题环境 \env*{exercise}。
   \end{version}
-  \shortversion{v = 1.624,date = 2022/02/12,changes = 增加目录条目下方执行的代码选项 \option{tocbelow}。}
+  \begin{version}[v = 1.625,date = 2022/02/13]
+  \added
+  \item 增加目录条目下方执行的代码选项 \option{tocbelow}。
+  \changed
+  \item 目录改用标题级别选项 \option{level} 设定标题命令,不输出标题则使用星号参数。
+  \end{version}
 \end{changelog}
 \nocite{*}
 

Modified: trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2022-02-13 21:25:05 UTC (rev 62004)
+++ trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2022-02-13 21:25:26 UTC (rev 62005)
@@ -15,7 +15,7 @@
 %<*class>
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2022/02/12}{1.624}
+\ProvidesExplClass{easybook}{2022/02/13}{1.625}
   {Typeset Chinese theses or books}
 
 \bool_set_false:N \l__eb_compile_draft_bool
@@ -48,8 +48,6 @@
         \bool_set_false:N \l__eb_class_mode_book_bool
         \eb_put_ctexbook:n { oneside }
       },
-    book .meta:n                = { class = book },
-    article .meta:n             = { class = article },
     config .clist_gset:N        = \g__eb_config_file_clist,
     floatpage .bool_set:N       = \l__eb_float_page_bool,
     theorem .bool_set:N         = \l__eb_theorem_support_bool,
@@ -305,7 +303,7 @@
 %<*package>
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/02/12}{1.624}
+\ProvidesExplPackage{easybase}{2022/02/13}{1.625}
   {Typeset Chinese theses or books}
 
 \cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -384,13 +382,13 @@
 \msg_new:nnn { easybase } { package-repeat-load-ii }
   { The~macro~package~'#1'~has~been~loaded~repeatedly. }
 \cs_set_eq:NN \eb at usepackage@save \usepackage
-\RenewDocumentCommand{\usepackage}{O{}m}
+\RenewDocumentCommand{\usepackage}{O{}mO{}}
   {
     \PassOptionsToPackage{#1}{#2}
     \eb_seq_map_inline:nn {#2}
       {
         \eb_if_package_loaded:nnF {##1} {#1}
-          { \eb at usepackage@save{##1} }
+          { \eb at usepackage@save{##1}[#3] }
       }
   }
 \NewDocumentCommand{\LoadPackage}{O{}m}
@@ -492,7 +490,7 @@
 \msg_new:nnn { easybase } { no-chapter }
   {
     Your~document~class~is~in~'article'~mode. \\
-    The~\string\chapter\ command~will~not~be~used.
+    The~'\string\chapter'\ command~will~not~be~used.
   }
 
 \LoadPackage
@@ -1425,12 +1423,7 @@
             \CTEX at addtocline{#1}{##2}
             \tl_if_empty:oF {##4} { \CTEX at addbitocline{#1}{##4} }
             \tl_set:Nn \l__eb__bitoc_mark_title_level_tl {#1}
-            \str_case:nn {#1}
-              {
-                { chapter } { \chaptermark{##2} }
-                { section } { \sectionmark{##2} }
-                { subsection } { \subsectionmark{##2} }
-              }
+            \use:c { #1mark }{##2}
           }{
             \stepcounter{bi#1}
             \use:c {#1}[##2]{##3}
@@ -1472,16 +1465,19 @@
       }
   }
 
-\tl_set:Nx \l__eb_toc_title_level_tl
-  { \bool_if:NTF \l__eb_class_mode_book_bool { chapter } { section } }
 \tl_new:N \eb at bitoc@title
 \keys_define:nn { eb/listoc }
   {
-    section .code:n   = \tl_set:Nn \l__eb_toc_title_level_tl { section },
-    chapter .code:n   = \tl_set:Nn \l__eb_toc_title_level_tl { chapter },
-    none .code:n      = \tl_set:Nn \l__eb_toc_title_level_tl { none },
-    article .meta:n   = section,
-    book .meta:n      = chapter,
+    level .tl_set:N   = \eb at toc@title at level,
+    level .initial:n  =
+      {
+        \bool_if:NTF \l__eb_class_mode_book_bool
+          { \bichapter* }
+          { \bisection* }
+      },
+    section .meta:n   = { level = \bisection* },
+    chapter .meta:n   = { level = \bichapter* },
+    none .code:n      = { },
     multoc .int_set:N = \l__eb_toc_columns_int,
     multoc .default:n = 2,
     multoc .initial:n = 1,
@@ -1502,49 +1498,8 @@
       { \tl_clear:N \eb at bitoc@title }
       { \tl_set:Nn \eb at bitoc@title {#2} }
   }
-
-\cs_new_protected:Npn \eb_toc_title_level_initial:
+\cs_new_protected:Npn \eb_biber_toc_title:n #1
   {
-    \bool_if:NF \l__eb_class_mode_book_bool
-      {
-        \tl_if_eq:NnT \l__eb_toc_title_level_tl { chapter }
-          { \tl_set:Nn \l__eb_toc_title_level_tl { section } }
-      }
-  }
-\cs_new_protected:Npn \eb_title_mark_intoc:n #1
-  {
-    \str_case:Vn \l__eb_toc_title_level_tl
-      {
-        { chapter } { \bichapter*{#1}{\eb at bitoc@title} }
-        { section } { \bisection*{#1}{\eb at bitoc@title} }
-      }
-  }
-\cs_new_protected:Npn \eb_title_mark_notoc:n #1
-  {
-    \str_case:Vn \l__eb_toc_title_level_tl
-      {
-        { chapter } { \chapter*{\phantomsection #1}\chaptermark{#1} }
-        { section } { \section*{\phantomsection #1}\sectionmark{#1} }
-      }
-  }
-\cs_new_protected:Npn \eb_title_number_intoc_spec:nn #1#2
-  {
-    \eb_toc_title_level_initial:
-    \IfBooleanTF{#1}
-      {
-        \str_case:Vn \l__eb_toc_title_level_tl
-          {
-            { chapter } { \bichapter{\eb at toc@title}{\eb at bitoc@title} }
-            { section } { \bisection{\eb at toc@title}{\eb at bitoc@title} }
-          }
-      }{
-        \IfBooleanTF{#2}
-          {\eb_title_mark_notoc:n { \eb at toc@title }}
-          {\eb_title_mark_intoc:n { \eb at toc@title }}
-      }
-  }
-\cs_new_protected:Npn \eb_biber_title_level_spec:n #1
-  {
     \bool_if:NTF \l__eb_class_mode_book_bool
       { \bichapter*{#1}{\eb at bib@bitoc at title} }
       { \bisection*{#1}{\eb at bib@bitoc at title} }
@@ -1560,18 +1515,23 @@
       }
       { \@starttoc{#1} }
   }
-\cs_new_protected:Npn \eb_toc_if_title_between_hook:n #1
+\cs_new_protected:Npn \eb_toc_if_title_between_hook:nn #1#2
   {
-    \tl_if_eq:NnF \l__eb_toc_title_level_tl { none }
-      { \tl_use:c { l__eb_toc_#1_between_hook_tl } }
+    \IfBooleanF{#1}
+      {\tl_use:c { l__eb_toc_#2_between_hook_tl }}
   }
+\cs_new_protected:Npn \eb_toc_title_level_cmd:n #1
+  {
+    \IfBooleanF{#1}
+      {\eb at toc@title at level{\eb at toc@title}{\eb at bitoc@title}}
+  }
 \cs_new_protected:Npn \eb_toc_list_parse:nnnnn #1#2#3#4#5
   {
     \group_begin:
     \tl_set_eq:Nc \eb at toc@title { list#4name }
     \IfValueT{#3}{\keys_set:nn { eb/listoc } {#3}}
-    \eb_title_number_intoc_spec:nn {#2} {#1}
-    \eb_toc_if_title_between_hook:n {#4}
+    \eb_toc_title_level_cmd:n {#1}
+    \eb_toc_if_title_between_hook:nn {#1} {#4}
     \eb_toc_start_multi_column_ext:n {#5}
     \group_end:
   }
@@ -1588,20 +1548,25 @@
   }
   { \eb_list_content_cmd_set:nn #1 }
 \cs_set_eq:NN \listoflistings \listoflstlistings
-\RenewDocumentCommand{\tableofcontents}{t+oD(){}}
+\RenewDocumentCommand{\tableofcontents}{st+oD(){}}
   {
     \group_begin:
     \tl_set_eq:NN \eb at toc@title \contentsname
     \tl_set:Nn \eb at bitoc@title { Contents }
-    \IfValueT{#2}{\keys_set:nn { eb/listoc } {#2}}
-    \eb_toc_title_level_initial:
-    \eb_title_mark_notoc:n { \eb at toc@title }
-    \eb_toc_if_title_between_hook:n { main }
-    \eb_toc_start_multi_column_ext:n { toc }#3
-    \IfBooleanT{#1}
+    \tl_set:Nn \eb at toc@title at level
       {
-        \eb_title_mark_notoc:n { \eb at bitoc@title }
-        \eb_toc_if_title_between_hook:n { main }
+        \bool_if:NTF \l__eb_class_mode_book_bool
+          { \chapter* }
+          { \section* }
+      }
+    \IfValueT{#3}{\keys_set:nn { eb/listoc } {#3}}
+    \IfBooleanF{#1}{\eb at toc@title at level{\eb at toc@title}{}}
+    \eb_toc_if_title_between_hook:nn {#1} { main }
+    \eb_toc_start_multi_column_ext:n { toc }#4
+    \IfBooleanT{#2}
+      {
+        \IfBooleanF{#1}{\eb at toc@title at level{\eb at bitoc@title}{}}
+        \eb_toc_if_title_between_hook:nn {#1} { main }
         \eb_toc_start_multi_column_ext:n { tec }
       }
     \group_end:
@@ -1619,7 +1584,7 @@
         \IfValueT{#3}{\keys_set:nn { eb/listoc } {#3}}
         \cs_set_protected:Npn \imki at indexheaders
           {
-            \eb_title_number_intoc_spec:nn {#2} {#1}
+            \eb_toc_title_level_cmd:n {#1}
             \cs_set_eq:NN \thispagestyle \use_none:n
             \cs_undefine:N \imki at firstpagestyle
           }
@@ -1727,7 +1692,7 @@
         caption-listing = #1
       },
     caption-every .initial:n  = 1.2,
-    every .meta:n             = 
+    every .meta:n             =
       {
         line = #1,table = #1,math = #1,
         caption-every = #1,footnote = #1
@@ -2025,7 +1990,7 @@
         \IfValueT{##3}{ \keys_set:nn { eb/listoc } {##3} }
         \cs_set_protected:Npn \bibsection
           {
-            \eb_title_number_intoc_spec:nn {##2} {##1}
+            \eb_toc_title_level_cmd:n {##1}
             \int_compare:nNnT { \l__eb_toc_columns_int } > { 1 }
               { \begin{multicols}{\int_use:N \l__eb_toc_columns_int} }
           }
@@ -2054,7 +2019,7 @@
     \LoadPackage[backend = biber]{biblatex}
     \clist_map_function:NN \l__eb_bib_datafile_clist \addbibresource
     \tl_gset:Nn \blx at default@theheading { bibintoc }
-    \defbibheading{bibintoc}[\bibname]{\eb_biber_title_level_spec:n {##1}}
+    \defbibheading{bibintoc}[\bibname]{\eb_biber_toc_title:n {##1}}
     \skip_zero:N \bibitemsep
   }
 \eb_at_end_preamble:n
@@ -2281,11 +2246,9 @@
     \keys_set_known:nn { ctex }
       {
         contentsname        = 目\hspace{1em}录,
-        indexname           = 索\hspace{1em}引,
-        abstractname        = 摘\hspace{1em}要,
-        listfigurename      = 图片索引,
-        listtablename       = 表格索引,
-        lstlistlistingname  = 代码索引,
+        listfigurename      = 插图清单,
+        listtablename       = 附表清单,
+        lstlistlistingname  = 代码清单,
         lstlistingname      = 代码
       }
   }
@@ -2292,7 +2255,6 @@
   {
     \keys_set_known:nn { ctex }
       {
-        abstractname        = Abstract,
         lstlistlistingname  = List~of~Codes,
         lstlistingname      = Code
       }
@@ -2299,7 +2261,7 @@
   }
 %</package>
 %<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/12}{1.624}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/13}{1.625}
   {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	2022-02-13 21:25:05 UTC (rev 62004)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty	2022-02-13 21:25:26 UTC (rev 62005)
@@ -20,7 +20,7 @@
 %% This work has the LPPL maintenance status `maintained'.
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/02/12}{1.624}
+\ProvidesExplPackage{easybase}{2022/02/13}{1.625}
   {Typeset Chinese theses or books}
 
 \cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -99,13 +99,13 @@
 \msg_new:nnn { easybase } { package-repeat-load-ii }
   { The~macro~package~'#1'~has~been~loaded~repeatedly. }
 \cs_set_eq:NN \eb at usepackage@save \usepackage
-\RenewDocumentCommand{\usepackage}{O{}m}
+\RenewDocumentCommand{\usepackage}{O{}mO{}}
   {
     \PassOptionsToPackage{#1}{#2}
     \eb_seq_map_inline:nn {#2}
       {
         \eb_if_package_loaded:nnF {##1} {#1}
-          { \eb at usepackage@save{##1} }
+          { \eb at usepackage@save{##1}[#3] }
       }
   }
 \NewDocumentCommand{\LoadPackage}{O{}m}
@@ -207,7 +207,7 @@
 \msg_new:nnn { easybase } { no-chapter }
   {
     Your~document~class~is~in~'article'~mode. \\
-    The~\string\chapter\ command~will~not~be~used.
+    The~'\string\chapter'\ command~will~not~be~used.
   }
 
 \LoadPackage
@@ -1140,12 +1140,7 @@
             \CTEX at addtocline{#1}{##2}
             \tl_if_empty:oF {##4} { \CTEX at addbitocline{#1}{##4} }
             \tl_set:Nn \l__eb__bitoc_mark_title_level_tl {#1}
-            \str_case:nn {#1}
-              {
-                { chapter } { \chaptermark{##2} }
-                { section } { \sectionmark{##2} }
-                { subsection } { \subsectionmark{##2} }
-              }
+            \use:c { #1mark }{##2}
           }{
             \stepcounter{bi#1}
             \use:c {#1}[##2]{##3}
@@ -1187,16 +1182,19 @@
       }
   }
 
-\tl_set:Nx \l__eb_toc_title_level_tl
-  { \bool_if:NTF \l__eb_class_mode_book_bool { chapter } { section } }
 \tl_new:N \eb at bitoc@title
 \keys_define:nn { eb/listoc }
   {
-    section .code:n   = \tl_set:Nn \l__eb_toc_title_level_tl { section },
-    chapter .code:n   = \tl_set:Nn \l__eb_toc_title_level_tl { chapter },
-    none .code:n      = \tl_set:Nn \l__eb_toc_title_level_tl { none },
-    article .meta:n   = section,
-    book .meta:n      = chapter,
+    level .tl_set:N   = \eb at toc@title at level,
+    level .initial:n  =
+      {
+        \bool_if:NTF \l__eb_class_mode_book_bool
+          { \bichapter* }
+          { \bisection* }
+      },
+    section .meta:n   = { level = \bisection* },
+    chapter .meta:n   = { level = \bichapter* },
+    none .code:n      = { },
     multoc .int_set:N = \l__eb_toc_columns_int,
     multoc .default:n = 2,
     multoc .initial:n = 1,
@@ -1217,49 +1215,8 @@
       { \tl_clear:N \eb at bitoc@title }
       { \tl_set:Nn \eb at bitoc@title {#2} }
   }
-
-\cs_new_protected:Npn \eb_toc_title_level_initial:
+\cs_new_protected:Npn \eb_biber_toc_title:n #1
   {
-    \bool_if:NF \l__eb_class_mode_book_bool
-      {
-        \tl_if_eq:NnT \l__eb_toc_title_level_tl { chapter }
-          { \tl_set:Nn \l__eb_toc_title_level_tl { section } }
-      }
-  }
-\cs_new_protected:Npn \eb_title_mark_intoc:n #1
-  {
-    \str_case:Vn \l__eb_toc_title_level_tl
-      {
-        { chapter } { \bichapter*{#1}{\eb at bitoc@title} }
-        { section } { \bisection*{#1}{\eb at bitoc@title} }
-      }
-  }
-\cs_new_protected:Npn \eb_title_mark_notoc:n #1
-  {
-    \str_case:Vn \l__eb_toc_title_level_tl
-      {
-        { chapter } { \chapter*{\phantomsection #1}\chaptermark{#1} }
-        { section } { \section*{\phantomsection #1}\sectionmark{#1} }
-      }
-  }
-\cs_new_protected:Npn \eb_title_number_intoc_spec:nn #1#2
-  {
-    \eb_toc_title_level_initial:
-    \IfBooleanTF{#1}
-      {
-        \str_case:Vn \l__eb_toc_title_level_tl
-          {
-            { chapter } { \bichapter{\eb at toc@title}{\eb at bitoc@title} }
-            { section } { \bisection{\eb at toc@title}{\eb at bitoc@title} }
-          }
-      }{
-        \IfBooleanTF{#2}
-          {\eb_title_mark_notoc:n { \eb at toc@title }}
-          {\eb_title_mark_intoc:n { \eb at toc@title }}
-      }
-  }
-\cs_new_protected:Npn \eb_biber_title_level_spec:n #1
-  {
     \bool_if:NTF \l__eb_class_mode_book_bool
       { \bichapter*{#1}{\eb at bib@bitoc at title} }
       { \bisection*{#1}{\eb at bib@bitoc at title} }
@@ -1275,18 +1232,23 @@
       }
       { \@starttoc{#1} }
   }
-\cs_new_protected:Npn \eb_toc_if_title_between_hook:n #1
+\cs_new_protected:Npn \eb_toc_if_title_between_hook:nn #1#2
   {
-    \tl_if_eq:NnF \l__eb_toc_title_level_tl { none }
-      { \tl_use:c { l__eb_toc_#1_between_hook_tl } }
+    \IfBooleanF{#1}
+      {\tl_use:c { l__eb_toc_#2_between_hook_tl }}
   }
+\cs_new_protected:Npn \eb_toc_title_level_cmd:n #1
+  {
+    \IfBooleanF{#1}
+      {\eb at toc@title at level{\eb at toc@title}{\eb at bitoc@title}}
+  }
 \cs_new_protected:Npn \eb_toc_list_parse:nnnnn #1#2#3#4#5
   {
     \group_begin:
     \tl_set_eq:Nc \eb at toc@title { list#4name }
     \IfValueT{#3}{\keys_set:nn { eb/listoc } {#3}}
-    \eb_title_number_intoc_spec:nn {#2} {#1}
-    \eb_toc_if_title_between_hook:n {#4}
+    \eb_toc_title_level_cmd:n {#1}
+    \eb_toc_if_title_between_hook:nn {#1} {#4}
     \eb_toc_start_multi_column_ext:n {#5}
     \group_end:
   }
@@ -1303,20 +1265,25 @@
   }
   { \eb_list_content_cmd_set:nn #1 }
 \cs_set_eq:NN \listoflistings \listoflstlistings
-\RenewDocumentCommand{\tableofcontents}{t+oD(){}}
+\RenewDocumentCommand{\tableofcontents}{st+oD(){}}
   {
     \group_begin:
     \tl_set_eq:NN \eb at toc@title \contentsname
     \tl_set:Nn \eb at bitoc@title { Contents }
-    \IfValueT{#2}{\keys_set:nn { eb/listoc } {#2}}
-    \eb_toc_title_level_initial:
-    \eb_title_mark_notoc:n { \eb at toc@title }
-    \eb_toc_if_title_between_hook:n { main }
-    \eb_toc_start_multi_column_ext:n { toc }#3
-    \IfBooleanT{#1}
+    \tl_set:Nn \eb at toc@title at level
       {
-        \eb_title_mark_notoc:n { \eb at bitoc@title }
-        \eb_toc_if_title_between_hook:n { main }
+        \bool_if:NTF \l__eb_class_mode_book_bool
+          { \chapter* }
+          { \section* }
+      }
+    \IfValueT{#3}{\keys_set:nn { eb/listoc } {#3}}
+    \IfBooleanF{#1}{\eb at toc@title at level{\eb at toc@title}{}}
+    \eb_toc_if_title_between_hook:nn {#1} { main }
+    \eb_toc_start_multi_column_ext:n { toc }#4
+    \IfBooleanT{#2}
+      {
+        \IfBooleanF{#1}{\eb at toc@title at level{\eb at bitoc@title}{}}
+        \eb_toc_if_title_between_hook:nn {#1} { main }
         \eb_toc_start_multi_column_ext:n { tec }
       }
     \group_end:
@@ -1334,7 +1301,7 @@
         \IfValueT{#3}{\keys_set:nn { eb/listoc } {#3}}
         \cs_set_protected:Npn \imki at indexheaders
           {
-            \eb_title_number_intoc_spec:nn {#2} {#1}
+            \eb_toc_title_level_cmd:n {#1}
             \cs_set_eq:NN \thispagestyle \use_none:n
             \cs_undefine:N \imki at firstpagestyle
           }
@@ -1740,7 +1707,7 @@
         \IfValueT{##3}{ \keys_set:nn { eb/listoc } {##3} }
         \cs_set_protected:Npn \bibsection
           {
-            \eb_title_number_intoc_spec:nn {##2} {##1}
+            \eb_toc_title_level_cmd:n {##1}
             \int_compare:nNnT { \l__eb_toc_columns_int } > { 1 }
               { \begin{multicols}{\int_use:N \l__eb_toc_columns_int} }
           }
@@ -1769,7 +1736,7 @@
     \LoadPackage[backend = biber]{biblatex}
     \clist_map_function:NN \l__eb_bib_datafile_clist \addbibresource
     \tl_gset:Nn \blx at default@theheading { bibintoc }
-    \defbibheading{bibintoc}[\bibname]{\eb_biber_title_level_spec:n {##1}}
+    \defbibheading{bibintoc}[\bibname]{\eb_biber_toc_title:n {##1}}
     \skip_zero:N \bibitemsep
   }
 \eb_at_end_preamble:n
@@ -1996,11 +1963,9 @@
     \keys_set_known:nn { ctex }
       {
         contentsname        = 目\hspace{1em}录,
-        indexname           = 索\hspace{1em}引,
-        abstractname        = 摘\hspace{1em}要,
-        listfigurename      = 图片索引,
-        listtablename       = 表格索引,
-        lstlistlistingname  = 代码索引,
+        listfigurename      = 插图清单,
+        listtablename       = 附表清单,
+        lstlistlistingname  = 代码清单,
         lstlistingname      = 代码
       }
   }
@@ -2007,7 +1972,6 @@
   {
     \keys_set_known:nn { ctex }
       {
-        abstractname        = Abstract,
         lstlistlistingname  = List~of~Codes,
         lstlistingname      = Code
       }

Modified: trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2022-02-13 21:25:05 UTC (rev 62004)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2022-02-13 21:25:26 UTC (rev 62005)
@@ -20,7 +20,7 @@
 %% This work has the LPPL maintenance status `maintained'.
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2022/02/12}{1.624}
+\ProvidesExplClass{easybook}{2022/02/13}{1.625}
   {Typeset Chinese theses or books}
 
 \bool_set_false:N \l__eb_compile_draft_bool
@@ -53,8 +53,6 @@
         \bool_set_false:N \l__eb_class_mode_book_bool
         \eb_put_ctexbook:n { oneside }
       },
-    book .meta:n                = { class = book },
-    article .meta:n             = { class = article },
     config .clist_gset:N        = \g__eb_config_file_clist,
     floatpage .bool_set:N       = \l__eb_float_page_bool,
     theorem .bool_set:N         = \l__eb_theorem_support_bool,

Modified: trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg	2022-02-13 21:25:05 UTC (rev 62004)
+++ trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg	2022-02-13 21:25:26 UTC (rev 62005)
@@ -18,7 +18,7 @@
 %% LaTeX version 2005/12/01 or later.
 %% 
 %% This work has the LPPL maintenance status `maintained'.
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/12}{1.624}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/13}{1.625}
   {Customization of tcolorbox for easybook}
 
 \cs_set_protected:Npn \addtotcbstyle #1#2



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