summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/easybook
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-08-04 03:00:43 +0000
committerNorbert Preining <norbert@preining.info>2021-08-04 03:00:43 +0000
commitda02fd6ad1c5fb45c5ec641bf236d8de4745709f (patch)
tree9dcca034494c127f45a96f07db11ee3287e27836 /macros/latex/contrib/easybook
parent363ea487975bcc527ccdb2c9b5dda1b27cf839b2 (diff)
CTAN sync 202108040300
Diffstat (limited to 'macros/latex/contrib/easybook')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx77
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin580944 -> 583267 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex51
3 files changed, 71 insertions, 57 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index ab3c09ae3c..c899f15504 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -8,7 +8,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/08/02}{1.28c}
+\ProvidesExplClass{easybook}{2021/08/03}{1.28d}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -292,11 +292,12 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/08/02}{1.28c}
+\ProvidesExplPackage{easybase}{2021/08/03}{1.28d}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_add:Nn { NV,Nv }
\cs_generate_variant:Nn \dim_set:Nn { NV }
+\cs_generate_variant:Nn \dim_sign:n { V }
\cs_generate_variant:Nn \int_to_arabic:n { v }
\cs_generate_variant:Nn \prop_set_from_keyval:Nn { NV }
\cs_generate_variant:Nn \skip_set:Nn { NV }
@@ -924,17 +925,19 @@
}
{
\noindent
- \dim_compare:nNnTF { \footnoteindent } > { 0pt }
+ \int_case:nn { \dim_sign:V \footnoteindent }
+ {
+ { 1 } { \use_i:nnn }
+ { 0 } { \use_ii:nnn }
+ { -1 } { \use_iii:nnn }
+ }
{ \hbox_to_wd:nn { \footnoteindent } { \hss\eb@makefnmark } }
+ { \hbox_overlap_left:n { \eb@makefnmark } }
{
- \dim_compare:nNnTF { \footnoteindent } = { 0pt }
- { \hbox_overlap_left:n { \eb@makefnmark } }
+ \hbox_overlap_left:n
{
- \hbox_overlap_left:n
- {
- \hbox_to_wd:nn { -\footnoteindent }
- { \eb@makefnmark\hss }
- }
+ \hbox_to_wd:nn { -\footnoteindent }
+ { \eb@makefnmark\hss }
}
}
}
@@ -1228,10 +1231,19 @@
chapter/indent = 0em,
chapter/rule = \tocrule{$\cdot$}[\bfseries],
- section/format = \addvspace{0.35pc},
+ section/format =
+ {
+ \addvspace{0.35pc}
+ \bool_if:NF \l__eb_class_book_bool { \sffamily }
+ },
section/indent =
{ \bool_if:NTF \l__eb_class_book_bool { 1.5em } { 0em } },
- section/rule = \tocrule{$\cdot$},
+ section/rule =
+ {
+ \bool_if:NTF \l__eb_class_book_bool
+ { \tocrule{$\cdot$} }
+ { \tocrule{$\cdot$}[\bfseries] }
+ },
subsection/format = \addvspace{0.35pc},
subsection/indent =
@@ -2200,31 +2212,22 @@
{ \ctex_define:nx { refset } { \eb_link_color_set:n {#1} } }
\cs_new_protected:Npn \DeclareThemeColor #1
{ \ctex_define:nx { style } { \eb_theme_color_set:n {#1} } }
-\cs_new:Npn \eb_link_color_set:n #1
+\clist_map_inline:nn
{
- linkcolor/\clist_item:nn {#1} { 1 } .code:n =
- {
- \eb_define_link_color:nnn
- { \clist_item:nn {#1} { 2 } }
- { \clist_item:nn {#1} { 3 } }
- { \clist_item:nn {#1} { 4 } }
- \eb_put_hyperref:n
- {
- linkcolor = ctex@link,linkbordercolor = ctex@link,
- urlcolor = ctex@url,urlbordercolor = ctex@url,
- citecolor = ctex@cite,citebordercolor = ctex@cite
- }
- },
+ { linkcolor,link },
+ { color,theme }
}
-\cs_new:Npn \eb_theme_color_set:n #1
{
- color/\clist_item:nn {#1} {1} .code:n =
+ \cs_new:cpn { eb_\clist_item:nn {#1} { 2 }_color_set:n } ##1
{
- \eb_define_theme_color:nnn
- { \clist_item:nn {#1} { 2 } }
- { \clist_item:nn {#1} { 3 } }
- { \clist_item:nn {#1} { 4 } }
- },
+ \clist_item:nn {#1} { 1 }/\clist_item:nn {##1} { 1 } .code:n =
+ {
+ \use:c { eb_define_\clist_item:nn {#1} { 2 }_color:nnn }
+ { \clist_item:nn {##1} { 2 } }
+ { \clist_item:nn {##1} { 3 } }
+ { \clist_item:nn {##1} { 4 } }
+ },
+ }
}
\bool_set_false:N \l__eb_toc_number_color_bool
@@ -2321,6 +2324,12 @@
\LoadPackage{hyperref}
\urlstyle{same}
\eb_allow_url_break:
+ \eb_put_hyperref:n
+ {
+ linkcolor = ctex@link,linkbordercolor = ctex@link,
+ urlcolor = ctex@url,urlbordercolor = ctex@url,
+ citecolor = ctex@cite,citebordercolor = ctex@cite
+ }
\exp_args:NV \hypersetup \l__eb_hyperref_clist
}
@@ -2363,7 +2372,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/08/02}{1.28c}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/08/03}{1.28d}
{Customization of tcolorbox for easybook}
\tl_gset:Nn \eb@tc@line@skip { 0.5\baselineskip }
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 932e678f7b..2034dc889f 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index cf55a6de1d..4ff8fe9be0 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -11,8 +11,8 @@
{
name = easybook,
title = EASYBOOK 使用手册,
- version = v1.28c,
- date = 2021/08/02,
+ version = v1.28d,
+ date = 2021/08/03,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = quee123@foxmail.com,
@@ -119,7 +119,7 @@
您在使用 \cls*{easybook} 文档类编写文档前可能需要满足以下的条件:
\begin{itemize}
\item 使用 \hologo{XeLaTeX}(推荐)或 \hologo{LuaLaTeX} 两种编译方式。
- \item 由于用到了一些 \LaTeX 和宏包较新的功能,建议安装最新的 \TeX 发行版,例如 \TeX~Live 2021 或 \hologo{MiKTeX} 21.2 之后的版本。
+ \item 由于用到了一些 \LaTeX 和宏包较新的功能,建议安装最新的 \TeX 发行版,例如 \TeX Live 2021 或 \hologo{MiKTeX} 21.2 之后的版本。
\item 虽然手册对基本用法做了介绍,但这并不是入门教程,所涉及到宏包的用法与命令也需要有了解。您应当具有一定的 \LaTeX 使用基础,可以在 \TeX 综合网站 \href{https://www.ctan.org/}{CTAN} 查看相关资源。
\end{itemize}
@@ -204,7 +204,7 @@
\subsection{英文字体}
\begin{options}
\keychoice{font}{noto,garamond,times,libertine,palatino,auto}\Default{auto}
- 预置的英文字体相关配置方案如下表所示,这些字体已经包含在了 \TeX~Live 发行版中,所以通常不需要再专门安装。如果您想使用其他英文字体,可以使用 \pkg*{fontspec} 宏包的相关命令进行设置。
+ 预置的英文字体相关配置方案如下表所示,这些字体已经包含在了 \TeX Live 发行版中,所以通常不需要再专门安装。如果您想使用其他英文字体,可以使用 \pkg*{fontspec} 宏包的相关命令进行设置。
\begin{center}
\begin{tabular}{cccc}
\toprule
@@ -632,9 +632,9 @@
sec-mark = \CTEXifname{\CTEXthesection——}{}#1
}
\end{ctexexam}
- \kvsplit-{sec-label}{\oarg{编号}\marg{距离命令}}\Default{\cs*{hspace}\Marg{1em}}
+ \kvsplit-{sec-label}{\oarg{编号}\marg{距离命令}}\Default{\cs*{hspace}\Marg{0.5em}}
标题标记命令 \cs*{sectionmark} 内容的标签,用法与 \option{chap-label} 类似。
- \kvsplit-{subsec-label}{\oarg{编号}\marg{距离命令}}\Default{\cs*{hspace}\Marg{1em}}
+ \kvsplit-{subsec-label}{\oarg{编号}\marg{距离命令}}\Default{\cs*{hspace}\Marg{0.5em}}
标题标记命令内容 \cs*{subsectionmark} 的标签,用法与 \option{chap-label} 类似。
\keyval-{headrule}{横线命令}
绘制页眉横线的选项,可以使用 \cs*{hrule}、\cs*{rule} 或下述 \cs{markrule} 等画线命令来绘制横线。手动绘制横线时线条粗细选项 \code{style/rulewidth} 会失效。
@@ -726,8 +726,8 @@
\end{options}
\begin{commands}
- \command{tocrule}[\sarg\oarg{引导点间距}\darg{引导点大小}\marg{引导点}\oarg{页码格式}]
- 目录命令 \cs{tocrule} 生成目录引导线,需要在 \meta{目录引导线样式} 中使用。带有星号的命令会使当前级别的目录引导线右边与页码相连而不是对齐。\meta{引导点间距} 需带有长度单位,\meta{引导点大小} 不带单位,为 \meta{引导点} 的放大因子,\meta{引导点} 一般为英文句号或 \cs*{cdot} 中心点符号。\meta{页码格式} 的代码位于页码前面,可以设置页码字体和距离等,最后一个命令可以带有一个参数,这个参数为页码编号。
+ \command{tocrule}[\sarg\oarg{引导点间距}\darg{放大因子}\marg{引导点}\oarg{页码格式}]
+ 目录命令 \cs{tocrule} 生成目录引导线,需要在 \meta{目录引导线样式} 中使用。带有星号的命令会使当前级别的目录引导线右边与页码相连而不是对齐。\meta{引导点间距} 需带有长度单位,\meta{放大因子} 不带单位,为 \meta{引导点} 的放大倍数,\meta{引导点} 一般为英文句号或 \cs*{cdot} 中心点符号。\meta{页码格式} 的代码位于页码前面,可以设置页码字体和距离等,最后一个命令可以带有一个参数,这个参数为页码编号。
\command*{CTEXnumberline}[\marg{编号级别}]
目录命令 \cs*{CTEXnumberline} 用于在 C\TeX 文档类的 \option*{tocline} 选项中设置目录标签的编号,它已经被重新定义,使得目录编号后间距选项 \option{numsep} 仍然有效。\meta{编号级别} 为 \code{chapter} 和 \code{section} 等,也可用参数 \code{\#1} 代替当前级别类型,标题名用参数 \code{\#2} 代替一般不变。
\begin{ctexexam}
@@ -744,11 +744,11 @@
\end{commands}
\begin{options}
- \keyval-{belowoffset}{长度}\Module{tocset}\Default{-1pc}
+ \keyval-{belowoffset}{刚性长度}\Module{tocset}\Default{-1pc}
主文档目录标题下方的间距补偿,一般为负值,用于抵消 \option{format} 中额外的垂直间距。
- \keyval-{belowoffset}{长度}\Module{/(level)}\Default{0pc}
+ \keyval-{belowoffset}{刚性长度}\Module{/(level)}\Default{0pc}
\code{level} 代表 \code{figure}、\code{table} 和 \code{lstlisting} 三个级别目录标题下方间距补偿,也可以使用 \code{list} 统一设置,一般为正值。这个距离也可以用 C\TeX 标题下方距离选项修改。
- \keyval-{lolskip}{长度}\Module{tocset}\Default{0.8pc}
+ \keyval-{lolskip}{弹性长度}\Module{tocset}\Default{0.8pc}
代码目录中章之间的代码标题的距离,与 C\TeX 的表格目录和图片目录中章之间的标题距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,它们的值均默认为 \code{0.8pc},在 \cls*{article} 模式中此选项失效。
\keyval-{tocline-fig}{图片目录标签}
图片目录标签,选项参数中 \code{\#1} 代表编号,还可包含标签名称,默认标签名称与图片题注名称一致。
@@ -1029,6 +1029,11 @@
\end{commands}
\subsection{图表题注}
+\begin{commands}
+ \command*{captionsetup}[\oarg{题注类型}\marg{键值列表}]
+ 这是 \pkg*{caption} 宏包的接口命令,\meta{键值列表} 提供多个选项更改图表题注的格式。题注主要由三部分组成:标题标签即图表名与题注编号的组合,标题文本本身通常是内容的简短描述,以及将文本与标签分开的题注分隔符。可以在导言区设置整体格式,也可以在正文使用局部更改格式。
+\end{commands}
+
\begin{commands}\noitemsep
\command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{}
\command{captionof}[\sarg\marg{题注类型}\oarg{目录标题}\marg{标题}]\default{}
@@ -1068,7 +1073,7 @@
\keychoice{delim-align}{l,c,r}\Default{c}
引导符的对齐方式,分为左(\code{l})、中(\code{c})和右(\code{r})三种对齐方式。
\keyval-{enumitem}{键值列表2}
- 可以使用选项 \option{enumitem} 或命令 \cs{seteqcomplist} 调整对照列表的水平垂直间距。
+ 可以使用选项 \option{enumitem} 或命令 \cs{seteqcomplist} 调整对照列表的水平和垂直间距。
\keyval-{intro}{首行文字}\Default
符号对照的说明文字,应当为简短的几个字,只显示在第一行,其后为悬挂缩进的对照列表。
\keyval-{font}{符号字体}\Default
@@ -1090,12 +1095,14 @@
\subsubsection{索引}
\begin{commands}
- \command{printindex}[\sarg\parg\oarg{键值列表}\darg{索引名}]
- \pkg*{imakeidx} 宏包提供了索引的功能,重新定义了它的 \cs{printindex} 命令用于生成索引目录,\meta{键值列表} 及选项与节 \ref{sec:document command} 相同,但是原本接口命令 \cs*{indexsetup} 的部分选项失效。
+ \command*{indexsetup}[\marg{键值列表}]
+ \pkg*{imakeidx} 宏包增强了索引的功能,这是它的的接口命令,用于设置索引表的整体格式。
\command*{index}[\oarg{索引名}\marg{标签}]
- 索引标签命令 \cs*{index} 的 \meta{索引名} 与索引输出命令 \cs{printindex} 一致,可以存在多个索引目录。
- \command{makeindex}[\oarg{键值列表}]
- 使用 \cs{makeindex} 命令开启索引收集,输出不同的索引目录时使用 \meta{索引名} 选项。
+ 索引标签命令 \cs*{index} 的 \meta{索引名} 与索引打印命令 \cs{printindex} 一致,可以存在多个索引表。
+ \command*{makeindex}[\oarg{键值列表}]
+ 使用 \cs*{makeindex} 命令开启索引收集。这个命令可以重复使用打印多个索引表,以不同的 \meta{索引名} 作为区分,如果仅打印一个索引表就没必要再使用。
+ \command{printindex}[\sarg\parg\oarg{键值列表}\darg{索引名}]
+ 现在索引表生成命令 \cs{printindex} 被重新定义,\meta{键值列表} 中的选项与节 \ref{sec:document command} 其它目录命令相同,但是原本接口命令 \cs*{indexsetup} 的部分选项失效。
\end{commands}
\subsubsection{自定义脚注}
@@ -1118,14 +1125,13 @@
\subsection{插入文档}
\begin{commands}
\command*{includepdf}[\oarg{键值列表}\marg{文档名}]
- 该命令由 \pkg*{pdfpages} 提供,将其他 \code{pdf} 文档插入当前文档,比如插入封面。可以指定插入页数、
- 逻辑页和横向等,详情查看宏包文档。
+ 该命令由文档宏包 \pkg*{pdfpages} 提供,可以将其它 \code{pdf} 文档插入当前文档,比如插入其它软件制作的封面。\meta{键值列表} 可以指定插入页数、逻辑页和横向页面等,详情查看宏包文档。
\end{commands}
\subsection{指定行距的段落}
\begin{environments}
\environment*{spacing}[\marg{浮点数}]
- 该环境由 \pkg*{setspace} 提供,可以指定环境内段落的行距,使用 \meta{浮点数} 控制行距倍数。
+ 该环境由行距宏包 \pkg*{setspace} 提供,可以指定环境内段落的行距,使用 \meta{浮点数} 控制行距倍数。
\end{environments}
\subsection{下划线}
@@ -1133,14 +1139,13 @@
\command*{uline}[\marg{下划直线}]\default{}
\command*{uuline}[\marg{下划双直线}]\default{}
\command*{uwave}[\marg{下划波浪线}]
- \pkg*{ulem} 宏包提供了多种下划线命令,可以通过命令重新定义 \cs*{ULthickness} 命令控制下划线的粗细由。下划线的深度由 \cs*{ULdepth} 控制,默认值 \cs*{maxdimen} 是一个允
- 许深度根据当前字体变化的特殊标志,当然也可以使用 \cs*{setlength} 设定为指定深度。
+ \pkg*{ulem} 宏包提供了多种下划线命令,可以通过命令重新定义 \cs*{ULthickness} 命令控制下划线的粗细。下划线的深度由 \cs*{ULdepth} 控制,默认值 \cs*{maxdimen} 是一个允许深度根据当前字体变化的特殊标志,当然也可以使用 \cs*{setlength} 设定为指定深度。
\end{commands}
\appendix
\section{依赖的宏包}
-以下为 \pkg*{easybase} 直接调用的关键宏包,方括号内为宏包已使用的选项。蓝色的宏包表示截至当前在 \TeX~Live 2021 中存在更新,旧版本并不影响使用。带有 \ding{81} 符号的宏包并未载入它们,仅做了一些预配置,可在导言区手动载入以实现相关的功能。
+以下为 \pkg*{easybase} 直接调用的关键宏包,方括号内为宏包已使用的选项。蓝色的宏包表示截至当前在 \TeX Live 2021 中存在更新,旧版本并不影响使用。带有 \ding{81} 符号的宏包并未载入它们,仅做了一些预配置,可在导言区手动载入以实现相关的功能。
\begin{description}[font = \normalfont\sffamily]
\item[amsmath] 提供 \LaTeX 中的数学功能。
\item[\passto{heading}{ctex}] 提供中文排版的通用框架。