summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/easybook/easybook.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/easybook/easybook.dtx')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx105
1 files changed, 69 insertions, 36 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 09fa1194ae..e031600dbb 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -55,7 +55,7 @@ The latest version of this license is in
%
% \title{\sffamily easybook 书籍文档类}
% \author{瞿毅}
-% \date{2021/04/17\hskip\ccwd\relax v1.24m\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/04/18\hskip\ccwd\relax v1.24n\thanks{\url{https://gitee.com/texl3/easybook}}}
% \maketitle
% \begin{abstract}
% \cls{easybook} 是基于 \cls{ctexbook} 书籍文档类创建以极简为风格的模板,可以看作对 \cls{ctexbook} 的进一步包装。虽然\CTeX 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。\cls{easybook} 考虑了一些细节并载入一些常用宏包实现一般的排版需求,它适用于排版中英文书籍或笔记,甚至可稍加调整成为学位论文模板。
@@ -174,7 +174,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.24m}{2021/04/04}{目录命令的可选参数增加标题键值。}
+% \changes{v1.24n}{2021/04/04}{目录命令的可选参数增加标题键值。}
% \end{function}
%
% \section{接口选项}
@@ -255,17 +255,17 @@ The latest version of this license is in
%
% \subsection{超链接}
% \label{subsec:hyperlinks}
-% \begin{function}[EXP,added = 2021-01-05,updated = 2021-04-11]{hyperlink,linkcolor,linkcol-all,linktoc}
+% \begin{function}[EXP,added = 2021-01-05,updated = 2021-04-18]{hyperlink,linkcolor,linkcol-all,linktoc}
% \begin{syntax}
% hyperlink = <(edge)|various|none>
-% linkcolor = <(fresh)|cutepink|skyblue|crimson>
+% linkcolor = <fresh|cutepink|(navyblue)|crimson>
% linkcol-all = <HTML颜色代码>
% linktoc = <none|section|page|(all)>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{link/...} \\
% \opt{link} 将超链接选项(包括以上选项)交给 \pkg{hyperref} 处理,除了一些关于 pdf 书签的选项可能会失效,其它由键值选项命令 \tn{hypersetup} 支持的多数选项可用。
% \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。}
-% \changes{v1.24m}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
+% \changes{v1.24n}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
% \end{function}
%
% \begin{optdesc}
@@ -342,7 +342,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.24m}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
+% \changes{v1.24n}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
% \end{function}
%
% \begin{optdesc}
@@ -490,7 +490,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.24m}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
+% \changes{v1.24n}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-03-14]{\easyhead,\easyfoot}
@@ -560,8 +560,8 @@ 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.24m}{2021/04/05}{可以设置图、表和代码目录的标签。}
-% \changes{v1.24m}{2021/04/06}{增加目录引导线右边对齐方式。}
+% \changes{v1.24n}{2021/04/05}{可以设置图、表和代码目录的标签。}
+% \changes{v1.24n}{2021/04/06}{增加目录引导线右边对齐方式。}
% \end{function}
%
% \begin{ctexexam}
@@ -594,7 +594,7 @@ 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.24m}{2021/04/08}{重新优化列表环境的配置。}
+% \changes{v1.24n}{2021/04/08}{重新优化列表环境的配置。}
% \end{function}
%
% \begin{ctexexam}
@@ -667,7 +667,7 @@ The latest version of this license is in
%
% \subsection{盒子}
% \label{subsec:box}
-% 使用盒子以及小节 \ref{subsec:exercise} 中的 \env{exercise} 环境需要在导言区\textbf{手动载入} \pkg{tcolorbox} 宏包,它们的配置的选项同样由 \pkg{tcolorbox} 提供支持,具体选项可见宏包文档的 Option Keys 一节,可以进行边距、字体及背景颜色等各种个性化设置,一些配置会覆盖之前预置的设置。
+% 使用盒子以及小节 \ref{subsec:exercise} 中的 \env{exercise} 环境需要在导言区\textbf{手动载入} \pkg{tcolorbox} 宏包,它们的配置选项同样由 \pkg{tcolorbox} 提供支持,具体选项可见宏包文档的 Option Keys 一节,可以进行边距、字体及背景颜色等各种个性化设置,一些配置会覆盖之前预置的设置。
%
% \subsubsection{摘要盒子}
% \begin{function}[added = 2021-01-05,updated = 2021-03-19]{outline}
@@ -687,13 +687,13 @@ The latest version of this license is in
% \end{ctexexam}
%
% \subsubsection{段落盒子}
-% \begin{function}[added = 2021-01-05,updated = 2021-03-19]{easybox}
+% \begin{function}[added = 2021-01-05,updated = 2021-04-18]{easybox}
% \begin{syntax}
-% \tn{begin}\marg{easybox}\oarg{颜色名|(MintCream)}\parg{段落标题}\oarg{配置选项}
+% \tn{begin}\marg{easybox}*\oarg{颜色名|(DarkCyan)}\parg{段落标题}\oarg{配置选项}
% \ <盒子内容>
% \tn{end}\marg{easybox}
% \end{syntax}
-% 环境 \opt{easybox} 创建一个段落盒子,可以添加可选参数的标题,否则无标题框。当使用带有星号的环境时 \oarg{颜色名} 选项生效,可以自定义背景颜色,否则无背景颜色。
+% 环境 \env{easybox} 创建一个带有三个可选参数的扁平盒子。使用带有星号的环境时给盒子添加边框,\oarg{颜色名} 选项设置背景颜色,\parg{段落标题} 选项可以设置标题,默认无标题。
% \end{function}
%
% \begin{ctexexam}
@@ -704,6 +704,15 @@ The latest version of this license is in
% \end{easybox}
% \end{ctexexam}
%
+% \begin{function}[added = 2021-04-18]{ebparbox}
+% \begin{syntax}
+% \tn{begin}\marg{ebparbox}*\oarg{颜色名|(Purple)}\parg{段落标题}\oarg{配置选项}
+% \ <盒子内容>
+% \tn{end}\marg{ebparbox}
+% \end{syntax}
+% 环境 \env{ebparbox} 与 \env{easybox} 类似,同样带有三个可选参数。当使用带有星号的环境时盒子左边带有一条竖线,\oarg{颜色名} 选项可以自定义竖线颜色,使用不带有星号的环境则盒子带有竖线颜色的浅色背景。\parg{段落标题} 选项可以设置标题,默认无标题。
+% \end{function}
+%
% \subsubsection{行内盒子}
% \begin{function}[added = 2021-03-13]{\concise,\fuzzy}
% \begin{syntax}
@@ -760,7 +769,7 @@ The latest version of this license is in
% \tn{labelformat}\marg{计数器}\marg{标签引用格式}
% \end{syntax}
% 使用 \tn{ref} 命令进行引用将会自动检测环境并添加相应的前缀,\tn{labelformat} 可以设置标签引用格式,第二个参数中\#1代表 \tn{the}\meta{计数器},可以设置引用序号的前缀和后缀。
-% \changes{v1.24m}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。}
+% \changes{v1.24n}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。}
% \end{function}
%
% \subsubsection{索引}
@@ -870,7 +879,7 @@ The latest version of this license is in
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplClass{easybook}{2021/04/17}{1.24m}{beta}
+\ProvidesExplClass{easybook}{2021/04/18}{1.24n}{beta}
\cs_generate_variant:Nn \__ctex_define:nn {nx}
\cs_generate_variant:Nn \int_to_arabic:n {v}
@@ -1342,8 +1351,8 @@ The latest version of this license is in
\bool_if:NT \l__eb_draft_bool
{
\bool_if:NTF \l__eb_page_twoside_bool
- {\easyfoot[C]{\color{gray!60}\sffamily\today}}
- {\easyhead[C]{\color{gray!60}\sffamily\today}}
+ {\easyfoot[C]{\color{SlateGray}\sffamily\today}}
+ {\easyhead[C]{\color{SlateGray}\sffamily\today}}
\geometry{showframe}
}
}
@@ -1992,7 +2001,7 @@ The latest version of this license is in
enhanced~jigsaw,pad~at~break* = 3pt,
opacityback = 0,
colframe = ctex@emph,
- left = .2pc,right = .2pc,top = .5pc,bottom = .5pc,middle= .5pc,
+ left = 6pt,right = 6pt,top = 8pt,bottom = 8pt,middle= 8pt,
arc = 0pt
},
tc-outline/.style =
@@ -2004,21 +2013,20 @@ The latest version of this license is in
fonttitle = \large\sffamily,fontupper = \itshape,
boxed~title~style = {size = normal,opacityframe = 0,boxrule = 0pt},
attach~boxed~title~to~top~center = {yshift = -\tcboxedtitleheight/2},
- arc = 3pt,
+ arc = 3pt,boxsep = 5pt,
after~skip = 3ex,
- left = 1.5pc,right = 1.5pc,top = 1pc,bottom = 0.5pc,
- boxsep = 5pt
+ left = 1.5pc,right = 1.5pc,top = 1pc,bottom = 0.5pc
},
tc-exercise/.style =
{
enhanced,on~line,
- arc = 5pt,
fontupper = \sffamily\Large,
- boxrule = 1pt,boxsep = 0pt,
+ boxrule = 1pt,arc = 5pt,
left = 6pt,right = 6pt,top = 3.5pt,bottom = 3.5pt,
before~skip = 4ex,after~skip = 2.25ex
},
breakable,
+ boxsep = 0pt,
boxrule = \l__eb_rule_width_dim
}
\NewDocumentEnvironment{outline}{D(){\abstractname}o+b}
@@ -2065,20 +2073,44 @@ The latest version of this license is in
#6
\end{enumerate}
}{}
- \DeclareTColorBox{easybox}{sO{MintCream}d()O{}}
+ \DeclareTColorBox{easybox}{sO{DarkCyan}d()O{}}
{
enhanced~jigsaw,pad~at~break* = 3pt,
- IfBooleanTF = {#1}{colback = #2}{opacityback = 0,colframe = ctex@emph},
+ IfBooleanTF = {#1}
+ {toptitle = 8pt,top = 8pt}
+ {frame~hidden,boxrule = 0pt,toptitle = 8pt,top = 0pt},
IfValueT = {#3}{title = #3},
- coltitle = black,colbacktitle = white,
+ colback = #2!8!white,colbacktitle = #2!8!white,
+ coltitle = black,colframe = black,
fonttitle = \sffamily,
- left = .2pc,right = .2pc,top = .5pc,bottom = .5pc,middle= .5pc,
- arc = 0pt,
- toptitle = 2pt,bottomtitle = 2pt,
- beforeafter~skip=2ex,
+ left = 6pt,right = 6pt,bottom = 8pt,middle= 8pt,
+ bottomtitle = 8pt,arc = 0pt,
+ beforeafter~skip = 2ex,
halign~upper = left,halign~lower = left,
center~title,#4
}
+ \DeclareTColorBox{ebparbox}{sO{Purple}d()O{}}
+ {
+ frame~hidden,
+ enhanced~jigsaw,pad~at~break* = 3pt,
+ boxrule = 0pt,
+ borderline~west = {3pt}{0pt}{#2},
+ IfBooleanTF = {#1}
+ {
+ colback = white,
+ IfValueT = {#3}{title = #3},
+ top = 0pt,bottom = 0pt,toptitle = 0pt
+ }{
+ colback = #2!8!white,colbacktitle = #2!8!white,
+ IfValueTF = {#3}{title = #3,top = 0pt}{top = 8pt},
+ bottom = 8pt,toptitle = 8pt
+ },
+ left = 8pt,right = 8pt,middle= 8pt,
+ bottomtitle = 8pt,arc = 0pt,
+ beforeafter~skip = 1.5ex,
+ colframe = #2,coltitle = #2,
+ fonttitle = \sffamily,#4
+ }
\DeclareTotalTCBox{\fuzzy}{O{DarkSeaGreen}vO{}}
{
nobeforeafter,tcbox~raise~base,
@@ -2249,6 +2281,7 @@ The latest version of this license is in
}
\__eb_patch_cmd:Nnn \@makefnmark
{\normalfont}{\l__eb_font_footnote_tl}
+\cs_gset:Npn \thempfootnote{\int_to_alph:n {\c@mpfootnote}}
\lstdefinestyle{easy-lst-sty}
{
@@ -2285,7 +2318,7 @@ The latest version of this license is in
framesep = 3pt,
frame = single,
rulecolor = \color{ctex@frame},
- commentstyle = \color{gray},
+ commentstyle = \color{SlateGray},
emphstyle = \color{ctex@emph},
emph = {caption,multirow,subcaption,tabularx},
morekeywords =
@@ -2376,12 +2409,12 @@ The latest version of this license is in
{
{fresh, 62d71f,0000B2,005752},
{cutepink, ff69b4,9d5196,57b5e5},
- {skyblue, 0000ff,004986,eb6877},
+ {navyblue, 000080,004986,eb6877},
{crimson, dc143c,00c1c9,afcd20}
}
\__eb_linkcolor_set:n
- linkcolor .default:n = fresh,
- linkcolor .initial:n = fresh,
+ linkcolor .default:n = navyblue,
+ linkcolor .initial:n = navyblue,
linkcol-all .code:n = \__eb_define_linkcolor:n {\exp_not:n {#1}},
linktoc .choice:,
@@ -2406,7 +2439,7 @@ The latest version of this license is in
\clist_map_function:nN
{
{none, 000000,000000,000000},
- {seaside, 4682B4,004986,2E8B57},
+ {seaside, 4169e1,708090,9932cc},
{energy, f39800,00a0e9,893895},
{cyberpunk, 601986,eb6877,a4005b}
}