summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/easybook/easybook.dtx99
1 files changed, 69 insertions, 30 deletions
diff --git a/Master/texmf-dist/source/latex/easybook/easybook.dtx b/Master/texmf-dist/source/latex/easybook/easybook.dtx
index 6f1bd7bf07c..d018076e500 100644
--- a/Master/texmf-dist/source/latex/easybook/easybook.dtx
+++ b/Master/texmf-dist/source/latex/easybook/easybook.dtx
@@ -28,7 +28,7 @@
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/07/22\hskip 1em\relax v1.27L\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/07/24\hskip 1em\relax v1.27o\thanks{\url{https://gitee.com/texl3/easybook}}}
%
% \maketitle
% \begin{abstract}
@@ -148,7 +148,7 @@
% cjkfont = <adobe|fandol|founder|mac|macnew|macold|ubuntu|windows|none>
% \end{syntax}
% 中文字体采用 \CTeX 宏集包含的字库并与其一致,具体配置方案可以查看 \CTeX 使用手册。它与 \opt{fontset} 选项是等效的,如果没有指定 \opt{cjkfont} 的值,将会自动检测用户的操作系统并选择相应的字体。
-% \changes{v1.27L}{2021/07/12}{新增 \opt{cjkfont} 选项设置中文字体,原 \opt{font} 选项设置英文字体,中文字体使用 \CTeX 的字库。}
+% \changes{v1.27o}{2021/07/12}{新增 \opt{cjkfont} 选项设置中文字体,原 \opt{font} 选项设置英文字体,中文字体使用 \CTeX 的字库。}
% \end{function}
%
% 如果需要使用其它中文字体,可以在启用选项 \opt{cjkfont = none} 后,再使用 \pkg{xeCJK} 宏包的相关命令设置字体以及声明字体族:
@@ -352,19 +352,30 @@
% \changes{v1.23}{2021/03/15}{增加控制编号连接符的选项。}
% \end{function}
%
-% \subsubsection{上标和下标}
+% \subsubsection{上下标全局设置}
% \label{subsubsec:super-sub-script}
-% \begin{function}[EXP,added = 2021-06-26]{super-vshift,super-hshift,sub-vshift,sub-hshift,supersubsep,supersubalign}
+% \begin{function}[EXP,added = 2021-06-26,updated = 2021-07-24]{super-vshift,super-hshift,sub-vshift,sub-hshift,super-format,sub-format}
% \begin{syntax}
% super-vshift = <刚性长度|(0pt)>
% super-hshift = <刚性长度|(0pt)>
% sub-vshift = <刚性长度|(0pt)>
% sub-hshift = <刚性长度|(0pt)>
+% super-format = <上标格式>
+% sub-format = <下标格式>
+% \end{syntax}
+% \ding{229} 以上选项路径为 \opt{style/...} \\
+% 可以使用 \tn{spbset} 命令设置上述选项,以上各个选项的参数对应 \tn{super} 或 \tn{sub} 上标下标命令的参数。其中 \meta{刚性长度} 为上标或下标的垂直和水平偏移量,\meta{上标格式} 和 \meta{下标格式} 为上标和下标的格式代码。
+% \end{function}
+%
+% \begin{function}[EXP,added = 2021-06-26,updated = 2021-07-24]{supersub-hshift,supersub-format,supersubsep,supersubalign}
+% \begin{syntax}
+% supersub-hshift = <刚性长度|(0pt)>
+% supersub-format = \{<上标格式>,<下标格式>\}
% supersubsep = <刚性长度|(0.3ex)>
% supersubalign = <(l)|c|r>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{style/...} \\
-% 可以使用 \tn{spbset} 命令设置上述选项。各垂直和水平偏移的参数对应 \tn{super} 等上标下标命令的参数,并且具有优先性。\opt{supersubsep} 选项是 \tn{supersub} 命令中上标和下标的间距,\opt{supersubalign} 选项则是上标与下标的水平对齐方式,有左对齐、居中对齐和右对齐。
+% 可以使用 \tn{spbset} 命令设置上述选项,以上各个选项的参数对应 \tn{supersub} 上下标命令的参数。\opt{supersubsep} 选项是上下标的垂直间距,\opt{supersubalign} 选项则是上下标的水平对齐方式,有左对齐、居中对齐和右对齐三种。\opt{supersub-format} 选项分别设置上下标的格式,以英文逗号分隔为前后部分,也可以只有前部分,表示上标的格式。
% \end{function}
%
% \subsection{超链接}
@@ -548,7 +559,7 @@
% \end{function}
%
% \begin{optdesc}
-% \item[thmbox] 开启定理环境盒子的边框,需载入 \pkg{tcolorbox} 宏包才生效。这个选项与 \pkg{thmtools} 中并不一致,\pkg{thmtools} 的同名选项包括 L、M 和 S 三个参数。
+% \item[thmbox] 开启定理环境盒子的边框,需载入 \pkg{tcolorbox} 宏包才生效。这个选项与 \pkg{thmtools} 中并不一致,\pkg{thmtools} 的同名选项包括 \opt{L}、\opt{M} 和 \opt{S} 三个参数。
% \item[within] 定理编号跟随的计数器,默认跟随章的编号,也可以跟随其它定理环境的编号,当计数器增加时定理编号会从零开始,空置时不跟随其它计数器。
% \item[headpunct] 定理标题末尾后的标记,在换行符或第一段内容的间隔之前。
% \item[bodyfont] 定理内容部分的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
@@ -606,7 +617,7 @@
% \DeclareTheorem{定理环境名}{中文标题}[style = easy-theorem]
% \declaretheorem[style = easy-theorem,name = 定理名]{定理环境名}
% \end{ctexexam}
-% \tn{declaretheorem} 定义的定理环境需要手动增加盒子边框,可以如下进行设置:
+% \tn{declaretheorem} 定义的定理环境需要手动增加盒子边框:
% \begin{ctexexam}
% \tcolorboxenvironment{定理环境名}{tc-theorem}
% \end{ctexexam}
@@ -676,7 +687,7 @@
% sec-mark = \CTEXifname{\CTEXthesection——}{}#1
% }
% \end{ctexexam}
-% \opt{headrule}、\opt{footrule} 和 \opt{footnoterule} 三个选项可以使用 \tn{hrule} \texttt{width} \meta{长度} \texttt{height} \meta{高度} 或下述 \tn{markrule} 命令来绘制横线,脚注线默认为空。当然,手动绘制横线时线条粗细选项 \opt{style/rulewidth} 会失效。
+% \opt{headrule}、\opt{footrule} 和 \opt{footnoterule} 三个选项可以使用 \tn{hrule} \opt{width} \meta{长度} \opt{height} \meta{高度} 或下述 \tn{markrule} 命令来绘制横线,脚注线默认为空。当然,手动绘制横线时线条粗细选项 \opt{style/rulewidth} 会失效。
%
% \begin{function}[added = 2021-01-13,updated = 2021-06-14]{\easyhead,\easyfoot,\markrule}
% \begin{syntax}
@@ -684,7 +695,7 @@
% \tn{easyfoot}\oarg{位置}\marg{内容}
% \tn{markrule}\oarg{长度|(\tn{textwidth})}\parg{颜色名}\marg{线宽|(0.75pt)}[<上间距>+<下间距>]
% \end{syntax}
-% 命令 \tn{easyhead} 和 \tn{easyfoot} 的使用方法与 \tn{fancyhead} 和 \tn{fancyfoot} 完全相同,它们需要在 \opt{head-foot} 选项中使用,设置的是一个名为 \opt{fancy} 的页面风格。\pkg{fancyhdr} 将页眉页脚分成了左中右和奇数页(odd)、偶数页(even)共12个部分,可选参数中E、O代表偶数、奇数,L、C 和 R 代表左、中和右部分。单面打印时,含有偶数的选项无效。
+% 命令 \tn{easyhead} 和 \tn{easyfoot} 的使用方法与 \tn{fancyhead} 和 \tn{fancyfoot} 完全相同,它们需要在 \opt{head-foot} 选项中使用,设置的是一个名为 \opt{fancy} 的页面风格。\pkg{fancyhdr} 将页眉页脚分成了左中右和奇数页(odd)、偶数页(even)共 12 个部分,可选参数中 \opt{E} 和 \opt{O} 代表偶数和奇数,\opt{L}、\opt{C} 和 \opt{R} 代表左、中和右部分。单面打印时,含有偶数的选项无效。
% \changes{v1.26}{2021/06/14}{增加页眉页脚的横线绘制命令 \tn{markrule}。}
% \end{function}
%
@@ -717,7 +728,7 @@
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{hdrset/...} \\
% \changes{v1.25}{2021/05/12}{增加脚注样式设置选项。}
-% \changes{v1.27L}{2021/07/14}{增加脚注内容格式选项 \opt{fntext-form} 和脚注类型选项 \opt{footnotetype}。}
+% \changes{v1.27o}{2021/07/14}{增加脚注内容格式选项 \opt{fntext-form} 和脚注类型选项 \opt{footnotetype}。}
% \end{function}
%
% \begin{optdesc}
@@ -747,7 +758,7 @@
% numsep = <编号后间距|(1em)>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{tocset/(level)/...} \\
-% \opt{tocset} 将目录样式交给 \pkg{titletoc} 处理,\opt{(level)} 代表 part、chapter、section、subsection、figure、table 和 lstlisting 级别的目录,而使用 list 级别可以统一设置图片、表格和代码目录的样式。
+% \opt{tocset} 将目录样式交给 \pkg{titletoc} 处理,\opt{(level)} 代表 \opt{part}、\opt{chapter}、\opt{section}、\opt{subsection}、\opt{figure}、\opt{table} 和 \opt{lstlisting} 级别的目录,而使用 \opt{list} 级别可以统一设置图片、表格和代码目录的样式。
% \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。}
% \changes{v1.24}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。}
% \changes{v1.25}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。}
@@ -798,8 +809,8 @@
% \end{function}
%
% \begin{optdesc}
-% \item[lolskip] \opt{lolskip} 是代码目录中章之间的代码标题的距离,与 \CTeX 的表格目录和图片目录中章之间的标题距离选项 \opt{lotskip} 和 \opt{lofskip} 类似,它们的值均默认 0.8 pc,在 article 模式中此选项失效。
-% \item[belowoffset] \opt{belowoffset} 选项为主文档目录标题下方的间距补偿,一般为负值,用于抵消 \opt{format} 中额外的垂直间距。\opt{(level)} 中的 \opt{belowoffset} 与之意义类似,代表 figure、table 和 lstlisting 三个级别,也可以使用 \opt{list} 统一设置,一般为正值。
+% \item[lolskip] \opt{lolskip} 是代码目录中章之间的代码标题的距离,与 \CTeX 的表格目录和图片目录中章之间的标题距离选项 \opt{lotskip} 和 \opt{lofskip} 类似,它们的值均默认为 \opt{0.8pc},在 article 模式中此选项失效。
+% \item[belowoffset] \opt{belowoffset} 选项为主文档目录标题下方的间距补偿,一般为负值,用于抵消 \opt{format} 中额外的垂直间距。\opt{(level)} 中的 \opt{belowoffset} 与之意义类似,代表 \opt{figure}、\opt{table} 和 \opt{lstlisting} 三个级别,也可以使用 \opt{list} 统一设置,一般为正值。
% \item[tocline] 目录标签整体使用 \opt{tocline} 设置,在图表标签的参数中 \#1 代表编号,代码标签中则是 \tn{thelstlisting} 代表编号,标签中还可包含标签名称,默认标签名称与图、表和代码环境的标题名称一致。下面举个设置标签的例子:
% \begin{ctexexam}
% \tocset
@@ -905,7 +916,7 @@
% \tn{end}\{hangparas\}
% \end{syntax}
% \tn{hangpara} 命令使其后的一个段落保持悬挂缩进,\env{hangparas} 环境使其中的段落均保持悬挂缩进。缩进将以 \meta{缩进长度} 从每个段落的 \meta{缩进开始行数} 开始。
-% \changes{v1.27L}{2021/07/11}{增加悬挂缩进段落命令 \tn{hangpara} 和环境 \env{hangparas}。}
+% \changes{v1.27o}{2021/07/11}{增加悬挂缩进段落命令 \tn{hangpara} 和环境 \env{hangparas}。}
% \end{function}
%
% \subsection{代码}
@@ -1079,7 +1090,7 @@
% \tn{end}\{eqcomp\}
% \end{syntax}
% 一些公式之后可以使用基于列表环境的 \env{eqcomp} 进行符号对照。\tn{symb} 需要在环境内使用,带有星号的命令可单独在文本段落使用。对照列表第二个 \meta{键值列表} 与 \pkg{enumitem} 的选项相同,一般较少用到,可以用于设置垂直间距等。第一个 \meta{键值列表} 也可以使用 \tn{seteqcomp} 全局设置,选项如下:
-% \changes{v1.27L}{2021/07/22}{增加公式符号对照环境 \env{eqcomp} 和命令 \tn{symb}。}
+% \changes{v1.27o}{2021/07/22}{增加公式符号对照环境 \env{eqcomp} 和命令 \tn{symb}。}
% \end{function}
%
% \begin{function}{width,delim,space,item-align,delim-align,intro,font,mode}
@@ -1099,8 +1110,8 @@
% \item[width] 设置适当的符号宽度可以防止文字重叠和边界溢出等问题。
% \item[delim] 符号对照的引导符,\tn{symb} 的 \meta{引导符} 和对齐方式是基于这个符号的宽度。
% \item[space] 符号间隙为引导符两侧与符号和说明文字间的距离。
-% \item[item-align] 符号的对齐方式,分为左(l)、中(c)和右(r)三种对齐方式。
-% \item[delim-align] 引导符的对齐方式,分为左(l)、中(c)和右(r)三种对齐方式。
+% \item[item-align] 符号的对齐方式,分为左(\opt{l})、中(\opt{c})和右(\opt{r})三种对齐方式。
+% \item[delim-align] 引导符的对齐方式,分为左(\opt{l})、中(\opt{c})和右(\opt{r})三种对齐方式。
% \item[intro] 符号对照的说明文字,应当为简短的几个字,只显示在第一行,其后为悬挂缩进的对照列表。
% \item[font] 符号的字体,数学和文本符号模式应采用不同的字体命令,最后一个命令可以接受一个参数,这个参数为符号。
% \item[mode] 符号字体模式,可以为数学字体或者文本字体。
@@ -1308,6 +1319,13 @@
% \newblock (2020-12-31)
% \urlprefix\url{https://www.ctan.org/pkg/biblatex}
%
+% \bibitem{eqexpl}
+% Konstantin Morenko.
+% \newblock \textit{The \pkg{eqexpl} package} [EB/OL].
+% \newblock version 1.1,
+% \newblock (2019-07-01)
+% \urlprefix\url{https://www.ctan.org/pkg/eqexpl}
+%
% \bibitem{xmuthesis}
% Camuse Cao.
% \newblock \textit{\pkg{xmuthesis}: 厦门大学论文模板} [EB/OL].
@@ -1327,7 +1345,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/07/22}{1.27L}
+\ProvidesExplClass{easybook}{2021/07/24}{1.27o}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -1558,6 +1576,8 @@
{
pagestyle = empty,
format = \color{ctex@frame}\sffamily\Huge,
+ nameformat = { },
+ titleformat = { },
aftername =
{
\bool_if:NTF \l__eb_title_newline_bool
@@ -1573,6 +1593,8 @@
\color{ctex@frame}\sffamily\LARGE
\bool_if:NF \l__eb_title_newline_bool { \centering }
},
+ nameformat = { },
+ titleformat = { },
aftername =
{
\bool_if:NTF \l__eb_title_newline_bool
@@ -1621,7 +1643,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/07/22}{1.27L}
+\ProvidesExplPackage{easybase}{2021/07/24}{1.27o}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1683,13 +1705,30 @@
{
\seq_set_split:Nnn \l_tmpa_seq { [ } {#1}
\seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl
- \IfFileExists{\l_tmpa_tl.sty}
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpb_tl
+ \eb_package_reload_check:nn { \l_tmpa_tl }
{
- \exp_last_unbraced:Nx \RequirePackage
- { [\seq_use:Nn \l_tmpa_seq { , } }{\l_tmpa_tl}
- }{}
+ \IfFileExists{\l_tmpa_tl.sty}
+ {
+ \exp_last_unbraced:Nx \RequirePackage
+ { [\l_tmpb_tl }{\l_tmpa_tl}
+ }{}
+ }
+ }
+ {
+ \eb_package_reload_check:nn {#1}
+ { \IfFileExists{#1.sty}{\RequirePackage{#1}}{} }
}
- { \IfFileExists{#1.sty}{\RequirePackage{#1}}{} }
+ }
+\cs_new_protected:Npn \eb_package_reload_check:nn #1#2
+ {
+ \@ifpackageloaded{#1}
+ {\msg_warning:nnn { easybase } { package-reload } {#1}}{#2}
+ }
+\msg_new:nnn { easybase } { package-reload }
+ {
+ There~is~no~need~to~reload~the~#1~macro~package. \\
+ Please~review~your~code.
}
\NewDocumentCommand{\LoadPackage}{O{}m}
{
@@ -3001,7 +3040,7 @@
item-align .initial:n = r,
delim-align .tl_set:N = \l__eb_eqsymb_delim_align_tl,
delim-align .initial:n = c,
- intro .tl_set: = \l__eb_eqsymb_intro_tl,
+ intro .tl_set:N = \l__eb_eqsymb_intro_tl,
font .tl_set:N = \l__eb_eqsymb_font_tl,
mode .tl_set:N = \l__eb_eqsymb_mode_tl,
mode .initial:n = math
@@ -3501,15 +3540,15 @@
{ \eb_define_theme_color:n { \exp_not:n {#1} } }
}
-\cs_new:Npn \eb_allow_urlbreak:
+\cs_new:Npn \eb_allow_url_break:
{
\eb_appto_cmd:Nn \UrlBreaks
{
\UrlOrds
- \tl_map_function:NN \c__eb_urlbreak_points_tl \do
+ \tl_map_function:NN \c__eb_url_break_points_tl \do
}
}
-\tl_const:Nn \c__eb_urlbreak_points_tl
+\tl_const:Nn \c__eb_url_break_points_tl
{
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
@@ -3519,7 +3558,7 @@
{
\LoadPackage{hyperref}
\urlstyle{same}
- \eb_allow_urlbreak:
+ \eb_allow_url_break:
\exp_args:NV \hypersetup \l__eb_hyperref_clist
}
@@ -3562,7 +3601,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/22}{1.27L}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/24}{1.27o}
{Customization of tcolorbox for easybook}
\cs_new_protected:Npn \eb_tcb_theorem_set:n #1