summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/easybook/easybook.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-07-25 03:00:49 +0000
committerNorbert Preining <norbert@preining.info>2021-07-25 03:00:49 +0000
commit70e05e80042e1e0b40202c65384883b446f03654 (patch)
treea245ddbfdcfbe4d7a24c5608e8399d759f72b3c7 /macros/latex/contrib/easybook/easybook.dtx
parent9c5706814f2f593a9f52c51ad02b61e9bacd9ee4 (diff)
CTAN sync 202107250300
Diffstat (limited to 'macros/latex/contrib/easybook/easybook.dtx')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx80
1 files changed, 56 insertions, 24 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index accfe35b85..d018076e50 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -28,7 +28,7 @@
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/07/22\hskip 1em\relax v1.27N\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.27N}{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{超链接}
@@ -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}
@@ -717,7 +728,7 @@
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{hdrset/...} \\
% \changes{v1.25}{2021/05/12}{增加脚注样式设置选项。}
-% \changes{v1.27N}{2021/07/14}{增加脚注内容格式选项 \opt{fntext-form} 和脚注类型选项 \opt{footnotetype}。}
+% \changes{v1.27o}{2021/07/14}{增加脚注内容格式选项 \opt{fntext-form} 和脚注类型选项 \opt{footnotetype}。}
% \end{function}
%
% \begin{optdesc}
@@ -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.27N}{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.27N}{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}
@@ -1334,7 +1345,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/07/22}{1.27N}
+\ProvidesExplClass{easybook}{2021/07/24}{1.27o}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -1565,6 +1576,8 @@
{
pagestyle = empty,
format = \color{ctex@frame}\sffamily\Huge,
+ nameformat = { },
+ titleformat = { },
aftername =
{
\bool_if:NTF \l__eb_title_newline_bool
@@ -1580,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
@@ -1628,7 +1643,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/07/22}{1.27N}
+\ProvidesExplPackage{easybase}{2021/07/24}{1.27o}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1690,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}
{
@@ -3508,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
@@ -3526,7 +3558,7 @@
{
\LoadPackage{hyperref}
\urlstyle{same}
- \eb_allow_urlbreak:
+ \eb_allow_url_break:
\exp_args:NV \hypersetup \l__eb_hyperref_clist
}
@@ -3569,7 +3601,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/22}{1.27N}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/24}{1.27o}
{Customization of tcolorbox for easybook}
\cs_new_protected:Npn \eb_tcb_theorem_set:n #1