From d7beb28b367a3e13d6af289f0b302f06d8e3f68e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 6 May 2021 20:23:02 +0000 Subject: easybook (6may21) git-svn-id: svn://tug.org/texlive/trunk@59102 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/easybook/easybook.pdf | Bin 477941 -> 479631 bytes .../texmf-dist/source/latex/easybook/easybook.dtx | 292 ++++++++++++--------- Master/texmf-dist/tex/latex/easybook/easybook.cls | 213 ++++++++------- 3 files changed, 282 insertions(+), 223 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.pdf b/Master/texmf-dist/doc/latex/easybook/easybook.pdf index e96c6f6bc93..d2730431284 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 71eec1dedc0..6917c83e8b0 100644 --- a/Master/texmf-dist/source/latex/easybook/easybook.dtx +++ b/Master/texmf-dist/source/latex/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.25a}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。} +% \changes{v1.25c}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。} % % \title{\sffamily easybook 文档类手册} % \author{瞿毅} -% \date{2021/05/04\hskip\ccwd\relax v1.25a\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.25a}{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} @@ -145,8 +145,10 @@ % \changes{v1.23}{2021/03/16}{增加 article 文章模式,可用于短篇幅的文章。} % \end{function} % +% \clearpage % \subsection{文档命令} % \label{subsec:document command} +% \subsubsection{文区命令} % \begin{function}[added = 2021-02-20,updated = 2021-04-29]{\frontmatter,\mainmatter,\backmatter,\cleardoublepage} % \begin{syntax} % \tn{frontmatter*}\oarg{编号格式|(Roman)} @@ -158,15 +160,16 @@ % \changes{v1.23}{2021/02/20}{重新定义文档结构划分命令。} % \end{function} % -% \begin{function}[added = 2021-02-20,updated = 2021-05-04]{\tableofcontents,\listoffigures,\listoftables,\listoflistings} +% \subsubsection{目录命令} +% \begin{function}[added = 2021-02-20,updated = 2021-05-05]{\tableofcontents,\listoffigures,\listoftables,\listoflistings} % \begin{syntax} -% \tn{tableofcontents+}\oarg{键值列表} +% \tn{tableofcontents+}\oarg{键值列表}\parg{附加代码} % \tn{listoffigures*+}\oarg{键值列表} % \tn{listoftables*+}\oarg{键值列表} % \tn{listoflistings*+}\oarg{键值列表} % \end{syntax} -% \tn{listoffigures} 命令输出图片目录,\tn{listoftables} 输出表格目录,\tn{listoflistings} 输出代码目录。带有星号的目录命令不将标题添加进主文档目录,带有+号的目录命令可以使当前标题编号。\tn{tableofcontents+} 与其它命令不同是用于输出双语目录,需要与双语目录标题命令 \tn{bichapter} 等配合使用。目录的键值列表选项如下 -% \changes{v1.25a}{2021/05/04}{命令 \tn{tableofcontents} 可以输出双语目录。} +% \tn{listoffigures} 命令输出图片目录,\tn{listoftables} 输出表格目录,\tn{listoflistings} 输出代码目录。带有星号的目录命令不将标题添加进主文档目录,带有+号的目录命令可以使当前标题编号。\tn{tableofcontents+} 与其它命令不同是用于输出双语目录,需要与双语目录标题命令 \tn{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用,附加代码是中文与英文目录之间的代码,可以插入文本和换页命令等。目录的键值列表选项如下 +% \changes{v1.25c}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。} % \end{function} % % \begin{function}{multoc,title,book,article} @@ -174,19 +177,40 @@ % multoc = % title = \{<中文目录标题>,<英文目录标题>\} % \end{syntax} -% \opt{multoc} 与 \opt{style/multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同目录是否双栏排版。\opt{title} 选项用于更改目录的标题,标题之间用一个半角逗号分开,也可以只有一部分,表示中文目录的标题,不过英文目录标题目前仅对 \tn{tableofcontents} 命令有效。\opt{book} 选项使目录标题按照 \opt{chapter} 级别输出,\opt{article} 选项使目录标题按照 \opt{article} 级别输出,默认为 \opt{chapter} 级别。 +% \opt{multoc} 与 \opt{style/multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同目录是否双栏排版。\opt{title} 选项用于更改目录的标题,标题之间用一个半角逗号分开,也可以只有一部分,表示中文目录的标题。当设置了英文目录标题时,英文目录标题将会自动加入主文档目录,与 \tn{tableofcontents+} 配合输出。\opt{book} 选项使目录标题按照 \opt{chapter} 级别输出,\opt{article} 选项使目录标题按照 \opt{article} 级别输出,默认为 \opt{chapter} 级别。 % \changes{v1.23}{2021/03/15}{为几个目录增加键值列表的选项,可设置标题输出级别以及是否加入主目录。} % \changes{v1.24}{2021/04/04}{目录命令的可选参数增加标题键值。} % \end{function} % -% \begin{function}[added = 2021-05-04]{\bichapter,\bisection,\bisubsection} +% \subsubsection{标题命令} +% \begin{function}[added = 2021-05-05]{\bichapter,\bichapter*,\bisection,\bisection*,\bisubsection,\bisubsection*} % \begin{syntax} -% \tn{bichapter}\marg{中文标题}\marg{英文标题(在目录中)} -% \tn{bichapter}\marg{中文标题}\marg{英文标题(在目录中)} -% \tn{bichapter}\marg{中文标题}\marg{英文标题(在目录中)} +% \tn{bichapter}\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{tocset} 设置,英文目录的章级别标题名为 Chapter 暂不支持修改。 -% \changes{v1.25a}{2021/05/04}{增加与双语目录配合的标题命令。} +% 双语目录的标题命令目前设置了常用的三个级别,它们将中文标题正常输出,并使中英文标题加入双语目录,这个功能是为国内一些大学的学位论文模板的要求设计,在一般情况和英文模式下不需要使用。 +% +% 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \tn{chapter*} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。双语目录的格式是一致的,共享使用 \tn{tocset} 的设置,英文目录的章级别标题名及编号的修改方式如下 +% \changes{v1.25c}{2021/05/05}{增加与双语目录配合的标题命令。} +% \end{function} +% +% \begin{function}{biname,binmuber} +% \begin{syntax} +% chapter/biname = \{<英文目录前名字|(Chapter\tn{space})>,<英文目录后名字>\} +% chapter/binmuber = <英文目录数字输出命令|(\tn{arabic\{chapter\}})> +% \end{syntax} +% 类似 \CTeX 的 \opt{name} 和 \opt{nmuber} 选项,它们用于设置主文区 \tn{bichapter} 等标题命令在英文目录中的前后名字与编号,目前只支持通常改变名字与编号的 chapter 级别。 +% \end{function} +% +% \begin{function}[added = 2021-05-05]{\appendix} +% \begin{syntax} +% \tn{appendix}\oarg{英文附录目录前名字}\parg{英文附录目录数字输出命令}\oarg{英文附录目录后名字} +% \end{syntax} +% \tn{appendix} 命令后的章节标题变为附录形式。英文目录中附录标题的格式用可选参数修改,英文附录目录前名字默认为 Appendix\tn{space},英文附录目录数字输出命令默认为 \tn{Alph}\{chapter\},英文附录目录后名字默认为空。 % \end{function} % % \section{接口选项} @@ -200,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 & \\ @@ -259,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} @@ -337,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} 编译参考文献。} @@ -352,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} @@ -389,7 +414,7 @@ % headpunct = <(empty)> % bodyfont = <(empty)> % notefont = <(empty)> -% headfont = <(\tn{color}\marg{ctex@emph}\tn{sffamily})> +% headfont = <(\tn{color}\{ctex@emph\}\tn{sffamily})> % headindent = <(0\tn{ccwd})> % spaceabove = <(0.75ex plus .1ex)> % spacebelow = <(0.75ex plus .1ex)> @@ -623,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} <列表内容> @@ -692,7 +717,7 @@ % \end{syntax} % 习题环境 \env{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号参数时不进行编号,使用+号参数启用 \pkg{tcolorbox} 支持生成标题。\meta{颜色名} 选项在使用+号参数时有效,其中颜色为自定义或 \pkg{xcolor} 包含的颜色名称。题目编号格式与小节 \ref{subsec:sort list} 排序列表相同,标题名默认为习题。 % -% 配置选项在是否使用+号参数时用法不同,使用+号参数时为 \pkg{tcolorbox} 的盒子选项,例如 \opt{boxrule} 和 \opt{fontupper}。不使用+号参数时相当于设置 \tn{ctexset}\marg{section = {\#1}} 键值选项列表,例如 \opt{format} 和 \opt{beforeskip}。\meta{序言} 选项用于在习题环境开始前插入一段内容,可以是文本或者代码。注意,环境具有相同定界符的可选参数只能\textbf{从右往左}省略,省略的参数使用默认值。 +% 配置选项在是否使用+号参数时用法不同,使用+号参数时为 \pkg{tcolorbox} 的盒子选项,例如 \opt{boxrule} 和 \opt{fontupper}。不使用+号参数时相当于设置 \tn{ctexset}\{section = {\#1}\} 键值选项列表,例如 \opt{format} 和 \opt{beforeskip}。\meta{序言} 选项用于在习题环境开始前插入一段内容,可以是文本或者代码。注意,环境具有相同定界符的可选参数只能\textbf{从右往左}省略,省略的参数使用默认值。 % \changes{v1.23}{2021/02/08}{增加准确的习题盒子标题目录锚点。} % \end{function} % @@ -921,7 +946,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplClass{easybook}{2021/05/04}{1.25a}{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 } @@ -1034,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 @@ -1043,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 } @@ -1143,11 +1170,8 @@ } \cs_new_protected:Npn \eb_font_double_engine_set:n #1 { - \exp_args:Nc \RenewDocumentCommand {set #1 font}{O{}mO{}} - { - \ctex_at_end_preamble:n - { \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 } @@ -1395,9 +1419,7 @@ } \bool_if:NT \l__eb_compile_draft_bool { - \bool_if:NTF \l__eb_page_twoside_bool - { \easyfoot[C]{\color{SlateGray}\sffamily\today} } - { \easyhead[C]{\color{SlateGray}\sffamily\today} } + \easyfoot[C]{\color{SlateGray}\sffamily\today} \geometry{showframe} } } @@ -1609,16 +1631,14 @@ } } -\contentsuse{}{bitoc} +\contentsuse{}{tec} \cs_set_protected:Npn \CTEX@addbitocline #1#2 { \group_begin: - \ctex_set:n - { - chapter/name = Chapter\space, - chapter/number = \arabic{chapter} - } - \addcontentsline{bitoc}{#1} + \def\CTEX@prechapter{\CTEX@prebichapter} + \def\CTEX@thechapter{\CTEX@bichapter@number} + \def\CTEX@postchapter{\CTEX@postbichapter} + \addcontentsline{tec}{#1} {\use:c { CTEX@#1@tocline }{#1}{#2}} \group_end: } @@ -1626,8 +1646,18 @@ { chapter,section,subsection } \seq_map_inline:Nn \c__eb_bitoc_title_level_seq { - \cs_new_protected:cpn {bi #1} ##1##2 - { \use:c {#1}{##1}\CTEX@addbitocline{#1}{##2} } + \exp_args:Nc \NewDocumentCommand {bi#1}{sO{##3}mm} + { + \IfBooleanTF{##1} + { + \use:c {#1}*{\phantomsection ##3} + \CTEX@addtocline{#1}{##2} + \tl_if_empty:oF {##4} { \CTEX@addbitocline{#1}{##4} } + }{ + \use:c {#1}[##2]{##3} + \tl_if_empty:oF {##4} { \CTEX@addbitocline{#1}{##4} } + } + } } \eb_appto_cmd:Nn \@chapter @@ -1652,6 +1682,7 @@ } \tl_set:Nn \l__eb_toc_type_tl { book } +\tl_new:N \eb@bitoc@title \keys_define:nn { eb/listoc } { article .code:n = \tl_set:Nn \l__eb_toc_type_tl { article }, @@ -1661,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} @@ -1694,13 +1725,11 @@ { \tl_if_eq:NnTF \l__eb_toc_type_tl { book } { - \chapter*{\phantomsection #1} - \CTEX@addtocline{chapter}{#1} + \bichapter*{#1}{\eb@bitoc@title} \eb@nonumber@markdouble{#1} } { - \section*{\phantomsection #1} - \CTEX@addtocline{section}{#1} + \bisection*{#1}{\eb@bitoc@title} \bool_if:NTF \l__eb_class_book_bool { \eb@nonumber@markright{#1} } { \eb@nonumber@markdouble{#1} } @@ -1725,8 +1754,8 @@ \IfBooleanTF{#1} { \tl_if_eq:NnTF \l__eb_toc_type_tl { book } - { \chapter{\eb@toc@title} } - { \section{\eb@toc@title} } + { \bichapter{\eb@toc@title}{\eb@bitoc@title} } + { \bisection{\eb@toc@title}{\eb@bitoc@title} } } { \IfBooleanTF{#2} @@ -1734,17 +1763,11 @@ { \eb_title_mark_intoc:n {\eb@toc@title} } } } -\cs_new_protected:Npn \eb_class_title_level_bool:n #1 +\cs_new_protected:Npn \eb_biber_title_level_bool:n #1 { \bool_if:NTF \l__eb_class_book_bool - { - \chapter*{\phantomsection #1} - \CTEX@addtocline{chapter}{#1} - } - { - \section*{\phantomsection #1} - \CTEX@addtocline{section}{#1} - } + { \bichapter*{#1}{\l__eb_bib_bitoc_title} } + { \bisection*{#1}{\l__eb_bib_bitoc_title} } \eb@nonumber@markdouble{#1} } \cs_new_protected:Npn \eb_multoc_pre_bool: @@ -1767,7 +1790,7 @@ \bool_if:NT \l__eb_class_book_bool { \ifbool{@restonecol}{\twocolumn}{\onecolumn} } } -\RenewDocumentCommand{\tableofcontents}{t+o} +\RenewDocumentCommand{\tableofcontents}{t+oD(){}} { \group_begin: \tl_set_eq:NN \eb@toc@title \contentsname @@ -1776,12 +1799,12 @@ \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} { \eb_title_mark_notoc:n { \eb@bitoc@title } \vspace*{\dim_use:N \l__eb_toc_offset_dim} - \@starttoc{bitoc} + \@starttoc{tec} } \eb_multoc_post_bool: \group_end: @@ -1854,6 +1877,52 @@ } } +\eb_ctex_define:nn { chapter } + { + biname .code:n = + { \ctex_assign_heading_name:nn { bichapter } {#1} }, + biname .initial:n = Chapter\space, + binmuber .tl_set:N = \CTEX@bichapter@number, + binmuber .initial:n = \arabic{chapter} + } +\RenewDocumentCommand{\appendix} + {O{Appendix\space}D(){\Alph{chapter}}O{}} + { + \int_compare:nNnTF { \c@chapter } > { 0 } + { + \ExplSyntaxOn\char_set_catcode_letter:N \@ + \eb_patch_cmd:Nnn \CTEX@addbitocline + { + \def\CTEX@prechapter{\CTEX@prebichapter} + \def\CTEX@thechapter{\CTEX@bichapter@number} + \def\CTEX@postchapter{\CTEX@postbichapter} + } + { + \def\CTEX@prechapter{#1} + \def\CTEX@thechapter{#2} + \def\CTEX@postchapter{#3} + } + \ExplSyntaxOff\char_set_catcode_other:N \@ + \setcounter{chapter}{0} + \setcounter{section}{0} + \gdef\thechapter{\@Alph\c@chapter} + \gdef\CTEX@prechapter{\CTEX@preappendix} + \gdef\CTEX@thechapter{\CTEX@appendix@number} + \gdef\CTEX@postchapter{\CTEX@postappendix} + \gdef\CTEX@chapter@numbering{\CTEX@appendix@numbering} + } + { + \setcounter{section}{0} + \setcounter{subsection}{0} + \gdef\thesection{\@Alph\c@section} + \gdef\CTEX@presection{\CTEX@preappendix} + \gdef\CTEX@thesection{\CTEX@appendix@number} + \gdef\CTEX@postsection{\CTEX@postappendix} + \gdef\CTEX@section@numbering{\CTEX@appendix@numbering} + \ctex_set:nn { appendix } { number = \@Alph\c@section,name = { } } + } + } + \tl_new:N \l__eb_font_table_tl \tl_new:N \l__eb_font_figure_tl \tl_new:N \l__eb_font_listing_tl @@ -1904,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. } @@ -1914,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 } { @@ -1924,40 +1993,7 @@ \eb_arabic:n {#1} } } -\cs_gset_protected:Npn \appendix - { - \int_compare:nNnTF { \c@chapter } > { 0 } - { - \ExplSyntaxOn\char_set_catcode_letter:N \@ - \eb_patch_cmd:Nnn \CTEX@addbitocline - { - chapter/name = Chapter\space, - chapter/number = \arabic{chapter} - } - { - chapter/name = Appendix\space, - chapter/number = \alph{chapter} - } - \ExplSyntaxOff\char_set_catcode_other:N \@ - \setcounter{chapter}{0} - \setcounter{section}{0} - \gdef\thechapter{\@Alph\c@chapter} - \gdef\CTEX@prechapter{\CTEX@preappendix} - \gdef\CTEX@thechapter{\CTEX@appendix@number} - \gdef\CTEX@postchapter{\CTEX@postappendix} - \gdef\CTEX@chapter@numbering{\CTEX@appendix@numbering} - } - { - \setcounter{section}{0} - \setcounter{subsection}{0} - \gdef\thesection{\@Alph\c@section} - \gdef\CTEX@presection{\CTEX@preappendix} - \gdef\CTEX@thesection{\CTEX@appendix@number} - \gdef\CTEX@postsection{\CTEX@postappendix} - \gdef\CTEX@section@numbering{\CTEX@appendix@numbering} - \ctex_set:nn { appendix } { number = \@Alph\c@section,name = { } } - } - } + \AtBeginEnvironment{tabularx} { \exp_args:Nx \linespread { \fp_use:N \l__eb_spread_table_fp } @@ -1994,8 +2030,11 @@ footnote .initial:n = 1, spread-all .meta:n = { - line = #1,table = #1,math = #1, - caption = #1,footnote = #1 + line = #1, + table = #1, + math = #1, + caption = #1, + footnote = #1 } } @@ -2131,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 @@ -2167,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 } @@ -2298,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 @@ -2390,12 +2429,15 @@ 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, + + loadpkg .bool_set:N = \l__eb_bib_loadpkg_bool, + loadpkg .default:n = true, + loadpkg .initial:n = true, - bib-loadpkg .bool_set:N = \l__eb_bib_loadpkg_bool, - bib-loadpkg .default:n = true, - bib-loadpkg .initial:n = true + bitoc-title .tl_set:N = \l__eb_bib_bitoc_title, + bitoc-title .initial:n = Reference } \cs_new_protected:Npn \EbBibtexSet @@ -2449,7 +2491,7 @@ \exp_args:NV \addbibresource \l__eb_bib_file_tl \tl_gset:Nn \blx@default@theheading { bibintoc } \defbibheading{bibintoc}[\bibname] - {\eb_class_title_level_bool:n {##1}} + {\eb_biber_title_level_bool:n {##1}} \skip_zero:N \bibitemsep } \eb_at_end_preamble:n @@ -2607,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 = { }, @@ -2644,7 +2686,7 @@ } } } -\eb_ctex_define:nx { link } +\eb_ctex_define:nx { refset } { linkcolor .choice:, \clist_map_function:nN @@ -2681,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 { diff --git a/Master/texmf-dist/tex/latex/easybook/easybook.cls b/Master/texmf-dist/tex/latex/easybook/easybook.cls index 15509a3cb28..16c271ff01b 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/05/04}{1.25a}{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 } @@ -126,8 +126,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 @@ -135,8 +135,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 } @@ -235,11 +237,8 @@ } \cs_new_protected:Npn \eb_font_double_engine_set:n #1 { - \exp_args:Nc \RenewDocumentCommand {set #1 font}{O{}mO{}} - { - \ctex_at_end_preamble:n - { \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 } @@ -487,9 +486,7 @@ } \bool_if:NT \l__eb_compile_draft_bool { - \bool_if:NTF \l__eb_page_twoside_bool - { \easyfoot[C]{\color{SlateGray}\sffamily\today} } - { \easyhead[C]{\color{SlateGray}\sffamily\today} } + \easyfoot[C]{\color{SlateGray}\sffamily\today} \geometry{showframe} } } @@ -701,16 +698,14 @@ } } -\contentsuse{}{bitoc} +\contentsuse{}{tec} \cs_set_protected:Npn \CTEX@addbitocline #1#2 { \group_begin: - \ctex_set:n - { - chapter/name = Chapter\space, - chapter/number = \arabic{chapter} - } - \addcontentsline{bitoc}{#1} + \def\CTEX@prechapter{\CTEX@prebichapter} + \def\CTEX@thechapter{\CTEX@bichapter@number} + \def\CTEX@postchapter{\CTEX@postbichapter} + \addcontentsline{tec}{#1} {\use:c { CTEX@#1@tocline }{#1}{#2}} \group_end: } @@ -718,8 +713,18 @@ { chapter,section,subsection } \seq_map_inline:Nn \c__eb_bitoc_title_level_seq { - \cs_new_protected:cpn {bi #1} ##1##2 - { \use:c {#1}{##1}\CTEX@addbitocline{#1}{##2} } + \exp_args:Nc \NewDocumentCommand {bi#1}{sO{##3}mm} + { + \IfBooleanTF{##1} + { + \use:c {#1}*{\phantomsection ##3} + \CTEX@addtocline{#1}{##2} + \tl_if_empty:oF {##4} { \CTEX@addbitocline{#1}{##4} } + }{ + \use:c {#1}[##2]{##3} + \tl_if_empty:oF {##4} { \CTEX@addbitocline{#1}{##4} } + } + } } \eb_appto_cmd:Nn \@chapter @@ -744,6 +749,7 @@ } \tl_set:Nn \l__eb_toc_type_tl { book } +\tl_new:N \eb@bitoc@title \keys_define:nn { eb/listoc } { article .code:n = \tl_set:Nn \l__eb_toc_type_tl { article }, @@ -753,10 +759,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} @@ -786,13 +792,11 @@ { \tl_if_eq:NnTF \l__eb_toc_type_tl { book } { - \chapter*{\phantomsection #1} - \CTEX@addtocline{chapter}{#1} + \bichapter*{#1}{\eb@bitoc@title} \eb@nonumber@markdouble{#1} } { - \section*{\phantomsection #1} - \CTEX@addtocline{section}{#1} + \bisection*{#1}{\eb@bitoc@title} \bool_if:NTF \l__eb_class_book_bool { \eb@nonumber@markright{#1} } { \eb@nonumber@markdouble{#1} } @@ -817,8 +821,8 @@ \IfBooleanTF{#1} { \tl_if_eq:NnTF \l__eb_toc_type_tl { book } - { \chapter{\eb@toc@title} } - { \section{\eb@toc@title} } + { \bichapter{\eb@toc@title}{\eb@bitoc@title} } + { \bisection{\eb@toc@title}{\eb@bitoc@title} } } { \IfBooleanTF{#2} @@ -826,17 +830,11 @@ { \eb_title_mark_intoc:n {\eb@toc@title} } } } -\cs_new_protected:Npn \eb_class_title_level_bool:n #1 +\cs_new_protected:Npn \eb_biber_title_level_bool:n #1 { \bool_if:NTF \l__eb_class_book_bool - { - \chapter*{\phantomsection #1} - \CTEX@addtocline{chapter}{#1} - } - { - \section*{\phantomsection #1} - \CTEX@addtocline{section}{#1} - } + { \bichapter*{#1}{\l__eb_bib_bitoc_title} } + { \bisection*{#1}{\l__eb_bib_bitoc_title} } \eb@nonumber@markdouble{#1} } \cs_new_protected:Npn \eb_multoc_pre_bool: @@ -859,7 +857,7 @@ \bool_if:NT \l__eb_class_book_bool { \ifbool{@restonecol}{\twocolumn}{\onecolumn} } } -\RenewDocumentCommand{\tableofcontents}{t+o} +\RenewDocumentCommand{\tableofcontents}{t+oD(){}} { \group_begin: \tl_set_eq:NN \eb@toc@title \contentsname @@ -868,12 +866,12 @@ \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} { \eb_title_mark_notoc:n { \eb@bitoc@title } \vspace*{\dim_use:N \l__eb_toc_offset_dim} - \@starttoc{bitoc} + \@starttoc{tec} } \eb_multoc_post_bool: \group_end: @@ -946,6 +944,52 @@ } } +\eb_ctex_define:nn { chapter } + { + biname .code:n = + { \ctex_assign_heading_name:nn { bichapter } {#1} }, + biname .initial:n = Chapter\space, + binmuber .tl_set:N = \CTEX@bichapter@number, + binmuber .initial:n = \arabic{chapter} + } +\RenewDocumentCommand{\appendix} + {O{Appendix\space}D(){\Alph{chapter}}O{}} + { + \int_compare:nNnTF { \c@chapter } > { 0 } + { + \ExplSyntaxOn\char_set_catcode_letter:N \@ + \eb_patch_cmd:Nnn \CTEX@addbitocline + { + \def\CTEX@prechapter{\CTEX@prebichapter} + \def\CTEX@thechapter{\CTEX@bichapter@number} + \def\CTEX@postchapter{\CTEX@postbichapter} + } + { + \def\CTEX@prechapter{#1} + \def\CTEX@thechapter{#2} + \def\CTEX@postchapter{#3} + } + \ExplSyntaxOff\char_set_catcode_other:N \@ + \setcounter{chapter}{0} + \setcounter{section}{0} + \gdef\thechapter{\@Alph\c@chapter} + \gdef\CTEX@prechapter{\CTEX@preappendix} + \gdef\CTEX@thechapter{\CTEX@appendix@number} + \gdef\CTEX@postchapter{\CTEX@postappendix} + \gdef\CTEX@chapter@numbering{\CTEX@appendix@numbering} + } + { + \setcounter{section}{0} + \setcounter{subsection}{0} + \gdef\thesection{\@Alph\c@section} + \gdef\CTEX@presection{\CTEX@preappendix} + \gdef\CTEX@thesection{\CTEX@appendix@number} + \gdef\CTEX@postsection{\CTEX@postappendix} + \gdef\CTEX@section@numbering{\CTEX@appendix@numbering} + \ctex_set:nn { appendix } { number = \@Alph\c@section,name = { } } + } + } + \tl_new:N \l__eb_font_table_tl \tl_new:N \l__eb_font_figure_tl \tl_new:N \l__eb_font_listing_tl @@ -996,7 +1040,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. } @@ -1006,7 +1050,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 } { @@ -1016,40 +1060,7 @@ \eb_arabic:n {#1} } } -\cs_gset_protected:Npn \appendix - { - \int_compare:nNnTF { \c@chapter } > { 0 } - { - \ExplSyntaxOn\char_set_catcode_letter:N \@ - \eb_patch_cmd:Nnn \CTEX@addbitocline - { - chapter/name = Chapter\space, - chapter/number = \arabic{chapter} - } - { - chapter/name = Appendix\space, - chapter/number = \alph{chapter} - } - \ExplSyntaxOff\char_set_catcode_other:N \@ - \setcounter{chapter}{0} - \setcounter{section}{0} - \gdef\thechapter{\@Alph\c@chapter} - \gdef\CTEX@prechapter{\CTEX@preappendix} - \gdef\CTEX@thechapter{\CTEX@appendix@number} - \gdef\CTEX@postchapter{\CTEX@postappendix} - \gdef\CTEX@chapter@numbering{\CTEX@appendix@numbering} - } - { - \setcounter{section}{0} - \setcounter{subsection}{0} - \gdef\thesection{\@Alph\c@section} - \gdef\CTEX@presection{\CTEX@preappendix} - \gdef\CTEX@thesection{\CTEX@appendix@number} - \gdef\CTEX@postsection{\CTEX@postappendix} - \gdef\CTEX@section@numbering{\CTEX@appendix@numbering} - \ctex_set:nn { appendix } { number = \@Alph\c@section,name = { } } - } - } + \AtBeginEnvironment{tabularx} { \exp_args:Nx \linespread { \fp_use:N \l__eb_spread_table_fp } @@ -1086,8 +1097,11 @@ footnote .initial:n = 1, spread-all .meta:n = { - line = #1,table = #1,math = #1, - caption = #1,footnote = #1 + line = #1, + table = #1, + math = #1, + caption = #1, + footnote = #1 } } @@ -1223,7 +1237,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 @@ -1259,16 +1273,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 } @@ -1390,7 +1404,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 @@ -1482,12 +1496,15 @@ 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, + + loadpkg .bool_set:N = \l__eb_bib_loadpkg_bool, + loadpkg .default:n = true, + loadpkg .initial:n = true, - bib-loadpkg .bool_set:N = \l__eb_bib_loadpkg_bool, - bib-loadpkg .default:n = true, - bib-loadpkg .initial:n = true + bitoc-title .tl_set:N = \l__eb_bib_bitoc_title, + bitoc-title .initial:n = Reference } \cs_new_protected:Npn \EbBibtexSet @@ -1541,7 +1558,7 @@ \exp_args:NV \addbibresource \l__eb_bib_file_tl \tl_gset:Nn \blx@default@theheading { bibintoc } \defbibheading{bibintoc}[\bibname] - {\eb_class_title_level_bool:n {##1}} + {\eb_biber_title_level_bool:n {##1}} \skip_zero:N \bibitemsep } \eb_at_end_preamble:n @@ -1699,7 +1716,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 = { }, @@ -1736,7 +1753,7 @@ } } } -\eb_ctex_define:nx { link } +\eb_ctex_define:nx { refset } { linkcolor .choice:, \clist_map_function:nN @@ -1773,9 +1790,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