summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/easybook
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-20 03:01:22 +0000
committerNorbert Preining <norbert@preining.info>2021-06-20 03:01:22 +0000
commit0b024adf546cd484554e4de5bd1a9919a4fdd03d (patch)
treef688c8afa79d522868966c9c91e09088f28b5248 /macros/latex/contrib/easybook
parentdaa6873fe1d06863ffc2980970295b39071f02ba (diff)
CTAN sync 202106200301
Diffstat (limited to 'macros/latex/contrib/easybook')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx66
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin334646 -> 530360 bytes
2 files changed, 32 insertions, 34 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 8a99557d42..487fcdf96d 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -10,7 +10,7 @@
%
% \iffalse
%<*driver>
-\documentclass{ctxdoc}
+\documentclass[fontset = fandol]{ctxdoc}
\OnlyDescription
\begin{document}
\DocInput{\jobname.dtx}
@@ -28,7 +28,7 @@
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/06/16\hskip\ccwd\relax v1.26e\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/06/18\hskip\ccwd\relax v1.26f\thanks{\url{https://gitee.com/texl3/easybook}}}
%
% \maketitle
% \begin{abstract}
@@ -37,7 +37,7 @@
% \tableofcontents
%
% \section{使用说明}
-% 使用 \cls{easybook} 文档类编写文档前您可能需要满足以下的条件
+% 使用 \cls{easybook} 文档类编写文档前您可能需要满足以下的条件:
% \begin{itemize}
% \item 使用 \hologo{XeLaTeX}(推荐)或 \hologo{LuaLaTeX} 两种编译方式。
% \item 由于用到了一些 \LaTeX 和宏包较新的功能,建议安装最新的 \TeX 发行版,例如 \TeX Live 2021或 \hologo{MiKTeX} 21.2之后的版本。
@@ -75,7 +75,7 @@
% \end{frameverb}
%
% \subsection{编译方式}
-% 假设您的 \TeX 源文件名为 \opt{easybook.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行
+% 假设您的 \TeX 源文件名为 \opt{easybook.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行:
% \begin{frameverb}
% xelatex -shell-escape easybook
% bibtex easybook
@@ -110,7 +110,7 @@
% \end{function}
%
% \begin{function}[rEXP,added = 2021-01-05]{newline}
-% 部分和章标题的样式为另起一行,符合一般英文书籍的习惯。类似下面的效果
+% 部分和章标题的样式为另起一行,符合一般英文书籍的习惯。类似下面的效果:
% \begin{flushleft}\sffamily\LARGE
% Chapter 1\vskip 1.3pc
% This is a title
@@ -128,11 +128,11 @@
% 同时开启 \opt{newline} 和 \opt{scheme = plain} 选项以符合英文原生风格。
% \end{function}
%
-% \begin{function}[rEXP,added = 2021-01-05,updated = 2021-02-02]{font}
+% \begin{function}[rEXP,added = 2021-01-05,updated = 2021-06-18]{font}
% \begin{syntax}
-% font = <adobe|founder|mac|windows|linux|(overleaf)|noto|none>
+% font = <adobe|fandol|mac|windows|linux|noto|(auto)|none>
% \end{syntax}
-% 传递给 \cls{ctexbook} 设置字体,最好不要使用原有的 \opt{fontset} 选项,默认情况下使用自定义字体而不开启这个选项,可根据安装的字体及电脑系统选取。\opt{noto} 与 \opt{none} 选项的相关描述见小节 \ref{subsec:font settings},\opt{overleaf} 是一个各系统通用选项,会检测系统环境选取对应字体。
+% 传递给 \cls{ctexbook} 设置字体,最好不要使用原有的 \opt{fontset} 选项,默认情况下使用自定义字体而不开启这个选项,可根据安装的字体及电脑系统选取。\opt{noto} 与 \opt{none} 选项的相关描述见小节 \ref{subsec:font settings},\opt{auto} 是一个各系统通用选项,会检测系统环境选取对应字体。
% \changes{v1.21}{2021/01/12}{默认字体与 \CTeX 一致,不再是自定义字体。}
% \changes{v1.25}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
% \end{function}
@@ -157,7 +157,7 @@
% floatpage = <true|(false)>
% \end{syntax}
% 开启这个选项后浮动环境 \env{table} 和 \env{figure} 的比例参数会使用默认值,关闭它则尽可能避免出现浮动页,使图表环境与正文段落更加紧凑,减少多余的空白版面。
-% \changes{v1.26e}{2021/06/15}{增加浮动环境比例参数选项 \opt{floatpage}。}
+% \changes{v1.26f}{2021/06/15}{增加浮动环境比例参数选项 \opt{floatpage}。}
% \end{function}
%
% \subsection{article 模式}
@@ -239,7 +239,7 @@
% \tn{EBeforeAddBitoc*}\marg{加入目录英文标题前的代码}
% \end{syntax}
% \tn{appendix} 命令后的章节标题变为附录形式。英文目录中附录标题的格式用可选参数修改,英文附录目录前名字默认为 Appendix\tn{space},后名字默认为空,名字之间用一个半角逗号分开,也可以只有一部分,表示英文附录目录前名字。英文附录目录数字输出命令默认为 \tn{Alph}\{chapter\}。
-% \changes{v1.26e}{2021/06/13}{增加调整英文目录格式的钩子 \tn{EBeforeAddBitoc}。}
+% \changes{v1.26f}{2021/06/13}{增加调整英文目录格式的钩子 \tn{EBeforeAddBitoc}。}
% \end{function}
%
% \tn{EBeforeAddBitoc} 是一个作用于局部范围的英文目录钩子,可以插入标题或目录设置的命令改变英文目录中标题的显示格式,也可以覆盖上述的目录前后名字和编号等设置,带有星号的命令会重置之前的代码,放置在导言区或 \tn{bichapter} 等命令前生效。
@@ -250,7 +250,7 @@
% \begin{syntax}
% \tn{ctexset}\marg{键值列表}
% \end{syntax}
-% \cls{easybook} 扩展了 \CTeX 宏集 \LaTeX 3风格键值的通用控制命令 \tn{ctexset},接口选项同样可用它设置, 原有的 \meta{键值列表} 仍然可用。本文档类目前有九个模块用于实现常规的排版功能,如下表所示,它们既是统一接口 \tn{ctexset} 的路径,也是相关模块的接口命令名
+% \cls{easybook} 扩展了 \CTeX 宏集 \LaTeX 3风格键值的通用控制命令 \tn{ctexset},接口选项同样可用它设置, 原有的 \meta{键值列表} 仍然可用。本文档类目前有九个模块用于实现常规的排版功能,如下表所示,它们既是统一接口 \tn{ctexset} 的路径,也是相关模块的接口命令名:
% \begin{center}
% \begin{tabular}{*{5}{c}}
% \toprule
@@ -482,7 +482,7 @@
% 文档类已预置8个定理环境,环境名及对应的定理标题名见小节 \ref{subsec:theorem},如果需要新的定理标题名或定理样式可使用这两个命令,由 \pkg{thmtools} 提供支持,用法与它的同名命令一致。
% \changes{v1.23}{2021/03/12}{重新定义了新定理环境命令 \tn{newtheorem}。}
% \changes{v1.24}{2021/04/25}{增加定义定理环境命令 \tn{EBNewTheorem}。}
-% \changes{v1.26e}{2021/06/15}{定义新定理环境的命令调整为 \tn{declaretheorem}。}
+% \changes{v1.26f}{2021/06/15}{定义新定理环境的命令调整为 \tn{declaretheorem}。}
% \end{function}
%
% \begin{optdesc}
@@ -504,16 +504,16 @@
% \end{optdesc}
%
% \subsubsection{新的定理样式}
-% 预置定理的样式为 \opt{easy-theorem},上述定理样式选项将对这个定理样式生效。如果使用这个样式而只是增加新的定理名称,可以这样
+% 预置定理的样式为 \opt{easy-theorem},上述定理样式选项将对这个定理样式生效。如果使用这个样式而只是增加新的定理名称,可以这样:
% \begin{ctexexam}
% \EBNewTheorem{定理环境名}{中文标题}[style = other theorem]
% \declaretheorem[style = easy-theorem,name = 定理名]{定理环境名}
% \end{ctexexam}
-% \tn{declaretheorem} 定义的定理环境需要手动增加盒子边框,可以如下进行设置
+% \tn{declaretheorem} 定义的定理环境需要手动增加盒子边框,可以如下进行设置:
% \begin{ctexexam}
% \tcolorboxenvironment{定理环境名}{tc-theorem}
% \end{ctexexam}
-% 定义一个新的定理样式可用于 \tn{declaretheorem} 的 \opt{style} 选项
+% 定义一个新的定理样式可用于 \tn{declaretheorem} 的 \opt{style} 选项:
% \begin{ctexexam}
% \declaretheoremstyle[bodyfont = \rmfamily,spacepost = 0.5\ccwd]{定理样式名}
% \end{ctexexam}
@@ -571,7 +571,7 @@
% \changes{v1.24}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 article 模式生效。}
% \end{function}
%
-% 标签选项 \opt{chap-label}、\opt{sec-label} 和 \opt{subsec-label} 用于设置标志命令中的标签,包括标题编号和与标题内容之间的距离,它们比标志命令内容的选项更常用,可选参数是编号,必选参数是距离命令
+% 标签选项 \opt{chap-label}、\opt{sec-label} 和 \opt{subsec-label} 用于设置标志命令中的标签,包括标题编号和与标题内容之间的距离,它们比标志命令内容的选项更常用,可选参数是编号,必选参数是距离命令:
% \begin{ctexexam}
% \hdrset
% {
@@ -588,10 +588,10 @@
% \tn{markrule}\oarg{长度|(\tn{textwidth})}\parg{颜色名}\marg{线宽|(0.75pt)}[<上间距>+<下间距>]
% \end{syntax}
% 命令 \tn{easyhead} 和 \tn{easyfoot} 的使用方法与 \tn{fancyhead} 和 \tn{fancyfoot} 完全相同,它们需要在 \opt{head-foot} 选项中使用,设置的是一个名为 \opt{fancy} 的页面风格。\pkg{fancyhdr} 将页眉页脚分成了左中右和奇数页(odd)、偶数页(even)共12个部分,可选参数中E、O代表偶数、奇数,L、C、R代表左、中、右部分。单面打印时,含有偶数的选项无效。
-% \changes{v1.26e}{2021/06/14}{增加页眉页脚的横线绘制命令 \tn{markrule}。}
+% \changes{v1.26f}{2021/06/14}{增加页眉页脚的横线绘制命令 \tn{markrule}。}
% \end{function}
%
-% 命令 \tn{markrule} 用于绘制页眉页脚横线,长度默认为页面文本区的宽度,上下间距为横线与上下方部件的间距,带有长度单位,间距长度之间用+号分开,若只有一部分则表示上间距,这个命令也可以在正文中绘制横线。下面举一个设置页眉内容的例子
+% 命令 \tn{markrule} 用于绘制页眉页脚横线,长度默认为页面文本区的宽度,上下间距为横线与上下方部件的间距,带有长度单位,间距长度之间用+号分开,若只有一部分则表示上间距,这个命令也可以在正文中绘制横线。下面举一个设置页眉内容的例子:
% \begin{ctexexam}
% \hdrset
% {
@@ -689,7 +689,7 @@
% \begin{optdesc}
% \item[lolskip] \opt{lolskip} 是代码目录中章之间的代码标题的距离,与 \CTeX 的表格目录和图片目录中章之间的标题距离选项 \opt{lotskip} 和 \opt{lofskip} 类似,它们的值均默认0.8 pc,在 article 模式中此选项失效。
% \item[belowoffset] \opt{belowoffset} 选项为主文档目录标题下方的间距补偿,一般为负值,用于抵消 \opt{format} 中额外的垂直间距。\opt{(level)} 中的 \opt{belowoffset} 与之意义类似,代表 figure、table 和 lstlisting 三个级别,也可以使用 \opt{list} 统一设置,一般为正值。
-% \item[tocline] 目录标签整体使用 \opt{tocline} 设置,在图表标签的参数中 \#1 代表编号,代码标签中则是 \tn{thelstlisting} 代表编号,标签中还可包含标签名称,默认标签名称与图、表和代码环境的标题名称一致。下面举个设置标签的例子
+% \item[tocline] 目录标签整体使用 \opt{tocline} 设置,在图表标签的参数中 \#1 代表编号,代码标签中则是 \tn{thelstlisting} 代表编号,标签中还可包含标签名称,默认标签名称与图、表和代码环境的标题名称一致。下面举个设置标签的例子:
% \begin{ctexexam}
% \tocset
% {
@@ -735,7 +735,7 @@
% \ \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}
%
@@ -747,14 +747,14 @@
%
% \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} 格式可以这样
+% 使用 \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$取代默认的符号的例子
+% 使用 \env{itemize} 环境可创建不计数列表,列表环境中若换行不缩进,若在列表中分段后则缩进两字符。 \opt{itemize*} 为行内常规列表,举一个用$\star$取代默认的符号的例子:
% \begin{ctexexam}
% \begin{itemize*}[$\star$]
% \begin{itemize}[$\star$]
@@ -777,7 +777,7 @@
% \ <定理内容>
% \tn{end}\marg{环境名}
% \end{syntax}
-% 这些是已预置的定理环境,它们的盒子边框可使用 \opt{thmset/thmbox = false} 关闭,其中注与证明环境不编号,证明末尾会自动添加证明结束符,声明新的定理环境见小节 \ref{subsec:theorem of style}。环境名对应的定理标题名如下
+% 这些是已预置的定理环境,它们的盒子边框可使用 \opt{thmset/thmbox = false} 关闭,其中注与证明环境不编号,证明末尾会自动添加证明结束符,声明新的定理环境见小节 \ref{subsec:theorem of style}。环境名对应的定理标题名如下:
% \begin{center}
% \begin{tabular}{*{8}{c}}
% \toprule
@@ -796,7 +796,7 @@
% \ \tn{item} <习题内容>
% \tn{end}\marg{exercise}
% \end{syntax}
-% 习题环境 \env{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号参数时不进行编号,使用+号参数独立编号并启用 \pkg{tcolorbox} 支持生成标题,并使 \opt{color} 生效。第三个 \meta{键值列表} 的选项与小节 \ref{subsec:sort list} 排序列表相同,\opt{number} 的编号格式也是如此。第一个 \meta{键值列表} 中包含的选项如下
+% 习题环境 \env{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号参数时不进行编号,使用+号参数独立编号并启用 \pkg{tcolorbox} 支持生成标题,并使 \opt{color} 生效。第三个 \meta{键值列表} 的选项与小节 \ref{subsec:sort list} 排序列表相同,\opt{number} 的编号格式也是如此。第一个 \meta{键值列表} 中包含的选项如下:
% \changes{v1.23}{2021/02/08}{增加准确的习题盒子标题目录锚点。}
% \end{function}
%
@@ -1081,7 +1081,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/06/16}{1.26e}{beta}
+\ProvidesExplClass{easybook}{2021/06/18}{1.26f}{beta}
\bool_set_false:N \l__eb_compile_draft_bool
\bool_set_false:N \l__eb_title_newline_bool
@@ -1101,17 +1101,17 @@
enmode .meta:n = { newline,scheme = plain },
font .choices:nn =
- { adobe,founder,mac,windows,none }
+ { adobe,fandol,mac,windows,none }
{ \eb_put_ctexbook:n { fontset = \l_keys_choice_tl } },
font/noto .code:n =
{
\bool_set_true:N \l__eb_font_noto_bool
\eb_put_ctexbook:n { fontset = none }
},
- font/overleaf .code:n = { },
- font/linux .code:n = \eb_put_ctexbook:n { fontset = ubuntu },
+ font/auto .code:n = { },
+ font/linux .code:n = \eb_put_ctexbook:n { fontset = ubuntu },
font .value_required:n = true,
- font .initial:n = overleaf,
+ font .initial:n = auto,
paper .choice:,
paper .value_required:n = true,
@@ -1147,6 +1147,7 @@
}
\ProcessKeysOptions{easybook}
+\PassOptionsToPackage{no-math,quiet,CJKmath}{xeCJK}
\eb_put_ctexbook:n { \g__eb_options_clist }
\LoadClass[UTF8]{ctexbook}
@@ -1327,7 +1328,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2021/06/16}{1.26e}{beta}
+\ProvidesExplPackage{easybase}{2021/06/18}{1.26f}{beta}
\cs_generate_variant:Nn \eb_ctex_define:nn { nx }
\cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1426,8 +1427,6 @@
{ list = off } { bicaption },
{ many } { tcolorbox },
{ xindy } { imakeidx },
- { CJKmath } { xeCJK },
- { no-math } { fontspec },
{ upint } { newtxmath }
}
{ \PassOptionsToPackage #1 }
@@ -1704,8 +1703,7 @@
{
\bool_if:NTF \l__eb_mark_uppercase_bool
{ \eb@text@uppercase }
- { \eb@text@nouppercase }
- { \use:c { eb_fancyhf_#1_mark:n } {#2} }
+ { \eb@text@nouppercase }{\use:c { eb_fancyhf_#1_mark:n } {#2}}
}
\cs_new:Npn \eb@level@markdouble #1#2
{
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index fe384ab0a3..9355091fa9 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ