summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-04-10 21:10:43 +0000
committerKarl Berry <karl@freefriends.org>2021-04-10 21:10:43 +0000
commit91b0647acf2a83b5c4277d371c93bcaf45df0f36 (patch)
tree3a9cb1e0a8f2841ff0cb8f25575855e2d9033024 /Master/texmf-dist/source/latex
parent17a47838fa65262d19959dfbc2594e269e81d0fe (diff)
easybook (10apr21)
git-svn-id: svn://tug.org/texlive/trunk@58817 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/easybook/easybook.dtx227
1 files changed, 133 insertions, 94 deletions
diff --git a/Master/texmf-dist/source/latex/easybook/easybook.dtx b/Master/texmf-dist/source/latex/easybook/easybook.dtx
index ff3a9f73fb6..0eebece9c54 100644
--- a/Master/texmf-dist/source/latex/easybook/easybook.dtx
+++ b/Master/texmf-dist/source/latex/easybook/easybook.dtx
@@ -53,9 +53,9 @@ The latest version of this license is in
% \changes{v1.20}{2021/01/09}{模板更改为使用 CC-BY 许可协议。}
% \changes{v1.23}{2021/03/19}{修复在 \pkg{ctex} v2.5.6 更新后 \cls{easybook} 与 \pkg{hyperref} 冲突问题。}
%
-% \title{\sffamily easybook书籍文档类}
+% \title{\sffamily easybook 书籍文档类}
% \author{瞿毅}
-% \date{2021/04/09\hskip\ccwd\relax v1.24i\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/04/10\hskip\ccwd\relax v1.24j\thanks{\url{https://gitee.com/texl3/easybook}}}
% \maketitle
% \begin{abstract}
% \cls{easybook} 是基于 \cls{ctexbook} 书籍文档类创建以极简为风格的模板,可以看作对 \cls{ctexbook} 的进一步包装。虽然\CTeX 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。\cls{easybook} 考虑了一些细节并载入一些常用宏包实现一般的排版需求,它适用于排版中英文书籍或笔记,甚至可稍加调整成为学位论文模板。
@@ -67,7 +67,7 @@ The latest version of this license is in
% 编译文档类的一个使用示例文件 \opt{easybook-demo.tex} 前建议满足以下的条件
% \begin{itemize}
% \item 使用 \hologo{XeLaTeX}(推荐)或 \hologo{LuaLaTeX} 两种编译方式。
-% \item 由于用到了一些宏包较新的功能,建议安装最新的\TeX 发行版,例如 \TeX Live 2021或 \hologo{MiKTeX} 21.2之后的版本。
+% \item 由于用到了一些\LaTeX 和宏包较新的功能,建议安装最新的\TeX 发行版,例如 \TeX Live 2021或 \hologo{MiKTeX} 21.2之后的版本。
% \end{itemize}
%
% \subsection{编译步骤}
@@ -114,12 +114,14 @@ The latest version of this license is in
% \begin{function}[rEXP,added = 2021-01-05]{entitle}
% 部分标题编号由中文数字变为大写罗马数字,章标题编号由中文数字变为阿拉伯数字。比如\textbf{第一部分}变为\textbf{第I部分},\textbf{第一章}变为\textbf{第1章}。
% \end{function}
+%
% \begin{function}[rEXP,added = 2021-01-05,updated = 2021-04-08]{scheme}
% \begin{syntax}
% scheme = <(chinese)|plain>
% \end{syntax}
% \opt{scheme} 代表文档的主题,扩展了此选项在\CTeX 文档类中原有的作用范围,\opt{plain} 选项可使各类标题变为英文形式。包括章节标题、图表标题和定理标题等。如\textbf{第一章}变为\textbf{Chapter 1},\textbf{图1.1} 变为 \textbf{Table 1.1}。
% \end{function}
+%
% \begin{function}[rEXP,added = 2021-01-05]{enstyle}
% 同时开启 \opt{newline}、\opt{entitle} 和 \opt{scheme = plain} 三个选项以符合英文原生风格。
% \end{function}
@@ -144,7 +146,7 @@ The latest version of this license is in
% \begin{syntax}
% class = <(book)|article>
% \end{syntax}
-% 设置文类风格,默认为 \opt{book} 文档类。选用 \opt{article} 使文档编号、结构等与 \cls{article} 文档类的特性相似,可用于短篇幅的文章,不要再使用 \tn{chapter} 命令,此时设置双栏目录的 \opt{style/multoc} 选项、小节 \ref{subsec:document command} 中打印目录命令的 \opt{multoc} 及 \opt{book} 选项均会失效,会以 \opt{section} 标题级别输出目录。
+% 设置文类风格,默认为 \opt{book} 文档类。选用 \opt{article} 会变为 \opt{oneside} 单面排版,同时使文档编号、结构等与标准 \cls{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \tn{chapter} 命令,此时设置双栏目录的 \opt{style/multoc} 选项、小节 \ref{subsec:document command} 中打印目录命令的 \opt{multoc} 及 \opt{book} 选项均会失效,会以 \opt{section} 标题级别输出目录。
% \changes{v1.23}{2021/03/16}{增加 article 文章模式,可用于短篇幅的文章。}
% \end{function}
%
@@ -171,7 +173,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.24i}{2021/04/04}{目录命令的可选参数增加标题键值。}
+% \changes{v1.24j}{2021/04/04}{目录命令的可选参数增加标题键值。}
% \end{function}
%
% \section{接口选项}
@@ -259,7 +261,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.24i}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
+% \changes{v1.24j}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
% \end{function}
%
% \begin{optdesc}
@@ -335,7 +337,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.24i}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
+% \changes{v1.24j}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
% \end{function}
%
% \begin{optdesc}
@@ -426,7 +428,7 @@ The latest version of this license is in
% \end{ctexexam}
% 若要给定理环境增加边框,可以如下进行设置
% \begin{ctexexam}
-% \tcolorboxenvironment{定理环境名}{thmsty}
+% \tcolorboxenvironment{定理环境名}{tc-theorem}
% \end{ctexexam}
% 定义一个新的定理样式可用于 \tn{newtheorem} 的 \opt{style} 选项。
% \begin{ctexexam}
@@ -449,6 +451,9 @@ The latest version of this license is in
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{geoset/...} \\
% 预置的页面尺寸与 \cls{Word} 的默认值接近,\opt{geoset} 会将前4个选项以外的其它选项交给 \pkg{geometry} 宏包接口命令 \tn{geometry} 处理,并且选项的键值列表与之相同,上面的选项仅是一小部分,支持的参数可查阅宏包帮助文档。当在此设置页面大小时,会覆盖 \opt{paper} 选项的设置。
+% \changes{v1.21}{2021/01/13}{增加配置页面尺寸的选项。}
+% \end{function}
+%
% \begin{ctexexam}
% \geoset
% {
@@ -459,8 +464,6 @@ The latest version of this license is in
% list-labelsep = \hspace{0.5\ccwd}
% }
% \end{ctexexam}
-% \changes{v1.21}{2021/01/13}{增加配置页面尺寸的选项。}
-% \end{function}
%
% \subsection{页眉页脚}
% \label{subsec:header and footer}
@@ -482,7 +485,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.24i}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
+% \changes{v1.24j}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-03-14]{\easyhead,\easyfoot}
@@ -522,6 +525,25 @@ The latest version of this license is in
% \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。}
% \end{function}
%
+% \begin{function}[added = 2021-01-13,updated = 2021-04-06]{\tocrule}
+% \begin{syntax}
+% \tn{tocrule}*\oarg{引导点间距|(0.7pc)}\parg{引导点大小|(1.2)}\marg{引导点}\oarg{页码格式}
+% \end{syntax}
+% \tn{tocrule} 命令生成目录引导线,需要在 \opt{rule} 选项中使用。带有星号的命令会使当前级别的目录引导线右边与页码连接而不是对齐。引导点间距需带有长度单位,引导点大小不带单位,为引导点符号正常大小的倍数,引导点一般为英文句号或 \tn{cdot} 中心点符号。页码格式的内容位于页码前面,可以设置页码字体、距离。
+% \end{function}
+%
+% \begin{ctexexam}
+% \tocset
+% {
+% chapter =
+% {
+% format = \addvspace{8pt}\large,
+% indent = 1.5\ccwd,
+% rule = \tocrule[0.6pc](1.1){.}[\zihao{5}]
+% }
+% }
+% \end{ctexexam}
+%
% \begin{function}[EXP,added = 2021-01-13,updated = 2021-04-06]{lists/lolskip,lists/belowoffset,tocset/tocline-fig,tocset/tocline-tab,tocset/tocline-lst,tocset/belowoffset,tocset/line-align}
% \begin{syntax}
% lolskip = <(0.8pc)>
@@ -533,6 +555,10 @@ The latest version of this license is in
% line-align = <(true)|false>
% \end{syntax}
% \opt{lolskip} 是代码目录中章之间的代码标题的距离,与\CTeX 的表格目录和图片目录中章之间的标题距离选项 \opt{lotskip} 和 \opt{lofskip} 类似,它们的值均默认0.8 pc,在 \opt{article} 模式中此选项失效。目录标签整体使用 \opt{tocline} 设置,也可使用小节 \ref{subsec:page margins} 的 \opt{list-labelsep} 选项只设置编号与标题的间距。在图表标签的参数中,\#1与\#2分别代表编号和标题,代码标签的编号和标题则是 \tn{thelstlisting} 和 \tn{lstcaption},标签中还可包含标签名称,默认标签名称与图、表和代码环境的标题名称一致。下面举个设置标签的例子
+% \changes{v1.24j}{2021/04/05}{可以设置图、表和代码目录的标签。}
+% \changes{v1.24j}{2021/04/06}{增加目录引导线右边对齐方式。}
+% \end{function}
+%
% \begin{ctexexam}
% \tocset
% {
@@ -542,27 +568,6 @@ The latest version of this license is in
% \end{ctexexam}
%
% \opt{belowoffset} 选项为主目录标题 \tn{contentsname} 后的间距补偿,一般为负值,用于抵消 \opt{format} 中设置的垂直间距。\opt{lists} 中的 \opt{belowoffset} 与之意义类似,但是一般为正值,可以在 \opt{article} 模式中使用。建议 \opt{lists/lolskip(0.8pc) + lists/format/addvspace(0.2pc) + lists/belowoffset(0pc) = belowoffset(-1pc)}。\opt{line-align} 选项可以使目录引导线右边对齐并与页码保持一定间隙,否则会与页码连接。
-% \changes{v1.24i}{2021/04/05}{可以设置图、表和代码目录的标签。}
-% \changes{v1.24i}{2021/04/06}{增加目录引导线右边对齐方式。}
-% \end{function}
-%
-% \begin{function}[added = 2021-01-13,updated = 2021-04-06]{\tocrule}
-% \begin{syntax}
-% \tn{tocrule}*\oarg{引导点间距|(0.7pc)}\parg{引导点大小|(1.2)}\marg{引导点}\oarg{页码格式}
-% \end{syntax}
-% \tn{tocrule} 命令生成目录引导线,需要在 \opt{rule} 选项中使用。带有星号的命令会使当前级别的目录引导线右边与页码连接而不是对齐。引导点间距需带有长度单位,引导点大小不带单位,为引导点符号正常大小的倍数,引导点一般为英文句号或 \tn{cdot} 中心点符号。页码格式的内容位于页码前面,可以设置页码字体、距离。
-% \begin{ctexexam}
-% \tocset
-% {
-% chapter =
-% {
-% format = \addvspace{8pt}\large,
-% indent = 1.5\ccwd,
-% rule = \tocrule[0.6pc](1.1){.}[\zihao{5}]
-% }
-% }
-% \end{ctexexam}
-% \end{function}
%
% \section{常用环境}
%
@@ -584,13 +589,14 @@ The latest version of this license is in
% \tn{end}\marg{环境名}
% \end{syntax}
% \pkg{enumitem} 宏包为系统预置的列表环境 \env{enumerate}、\env{itemize}和 \env{description} 提供了更灵活的标签以及间距的控制,可使用 \tn{setlist} 命令设置原有的三种列表格式。已为三种列表预置了三个级别的格式可相互嵌套,默认标签与 \cls{book} 文档类相同,若自定义标签可例如
+% \changes{v1.24j}{2021/04/08}{重新优化列表环境的配置。}
+% \end{function}
+%
% \begin{ctexexam}
% \begin{enumerate}[label = \arabic*(a),leftmargin = 1cm,resume]
% \begin{itemize}[label = \textbullet]
% \begin{description}[font = \sffamily\bfseries,style = nextline]
% \end{ctexexam}
-% \changes{v1.24i}{2021/04/08}{重新优化列表环境的配置。}
-% \end{function}
%
% \subsubsection{排序列表}
% \label{subsec:sort list}
@@ -644,14 +650,15 @@ The latest version of this license is in
% \tn{end}\marg{exercise}
% \end{syntax}
% 习题环境 \env{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号环境时不进行编号。三个可选参数中颜色为自定义或 \pkg{xcolor} 包含的颜色名称,已载入了 \opt{svgnames} 颜色库。正文编号格式与小节 \ref{subsec:sort list} 排序列表相同,标题名默认为摘要。注意,环境具有相同定界符的可选参数只能\textbf{从右往左}省略,省略的参数使用默认值。
+% \changes{v1.23}{2021/02/08}{增加准确的习题盒子标题目录锚点。}
+% \end{function}
+%
% \begin{ctexexam}
% \begin{exercise}[LightYellow][1.](习题)
% \item 习题内容
% \item 习题内容
% \end{exercise}
% \end{ctexexam}
-% \changes{v1.23}{2021/02/08}{增加准确的习题盒子标题目录锚点。}
-% \end{function}
%
% \subsection{盒子}
% \label{subsec:box}
@@ -665,13 +672,14 @@ The latest version of this license is in
% \tn{end}\marg{outline}
% \end{syntax}
% 摘要盒子可用于章前摘要,它的标题是可选参数,默认标题是摘要。
+% \end{function}
+%
% \begin{ctexexam}
% \begin{outline}(标题名称)
% \item 摘要内容
% \item 摘要内容
% \end{outline}
% \end{ctexexam}
-% \end{function}
%
% \subsubsection{段落盒子}
% \begin{function}[added = 2021-01-05,updated = 2021-03-19]{easybox}
@@ -681,6 +689,8 @@ The latest version of this license is in
% \tn{end}\marg{easybox}
% \end{syntax}
% 环境 \opt{easybox} 创建一个段落盒子,可以添加可选参数的标题,否则无标题框。当使用带有星号的环境时 \oarg{颜色名} 选项生效,可以自定义背景颜色,否则无背景颜色。
+% \end{function}
+%
% \begin{ctexexam}
% \begin{easybox}*[MintCream](段落标题)
% 盒子内容
@@ -688,7 +698,6 @@ The latest version of this license is in
% 盒子内容
% \end{easybox}
% \end{ctexexam}
-% \end{function}
%
% \subsubsection{行内盒子}
% \begin{function}[added = 2021-03-13]{\concise,\fuzzy}
@@ -702,14 +711,14 @@ The latest version of this license is in
% \section{其它用法}
%
% \subsection{代码}
-% \begin{function}[added = 2021-01-05]{\lstinline,lstlisting,\listoflistings}
+% \begin{function}[added = 2021-01-05]{\lstinline,lstlisting,lstlistlistingname,lstlistingname}
% \begin{syntax}
% \tn{lstinline}\oarg{键值列表}\marg{行内代码}
% \tn{begin}\marg{lstlisting}\oarg{键值列表}
% \ <行间代码>
% \tn{end}\marg{lstlisting}
% \end{syntax}
-% 加载 \pkg{listings} 宏包以对代码格式进行高度定制,代码样式可使用 \tn{lstset} 命令设置,\tn{listoflistings} 命令用于输出代码目录。
+% 加载 \pkg{listings} 宏包以对代码格式进行高度定制,代码样式可使用 \tn{lstset} 命令设置。\opt{lstlistlistingname} 和 \opt{lstlistingname} 分别是代码目录名与代码环境标题名,与\CTeX 使用手册中标题汉化一节用法相同,可使用 \tn{ctexset} 直接定义。
% \end{function}
%
% \subsection{物理量}
@@ -721,13 +730,14 @@ The latest version of this license is in
% \tn{SIrange}\oarg{键值列表}\marg{数字1}\marg{数字2}\marg{单位}
% \end{syntax}
% \pkg{siunitx} 宏包的 \tn{num} 命令可以输出科学计数法,\tn{si} 命令支持数学模式,可以代替数学行内公式输入,而 \tn{SI} 命令可用来输出带有单位的量,\tn{SIrange} 可以输出带有范围和单位的量。
+% \end{function}
+%
% \begin{ctexexam}
% \num{-21x.3e5}
% \si{mL.min^{-1}}
% \SI{5}{\mole}
% \SIrange[unit-color = green]{1.5}{4}{kg}
% \end{ctexexam}
-% \end{function}
%
% \subsection{化学式}
% \begin{function}[added = 2021-01-05]{\ch,\chemfig}
@@ -763,10 +773,11 @@ The latest version of this license is in
% \tn{Footnotemark}\marg{标记}
% \end{syntax}
% 自定义标记且不影响正常编号的脚注命令。
+% \end{function}
+%
% \begin{ctexexam}
% \Footnote{*}{这是可以自定义标记的脚注。}
% \end{ctexexam}
-% \end{function}
%
% \subsubsection{边注}
% \begin{function}[added = 2021-01-05]{\marginnote}
@@ -851,7 +862,7 @@ The latest version of this license is in
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/04/09}{1.24i}{beta}
+\ProvidesExplClass{easybook}{2021/04/10}{1.24j}{beta}
\cs_generate_variant:Nn \__ctex_define:nn {nx}
\cs_generate_variant:Nn \int_to_arabic:n {v}
@@ -909,11 +920,20 @@ The latest version of this license is in
\bool_set_false:N \l__eb_page_twoside_bool
\__eb_put_ctexbook:n {oneside}
},
+ twoside .code:n =
+ {
+ \bool_set_true:N \l__eb_page_twoside_bool
+ \__eb_put_ctexbook:n {twoside}
+ },
class .choice:,
class .value_required:n = true,
class/book .code:n = {},
- class/article .code:n = \bool_set_false:N \l__eb_class_book_bool,
+ class/article .code:n =
+ {
+ \bool_set_false:N \l__eb_class_book_bool
+ \keys_set:nn {easybook}{oneside}
+ },
class .initial:n = book,
unknown .code:n =
@@ -1190,9 +1210,15 @@ The latest version of this license is in
head-foot .tl_set:N = \l__eb_fancyhf_content_tl,
head-foot .initial:n =
{
- \easyhead[EC]{\color{ctex@frame}\kaishu\leftmark}
- \easyhead[OC]{\color{ctex@frame}\kaishu\rightmark}
- \easyhead[EL,OR]{\color{ctex@frame}\thepage}
+ \bool_if:NTF \l__eb_page_twoside_bool
+ {
+ \easyhead[EC]{\color{ctex@frame}\kaishu\leftmark}
+ \easyhead[OC]{\color{ctex@frame}\kaishu\rightmark}
+ \easyhead[EL,OR]{\color{ctex@frame}\thepage}
+ }{
+ \easyhead[L]{\color{ctex@frame}\kaishu\leftmark}
+ \easyhead[R]{\color{ctex@frame}\thepage}
+ }
},
chap-mark .cs_set:Np = \__eb_fancyhf_chap_mark:n #1,
@@ -1248,19 +1274,19 @@ The latest version of this license is in
\group_end:
}
}
-\cs_new_protected:Npn \__eb_ifupper_chaptermark_set:n #1
+\cs_new:Npn \__eb_upper_chaptermark_bool:n #1
{
\bool_if:NTF \l__eb_uppercase_bool
{\text_uppercase:n {\__eb_fancyhf_chap_mark:n {#1}}}
{\text_titlecase_first:n {\__eb_fancyhf_chap_mark:n {#1}}}
}
-\cs_new_protected:Npn \__eb_ifupper_sectionmark_set:n #1
+\cs_new:Npn \__eb_upper_sectionmark_bool:n #1
{
\bool_if:NTF \l__eb_uppercase_bool
{\text_uppercase:n {\__eb_fancyhf_sec_mark:n {#1}}}
{\text_titlecase_first:n {\__eb_fancyhf_sec_mark:n {#1}}}
}
-\cs_new_protected:Npn \__eb_ifupper_subsectionmark_set:n #1
+\cs_new:Npn \__eb_upper_subsectionmark_bool:n #1
{
\bool_if:NTF \l__eb_uppercase_bool
{\text_uppercase:n {\__eb_fancyhf_subsec_mark:n {#1}}}
@@ -1280,36 +1306,36 @@ The latest version of this license is in
\cs_gset:Npn \chaptermark#1
{
\markboth
- {\__eb_ifupper_chaptermark_set:n {#1}}
- {\__eb_ifupper_chaptermark_set:n {#1}}
+ {\__eb_upper_chaptermark_bool:n {#1}}
+ {\__eb_upper_chaptermark_bool:n {#1}}
}
}{
\cs_gset:Npn \chaptermark#1
- {\markboth{\__eb_ifupper_chaptermark_set:n {#1}}{}}
+ {\markboth{\__eb_upper_chaptermark_bool:n {#1}}{}}
}
\cs_gset:Npn \sectionmark#1
- {\markright{\__eb_ifupper_sectionmark_set:n {#1}}}
+ {\markright{\__eb_upper_sectionmark_bool:n {#1}}}
}{
\bool_if:NTF \l__eb_page_twoside_bool
{
\cs_gset:Npn \sectionmark#1
{
\markboth
- {\__eb_ifupper_sectionmark_set:n {#1}}
- {\__eb_ifupper_sectionmark_set:n {#1}}
+ {\__eb_upper_sectionmark_bool:n {#1}}
+ {\__eb_upper_sectionmark_bool:n {#1}}
}
}{
\cs_gset:Npn \sectionmark#1
- {\markboth{\__eb_ifupper_sectionmark_set:n {#1}}{}}
+ {\markboth{\__eb_upper_sectionmark_bool:n {#1}}{}}
}
\cs_gset:Npn \subsectionmark#1
- {\markright{\__eb_ifupper_subsectionmark_set:n {#1}}}
+ {\markright{\__eb_upper_subsectionmark_bool:n {#1}}}
}
\bool_if:NT \l__eb_draft_bool
{
\bool_if:NTF \l__eb_page_twoside_bool
{\easyfoot[C]{\color{gray!60}\sffamily\today}}
- {\easyhead[L]{\color{gray!60}\sffamily\today}}
+ {\easyhead[C]{\color{gray!60}\sffamily\today}}
\geometry{showframe}
}
}
@@ -1444,7 +1470,7 @@ The latest version of this license is in
The~\string\chapter\space~command~will~not~be~used.
}
-\cs_new_protected:Npn \__eb_ifuppercase_set:n #1
+\cs_new_protected:Npn \__eb_uppercase_bool:n #1
{
\bool_if:NTF \l__eb_uppercase_bool
{\text_uppercase:n {#1}}
@@ -1455,9 +1481,9 @@ The latest version of this license is in
\bool_if:NTF \l__eb_page_twoside_bool
{
\markboth
- {\__eb_ifuppercase_set:n {#1}}
- {\__eb_ifuppercase_set:n {#1}}
- }{\markboth{\__eb_ifuppercase_set:n {#1}}{}}
+ {\__eb_uppercase_bool:n {#1}}
+ {\__eb_uppercase_bool:n {#1}}
+ }{\markboth{\__eb_uppercase_bool:n {#1}}{}}
}
\tl_set:Nn \l__eb_toc_type_tl{book}
@@ -1490,7 +1516,19 @@ The latest version of this license is in
{\section*{\phantomsection#1}}
\eb@markdouble{#1}
}
-\cs_new_protected:Npn \__eb_ifmultoc_pre_set:
+\cs_new_protected:Npn \__eb_class_title_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}
+ }
+ \eb@markdouble{#1}
+ }
+\cs_new_protected:Npn \__eb_multoc_pre_bool:
{
\bool_if:NTF \l__eb_class_book_bool
{
@@ -1503,7 +1541,7 @@ The latest version of this license is in
\fi
}{\tl_set:Nn \l__eb_toc_type_tl{article}}
}
-\cs_new_protected:Npn \__eb_ifmultoc_post_set:
+\cs_new_protected:Npn \__eb_multoc_post_bool:
{
\bool_if:NTF \l__eb_class_book_bool
{
@@ -1514,7 +1552,7 @@ The latest version of this license is in
\fi
}{\tl_set:Nn \l__eb_toc_type_tl{article}}
}
-\cs_new_protected:Npn \__eb_title_ifintoc_set:n #1
+\cs_new_protected:Npn \__eb_title_intoc_bool:n #1
{
\IfBooleanTF{#1}
{\__eb_title_mark_notoc:n {\eb@toc@title}}
@@ -1525,11 +1563,11 @@ The latest version of this license is in
\group_begin:
\tl_set_eq:NN \eb@toc@title\contentsname
\IfValueT{#1}{\keys_set:nn {listoc}{#1}}
- \__eb_ifmultoc_pre_set:
+ \__eb_multoc_pre_bool:
\__eb_title_mark_notoc:n {\eb@toc@title}
\vspace*{\dim_use:N \l__eb_toc_offset_dim}
\@starttoc{toc}
- \__eb_ifmultoc_post_set:
+ \__eb_multoc_post_bool:
\group_end:
}
\RenewDocumentCommand{\listoffigures}{so}
@@ -1537,12 +1575,12 @@ The latest version of this license is in
\group_begin:
\tl_set_eq:NN \eb@toc@title\listfigurename
\IfValueT{#2}{\keys_set:nn {listoc}{#2}}
- \__eb_ifmultoc_pre_set:
- \__eb_title_ifintoc_set:n {#1}
+ \__eb_multoc_pre_bool:
+ \__eb_title_intoc_bool:n {#1}
\dim_add:NV \l__eb_toc_offset_dim\l__eb_toc_listsoffset_dim
\vspace*{\dim_use:N \l__eb_toc_offset_dim}
\@starttoc{lof}
- \__eb_ifmultoc_post_set:
+ \__eb_multoc_post_bool:
\group_end:
}
\RenewDocumentCommand{\listoftables}{so}
@@ -1550,12 +1588,12 @@ The latest version of this license is in
\group_begin:
\tl_set_eq:NN \eb@toc@title\listtablename
\IfValueT{#2}{\keys_set:nn {listoc}{#2}}
- \__eb_ifmultoc_pre_set:
- \__eb_title_ifintoc_set:n {#1}
+ \__eb_multoc_pre_bool:
+ \__eb_title_intoc_bool:n {#1}
\dim_add:NV \l__eb_toc_offset_dim\l__eb_toc_listsoffset_dim
\vspace*{\dim_use:N \l__eb_toc_offset_dim}
\@starttoc{lot}
- \__eb_ifmultoc_post_set:
+ \__eb_multoc_post_bool:
\group_end:
}
\NewDocumentCommand{\listoflistings}{so}
@@ -1563,12 +1601,12 @@ The latest version of this license is in
\group_begin:
\tl_set_eq:NN \eb@toc@title\lstlistlistingname
\IfValueT{#2}{\keys_set:nn {listoc}{#2}}
- \__eb_ifmultoc_pre_set:
- \__eb_title_ifintoc_set:n {#1}
+ \__eb_multoc_pre_bool:
+ \__eb_title_intoc_bool:n {#1}
\dim_add:NV \l__eb_toc_offset_dim\l__eb_toc_listsoffset_dim
\vspace*{\dim_use:N \l__eb_toc_offset_dim}
\@starttoc{lol}
- \__eb_ifmultoc_post_set:
+ \__eb_multoc_post_bool:
\group_end:
}
@@ -1945,14 +1983,14 @@ The latest version of this license is in
\cs_gset:Npn \tagform@#1
{\maketag@@@{\color{ctex@emph}(\ignorespaces#1\unskip\@@italiccorr)}}
\ctex_at_end_package:nn {unicode-math}
- {\unimathsetup{warnings-off = {mathtools-overbracket,mathtools-colon}}}
+ {\msg_redirect_module:nnn {unicode-math}{warning}{none}}
\ctex_at_end_package:nn {tcolorbox}
{
\__eb_ifpackage_later:nn {tcolorbox}{2020/10/09}
\tcbset
{
- thmsty/.style =
+ tc-theorem/.style =
{
enhanced~jigsaw,pad~at~break* = 3pt,
opacityback = 0,
@@ -1960,7 +1998,7 @@ The latest version of this license is in
left = .2pc,right = .2pc,top = .5pc,bottom = .5pc,middle= .5pc,
arc = 0pt
},
- outlinesty/.style =
+ tc-outline/.style =
{
enhanced,nofloat,
tikznode~boxed~title,
@@ -1974,7 +2012,7 @@ The latest version of this license is in
left = 1.5pc,right = 1.5pc,top = 1pc,bottom = 0.5pc,
boxsep = 5pt
},
- exersty/.style =
+ tc-exercise/.style =
{
enhanced,on~line,
arc = 5pt,
@@ -1988,7 +2026,7 @@ The latest version of this license is in
}
\NewDocumentEnvironment{outline}{D(){\abstractname}o+b}
{
- \begin{tcolorbox}[outlinesty,title = #1,IfValueT = {#2}{#2}]
+ \begin{tcolorbox}[tc-outline,title = #1,IfValueT = {#2}{#2}]
\begin{outlinelist}
#3
\end{outlinelist}
@@ -2001,7 +2039,7 @@ The latest version of this license is in
\bool_if:NTF \l__eb_thmbox_bool
{
\tcbox[
- exersty,
+ tc-exercise,
colback = #2,colframe = black,
drop~fuzzy~shadow = #2,
IfValueT = {#5}{#5},
@@ -2063,12 +2101,12 @@ The latest version of this license is in
{
\@ifpackageloaded{tcolorbox}
{
- \tcolorboxenvironment{theorem}{thmsty}
- \tcolorboxenvironment{definition}{thmsty}
- \tcolorboxenvironment{lemma}{thmsty}
- \tcolorboxenvironment{corollary}{thmsty}
- \tcolorboxenvironment{proposition}{thmsty}
- \tcolorboxenvironment{example}{thmsty}
+ \tcolorboxenvironment{theorem}{tc-theorem}
+ \tcolorboxenvironment{definition}{tc-theorem}
+ \tcolorboxenvironment{lemma}{tc-theorem}
+ \tcolorboxenvironment{corollary}{tc-theorem}
+ \tcolorboxenvironment{proposition}{tc-theorem}
+ \tcolorboxenvironment{example}{tc-theorem}
}{}
}
}
@@ -2133,10 +2171,10 @@ The latest version of this license is in
\group_begin:
\tl_set_eq:NN \eb@toc@title\bibname
\IfValueT{##2}{\keys_set:nn {listoc}{##2}}
- \__eb_ifmultoc_pre_set:
- \cs_set:Npn \bibsection{\__eb_title_ifintoc_set:n {##1}}
+ \__eb_multoc_pre_bool:
+ \cs_set:Npn \bibsection{\__eb_title_intoc_bool:n {##1}}
\exp_args:NV \bibliography\l__eb_bib_file_tl
- \__eb_ifmultoc_post_set:
+ \__eb_multoc_post_bool:
\group_end:
}
}
@@ -2159,7 +2197,7 @@ The latest version of this license is in
{
\exp_args:NV \addbibresource\l__eb_bib_file_tl
\cs_gset:Npn \blx@default@theheading{bibintoc}
- \defbibheading{bibintoc}[\bibname]{\__eb_title_mark_intoc:n {##1}}
+ \defbibheading{bibintoc}[\bibname]{\__eb_class_title_bool:n {##1}}
\skip_set:Nn \bibitemsep{0ex}
}
\__eb_at_end_preamble:n
@@ -2344,7 +2382,8 @@ The latest version of this license is in
linkcolor .initial:n = fresh,
linktoc .choice:,
- linktoc/unknown .code:n = \__eb_put_hyperref:n {linktoc = \exp_not:n {#1}},
+ linktoc/unknown .code:n =
+ {\__eb_put_hyperref:n {linktoc = \exp_not:n {#1}}},
linktoc .default:n = all,
linktoc .initial:n = all,
unknown .code:n =