From ee3f9ca89b21a2174f7e427d9d48247b1912e130 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 13 Jan 2022 03:01:10 +0000 Subject: CTAN sync 202201130301 --- macros/latex/contrib/easybook/easybook.dtx | 79 +++++++++++++++-------------- macros/latex/contrib/easybook/easybook.pdf | Bin 593760 -> 595053 bytes macros/latex/contrib/easybook/easybook.tex | 67 ++++++++++++++++-------- 3 files changed, 88 insertions(+), 58 deletions(-) (limited to 'macros/latex/contrib/easybook') diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index 7f0054c846..a162847fa6 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/01/08}{1.45} +\ProvidesExplClass{easybook}{2022/01/12}{1.46} {Typeset Chinese theses or books} \bool_set_false:N \l__eb_compile_draft_bool @@ -306,7 +306,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplPackage{easybase}{2022/01/08}{1.45} +\ProvidesExplPackage{easybase}{2022/01/12}{1.46} {Typeset Chinese theses or books} \cs_generate_variant:Nn \dim_set:Nn { NV } @@ -804,6 +804,7 @@ } { \exp_not:N \c@footnote } } + \cs_set_eq:NN \thedownfootnote \thefootnote } \cs_new_protected:Npn \eb_fnmate_short_label_set:Nn #1#2 { @@ -819,6 +820,7 @@ } } \cs_set_eq:NN #1 \l__eb_fnmate_short_tokens_tl + \cs_set_eq:NN \thedownfootnote \thefootnote } \cs_new_protected:Npn \eb_footnote_value_handle:n #1 { @@ -895,9 +897,9 @@ fnmark-num .choices:nn = { plain,pifont,pifont*,pifont-sans,pifont-sans* } - { \eb_fnmate_normal_label_set:Nn \the@up@footnote {#1} }, + { \eb_fnmate_normal_label_set:Nn \theupfootnote {#1} }, fnmark-num .value_required:n = true, - fnmark-num/unknown .code:n = \eb_fnmate_short_label_set:Nn \the@up@footnote {#1}, + fnmark-num/unknown .code:n = \eb_fnmate_short_label_set:Nn \theupfootnote {#1}, fntext-num .choices:nn = { plain,pifont,pifont*,pifont-sans,pifont-sans* } { \eb_fnmate_normal_label_set:Nn \thefootnote {#1} }, @@ -1048,9 +1050,9 @@ { \@xfootnote } { \exp_args:NV \stepcounter \@mpfn - \eb_current_label:n { @up@footnote } + \eb_current_label:n { upfootnote } \protected@xdef\@thefnmark{\thempfn} - \protected@xdef\@the@up@fnmark{\the@up@footnote} + \protected@xdef\@the@up@fnmark{\theupfootnote} \@footnotemark \@footnotetext } @@ -1061,7 +1063,7 @@ { \@xfootnotemark } { \stepcounter{footnote} - \protected@xdef\@the@up@fnmark{\the@up@footnote} + \protected@xdef\@the@up@fnmark{\theupfootnote} \@footnotemark } } @@ -1077,7 +1079,7 @@ { \group_begin: \setcounter{footnote}{#1} - \unrestored@protected@xdef\@the@up@fnmark{\the@up@footnote} + \unrestored@protected@xdef\@the@up@fnmark{\theupfootnote} \group_end: \H@@footnotemark } @@ -1096,6 +1098,9 @@ ] } } +\bool_set_true:N \l__eb_normal_footnote_bool +\bool_new:N \l__eb_fnmate_format_match_bool +\bool_new:N \l__eb_fncust_format_match_bool \cs_new_protected:Npn \eb_fnmate_format_initial: { \bool_if:NTF \l__eb_normal_footnote_bool @@ -1110,34 +1115,29 @@ \bool_if:NF \l__eb_fnmate_format_match_bool { \spbset{spcmd = { }} } \tl_use:N \l__eb_subfont_footnote_tl } -\bool_set_true:N \l__eb_normal_footnote_bool -\bool_new:N \l__eb_fnmate_format_match_bool -\bool_new:N \l__eb_fncust_format_match_bool -\cs_set:Npn \@makefnmark +\cs_new_protected:Npn \defupfntmark #1 + { \cs_set:Npn \@makefnmark { \hbox:n {#1} } } +\cs_new_protected:Npn \defdownfntmark #1 + { \cs_set:Npn \eb@makefnmark { \hbox:n {#1} } } +\defupfntmark { - \hbox:n - { - \eb_fnmate_format_initial: - \tl_if_eq:NnTF \@mpfn { footnote } - { \eb@fnmate@super{\@the@up@fnmark} } - { \eb@fnmate@super{\@thefnmark} } - } + \eb_fnmate_format_initial: + \tl_if_eq:NnTF \@mpfn { footnote } + { \eb@fnmate@super{\@the@up@fnmark} } + { \eb@fnmate@super{\@thefnmark} } } -\cs_new:Npn \eb@makefnmark +\defdownfntmark { - \hbox:n + \eb_fnmate_format_initial: + \tl_if_eq:NnT \l__eb_fntext_position_tl { super } + { \eb@fnmate@super* } { - \eb_fnmate_format_initial: - \tl_if_eq:NnT \l__eb_fntext_position_tl { super } - { \eb@fnmate@super* } - { - \tl_use:N \l__eb_fntext_before_tl - \bgroup - \l__eb_fnmate_format_tl{\@thefnmark} - \egroup - } - \tl_use:N \l__eb_fntext_after_tl + \tl_use:N \l__eb_fntext_before_tl + \bgroup + \l__eb_fnmate_format_tl{\@thefnmark} + \egroup } + \tl_use:N \l__eb_fntext_after_tl } \tl_clear:N \@thefnmark @@ -1437,7 +1437,10 @@ \def\CTEX@thechapter{\CTEX@bichapter@number} \def\CTEX@postchapter{\CTEX@postbichapter} \eb@before@addbitoc@hook - \addcontentsline{tec}{#1}{\use:c { CTEX@#1@tocline }{#1}{#2}} + \tl_if_eq:NnTF \g__eb_bilist_permute_value_tl { mix } + { \addcontentsline{toc}{#1} } + { \addcontentsline{tec}{#1} } + { \use:c { CTEX@#1@tocline }{#1}{#2} } \group_end: } \eb_seq_map_inline:nn @@ -1515,7 +1518,8 @@ multoc .default:n = 2, multoc .initial:n = 1, columns .meta:n = { multoc = #1 }, - title .code:n = \eb_assign_toc_title:n {#1} + title .code:n = \eb_assign_toc_title:n {#1}, + bilist .tl_gset:N = \g__eb_bilist_permute_value_tl } \bool_if:NTF \l__eb_class_mode_book_bool { \keys_define:nn { } { eb/listoc .inherit:n = ctex/chapter } } @@ -1842,8 +1846,8 @@ \SetEnumitemValue{font}{sf}{\color{ctex@emph}\normalfont\sffamily} \SetEnumitemValue{ref}{enumii}{\arabic{enumi}.\alph*} \SetEnumitemValue{ref}{enumiii}{\arabic{enumi}.\alph{enumii}.\roman*} -\setlist{nosep,align = left,mode = unboxed} -\setlist*{leftmargin = *,labelsep = 0.5em,listparindent = 2em} +\setlist{nosep,labelsep = 0.5em,listparindent = 2em} +\setlist[1]{leftmargin = *,align = left,mode = unboxed} \setlist[itemize,1]{label = bullet} \setlist[itemize,2]{label = endash} \setlist[itemize,3]{label = asterisk} @@ -2064,6 +2068,7 @@ number-mode = match, range-phrase = \ensuremath{\sim}, range-units = single, + print-unity-mantissa = false, table-alignment-mode = none, group-digits = none } @@ -2389,7 +2394,6 @@ lstlistlistingname = 代码索引, lstlistingname = 代码 } - \labelformat{equation}{式(#1)} \labelformat{section}{节 #1} \labelformat{subsection}{小节 #1} } @@ -2400,13 +2404,12 @@ lstlistlistingname = List~of~Codes, lstlistingname = Code } - \labelformat{equation}{Equation~(#1)} \labelformat{section}{Section~#1} \labelformat{subsection}{Subsection~#1} } % %<*tcolorbox> -\ProvidesExplFile{eb-tcolorbox.cfg}{2022/01/08}{1.45} +\ProvidesExplFile{eb-tcolorbox.cfg}{2022/01/12}{1.46} {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 97c5f3df65..dcc34fda60 100644 Binary files a/macros/latex/contrib/easybook/easybook.pdf and b/macros/latex/contrib/easybook/easybook.pdf differ diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex index f54b553500..f611890603 100644 --- a/macros/latex/contrib/easybook/easybook.tex +++ b/macros/latex/contrib/easybook/easybook.tex @@ -8,11 +8,11 @@ } \definecolorscheme{blue} { - cs => purple, - option => black!10!teal, + cs => Plum, + option => PineGreen, cnltx => Blue, link => OrangeRed, - module => violet, + module => Brown, meta => black } \setcnltx @@ -20,8 +20,8 @@ name = easybook, color-scheme = blue, title = EASYBOOK 使用手册, - version = v1.45, - date = 2022/01/08, + version = v1.46, + date = 2022/01/12, authors = 瞿毅, info = 排版简体中文学位论文和书籍, email = q1jx@foxmail.com, @@ -44,8 +44,10 @@ \addtokomafont{subsubsection}{\normalfont\sffamily} \DeclareTOCStyleEntry[entryformat = \sffamily]{default}{section} \geometry{margin = 1in,marginparwidth = 0.65in} -\setlist{nosep,labelindent = \parindent,leftmargin = *,labelsep = 0.5em} -\setlist[itemize,1]{label = \small\color{Blue}\textbullet} +\SetEnumitemValue{label}{smallbullet}{\small\color{Blue}\textbullet} +\setlist{nosep,topsep = \smallskipamount,labelsep = 0.5em} +\setlist[1]{labelindent = \parindent} +\setlist[itemize,1]{label = smallbullet,leftmargin = *} \setcounter{tocdepth}{2} \SetTblrInner{hline{1,Z} = {0.8pt,Blue}} @@ -74,7 +76,7 @@ \newcommand{#2}[1] {\code{\textcolor{argument}{#3\textnormal{#1{##1}}#4}}} } -\newarg[\color{violet}\code]\Carg{\{}{\}} +\newarg[\color{Plum}\code]\Carg{\{}{\}} \newsplitarg{\splitoarg}{[}{]} \newsplitarg{\splitdarg}{(}{)} \newsplitarg{\splitmarg}{\{}{\}} @@ -100,8 +102,8 @@ \setlength{\itemindent}{-1em} \setlength{\labelsep}{0em} \setlength{\listparindent}{2em} - \setlength{\topsep}{0.75ex plus .1ex} - \setlength{\itemsep}{0.75ex plus .1ex} + \setlength{\topsep}{\smallskipamount} + \setlength{\itemsep}{\smallskipamount} \setlength{\partopsep}{0ex} \setlength{\parsep}{0ex} } @@ -323,7 +325,9 @@ \keyval-{multoc}{整数}\Default{2} 与 \module*{style} 模块的 \option{multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同类型目录的排版栏数。\meta{整数} 为目录栏数,不指定栏数值则默认为双栏。 \kvsplit{title}{中文目录标题,英文目录标题}\newline - 用于更改目录的标题,标题之间用一个英文逗号分开,也可以只有一部分,表示中文目录的标题。当设置了英文目录标题时,英文目录标题将会自动加入文档主目录 \cs*{tableofcontents}\parg{} 命令。 + 用于更改目录的标题。标题之间用一个英文逗号分开,也可以只有一部分,表示中文目录的标题。当设置了英文目录标题时,英文目录标题将会自动加入文档主目录 \cs*{tableofcontents}\parg{} 命令。 + \keychoice{bilist}{mix,new}\Default{new} + 确定文档主目录中双语标题列表的输出排列方式。选项 \code{mix} 使每个英文标题条目在中文目录中跟随对应的中文标题输出,\code{new} 则新建一个英文目录输出英文标题。 \keyval-{format}{目录标题格式} 在 \cls*{book} 模式且 \option{chapter} 选项开启或者 \cls*{article} 模式的情况下,\option{format} 用于设置目录标题的格式。 \keyval-{aftertitle}{目录标题格式}\Default @@ -654,20 +658,24 @@ \tcolorboxenvironment{caixiang}{tc-theorem} \end{ctexexam} \command{deftheorem}[\marg{环境名}\oarg{英文标题}\marg{中文标题}\darg{盒子风格}\oarg{键值列表}] - 定理环境定义命令 \cs{deftheorem} 更加便捷,\meta{键值列表} 中支持的选项与命令 \cs{declaretheorem} 完全相同。但它与后者命令有以下几个区别: - \begin{itemize} + 定理环境定义命令 \cs{deftheorem} 更加便捷,\meta{键值列表} 中支持的选项与命令 \cs{declaretheorem} 完全相同。但它与 \cs{declaretheorem} 命令有以下几点区别: +\end{commands} + +\begin{itemize} \item 可以重复定义已存在的定理环境而不会报错。 - \item 中英文模式下定理标题自动切换。针对中文定理标题的特点将 \meta{中文标题} 设计为必选参数,\meta{英文标题} 则默认为首字母大写的 \meta{环境名}。 \item 自动定义交叉引用的格式,标签引用前缀为相应定理名。 - \item 定理盒子选项 \option{tcbwrap} 仍然生效,\meta{盒子风格} 可以使用 \cs{deftcbstyle} 命令创建。 \item 新建定理环境默认使用的 \meta{定理样式} 为 \code{fancy},而不是 \pkg*{thmtools} 的默认样式。 - \end{itemize} + \item 定理盒子选项 \option{tcbwrap} 仍然生效,\meta{盒子风格} 可以使用 \cs{deftcbstyle} 命令创建。 + \item 定理标题根据语言自动切换,根据中文定理标题的特点将 \meta{中文标题} 设计为必选参数。 +\end{itemize} - 下面新建一个与\ref{exam:new theorem env} 相同的定理环境猜想,并使用 \cs{addtotcbstyle} 命令调整 \option{tcbwrap} 开启时默认的盒子风格。它的第一个参数为 \code{tc-theorem},关于命令的介绍在\ref{subsec:box}。 - \begin{ctexexam} +下面新建一个与\ref{exam:new theorem env} 相同的定理环境猜想,并使用 \cs{addtotcbstyle} 命令调整 \option{tcbwrap} 开启时默认的盒子风格。它的第一个参数为 \code{tc-theorem},关于命令的介绍在\ref{subsec:box}。 +\begin{ctexexam} \deftheorem{caixiang}{猜想}[style = mythm] \addtotcbstyle{tc-theorem}{colback = GreenYellow} - \end{ctexexam} +\end{ctexexam} + +\begin{commands} \command{declaretheoremstyle}[\oarg{键值列表1}\marg{定理样式}\oarg{键值列表2}] 定理样式声明命令,键值列表支持 \pkg*{thmtools} 宏包中原命令以及 \cs{declaretheorem} 的所有选项。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,用法与原来的同名命令一致。下面定义一个名为 \code{mythm} 的定理样式用于 \cs{declaretheorem} 的 \option*{style} 选项: \begin{ctexexam}[labelref = exam:new theorem sty] @@ -814,6 +822,20 @@ fnmate-form = \tiny\Circled } \end{ctexexam} + \begin{commands} + \command{defupfntmark}[\marg{脚注正文标记格式}] + 定义脚注正文标记的格式,与正文标记编号命令 \cs{theupfootnote} 配合使用。 + \command{defdownfntmark}[\marg{脚注内容标记格式}] + 定义脚注内容标记的格式,与内容标记编号命令 \cs{thedownfootnote} 配合使用。 + \command{theupfootnote} + 保存正文标记编号类型选项 \option{fnmark-num} 指定的正文标记。 + \command{thedownfootnote} + 保存内容标记编号类型选项 \option{fnmtext-num} 指定的内容标记。 + \end{commands} + \begin{ctexexam} + \defupfntmark{\super[vmove = 2pt]{\theupfootnote}} + \defdownfntmark{\textcolor{blue}{\thedownfootnote}} + \end{ctexexam} \keychoice{fncust-form}{format code,match}\Default 单独设定自定义脚注标记的格式,选项 \code{match} 可以匹配 \option*{spcmd} 全局的值。自定义脚注的命令与用法可以见下方的介绍。 \begin{commands}\noitemsep @@ -990,7 +1012,7 @@ { colspec = @{}*{6}{c}@{}, hline{3} = {0.5pt,Blue}, - row{1,3} = {font = \sffamily,,belowsep = 0pt}, + row{1,3} = {font = \sffamily,belowsep = 0pt}, row{2,4} = {cmd = \env} }{ 定理 & 定义 & 引理 & 推论 & 性质 & 例 \\ @@ -1247,6 +1269,11 @@ \appendix \begin{changelog}[title = 更新日志] \shortversion{v = 1.45,date = 2022/01/08,changes = 经过前期各模块的功能调整和错误修复,稳定版本正式发布。} + \begin{version}[v = 1.46,date = 2022/01/12] + \added + \item 增加定义脚注正文和内容标记格式的命令 \cs{defupfntmark} 和 \cs{defdownfntmark}。 + \item 新增文档主目录中双语标题列表的输出排列方式选项 \option{bilist}。 + \end{version} \end{changelog} \nocite{*} -- cgit v1.2.3