From fa95ee22e0b804d72ae1da50d8c34383455a991d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 2 May 2021 20:41:17 +0000 Subject: easybook (2may21) git-svn-id: svn://tug.org/texlive/trunk@59052 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/easybook/easybook-demo.pdf | Bin 266711 -> 266713 bytes .../doc/latex/easybook/easybook-demo.tex | 4 +- Master/texmf-dist/doc/latex/easybook/easybook.pdf | Bin 466617 -> 467289 bytes .../texmf-dist/source/latex/easybook/easybook.dtx | 81 +++++++++++++-------- Master/texmf-dist/tex/latex/easybook/easybook.cls | 42 +++++++---- 5 files changed, 78 insertions(+), 49 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/easybook/easybook-demo.pdf b/Master/texmf-dist/doc/latex/easybook/easybook-demo.pdf index af3e39f83d3..67b4ed55645 100644 Binary files a/Master/texmf-dist/doc/latex/easybook/easybook-demo.pdf and b/Master/texmf-dist/doc/latex/easybook/easybook-demo.pdf differ diff --git a/Master/texmf-dist/doc/latex/easybook/easybook-demo.tex b/Master/texmf-dist/doc/latex/easybook/easybook-demo.tex index 3660fb5e5ae..c1fed9f9f51 100644 --- a/Master/texmf-dist/doc/latex/easybook/easybook-demo.tex +++ b/Master/texmf-dist/doc/latex/easybook/easybook-demo.tex @@ -75,7 +75,7 @@ numsep-all = \ccwd, part = { - format = \addvspace{1pc}\sffamily\large, + format += \large, indent = 0\ccwd, rule = \tocrule{}[\bfseries] }, @@ -106,7 +106,7 @@ \url{https://latexstudio.net} \\ \url{https://gitee.com/texl3/easybook}\thanks{Gitee为项目的主要发布地址。} } -\date{2021/04.30\hskip\ccwd\relax v1.24x} +\date{2021/05/01\hskip\ccwd\relax v1.24y} \frontmatter[roman] \maketitle diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.pdf b/Master/texmf-dist/doc/latex/easybook/easybook.pdf index 032b2ce5463..5bd31156672 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 f7b99b2f5b1..7a4ecaeec70 100644 --- a/Master/texmf-dist/source/latex/easybook/easybook.dtx +++ b/Master/texmf-dist/source/latex/easybook/easybook.dtx @@ -56,7 +56,7 @@ The latest version of this license is in % % \title{\sffamily easybook 文档类手册} % \author{瞿毅} -% \date{2021/04/30\hskip\ccwd\relax v1.24x\thanks{\url{https://gitee.com/texl3/easybook}}} +% \date{2021/05/01\hskip\ccwd\relax v1.24y\thanks{\url{https://gitee.com/texl3/easybook}}} % % \maketitle % \begin{abstract} @@ -180,7 +180,7 @@ The latest version of this license is in % \end{syntax} % \opt{multoc} 与 \opt{style/multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同目录是否双栏排版。已经预置了中英文的目录标题,可以使用 \opt{title} 选项更改目录标题的名称。\opt{book} 选项使目录标题按照 \opt{chapter} 级别输出,\opt{article} 选项使目录标题按照 \opt{article} 级别输出,默认为 \opt{chapter} 级别。 % \changes{v1.23}{2021/03/15}{为几个目录增加键值列表的选项,可设置标题输出级别以及是否加入主目录。} -% \changes{v1.24x}{2021/04/04}{目录命令的可选参数增加标题键值。} +% \changes{v1.24y}{2021/04/04}{目录命令的可选参数增加标题键值。} % \end{function} % % \section{接口选项} @@ -263,7 +263,7 @@ The latest version of this license is in % \ding{229} 以上选项路径为 \opt{link/...} \\ % \opt{link} 将超链接选项(包括以上选项)交给 \pkg{hyperref} 处理,除了一些关于 pdf 书签的选项可能会失效,其它由键值选项命令 \tn{hypersetup} 支持的多数选项可用。 % \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。} -% \changes{v1.24x}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。} +% \changes{v1.24y}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。} % \end{function} % % \begin{optdesc} @@ -342,7 +342,7 @@ The latest version of this license is in % \ding{229} 以上选项路径为 \opt{bibset/...} % \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。} % \changes{v1.23}{2021/02/23}{使用 \opt{bibset} 选项时可设置标注风格。} -% \changes{v1.24x}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。} +% \changes{v1.24y}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。} % \end{function} % % \begin{optdesc} @@ -414,7 +414,7 @@ The latest version of this license is in % \end{syntax} % 文档类已预置8个定理环境,环境名及对应的定理标题名见小节 \ref{subsec:theorem},如果需要新的定理标题名或定理样式可使用这两个命令。 % \changes{v1.23}{2021/03/12}{重新定义了新定理环境命令 \tn{newtheorem}。} -% \changes{v1.24x}{2021/04/25}{增加定义定理环境命令 \tn{EbNewtheorem}。} +% \changes{v1.24y}{2021/04/25}{增加定义定理环境命令 \tn{EbNewtheorem}。} % \end{function} % % \begin{optdesc} @@ -498,7 +498,7 @@ The latest version of this license is in % \changes{v1.21}{2021/01/13}{增加配置页眉页脚的选项。} % \changes{v1.23}{2021/03/08}{优化页眉页脚设置,增加 \opt{chap-mark} 和 \opt{sec-mark} 标志选项。} % \changes{v1.23}{2021/03/14}{可以手动绘制页眉、页脚和脚注的横线。} -% \changes{v1.24x}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。} +% \changes{v1.24y}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。} % \end{function} % % \begin{function}[added = 2021-01-13,updated = 2021-03-14]{\easyhead,\easyfoot} @@ -525,9 +525,10 @@ The latest version of this license is in % % \subsection{目录样式} % \label{subsec:catalog style} -% \begin{function}[EXP,added = 2021-01-13,updated = 2021-04-20]{format,indent,rule,numsep} +% \begin{function}[EXP,added = 2021-01-13,updated = 2021-05-01]{format,format+,indent,rule,numsep} % \begin{syntax} % format = <目录标题格式> +% format += <目录标题格式> % indent = <目录标题左边缩进> % rule = <目录引导线样式> % numsep = <编号后间距|(\tn{ccwd})> @@ -535,9 +536,9 @@ The latest version of this license is in % \ding{229} 以上选项路径为 \opt{tocset/(level)/...} \\ % \opt{tocset} 将目录样式交给 \pkg{titletoc} 处理,\opt{level} 代表 \opt{part}、\opt{chapter}、\opt{section}、\opt{subsection} 和 \opt{list} 五种级别的目录样式设置,其中 \opt{list} 为图片、表格和代码目录样式的级别。 % -% \opt{format} 是目录中标题的格式,可以设置字体和加入垂直间距等,垂直间距最好使用无间距重合的 \tn{addvspace} 命令。\opt{indent} 是目录中标题在页面左侧的缩进距离,应该有长度单位。\opt{rule} 选项中一般应当使用 \tn{tocrule} 命令,将会在接下来介绍。\opt{numsep} 是有编号的标题在目录中编号与标题的间距。 +% \opt{format} 是目录中标题的格式,可以设置字体和加入垂直间距等,垂直间距最好使用无间距重合的 \tn{addvspace} 命令,带有加号的 \opt{format+} 选项用于在已有的格式命令后附加内容。\opt{indent} 是目录中标题在页面左侧的缩进距离,应该有长度单位。\opt{rule} 选项中一般应当使用 \tn{tocrule} 命令,将会在接下来介绍。\opt{numsep} 是有编号的标题在目录中编号与标题的间距。 % \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。} -% \changes{v1.24x}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。} +% \changes{v1.24y}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。} % \end{function} % % \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberline} @@ -562,7 +563,7 @@ The latest version of this license is in % } % \end{ctexexam} % -% \begin{function}[EXP,added = 2021-01-13,updated = 2021-04-19]{list/lolskip,list/belowoffset,tocset/tocline-fig,tocset/tocline-tab,tocset/tocline-lst,tocset/belowoffset,tocset/line-align,tocset/hang,tocset/numsep-all,tocset/indent-all} +% \begin{function}[EXP,added = 2021-01-13,updated = 2021-05-01]{list/lolskip,list/belowoffset,tocset/tocline-fig,tocset/tocline-tab,tocset/tocline-lst,tocset/belowoffset,tocset/line-align,tocset/hang,tocset/numsep-all,tocset/indent-all,tocset/rule-all} % \begin{syntax} % lolskip = <(0.8pc)> % belowoffset = <(0pc)> @@ -574,11 +575,13 @@ The latest version of this license is in % hang = % numsep-all = <编号后间距|(\tn{ccwd})> % indent-all = <目录标题左边缩进> +% rule-all = <目录引导线样式> % \end{syntax} % \ding{229} 以上选项路径为 \opt{tocset/list/...} 或 \opt{tocset/...} -% \changes{v1.24x}{2021/04/05}{可以设置图、表和代码目录的标签。} -% \changes{v1.24x}{2021/04/06}{增加目录引导线右边对齐方式。} -% \changes{v1.24x}{2021/04/19}{给目录增加 \opt{hang} 样式选项。} +% \changes{v1.24y}{2021/04/05}{可以设置图、表和代码目录的标签。} +% \changes{v1.24y}{2021/04/06}{增加目录引导线右边对齐方式。} +% \changes{v1.24y}{2021/04/19}{给目录增加 \opt{hang} 样式选项。} +% \changes{v1.24y}{2021/05/01}{给目录增加 \opt{format+} 和 \opt{rule-all} 选项。} % \end{function} % % \begin{optdesc} @@ -597,6 +600,7 @@ The latest version of this license is in % \item[hang] \opt{hang} 选项使目录标题为悬挂缩进形式,缩进距离为编号及其与标题间距的长度,但此时目录编号会失去超链接。 % \item[numsep-all] 统一设置所有有编号的标题在目录中编号与标题的间距。 % \item[indent-all] 统一设置所有级别的目录标题左边缩进。 +% \item[rule-all] 统一设置所有级别的目录引导线样式。 % \end{optdesc} % % \section{常用环境} @@ -619,7 +623,7 @@ The latest version of this license is in % \tn{end}\marg{环境名} % \end{syntax} % \pkg{enumitem} 宏包为系统预置的列表环境 \env{enumerate}、\env{itemize}和 \env{description} 提供了更灵活的标签以及间距的控制,可使用 \tn{setlist} 命令设置原有的三种列表格式,也可以直接使用可选参数的键值列表,具体选项见 \pkg{enumitem} 宏包文档。已为三种列表预置了三个级别的格式可相互嵌套,默认标签与 \cls{book} 文档类相同,若自定义标签可例如 -% \changes{v1.24x}{2021/04/08}{重新优化列表环境的配置。} +% \changes{v1.24y}{2021/04/08}{重新优化列表环境的配置。} % \end{function} % % \begin{ctexexam} @@ -738,7 +742,7 @@ The latest version of this license is in % \tn{end}\marg{ebparbox} % \end{syntax} % 环境 \env{ebparbox} 与 \env{easybox} 类似,同样带有三个可选参数。当使用星号参数时盒子左边带有一条竖线,\meta{颜色名} 选项可以自定义竖线颜色,使用不带有星号的环境则盒子带有竖线颜色的浅色背景。\meta{段落标题} 选项可以设置标题,默认无标题。 -% \changes{v1.24x}{2021/04/19}{优化盒子环境的选项,增加可带有标题的扁平盒子 \env{ebparbox}。} +% \changes{v1.24y}{2021/04/19}{优化盒子环境的选项,增加可带有标题的扁平盒子 \env{ebparbox}。} % \end{function} % % \subsubsection{行内盒子} @@ -797,16 +801,17 @@ The latest version of this license is in % \tn{labelformat}\marg{计数器}\marg{标签引用格式} % \end{syntax} % 使用 \tn{ref} 命令进行引用将会自动检测环境并添加相应的前缀,\tn{labelformat} 可以设置标签引用格式,第二个参数中\#1代表 \tn{the}\meta{计数器},可以设置引用序号的前缀和后缀。 -% \changes{v1.24x}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。} +% \changes{v1.24y}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。} % \end{function} % % \subsubsection{索引} -% \begin{function}[added = 2021-04-30]{\index,\printindex} +% \begin{function}[added = 2021-05-01]{\index,\printindex} % \begin{syntax} % \tn{index}\marg{标签} % \tn{printindex*+}\parg{索引名}\oarg{键值列表} % \end{syntax} % \pkg{imakeidx} 宏包可使用索引的功能,重新定义了它的 \tn{printindex} 命令用于生成索引目录,键值列表及用法与小节 \ref{subsec:document command} 相同,但 \opt{multoc} 选项和 \pkg{imakeidx} 原本的接口命令 \tn{indexsetup} 部分选项失效。仅做了简单的设置如将索引设为双栏并加入目录,其他选项可另外配置。 +% \changes{v1.24y}{2021/05/01}{重新定义 \tn{printindex} 命令与文档适配。} % \end{function} % % \subsubsection{自定义脚注} @@ -910,7 +915,7 @@ The latest version of this license is in %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplClass{easybook}{2021/04/30}{1.24x}{beta} +\ProvidesExplClass{easybook}{2021/05/01}{1.24x}{beta} \cs_generate_variant:Nn \eb_ctex_define:nn {nx} \cs_generate_variant:Nn \int_to_arabic:n {v} @@ -1373,10 +1378,14 @@ The latest version of this license is in \ctex_define:n {tocset/#1 .meta:nn = {ctex/tocset/#1}{##1}} \eb_ctex_define:nn {tocset} { - #1/format .tl_set:c = l__eb_toc_#1_format_tl, - #1/indent .tl_set:c = l__eb_toc_#1_indent_tl, - #1/rule .tl_set:c = l__eb_toc_#1_rule_tl, - #1/numsep .tl_set:c = eb@toc@#1@numsep + #1/format .tl_set:c = l__eb_toc_#1_format_tl, + #1/format+ .code:n = + {\tl_put_right:cn {l__eb_toc_#1_format_tl}{##1}}, + #1/format~+ .code:n = + {\tl_put_right:cn {l__eb_toc_#1_format_tl}{##1}}, + #1/indent .tl_set:c = l__eb_toc_#1_indent_tl, + #1/rule .tl_set:c = l__eb_toc_#1_rule_tl, + #1/numsep .tl_set:c = eb@toc@#1@numsep } } @@ -1462,6 +1471,14 @@ The latest version of this license is in section/indent = {#1}, subsection/indent = {#1}, list/indent = {#1} + }, + rule-all .meta:n = + { + part/rule = {#1}, + chapter/rule = {#1}, + section/rule = {#1}, + subsection/rule = {#1}, + list/rule = {#1} } } \ctex_set:nn {tocset} @@ -1748,17 +1765,17 @@ The latest version of this license is in { \group_begin: \tl_set_eq:NN \eb@toc@title\indexname - \tl_set_eq:NN \imki@indexlevel\use_none:n + \cs_set_eq:NN \imki@indexlevel\use_none:n \setkeys{imki}{intoc = false} \IfValueT{#4}{\keys_set:nn {eb/listoc}{#4}} - \bool_if:NTF \l__eb_class_book_bool - {\tl_gset:Nn \imki@firstpagestyle{plain}} + \bool_if:NF \l__eb_class_book_bool + {\tl_set:Nn \l__eb_toc_type_tl{article}} + \tl_set:Nn \imki@indexheaders { - \tl_gset:Nn \imki@firstpagestyle{fancy} - \tl_set:Nn \l__eb_toc_type_tl{article} + \eb_title_number_intoc_bool:nn {#2}{#1} + \cs_set_eq:NN \thispagestyle\use_none:n + \cs_undefine:N \imki@firstpagestyle } - \tl_set:Nn \imki@indexheaders - {\eb_title_number_intoc_bool:nn {#2}{#1}} \imki@putindex{#3} \group_end: } @@ -2074,7 +2091,7 @@ The latest version of this license is in group-digits = false } \allowdisplaybreaks[4] -\cs_gset:Npn \ULthickness{.75pt} +\tl_gset:Nn \ULthickness{.75pt} \skip_set:Nn \jot{4pt plus 1pt minus 1pt} \cs_new_protected:Npn \l__eb_math_restore:n #1 { @@ -2303,7 +2320,7 @@ The latest version of this license is in \tl_set_eq:NN \eb@toc@title\bibname \IfValueT{##3}{\keys_set:nn {eb/listoc}{##3}} \eb_multoc_pre_bool: - \cs_set:Npn \bibsection + \tl_set:Nn \bibsection {\eb_title_number_intoc_bool:nn {##2}{##1}} \exp_args:NV \bibliography\l__eb_bib_file_tl \eb_multoc_post_bool: @@ -2328,7 +2345,7 @@ The latest version of this license is in \cs_new_protected:Npn \EbBiblatexPostset { \exp_args:NV \addbibresource\l__eb_bib_file_tl - \cs_gset:Npn \blx@default@theheading{bibintoc} + \tl_gset:Nn \blx@default@theheading{bibintoc} \defbibheading{bibintoc}[\bibname] {\eb_class_title_level_bool:n {##1}} \skip_set:Nn \bibitemsep{0ex} diff --git a/Master/texmf-dist/tex/latex/easybook/easybook.cls b/Master/texmf-dist/tex/latex/easybook/easybook.cls index 3427b9a7aff..fa2594325ab 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/04/30}{1.24x}{beta} +\ProvidesExplClass{easybook}{2021/05/01}{1.24x}{beta} \cs_generate_variant:Nn \eb_ctex_define:nn {nx} \cs_generate_variant:Nn \int_to_arabic:n {v} @@ -476,10 +476,14 @@ \ctex_define:n {tocset/#1 .meta:nn = {ctex/tocset/#1}{##1}} \eb_ctex_define:nn {tocset} { - #1/format .tl_set:c = l__eb_toc_#1_format_tl, - #1/indent .tl_set:c = l__eb_toc_#1_indent_tl, - #1/rule .tl_set:c = l__eb_toc_#1_rule_tl, - #1/numsep .tl_set:c = eb@toc@#1@numsep + #1/format .tl_set:c = l__eb_toc_#1_format_tl, + #1/format+ .code:n = + {\tl_put_right:cn {l__eb_toc_#1_format_tl}{##1}}, + #1/format~+ .code:n = + {\tl_put_right:cn {l__eb_toc_#1_format_tl}{##1}}, + #1/indent .tl_set:c = l__eb_toc_#1_indent_tl, + #1/rule .tl_set:c = l__eb_toc_#1_rule_tl, + #1/numsep .tl_set:c = eb@toc@#1@numsep } } @@ -565,6 +569,14 @@ section/indent = {#1}, subsection/indent = {#1}, list/indent = {#1} + }, + rule-all .meta:n = + { + part/rule = {#1}, + chapter/rule = {#1}, + section/rule = {#1}, + subsection/rule = {#1}, + list/rule = {#1} } } \ctex_set:nn {tocset} @@ -851,17 +863,17 @@ { \group_begin: \tl_set_eq:NN \eb@toc@title\indexname - \tl_set_eq:NN \imki@indexlevel\use_none:n + \cs_set_eq:NN \imki@indexlevel\use_none:n \setkeys{imki}{intoc = false} \IfValueT{#4}{\keys_set:nn {eb/listoc}{#4}} - \bool_if:NTF \l__eb_class_book_bool - {\tl_gset:Nn \imki@firstpagestyle{plain}} + \bool_if:NF \l__eb_class_book_bool + {\tl_set:Nn \l__eb_toc_type_tl{article}} + \tl_set:Nn \imki@indexheaders { - \tl_gset:Nn \imki@firstpagestyle{fancy} - \tl_set:Nn \l__eb_toc_type_tl{article} + \eb_title_number_intoc_bool:nn {#2}{#1} + \cs_set_eq:NN \thispagestyle\use_none:n + \cs_undefine:N \imki@firstpagestyle } - \tl_set:Nn \imki@indexheaders - {\eb_title_number_intoc_bool:nn {#2}{#1}} \imki@putindex{#3} \group_end: } @@ -1177,7 +1189,7 @@ group-digits = false } \allowdisplaybreaks[4] -\cs_gset:Npn \ULthickness{.75pt} +\tl_gset:Nn \ULthickness{.75pt} \skip_set:Nn \jot{4pt plus 1pt minus 1pt} \cs_new_protected:Npn \l__eb_math_restore:n #1 { @@ -1406,7 +1418,7 @@ \tl_set_eq:NN \eb@toc@title\bibname \IfValueT{##3}{\keys_set:nn {eb/listoc}{##3}} \eb_multoc_pre_bool: - \cs_set:Npn \bibsection + \tl_set:Nn \bibsection {\eb_title_number_intoc_bool:nn {##2}{##1}} \exp_args:NV \bibliography\l__eb_bib_file_tl \eb_multoc_post_bool: @@ -1431,7 +1443,7 @@ \cs_new_protected:Npn \EbBiblatexPostset { \exp_args:NV \addbibresource\l__eb_bib_file_tl - \cs_gset:Npn \blx@default@theheading{bibintoc} + \tl_gset:Nn \blx@default@theheading{bibintoc} \defbibheading{bibintoc}[\bibname] {\eb_class_title_level_bool:n {##1}} \skip_set:Nn \bibitemsep{0ex} -- cgit v1.2.3