summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/easybook
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-02-13 03:00:36 +0000
committerNorbert Preining <norbert@preining.info>2022-02-13 03:00:36 +0000
commita488c0e94aba29c7f7062852569792d58efda8dc (patch)
tree055ce3e8af6b02021a55b0acd80ba42c86216939 /macros/latex/contrib/easybook
parent5656f95d1f5070edb430085a49ca8cd1f6f6f064 (diff)
CTAN sync 202202130300
Diffstat (limited to 'macros/latex/contrib/easybook')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx77
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin576672 -> 576202 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex36
3 files changed, 41 insertions, 72 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 3e1a1609b5..d242a6773b 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -15,7 +15,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2022/02/11}{1.623}
+\ProvidesExplClass{easybook}{2022/02/12}{1.624}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -305,7 +305,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/02/11}{1.623}
+\ProvidesExplPackage{easybase}{2022/02/12}{1.624}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -1202,17 +1202,15 @@
\ctex_define:n { figure/#1 .meta:nn = { ctex/#1 } {##1} }
\ctex_define:n { table/#1 .meta:nn = { ctex/#1 } {##1} }
\ctex_define:n { list/#1 .meta:nn = { ctex/#1 } {##1} }
-\cs_new_protected:Npn \eb_titletoc_if_hang_fix:n #1
+\cs_new_protected:Npn \eb_toc_entry_if_hang:n #1
{
- \bool_if:NT \l__eb_titletoc_hang_fix_bool
+ \bool_if:NT \l__eb_toc_entry_hang_bool
+ { \contentspush }
{
- \contentspush
- {
- \bool_if:NT \l__eb_toc_number_color_bool
- { \color{ctex@toc@number} }
- \thecontentslabel
- \tl_use:c { l__eb_toc_#1_after_tl }
- }
+ \bool_if:NT \l__eb_toc_number_color_bool
+ { \textcolor{ctex@toc@number} }
+ { \thecontentslabel }
+ \tl_use:c { l__eb_toc_#1_after_tl }
}
}
\cs_new_protected:Npn \eb_toc_assign_keys:n #1
@@ -1224,13 +1222,15 @@
#1/tocformat~+ .code:n = \tl_put_right:cn { l__eb_toc_#1_format_tl } {##1},
#1/tocindent .dim_set:c = l__eb_toc_#1_indent_dim,
#1/tocrule .tl_set:c = l__eb_toc_#1_rule_tl,
- #1/tocafter .tl_set:c = l__eb_toc_#1_after_tl
+ #1/tocafter .tl_set:c = l__eb_toc_#1_after_tl,
+ #1/tocbelow .tl_set:c = l__eb_toc_#1_below_tl
}
\titlecontents{#1}
[\dim_use:c { l__eb_toc_#1_indent_dim }]
{\tl_use:c { l__eb_toc_#1_format_tl }}
- {\eb_titletoc_if_hang_fix:n {#1}}{}
+ {\eb_toc_entry_if_hang:n {#1}}{}
{\tl_use:c { l__eb_toc_#1_rule_tl }}
+ [\tl_use:c { l__eb_toc_#1_below_tl }]
}
\seq_map_function:NN
\c__ctex_headings_seq \eb_toc_assign_keys:n
@@ -1280,26 +1280,21 @@
lolskip .skip_set:N = \eb@toc@lol@skip,
lolskip .initial:n = 10pt,
between .tl_set:N = \l__eb_toc_main_between_hook_tl,
- between .initial:n =
- {
- \bool_if:NTF \l__eb_class_mode_book_bool
- { \vspace*{-1pc} }
- { \vspace*{-0.2pc} }
- },
+ between .initial:n = \bool_if:NT \l__eb_class_mode_book_bool { \vspace*{-1pc} },
dotalign .bool_set:N = \l__eb_toc_dot_align_bool,
dotalign .default:n = true,
dotalign .initial:n = true,
- hang .bool_set:N = \l__eb_titletoc_hang_fix_bool,
+ hang .bool_set:N = \l__eb_toc_entry_hang_bool,
hang .default:n = true,
hang .initial:n = true,
pagenumwd .code:n = \contentsmargin{#1},
pagenumwd .initial:n = 1.55em,
unknown .code:n = \eb_msg_deprecated_option:n { tocset }
}
-\NewDocumentCommand{\tocrule}{st-O{0.7pc}D(){1.2}mO{}}
+\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
{
\normalsize\normalfont
- \titlerule*[#3]{\scalebox{#4}{#5}}#6
+ \titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
\bgroup
\IfBooleanF{#2}
{
@@ -1313,44 +1308,20 @@
}
\egroup
}
-\cs_set_eq:NN \ctexnumberline \CTEXnumberline
\cs_new:Npn \p@numberline { \protect\numberline }
-\cs_set:Npn \CTEXnumberline #1
- {
- \CTEXifname
- {
- \bool_if:NTF \l__eb_titletoc_hang_fix_bool
- { \p@numberline{\use:c { CTEXthe#1 }} }
- {
- \use:c { CTEXthe#1 }
- \tl_use:c { l__eb_toc_#1_after_tl }
- }
- }{}
- }
\cs_new:Npn \listnumberline #1
- {
- \bool_if:NTF \l__eb_titletoc_hang_fix_bool
- { \p@numberline{\use:c { #1name }~\use:c { the#1 }} }
- {
- \use:c { #1name }~\use:c { the#1 }
- \tl_use:c { l__eb_toc_#1_after_tl }
- }
- }
+ { \p@numberline{\use:c { #1name }~\use:c { the#1 }} }
\ctex_set:n
{
part/tocformat = \addvspace{1pc}\sffamily\large,
part/tocindent = 0em,
part/tocrule = \tocrule{}[\bfseries],
part/tocline = \CTEXnumberline{#1}#2,
- chapter/tocformat = \addvspace{1pc}\sffamily\large,
+ chapter/tocformat = \addvspace{1pc}\sffamily,
chapter/tocindent = 0em,
chapter/tocrule = \tocrule{$\cdot$}[\bfseries],
chapter/tocline = \CTEXnumberline{#1}#2,
- section/tocformat =
- {
- \addvspace{0.2pc}
- \bool_if:NF \l__eb_class_mode_book_bool { \sffamily }
- },
+ section/tocformat = \bool_if:NF \l__eb_class_mode_book_bool { \sffamily },
section/tocindent = \bool_if:NTF \l__eb_class_mode_book_bool { 1.5em } { 0em },
section/tocrule =
{
@@ -1358,15 +1329,11 @@
{ \tocrule{$\cdot$} }
{ \tocrule{$\cdot$}[\bfseries] }
},
- section/tocline = \CTEXnumberline{#1}#2,
- subsection/tocformat = \addvspace{0.2pc},
subsection/tocindent = \bool_if:NTF \l__eb_class_mode_book_bool { 3.8em } { 1.4em },
subsection/tocrule = \tocrule{$\cdot$},
- subsection/tocline = \CTEXnumberline{#1}#2,
- list/tocformat = \addvspace{0.2pc},
list/tocindent = 0em,
list/tocrule = \tocrule{$\cdot$},
- list/between = \vspace*{-0.2pc\bool_if:NT \l__eb_class_mode_book_bool { - 10pt }},
+ list/between = \bool_if:NT \l__eb_class_mode_book_bool { \vspace*{-10pt} },
table/tocline = \listnumberline{table}#2,
figure/tocline = \listnumberline{figure}#2,
lstlisting/tocline = \listnumberline{lstlisting}#2
@@ -2332,7 +2299,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/11}{1.623}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/12}{1.624}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index d0bae8c32f..2afdd2a192 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 aa8364f58f..c007570fa9 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -21,8 +21,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK 使用手册,
- version = v1.623,
- date = 2022/02/11,
+ version = v1.624,
+ date = 2022/02/12,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = q1jx@foxmail.com,
@@ -98,14 +98,15 @@
\@firstofone
}
% A tag that distinguishes the options for different paths
-\NewDocumentCommand{\dtag}{O{\ding{73}}}
+\NewDocumentCommand{\dtag}{sO{\ding{73}}}
{
\begingroup
\reversemarginpar
- \marginnote{\hfill\llap{#1}}
+ \marginnote{\hfill\llap{#2}}
\endgroup
- \cnltx@checkdefault{\hfill\newline}
+ \IfBooleanF{#1}{\cnltx@checkdefault{\hfill\newline}}
}
+\newnote{\newtag}[1][New]{\textcolor{red}{\ding{70}\ #1}}
% Use a separate module margin marker to prevent overlap
\newcommand{\smodule}{\cnltx@module@text{}}
\newcommand{\noitemsep}{\setlength{\itemsep}{0ex}}
@@ -886,18 +887,20 @@
\subsection{目录样式}
\label{subsec:catalog style}
-模块 \module*{tocset} 将使用 \pkg*{titletoc} 宏包处理目录样式。模块或扩展包括了 \module*{part}、\module*{chapter}、\module*{section}、\module*{subsection}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 二级路径,而使用 \module*{list} 路径可以统一设置图片、表格和代码目录的样式。选项前带有 \ding{73} 符号表示支持所有相应\textbf{标题级别}的路径,其它选项则处于 \module*{tocset} 路径下。目前支持标准的论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
+模块 \module*{tocset} 将使用 \pkg*{titletoc} 宏包处理目录样式。模块或扩展包括了 \module*{part}、\module*{chapter}、\module*{section}、\module*{subsection}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 二级路径,而使用 \module*{list} 路径可以统一设置图片、表格和代码目录的样式。选项前带有 \ding{73} 符号表示支持所有相应\textbf{条目级别}的路径,其它选项则处于 \module*{tocset} 路径下。目前支持标准的论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
\begin{options}
\keyval{tocformat}{条目格式}\dtag\smodule{tocset}%
目录中各级别条目的格式。可以设置条目字体和加入垂直间距等,垂直间距最好使用防止垂直间距重合的 \cs*{addvspace} 命令。
\keyval{tocformat+}{条目格式}\dtag
与 \option{tocformat} 用法一样,只是在已有的格式命令后附加代码。
\keyval{tocindent}{刚性长度}\dtag
- 各级别目录中的标题左边缩进距离,通常标题级别越低缩进越大。
+ 目录条目左边的缩进距离,通常条目级别越低缩进越大。
\keyval{tocrule}{引导线命令}\dtag
引导线选项 \option{tocrule} 中一般可以使用基于 \cs*{xleaders} 命令的 \cs{tocrule} 绘制引导线。
\keyval{tocafter}{距离命令}\dtag\Default{\cs*{hspace}\Marg{1em}}
- 在各级别目录中标签与标题间的代码,默认为插入 \code{1em} 横向距离。
+ 目录条目编号与标题间的代码,默认为插入 \code{1em} 横向距离。
+ \keyval{tocbelow}{距离命令}\dtag\newtag
+ 在目录条目下方执行的代码,可以插入垂直距离等命令。
\keyval{tocline}{条目定义}\dtag
这个选项扩展了图片、表格或代码题注在目录文件中的定义。选项中参数 \code{\#1} 代表相应题注编号 \cs*{the}\meta{计数器} 的值,参数 \code{\#2} 代表相应题注内容。
\begin{ctexexam}[labelref = exam:list command usage]
@@ -911,11 +914,9 @@
\begin{commands}
\command{tocrule}[\sarg\harg\oarg{引导点间距}\darg{放大因子}\marg{引导点}\oarg{页码格式}]
- 目录命令 \cs{tocrule} 生成目录引导线,需要在引导线选项 \option{tocrule} 中使用。带有星号的命令会使当前级别的目录引导线右端与页码相连而不是对齐。带有 \harg{} 号的命令不添加引导线后的目录页码。\meta{引导点间距} 需带有长度单位,\meta{放大因子} 不带单位,为 \meta{引导点} 的放大倍数,\meta{引导点} 一般为英文句号或 \cs*{cdot} 中心点符号。\meta{页码格式} 的代码位于页码前面,可以设置页码字体和距离等,最后一个命令可以带有一个参数,这个参数为页码编号。
- \command*{CTEXnumberline}[\marg{编号级别}]
- 目录命令 \cs*{CTEXnumberline} 用于在 C\TeX 文档类的 \option*{tocline} 选项中设置章节的目录标签。它已经被重新定义,使得目录标签后代码选项 \option{tocafter} 仍然有效。\meta{编号级别} 为 \code{chapter} 和 \code{section} 等,也可用参数 \code{\#1} 代替当前级别类型,标题名用参数 \code{\#2} 代替一般不变。
- \command{listnumberline}[\marg{编号级别}]
- 这个命令用于设置图片、表格或代码的目录标签,默认包含与题注名相同的目录标签名。其中 \meta{编号级别} 需要显示指定,即为 \code{figure}、\code{table} 或 \code{lstlisting}。关于命令的用法可见\ref{exam:list command usage}。
+ 生成目录引导线的命令,需要在引导线选项 \option{tocrule} 中使用。带有星号的命令会使当前级别的目录引导线右端与页码相连而不是对齐。带有 \harg{} 号的命令不添加引导线后的目录页码。\meta{引导点间距} 需带有长度单位,\meta{放大因子} 不带单位,为 \meta{引导点} 的放大倍数,\meta{引导点} 一般为英文句号或 \cs*{cdot} 中心点符号。\meta{页码格式} 的代码位于页码前面,可以设置页码字体和距离等,最后一个命令可以带有一个参数,这个参数为页码编号。
+ \command{listnumberline}[\marg{条目级别}]
+ 在图片、表格或代码目录中插入条目编号的命令,默认包含与题注名相同的标签名。其中 \meta{条目级别} 需要显示指定,即为 \code{figure}、\code{table} 或 \code{lstlisting}。关于命令的用法可见\ref{exam:list command usage}。
\begin{ctexexam}
\ctexset
{
@@ -932,9 +933,9 @@
\begin{options}
\keybool{hang}\Default{true}
- 悬挂缩进选项 \option{hang} 使目录标题为悬挂缩进形式。缩进距离为标签及其与标题间距的长度,但此时标题编号会失去超链接。这个选项对所有标题级别有效。
+ 悬挂缩进选项 \option{hang} 使目录条目为悬挂缩进形式。缩进距离为条目编号及其与标题间距的长度和。这个选项对所有条目级别有效。
\keyval{lolskip}{弹性长度}\Default{10pt}
- 代码目录中每章代码标题的额外距离。与 C\TeX 的表格和图片目录中每章间的标题距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。
+ 代码目录中每章第一个条目上方增加的垂直距离。与 C\TeX 的表格和图片目录中每章间的条目距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。
\keyval{between}{代码钩子}
目录标题与内容间的钩子,一般插入负的垂直距离代码用于抵消目录首行额外的垂直间距。一级路径此选项对应文档主目录的钩子,二级路径为 \module*{figure}、\module*{table} 和 \module*{lstlisting},或者用位于 \module*{list} 路径的此选项统一设置相应类型目录的钩子。
\keybool{dotalign}\Default{true}
@@ -942,9 +943,9 @@
\keyval{pagenumwd}{刚性长度}\Default{1.55em}
目录条目页码的宽度。开启 \option{dotalign} 选项时宽度越大引导线与页码的距离就越大。
\keyval{tocafter-every}{距离命令}\Default{\cs*{hspace}\Marg{1em}}
- 统一设置所有级别在目录中标签与标题间的代码。
+ 统一设置所有级别条目编号与标题间的代码。
\keyval{tocindent-every}{刚性长度}
- 统一设置所有级别的目录标题左边缩进。
+ 统一设置所有级别条目的左边缩进。
\keyval{tocrule-every}{引导线命令}
统一设置所有级别的目录引导线样式。
\end{options}
@@ -1276,6 +1277,7 @@
\item 文档类移除预置的定理环境,改为由用户自行定义环境。
\item 考虑到功能性和实用性不强弃用摘要环境 \env*{outline} 和习题环境 \env*{exercise}。
\end{version}
+ \shortversion{v = 1.624,date = 2022/02/12,changes = 增加目录条目下方执行的代码选项 \option{tocbelow}。}
\end{changelog}
\nocite{*}