texlive[60260] Master/texmf-dist: easybook (17aug21)

commits+karl at tug.org commits+karl at tug.org
Tue Aug 17 22:50:02 CEST 2021


Revision: 60260
          http://tug.org/svn/texlive?view=revision&revision=60260
Author:   karl
Date:     2021-08-17 22:50:02 +0200 (Tue, 17 Aug 2021)
Log Message:
-----------
easybook (17aug21)

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-08-17 20:49:48 UTC (rev 60259)
+++ trunk/Master/texmf-dist/doc/latex/easybook/easybook.tex	2021-08-17 20:50:02 UTC (rev 60260)
@@ -12,8 +12,8 @@
     name            = easybook,
     color-scheme    = blue,
     title           = EASYBOOK 使用手册,
-    version         = v1.28p,
-    date            = 2021/08/15,
+    version         = v1.28q,
+    date            = 2021/08/16,
     authors         = 瞿毅,
     info            = 排版简体中文学位论文和书籍,
     email           = quee123 at foxmail.com,
@@ -174,7 +174,7 @@
   \opt{newline}\Default!
   部分和章标题的样式为另起一行,符合一般英文书籍的习惯。
   \keychoice{scheme}{chinese,plain}\Default{chinese}
-  文档主题方案选项 \option{scheme} 扩展了 C\TeX 文档类中同名选项原有的作用范围,选项值 \code{plain} 可使各类标题变为英文形式。包括章节标题、图表标题和定理标题等。
+  文档主题方案选项 \option{scheme} 扩展了 C\TeX 文档类中同名选项原有的作用范围,选项值 \code{plain} 可使各类标题变为英文形式。包括章节标题、图表标题和定理名等。
   \opt{enmode}\Default!
   同时开启 \option{newline} 和 \keyis-{scheme}{plain} 选项以符合英文原生风格。
   \keychoice{scheme}{a4paper,b5paper,c5paper,letterpaper,其它纸张}\Default{a4paper}
@@ -367,6 +367,8 @@
   统一调整页眉、定理盒子以及代码框等线条的粗细。
   \keybool{uppercase}\Default{true}
   使用 \cs*{rightmark} 及 \cs*{leftmark} 标题标记命令获取标题内容时英文是否大写。
+  \kvsplit{brackets}{左括号,右括号}\Default{\Marg{(,)}}
+  设置行间公式编号标签的括号,以英文逗号分隔,分别代表左右括号。
   \kvsplit*{figurepath}{\meta{路径名1}\code{\}\{}\meta{路径名2}}\Default
   设置插入图片的文件夹路径名,可以有多个路径名,每个路径包含在括号分隔,只有一个路径时需要包含在两层括号内。
 \end{options}
@@ -514,10 +516,10 @@
 
 \subsection{定理样式}
 \label{subsec:theorem of style}
-文档类已预置 8 个定理环境,环境名及对应的定理标题见小节 \ref{subsec:theorem},它们均使用预置的定理样式 \code{easy-theorem}。下面 \module*{thmset} 模块的选项仅对这个定理样式生效,由 \pkg*{thmtools} 宏包提供支持。
+文档类已预置 8 个定理环境,环境名及对应的定理名见小节 \ref{subsec:theorem},它们均使用预置的定理样式 \code{easy-theorem}。下面 \module*{thmset} 模块的选项仅对这个定理样式生效,由 \pkg*{thmtools} 宏包提供支持。
 \begin{options}
   \keybool{thmbox}\Module{thmset}\Default{false}
-  开启定理环境盒子的边框,需载入 \pkg*{tcolorbox} 宏包才生效。这个选项与 \pkg*{thmtools} 中并不一致,\pkg*{thmtools} 的同名选项包括 \code{L}、\code{M} 和 \code{S} 三个参数。
+  给定理环境使用彩色盒子。这个特殊选项在 \module*{thmset} 模块中使用 \pkg*{tcolorbox} 宏包来支持,\meta{盒子风格} 默认为 \code{tc-theorem}。新建定理命令的同名选项则包括 \code{L}、\code{M} 和 \code{S} 三个参数。
   \keychoice{within}{chapter,section,其它环境,空置}\Default{chapter}
   定理编号跟随的计数器,默认跟随章的编号,也可以跟随其它定理环境的编号,当计数器增加时定理编号会从零开始,空置时不跟随其它计数器编号。
   \keyval-{headpunct}{代码}\Default
@@ -536,10 +538,10 @@
   定理环境后的间距,使用 \pkg*{tcolorbox} 的盒子环境包装后被覆盖。
   \keyval-{postheadspace}{刚性长度}\Default{1em}
   定理标题后与定理第一段内容的间距。
-  \keyval-{headformat}{标题格式}\Default{\cs*{NAME}\cs*{space}\cs*{NUMBER}\cs*{NOTE}}
-  定理开头部分各组成元素的排列和格式,这个选项一般不需要使用,其中 \cs*{NAME}、\cs*{NUMBER} 和 \cs*{NOTE} 分别代表标题、编号和题注。
-  \kvsplit{brackets}{左括号,右括号}\Default{\Marg{(,)}}
-  设置行间公式编号标签的括号,以英文逗号分隔,分别为左右括号。
+  \kvsplit*{notebraces}{\meta{左括号}\code{\}\{}\meta{右括号}}\Default{\Marg{(}\Marg{)}}
+  设置定理题注两边的括号,两个必选参数分别代表左括号和右括号。
+  \keyval-{headformat}{标题排列}\Default{\cs*{NAME}\cs*{space}\cs*{NUMBER}\cs*{NOTE}}
+  定理标题各组成元素的位置排列和格式。定理标题由定理名、编号和题注组成,\meta{标题排列} 中参数 \cs*{NAME}、\cs*{NUMBER} 和 \cs*{NOTE} 分别代表定理名、编号和题注。
 \end{options}
 
 \subsubsection{新建定理样式}
@@ -547,8 +549,8 @@
   \command{declaretheorem}[\oarg{键值列表1}\marg{定理环境}\oarg{键值列表2}]
   声明新的定理环境命令,\cs{newtheorem} 命令与它等效。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,用法与它们的同名命令一致。键值列表中常用的选项如下:
   \begin{options}
-  \keyval*-{name}{定理标题}
-  定理标题的默认值是环境的名称,并且首字母大写(英文标题)。
+  \keyval*-{name}{定理名}
+  定理名的默认值是首字母大写的环境名称(英文标题)。
   \keychoice*{numbered}{no,yes,unless unique}\Default{yes}
   定理可以被编号、不被编号或者只有在文档中多次出现时才被编号。
   \keyval*-{numberlike}{计数器}\Default
@@ -560,8 +562,8 @@
   定理声明命令 \cs{DeclareTheorem} 更加便捷,同样定义一个新的定理环境,与 \cs{declaretheorem} 命令的键值列表支持相同的选项,但它们的区别有:
   \begin{itemize}
   \item 中英文模式下标题不同,英文标题为可选项,默认为首字母大写的 \meta{环境名}。
-  \item 自动定义交叉引用的格式,引用标签前缀为定理标题名称。
-  \item 定理盒子选项 \keyis-{thmbox}{true} 仍然生效,此时 \meta{盒子风格} 为定理盒子风格的名称,它需要由新建盒子风格命令 \cs{newtcbstyle} 定义,默认为 \code{tc-theorem}。
+  \item 自动定义交叉引用的格式,引用标签前缀为定理名。
+  \item 模块 \module*{thmset} 的定理盒子选项 \keyis-{thmbox}{true} 仍然生效,其中 \meta{盒子风格} 可以使用新建盒子风格命令 \cs{newtcbstyle} 定义。
   \item 新建定理环境默认使用的 \meta{定理样式} 为 \code{easy-theorem},而不是 \pkg*{thmtools} 默认样式。
   \end{itemize}
   \command{declaretheoremstyle}[\oarg{键值列表1}\marg{定理样式}\oarg{键值列表2}]
@@ -853,7 +855,7 @@
   \environment{example}\default{}
   \environment{remark}\default{}
   \environment{proof}
-  这些是预置的定理环境,可使用选项 \module*{thmset/}\option{thmbox} 为它们添加盒子边框,其中注与证明环境不编号,证明末尾会自动添加证明结束符,声明新的定理环境或更改边框样式见小节 \ref{subsec:theorem of style}。环境名与之对应的定理标题名如下:
+  这些是预置的定理环境,可使用选项 \module*{thmset/}\option{thmbox} 为它们添加盒子边框,其中注与证明环境不编号,证明末尾会自动添加证明结束符,声明新的定理环境或更改边框样式见小节 \ref{subsec:theorem of style}。环境名与之对应的定理名名如下:
   \begin{center}
   \begin{tabular}{*{8}{c}}
   \toprule
@@ -1051,7 +1053,7 @@
   \begin{ctexexam}
   \labelformat{eb at theorem}{定理 #1}
   \newcommand{\theoremhead}[1]{定理 \UseCounter[chapter]{theorem}{\hspace{1em}#1}}
-  \theoremhead{定理标题}\label{thm:theorem}
+  \theoremhead{定理内容}\label{thm:theorem}
   \end{ctexexam}
 \end{commands}
 
@@ -1091,7 +1093,7 @@
   \begin{options}
   \keyval-{width}{符号宽度}\Default{2em}
   设置适当的符号宽度可以防止文字重叠和边界溢出等问题。
-  \keyval-{delim}{引导符}\Default{——}
+  \keyval-{delim}{引导符}\Default{\Marg{——}}
   全局的符号对照引导符,\cs{symb} 局部的 \meta{引导符} 和对齐方式是基于这个符号的宽度。
   \keyval-{space}{符号间隙}\Default{0.25em}
   符号间隙为引导符两侧与符号和说明文字间的距离。

Modified: trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2021-08-17 20:49:48 UTC (rev 60259)
+++ trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2021-08-17 20:50:02 UTC (rev 60260)
@@ -15,7 +15,7 @@
 %<*class>
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/08/15}{1.28p}
+\ProvidesExplClass{easybook}{2021/08/16}{1.28q}
   {Typeset Chinese theses or books}
 
 \bool_set_false:N \l__eb_compile_draft_bool
@@ -95,14 +95,12 @@
   { \eb_set_family:nnn { \CJKsfdefault } {#2} {#1} }
 \cs_new_protected:Npn \eb_setCJKmonofont:nn #1#2
   { \eb_set_family:nnn { \CJKttdefault } {#2} {#1} }
-\cs_new_protected:Npn \eb_font_double_engine_set:n #1
+\eb_clist_map_inline:nn
+  { main,sans,mono,CJKmain,CJKsans,CJKmono }
   {
     \exp_args:Nc \RenewDocumentCommand { set#1font }{O{}mO{}}
       {\use:c { eb_set#1font:nn } {##2} {##1,##3}}
   }
-\eb_clist_map_function:nN
-  { main,sans,mono,CJKmain,CJKsans,CJKmono }
-  \eb_font_double_engine_set:n
 \RenewDocumentCommand{\newCJKfontfamily}{omO{}mO{}}
   {
     \tl_set:Nx \l_tmpa_tl
@@ -299,7 +297,7 @@
 %<*package>
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/08/15}{1.28p}
+\ProvidesExplPackage{easybase}{2021/08/16}{1.28q}
   {Typeset Chinese theses or books}
 
 \cs_generate_variant:Nn \dim_add:Nn { NV,Nv }
@@ -511,20 +509,6 @@
     Your~document~class~is~in~article~mode. \\
     The~\string\chapter\space~command~will~not~be~used.
   }
-\ctex_define:nn { style }
-  {
-    multoc .bool_set:N    = \l__eb_toc_multi_column_bool,
-    multoc .default:n     = true,
-    withpart .bool_set:N  = \l__eb_chap_counter_withpart_bool,
-    withpart .default:n   = true,
-    withpart .initial:n   = false,
-    rulewidth .dim_set:N  = \l__eb_rule_width_dim,
-    rulewidth .initial:n  = 0.75pt,
-    uppercase .bool_set:N = \l__eb_mark_uppercase_bool,
-    uppercase .default:n  = true,
-    uppercase .initial:n  = true,
-    figurepath .tl_set:N  = \l_eb_graphics_path_tl
-  }
 
 \LoadPackage
   {
@@ -566,6 +550,41 @@
   }
   { \eb_package_date_check:nn #1 }
 
+\NewDocumentCommand{\eb_assign_tag_brackets:n}
+  {>{\SplitArgument{1}{,}}m}
+  {\eb_assign_tag_brackets_pos:nn #1}
+\cs_new_protected:Npn \eb_assign_tag_brackets_pos:nn #1#2
+  {
+    \tl_set:Nn \eb at tag@brackets at left {#1}
+    \tl_set:Nn \eb at tag@brackets at right {#2}
+  }
+\cs_gset:Npn \tagform@ #1
+  {
+    \maketag@@@
+      {
+        \color{ctex at emph}
+        \eb at tag@brackets at left
+        \ignorespaces #1\unskip\@@italiccorr
+        \eb at tag@brackets at right
+      }
+  }
+\ctex_define:nn { style }
+  {
+    multoc .bool_set:N    = \l__eb_toc_multi_column_bool,
+    multoc .default:n     = true,
+    withpart .bool_set:N  = \l__eb_chap_counter_withpart_bool,
+    withpart .default:n   = true,
+    withpart .initial:n   = false,
+    rulewidth .dim_set:N  = \l__eb_rule_width_dim,
+    rulewidth .initial:n  = 0.75pt,
+    uppercase .bool_set:N = \l__eb_mark_uppercase_bool,
+    uppercase .default:n  = true,
+    uppercase .initial:n  = true,
+    brackets .code:n      = \eb_assign_tag_brackets:n {#1},
+    brackets .initial:n   = { (,) },
+    figurepath .tl_set:N  = \l_eb_graphics_path_tl
+  }
+
 \includepdfset{fitpaper = true}
 \geometry
   {
@@ -1757,20 +1776,14 @@
     \selectfont\ignorespaces
   }
 
-\cs_new_protected:Npn \eb_float_proportion_set:nn #1#2
-  { \tl_gset:cn { #1fraction } {#2} }
 \bool_if:NF \l__eb_float_page_bool
   {
-    \clist_map_inline:nn
-      {
-        { text } { 0.1 },
-        { top } { 0.9 },
-        { bottom } { 0.9 },
-        { floatpage } {0.9 },
-        { dbltop } { 0.9 },
-        { dblfloatpage } { 0.9 }
-      }
-      { \eb_float_proportion_set:nn #1 }
+    \tl_gset:Nn \textfraction { 0.1 }
+    \tl_gset:Nn \topfraction { 0.9 }
+    \tl_gset:Nn \bottomfraction { 0.9 }
+    \tl_gset:Nn \floatpagefraction { 0.9 }
+    \tl_gset:Nn \dbltopfraction { 0.9 }
+    \tl_gset:Nn \dblfloatpagefraction { 0.9 }
   }
 \skip_set:Nn \parskip { 0pt plus 2pt minus 1pt }
 \skip_set:Nn \intextsep { 14pt plus 2pt minus 2pt }
@@ -1816,12 +1829,6 @@
     itemsep = 0.75ex plus .1ex,topsep = 0.75ex plus .1ex,
     partopsep = 0ex,parsep = 0ex
   }
-\newlist{eb at outline@list}{itemize}{1}
-\newlist{eb at exercise@list}{enumerate}{2}
-\newlist{eb at eqcomp@list}{description}{1}
-\setlist[eb at outline@list]{label = outline,itemsep = 0.5ex plus .1ex}
-\setlist[eb at exercise@list]{labelsep = 0.5em,nosep}
-\setlist[eb at eqcomp@list]{labelsep = 0em,nosep}
 \setlist[itemize,1]{label = bullet}
 \setlist[itemize,2]{label = endash}
 \setlist[itemize,3]{label = asterisk}
@@ -1829,6 +1836,12 @@
 \setlist[enumerate,2]{label = alph,ref = enumii,labelwidth = *}
 \setlist[enumerate,3]{label = roman,ref = enumiii,labelwidth = *}
 \setlist[description]{font = sf,labelwidth = *,leftmargin = 2em}
+\newlist{eb at outline@list}{itemize}{1}
+\newlist{eb at exercise@list}{enumerate}{2}
+\newlist{eb at eqcomp@list}{description}{1}
+\setlist[eb at outline@list]{label = outline,itemsep = 0.5ex plus .1ex}
+\setlist[eb at exercise@list]{labelsep = 0.5em,nosep}
+\setlist[eb at eqcomp@list]{labelsep = 0em,nosep}
 \cs_new:Npn \setexerlist #1 { \setlist*[eb at exercise@list]{#1} }
 \cs_new:Npn \seteqcomplist #1 { \setlist*[eb at eqcomp@list]{#1} }
 \cs_new:Npn \setoutlinelist #1 { \setlist*[eb at outline@list]{#1} }
@@ -1939,7 +1952,6 @@
     headindent    = \l__eb_thm_headindent_tl,
     headfont      = \l__eb_thm_headfont_tl,
     notefont      = \l__eb_thm_notefont_tl,
-    notebraces    = \l__eb_thm_notebraces_tl,
     bodyfont      = \l__eb_thm_bodyfont_tl,
     headpunct     = \l__eb_thm_headpunct_tl,
     postheadspace = \l__eb_thm_postheadspace_tl,
@@ -1950,32 +1962,13 @@
 \l__eb_thmtools_entry_prop \c__eb_thmtools_entry_clist
 \prop_map_inline:Nn \l__eb_thmtools_entry_prop
   { \ctex_define:nn { thmset } { #1 .tl_set:N = #2 } }
-\NewDocumentCommand{\eb_assign_tag_brackets:n}
-  {>{\SplitArgument{1}{,}}m}
-  {\eb_assign_tag_brackets_pos:nn #1}
-\cs_new_protected:Npn \eb_assign_tag_brackets_pos:nn #1#2
-  {
-    \tl_set:Nn \eb at tag@brackets at left {#1}
-    \tl_set:Nn \eb at tag@brackets at right {#2}
-  }
-\cs_gset:Npn \tagform@ #1
-  {
-    \maketag@@@
-      {
-        \color{ctex at emph}
-        \eb at tag@brackets at left
-        \ignorespaces #1\unskip\@@italiccorr
-        \eb at tag@brackets at right
-      }
-  }
 \ctex_define:nn { thmset }
   {
-    thmbox .bool_set:N  = \l__eb_thmbox_bool,
-    thmbox .default:n   = true,
-    thmbox .initial:n   = false,
-    brackets .code:n    = \eb_assign_tag_brackets:n {#1},
-    brackets .initial:n = { (,) },
-    unknown .code:n     = \eb_msg_unknown_option:n { thmset }
+    thmbox .bool_set:N    = \l__eb_thmbox_bool,
+    thmbox .default:n     = true,
+    thmbox .initial:n     = false,
+    notebraces .tl_set:N  = \l__eb_thm_notebraces_tl,
+    unknown .code:n       = \eb_msg_unknown_option:n { thmset }
   }
 \ctex_set:nn { thmset }
   {
@@ -1984,27 +1977,26 @@
     headindent    = 0em,
     headfont      = \color{ctex at emph}\sffamily,
     postheadspace = 1em,
+    notebraces    = {(}{)},
     within        = \bool_if:NT \l__eb_class_book_bool { chapter },
     headformat    = \NAME\space\NUMBER\NOTE
   }
 \eb_at_end_preamble:n
   {
+    \clist_put_right:Nx
+    \c__eb_thmtools_entry_clist { notebraces = \l__eb_thm_notebraces_tl }
     \exp_last_unbraced:NNV
     \declaretheoremstyle[\c__eb_thmtools_entry_clist]{easy-theorem}
     \eb_thm_name_set:nnn { exercise } { Exercise } { 练习 }
     \cs_undefine:N \proof
-    \clist_map_inline:nn
-      {
-        { lemma } { 引理 },
-        { example } { 例 },
-        { theorem } { 定理 },
-        { corollary } { 推论 },
-        { definition } { 定义 },
-        { proposition } { 性质 },
-        { remark } { 注 } [ numbered = no ],
-        { { proof } { 证明 } [ numbered = no,qed = \qedsymbol ] }
-      }
-      { \DeclareTheorem #1 }
+    \DeclareTheorem{lemma}{引理}
+    \DeclareTheorem{example}{例}
+    \DeclareTheorem{theorem}{定理}
+    \DeclareTheorem{corollary}{推论}
+    \DeclareTheorem{definition}{定义}
+    \DeclareTheorem{proposition}{性质}
+    \DeclareTheorem{remark}{注}[numbered = no]
+    \DeclareTheorem{proof}{证明}[numbered = no,qed = \qedsymbol]
   }
 
 \setchemformula
@@ -2403,7 +2395,7 @@
   }
 %</package>
 %<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/08/15}{1.28p}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/08/16}{1.28q}
   {Customization of tcolorbox for easybook}
 
 \tl_gset:Nn \eb at tc@line at skip { 0.5\baselineskip }

Modified: trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty	2021-08-17 20:49:48 UTC (rev 60259)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybase.sty	2021-08-17 20:50:02 UTC (rev 60260)
@@ -20,7 +20,7 @@
 %% This work has the LPPL maintenance status `maintained'.
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/08/15}{1.28p}
+\ProvidesExplPackage{easybase}{2021/08/16}{1.28q}
   {Typeset Chinese theses or books}
 
 \cs_generate_variant:Nn \dim_add:Nn { NV,Nv }
@@ -232,20 +232,6 @@
     Your~document~class~is~in~article~mode. \\
     The~\string\chapter\space~command~will~not~be~used.
   }
-\ctex_define:nn { style }
-  {
-    multoc .bool_set:N    = \l__eb_toc_multi_column_bool,
-    multoc .default:n     = true,
-    withpart .bool_set:N  = \l__eb_chap_counter_withpart_bool,
-    withpart .default:n   = true,
-    withpart .initial:n   = false,
-    rulewidth .dim_set:N  = \l__eb_rule_width_dim,
-    rulewidth .initial:n  = 0.75pt,
-    uppercase .bool_set:N = \l__eb_mark_uppercase_bool,
-    uppercase .default:n  = true,
-    uppercase .initial:n  = true,
-    figurepath .tl_set:N  = \l_eb_graphics_path_tl
-  }
 
 \LoadPackage
   {
@@ -287,6 +273,41 @@
   }
   { \eb_package_date_check:nn #1 }
 
+\NewDocumentCommand{\eb_assign_tag_brackets:n}
+  {>{\SplitArgument{1}{,}}m}
+  {\eb_assign_tag_brackets_pos:nn #1}
+\cs_new_protected:Npn \eb_assign_tag_brackets_pos:nn #1#2
+  {
+    \tl_set:Nn \eb at tag@brackets at left {#1}
+    \tl_set:Nn \eb at tag@brackets at right {#2}
+  }
+\cs_gset:Npn \tagform@ #1
+  {
+    \maketag@@@
+      {
+        \color{ctex at emph}
+        \eb at tag@brackets at left
+        \ignorespaces #1\unskip\@@italiccorr
+        \eb at tag@brackets at right
+      }
+  }
+\ctex_define:nn { style }
+  {
+    multoc .bool_set:N    = \l__eb_toc_multi_column_bool,
+    multoc .default:n     = true,
+    withpart .bool_set:N  = \l__eb_chap_counter_withpart_bool,
+    withpart .default:n   = true,
+    withpart .initial:n   = false,
+    rulewidth .dim_set:N  = \l__eb_rule_width_dim,
+    rulewidth .initial:n  = 0.75pt,
+    uppercase .bool_set:N = \l__eb_mark_uppercase_bool,
+    uppercase .default:n  = true,
+    uppercase .initial:n  = true,
+    brackets .code:n      = \eb_assign_tag_brackets:n {#1},
+    brackets .initial:n   = { (,) },
+    figurepath .tl_set:N  = \l_eb_graphics_path_tl
+  }
+
 \includepdfset{fitpaper = true}
 \geometry
   {
@@ -1478,20 +1499,14 @@
     \selectfont\ignorespaces
   }
 
-\cs_new_protected:Npn \eb_float_proportion_set:nn #1#2
-  { \tl_gset:cn { #1fraction } {#2} }
 \bool_if:NF \l__eb_float_page_bool
   {
-    \clist_map_inline:nn
-      {
-        { text } { 0.1 },
-        { top } { 0.9 },
-        { bottom } { 0.9 },
-        { floatpage } {0.9 },
-        { dbltop } { 0.9 },
-        { dblfloatpage } { 0.9 }
-      }
-      { \eb_float_proportion_set:nn #1 }
+    \tl_gset:Nn \textfraction { 0.1 }
+    \tl_gset:Nn \topfraction { 0.9 }
+    \tl_gset:Nn \bottomfraction { 0.9 }
+    \tl_gset:Nn \floatpagefraction { 0.9 }
+    \tl_gset:Nn \dbltopfraction { 0.9 }
+    \tl_gset:Nn \dblfloatpagefraction { 0.9 }
   }
 \skip_set:Nn \parskip { 0pt plus 2pt minus 1pt }
 \skip_set:Nn \intextsep { 14pt plus 2pt minus 2pt }
@@ -1537,12 +1552,6 @@
     itemsep = 0.75ex plus .1ex,topsep = 0.75ex plus .1ex,
     partopsep = 0ex,parsep = 0ex
   }
-\newlist{eb at outline@list}{itemize}{1}
-\newlist{eb at exercise@list}{enumerate}{2}
-\newlist{eb at eqcomp@list}{description}{1}
-\setlist[eb at outline@list]{label = outline,itemsep = 0.5ex plus .1ex}
-\setlist[eb at exercise@list]{labelsep = 0.5em,nosep}
-\setlist[eb at eqcomp@list]{labelsep = 0em,nosep}
 \setlist[itemize,1]{label = bullet}
 \setlist[itemize,2]{label = endash}
 \setlist[itemize,3]{label = asterisk}
@@ -1550,6 +1559,12 @@
 \setlist[enumerate,2]{label = alph,ref = enumii,labelwidth = *}
 \setlist[enumerate,3]{label = roman,ref = enumiii,labelwidth = *}
 \setlist[description]{font = sf,labelwidth = *,leftmargin = 2em}
+\newlist{eb at outline@list}{itemize}{1}
+\newlist{eb at exercise@list}{enumerate}{2}
+\newlist{eb at eqcomp@list}{description}{1}
+\setlist[eb at outline@list]{label = outline,itemsep = 0.5ex plus .1ex}
+\setlist[eb at exercise@list]{labelsep = 0.5em,nosep}
+\setlist[eb at eqcomp@list]{labelsep = 0em,nosep}
 \cs_new:Npn \setexerlist #1 { \setlist*[eb at exercise@list]{#1} }
 \cs_new:Npn \seteqcomplist #1 { \setlist*[eb at eqcomp@list]{#1} }
 \cs_new:Npn \setoutlinelist #1 { \setlist*[eb at outline@list]{#1} }
@@ -1660,7 +1675,6 @@
     headindent    = \l__eb_thm_headindent_tl,
     headfont      = \l__eb_thm_headfont_tl,
     notefont      = \l__eb_thm_notefont_tl,
-    notebraces    = \l__eb_thm_notebraces_tl,
     bodyfont      = \l__eb_thm_bodyfont_tl,
     headpunct     = \l__eb_thm_headpunct_tl,
     postheadspace = \l__eb_thm_postheadspace_tl,
@@ -1671,32 +1685,13 @@
 \l__eb_thmtools_entry_prop \c__eb_thmtools_entry_clist
 \prop_map_inline:Nn \l__eb_thmtools_entry_prop
   { \ctex_define:nn { thmset } { #1 .tl_set:N = #2 } }
-\NewDocumentCommand{\eb_assign_tag_brackets:n}
-  {>{\SplitArgument{1}{,}}m}
-  {\eb_assign_tag_brackets_pos:nn #1}
-\cs_new_protected:Npn \eb_assign_tag_brackets_pos:nn #1#2
-  {
-    \tl_set:Nn \eb at tag@brackets at left {#1}
-    \tl_set:Nn \eb at tag@brackets at right {#2}
-  }
-\cs_gset:Npn \tagform@ #1
-  {
-    \maketag@@@
-      {
-        \color{ctex at emph}
-        \eb at tag@brackets at left
-        \ignorespaces #1\unskip\@@italiccorr
-        \eb at tag@brackets at right
-      }
-  }
 \ctex_define:nn { thmset }
   {
-    thmbox .bool_set:N  = \l__eb_thmbox_bool,
-    thmbox .default:n   = true,
-    thmbox .initial:n   = false,
-    brackets .code:n    = \eb_assign_tag_brackets:n {#1},
-    brackets .initial:n = { (,) },
-    unknown .code:n     = \eb_msg_unknown_option:n { thmset }
+    thmbox .bool_set:N    = \l__eb_thmbox_bool,
+    thmbox .default:n     = true,
+    thmbox .initial:n     = false,
+    notebraces .tl_set:N  = \l__eb_thm_notebraces_tl,
+    unknown .code:n       = \eb_msg_unknown_option:n { thmset }
   }
 \ctex_set:nn { thmset }
   {
@@ -1705,27 +1700,26 @@
     headindent    = 0em,
     headfont      = \color{ctex at emph}\sffamily,
     postheadspace = 1em,
+    notebraces    = {(}{)},
     within        = \bool_if:NT \l__eb_class_book_bool { chapter },
     headformat    = \NAME\space\NUMBER\NOTE
   }
 \eb_at_end_preamble:n
   {
+    \clist_put_right:Nx
+    \c__eb_thmtools_entry_clist { notebraces = \l__eb_thm_notebraces_tl }
     \exp_last_unbraced:NNV
     \declaretheoremstyle[\c__eb_thmtools_entry_clist]{easy-theorem}
     \eb_thm_name_set:nnn { exercise } { Exercise } { 练习 }
     \cs_undefine:N \proof
-    \clist_map_inline:nn
-      {
-        { lemma } { 引理 },
-        { example } { 例 },
-        { theorem } { 定理 },
-        { corollary } { 推论 },
-        { definition } { 定义 },
-        { proposition } { 性质 },
-        { remark } { 注 } [ numbered = no ],
-        { { proof } { 证明 } [ numbered = no,qed = \qedsymbol ] }
-      }
-      { \DeclareTheorem #1 }
+    \DeclareTheorem{lemma}{引理}
+    \DeclareTheorem{example}{例}
+    \DeclareTheorem{theorem}{定理}
+    \DeclareTheorem{corollary}{推论}
+    \DeclareTheorem{definition}{定义}
+    \DeclareTheorem{proposition}{性质}
+    \DeclareTheorem{remark}{注}[numbered = no]
+    \DeclareTheorem{proof}{证明}[numbered = no,qed = \qedsymbol]
   }
 
 \setchemformula

Modified: trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2021-08-17 20:49:48 UTC (rev 60259)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2021-08-17 20:50:02 UTC (rev 60260)
@@ -20,7 +20,7 @@
 %% This work has the LPPL maintenance status `maintained'.
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/08/15}{1.28p}
+\ProvidesExplClass{easybook}{2021/08/16}{1.28q}
   {Typeset Chinese theses or books}
 
 \bool_set_false:N \l__eb_compile_draft_bool
@@ -100,14 +100,12 @@
   { \eb_set_family:nnn { \CJKsfdefault } {#2} {#1} }
 \cs_new_protected:Npn \eb_setCJKmonofont:nn #1#2
   { \eb_set_family:nnn { \CJKttdefault } {#2} {#1} }
-\cs_new_protected:Npn \eb_font_double_engine_set:n #1
+\eb_clist_map_inline:nn
+  { main,sans,mono,CJKmain,CJKsans,CJKmono }
   {
     \exp_args:Nc \RenewDocumentCommand { set#1font }{O{}mO{}}
       {\use:c { eb_set#1font:nn } {##2} {##1,##3}}
   }
-\eb_clist_map_function:nN
-  { main,sans,mono,CJKmain,CJKsans,CJKmono }
-  \eb_font_double_engine_set:n
 \RenewDocumentCommand{\newCJKfontfamily}{omO{}mO{}}
   {
     \tl_set:Nx \l_tmpa_tl

Modified: trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg	2021-08-17 20:49:48 UTC (rev 60259)
+++ trunk/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg	2021-08-17 20:50:02 UTC (rev 60260)
@@ -18,7 +18,7 @@
 %% LaTeX version 2005/12/01 or later.
 %% 
 %% This work has the LPPL maintenance status `maintained'.
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/08/15}{1.28p}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/08/16}{1.28q}
   {Customization of tcolorbox for easybook}
 
 \tl_gset:Nn \eb at tc@line at skip { 0.5\baselineskip }



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