From d29c0d96e5919e13a9c47ac8ef890618bf8d3173 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 22 May 2021 20:15:22 +0000 Subject: easybook (22may21) git-svn-id: svn://tug.org/texlive/trunk@59306 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/easybook/easybook.pdf | Bin 312209 -> 312353 bytes .../texmf-dist/source/latex/easybook/easybook.dtx | 73 +++++++++++---------- Master/texmf-dist/tex/latex/easybook/easybook.cls | 41 ++++++------ 3 files changed, 58 insertions(+), 56 deletions(-) diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.pdf b/Master/texmf-dist/doc/latex/easybook/easybook.pdf index 8e42cef60f3..2e2c1c01c6e 100644 Binary files a/Master/texmf-dist/doc/latex/easybook/easybook.pdf and b/Master/texmf-dist/doc/latex/easybook/easybook.pdf differ diff --git a/Master/texmf-dist/source/latex/easybook/easybook.dtx b/Master/texmf-dist/source/latex/easybook/easybook.dtx index c9295ed617d..b990509cef1 100644 --- a/Master/texmf-dist/source/latex/easybook/easybook.dtx +++ b/Master/texmf-dist/source/latex/easybook/easybook.dtx @@ -23,11 +23,11 @@ % % \changes{v1.20}{2021/01/09}{修改和完善用户文档。} % \changes{v1.20}{2021/01/09}{模板更改为使用 CC-BY 许可协议。} -% \changes{v1.25m}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。} +% \changes{v1.25n}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。} % % \title{\sffamily easybook 文档类手册} % \author{瞿毅} -% \date{2021/05/19\hskip\ccwd\relax v1.25m\thanks{\url{https://gitee.com/texl3/easybook}}} +% \date{2021/05/21\hskip\ccwd\relax v1.25n\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.25m}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。} +% \changes{v1.25n}{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.25m}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。} +% \changes{v1.25n}{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.25m}{2021/05/05}{增加与双语目录配合的标题命令。} +% \changes{v1.25n}{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.25m}{2021/05/06}{模块名 \opt{link} 改为 \opt{refset},\opt{link} 作为兼容性保留。} +% \changes{v1.25n}{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.25m}{2021/05/19}{其它字体模块名由 \opt{elsefont} 改为 \opt{subfont},并增加数学字体的选项 \opt{subfont/math}。} +% \changes{v1.25n}{2021/05/21}{其它字体模块名由 \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.25m}{2021/05/12}{取消 \opt{bib-loadpkg} 选项,由是否设置参考文献数据库来决定载入宏包。} +% \changes{v1.25n}{2021/05/12}{取消 \opt{bib-loadpkg} 选项,由是否设置参考文献数据库来决定载入宏包。} % \end{function} % % \begin{optdesc} @@ -574,8 +574,8 @@ % \ding{229} 以上选项路径为 \opt{hdrset/...} \\ % 上面几个选项用于设置脚注格式,\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.25m}{2021/05/12}{增加脚注样式设置选项。} +% \opt{fnmark-form} 是脚注标记的格式,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注编号,一般配合 \opt{fnmark-num = plain} 使用。\opt{afterfnmark} 是脚注标记后的代码,一般用于设置标记与文本间的距离。 +% \changes{v1.25n}{2021/05/12}{增加脚注样式设置选项。} % \end{function} % % \subsection{目录样式} @@ -594,7 +594,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.25m}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。} +% \changes{v1.25n}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。} % \end{function} % % \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberLine} @@ -642,7 +642,7 @@ % % \begin{optdesc} % \item[lolskip] \opt{lolskip} 是代码目录中章之间的代码标题的距离,与 \CTeX 的表格目录和图片目录中章之间的标题距离选项 \opt{lotskip} 和 \opt{lofskip} 类似,它们的值均默认0.8 pc,在 \opt{article} 模式中此选项失效。 -% \item[belowoffset] \opt{belowoffset} 选项为主目录标题 \tn{contentsname} 后的间距补偿,一般为负值,用于抵消 \opt{format} 中设置的垂直间距。\opt{(level)} 中的 \opt{belowoffset} 与之意义类似,代表 figure、table 和 lstlisting 三个级别,也可以使用 \opt{list} 统一设置,一般为正值。建议距离 \opt{lolskip(0.8pc) + (level)/format/addvspace(0.2pc) + (level)/belowoffset(0pc) = belowoffset(-1pc)}。 +% \item[belowoffset] \opt{belowoffset} 选项为主文档目录标题下方的间距补偿,一般为负值,用于抵消 \opt{format} 中额外的垂直间距。\opt{(level)} 中的 \opt{belowoffset} 与之意义类似,代表 figure、table 和 lstlisting 三个级别,也可以使用 \opt{list} 统一设置,一般为正值。 % \item[tocline] 目录标签整体使用 \opt{tocline} 设置,在图表标签的参数中 \#1 代表编号,代码标签中则是 \tn{thelstlisting} 代表编号,标签中还可包含标签名称,默认标签名称与图、表和代码环境的标题名称一致。下面举个设置标签的例子 % \begin{ctexexam} % \tocset @@ -679,7 +679,7 @@ % \tn{end}\marg{环境名} % \end{syntax} % \pkg{tabularray} 是一个较新的宏包,不仅提供了 \pkg{tabularx}、\pkg{multirow}、和 \pkg{booktabs} 宏包的功能,并且不依赖其它宏包与它们同时使用不会产生冲突,还实现了用简便的键值列表方式设置表格样式。目前除了表头斜线以及跨页功能存在不足,其它方面已满足对表格绝大多数格式的需求,具体用法可见宏包的说明文档。 -% \changes{v1.25m}{2021/05/17}{使用功能更便捷齐全的 \pkg{tabularray} 宏包设置表格样式。} +% \changes{v1.25n}{2021/05/17}{使用功能更便捷齐全的 \pkg{tabularray} 宏包设置表格样式。} % \end{function} % % \subsection{列表} @@ -744,13 +744,13 @@ % % \subsection{习题} % \label{subsec:exercise} -% \begin{function}[added = 2021-01-05,updated = 2021-04-19]{exercise} +% \begin{function}[added = 2021-01-05,updated = 2021-05-21]{exercise} % \begin{syntax} % \tn{begin}\marg{exercise}*+\oarg{颜色名|(LightSkyBlue)}\oarg{编号|(1.)}\parg{标题|(习题)}\oarg{配置选项}\oarg{序言} % \ \tn{item} <习题内容> % \tn{end}\marg{exercise} % \end{syntax} -% 习题环境 \env{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号参数时不进行编号,使用+号参数启用 \pkg{tcolorbox} 支持生成标题。\meta{颜色名} 选项在使用+号参数时有效,其中颜色为自定义或 \pkg{xcolor} 包含的颜色名称。题目编号格式与小节 \ref{subsec:sort list} 排序列表相同,标题名默认为习题。 +% 习题环境 \env{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号参数时不进行编号,使用+号参数独立编号并启用 \pkg{tcolorbox} 支持生成标题。\meta{颜色名} 选项在使用+号参数时有效,其中颜色为自定义或 \pkg{xcolor} 包含的颜色名称。题目编号格式与小节 \ref{subsec:sort list} 排序列表相同,标题名默认为习题。 % % 配置选项在是否使用+号参数时用法不同,使用+号参数时为 \pkg{tcolorbox} 的盒子选项,例如 \opt{boxrule} 和 \opt{fontupper}。不使用+号参数时相当于设置 \tn{ctexset}\{section = {\#1}\} 键值选项列表,例如 \opt{format} 和 \opt{beforeskip}。\meta{序言} 选项用于在习题环境开始前插入一段内容,可以是文本或者代码。注意,环境具有相同定界符的可选参数只能\textbf{从右往左}省略,省略的参数使用默认值。 % \changes{v1.23}{2021/02/08}{增加准确的习题盒子标题目录锚点。} @@ -843,7 +843,7 @@ % \tn{qtyrange}\oarg{键值列表}\marg{数字1}\marg{数字2}\marg{单位} % \end{syntax} % \pkg{siunitx} 宏包的 \tn{num} 命令可以输出以科学计数法表示的数值,单位格式化命令 \tn{unit} 包含文字项目(例如字母或数字)时,使用 . 和 \~{} 放置在单元乘积中间,并使用 \_ 和 \^{} 正确放置指定的下标和上标。格式化方法可在数学和文本模式下使用。而 \tn{qty} 命令可用来输出带有单位的量,\tn{qtyrange} 可以输出带有范围和单位的量。 -% \changes{v1.25m}{2021/05/18}{\pkg{siunitx} 宏包 v3.0.0 更新后用法改变,修改相关配置选项。} +% \changes{v1.25n}{2021/05/18}{\pkg{siunitx} 宏包 v3.0.0 更新后用法改变,修改相关配置选项。} % \end{function} % % \begin{ctexexam} @@ -980,7 +980,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplClass{easybook}{2021/05/19}{1.25m}{beta} +\ProvidesExplClass{easybook}{2021/05/21}{1.25n}{beta} \cs_generate_variant:Nn \eb_ctex_define:nn { nx } \cs_generate_variant:Nn \int_to_arabic:n { v } @@ -1953,10 +1953,10 @@ \ifbool{@twocolumn} { \booltrue{@restonecol} - \bool_if:NTF \l__eb_multoc_bool { \twocolumn } { \onecolumn } + \bool_if:NF \l__eb_multoc_bool { \onecolumn } }{ \boolfalse{@restonecol} - \bool_if:NTF \l__eb_multoc_bool { \twocolumn } { \onecolumn } + \bool_if:NT \l__eb_multoc_bool { \twocolumn } } } { \tl_set:Nn \l__eb_toc_type_tl { article } } @@ -2294,8 +2294,8 @@ itemsep = .75ex plus .1ex,topsep = .75ex plus .1ex, partopsep = 0ex,parsep = 0ex } -\newlist{outlinelist}{itemize}{1} -\setlist[outlinelist]{label = outline,itemsep = .5ex plus .1ex} +\newlist{eb@outline@list}{itemize}{1} +\setlist[eb@outline@list]{label = outline,itemsep = .5ex plus .1ex} \setlist[itemize,1]{label = bullet} \setlist[itemize,2]{label = endash} \setlist[itemize,3]{label = asterisk} @@ -2517,12 +2517,13 @@ fonttitle = \sffamily, boxrule = \l__eb_rule_width_dim } + \newtcbox[auto~counter]{\eb@exercise@box}[1]{tc-exercise,#1} \NewDocumentEnvironment{outline}{O{}D(){\abstractname}o+b} { \begin{tcolorbox}[tc-outline,title = #2,IfValueT = {#3}{#3}] - \begin{outlinelist}[#1] + \begin{eb@outline@list}[#1] #4 - \end{outlinelist} + \end{eb@outline@list} \end{tcolorbox} }{} \NewDocumentEnvironment{exercise} @@ -2530,19 +2531,19 @@ { \IfBooleanTF{#2} { - \tcbox[ - tc-exercise, - fuzzy~halo = 5pt~with~#3, - IfValueT = {#6}{#6}, - phantom = - \IfBooleanF{#1} - { - \CTEX@ifnametrue - \refstepcounter{section} - \markright{\CTEXthesection\hspace{0.5\ccwd}#5} - \CTEX@addtocline{section}{#5} - } - ]{\IfBooleanF{#1}{\CTEXthesection\hspace{0.5\ccwd}}#5} + \eb@exercise@box + { + fuzzy~halo = 5pt~with~#3, + IfValueT = {#6}{#6}, + phantom = + \IfBooleanF{#1} + { + \markright{\thetcbcounter\hspace{0.5\ccwd}#5} + \addcontentsline{toc}{section} + {\thetcbcounter\hspace{\eb@toc@section@numsep}#5} + } + } + {\IfBooleanF{#1}{\thetcbcounter\hspace{0.5\ccwd}}#5} }{ \group_begin: \ctex_set:nn { section } { format += \centering } diff --git a/Master/texmf-dist/tex/latex/easybook/easybook.cls b/Master/texmf-dist/tex/latex/easybook/easybook.cls index cb17d7f65a5..dc923ed08d4 100644 --- a/Master/texmf-dist/tex/latex/easybook/easybook.cls +++ b/Master/texmf-dist/tex/latex/easybook/easybook.cls @@ -13,7 +13,7 @@ %% https://creativecommons.org/licenses/by/4.0/legalcode \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplClass{easybook}{2021/05/19}{1.25m}{beta} +\ProvidesExplClass{easybook}{2021/05/21}{1.25n}{beta} \cs_generate_variant:Nn \eb_ctex_define:nn { nx } \cs_generate_variant:Nn \int_to_arabic:n { v } @@ -986,10 +986,10 @@ \ifbool{@twocolumn} { \booltrue{@restonecol} - \bool_if:NTF \l__eb_multoc_bool { \twocolumn } { \onecolumn } + \bool_if:NF \l__eb_multoc_bool { \onecolumn } }{ \boolfalse{@restonecol} - \bool_if:NTF \l__eb_multoc_bool { \twocolumn } { \onecolumn } + \bool_if:NT \l__eb_multoc_bool { \twocolumn } } } { \tl_set:Nn \l__eb_toc_type_tl { article } } @@ -1327,8 +1327,8 @@ itemsep = .75ex plus .1ex,topsep = .75ex plus .1ex, partopsep = 0ex,parsep = 0ex } -\newlist{outlinelist}{itemize}{1} -\setlist[outlinelist]{label = outline,itemsep = .5ex plus .1ex} +\newlist{eb@outline@list}{itemize}{1} +\setlist[eb@outline@list]{label = outline,itemsep = .5ex plus .1ex} \setlist[itemize,1]{label = bullet} \setlist[itemize,2]{label = endash} \setlist[itemize,3]{label = asterisk} @@ -1550,12 +1550,13 @@ fonttitle = \sffamily, boxrule = \l__eb_rule_width_dim } + \newtcbox[auto~counter]{\eb@exercise@box}[1]{tc-exercise,#1} \NewDocumentEnvironment{outline}{O{}D(){\abstractname}o+b} { \begin{tcolorbox}[tc-outline,title = #2,IfValueT = {#3}{#3}] - \begin{outlinelist}[#1] + \begin{eb@outline@list}[#1] #4 - \end{outlinelist} + \end{eb@outline@list} \end{tcolorbox} }{} \NewDocumentEnvironment{exercise} @@ -1563,19 +1564,19 @@ { \IfBooleanTF{#2} { - \tcbox[ - tc-exercise, - fuzzy~halo = 5pt~with~#3, - IfValueT = {#6}{#6}, - phantom = - \IfBooleanF{#1} - { - \CTEX@ifnametrue - \refstepcounter{section} - \markright{\CTEXthesection\hspace{0.5\ccwd}#5} - \CTEX@addtocline{section}{#5} - } - ]{\IfBooleanF{#1}{\CTEXthesection\hspace{0.5\ccwd}}#5} + \eb@exercise@box + { + fuzzy~halo = 5pt~with~#3, + IfValueT = {#6}{#6}, + phantom = + \IfBooleanF{#1} + { + \markright{\thetcbcounter\hspace{0.5\ccwd}#5} + \addcontentsline{toc}{section} + {\thetcbcounter\hspace{\eb@toc@section@numsep}#5} + } + } + {\IfBooleanF{#1}{\thetcbcounter\hspace{0.5\ccwd}}#5} }{ \group_begin: \ctex_set:nn { section } { format += \centering } -- cgit v1.2.3