From c92d9953347e3bdebc5243c67cf012a2f7a60fb6 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 7 May 2021 03:01:25 +0000 Subject: CTAN sync 202105070301 --- macros/latex/contrib/easybook/easybook.dtx | 107 +++++++++++++++-------------- 1 file changed, 55 insertions(+), 52 deletions(-) (limited to 'macros/latex/contrib/easybook/easybook.dtx') diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index 2247ca0125..6917c83e8b 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -24,11 +24,11 @@ % \changes{v1.20}{2021/01/09}{修改和完善用户文档。} % \changes{v1.20}{2021/01/09}{模板更改为使用 CC-BY 许可协议。} % \changes{v1.23}{2021/03/19}{修复在 \pkg{ctex} v2.5.6 更新后 \cls{easybook} 与 \pkg{hyperref} 冲突问题。} -% \changes{v1.25b}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。} +% \changes{v1.25c}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。} % % \title{\sffamily easybook 文档类手册} % \author{瞿毅} -% \date{2021/05/05\hskip\ccwd\relax v1.25b\thanks{\url{https://gitee.com/texl3/easybook}}} +% \date{2021/05/06\hskip\ccwd\relax v1.25c\thanks{\url{https://gitee.com/texl3/easybook}}} % % \maketitle % \begin{abstract} @@ -118,7 +118,7 @@ % \end{syntax} % 传递给 \cls{ctexbook} 设置字体,最好不要使用原有的 \opt{fontset} 选项,默认情况下使用自定义字体而不开启这个选项,可根据安装的字体及电脑系统选取。\opt{noto} 与 \opt{none} 选项的相关描述见小节 \ref{subsec:font settings},\opt{overleaf} 是一个各系统通用选项,会检测系统环境选取对应字体。 % \changes{v1.21}{2021/01/12}{默认字体与 \CTeX 一致,不再是自定义字体。} -% \changes{v1.25b}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。} +% \changes{v1.25c}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。} % \end{function} % % \begin{function}[rEXP,added = 2021-01-05,updated = 2021-01-13]{paper} @@ -169,7 +169,7 @@ % \tn{listoflistings*+}\oarg{键值列表} % \end{syntax} % \tn{listoffigures} 命令输出图片目录,\tn{listoftables} 输出表格目录,\tn{listoflistings} 输出代码目录。带有星号的目录命令不将标题添加进主文档目录,带有+号的目录命令可以使当前标题编号。\tn{tableofcontents+} 与其它命令不同是用于输出双语目录,需要与双语目录标题命令 \tn{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用,附加代码是中文与英文目录之间的代码,可以插入文本和换页命令等。目录的键值列表选项如下 -% \changes{v1.25b}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。} +% \changes{v1.25c}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。} % \end{function} % % \begin{function}{multoc,title,book,article} @@ -183,19 +183,19 @@ % \end{function} % % \subsubsection{标题命令} -% \begin{function}[added = 2021-05-05]{\bichapter,\bisection,\bisubsection,\bichapter*,\bisection*,\bisubsection*} +% \begin{function}[added = 2021-05-05]{\bichapter,\bichapter*,\bisection,\bisection*,\bisubsection,\bisubsection*} % \begin{syntax} % \tn{bichapter}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题} -% \tn{bisection}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题} -% \tn{bisubsection}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题} % \tn{bichapter*}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题} +% \tn{bisection}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题} % \tn{bisection*}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题} +% \tn{bisubsection}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题} % \tn{bisubsection*}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题} % \end{syntax} -% 双语目录的标题命令目前设置了常用的三个级别,它们将中文标题正常输出,并使中英文标题加入双语目录,这个功能是为国内一些大学的学位论文模板的要求设计,当然在英文模式下不需要使用。 +% 双语目录的标题命令目前设置了常用的三个级别,它们将中文标题正常输出,并使中英文标题加入双语目录,这个功能是为国内一些大学的学位论文模板的要求设计,在一般情况和英文模式下不需要使用。 % -% 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一点与 \tn{chapter*} 等命令的行为不太一样。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。双语目录的格式是一致的,共享使用 \tn{tocset} 的设置,英文目录的章级别标题名及编号的修改方式如下 -% \changes{v1.25b}{2021/05/05}{增加与双语目录配合的标题命令。} +% 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \tn{chapter*} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。双语目录的格式是一致的,共享使用 \tn{tocset} 的设置,英文目录的章级别标题名及编号的修改方式如下 +% \changes{v1.25c}{2021/05/05}{增加与双语目录配合的标题命令。} % \end{function} % % \begin{function}{biname,binmuber} @@ -224,7 +224,7 @@ % \begin{tabular}{*{5}{c}} % \toprule % \hyperref[subsec:style]{风格} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:other font]{其它字体} & \hyperref[subsec:spacing]{行距} & \hyperref[subsec:reference]{参考文献} \\ -% style & link & elsefont & spread & bibset \\ +% style & refset & elsefont & spread & bibset \\ % \midrule % \hyperref[subsec:theorem of style]{定理样式} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog style]{目录样式} & \\ % thmset & geoset & hdrset & tocset & \\ @@ -283,17 +283,18 @@ % % \subsection{超链接} % \label{subsec:hyperlinks} -% \begin{function}[EXP,added = 2021-01-05,updated = 2021-04-18]{hyperlink,linkcolor,linkcol-all,linktoc} +% \begin{function}[EXP,added = 2021-01-05,updated = 2021-05-06]{hyperlink,linkcolor,linkcol-all,linktoc} % \begin{syntax} % hyperlink = <(edge)|various|none> % linkcolor = % linkcol-all = % linktoc = % \end{syntax} -% \ding{229} 以上选项路径为 \opt{link/...} \\ -% \opt{link} 将超链接选项(包括以上选项)交给 \pkg{hyperref} 处理,除了一些关于 pdf 书签的选项可能会失效,其它由键值选项命令 \tn{hypersetup} 支持的多数选项可用。 +% \ding{229} 以上选项路径为 \opt{refset/...} \\ +% \opt{refset} 将超链接选项(包括以上选项)交给 \pkg{hyperref} 处理,除了一些关于 pdf 书签的选项可能会失效,其它由键值选项命令 \tn{hypersetup} 支持的多数选项可用。 % \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。} % \changes{v1.24}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。} +% \changes{v1.25c}{2021/05/06}{模块名 \opt{link} 改为 \opt{refset},\opt{link} 作为兼容性保留。} % \end{function} % % \begin{optdesc} @@ -361,13 +362,13 @@ % % \subsection{参考文献} % \label{subsec:reference} -% \begin{function}[EXP,added = 2021-01-11,updated = 2021-04-09]{bib-loadpkg,backend,bib-style,cite-style,bibfile} +% \begin{function}[EXP,added = 2021-01-11,updated = 2021-04-09]{loadpkg,backend,bib-style,cite-style,datafile} % \begin{syntax} -% bib-loadpkg = <(true)|false> +% loadpkg = <(true)|false> % backend = <(bibtex)|biblatex> % bib-style = <(numerical)|authoryear|其它格式> % cite-style = <标注风格> -% bibfile = +% datafile = % \end{syntax} % \ding{229} 以上选项路径为 \opt{bibset/...} % \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。} @@ -376,18 +377,18 @@ % \end{function} % % \begin{optdesc} -% \item[bib-loadpkg] 是否载入 \pkg{natbib} 或 \pkg{biblatex} 宏包,关闭此选项后需要在导言区手动载入参考文献宏包,之后可使用相关配置命令(见下文)或完全自行设置参考文献。 +% \item[loadpkg] 是否载入 \pkg{natbib} 或 \pkg{biblatex} 宏包,关闭此选项后需要在导言区手动载入参考文献宏包,之后可使用相关配置命令(见下文)或完全自行设置参考文献。 % \item[backend] 参考文献处理后端,默认用传统的 \hologo{BibTeX} 处理参考文献。 % \item[bib-style] 参考文献格式为中国的参考文献推荐标准GB/T 7714-2015,有顺序编码制和著者-出版年制两种风格,理工科类一般使用顺序编码制,文科类一般使用著者-出版年制。若使用其它格式,使用 \hologo{BibTeX} 处理时需确保正确的 \opt{bst} 文件,使用 \hologo{biber} 处理可使用 \pkg{biblatex} 宏包支持的参考文献风格名称。 % \item[cite-style] 标注参考文献的风格,\opt{backend = bibtex} 选项下可使用 \opt{super}(数字上标标注,默认)或 \opt{numbers}(数字标注)等 \pkg{natbib} 宏包带有的标注风格,\opt{backend = biblatex} 选项下可使用 \pkg{biblatex} 宏包支持的标注风格名称。 -% \item[bibfile] 参考文献数据库的文件名,使用 \hologo{biber} 处理时要带有 \opt{bib} 后缀,若不在当前文件夹名称需要包含路径,默认是一个在当前文件夹以 \opt{refs.bib} 命名的文件。 +% \item[datafile] 参考文献数据库的文件名,使用 \hologo{biber} 处理时要带有 \opt{bib} 后缀,若不在当前文件夹名称需要包含路径,默认是一个在当前文件夹以 \opt{refs.bib} 命名的文件。 % \end{optdesc} % % \begin{function}[added = 2021-01-11,updated = 2021-04-09]{\printbibliography,\EbBibtexSet,\EbBiblatexPreset,\EbBiblatexPostset} % \begin{syntax} % \tn{printbibliography}\oarg{键值列表} % \end{syntax} -% 关闭 \opt{bib-loadpkg} 选项时 \opt{bibset} 中的选项会失效,但是后三个命令保存了 \opt{bibset} 模块预置的参考文献选项与配置,与对应宏包配合使用它们时 \opt{bibset} 中的选项仍然有效,也可以不使用它们完全自行设置参考文献方案。开启 \opt{bib-loadpkg} 选项对它们重新定义也可以达到重新设置参考文献的效果。 +% 关闭 \opt{loadpkg} 选项时 \opt{bibset} 中的选项会失效,但是后三个命令保存了 \opt{bibset} 模块预置的参考文献选项与配置,与对应宏包配合使用它们时 \opt{bibset} 中的选项仍然有效,也可以不使用它们完全自行设置参考文献方案。开启 \opt{loadpkg} 选项对它们重新定义也可以达到重新设置参考文献的效果。 % \end{function} % % \begin{optdesc} @@ -647,7 +648,7 @@ % \end{function} % % \subsection{列表} -% \begin{function}[added = 2021-01-05,updated = 2021-04-08]{enumerate,itemize,description,enumerate*,itemize*,description*} +% \begin{function}[added = 2021-01-05,updated = 2021-04-08]{enumerate,enumerate*,itemize,itemize*,description,description*} % \begin{syntax} % \tn{begin}\marg{环境名}\oarg{键值列表} % \ \tn{item} <列表内容> @@ -945,7 +946,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplClass{easybook}{2021/05/05}{1.25b}{beta} +\ProvidesExplClass{easybook}{2021/05/06}{1.25c}{beta} \cs_generate_variant:Nn \eb_ctex_define:nn { nx } \cs_generate_variant:Nn \int_to_arabic:n { v } @@ -1058,8 +1059,8 @@ \seq_const_from_clist:Nn \c__eb_options_path_seq { - style,link,elsefont, - spread,bibset,thmset, + style,elsefont,spread, + refset,bibset,thmset, geoset,hdrset,tocset } \seq_map_inline:Nn \c__eb_options_path_seq @@ -1067,8 +1068,10 @@ \ctex_define:n { #1 .meta:nn = { ctex/#1 } {##1} } \cs_new:cpn {#1} ##1 { \keys_set:nn {ctex/#1} {##1} } } +\keys_define:nn { } { ctex/link .inherit:n = ctex/refset } \ctex_define:n { + link .meta:nn = { ctex/link } {#1}, lstlistlistingname .tl_set:N = \lstlistlistingname, lstlistingname .tl_set:N = \lstlistingname } @@ -1167,8 +1170,8 @@ } \cs_new_protected:Npn \eb_font_double_engine_set:n #1 { - \exp_args:Nc \RenewDocumentCommand {set #1 font}{O{}mO{}} - {\use:c { eb_set #1 font:nn }{##2}{##1,##3}} + \exp_args:Nc \RenewDocumentCommand {set#1font}{O{}mO{}} + {\use:c { eb_set#1font:nn }{##2}{##1,##3}} } \seq_const_from_clist:Nn \c__eb_font_reset_family_seq { main,sans,mono,CJKmain,CJKsans,CJKmono } @@ -1643,7 +1646,7 @@ { chapter,section,subsection } \seq_map_inline:Nn \c__eb_bitoc_title_level_seq { - \exp_args:Nc \NewDocumentCommand {bi #1}{sO{##3}mm} + \exp_args:Nc \NewDocumentCommand {bi#1}{sO{##3}mm} { \IfBooleanTF{##1} { @@ -1689,10 +1692,10 @@ multoc .initial:n = false, title .code:n = \eb_assign_toc_title:n {#1} } -\NewDocumentCommand \eb_assign_toc_title:n +\NewDocumentCommand{\eb_assign_toc_title:n} {>{\SplitArgument{1}{,}}m} - {\eb_assign_toc_title:nn #1} -\cs_new_protected:Npn \eb_assign_toc_title:nn #1#2 + {\eb_assign_toc_title_judge:nn #1} +\cs_new_protected:Npn \eb_assign_toc_title_judge:nn #1#2 { \tl_set:Nn \eb@toc@title {#1} \tl_if_novalue:nTF {#2} @@ -1796,10 +1799,10 @@ \eb_multoc_pre_bool: \eb_title_mark_notoc:n { \eb@toc@title } \vspace*{\dim_use:N \l__eb_toc_offset_dim} - \@starttoc{toc} + \@starttoc{toc}#3 \IfBooleanT{#1} { - #3\eb_title_mark_notoc:n { \eb@bitoc@title } + \eb_title_mark_notoc:n { \eb@bitoc@title } \vspace*{\dim_use:N \l__eb_toc_offset_dim} \@starttoc{tec} } @@ -1970,7 +1973,7 @@ \captionsetup[table][bi-second]{name = Table} } -\cs_new:Npn \eb_arabic:n #1 { \int_to_arabic:v { c@ #1 } } +\cs_new:Npn \eb_arabic:n #1 { \int_to_arabic:v { c@#1 } } \cs_gset:cpn { thesection } { \int_compare:nNnT { \c@chapter } > { 0 } { \thechapter. } @@ -1980,7 +1983,7 @@ { figure,table,lstlisting,equation } \seq_map_inline:Nn \c__eb_serial_number_counter_seq { - \cs_set:cpn { the #1 } + \cs_set:cpn { the#1 } { \int_compare:nNnT { \c@chapter } > { 0 } { @@ -2167,7 +2170,7 @@ \eb_at_end_preamble:n { \exp_last_unbraced:No - \declaretheoremstyle\c__eb_thmtools_keyval_tl{easy-theorem} + \declaretheoremstyle{\c__eb_thmtools_keyval_tl}{easy-theorem} \eb_thmname_set:nnn { exercise } { Exercise } { 练习 } \cs_undefine:N \proof \clist_map_inline:nn @@ -2203,16 +2206,16 @@ } \sisetup { + detect-shape, detect-family, detect-weight, - detect-shape, + table-parse-only, + detect-display-math, detect-inline-family = math, detect-inline-weight = math, - detect-display-math, - table-parse-only, - range-phrase = \ensuremath{\sim}, - range-units = single, - group-digits = false + range-phrase = \ensuremath{\sim}, + range-units = single, + group-digits = false } \allowdisplaybreaks[4] \tl_gset:Nn \ULthickness { 0.75pt } @@ -2334,7 +2337,7 @@ }{ \group_begin: \keys_set:nn { ctex/section } { format += \centering } - \IfValueT{#6}{\keys_set:nn { ctex/section } {#6}} + \IfValueT{#6}{\ctex_set:nn { section } {#6}} \IfBooleanTF{#1}{\section*{#5}}{\section{#5}} \group_end: }#7 @@ -2426,12 +2429,12 @@ cite-style .code:n = { \tl_set:Nn \l__eb_bib_citestyle_tl {#1} }, - bibfile .tl_set:N = \l__eb_bib_file_tl, - bibfile .initial:n = refs.bib, + datafile .tl_set:N = \l__eb_bib_file_tl, + datafile .initial:n = refs.bib, - bib-loadpkg .bool_set:N = \l__eb_bib_loadpkg_bool, - bib-loadpkg .default:n = true, - bib-loadpkg .initial:n = true, + loadpkg .bool_set:N = \l__eb_bib_loadpkg_bool, + loadpkg .default:n = true, + loadpkg .initial:n = true, bitoc-title .tl_set:N = \l__eb_bib_bitoc_title, bitoc-title .initial:n = Reference @@ -2646,7 +2649,7 @@ } \bool_set_false:N \l__eb_toc_number_color_bool -\eb_ctex_define:nn { link } +\eb_ctex_define:nn { refset } { hyperlink .choice:, hyperlink/edge .code:n = { }, @@ -2683,7 +2686,7 @@ } } } -\eb_ctex_define:nx { link } +\eb_ctex_define:nx { refset } { linkcolor .choice:, \clist_map_function:nN @@ -2720,9 +2723,9 @@ \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:} + { \tl_map_function:NN \c__eb_urlbreak_points_tl \do } + \eb_appto_cmd:Nn \UrlBreaks + { \UrlOrds\eb_add_urlbreak_points: } } \tl_const:Nn \c__eb_urlbreak_points_tl { -- cgit v1.2.3