summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/easybook/easybook.pdfbin569332 -> 568439 bytes
-rw-r--r--Master/texmf-dist/source/latex/easybook/easybook.dtx419
-rw-r--r--Master/texmf-dist/tex/latex/easybook/easybase.sty185
-rw-r--r--Master/texmf-dist/tex/latex/easybook/easybook.cls2
-rw-r--r--Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg63
5 files changed, 321 insertions, 348 deletions
diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.pdf b/Master/texmf-dist/doc/latex/easybook/easybook.pdf
index 9126c42467a..017c449994f 100644
--- a/Master/texmf-dist/doc/latex/easybook/easybook.pdf
+++ b/Master/texmf-dist/doc/latex/easybook/easybook.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/easybook/easybook.dtx b/Master/texmf-dist/source/latex/easybook/easybook.dtx
index 28934e5a5f5..2070d0dfd9d 100644
--- a/Master/texmf-dist/source/latex/easybook/easybook.dtx
+++ b/Master/texmf-dist/source/latex/easybook/easybook.dtx
@@ -28,7 +28,7 @@
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/07/12\hskip\ccwd\relax v1.27c\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/07/13\hskip\ccwd\relax v1.27d\thanks{\url{https://gitee.com/texl3/easybook}}}
%
% \maketitle
% \begin{abstract}
@@ -90,7 +90,7 @@
%
% \section{文档类选项}
% \label{sec:document class options}
-% 标准 \cls{book} 文类与 \cls{ctexbook} 文类的选项同样适用于本文档。除此之外选项分为两类
+% 标准文档类与 \CTeX 文档类的选项和命令同样适用于本文档,除此之外选项分为两类:
% \begin{itemize}
% \item 带有 \rexptarget\rexpstar{} 号的选项,需要在引入文档类的时候设定。
% \item 带有 \exptarget\expstar{} 号的选项,需要通过 \CTeX 宏集提供的用户接口命令 \tn{ctexset} 或节 \ref{sec:interface options} 中此选项所属模块接口命令设定。
@@ -148,7 +148,7 @@
% cjkfont = <adobe|fandol|founder|mac|macnew|macold|ubuntu|windows|none>
% \end{syntax}
% 中文字体采用 \CTeX 宏集包含的字库并与其一致,具体配置方案可以查看 \CTeX 使用手册。它与 \opt{fontset} 选项是等效的,如果没有指定 \opt{cjkfont} 的值,将会自动检测用户的操作系统并选择相应的字体。
-% \changes{v1.27c}{2021/07/12}{新增 \opt{cjkfont} 选项设置中文字体,原 \opt{font} 选项设置英文字体,中文字体使用 \CTeX 的字库。}
+% \changes{v1.27d}{2021/07/12}{新增 \opt{cjkfont} 选项设置中文字体,原 \opt{font} 选项设置英文字体,中文字体使用 \CTeX 的字库。}
% \end{function}
%
% 如果需要使用其它中文字体,可以在启用选项 \opt{cjkfont = none} 后,再使用 \pkg{xeCJK} 宏包的相关命令设置字体以及声明字体族:
@@ -188,7 +188,7 @@
% \begin{syntax}
% class = <(book)|article>
% \end{syntax}
-% 使用 \cls{easybook} 文档类可以有两种模式,默认为 \cls{book} 模式。选用 \opt{article} 会变为 \opt{oneside} 单面排版,同时使文档编号、结构等与标准 \cls{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \tn{chapter} 命令,此时节 \ref{sec:document command} 中目录命令的 \opt{chapter} 选项会失效,将以 \opt{section} 标题级别输出目录。也可以使用 \opt{book} 或 \opt{article} 选项指定文档类型。如果使用 \cls{ctexart} 配合 \pkg{easybase} 宏包,则 \opt{book} 宏包选项会失效。
+% 使用 \cls{easybook} 文档类可以有两种模式,默认为 \cls{book} 模式。选用 \opt{article} 会变为 \opt{oneside} 单面排版,同时使文档编号、结构等与标准 \cls{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \tn{chapter} 命令,此时节 \ref{sec:document command} 中目录命令的 \opt{chapter} 选项会失效,将以 \opt{section} 标题级别输出目录。也可以使用 \opt{book} 或 \opt{article} 选项指定文档类型。如果使用 \cls{ctexart} 配合 \pkg{easybase} 宏包,则宏包选项 \opt{book} 会失效。
% \changes{v1.23}{2021/03/16}{增加 article 文章模式,可用于短篇幅的文章。}
% \end{function}
%
@@ -280,7 +280,7 @@
% \changes{v1.26}{2021/06/28}{增加可以调整相对位置和格式的上标和下标命令 \tn{super}、\tn{sub} 和 \tn{supersub}。}
% \end{function}
%
-% 垂直和水平偏移默认值都是 0 pt,\meta{对齐方式} 的参数与 \opt{supersubalign} 相同。\meta{格式代码} 用于格式化上标和下标,可以插入字体或颜色等命令。代码中的最后一个命令可以接受一个为上标或下标的参数。上标和下标命令还分别具有更简短的等价命令 \tn{sp}、\tn{sb} 和 \tn{spb}。
+% 默认没有垂直和水平偏移,\meta{对齐方式} 的参数与 \opt{supersubalign} 相同。\meta{格式代码} 用于格式化上标和下标,可以插入字体或颜色等命令。代码中的最后一个命令可以接受一个为上标或下标的参数。上标和下标命令还分别具有更简短的等价命令 \tn{sp}、\tn{sb} 和 \tn{spb}。
%
% \section{接口选项}
% \label{sec:interface options}
@@ -317,19 +317,19 @@
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{style/...}
% \changes{v1.10}{2021/01/08}{更改颜色实现方式与选项名。}
-% \changes{v1.23}{2021/02/02}{noto风格的数学字体独立出来,可自定义设置。}
+% \changes{v1.23}{2021/02/02}{noto 风格的数学字体独立出来,可自定义设置。}
% \changes{v1.23}{2021/02/09}{增加控制页面横线粗细的选项 \opt{rulewidth}。}
% \end{function}
%
% \begin{optdesc}
% \item[color] 预置了四种主题颜色,默认主题 \opt{none} 为黑白页面,主题颜色不包括超链接。
-% \begin{function}{\DeclareThemeColor}
-% \begin{syntax}
-% \tn{DeclareThemeColor}\{<风格名称>,<ctex@frame>,<ctex@emph>,<ctex@verb>\}
-% \end{syntax}
-% 可以使用 \tn{DeclareThemeColor} 命令声明新的主题颜色,它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 HTML 颜色代码,构成主题颜色。类似地更改超链接颜色见小节 \ref{subsec:hyperlinks}。
-% \changes{v1.26}{2021/07/03}{使用 \tn{DeclareThemeColor} 命令声明新的颜色风格。}
-% \end{function}
+% \begin{function}{\DeclareThemeColor}
+% \begin{syntax}
+% \tn{DeclareThemeColor}\{<风格名称>,<ctex@frame>,<ctex@emph>,<ctex@verb>\}
+% \end{syntax}
+% 可以使用 \tn{DeclareThemeColor} 命令声明新的主题颜色,它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 HTML 颜色代码,构成主题颜色。类似地更改超链接颜色见小节 \ref{subsec:hyperlinks}。
+% \changes{v1.26}{2021/07/03}{使用 \tn{DeclareThemeColor} 命令声明新的颜色风格。}
+% \end{function}
% \item[color-all] 统一设置主题的各部分颜色,参数是 6 个十六进制数字组成的 HTML 颜色代码,任意颜色的代码可以在常见的图片处理工具拾色器中查看。
% \item[multoc] 开启多栏目录,与节 \ref{sec:document command} 中目录命令的同名选项有相同效果。
% \item[withpart] 使章跟随每一部分编号,默认不跟随。
@@ -388,13 +388,13 @@
% \begin{optdesc}
% \item[linktype] \opt{edge} 使超链接为边框形式,\opt{various} 使超链接变为彩色,预置了四种颜色样式。\opt{none} 关闭超链接边框与颜色,此时 \opt{linkcolor} 选项无效。
% \item[linkcolor] 超链接颜色样式。
-% \begin{function}{\DeclareLinkColor}
-% \begin{syntax}
-% \tn{DeclareLinkColor}\{<风格名称>,<ctex@link>,<ctex@url>,<ctex@cite>\}
-% \end{syntax}
-% 可以使用 \tn{DeclareLinkColor} 命令声明新的超链接颜色样式,它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 HTML 颜色代码,构成超链接颜色。
-% \changes{v1.26}{2021/07/03}{使用 \tn{DeclareLinkColor} 命令声明新的超链接颜色。}
-% \end{function}
+% \begin{function}{\DeclareLinkColor}
+% \begin{syntax}
+% \tn{DeclareLinkColor}\{<风格名称>,<ctex@link>,<ctex@url>,<ctex@cite>\}
+% \end{syntax}
+% 可以使用 \tn{DeclareLinkColor} 命令声明新的超链接颜色样式,它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 HTML 颜色代码,构成超链接颜色。
+% \changes{v1.26}{2021/07/03}{使用 \tn{DeclareLinkColor} 命令声明新的超链接颜色。}
+% \end{function}
% \item[linkcol-all] 统一设置超链接的各部分颜色,参数是 6 个十六进制数字组成的 HTML 颜色代码,任意颜色的代码可以在常见的图片处理工具拾色器中查看。
% \item[linktoc] 将目录中的超链接取消、置于标题上、置于页码上或置于标题和页码上。
% \end{optdesc}
@@ -434,7 +434,7 @@
% listing-cap = <(\tn{sffamily}\tn{small})>
% footnote = <(\tn{rmfamily})>
% marginpar = <(\tn{rmfamily}\tn{footnotesize})>
-% math = <times|(noto)|notosans|nc|stix|charter|garamond|libertine|none>
+% math = <(times)|noto|notosans|nc|stix|charter|garamond|libertine|none>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{subfont/...}
% \changes{v1.10}{2021/01/08}{加入自定义非正文字体选项。}
@@ -474,7 +474,7 @@
% \item[datafile] 参考文献数据库的文件名,可以是单个文件也可以是以括号包裹并以英文逗号分隔的文件列表,使用 \hologo{biber} 处理时要带有 \opt{bib} 后缀,若不在当前文件夹名称需要包含路径。只有设置数据库的文件名才会载入 \pkg{natbib} 或 \pkg{biblatex} 宏包,之后才可使用相关配置命令,否则需要手动载入相关宏包配置参考文献。
% \end{optdesc}
%
-% \begin{function}[added = 2021-01-11,updated = 2021-04-09]{\printbibliography,\BibtexPostset,\BiblatexPreset,\BiblatexPostset}
+% \begin{function}[added = 2021-01-11,updated = 2021-04-09]{\printbibliography,\BibtexPreSet,\BibtexPostSet,\BiblatexPreSet,\BiblatexPostSet}
% \begin{syntax}
% \tn{printbibliography}\oarg{键值列表}
% \end{syntax}
@@ -483,16 +483,17 @@
%
% \begin{optdesc}
% \item[\tn{printbibliography}] 两种方式 \textbf{均使用} 此命令打印参考文献,不同处理后端此命令的 \meta{键值列表} 不同。使用 \hologo{BibTeX} 处理时选项与节 \ref{sec:document command} 目录的选项相同,使用 \hologo{biber} 处理时常用的选项如下:
-% \begin{function}{heading,title}
-% \begin{syntax}
-% heading = <bibliography|subbibliography|(bibintoc)|subbibintoc>
-% title = <参考文献标题名>
-% \end{syntax}
-% \opt{heading} 为参考文献标题的处理方式,\opt{bibliography} 选项以 \opt{chapter} 级别输出参考文献,不加进目录,\opt{subbibliography} 选项以 \opt{section} 级别输出参考文献,不加进目录,\opt{bibintoc} 选项以 \opt{chapter} 级别输出参考文献,加进目录,\opt{subbibintoc} 选项以 \opt{section} 级别输出参考文献,加进目录。\opt{title} 选项覆盖由 \opt{heading} 选项提供的缺省标题名。除此之外其他支持选项可见 \pkg{biblatex} 宏包说明文档。
-% \end{function}
-% \item[\tn{BibtexPostset}] 这是 \pkg{natbib} 宏包的配置命令,需要与 \pkg{natbib} 配合并放在载入其之后使用,默认保存了参考文献风格和标题的设置。
-% \item[\tn{BiblatexPreset}] 这是 \pkg{biblatex} 宏包的前配置命令,需要与 \pkg{biblatex} 配合并放在载入其之前使用,默认保存了参考文献风格的设置。若重新定义可使用 \tn{PassOptionsToPackage} 命令向 \pkg{biblatex} 传递它支持的各种参考文献选项。
-% \item[\tn{BiblatexPostset}] 这是 \pkg{biblatex} 宏包的后配置命令,需要与 \pkg{biblatex} 配合并放在载入其之后使用,默认保存了参考文献标题的设置。
+% \begin{function}{heading,title}
+% \begin{syntax}
+% heading = <bibliography|subbibliography|(bibintoc)|subbibintoc>
+% title = <参考文献标题名>
+% \end{syntax}
+% \opt{heading} 为参考文献标题的处理方式,\opt{bibliography} 选项以 \opt{chapter} 级别输出参考文献,不加进目录,\opt{subbibliography} 选项以 \opt{section} 级别输出参考文献,不加进目录,\opt{bibintoc} 选项以 \opt{chapter} 级别输出参考文献,加进目录,\opt{subbibintoc} 选项以 \opt{section} 级别输出参考文献,加进目录。\opt{title} 选项覆盖由 \opt{heading} 选项提供的缺省标题名。除此之外其他支持选项可见 \pkg{biblatex} 宏包说明文档。
+% \end{function}
+% \item[\tn{BibtexPreSet}] 这是 \pkg{natbib} 宏包的前配置命令,需要与 \pkg{natbib} 配合并放在载入其之前使用,可以重新定义它向 \pkg{natbib} 传递宏包选项。
+% \item[\tn{BibtexPostSet}] 这是 \pkg{natbib} 宏包的后配置命令,需要与 \pkg{natbib} 配合并放在载入其之后使用,默认保存了参考文献风格和标题的设置。
+% \item[\tn{BiblatexPreSet}] 这是 \pkg{biblatex} 宏包的前配置命令,需要与 \pkg{biblatex} 配合并放在载入其之前使用,默认保存了参考文献风格的设置。若重新定义可使用 \tn{PassOptionsToPackage} 命令向 \pkg{biblatex} 传递它支持的各种参考文献选项。
+% \item[\tn{BiblatexPostSet}] 这是 \pkg{biblatex} 宏包的后配置命令,需要与 \pkg{biblatex} 配合并放在载入其之后使用,默认保存了参考文献标题的设置。
% \end{optdesc}
%
% \subsection{定理样式}
@@ -532,26 +533,27 @@
% \item[brackets] 设置行间公式编号标签的括号,以英文逗号分隔,分别为左右括号。
% \end{optdesc}
%
-% \begin{function}[added = 2021-01-12,updated = 2021-06-15]{\declaretheorem,\DeclareTheorem,\declaretheoremstyle}
+% \subsubsection{新建定理样式}
+% \begin{function}[added = 2021-01-12,updated = 2021-07-13]{\declaretheorem,\DeclareTheorem,\declaretheoremstyle}
% \begin{syntax}
-% \tn{declaretheorem}\oarg{键值列表}\marg{定理环境名}
+% \tn{declaretheorem}\oarg{键值列表}\marg{定理环境名}\oarg{键值列表}
% \tn{DeclareTheorem}\marg{定理环境名}\oarg{英文标题}\marg{中文标题}\parg{盒子样式|(tc-theorem)}\oarg{键值列表}
-% \tn{declaretheoremstyle}\oarg{键值列表}\marg{定理样式名}
+% \tn{declaretheoremstyle}\oarg{键值列表}\marg{定理样式名}\oarg{键值列表}
% \end{syntax}
-% 文档类已预置 8 个定理环境,环境名及对应的定理标题名见小节 \ref{subsec:theorem},如果需要新的定理标题名或定理样式可使用这两个命令,由 \pkg{thmtools} 提供支持,用法与它的同名命令一致。
+% 文档类已预置 8 个定理环境,环境名及对应的定理标题名见小节 \ref{subsec:theorem},如果需要新的定理标题名或定理样式可使用这三个命令,由 \pkg{thmtools} 提供支持,其中两个命令各自前后可选参数的 \meta{键值列表} 是等效的,用法与它们的同名命令一致。
% \changes{v1.23}{2021/03/12}{重新定义了新定理环境命令 \tn{newtheorem}。}
% \changes{v1.24}{2021/04/25}{增加定义定理环境命令 \tn{DeclareTheorem}。}
% \changes{v1.26}{2021/06/15}{定义新定理环境的命令调整为 \tn{declaretheorem}。}
% \end{function}
%
% \begin{optdesc}
-% \item[\tn{declaretheorem}] 定义新的定理类环境,\tn{newtheorem} 命令与它等效。\meta{键值列表} 中常用的选项如下
-% \begin{description}
-% \item[name] 定理的标题。默认值是环境的名称,并且首字母大写(英文标题)。
-% \item[numbered] 值为 \opt{no}、\opt{yes} 或 \opt{unless unique}。定理可以被编号、不被编号或者只有在文档中多次出现时才被编号。
-% \item[numberlike] 定理将使用此计数器进行编号,通常这是另一个定理环境的名称。
-% \item[style] 用 \tn{declaretheoremstyle} 定义的定理样式的名称,定理将使用这种样式的设置。
-% \end{description}
+% \item[\tn{declaretheorem}] 定义新的定理类环境,\tn{newtheorem} 命令与它等效。\meta{键值列表} 中常用的选项如下:
+% \begin{optdesc}
+% \item[name] 定理的标题。默认值是环境的名称,并且首字母大写(英文标题)。
+% \item[numbered] 值为 \opt{no}、\opt{yes} 或 \opt{unless unique}。定理可以被编号、不被编号或者只有在文档中多次出现时才被编号。
+% \item[numberlike] 定理将使用此计数器进行编号,通常这是另一个定理环境的名称。
+% \item[style] 用 \tn{declaretheoremstyle} 定义的定理样式的名称,定理将使用这种样式的设置。
+% \end{optdesc}
% \item[\tn{DeclareTheorem}] \tn{DeclareTheorem} 是更便捷的定理命令,它定义一个新的定理环境,\meta{键值列表} 支持的选项与 \tn{declaretheorem} 相同,但它们的区别有:
% \begin{itemize}
% \item 中英文模式下标题不同,英文标题为可选项,默认为首字母大写的环境名。
@@ -562,10 +564,9 @@
% \item[\tn{declaretheoremstyle}] 定义新的定理样式,\meta{键值列表} 中包括上述定理样式以及 \tn{declaretheorem} 的所有选项。
% \end{optdesc}
%
-% \subsubsection{新的定理样式}
-% 预置定理的样式为 \opt{easy-theorem},上述定理样式选项将对这个定理样式生效。如果使用这个样式而只是增加新的定理名称,可以这样:
+% 下面简单列举定理命令的用法,预置定理的样式为 \opt{easy-theorem},上述定理样式选项将对这个定理样式生效。如果使用这个样式而只是增加新的定理名称,可以这样:
% \begin{ctexexam}
-% \DeclareTheorem{定理环境名}{中文标题}[style = other theorem]
+% \DeclareTheorem{定理环境名}{中文标题}[style = easy-theorem]
% \declaretheorem[style = easy-theorem,name = 定理名]{定理环境名}
% \end{ctexexam}
% \tn{declaretheorem} 定义的定理环境需要手动增加盒子边框,可以如下进行设置:
@@ -667,21 +668,29 @@
% \subsubsection{脚注格式}
% \begin{function}[EXP,added = 2021-05-12]{fnmargin,fnparskip,fnparindent,fnhang,fnmark-pos,fnmark-num,fnmark-num,fnmark-form,afterfnmark}
% \begin{syntax}
-% fnmargin = <脚注首段缩进|(0.75\tn{ccwd})>
-% fnparskip = <脚注段落间距|(0ex)>
-% fnparindent = <脚注段落缩进|(2\tn{ccwd})>
+% fnmargin = <刚性长度|(0.75\tn{ccwd})>
+% fnparskip = <弹性长度|(0ex)>
+% fnparindent = <刚性长度|(2\tn{ccwd})>
% fnhang = <(true)|false>
% fnmark-pos = <normal|(super)>
% fnmark-num = <(plain)|pifont|pifont*|pifont-sans|pifont-sans*>
-% fnmark-form = <脚注标记格式>
-% afterfnmark = <脚注标记后的代码>
+% fnmark-form = <格式代码>
+% afterfnmark = <格式代码>
% \end{syntax}
% \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。
% \changes{v1.25}{2021/05/12}{增加脚注样式设置选项。}
% \end{function}
%
-% \opt{fnmark-form} 是脚注标记的格式,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注编号,一般配合 \opt{fnmark-num = plain} 使用。\opt{afterfnmark} 是脚注标记后的代码,一般用于设置标记与文本间的距离。
+% \begin{optdesc}
+% \item[fnmargin] 脚注首段缩进距离,等于长度 \tn{footnotemargin} 的值。
+% \item[fnparskip] 脚注段落间距,仅在脚注为悬挂缩进时有效。
+% \item[fnparindent] 脚注段落缩进,仅在脚注为悬挂缩进时有效。
+% \item[fnhang] 脚注是否为悬挂缩进的格式,默认开启。
+% \item[fnmark-pos] 设置脚注编号的位置,正常文本或是上标形式。
+% \item[fnmark-num] 脚注编号的格式,默认为原生样式 \opt{plain},还可以改为 \opt{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括 1-10。
+% \item[fnmark-form] 脚注标记的格式,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注编号,一般配合 \opt{fnmark-num = plain} 使用。
+% \item[afterfnmark] 脚注标记后的代码,由于脚注标记处于水平盒子中,它一般用于设置标记与文本间的距离。
+% \end{optdesc}
%
% \subsection{目录样式}
% \label{subsec:catalog style}
@@ -694,7 +703,7 @@
% numsep = <编号后间距|(\tn{ccwd})>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{tocset/(level)/...} \\
-% \opt{tocset} 将目录样式交给 \pkg{titletoc} 处理,\opt{(level)} 代表 part、chapter、section、subsection、figure、table 和 lstlisting 级别的目录,而使用 \opt{list} 级别可以统一设置图片、表格和代码目录的样式。
+% \opt{tocset} 将目录样式交给 \pkg{titletoc} 处理,\opt{(level)} 代表 part、chapter、section、subsection、figure、table 和 lstlisting 级别的目录,而使用 list 级别可以统一设置图片、表格和代码目录的样式。
% \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。}
% \changes{v1.24}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。}
% \changes{v1.25}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。}
@@ -794,40 +803,19 @@
% \ \tn{item} <列表内容>
% \tn{end}\marg{环境名}
% \end{syntax}
-% \pkg{enumitem} 宏包为系统预置的列表环境 \env{enumerate}、\env{itemize}和 \env{description} 提供了更灵活的标签以及间距的控制,可使用 \tn{setlist} 命令设置原有的三种列表格式,也可以直接使用可选参数的 \meta{键值列表},具体选项见 \pkg{enumitem} 宏包文档。已为三种列表预置了三个级别的格式可相互嵌套,默认标签与 \cls{book} 文档类相同,若自定义标签可例如:
+% \pkg{enumitem} 宏包为系统预置的三种列表环境即排序列表 \env{enumerate}、常规列表 \env{itemize} 和 主题列表 \env{description} 提供了更灵活的标签以及间距的控制,可使用 \tn{setlist} 命令设置三种列表格式,或者直接使用可选参数的 \meta{键值列表},具体选项见 \pkg{enumitem} 宏包文档。
+%
+% 已为三种列表预置了三个级别,同种列表或不同种列表间的不同级别可相互嵌套,带有星号的环境为行内列表。默认列表标签与标准 \cls{book} 文档类一致,下面举几个更改列表标签以及其它格式的例子:
% \changes{v1.24}{2021/04/08}{重新优化列表环境的配置。}
% \end{function}
%
% \begin{ctexexam}
+% \setlist{nosep} % 取消所有列表额外的垂直间距
% \begin{enumerate}[label = \arabic*(a),leftmargin = 1cm,resume]
% \begin{itemize}[label = \textbullet]
% \begin{description}[font = \sffamily\bfseries,style = nextline]
% \end{ctexexam}
%
-% \subsubsection{排序列表}
-% \label{subsec:sort list}
-% 使用 \opt{enumerate} 环境可创建排序列表,使用 \env{enumerate*} 环境产生行内部列表,可以使用 \textbf{A、a、I、i和1} 作为可选项为 \env{enumerate} 与 \env{enumerate*} 格式化标签。若生成 \textbf{Item I、Item II、Item III} 格式可以这样:
-% \begin{ctexexam}
-% \begin{enumerate*}[(a)]
-% \begin{enumerate}[\bfseries{Item} I]
-% \end{ctexexam}
-%
-% \subsubsection{常规列表}
-% 使用 \env{itemize} 环境可创建不计数列表,列表环境中若换行不缩进,若在列表中分段后则缩进两字符。 \opt{itemize*} 为行内常规列表,举一个用$\star$取代默认的符号的例子:
-% \begin{ctexexam}
-% \begin{itemize*}[$\star$]
-% \begin{itemize}[$\star$]
-% \end{ctexexam}
-%
-% \subsubsection{主题列表}
-% 使用 \env{description} 环境可创建带有主题词的列表:
-% \begin{ctexexam}
-% \begin{description}
-% \item[主题一] 内容一
-% \item[主题二] 内容二
-% \end{description}
-% \end{ctexexam}
-%
% \subsection{定理}
% \label{subsec:theorem}
% \begin{function}[added = 2021-01-05,updated = 2021-01-08]{theorem,definition,lemma,corollary,proposition,example,remark,proof}
@@ -856,7 +844,7 @@
% \tn{end}\{hangparas\}
% \end{syntax}
% \tn{hangpara} 命令使其后的一个段落保持悬挂缩进,\env{hangparas} 环境使其中的段落均保持悬挂缩进。缩进将以 \meta{缩进长度} 从每个段落的 \meta{缩进开始行数} 开始。
-% \changes{v1.27c}{2021/07/11}{增加悬挂缩进段落命令 \tn{hangpara} 和环境 \env{hangparas}。}
+% \changes{v1.27d}{2021/07/11}{增加悬挂缩进段落命令 \tn{hangpara} 和环境 \env{hangparas}。}
% \end{function}
%
% \subsection{代码}
@@ -906,8 +894,8 @@
% \tcphanifname{\markright{\UseCounter{tcbcounter}{\quad 习题}}}{}
% \exerprologue{习题前的一段文本}
% \begin{exercise}+[color = LightSkyBlue](after skip = 3.75ex)[itemsep = 1ex]
-% \item 习题内容
-% \item 习题内容
+% \item 第一题
+% \item 第二题
% \end{exercise}
% \end{ctexexam}
%
@@ -944,9 +932,9 @@
%
% \begin{ctexexam}
% \begin{easybox}*[DarkCyan](段落标题)
-% 盒子内容
-% \tcblower % 盒子上下部分分界线
-% 盒子内容
+% 上半盒子内容
+% \tcblower % 盒子上下部分分界线
+% 下半盒子内容
% \end{easybox}
% \end{ctexexam}
%
@@ -956,17 +944,18 @@
% \ <盒子内容>
% \tn{end}\{ebparbox\}
% \end{syntax}
-% 环境 \env{ebparbox} 与 \env{easybox} 类似,同样带有三个可选参数。当使用星号参数时盒子左边带有一条竖线,\meta{颜色名} 选项可以自定义竖线颜色,使用不带有星号的环境则盒子带有竖线颜色的浅色背景。\meta{段落标题} 选项可以设置标题,默认无标题。
+% 环境 \env{ebparbox} 与 \env{easybox} 类似,同样带有三个可选参数。当使用星号参数时盒子左边带有一条竖线,\meta{颜色名} 选项可以自定义竖线颜色,使用带有星号的环境则盒子带有竖线颜色的浅色背景。\meta{段落标题} 选项可以设置标题,默认无标题。
% \changes{v1.24}{2021/04/19}{优化盒子环境的选项,增加可带有标题的扁平盒子 \env{ebparbox}。}
% \end{function}
%
% \subsubsection{行内盒子}
-% \begin{function}[added = 2021-03-13,updated = 2021-04-21]{\eblink,\ebemph}
+% \begin{function}[added = 2021-03-13,updated = 2021-07-13]{\eblink,\ebemph,\ebfbox}
% \begin{syntax}
% \tn{eblink}\oarg{颜色名|(Aqua)}\marg{内容}\oarg{配置选项}
% \tn{ebemph}\oarg{颜色名|(DarkSeaGreen)}\marg{内容}\oarg{配置选项}
+% \tn{ebfbox}\oarg{颜色名|(Lime)}\marg{内容}\oarg{配置选项}
% \end{syntax}
-% 设置了两个参数选项相同的行内盒子,盒子 \opt{eblink} 为抄录盒子有三个参数,行内盒子内容是必选参数其他可选。盒子 \opt{ebemph} 也是抄录盒子,具有模糊边缘类似高亮的效果。
+% 使用 \pkg{tcolorbox} 预置了三个参数选项相同的行内盒子,它们均为抄录命令。盒子 \opt{eblink} 具有类似超链接边框的效果,盒子 \opt{ebemph} 具有模糊边缘类似高亮的效果,盒子 \opt{ebfbox} 则有直角边缘并带有上下框线。
% \end{function}
%
% \section{更多用法}
@@ -1043,11 +1032,11 @@
% \subsubsection{自定义脚注}
% \begin{function}[added = 2021-01-05]{\Footnote,\Footnotetext,\Footnotemark}
% \begin{syntax}
-% \tn{Footnote}\marg{标记}\marg{插入文本}
-% \tn{Footnotetext}\marg{标记}\marg{插入文本}
+% \tn{Footnote}\marg{标记}\marg{脚注文本}
+% \tn{Footnotetext}\marg{标记}\marg{脚注文本}
% \tn{Footnotemark}\marg{标记}
% \end{syntax}
-% 自定义标记且不影响正常编号的脚注命令。
+% 这些是自定义 \meta{标记} 且不影响正常编号的脚注命令,用法与它们对应首字母小写的命令类似。如果 \meta{标记} 为空,那么将会使用上一个脚注标记。
% \end{function}
%
% \begin{ctexexam}
@@ -1102,7 +1091,7 @@
%
% \section{载入的宏包}
% 以下为 \cls{easybook} 直接调用的关键宏包,带有 \ding{75} 符号的宏包并未载入它们,仅做了预配置和兼容性处理,可根据需要在导言区手动载入以实现相关的功能。
-% \begin{description}
+% \begin{description}[font = \normalfont\sffamily]
% \item[ctex] 提供中文排版的通用框架。
% \item[xcolor] 提供任意颜色的设定与混合,已载入了 \opt{svgnames} 颜色库。
% \item[footmisc] 更改脚注排版的方法的集合。
@@ -1185,7 +1174,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/07/12}{1.27c}
+\ProvidesExplClass{easybook}{2021/07/13}{1.27d}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -1480,7 +1469,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/07/12}{1.27c}
+\ProvidesExplPackage{easybase}{2021/07/13}{1.27d}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \ctex_define:nn { nx }
@@ -1585,8 +1574,8 @@
\bool_set_false:N \l__eb_page_twoside_bool
},
class .initial:n = book,
- book .meta:n = { class = #1 },
- article .meta:n = { class = #1 },
+ book .meta:n = { class = book },
+ article .meta:n = { class = article },
unknown .code:n =
{ \clist_gput_right:NV \g__eb_ctex_options_clist \CurrentOption }
@@ -1725,7 +1714,7 @@
headruleskip .tl_set:N = \headruleskip,
headruleskip .initial:n = 1.5pt,
footruleskip .tl_set:N = \footruleskip,
- unknown .code:n =
+ unknown .code:n =
{
\clist_gput_right:Nx \g__eb_geometry_clist
{
@@ -2419,8 +2408,8 @@
\cs_new_protected:Npn \eb_biber_title_level_bool:n #1
{
\bool_if:NTF \l__eb_class_book_bool
- { \bichapter*{#1}{\l__eb_bib_bitoc_title} }
- { \bisection*{#1}{\l__eb_bib_bitoc_title} }
+ { \bichapter*{#1}{\l__eb_bib_en_bitoc_title_tl} }
+ { \bisection*{#1}{\l__eb_bib_en_bitoc_title_tl} }
\eb@level@section@mark{#1}
}
\cs_new_protected:Npn \eb_toc_start_multicol_bool:n #1
@@ -2575,7 +2564,7 @@
\l__eb_subfont_math_choice_tl \l_keys_choice_tl
},
math .value_required:n = true,
- math .initial:n = noto
+ math .initial:n = times
}
\cs_new_protected:Npn \eb_put_newtxmath:n #1
@@ -2753,30 +2742,32 @@
{ \tl_const:cn { c__eb_name_#1_tl } {#3} }
{ \tl_const:cn { c__eb_name_#1_tl } {#2} }
}
+\cs_set_eq:NN \eb@declaretheorem@save \declaretheorem
+\cs_set_eq:NN \eb@declaretheoremsyle@save \declaretheoremstyle
+\RenewDocumentCommand{\declaretheorem}{O{}mO{}}
+ {\AfterPreamble{\eb@declaretheorem@save[#1,#3]{#2}}}
+\cs_new_protected:Npn \eb@declaretheorem #1#2
+ { \declaretheorem[#2]{#1} }
+\RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}}
+ {\eb@declaretheoremsyle@save[#1,#3]{#2}}
+\cs_set_eq:NN \newtheorem \declaretheorem
\NewDocumentCommand{\DeclareTheorem}
{mO{\text_titlecase_first:n {#1}}mD(){tc-theorem}O{}}
{
- \ctex_at_end_preamble:n
+ \eb_thm_name_set:nnn {#1} {#2} {#3}
+ \eb@declaretheorem{#1}
{
- \eb_thm_name_set:nnn {#1} {#2} {#3}
- \exp_args:No \declaretheorem@i
- {
- name = \tl_use:c { c__eb_name_#1_tl },
- style = easy-theorem,#5
- }{#1}[]
- \bool_if:NT \l__eb_thmbox_bool
- {
- \@ifpackageloaded{tcolorbox}
- {\tcolorboxenvironment{#1}{#4}}{}
- }
- \labelformat{#1}{\tl_use:c { c__eb_name_#1_tl }~##1}
+ name = \tl_use:c { c__eb_name_#1_tl },
+ style = easy-theorem,#5
+ }
+ \bool_if:NT \l__eb_thmbox_bool
+ {
+ \@ifpackageloaded{tcolorbox}
+ {\tcolorboxenvironment{#1}{#4}}{}
}
+ \labelformat{#1}{\tl_use:c { c__eb_name_#1_tl }~##1}
}
\cs_set_eq:NN \EBNewTheorem \DeclareTheorem
-\cs_set_eq:NN \eb@declare@theorem@save \declaretheorem
-\RenewDocumentCommand{\declaretheorem}{O{}m}
- {\AfterPreamble{\eb@declare@theorem@save[#1]{#2}}}
-\cs_set_eq:NN \newtheorem \declaretheorem
\prop_new:N \l__eb_thmtools_entry_prop
\clist_const:Nn \c__eb_thmtools_entry_clist
{
@@ -2928,58 +2919,48 @@
}
\bool_set_true:N \l__eb_backend_bibtex_bool
-\tl_new:N \l__eb_bib_style_tl
-\tl_new:N \l__eb_bib_otherstyle_tl
-\tl_new:N \l__eb_bib_citestyle_tl
+\tl_new:N \l__eb_bib_all_style_tl
+\tl_new:N \l__eb_bib_cite_style_tl
\clist_new:N \l__eb_bib_datafile_clist
\ctex_define:nn { bibset }
{
backend .choice:,
- backend .value_required:n = true,
- backend/bibtex .code:n = { },
- backend/biblatex .code:n =
+ backend .value_required:n = true,
+ backend/bibtex .code:n = { },
+ backend/biblatex .code:n =
{ \bool_set_false:N \l__eb_backend_bibtex_bool },
- bib-style .choice:,
- bib-style .value_required:n = true,
- bib-style/numerical .code:n =
- {
- \tl_set:Nn \l__eb_bib_style_tl {#1}
- \tl_clear:N \l__eb_bib_otherstyle_tl
- },
- bib-style/authoryear .code:n =
- {
- \tl_set:Nn \l__eb_bib_style_tl {#1}
- \tl_clear:N \l__eb_bib_otherstyle_tl
- },
- bib-style/unknown .code:n =
- { \tl_set_eq:NN \l__eb_bib_otherstyle_tl \l_keys_value_tl },
- bib-style .initial:n = numerical,
+ bib-style .code:n =
+ { \tl_set:Nn \l__eb_bib_all_style_tl {#1} },
+ bib-style .value_required:n = true,
+ bib-style .initial:n = numerical,
cite-style .code:n =
- { \tl_set:Nn \l__eb_bib_citestyle_tl {#1} },
+ { \tl_set:Nn \l__eb_bib_cite_style_tl {#1} },
datafile .clist_set:N = \l__eb_bib_datafile_clist,
- bitoc-title .tl_set:N = \l__eb_bib_bitoc_title,
+ bitoc-title .tl_set:N = \l__eb_bib_en_bitoc_title_tl,
bitoc-title .initial:n = Reference
}
-\cs_new_protected:Npn \BibtexPostset
+\cs_new_protected:Npn \BibtexPreSet
+ { \PassOptionsToPackage{sort&compress}{natbib} }
+\cs_new_protected:Npn \BibtexPostSet
{
- \tl_if_empty:NTF \l__eb_bib_otherstyle_tl
+ \str_case:VnTF \l__eb_bib_all_style_tl
{
- \tl_if_eq:NnT \l__eb_bib_style_tl { numerical }
- {
- \bibliographystyle{gbt7714-numerical}
- \setcitestyle{comma,square,super}
- }
- \tl_if_eq:NnT \l__eb_bib_style_tl { authoryear }
- { \bibliographystyle{gbt7714-author-year} }
- \cs_set_eq:NN \cite \citep
+ { numerical }
+ {
+ \bibliographystyle{gbt7714-numerical}
+ \setcitestyle{comma,square,super}
+ }
+ { authoryear }
+ { \bibliographystyle{gbt7714-author-year} }
}
+ { \cs_set_eq:NN \cite \citep }
{ \exp_args:NV \bibliographystyle \l__eb_bib_otherstyle_tl }
- \tl_if_empty:NF \l__eb_bib_citestyle_tl
- { \exp_args:NV \setcitestyle \l__eb_bib_citestyle_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} }}
@@ -3000,21 +2981,22 @@
}
\cs_new_protected:Npn \eb_put_biblatex:n #1
{ \PassOptionsToPackage{#1}{biblatex} }
-\cs_new_protected:Npn \BiblatexPreset
+\cs_new_protected:Npn \BiblatexPreSet
{
- \tl_if_empty:NTF \l__eb_bib_otherstyle_tl
+ \str_case:VnF \l__eb_bib_all_style_tl
{
- \tl_if_eq:NnT \l__eb_bib_style_tl { numerical }
- { \eb_put_biblatex:n { style = gb7714-2015 } }
- \tl_if_eq:NnT \l__eb_bib_style_tl { authoryear }
- { \eb_put_biblatex:n { style = gb7714-2015ay } }
+ { numerical } { \use_i:nnn }
+ { authoryear } { \use_ii:nnn }
}
- { \eb_put_biblatex:n { style = \l__eb_bib_otherstyle_tl } }
- \tl_if_empty:NF \l__eb_bib_citestyle_tl
- { \eb_put_biblatex:n { citestyle = \l__eb_bib_citestyle_tl } }
+ { \use_iii:nnn }
+ { \eb_put_biblatex:n { style = gb7714-2015 } }
+ { \eb_put_biblatex:n { style = gb7714-2015ay } }
+ { \eb_put_biblatex:n { style = \l__eb_bib_all_style_tl } }
+ \tl_if_empty:NF \l__eb_bib_cite_style_tl
+ { \eb_put_biblatex:n { citestyle = \l__eb_bib_cite_style_tl } }
\eb_put_biblatex:n { backend = biber }
}
-\cs_new_protected:Npn \BiblatexPostset
+\cs_new_protected:Npn \BiblatexPostSet
{
\clist_map_function:NN \l__eb_bib_datafile_clist \addbibresource
\tl_gset:Nn \blx@default@theheading { bibintoc }
@@ -3028,43 +3010,33 @@
{
\bool_if:NTF \l__eb_backend_bibtex_bool
{
- \LoadPackage[sort&compress]{natbib}
- \BibtexPostset
+ \BibtexPreSet
+ \LoadPackage{natbib}
+ \BibtexPostSet
}
{
- \BiblatexPreset
+ \BiblatexPreSet
\LoadPackage{biblatex}
- \BiblatexPostset
+ \BiblatexPostSet
}
}
}
+\cs_new:Npn \eb@lst@if@display #1#2
+ { \lst@ifdisplaystyle #1\else #2\fi }
\lstdefinestyle{easy-listings}
{
language = [LaTeX]TeX,
- texcsstyle =
- {
- *\lst@ifdisplaystyle
- \bfseries\color{ctex@verb}
- \else
- \color{ctex@verb}
- \fi
- },
+ texcsstyle = {*},
basicstyle =
{
- \ttfamily\lst@ifdisplaystyle
- \small
- \else
- \color{ctex@verb}
- \fi
+ \ttfamily
+ \eb@lst@if@display{\small}{\color{ctex@verb}}
},
keywordstyle =
{
- \lst@ifdisplaystyle
- \bfseries\color{ctex@verb}
- \else
- \color{ctex@verb}
- \fi
+ \color{ctex@verb}
+ \eb@lst@if@display{\bfseries}{}
},
framexleftmargin = 0pt,
framexrightmargin = 0pt,
@@ -3075,12 +3047,7 @@
frame = single,
rulecolor = \color{ctex@frame},
commentstyle = \color{SlateGray},
- emphstyle = \color{ctex@emph},
- % emph = {},
- morekeywords =
- {
- includegraphics,setmainfont,setsansfont,setmonofont,setCJKmainfont,setCJKsansfont,setCJKmonofont,setCJKfamilyfont,RequirePackage
- }
+ emphstyle = \color{ctex@emph}
}
\lstset
{
@@ -3203,7 +3170,7 @@
\clist_map_function:nN
{
{ none, 000000,000000,000000 },
- { seaside, 4169e1,007130,9932cc },
+ { seaside, 4169e1,9932cc,eb6100 },
{ energy, f39800,00a0e9,893895 },
{ cyberpunk, 601986,eb6877,a4005b }
}
@@ -3215,10 +3182,11 @@
\cs_new:Npn \eb_allow_urlbreak:
{
- \cs_new:Npn \eb_add_urlbreak_points:
- { \tl_map_function:NN \c__eb_urlbreak_points_tl \do }
\eb_appto_cmd:Nn \UrlBreaks
- { \UrlOrds\eb_add_urlbreak_points: }
+ {
+ \UrlOrds
+ \tl_map_function:NN \c__eb_urlbreak_points_tl \do
+ }
}
\tl_const:Nn \c__eb_urlbreak_points_tl
{
@@ -3274,7 +3242,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/12}{1.27c}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/13}{1.27d}
{Customization of tcolorbox for easybook}
\cs_new_protected:Npn \eb_tcb_theorem_set:n #1
@@ -3283,13 +3251,17 @@
{ \tcbset{tc-outline/.style = {#1}} }
\cs_new_protected:Npn \eb_tcb_exercise_set:n #1
{ \tcbset{tc-exercise/.style = {#1}} }
+\tl_gset:Nn \eb@tc@line@skip { 0.5\baselineskip }
\eb_tcb_theorem_set:n
{
enhanced~jigsaw,pad~at~break* = 3pt,
opacityback = 0,
colframe = ctex@emph,
sharpish~corners,
- left = 6pt,right = 6pt,top = 8pt,bottom = 8pt,middle= 8pt
+ beforeafter~skip = 1.75ex plus .2ex minus .1ex,
+ left = 8pt,right = 8pt,
+ top = \eb@tc@line@skip,bottom = \eb@tc@line@skip,
+ middle = \eb@tc@line@skip
}
\eb_tcb_outline_set:n
{
@@ -3300,7 +3272,8 @@
fonttitle = \large\sffamily,fontupper = \itshape,
boxed~title~style = {size = normal,opacityframe = 0,boxrule = 0pt},
attach~boxed~title~to~top~center = {yshift = -\tcboxedtitleheight/2},
- after~skip = 3ex,arc = 3pt,
+ after~skip = 3ex plus .2ex minus .1ex,
+ arc = 3pt,
left = 2pc,right = 2pc,top = 1.5pc,bottom = 1pc
}
\eb_tcb_exercise_set:n
@@ -3308,7 +3281,7 @@
blank,on~line,center,
sharpish~corners,
fontupper = \Large\sffamily,
- before~skip = 3.75ex,
+ before~skip = 3.75ex plus.2ex minus .1ex,
after~skip = 3ex\tl_if_empty:NF \eb@tc@list@prologue { + 0.75ex }
}
\tcbset
@@ -3404,16 +3377,20 @@
{
enhanced~jigsaw,pad~at~break* = 3pt,
IfBooleanTF = {#1}
- {toptitle = 8pt,top = 8pt}
- {frame~hidden,boxrule = 0pt,toptitle = 8pt,top = 0pt},
+ {toptitle = \eb@tc@line@skip,top = \eb@tc@line@skip}
+ {
+ frame~hidden,boxrule = 0pt,
+ toptitle = \eb@tc@line@skip,top = 0pt
+ },
IfValueT = {#3}{title = #3},
colback = #2,colbacktitle = #2,
opacityback = 0.2,opacitybacktitle = 0.2,
coltitle = black,colframe = black,
sharpish~corners,
- left = 6pt,right = 6pt,bottom = 8pt,middle= 8pt,
- bottomtitle = 8pt,
- beforeafter~skip = 2ex,
+ left = 8pt,right = 8pt,
+ bottom = \eb@tc@line@skip,middle = \eb@tc@line@skip,
+ bottomtitle = \eb@tc@line@skip,
+ beforeafter~skip = 1.75ex plus .2ex minus .1ex,
halign~upper = left,halign~lower = left,
center~title,#4
}
@@ -3425,33 +3402,37 @@
borderline~west = {3pt}{0pt}{#2},
IfBooleanTF = {#1}
{
- colback = white,
- IfValueT = {#3}{title = #3},
- top = 0pt,bottom = 0pt,toptitle = 0pt
- }{
colback = #2,colbacktitle = #2,
opacityback = 0.2,opacitybacktitle = 0.2,
- IfValueTF = {#3}{title = #3,top = 0pt}{top = 8pt},
- bottom = 8pt,toptitle = 8pt
+ IfValueTF = {#3}{title = #3,top = 0pt}{top = \eb@tc@line@skip},
+ bottom = \eb@tc@line@skip,toptitle = \eb@tc@line@skip,
+ right = 8pt
+ }{
+ colback = white,
+ IfValueT = {#3}{title = #3},
+ top = 0pt,bottom = 0pt,right = 0pt,toptitle = 0pt
},
- left = 8pt,right = 8pt,middle= 8pt,
sharpish~corners,
- bottomtitle = 8pt,
- beforeafter~skip = 2ex,
+ left = 8pt,
+ middle = \eb@tc@line@skip,bottomtitle = \eb@tc@line@skip,
+ beforeafter~skip = 1.75ex plus .2ex minus .1ex,
colframe = #2,coltitle = #2,#4
}
\DeclareTotalTCBox{\ebemph}{O{DarkSeaGreen}vO{}}
- {
- nobeforeafter,tcbox~raise~base,
- blank,fuzzy~halo = 2pt~with~#1,#3
- }{#2}
+ {on~line,blank,fuzzy~halo = 2pt~with~#1,#3}{#2}
\DeclareTotalTCBox{\eblink}{O{Aqua}vO{}}
{
- standard~jigsaw,
- nobeforeafter,tcbox~raise~base,
- top = 1.25pt,bottom = 1.25pt,left = 1.25pt,right = 1.25pt,
+ standard~jigsaw,on~line,
+ top = 1.5pt,bottom = 1.5pt,left = 1.5pt,right = 1.5pt,
boxrule = 0.75pt,arc = 1pt,
colback = #1,opacityback = 0.2,colframe = #1,#3
}{#2}
+\DeclareTotalTCBox{\ebfbox}{O{Lime}vO{}}
+ {
+ on~line,sharpish~corners,
+ top = 2pt,bottom = 2pt,left = 1pt,right = 1pt,
+ leftrule = 0pt,rightrule = 0pt,
+ colback = #1!10!white,colframe = #1!50!black,#3
+ }{#2}
%</tcolorbox>
\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/easybook/easybase.sty b/Master/texmf-dist/tex/latex/easybook/easybase.sty
index 2a7e98a7335..fe061543ac1 100644
--- a/Master/texmf-dist/tex/latex/easybook/easybase.sty
+++ b/Master/texmf-dist/tex/latex/easybook/easybase.sty
@@ -13,7 +13,7 @@
%% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/07/12}{1.27c}
+\ProvidesExplPackage{easybase}{2021/07/13}{1.27d}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \ctex_define:nn { nx }
@@ -118,8 +118,8 @@
\bool_set_false:N \l__eb_page_twoside_bool
},
class .initial:n = book,
- book .meta:n = { class = #1 },
- article .meta:n = { class = #1 },
+ book .meta:n = { class = book },
+ article .meta:n = { class = article },
unknown .code:n =
{ \clist_gput_right:NV \g__eb_ctex_options_clist \CurrentOption }
@@ -258,7 +258,7 @@
headruleskip .tl_set:N = \headruleskip,
headruleskip .initial:n = 1.5pt,
footruleskip .tl_set:N = \footruleskip,
- unknown .code:n =
+ unknown .code:n =
{
\clist_gput_right:Nx \g__eb_geometry_clist
{
@@ -952,8 +952,8 @@
\cs_new_protected:Npn \eb_biber_title_level_bool:n #1
{
\bool_if:NTF \l__eb_class_book_bool
- { \bichapter*{#1}{\l__eb_bib_bitoc_title} }
- { \bisection*{#1}{\l__eb_bib_bitoc_title} }
+ { \bichapter*{#1}{\l__eb_bib_en_bitoc_title_tl} }
+ { \bisection*{#1}{\l__eb_bib_en_bitoc_title_tl} }
\eb@level@section@mark{#1}
}
\cs_new_protected:Npn \eb_toc_start_multicol_bool:n #1
@@ -1108,7 +1108,7 @@
\l__eb_subfont_math_choice_tl \l_keys_choice_tl
},
math .value_required:n = true,
- math .initial:n = noto
+ math .initial:n = times
}
\cs_new_protected:Npn \eb_put_newtxmath:n #1
@@ -1286,30 +1286,32 @@
{ \tl_const:cn { c__eb_name_#1_tl } {#3} }
{ \tl_const:cn { c__eb_name_#1_tl } {#2} }
}
+\cs_set_eq:NN \eb@declaretheorem@save \declaretheorem
+\cs_set_eq:NN \eb@declaretheoremsyle@save \declaretheoremstyle
+\RenewDocumentCommand{\declaretheorem}{O{}mO{}}
+ {\AfterPreamble{\eb@declaretheorem@save[#1,#3]{#2}}}
+\cs_new_protected:Npn \eb@declaretheorem #1#2
+ { \declaretheorem[#2]{#1} }
+\RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}}
+ {\eb@declaretheoremsyle@save[#1,#3]{#2}}
+\cs_set_eq:NN \newtheorem \declaretheorem
\NewDocumentCommand{\DeclareTheorem}
{mO{\text_titlecase_first:n {#1}}mD(){tc-theorem}O{}}
{
- \ctex_at_end_preamble:n
+ \eb_thm_name_set:nnn {#1} {#2} {#3}
+ \eb@declaretheorem{#1}
{
- \eb_thm_name_set:nnn {#1} {#2} {#3}
- \exp_args:No \declaretheorem@i
- {
- name = \tl_use:c { c__eb_name_#1_tl },
- style = easy-theorem,#5
- }{#1}[]
- \bool_if:NT \l__eb_thmbox_bool
- {
- \@ifpackageloaded{tcolorbox}
- {\tcolorboxenvironment{#1}{#4}}{}
- }
- \labelformat{#1}{\tl_use:c { c__eb_name_#1_tl }~##1}
+ name = \tl_use:c { c__eb_name_#1_tl },
+ style = easy-theorem,#5
}
+ \bool_if:NT \l__eb_thmbox_bool
+ {
+ \@ifpackageloaded{tcolorbox}
+ {\tcolorboxenvironment{#1}{#4}}{}
+ }
+ \labelformat{#1}{\tl_use:c { c__eb_name_#1_tl }~##1}
}
\cs_set_eq:NN \EBNewTheorem \DeclareTheorem
-\cs_set_eq:NN \eb@declare@theorem@save \declaretheorem
-\RenewDocumentCommand{\declaretheorem}{O{}m}
- {\AfterPreamble{\eb@declare@theorem@save[#1]{#2}}}
-\cs_set_eq:NN \newtheorem \declaretheorem
\prop_new:N \l__eb_thmtools_entry_prop
\clist_const:Nn \c__eb_thmtools_entry_clist
{
@@ -1461,58 +1463,48 @@
}
\bool_set_true:N \l__eb_backend_bibtex_bool
-\tl_new:N \l__eb_bib_style_tl
-\tl_new:N \l__eb_bib_otherstyle_tl
-\tl_new:N \l__eb_bib_citestyle_tl
+\tl_new:N \l__eb_bib_all_style_tl
+\tl_new:N \l__eb_bib_cite_style_tl
\clist_new:N \l__eb_bib_datafile_clist
\ctex_define:nn { bibset }
{
backend .choice:,
- backend .value_required:n = true,
- backend/bibtex .code:n = { },
- backend/biblatex .code:n =
+ backend .value_required:n = true,
+ backend/bibtex .code:n = { },
+ backend/biblatex .code:n =
{ \bool_set_false:N \l__eb_backend_bibtex_bool },
- bib-style .choice:,
- bib-style .value_required:n = true,
- bib-style/numerical .code:n =
- {
- \tl_set:Nn \l__eb_bib_style_tl {#1}
- \tl_clear:N \l__eb_bib_otherstyle_tl
- },
- bib-style/authoryear .code:n =
- {
- \tl_set:Nn \l__eb_bib_style_tl {#1}
- \tl_clear:N \l__eb_bib_otherstyle_tl
- },
- bib-style/unknown .code:n =
- { \tl_set_eq:NN \l__eb_bib_otherstyle_tl \l_keys_value_tl },
- bib-style .initial:n = numerical,
+ bib-style .code:n =
+ { \tl_set:Nn \l__eb_bib_all_style_tl {#1} },
+ bib-style .value_required:n = true,
+ bib-style .initial:n = numerical,
cite-style .code:n =
- { \tl_set:Nn \l__eb_bib_citestyle_tl {#1} },
+ { \tl_set:Nn \l__eb_bib_cite_style_tl {#1} },
datafile .clist_set:N = \l__eb_bib_datafile_clist,
- bitoc-title .tl_set:N = \l__eb_bib_bitoc_title,
+ bitoc-title .tl_set:N = \l__eb_bib_en_bitoc_title_tl,
bitoc-title .initial:n = Reference
}
-\cs_new_protected:Npn \BibtexPostset
- {
- \tl_if_empty:NTF \l__eb_bib_otherstyle_tl
- {
- \tl_if_eq:NnT \l__eb_bib_style_tl { numerical }
- {
- \bibliographystyle{gbt7714-numerical}
- \setcitestyle{comma,square,super}
- }
- \tl_if_eq:NnT \l__eb_bib_style_tl { authoryear }
- { \bibliographystyle{gbt7714-author-year} }
- \cs_set_eq:NN \cite \citep
+\cs_new_protected:Npn \BibtexPreSet
+ { \PassOptionsToPackage{sort&compress}{natbib} }
+\cs_new_protected:Npn \BibtexPostSet
+ {
+ \str_case:VnTF \l__eb_bib_all_style_tl
+ {
+ { numerical }
+ {
+ \bibliographystyle{gbt7714-numerical}
+ \setcitestyle{comma,square,super}
+ }
+ { authoryear }
+ { \bibliographystyle{gbt7714-author-year} }
}
+ { \cs_set_eq:NN \cite \citep }
{ \exp_args:NV \bibliographystyle \l__eb_bib_otherstyle_tl }
- \tl_if_empty:NF \l__eb_bib_citestyle_tl
- { \exp_args:NV \setcitestyle \l__eb_bib_citestyle_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} }}
@@ -1533,21 +1525,22 @@
}
\cs_new_protected:Npn \eb_put_biblatex:n #1
{ \PassOptionsToPackage{#1}{biblatex} }
-\cs_new_protected:Npn \BiblatexPreset
+\cs_new_protected:Npn \BiblatexPreSet
{
- \tl_if_empty:NTF \l__eb_bib_otherstyle_tl
+ \str_case:VnF \l__eb_bib_all_style_tl
{
- \tl_if_eq:NnT \l__eb_bib_style_tl { numerical }
- { \eb_put_biblatex:n { style = gb7714-2015 } }
- \tl_if_eq:NnT \l__eb_bib_style_tl { authoryear }
- { \eb_put_biblatex:n { style = gb7714-2015ay } }
+ { numerical } { \use_i:nnn }
+ { authoryear } { \use_ii:nnn }
}
- { \eb_put_biblatex:n { style = \l__eb_bib_otherstyle_tl } }
- \tl_if_empty:NF \l__eb_bib_citestyle_tl
- { \eb_put_biblatex:n { citestyle = \l__eb_bib_citestyle_tl } }
+ { \use_iii:nnn }
+ { \eb_put_biblatex:n { style = gb7714-2015 } }
+ { \eb_put_biblatex:n { style = gb7714-2015ay } }
+ { \eb_put_biblatex:n { style = \l__eb_bib_all_style_tl } }
+ \tl_if_empty:NF \l__eb_bib_cite_style_tl
+ { \eb_put_biblatex:n { citestyle = \l__eb_bib_cite_style_tl } }
\eb_put_biblatex:n { backend = biber }
}
-\cs_new_protected:Npn \BiblatexPostset
+\cs_new_protected:Npn \BiblatexPostSet
{
\clist_map_function:NN \l__eb_bib_datafile_clist \addbibresource
\tl_gset:Nn \blx@default@theheading { bibintoc }
@@ -1561,43 +1554,33 @@
{
\bool_if:NTF \l__eb_backend_bibtex_bool
{
- \LoadPackage[sort&compress]{natbib}
- \BibtexPostset
+ \BibtexPreSet
+ \LoadPackage{natbib}
+ \BibtexPostSet
}
{
- \BiblatexPreset
+ \BiblatexPreSet
\LoadPackage{biblatex}
- \BiblatexPostset
+ \BiblatexPostSet
}
}
}
+\cs_new:Npn \eb@lst@if@display #1#2
+ { \lst@ifdisplaystyle #1\else #2\fi }
\lstdefinestyle{easy-listings}
{
language = [LaTeX]TeX,
- texcsstyle =
- {
- *\lst@ifdisplaystyle
- \bfseries\color{ctex@verb}
- \else
- \color{ctex@verb}
- \fi
- },
+ texcsstyle = {*},
basicstyle =
{
- \ttfamily\lst@ifdisplaystyle
- \small
- \else
- \color{ctex@verb}
- \fi
+ \ttfamily
+ \eb@lst@if@display{\small}{\color{ctex@verb}}
},
keywordstyle =
{
- \lst@ifdisplaystyle
- \bfseries\color{ctex@verb}
- \else
- \color{ctex@verb}
- \fi
+ \color{ctex@verb}
+ \eb@lst@if@display{\bfseries}{}
},
framexleftmargin = 0pt,
framexrightmargin = 0pt,
@@ -1608,12 +1591,7 @@
frame = single,
rulecolor = \color{ctex@frame},
commentstyle = \color{SlateGray},
- emphstyle = \color{ctex@emph},
- % emph = {},
- morekeywords =
- {
- includegraphics,setmainfont,setsansfont,setmonofont,setCJKmainfont,setCJKsansfont,setCJKmonofont,setCJKfamilyfont,RequirePackage
- }
+ emphstyle = \color{ctex@emph}
}
\lstset
{
@@ -1736,7 +1714,7 @@
\clist_map_function:nN
{
{ none, 000000,000000,000000 },
- { seaside, 4169e1,007130,9932cc },
+ { seaside, 4169e1,9932cc,eb6100 },
{ energy, f39800,00a0e9,893895 },
{ cyberpunk, 601986,eb6877,a4005b }
}
@@ -1748,10 +1726,11 @@
\cs_new:Npn \eb_allow_urlbreak:
{
- \cs_new:Npn \eb_add_urlbreak_points:
- { \tl_map_function:NN \c__eb_urlbreak_points_tl \do }
\eb_appto_cmd:Nn \UrlBreaks
- { \UrlOrds\eb_add_urlbreak_points: }
+ {
+ \UrlOrds
+ \tl_map_function:NN \c__eb_urlbreak_points_tl \do
+ }
}
\tl_const:Nn \c__eb_urlbreak_points_tl
{
diff --git a/Master/texmf-dist/tex/latex/easybook/easybook.cls b/Master/texmf-dist/tex/latex/easybook/easybook.cls
index 3ece1ab9add..6e4e5082af8 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}
-\ProvidesExplClass{easybook}{2021/07/12}{1.27c}
+\ProvidesExplClass{easybook}{2021/07/13}{1.27d}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
diff --git a/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg b/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
index a5e142e7bc1..82cf72e7fd0 100644
--- a/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
+++ b/Master/texmf-dist/tex/latex/easybook/eb-tcolorbox.cfg
@@ -11,7 +11,7 @@
%% conditions of the CC-BY 4.0 License.
%% The latest version of this license is in
%% https://creativecommons.org/licenses/by/4.0/legalcode
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/12}{1.27c}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/13}{1.27d}
{Customization of tcolorbox for easybook}
\cs_new_protected:Npn \eb_tcb_theorem_set:n #1
@@ -20,13 +20,17 @@
{ \tcbset{tc-outline/.style = {#1}} }
\cs_new_protected:Npn \eb_tcb_exercise_set:n #1
{ \tcbset{tc-exercise/.style = {#1}} }
+\tl_gset:Nn \eb@tc@line@skip { 0.5\baselineskip }
\eb_tcb_theorem_set:n
{
enhanced~jigsaw,pad~at~break* = 3pt,
opacityback = 0,
colframe = ctex@emph,
sharpish~corners,
- left = 6pt,right = 6pt,top = 8pt,bottom = 8pt,middle= 8pt
+ beforeafter~skip = 1.75ex plus .2ex minus .1ex,
+ left = 8pt,right = 8pt,
+ top = \eb@tc@line@skip,bottom = \eb@tc@line@skip,
+ middle = \eb@tc@line@skip
}
\eb_tcb_outline_set:n
{
@@ -37,7 +41,8 @@
fonttitle = \large\sffamily,fontupper = \itshape,
boxed~title~style = {size = normal,opacityframe = 0,boxrule = 0pt},
attach~boxed~title~to~top~center = {yshift = -\tcboxedtitleheight/2},
- after~skip = 3ex,arc = 3pt,
+ after~skip = 3ex plus .2ex minus .1ex,
+ arc = 3pt,
left = 2pc,right = 2pc,top = 1.5pc,bottom = 1pc
}
\eb_tcb_exercise_set:n
@@ -45,7 +50,7 @@
blank,on~line,center,
sharpish~corners,
fontupper = \Large\sffamily,
- before~skip = 3.75ex,
+ before~skip = 3.75ex plus.2ex minus .1ex,
after~skip = 3ex\tl_if_empty:NF \eb@tc@list@prologue { + 0.75ex }
}
\tcbset
@@ -141,16 +146,20 @@
{
enhanced~jigsaw,pad~at~break* = 3pt,
IfBooleanTF = {#1}
- {toptitle = 8pt,top = 8pt}
- {frame~hidden,boxrule = 0pt,toptitle = 8pt,top = 0pt},
+ {toptitle = \eb@tc@line@skip,top = \eb@tc@line@skip}
+ {
+ frame~hidden,boxrule = 0pt,
+ toptitle = \eb@tc@line@skip,top = 0pt
+ },
IfValueT = {#3}{title = #3},
colback = #2,colbacktitle = #2,
opacityback = 0.2,opacitybacktitle = 0.2,
coltitle = black,colframe = black,
sharpish~corners,
- left = 6pt,right = 6pt,bottom = 8pt,middle= 8pt,
- bottomtitle = 8pt,
- beforeafter~skip = 2ex,
+ left = 8pt,right = 8pt,
+ bottom = \eb@tc@line@skip,middle = \eb@tc@line@skip,
+ bottomtitle = \eb@tc@line@skip,
+ beforeafter~skip = 1.75ex plus .2ex minus .1ex,
halign~upper = left,halign~lower = left,
center~title,#4
}
@@ -162,34 +171,38 @@
borderline~west = {3pt}{0pt}{#2},
IfBooleanTF = {#1}
{
- colback = white,
- IfValueT = {#3}{title = #3},
- top = 0pt,bottom = 0pt,toptitle = 0pt
- }{
colback = #2,colbacktitle = #2,
opacityback = 0.2,opacitybacktitle = 0.2,
- IfValueTF = {#3}{title = #3,top = 0pt}{top = 8pt},
- bottom = 8pt,toptitle = 8pt
+ IfValueTF = {#3}{title = #3,top = 0pt}{top = \eb@tc@line@skip},
+ bottom = \eb@tc@line@skip,toptitle = \eb@tc@line@skip,
+ right = 8pt
+ }{
+ colback = white,
+ IfValueT = {#3}{title = #3},
+ top = 0pt,bottom = 0pt,right = 0pt,toptitle = 0pt
},
- left = 8pt,right = 8pt,middle= 8pt,
sharpish~corners,
- bottomtitle = 8pt,
- beforeafter~skip = 2ex,
+ left = 8pt,
+ middle = \eb@tc@line@skip,bottomtitle = \eb@tc@line@skip,
+ beforeafter~skip = 1.75ex plus .2ex minus .1ex,
colframe = #2,coltitle = #2,#4
}
\DeclareTotalTCBox{\ebemph}{O{DarkSeaGreen}vO{}}
- {
- nobeforeafter,tcbox~raise~base,
- blank,fuzzy~halo = 2pt~with~#1,#3
- }{#2}
+ {on~line,blank,fuzzy~halo = 2pt~with~#1,#3}{#2}
\DeclareTotalTCBox{\eblink}{O{Aqua}vO{}}
{
- standard~jigsaw,
- nobeforeafter,tcbox~raise~base,
- top = 1.25pt,bottom = 1.25pt,left = 1.25pt,right = 1.25pt,
+ standard~jigsaw,on~line,
+ top = 1.5pt,bottom = 1.5pt,left = 1.5pt,right = 1.5pt,
boxrule = 0.75pt,arc = 1pt,
colback = #1,opacityback = 0.2,colframe = #1,#3
}{#2}
+\DeclareTotalTCBox{\ebfbox}{O{Lime}vO{}}
+ {
+ on~line,sharpish~corners,
+ top = 2pt,bottom = 2pt,left = 1pt,right = 1pt,
+ leftrule = 0pt,rightrule = 0pt,
+ colback = #1!10!white,colframe = #1!50!black,#3
+ }{#2}
\endinput
%%
%% End of file `eb-tcolorbox.cfg'.