texlive[59422] Master/texmf-dist: easybook (1jun21)

commits+karl at tug.org commits+karl at tug.org
Tue Jun 1 23:07:59 CEST 2021


Revision: 59422
          http://tug.org/svn/texlive?view=revision&revision=59422
Author:   karl
Date:     2021-06-01 23:07:59 +0200 (Tue, 01 Jun 2021)
Log Message:
-----------
easybook (1jun21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/easybook/easybook.pdf
    trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx
    trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls

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

Modified: trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2021-06-01 21:07:44 UTC (rev 59421)
+++ trunk/Master/texmf-dist/source/latex/easybook/easybook.dtx	2021-06-01 21:07:59 UTC (rev 59422)
@@ -23,11 +23,11 @@
 %
 % \changes{v1.20}{2021/01/09}{修改和完善用户文档。}
 % \changes{v1.20}{2021/01/09}{模板更改为使用 CC-BY 许可协议。}
-% \changes{v1.25o}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。}
+% \changes{v1.25p}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。}
 %
 % \title{\sffamily easybook 文档类手册}
 % \author{瞿毅}
-% \date{2021/05/30\hskip\ccwd\relax v1.25o\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/05/31\hskip\ccwd\relax v1.25p\thanks{\url{https://gitee.com/texl3/easybook}}}
 %
 % \maketitle
 % \begin{abstract}
@@ -117,7 +117,7 @@
 % \end{syntax}
 % 传递给 \cls{ctexbook} 设置字体,最好不要使用原有的 \opt{fontset} 选项,默认情况下使用自定义字体而不开启这个选项,可根据安装的字体及电脑系统选取。\opt{noto} 与 \opt{none} 选项的相关描述见小节 \ref{subsec:font settings},\opt{overleaf} 是一个各系统通用选项,会检测系统环境选取对应字体。
 % \changes{v1.21}{2021/01/12}{默认字体与 \CTeX 一致,不再是自定义字体。}
-% \changes{v1.25o}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
+% \changes{v1.25p}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
 % \end{function}
 %
 % \begin{function}[rEXP,added = 2021-01-05,updated = 2021-01-13]{paper}
@@ -168,7 +168,7 @@
 %   \tn{listoflistings*+}\oarg{键值列表}
 % \end{syntax}
 % \tn{listoffigures} 命令输出图片目录,\tn{listoftables} 输出表格目录,\tn{listoflistings} 输出代码目录。带有星号的目录命令不将标题添加进主文档目录,带有+号的目录命令可以使当前标题编号。\tn{tableofcontents+} 与其它命令不同是用于输出双语目录,需要与双语目录标题命令 \tn{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用,附加代码是中文与英文目录之间的代码,可以插入文本和换页命令等。目录的键值列表选项如下
-% \changes{v1.25o}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。}
+% \changes{v1.25p}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。}
 % \end{function}
 %
 % \begin{function}{multoc,title,format,aftertitle,pagestyle,book,article}
@@ -199,7 +199,7 @@
 % 双语目录的标题命令目前设置了常用的三个级别,它们将中文标题正常输出,并使中英文标题加入双语目录,这个功能是为国内一些大学的学位论文模板的要求设计,在一般情况和英文模式下不需要使用。
 %
 % 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \tn{chapter*} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。双语目录的格式是一致的,共享使用 \tn{tocset} 的设置,英文目录的章级别标题名及编号的修改方式如下
-% \changes{v1.25o}{2021/05/05}{增加与双语目录配合的标题命令。}
+% \changes{v1.25p}{2021/05/05}{增加与双语目录配合的标题命令。}
 % \end{function}
 %
 % \begin{function}{biname,binmuber}
@@ -299,7 +299,7 @@
 % \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。}
 % \changes{v1.23}{2021/03/19}{修复在 \pkg{ctex} v2.5.6 更新后 \cls{easybook} 与 \pkg{hyperref} 冲突问题。}
 % \changes{v1.24}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
-% \changes{v1.25o}{2021/05/06}{模块名 \opt{link} 改为 \opt{refset},\opt{link} 作为兼容性保留。}
+% \changes{v1.25p}{2021/05/06}{模块名 \opt{link} 改为 \opt{refset},\opt{link} 作为兼容性保留。}
 % \end{function}
 %
 % \begin{optdesc}
@@ -356,7 +356,7 @@
 % \ding{229} 以上选项路径为 \opt{subfont/...}
 % \changes{v1.10}{2021/01/08}{加入自定义非正文字体选项。}
 % \changes{v1.23}{2021/02/08}{修复使用 \tn{zihao} 命令设置字体失效的问题。}
-% \changes{v1.25o}{2021/05/30}{其它字体模块名由 \opt{elsefont} 改为 \opt{subfont},并增加数学字体的选项 \opt{subfont/math}。}
+% \changes{v1.25p}{2021/05/31}{其它字体模块名由 \opt{elsefont} 改为 \opt{subfont},并增加数学字体的选项 \opt{subfont/math}。}
 % \end{function}
 %
 % \begin{optdesc}
@@ -381,7 +381,7 @@
 % \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。}
 % \changes{v1.23}{2021/02/23}{使用 \opt{bibset} 选项时可设置标注风格。}
 % \changes{v1.24}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
-% \changes{v1.25o}{2021/05/12}{取消 \opt{bib-loadpkg} 选项,由是否设置参考文献数据库来决定载入宏包。}
+% \changes{v1.25p}{2021/05/12}{取消 \opt{bib-loadpkg} 选项,由是否设置参考文献数据库来决定载入宏包。}
 % \end{function}
 %
 % \begin{optdesc}
@@ -516,7 +516,7 @@
 %
 % \subsection{页眉页脚}
 % \label{subsec:header and footer}
-% \begin{function}[EXP,added = 2021-01-13,updated = 2021-05-30]{head-foot,chap-mark,sec-mark,subsec-mark,chap-label,sec-label,subsec-label,headrule,footrule,footnoterule}
+% \begin{function}[EXP,added = 2021-01-13,updated = 2021-05-31]{head-foot,chap-mark,sec-mark,subsec-mark,chap-label,sec-label,subsec-label,headrule,footrule,footnoterule}
 % \begin{syntax}
 %   head-foot = <页眉页脚中的内容>
 %   chap-mark = <\tn{chaptermark} 标志命令的内容>
@@ -532,10 +532,10 @@
 % \ding{229} 以上选项路径为 \opt{hdrset/...} \\
 % \opt{hdrset} 设置的命令由 \pkg{fancyhdr} 宏包提供支持。设置章节标志选项 \opt{chap-mark}、\opt{sec-mark} 和 \opt{subsec-mark} 时已做了情形考虑,不需要使用 \tn{markboth} 或 \tn{markright} 命令,其中参数 \#1 代表当前章、节或小节的标题。\opt{chap-mark} 和 \opt{sec-mark} 选项在 \opt{book} 模式时有意义,\opt{sec-mark} 和 \opt{subsec-mark} 选项在 \opt{article} 模式时有意义,这与标准文档类的行为一致。也可以直接重新定义这些标志命令,但此时 \opt{style/uppercase} 选项失效,这时可以用例如 \tn{MakeUppercase} 命令来设置标志内容的大小写。
 %
-% 标签选项 \opt{chap-label}、\opt{sec-label} 和 \opt{subsec-label} 用于设置标志命令中的标签,包括标题编号和与标题内容之间的距离,它们比标志命令内容的选项更常用
+% 标签选项 \opt{chap-label}、\opt{sec-label} 和 \opt{subsec-label} 用于设置标志命令中的标签,包括标题编号和与标题内容之间的距离,它们比标志命令内容的选项更常用,可选参数是编号,必选参数是距离命令
 %
 % \begin{ctexexam}
-%   \hdrset{chap-label = \thechapter\hspace{\ccwd}}
+%   \hdrset{chap-label = [\thechapter]{\hspace{\ccwd}}}
 % \end{ctexexam}
 %
 % \opt{headrule}、\opt{footrule} 和 \opt{footnoterule} 三个横线选项一般可以使用 \tn{hrule} width \meta{长度} height \meta{高度} 命令来绘制,脚注横线默认为空。当然,手动绘制横线时线条粗细选项 \opt{style/rulewidth} 会失效。
@@ -584,7 +584,7 @@
 % 上面几个选项用于设置脚注格式,\opt{fnparskip} 和 \opt{fnparindent} 选项仅在 \opt{fnhang = true} 时有效。\opt{fnhang} 用于将脚注设置为悬挂缩进的格式,\opt{fnmark-pos} 选项设置脚注编号的位置,正常文本或是上标形式。\opt{fnmark-num} 选项设置脚注编号的格式,默认为原生样式 \opt{plain},还可以改为 \opt{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括1-10。
 %
 % \opt{fnmark-form} 是脚注标记的格式,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注编号,一般配合 \opt{fnmark-num = plain} 使用。\opt{afterfnmark} 是脚注标记后的代码,一般用于设置标记与文本间的距离。
-% \changes{v1.25o}{2021/05/12}{增加脚注样式设置选项。}
+% \changes{v1.25p}{2021/05/12}{增加脚注样式设置选项。}
 % \end{function}
 %
 % \subsection{目录样式}
@@ -603,7 +603,7 @@
 % \opt{format} 是目录中标题的格式,可以设置字体和加入垂直间距等,垂直间距最好使用无间距重合的 \tn{addvspace} 命令,带有加号的 \opt{format+} 选项用于在已有的格式命令后附加内容。\opt{indent} 是目录中标题在页面左侧的缩进距离,应该有长度单位。\opt{rule} 选项中一般应当使用 \tn{tocrule} 命令,将会在接下来介绍。\opt{numsep} 是有编号的标题在目录中编号与标题的间距。
 % \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。}
 % \changes{v1.24}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。}
-% \changes{v1.25o}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。}
+% \changes{v1.25p}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。}
 % \end{function}
 %
 % \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberLine}
@@ -688,7 +688,7 @@
 %   \tn{end}\marg{环境名}
 % \end{syntax}
 % \pkg{tabularray} 是一个较新的宏包,不仅提供了 \pkg{tabularx}、\pkg{multirow}、和 \pkg{booktabs} 宏包的功能,并且不依赖其它宏包与它们同时使用不会产生冲突,还实现了用简便的键值列表方式设置表格样式。目前除了表头斜线以及跨页功能存在不足,其它方面已满足对表格绝大多数格式的需求,具体用法可见宏包的说明文档。
-% \changes{v1.25o}{2021/05/17}{使用功能更便捷齐全的 \pkg{tabularray} 宏包设置表格样式。}
+% \changes{v1.25p}{2021/05/17}{使用功能更便捷齐全的 \pkg{tabularray} 宏包设置表格样式。}
 % \end{function}
 %
 % \subsection{列表}
@@ -852,7 +852,7 @@
 %   \tn{qtyrange}\oarg{键值列表}\marg{数字1}\marg{数字2}\marg{单位}
 % \end{syntax}
 % \pkg{siunitx} 宏包的 \tn{num} 命令可以输出以科学计数法表示的数值,单位格式化命令 \tn{unit} 包含文字项目(例如字母或数字)时,使用 . 和 \~{} 放置在单元乘积中间,并使用 \_ 和 \^{} 正确放置指定的下标和上标。格式化方法可在数学和文本模式下使用。而 \tn{qty} 命令可用来输出带有单位的量,\tn{qtyrange} 可以输出带有范围和单位的量。
-% \changes{v1.25o}{2021/05/18}{\pkg{siunitx} 宏包 v3.0.0 更新后用法改变,修改相关配置选项。}
+% \changes{v1.25p}{2021/05/18}{\pkg{siunitx} 宏包 v3.0.0 更新后用法改变,修改相关配置选项。}
 % \end{function}
 %
 % \begin{ctexexam}
@@ -989,7 +989,7 @@
 %<*class>
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplClass{easybook}{2021/05/30}{1.25o}{beta}
+\ProvidesExplClass{easybook}{2021/05/31}{1.25p}{beta}
 
 \cs_generate_variant:Nn \eb_ctex_define:nn { nx }
 \cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1354,6 +1354,21 @@
     \booltrue{@mainmatter}
     \pagenumbering{arabic}
   }
+\seq_const_from_clist:Nn \c__eb_mark_title_level_seq
+  { chapter,section,subsection }
+\seq_map_inline:Nn \c__eb_mark_title_level_seq
+  {
+    \exp_args:Nc \NewDocumentCommand { eb at mark@#1 at label@layout }
+      {O{\use:c { CTEXthe#1 }}m}
+      {\tl_set:cn { eb at mark@#1 at label } {##1##2}}
+    \cs_new:cpn { eb_mark_#1_number_bool:n } ##1
+      {
+        \tl_if_in:nnTF {##1} { [ }
+          { \use:c { eb at mark@#1 at label@layout } ##1 }
+          { \use:c { eb at mark@#1 at label@layout } {##1} }
+      }
+  }
+
 \cs_gset_eq:NN \easyhead \fancyhead
 \cs_gset_eq:NN \easyfoot \fancyfoot
 \eb_ctex_define:nn { hdrset }
@@ -1403,12 +1418,12 @@
               { \eb at mark@subsection at label }
           }#1
       },
-    chap-label .tl_set:N    = \eb at mark@chapter at label,
-    chap-label .initial:n   = \CTEXthechapter\hspace{\ccwd},
-    sec-label .tl_set:N     = \eb at mark@section at label,
-    sec-label .initial:n    = \CTEXthesection\hspace{0.5\ccwd},
-    subsec-label .tl_set:N  = \eb at mark@subsection at label,
-    subsec-label .initial:n = \CTEXthesubsection\hspace{0.5\ccwd},
+    chap-label .code:n      = \eb_mark_chapter_number_bool:n {#1},
+    chap-label .initial:n   = \hspace{\ccwd},
+    sec-label .code:n       = \eb_mark_section_number_bool:n {#1},
+    sec-label .initial:n    = \hspace{0.5\ccwd},
+    subsec-label .code:n    = \eb_mark_subsection_number_bool:n {#1},
+    subsec-label .initial:n = \hspace{0.5\ccwd},
 
     headrule .tl_gset:N = \headrule,
     headrule .initial:n =
@@ -2287,7 +2302,7 @@
 \allowdisplaybreaks[4]
 \DeclareGraphicsExtensions{.pdf,.png,.jpg,.eps,.tif}
 
-\cs_new_protected:Npn \eb_enumitem_labelval_set:nn #1#2
+\cs_new_protected:Npn \eb_enumitem_label_set:nn #1#2
   { \SetEnumitemValue{label}{#1}{\color{ctex at emph}#2} }
 \clist_map_inline:nn
   {
@@ -2299,7 +2314,7 @@
     { roman } { \roman*. },
     { outline } { \upshape\ding{111} }
   }
-  { \eb_enumitem_labelval_set:nn #1 }
+  { \eb_enumitem_label_set:nn #1 }
 \SetEnumitemValue{font}{sf}{\color{ctex at emph}\normalfont\sffamily}
 \SetEnumitemValue{ref}{enumii}{\arabic{enumi}.\alph*}
 \SetEnumitemValue{ref}{enumiii}{\arabic{enumi}.\alph{enumii}.\roman*}

Modified: trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2021-06-01 21:07:44 UTC (rev 59421)
+++ trunk/Master/texmf-dist/tex/latex/easybook/easybook.cls	2021-06-01 21:07:59 UTC (rev 59422)
@@ -13,7 +13,7 @@
 %%   https://creativecommons.org/licenses/by/4.0/legalcode
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplClass{easybook}{2021/05/30}{1.25o}{beta}
+\ProvidesExplClass{easybook}{2021/05/31}{1.25p}{beta}
 
 \cs_generate_variant:Nn \eb_ctex_define:nn { nx }
 \cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -378,6 +378,21 @@
     \booltrue{@mainmatter}
     \pagenumbering{arabic}
   }
+\seq_const_from_clist:Nn \c__eb_mark_title_level_seq
+  { chapter,section,subsection }
+\seq_map_inline:Nn \c__eb_mark_title_level_seq
+  {
+    \exp_args:Nc \NewDocumentCommand { eb at mark@#1 at label@layout }
+      {O{\use:c { CTEXthe#1 }}m}
+      {\tl_set:cn { eb at mark@#1 at label } {##1##2}}
+    \cs_new:cpn { eb_mark_#1_number_bool:n } ##1
+      {
+        \tl_if_in:nnTF {##1} { [ }
+          { \use:c { eb at mark@#1 at label@layout } ##1 }
+          { \use:c { eb at mark@#1 at label@layout } {##1} }
+      }
+  }
+
 \cs_gset_eq:NN \easyhead \fancyhead
 \cs_gset_eq:NN \easyfoot \fancyfoot
 \eb_ctex_define:nn { hdrset }
@@ -427,12 +442,12 @@
               { \eb at mark@subsection at label }
           }#1
       },
-    chap-label .tl_set:N    = \eb at mark@chapter at label,
-    chap-label .initial:n   = \CTEXthechapter\hspace{\ccwd},
-    sec-label .tl_set:N     = \eb at mark@section at label,
-    sec-label .initial:n    = \CTEXthesection\hspace{0.5\ccwd},
-    subsec-label .tl_set:N  = \eb at mark@subsection at label,
-    subsec-label .initial:n = \CTEXthesubsection\hspace{0.5\ccwd},
+    chap-label .code:n      = \eb_mark_chapter_number_bool:n {#1},
+    chap-label .initial:n   = \hspace{\ccwd},
+    sec-label .code:n       = \eb_mark_section_number_bool:n {#1},
+    sec-label .initial:n    = \hspace{0.5\ccwd},
+    subsec-label .code:n    = \eb_mark_subsection_number_bool:n {#1},
+    subsec-label .initial:n = \hspace{0.5\ccwd},
 
     headrule .tl_gset:N = \headrule,
     headrule .initial:n =
@@ -1311,7 +1326,7 @@
 \allowdisplaybreaks[4]
 \DeclareGraphicsExtensions{.pdf,.png,.jpg,.eps,.tif}
 
-\cs_new_protected:Npn \eb_enumitem_labelval_set:nn #1#2
+\cs_new_protected:Npn \eb_enumitem_label_set:nn #1#2
   { \SetEnumitemValue{label}{#1}{\color{ctex at emph}#2} }
 \clist_map_inline:nn
   {
@@ -1323,7 +1338,7 @@
     { roman } { \roman*. },
     { outline } { \upshape\ding{111} }
   }
-  { \eb_enumitem_labelval_set:nn #1 }
+  { \eb_enumitem_label_set:nn #1 }
 \SetEnumitemValue{font}{sf}{\color{ctex at emph}\normalfont\sffamily}
 \SetEnumitemValue{ref}{enumii}{\arabic{enumi}.\alph*}
 \SetEnumitemValue{ref}{enumiii}{\arabic{enumi}.\alph{enumii}.\roman*}



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