texlive[60453] Master/texmf-dist: easybook (8sep21)

commits+karl at tug.org commits+karl at tug.org
Wed Sep 8 22:41:48 CEST 2021


Revision: 60453
          http://tug.org/svn/texlive?view=revision&revision=60453
Author:   karl
Date:     2021-09-08 22:41:47 +0200 (Wed, 08 Sep 2021)
Log Message:
-----------
easybook (8sep21)

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	2021-09-08 20:41:34 UTC (rev 60452)
+++ trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex	2021-09-08 20:41:47 UTC (rev 60453)
@@ -12,8 +12,8 @@
     name            = easybook,
     color-scheme    = blue,
     title           = EASYBOOK 使用手册,
-    version         = v1.29p,
-    date            = 2021/09/06,
+    version         = v1.3a,
+    date            = 2021/09/08,
     authors         = 瞿毅,
     info            = 排版简体中文学位论文和书籍,
     email           = quee123 at foxmail.com,
@@ -727,9 +727,9 @@
 
 \subsection{目录样式}
 \label{subsec:catalog style}
-模块 \module*{tocset} 将使用 \pkg*{titletoc} 处理目录样式,\module*{level} 代表 \code{part}、\code{chapter}、\code{section}、\code{subsection}、\code{figure}、\code{table} 和 \code{lstlisting} 级别的目录,而使用 \code{list} 级别可以统一设置图片、表格和代码目录的样式。目前目录支持适用于论文的常规样式,如果您需要例如段落或更复杂的样式可以使用本模块基于的 \cs*{titlecontents} 命令。
+模块 \module*{tocset} 将使用 \pkg*{titletoc} 处理目录样式。模块包括 \module*{part}、\module*{chapter}、\module*{section}、\module*{subsection}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 二级路径,而使用 \module*{list} 路径可以统一设置图片、表格和代码目录的样式。模块中 \option{format}、\option{format+}、\option{indent}、\option{rule} 和 \option{numsep} 这 5 个选项支持所有路径级别,没有特别说明的其它选项则没有二级路径。目前支持常规的论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 宏包的相关用法。
 \begin{options}
-  \keyval-{format}{目录标题格式}\Module{/<level>}
+  \keyval-{format}{目录标题格式}\Module{tocset}
   各级别目录中标题的格式,可以设置字体和加入垂直间距等,垂直间距最好使用防止垂直间距重合的 \cs*{addvspace} 命令。
   \keyval-{format+}{目录标题格式}
   与 \option{format} 用法一样,只是在已有的格式命令后附加代码。
@@ -736,7 +736,7 @@
   \keyval-{indent}{刚性长度}
   各级别目录中的标题左边缩进距离,通常标题级别越低缩进越大。
   \keyval-{rule}{目录引导线样式}
-  引导线选项 \option{rule} 中一般应当使用 \cs{tocrule} 命令绘制引导线,将会在接下来介绍。
+  引导线选项 \option{rule} 中一般应当使用 \cs{tocrule} 命令绘制引导线,将会在下面介绍。
   \keyval-{numsep}{刚性长度}\Default{1em}
   有编号的标题在各级别目录中编号与标题的间距,默认距离统一为 \code{1em}。
 \end{options}
@@ -743,7 +743,7 @@
 
 \begin{commands}
   \command{tocrule}[\sarg\oarg{引导点间距}\darg{放大因子}\marg{引导点}\oarg{页码格式}]
-  目录命令 \cs{tocrule} 生成目录引导线,需要在 \meta{目录引导线样式} 中使用。带有星号的命令会使当前级别的目录引导线右边与页码相连而不是对齐。\meta{引导点间距} 需带有长度单位,\meta{放大因子} 不带单位,为 \meta{引导点} 的放大倍数,\meta{引导点} 一般为英文句号或 \cs*{cdot} 中心点符号。\meta{页码格式} 的代码位于页码前面,可以设置页码字体和距离等,最后一个命令可以带有一个参数,这个参数为页码编号。
+  目录命令 \cs{tocrule} 生成目录引导线,需要在引导线选项 \option{rule} 中使用。带有星号的命令会使当前级别的目录引导线右边与页码相连而不是对齐。\meta{引导点间距} 需带有长度单位,\meta{放大因子} 不带单位,为 \meta{引导点} 的放大倍数,\meta{引导点} 一般为英文句号或 \cs*{cdot} 中心点符号。\meta{页码格式} 的代码位于页码前面,可以设置页码字体和距离等,最后一个命令可以带有一个参数,这个参数为页码编号。
   \command*{CTEXnumberline}[\marg{编号级别}]
   目录命令 \cs*{CTEXnumberline} 用于在 C\TeX 文档类的 \option*{tocline} 选项中设置目录标签的编号,它已经被重新定义,使得目录编号后间距选项 \option{numsep} 仍然有效。\meta{编号级别} 为 \code{chapter} 和 \code{section} 等,也可用参数 \code{\#1} 代替当前级别类型,标题名用参数 \code{\#2} 代替一般不变。
   \begin{ctexexam}
@@ -760,24 +760,20 @@
 \end{commands}
 
 \begin{options}
-  \keyval-{belowoffset}{刚性长度}\Module{tocset}\Default{-1pc}
-  主文档目录标题下方的间距补偿,一般为负值,用于抵消 \option{format} 中额外的垂直间距。
-  \keyval-{belowoffset}{刚性长度}\Module{/<level>}\Default{0pc}
-  \module*{level} 代表 \code{figure}、\code{table} 和 \code{lstlisting} 三个级别目录标题下方间距补偿,也可以使用 \code{list} 统一设置,一般为正值。这个距离也可以用 C\TeX 标题下方距离选项修改。
-  \keyval-{lolskip}{弹性长度}\Module{tocset}\Default{0.8pc}
+  \keyval-{lolskip}{弹性长度}\Default{10pt}
   代码目录中每章代码标题的额外距离,与 C\TeX 的表格和图片目录中每章间的标题距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。
-  \keyval-{tocline-fig}{图片目录标签}
-  图片目录标签,选项参数中 \code{\#1} 代表编号,还可包含标签名称,默认标签名称与图片题注名称一致。
-  \keyval-{tocline-tab}{表格目录标签}
-  表格目录标签,选项参数中 \code{\#1} 代表编号,还可包含标签名称,默认标签名称与表格题注名称一致。
-  \keyval-{tocline-lst}{代码目录标签}
-  代码目录标签,选项参数中 \cs*{thelstlisting} 代表编号,还可包含标签名称,默认标签名称与代码题注名称一致。
+  \keyval-{toc-voffset}{弹性长度}
+  主文档目录标题下方的间距补偿,一般为正值,用于抵消目录中首行的额外垂直间距。
+  \keyval-{voffset}{弹性长度}
+  图片、表格或代码目录标题下方的间距补偿,一般为正值,用于抵消目录中首行的额外垂直间距。路径为 \module*{figure}、\module*{table} 和 \module*{lstlisting},或者用 \module*{list} 路径统一设置。
+  \keyval-{tocline}{目录标签}
+  图片、表格或代码的目录标签,图片或表格的选项参数中 \code{\#1} 代表编号,代码中 \cs*{thelstlisting} 代表编号。参数还可包含标签名称,默认标签名称与对应题注名称一致。路径为 \module*{figure}、\module*{table} 和 \module*{lstlisting},或者用 \module*{list} 路径统一设置。
   \begin{ctexexam}
   \tocset
     {
-      hang        = false,
-      tocline-fig = 图 #1\hspace{1em},
-      tocline-lst = 代码\thelstlisting\hspace{1em}
+      hang                = false,
+      figure/tocline      = 图 #1\hspace{1em},
+      lstlisting/tocline  = 代码\thelstlisting\hspace{1em}
     }
   \end{ctexexam}
   \keybool{line-align}\Default{true}
@@ -971,11 +967,11 @@
 使用盒子以及小节 \ref{subsec:exercise} 中的 \env{exercise} 环境需要在导言区\textbf{手动载入} \pkg*{tcolorbox} 宏包,它们 \meta{配置选项} 的键值列表同样由 \pkg*{tcolorbox} 提供支持,具体选项可见宏包文档的 Option Keys 一节,可以进行边距、字体及背景颜色等各种个性化设置,一些配置会覆盖预设。
 \begin{commands}
   \command{newtcbstyle}[\marg{盒子风格}\marg{键值列表}]
-  新建或重置一个名为 \code{tc-}\meta{盒子风格} 的 \pkg*{tcolorbox} 宏包盒子风格,可以与 \cs{addtcbstyle} 命令联用。
+  新建或重置一个名称为 \meta{盒子风格} 的 \pkg*{tcolorbox} 宏包盒子风格,可以与 \cs{addtcbstyle} 命令联用。
   \command{addtcbstyle}[\marg{盒子风格}\marg{键值列表}]
   修改已存在的 \pkg*{tcolorbox} 宏包盒子风格。这个命令可以调整以下即将介绍的预置盒子风格,对于预置盒子来说参数 \meta{盒子风格} 即为它们对应的环境或命令名。
   \begin{ctexexam}
-  \newtcbstyle{mytcb} % 新建一个盒子风格tc-mytcb
+  \newtcbstyle{mytcb} % 新建一个盒子风格mytcb
     {
       colback = Snow,colframe = LimeGreen,coltext = Coral,
       fontupper = \bfseries,arc = 6pt,

Modified: trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2021-09-08 20:41:34 UTC (rev 60452)
+++ trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2021-09-08 20:41:47 UTC (rev 60453)
@@ -15,7 +15,7 @@
 %<*class>
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/09/06}{1.29p}
+\ProvidesExplClass{easybook}{2021/09/08}{1.3a}
   {Typeset Chinese theses or books}
 
 \bool_set_false:N \l__eb_compile_draft_bool
@@ -297,10 +297,9 @@
 %<*package>
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/09/06}{1.29p}
+\ProvidesExplPackage{easybase}{2021/09/08}{1.3a}
   {Typeset Chinese theses or books}
 
-\cs_generate_variant:Nn \dim_add:Nn { NV,Nv }
 \cs_generate_variant:Nn \dim_set:Nn { NV }
 \cs_generate_variant:Nn \dim_sign:n { V }
 \cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1128,12 +1127,6 @@
         #1/numsep .dim_set:c  = eb at toc@#1 at numsep,
         #1/unknown .code:n    = \eb_msg_unknown_option:n { tocset }
       }
-    \seq_if_in:NnF \c__ctex_headings_seq { subparagraph }
-      {
-        \ctex_define:nn { tocset }
-          { #1/belowoffset .dim_set:c = l__eb_toc_#1_offset_dim }
-      }
-    \seq_pop:NN \c__ctex_headings_seq \l_tmpa_tl
     \titlecontents{#1}
       [\dim_use:c { l__eb_toc_#1_indent_dim }]
       {\tl_use:c { l__eb_toc_#1_format_tl }}
@@ -1155,10 +1148,19 @@
 \c__ctex_headings_seq \eb_toc_assign_keys:n
 \ctex_define:n { tocset/list .meta:nn = { ctex/tocset/list } {#1} }
 \eb_clist_map_inline:nn
-  { format,format+,format~+,indent,rule,numsep,belowoffset }
+  { figure,table,lstlisting }
   {
     \ctex_define:nn { tocset }
       {
+        #1/voffset .skip_set:c  = l__eb_toc_#1_voffset_skip,
+        #1/tocline .cs_set:cp   = { eb at labelname@#1 } ##1,
+      }
+  }
+\eb_clist_map_inline:nn
+  { format,format+,format~+,indent,rule,numsep,voffset,tocline }
+  {
+    \ctex_define:nn { tocset }
+      {
         list/#1 .meta:n   =
           {
             figure/#1     = ##1,
@@ -1186,67 +1188,45 @@
 \newbool{eb at titletoc@hang at fix}
 \ctex_define:nn { tocset }
   {
-    lolskip .skip_set:N     = \l__eb_toc_lolskip_skip,
-    lolskip .initial:n      = 0.8pc,
-    belowoffset .dim_set:N  = \l__eb_toc_offset_dim,
-    belowoffset .initial:n  =
-      { \bool_if:NTF \l__eb_class_book_bool { -1pc } { -0.35pc } },
+    lolskip .skip_set:N     = \eb at toc@lolskip,
+    lolskip .initial:n      = 10pt,
+    toc-voffset .skip_set:N = \l__eb_toc_voffset_skip,
+    toc-voffset .initial:n  =
+      { \bool_if:NTF \l__eb_class_book_bool { 1pc } { 0.35pc } },
     line-align .bool_set:N  = \l__eb_toc_line_align_bool,
     line-align .default:n   = true,
     line-align .initial:n   = true,
 
-    tocline-fig .cs_set:Np  = \eb at labelname@lof #1,
-    tocline-fig .initial:n  =
-      {
-        \figurename\space #1
-        \notbool{eb at titletoc@hang at fix}
-          {\hspace{\eb at toc@figure at numsep}}{}
-      },
-    tocline-tab .cs_set:Np  = \eb at labelname@lot #1,
-    tocline-tab .initial:n  =
-      {
-        \tablename\space #1
-        \notbool{eb at titletoc@hang at fix}
-          {\hspace{\eb at toc@table at numsep}}{}
-      },
-    tocline-lst .tl_set:N   = \eb at labelname@lol,
-    tocline-lst .initial:n  =
-      {
-        \lstlistingname\space\thelstlisting
-        \notbool{eb at titletoc@hang at fix}
-          {\hspace{\eb at toc@lstlisting at numsep}}{}
-      },
-
     hang .choice:,
-    hang/true .code:n     = \booltrue{eb at titletoc@hang at fix},
-    hang/false .code:n    = { },
-    hang .default:n       = true,
-    hang .initial:n       = false,
+    hang/true .code:n       = \booltrue{eb at titletoc@hang at fix},
+    hang/false .code:n      = { },
+    hang .default:n         = true,
+    hang .initial:n         = false,
 
-    numsep-all .meta:n    =
+    numsep-all .meta:n      =
       {
-        part/numsep       = #1,
-        chapter/numsep    = #1,
-        section/numsep    = #1,
-        subsection/numsep = #1,
-        list/numsep       = #1
+        part/numsep         = #1,
+        chapter/numsep      = #1,
+        section/numsep      = #1,
+        subsection/numsep   = #1,
+        list/numsep         = #1
       },
-    numsep-all .initial:n = 1em,
-    indent-all .meta:n    =
+    numsep-all .initial:n   = 1em,
+    indent-all .meta:n      =
       {
-        part/indent       = #1,
-        chapter/indent    = #1,
-        section/indent    = #1,
-        subsection/indent = #1,
-        list/indent       = #1
+        part/indent         = #1,
+        chapter/indent      = #1,
+        section/indent      = #1,
+        subsection/indent   = #1,
+        list/indent         = #1
       },
-    rule-all .meta:n      =
+    rule-all .meta:n        =
       {
-        part/rule         = #1,
-        chapter/rule      = #1,
-        section/rule      = #1,
-        subsection/rule   = #1,
-        list/rule         = #1
+        part/rule           = #1,
+        chapter/rule        = #1,
+        section/rule        = #1,
+        subsection/rule     = #1,
+        list/rule           = #1
       }
   }
 \ctex_set:n
@@ -1273,22 +1253,22 @@
   }
 \ctex_set:nn { tocset }
   {
-    part/format       = \addvspace{1pc}\sffamily\large,
-    part/indent       = 0em,
-    part/rule         = \tocrule{}[\bfseries],
+    part/format         = \addvspace{1pc}\sffamily\large,
+    part/indent         = 0em,
+    part/rule           = \tocrule{}[\bfseries],
 
-    chapter/format    = \addvspace{1pc}\sffamily\large,
-    chapter/indent    = 0em,
-    chapter/rule      = \tocrule{$\cdot$}[\bfseries],
+    chapter/format      = \addvspace{1pc}\sffamily\large,
+    chapter/indent      = 0em,
+    chapter/rule        = \tocrule{$\cdot$}[\bfseries],
 
-    section/format    =
+    section/format      =
       {
         \addvspace{0.35pc}
         \bool_if:NF \l__eb_class_book_bool { \sffamily }
       },
-    section/indent    =
+    section/indent      =
       { \bool_if:NTF \l__eb_class_book_bool { 1.5em } { 0em } },
-    section/rule      =
+    section/rule        =
       {
         \bool_if:NTF \l__eb_class_book_bool
           { \tocrule{$\cdot$} }
@@ -1295,23 +1275,42 @@
           { \tocrule{$\cdot$}[\bfseries] }
       },
 
-    subsection/format = \addvspace{0.35pc},
-    subsection/indent =
+    subsection/format   = \addvspace{0.35pc},
+    subsection/indent   =
       { \bool_if:NTF \l__eb_class_book_bool { 3.8em } { 1.4em } },
-    subsection/rule   = \tocrule{$\cdot$},
+    subsection/rule     = \tocrule{$\cdot$},
 
-    list/format       = \addvspace{0.2pc},
-    list/indent       = 0em,
-    list/rule         = \tocrule{$\cdot$},
-    list/belowoffset  =
-      { \bool_if:NTF \l__eb_class_book_bool { 0pc } { 0.15pc } }
+    list/format         = \addvspace{0.2pc},
+    list/indent         = 0em,
+    list/rule           = \tocrule{$\cdot$},
+    list/voffset        =
+      { 0.2pc\bool_if:NT \l__eb_class_book_bool { + 10pt } },
+
+    figure/tocline      =
+      {
+        \figurename\space #1
+        \notbool{eb at titletoc@hang at fix}
+          {\hspace{\eb at toc@figure at numsep}}{}
+      },
+    table/tocline       =
+      {
+        \tablename\space #1
+        \notbool{eb at titletoc@hang at fix}
+          {\hspace{\eb at toc@table at numsep}}{}
+      },
+    lstlisting/tocline  =
+      {
+        \lstlistingname\space\thelstlisting
+        \notbool{eb at titletoc@hang at fix}
+          {\hspace{\eb at toc@lstlisting at numsep}}{}
+      }
   }
 
 \prop_new:N \l__eb_list_label_name_prop
 \prop_set_from_keyval:Nn \l__eb_list_label_name_prop
   {
-    figure  = \eb at labelname@lof,
-    table   = \eb at labelname@lot
+    figure  = \eb at labelname@figure,
+    table   = \eb at labelname@table
   }
 \cs_gset:Npn \caption@@@addcontentsline #1#2#3#4
   {
@@ -1330,7 +1329,7 @@
     \addcontentsline{lol}{lstlisting}
       {
         \ifbool{eb at titletoc@hang at fix}{\eb at numberline}{}
-          {\eb at labelname@lol}\lst@@caption
+          {\eb at labelname@lstlisting}\lst@@caption
       }
   }
 
@@ -1414,10 +1413,10 @@
   {
     \eb_appto_cmd:Nn \@chapter
       {
-        \skip_if_eq:nnF { \l__eb_toc_lolskip_skip } { \c_zero_skip }
+        \skip_if_eq:nnF { \eb at toc@lolskip } { \c_zero_skip }
           {
             \addtocontents{lol}
-              {\protect\addvspace{\skip_use:N \l__eb_toc_lolskip_skip}}
+              {\protect\addvspace{\skip_use:N \eb at toc@lolskip}}
           }
       }
   }
@@ -1542,9 +1541,7 @@
     \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}
-    \dim_add:Nv
-    \l__eb_toc_offset_dim { l__eb_toc_#4_offset_dim }
-    \vspace*{\dim_use:N \l__eb_toc_offset_dim}
+    \vspace*{-\dim_use:c { l__eb_toc_#4_voffset_skip }}
     \eb_toc_start_multi_column_ext:n {#5}
     \group_end:
   }
@@ -1568,12 +1565,12 @@
     \tl_set:Nn \eb at bitoc@title { Contents }
     \IfValueT{#2}{\keys_set:nn { eb/listoc } {#2}}
     \eb_title_mark_notoc:n { \eb at toc@title }
-    \vspace*{\dim_use:N \l__eb_toc_offset_dim}
+    \vspace*{-\dim_use:N \l__eb_toc_voffset_skip}
     \eb_toc_start_multi_column_ext:n { toc }#3
     \IfBooleanT{#1}
       {
         \eb_title_mark_notoc:n { \eb at bitoc@title }
-        \vspace*{\dim_use:N \l__eb_toc_offset_dim}
+        \vspace*{-\dim_use:N \l__eb_toc_voffset_skip}
         \eb_toc_start_multi_column_ext:n { tec }
       }
     \group_end:
@@ -2075,9 +2072,9 @@
 \cs_new_protected:Npn \setexercise #1
   { \keys_set:nn { eb/exercise } {#1} }
 \cs_new_protected:Npn \addtcbstyle #1#2
-  { \tcbset{tc-#1/.append~style = {#2}} }
+  { \tcbset{#1/.append~style = {#2}} }
 \cs_new_protected:Npn \newtcbstyle #1#2
-  { \tcbset{tc-#1/.style = {#2}} }
+  { \tcbset{#1/.style = {#2}} }
 \cs_new_protected:Npn \tcbappstyle
   { \@ifstar{\newtcbstyle}{\addtcbstyle} }
 \ctex_at_end_package:nn { tcolorbox }
@@ -2129,7 +2126,6 @@
       { \exp_args:NV \bibliographystyle \l__eb_bib_otherstyle_tl }
     \tl_if_empty:NF \l__eb_bib_cite_style_tl
       { \exp_args:NV \setcitestyle \l__eb_bib_cite_style_tl }
-    \skip_zero:N \bibsep
     \AtEndEnvironment{thebibliography}
       {\bool_if:NT \l__eb_toc_multi_column_bool { \end{multicols} }}
     \NewDocumentCommand{\printbibliography}{st+o}
@@ -2146,6 +2142,7 @@
         \exp_args:NV \bibliography \l__eb_bib_datafile_clist
         \group_end:
       }
+    \skip_zero:N \bibsep
   }
 \cs_new_protected:Npn \eb_put_biblatex:n #1
   { \PassOptionsToPackage{#1}{biblatex} }
@@ -2400,11 +2397,11 @@
   }
 %</package>
 %<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/09/06}{1.29p}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/09/08}{1.3a}
   {Customization of tcolorbox for easybook}
 
 \tl_gset:Nn \eb at tc@line at skip { 0.5\baselineskip }
-\newtcbstyle{theorem}
+\newtcbstyle{tc-theorem}
   {
     enhanced~jigsaw,pad~at~break* = 3pt,
     opacityback = 0,
@@ -2415,7 +2412,7 @@
     top = \eb at tc@line at skip,bottom = \eb at tc@line at skip,
     middle = \eb at tc@line at skip
   }
-\newtcbstyle{outline}
+\newtcbstyle{tc-outline}
   {
     enhanced,nofloat,
     tikznode~boxed~title,
@@ -2428,7 +2425,7 @@
     arc = 3pt,
     left = 2pc,right = 2pc,top = 1.5pc,bottom = 1pc
   }
-\newtcbstyle{exercise}
+\newtcbstyle{tc-exercise}
   {
     blank,on~line,center,
     sharpish~corners,
@@ -2435,7 +2432,7 @@
     fontupper         = \Large\sffamily,
     beforeafter~skip  = 3.75ex plus .2ex minus .1ex
   }
-\newtcbstyle{easybox}
+\newtcbstyle{tc-easybox}
   {
     enhanced~jigsaw,pad~at~break* = 3pt,
     center~title,
@@ -2449,7 +2446,7 @@
     titlerule = 0pt,
     beforeafter~skip = 1.75ex plus .2ex minus .1ex
   }
-\newtcbstyle{ebparbox}
+\newtcbstyle{tc-ebparbox}
   {
     frame~hidden,
     enhanced~jigsaw,pad~at~break* = 3pt,
@@ -2459,8 +2456,8 @@
     middle = \eb at tc@line at skip,bottomtitle = \eb at tc@line at skip,
     beforeafter~skip = 1.75ex plus .2ex minus .1ex
   }
-\newtcbstyle{ebemph}{on~line,blank}
-\newtcbstyle{eblink}
+\newtcbstyle{tc-ebemph}{on~line,blank}
+\newtcbstyle{tc-eblink}
   {
     standard~jigsaw,on~line,
     top = 1.5pt,bottom = 1.5pt,left = 1.5pt,right = 1.5pt,
@@ -2467,7 +2464,7 @@
     boxrule = 0.75pt,arc = 1pt,
     opacityback = 0.2
   }
-\newtcbstyle{ebfbox}
+\newtcbstyle{tc-ebfbox}
   {
     on~line,sharpish~corners,
     top = 2pt,bottom = 2pt,left = 1pt,right = 1pt,

Modified: trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty	2021-09-08 20:41:34 UTC (rev 60452)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty	2021-09-08 20:41:47 UTC (rev 60453)
@@ -20,10 +20,9 @@
 %% This work has the LPPL maintenance status `maintained'.
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/09/06}{1.29p}
+\ProvidesExplPackage{easybase}{2021/09/08}{1.3a}
   {Typeset Chinese theses or books}
 
-\cs_generate_variant:Nn \dim_add:Nn { NV,Nv }
 \cs_generate_variant:Nn \dim_set:Nn { NV }
 \cs_generate_variant:Nn \dim_sign:n { V }
 \cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -851,12 +850,6 @@
         #1/numsep .dim_set:c  = eb at toc@#1 at numsep,
         #1/unknown .code:n    = \eb_msg_unknown_option:n { tocset }
       }
-    \seq_if_in:NnF \c__ctex_headings_seq { subparagraph }
-      {
-        \ctex_define:nn { tocset }
-          { #1/belowoffset .dim_set:c = l__eb_toc_#1_offset_dim }
-      }
-    \seq_pop:NN \c__ctex_headings_seq \l_tmpa_tl
     \titlecontents{#1}
       [\dim_use:c { l__eb_toc_#1_indent_dim }]
       {\tl_use:c { l__eb_toc_#1_format_tl }}
@@ -878,10 +871,19 @@
 \c__ctex_headings_seq \eb_toc_assign_keys:n
 \ctex_define:n { tocset/list .meta:nn = { ctex/tocset/list } {#1} }
 \eb_clist_map_inline:nn
-  { format,format+,format~+,indent,rule,numsep,belowoffset }
+  { figure,table,lstlisting }
   {
     \ctex_define:nn { tocset }
       {
+        #1/voffset .skip_set:c  = l__eb_toc_#1_voffset_skip,
+        #1/tocline .cs_set:cp   = { eb at labelname@#1 } ##1,
+      }
+  }
+\eb_clist_map_inline:nn
+  { format,format+,format~+,indent,rule,numsep,voffset,tocline }
+  {
+    \ctex_define:nn { tocset }
+      {
         list/#1 .meta:n   =
           {
             figure/#1     = ##1,
@@ -909,67 +911,45 @@
 \newbool{eb at titletoc@hang at fix}
 \ctex_define:nn { tocset }
   {
-    lolskip .skip_set:N     = \l__eb_toc_lolskip_skip,
-    lolskip .initial:n      = 0.8pc,
-    belowoffset .dim_set:N  = \l__eb_toc_offset_dim,
-    belowoffset .initial:n  =
-      { \bool_if:NTF \l__eb_class_book_bool { -1pc } { -0.35pc } },
+    lolskip .skip_set:N     = \eb at toc@lolskip,
+    lolskip .initial:n      = 10pt,
+    toc-voffset .skip_set:N = \l__eb_toc_voffset_skip,
+    toc-voffset .initial:n  =
+      { \bool_if:NTF \l__eb_class_book_bool { 1pc } { 0.35pc } },
     line-align .bool_set:N  = \l__eb_toc_line_align_bool,
     line-align .default:n   = true,
     line-align .initial:n   = true,
 
-    tocline-fig .cs_set:Np  = \eb at labelname@lof #1,
-    tocline-fig .initial:n  =
-      {
-        \figurename\space #1
-        \notbool{eb at titletoc@hang at fix}
-          {\hspace{\eb at toc@figure at numsep}}{}
-      },
-    tocline-tab .cs_set:Np  = \eb at labelname@lot #1,
-    tocline-tab .initial:n  =
-      {
-        \tablename\space #1
-        \notbool{eb at titletoc@hang at fix}
-          {\hspace{\eb at toc@table at numsep}}{}
-      },
-    tocline-lst .tl_set:N   = \eb at labelname@lol,
-    tocline-lst .initial:n  =
-      {
-        \lstlistingname\space\thelstlisting
-        \notbool{eb at titletoc@hang at fix}
-          {\hspace{\eb at toc@lstlisting at numsep}}{}
-      },
-
     hang .choice:,
-    hang/true .code:n     = \booltrue{eb at titletoc@hang at fix},
-    hang/false .code:n    = { },
-    hang .default:n       = true,
-    hang .initial:n       = false,
+    hang/true .code:n       = \booltrue{eb at titletoc@hang at fix},
+    hang/false .code:n      = { },
+    hang .default:n         = true,
+    hang .initial:n         = false,
 
-    numsep-all .meta:n    =
+    numsep-all .meta:n      =
       {
-        part/numsep       = #1,
-        chapter/numsep    = #1,
-        section/numsep    = #1,
-        subsection/numsep = #1,
-        list/numsep       = #1
+        part/numsep         = #1,
+        chapter/numsep      = #1,
+        section/numsep      = #1,
+        subsection/numsep   = #1,
+        list/numsep         = #1
       },
-    numsep-all .initial:n = 1em,
-    indent-all .meta:n    =
+    numsep-all .initial:n   = 1em,
+    indent-all .meta:n      =
       {
-        part/indent       = #1,
-        chapter/indent    = #1,
-        section/indent    = #1,
-        subsection/indent = #1,
-        list/indent       = #1
+        part/indent         = #1,
+        chapter/indent      = #1,
+        section/indent      = #1,
+        subsection/indent   = #1,
+        list/indent         = #1
       },
-    rule-all .meta:n      =
+    rule-all .meta:n        =
       {
-        part/rule         = #1,
-        chapter/rule      = #1,
-        section/rule      = #1,
-        subsection/rule   = #1,
-        list/rule         = #1
+        part/rule           = #1,
+        chapter/rule        = #1,
+        section/rule        = #1,
+        subsection/rule     = #1,
+        list/rule           = #1
       }
   }
 \ctex_set:n
@@ -996,22 +976,22 @@
   }
 \ctex_set:nn { tocset }
   {
-    part/format       = \addvspace{1pc}\sffamily\large,
-    part/indent       = 0em,
-    part/rule         = \tocrule{}[\bfseries],
+    part/format         = \addvspace{1pc}\sffamily\large,
+    part/indent         = 0em,
+    part/rule           = \tocrule{}[\bfseries],
 
-    chapter/format    = \addvspace{1pc}\sffamily\large,
-    chapter/indent    = 0em,
-    chapter/rule      = \tocrule{$\cdot$}[\bfseries],
+    chapter/format      = \addvspace{1pc}\sffamily\large,
+    chapter/indent      = 0em,
+    chapter/rule        = \tocrule{$\cdot$}[\bfseries],
 
-    section/format    =
+    section/format      =
       {
         \addvspace{0.35pc}
         \bool_if:NF \l__eb_class_book_bool { \sffamily }
       },
-    section/indent    =
+    section/indent      =
       { \bool_if:NTF \l__eb_class_book_bool { 1.5em } { 0em } },
-    section/rule      =
+    section/rule        =
       {
         \bool_if:NTF \l__eb_class_book_bool
           { \tocrule{$\cdot$} }
@@ -1018,23 +998,42 @@
           { \tocrule{$\cdot$}[\bfseries] }
       },
 
-    subsection/format = \addvspace{0.35pc},
-    subsection/indent =
+    subsection/format   = \addvspace{0.35pc},
+    subsection/indent   =
       { \bool_if:NTF \l__eb_class_book_bool { 3.8em } { 1.4em } },
-    subsection/rule   = \tocrule{$\cdot$},
+    subsection/rule     = \tocrule{$\cdot$},
 
-    list/format       = \addvspace{0.2pc},
-    list/indent       = 0em,
-    list/rule         = \tocrule{$\cdot$},
-    list/belowoffset  =
-      { \bool_if:NTF \l__eb_class_book_bool { 0pc } { 0.15pc } }
+    list/format         = \addvspace{0.2pc},
+    list/indent         = 0em,
+    list/rule           = \tocrule{$\cdot$},
+    list/voffset        =
+      { 0.2pc\bool_if:NT \l__eb_class_book_bool { + 10pt } },
+
+    figure/tocline      =
+      {
+        \figurename\space #1
+        \notbool{eb at titletoc@hang at fix}
+          {\hspace{\eb at toc@figure at numsep}}{}
+      },
+    table/tocline       =
+      {
+        \tablename\space #1
+        \notbool{eb at titletoc@hang at fix}
+          {\hspace{\eb at toc@table at numsep}}{}
+      },
+    lstlisting/tocline  =
+      {
+        \lstlistingname\space\thelstlisting
+        \notbool{eb at titletoc@hang at fix}
+          {\hspace{\eb at toc@lstlisting at numsep}}{}
+      }
   }
 
 \prop_new:N \l__eb_list_label_name_prop
 \prop_set_from_keyval:Nn \l__eb_list_label_name_prop
   {
-    figure  = \eb at labelname@lof,
-    table   = \eb at labelname@lot
+    figure  = \eb at labelname@figure,
+    table   = \eb at labelname@table
   }
 \cs_gset:Npn \caption@@@addcontentsline #1#2#3#4
   {
@@ -1053,7 +1052,7 @@
     \addcontentsline{lol}{lstlisting}
       {
         \ifbool{eb at titletoc@hang at fix}{\eb at numberline}{}
-          {\eb at labelname@lol}\lst@@caption
+          {\eb at labelname@lstlisting}\lst@@caption
       }
   }
 
@@ -1137,10 +1136,10 @@
   {
     \eb_appto_cmd:Nn \@chapter
       {
-        \skip_if_eq:nnF { \l__eb_toc_lolskip_skip } { \c_zero_skip }
+        \skip_if_eq:nnF { \eb at toc@lolskip } { \c_zero_skip }
           {
             \addtocontents{lol}
-              {\protect\addvspace{\skip_use:N \l__eb_toc_lolskip_skip}}
+              {\protect\addvspace{\skip_use:N \eb at toc@lolskip}}
           }
       }
   }
@@ -1265,9 +1264,7 @@
     \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}
-    \dim_add:Nv
-    \l__eb_toc_offset_dim { l__eb_toc_#4_offset_dim }
-    \vspace*{\dim_use:N \l__eb_toc_offset_dim}
+    \vspace*{-\dim_use:c { l__eb_toc_#4_voffset_skip }}
     \eb_toc_start_multi_column_ext:n {#5}
     \group_end:
   }
@@ -1291,12 +1288,12 @@
     \tl_set:Nn \eb at bitoc@title { Contents }
     \IfValueT{#2}{\keys_set:nn { eb/listoc } {#2}}
     \eb_title_mark_notoc:n { \eb at toc@title }
-    \vspace*{\dim_use:N \l__eb_toc_offset_dim}
+    \vspace*{-\dim_use:N \l__eb_toc_voffset_skip}
     \eb_toc_start_multi_column_ext:n { toc }#3
     \IfBooleanT{#1}
       {
         \eb_title_mark_notoc:n { \eb at bitoc@title }
-        \vspace*{\dim_use:N \l__eb_toc_offset_dim}
+        \vspace*{-\dim_use:N \l__eb_toc_voffset_skip}
         \eb_toc_start_multi_column_ext:n { tec }
       }
     \group_end:
@@ -1798,9 +1795,9 @@
 \cs_new_protected:Npn \setexercise #1
   { \keys_set:nn { eb/exercise } {#1} }
 \cs_new_protected:Npn \addtcbstyle #1#2
-  { \tcbset{tc-#1/.append~style = {#2}} }
+  { \tcbset{#1/.append~style = {#2}} }
 \cs_new_protected:Npn \newtcbstyle #1#2
-  { \tcbset{tc-#1/.style = {#2}} }
+  { \tcbset{#1/.style = {#2}} }
 \cs_new_protected:Npn \tcbappstyle
   { \@ifstar{\newtcbstyle}{\addtcbstyle} }
 \ctex_at_end_package:nn { tcolorbox }
@@ -1852,7 +1849,6 @@
       { \exp_args:NV \bibliographystyle \l__eb_bib_otherstyle_tl }
     \tl_if_empty:NF \l__eb_bib_cite_style_tl
       { \exp_args:NV \setcitestyle \l__eb_bib_cite_style_tl }
-    \skip_zero:N \bibsep
     \AtEndEnvironment{thebibliography}
       {\bool_if:NT \l__eb_toc_multi_column_bool { \end{multicols} }}
     \NewDocumentCommand{\printbibliography}{st+o}
@@ -1869,6 +1865,7 @@
         \exp_args:NV \bibliography \l__eb_bib_datafile_clist
         \group_end:
       }
+    \skip_zero:N \bibsep
   }
 \cs_new_protected:Npn \eb_put_biblatex:n #1
   { \PassOptionsToPackage{#1}{biblatex} }

Modified: trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2021-09-08 20:41:34 UTC (rev 60452)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2021-09-08 20:41:47 UTC (rev 60453)
@@ -20,7 +20,7 @@
 %% This work has the LPPL maintenance status `maintained'.
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/09/06}{1.29p}
+\ProvidesExplClass{easybook}{2021/09/08}{1.3a}
   {Typeset Chinese theses or books}
 
 \bool_set_false: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	2021-09-08 20:41:34 UTC (rev 60452)
+++ trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg	2021-09-08 20:41:47 UTC (rev 60453)
@@ -18,11 +18,11 @@
 %% LaTeX version 2005/12/01 or later.
 %% 
 %% This work has the LPPL maintenance status `maintained'.
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/09/06}{1.29p}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/09/08}{1.3a}
   {Customization of tcolorbox for easybook}
 
 \tl_gset:Nn \eb at tc@line at skip { 0.5\baselineskip }
-\newtcbstyle{theorem}
+\newtcbstyle{tc-theorem}
   {
     enhanced~jigsaw,pad~at~break* = 3pt,
     opacityback = 0,
@@ -33,7 +33,7 @@
     top = \eb at tc@line at skip,bottom = \eb at tc@line at skip,
     middle = \eb at tc@line at skip
   }
-\newtcbstyle{outline}
+\newtcbstyle{tc-outline}
   {
     enhanced,nofloat,
     tikznode~boxed~title,
@@ -46,7 +46,7 @@
     arc = 3pt,
     left = 2pc,right = 2pc,top = 1.5pc,bottom = 1pc
   }
-\newtcbstyle{exercise}
+\newtcbstyle{tc-exercise}
   {
     blank,on~line,center,
     sharpish~corners,
@@ -53,7 +53,7 @@
     fontupper         = \Large\sffamily,
     beforeafter~skip  = 3.75ex plus .2ex minus .1ex
   }
-\newtcbstyle{easybox}
+\newtcbstyle{tc-easybox}
   {
     enhanced~jigsaw,pad~at~break* = 3pt,
     center~title,
@@ -67,7 +67,7 @@
     titlerule = 0pt,
     beforeafter~skip = 1.75ex plus .2ex minus .1ex
   }
-\newtcbstyle{ebparbox}
+\newtcbstyle{tc-ebparbox}
   {
     frame~hidden,
     enhanced~jigsaw,pad~at~break* = 3pt,
@@ -77,8 +77,8 @@
     middle = \eb at tc@line at skip,bottomtitle = \eb at tc@line at skip,
     beforeafter~skip = 1.75ex plus .2ex minus .1ex
   }
-\newtcbstyle{ebemph}{on~line,blank}
-\newtcbstyle{eblink}
+\newtcbstyle{tc-ebemph}{on~line,blank}
+\newtcbstyle{tc-eblink}
   {
     standard~jigsaw,on~line,
     top = 1.5pt,bottom = 1.5pt,left = 1.5pt,right = 1.5pt,
@@ -85,7 +85,7 @@
     boxrule = 0.75pt,arc = 1pt,
     opacityback = 0.2
   }
-\newtcbstyle{ebfbox}
+\newtcbstyle{tc-ebfbox}
   {
     on~line,sharpish~corners,
     top = 2pt,bottom = 2pt,left = 1pt,right = 1pt,



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