summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/easybook
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-12-11 03:00:56 +0000
committerNorbert Preining <norbert@preining.info>2021-12-11 03:00:56 +0000
commit73df0102afe7e9fee9026c69fb805ab5fa138b49 (patch)
tree7d2e12f9b97608e34a1fe147db65fafaf65d886d /macros/latex/contrib/easybook
parente8ddf481fa0d453faba1a05623b2d4cba9b6404e (diff)
CTAN sync 202112110300
Diffstat (limited to 'macros/latex/contrib/easybook')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx83
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin591059 -> 594563 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex68
3 files changed, 84 insertions, 67 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index ce53b48600..9e6d709139 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}{2021/12/08}{1.41N}
+\ProvidesExplClass{easybook}{2021/12/10}{1.41O}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -270,25 +270,23 @@
{ \hspace{1em} }
},
beforeskip = -1.5ex,
- afterskip = 3ex,
- lotskip = 0.8pc,
- lofskip = 0.8pc
+ afterskip = 4ex
},
section =
{
hang = true,
format = \color{ctex@frame}\sffamily\Large,
aftername = \hspace{0.5em},
- beforeskip = 1.5ex plus .2ex minus .1ex,
- afterskip = 1.5ex plus .2ex minus .1ex
+ beforeskip = 2ex plus .2ex minus .1ex,
+ afterskip = 2ex plus .2ex minus .1ex
},
subsection =
{
hang = true,
format = \color{ctex@frame}\sffamily\large,
aftername = \hspace{0.5em},
- beforeskip = 1.3ex plus .2ex minus .1ex,
- afterskip = 1.3ex plus .2ex minus .1ex
+ beforeskip = 1.5ex plus .2ex minus .1ex,
+ afterskip = 1.5ex plus .2ex minus .1ex
},
subsubsection =
{
@@ -311,7 +309,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/12/08}{1.41N}
+\ProvidesExplPackage{easybase}{2021/12/10}{1.41O}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -1896,7 +1894,7 @@
mode .initial:n = math
}
\cs_new_protected:Npn \seteqcomp #1
- { \keys_set:nn { eb/eqcomp} {#1} }
+ { \keys_set:nn { eb/eqcomp } {#1} }
\cs_new:Npn \eb_eqsymb_left_margin_calc:
{
@@ -1956,13 +1954,12 @@
\ignorespaces
}
-\cs_new_protected:Npn \eb_thm_name_set:nnn #1#2#3
+\cs_new_protected:Npn \eb_thm_biname_set:nnn #1#2#3
{
\tl_if_eq:NnTF \l__ctex_scheme_tl { chinese }
- { \tl_const:cn { c__eb_name_#1_tl } {#3} }
- { \tl_const:cn { c__eb_name_#1_tl } {#2} }
+ { \tl_set:cn { c__eb_thm_biname_#1_tl } {#3} }
+ { \tl_set:cn { c__eb_thm_biname_#1_tl } {#2} }
}
-\cs_undefine:N \proof
\cs_set_eq:NN \eb@declaretheorem@save \declaretheorem
\cs_set_eq:NN \eb@declaretheoremsyle@save \declaretheoremstyle
\RenewDocumentCommand{\declaretheorem}{O{}mO{}}
@@ -1978,14 +1975,19 @@
\NewDocumentCommand{\deftheorem}
{mO{\text_titlecase_first:n {#1}}mD(){tc-theorem}O{}}
{
- \eb_thm_name_set:nnn {#1} {#2} {#3}
+ \AtBeginDocument
+ {
+ \cs_undefine:c {#1}
+ \cs_undefine:c { c@#1 }
+ }
+ \eb_thm_biname_set:nnn {#1} {#2} {#3}
\declaretheorem{#1}[
- name = \tl_use:c { c__eb_name_#1_tl },
- style = easy-theorem,#5
+ name = \tl_use:c { c__eb_thm_biname_#1_tl },
+ style = eb-theorem,#5
]
\eb_if_thmframe_with_tcolorbox:TF
{ \tcolorboxenvironment{#1}{#4} } { }
- \labelformat{#1}{\tl_use:c { c__eb_name_#1_tl }~##1}
+ \labelformat{#1}{\tl_use:c { c__eb_thm_biname_#1_tl }~##1}
}
\prop_new:N \l__eb_thmtools_entry_prop
@@ -2048,17 +2050,18 @@
\clist_put_right:Nx
\c__eb_thmtools_entry_clist { notebraces = \l__eb_thm_notebraces_tl }
\exp_last_unbraced:NNV
- \declaretheoremstyle[\c__eb_thmtools_entry_clist]{easy-theorem}
- \deftheorem{exam}{例}
- \deftheorem{conj}{猜想}
- \deftheorem{defi}{定义}
- \deftheorem{prop}{性质}
- \deftheorem{lemm}{引理}
- \deftheorem{theo}{定理}
- \deftheorem{corol}{推论}
- \deftheorem{assum}{假设}
+ \declaretheoremstyle[\c__eb_thmtools_entry_clist]{eb-theorem}
+ \deftheorem{lemma}{引理}
\deftheorem{axiom}{公理}
- \deftheorem{rema}{注}[numbered = no]
+ \deftheorem{example}{例}
+ \deftheorem{problem}{问题}
+ \deftheorem{theorem}{定理}
+ \deftheorem{corollary}{推论}
+ \deftheorem{assumption}{假设}
+ \deftheorem{conjecture}{猜想}
+ \deftheorem{definition}{定义}
+ \deftheorem{proposition}{性质}
+ \deftheorem{remark}{注}[numbered = no]
\deftheorem{proof}{证明}[numbered = no,qed = \qedsymbol]
}
@@ -2430,7 +2433,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/12/08}{1.41N}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/12/10}{1.41O}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \setexercise #1
@@ -2489,7 +2492,7 @@
blank,on~line,center,
sharpish~corners,
fontupper = \Large\sffamily,
- beforeafter~skip = 3.75ex plus .2ex minus .1ex
+ beforeafter~skip = 5ex plus .2ex minus .1ex
}
\deftcbstyle{tc-easybox}
{
@@ -2572,7 +2575,7 @@
\newtcbox[auto~counter]{\eb@tc@exercise@box}[1]{tc-exercise,#1}
\newtcolorbox{eb@tc@outline@box}[2]{title = #1,tc-outline,#2}
-\NewDocumentEnvironment{outline}{O{}D(){\abstractname}o+b}
+\DeclareDocumentEnvironment{outline}{O{}D(){\abstractname}o+b}
{
\begin{eb@tc@outline@box}{#2}{IfValueT = {#3}{#3}}
\begin{eb@outline@list}[#1]
@@ -2580,7 +2583,7 @@
\end{eb@outline@list}
\end{eb@tc@outline@box}
}{}
-\NewDocumentEnvironment{exercise}{st+od()O{}+b}
+\DeclareDocumentEnvironment{exercise}{st-od()O{}+b}
{
\IfValueT{#3}{ \keys_set:nn { eb/exercise } {#3} }
\IfBooleanF{#2}
@@ -2637,9 +2640,19 @@
coltitle = #2,tc-ebparbox,#4
}
\DeclareTotalTCBox{\ebfbox}{O{Lime}vO{}}
- {colback = #1!10!white,colframe = #1!50!black,tc-ebfbox,#3}{#2}
+ {
+ colback = #1!10!white,
+ colframe = #1!50!black,
+ tc-ebfbox,#3
+ }{#2}
\DeclareTotalTCBox{\ebemph}{O{DarkSeaGreen}vO{}}
- {fuzzy~halo = 2pt~with~#1,tc-ebemph,#3}{#2}
+ {
+ fuzzy~halo = 2pt~with~#1,
+ tc-ebemph,#3
+ }{#2}
\DeclareTotalTCBox{\eblink}{O{Aqua}vO{}}
- {colback = #1,colframe = #1,tc-eblink,#3}{#2}
+ {
+ colback = #1,colframe = #1,
+ tc-eblink,#3
+ }{#2}
%</tcolorbox> \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 6807d6f6fe..01f18259c0 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index 2a18f9a519..c0ccb8a86f 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -20,8 +20,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK 使用手册,
- version = v1.41N,
- date = 2021/12/08,
+ version = v1.41O,
+ date = 2021/12/10,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = q1jx@foxmail.com,
@@ -366,7 +366,7 @@
\label{sec:interface options}
\begin{commands}
\command*{ctexset}[\marg{键值列表}]
- \cls*{easybook} 扩展了 C\TeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs*{ctexset},接口选项同样可用它设置, 原有的 \meta{键值列表} 仍然可用。本文档类目前有 9 个模块用于实现常规的排版功能,如下表所示。模块名也是统一接口 \cs*{ctexset} 的路径,不同模块单独接口的命令名加上前缀 \code{eb}:
+ \cls*{easybook} 扩展了 C\TeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs*{ctexset},接口选项同样可用它设置, 原有的 \meta{键值列表} 仍然可用。本文档类目前有 9 个模块用于实现常规的排版功能,如下表所示。模块名也是统一接口 \cs*{ctexset} 的路径,不同模块单独接口的命令名\textbf{加上前缀} \code{eb}:
\insertblr
{
colspec = @{}*{5}{c}@{},
@@ -590,7 +590,7 @@
\subsection{定理样式}
\label{subsec:theorem of style}
-文档类已预置 11 个定理环境,环境名及对应的定理名见小节 \ref{subsec:theorem},它们均使用预置的定理样式 \code{easy-theorem}。下面 \module*{thmset} 模块的选项仅对这个定理样式生效,由 \pkg*{thmtools} 宏包提供支持。如果下面的选项不满足需求,可使用支持完整选项的相关命令新建定理环境。
+文档类已预置 12 个定理环境,环境名及对应的定理名见小节 \ref{subsec:theorem},它们均使用预置的定理样式 \code{eb-theorem}。下面 \module*{thmset} 模块选项的用法名称与 \pkg*{thmtools} 宏包基本一致,且仅对预置定理样式生效。如果下面的选项不满足需求,可使用支持完整选项的相关命令创建定理环境。
\begin{options}
\keybool{thmframe}\Module{thmset}\Default{false}
给定理环境使用彩色盒子。这个特殊选项在本模块中使用 \pkg*{tcolorbox} 宏包来支持,\meta{盒子风格} 默认为 \code{tc-theorem}。\pkg*{thmtools} 具有类似的选项 \option*{thmbox},可在新建定理样式的命令中使用。
@@ -600,8 +600,8 @@
定理题注部分的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
\keyval-{bodyfont}{字体命令}\Default
定理内容部分的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
- \keychoice{within}{chapter,section,env,empty}
- 定理编号跟随的计数器,书籍模式默认跟随章计数器编号。也可以跟随其它定理环境的编号,当计数器增加时定理编号会从零开始,空置时不跟随其它计数器编号。
+ \keychoice{within}{chapter,section,empty,counter}
+ 定理编号跟随的计数器。当计数器值递增时定理编号会从零开始,通常这是一个章节计数器。
\keyval-{headpunct}{代码}\Default
紧随定理标题末尾的标记代码,位于定理第一段内容的间距 \option{postheadspace} 之前,可以是字符或插入换行符 \cs*{newline} 等命令。
\keyval-{headindent}{刚性长度}\Default{0em}
@@ -621,7 +621,7 @@
\subsubsection{新建定理环境}
\begin{commands}
\command{declaretheorem}[\oarg{键值列表1}\marg{定理环境}\oarg{键值列表2}]
- 声明新的定理环境命令,命令 \cs{newtheorem} 与它等效。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,用法与原来的同名命令一致。键值列表中常用的选项如下:
+ 定理环境声明命令,命令 \cs{newtheorem} 与它等效。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,用法与原来的同名命令一致。键值列表中常用的选项如下:
\begin{options}
\keyval*-{name}{定理名}
定理名的默认值是首字母大写的环境名称(英文标题)。
@@ -639,21 +639,22 @@
\tcolorboxenvironment{caixiang}{tc-theorem}
\end{ctexexam}
\command{deftheorem}[\marg{环境名}\oarg{英文标题}\marg{中文标题}\darg{盒子风格}\oarg{键值列表}]
- 定理声明命令 \cs{deftheorem} 更加便捷,同样定义一个新的定理环境,\meta{键值列表} 中支持的选项与命令 \cs{declaretheorem} 相同。但与后者命令有以下几个区别:
+ 定理环境定义命令 \cs{deftheorem} 更便捷,\meta{键值列表} 中支持的选项与命令 \cs{declaretheorem} 完全相同。但它与后者命令有以下几个区别:
\begin{itemize}
- \item 中英文模式下标题不同,英文标题为可选项,默认为首字母大写的 \meta{环境名}。
+ \item 可以重复定义已存在的定理环境而不会报错。
+ \item 中英文模式下定理标题自动切换,\meta{英文标题} 默认为首字母大写的 \meta{环境名}。
\item 自动定义交叉引用的格式,引用标签前缀为相应定理名。
\item 定理盒子选项 \option{thmframe} 仍然生效,\meta{盒子风格} 可以使用 \cs{deftcbstyle} 命令创建。
- \item 新建定理环境默认使用的 \meta{定理样式} 为 \code{easy-theorem},而不是 \pkg*{thmtools} 的默认样式。
+ \item 新建定理环境默认使用的 \meta{定理样式} 为 \code{eb-theorem},而不是 \pkg*{thmtools} 的默认样式。
\end{itemize}
- 下面新建一个与例 \ref{exam:new theorem env} 相同的定理环境猜想,并使用 \cs{addtotcbstyle} 命令调整 \keyis-{thmframe}{true} 时默认的盒子风格。它的第一个参数为 \code{tc-theorem},关于命令的介绍在小节 \ref{subsec:box}。
+ 下面新建一个与例 \ref{exam:new theorem env} 相同的定理环境猜想,并使用 \cs{addtotcbstyle} 命令调整 \option{thmframe} 开启时默认的盒子风格。它的第一个参数为 \code{tc-theorem},关于命令的介绍在小节 \ref{subsec:box}。
\begin{ctexexam}
\deftheorem{caixiang}{猜想}[style = mythm]
\addtotcbstyle{tc-theorem}{colback = GreenYellow}
\end{ctexexam}
\command{declaretheoremstyle}[\oarg{键值列表1}\marg{定理样式}\oarg{键值列表2}]
- 声明新的定理样式命令,键值列表支持 \pkg*{thmtools} 宏包中原命令以及 \cs{declaretheorem} 的所有选项。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,用法与原来的同名命令一致。下面定义一个名为 \code{mythm} 的定理样式用于 \cs{declaretheorem} 的 \option*{style} 选项:
+ 定理样式声明命令,键值列表支持 \pkg*{thmtools} 宏包中原命令以及 \cs{declaretheorem} 的所有选项。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,用法与原来的同名命令一致。下面定义一个名为 \code{mythm} 的定理样式用于 \cs{declaretheorem} 的 \option*{style} 选项:
\begin{ctexexam}[labelref = exam:new theorem sty]
\declaretheoremstyle[bodyfont = \rmfamily,spacepost = 0.5em]{mythm}
\end{ctexexam}
@@ -941,27 +942,30 @@
\subsection{定理}
\label{subsec:theorem}
\begin{environments}\noitemsep
- \environment{theo}\default{}
- \environment{defi}\default{}
- \environment{lemm}\default{}
- \environment{corol}\default{}
- \environment{prop}\default{}
- \environment{exam}\default{}
- \environment{conj}\default{}
- \environment{assum}\default{}
+ \environment{theorem}\default{}
+ \environment{definition}\default{}
+ \environment{lemma}\default{}
+ \environment{corollary}\default{}
+ \environment{proposition}\default{}
+ \environment{example}\default{}
+ \environment{proof}\default{}
+ \environment{assumption}\default{}
\environment{axiom}\default{}
- \environment{rema}\default{}
- \environment{proof}
+ \environment{remark}\default{}
+ \environment{conjecture}\default{}
+ \environment{problem}
这些是预置的定理环境,可使用选项 \option{thmframe} 为它们添加盒子边框,其中注与证明环境不编号,证明末尾会自动添加证明结束符,声明新的定理环境或更改定理盒子样式见小节 \ref{subsec:theorem of style}。环境名与之对应的定理名如下:
\insertblr
{
- colspec = @{}*{11}{c}@{},
- hline{2} = {0.5pt,Blue},
- row{1} = {font = \sffamily},
- row{2} = {cmd = \env}
+ colspec = @{}*{6}{c}@{},
+ hline{3} = {0.5pt,Blue},
+ row{1,3} = {font = \sffamily,,belowsep = 0pt},
+ row{2,4} = {cmd = \env}
}{
- 定理 & 定义 & 引理 & 推论& 性质 & 例 & 猜想 & 假设 & 公理 & 注 & 证明 \\
- theo & defi & lemm & corol & prop & exam & conj & assum & axiom & rema & proof
+ 定理 & 定义 & 引理 & 推论 & 性质 & 例 \\
+ theorem & definition & lemma & corollary & proposition & example \\
+ 证明 & 假设 & 公理 & 注 & 猜想 & 问题 \\
+ proof & assumption & axiom & remark & conjecture & problem
}
\end{environments}
@@ -1010,15 +1014,15 @@
\subsection{习题}
\label{subsec:exercise}
\begin{environments}
- \environment{exercise}[\sarg\parg\oarg{键值列表1}\darg{键值列表2}\oarg{键值列表3}]
- 习题环境的标题使用 \cs*{tcbox} 行内盒子包装样式,内容则使用 \env*{enumerate} 列表环境。它有 5 个可选参数,应当注意用法。当使用星号参数时标题不进行编号,使用 \parg{} 号参数时不显示标题,此时 \meta{键值列表1} 除了 \option{label} 选项失效。
+ \environment{exercise}[\sarg\harg\oarg{键值列表1}\darg{键值列表2}\oarg{键值列表3}]
+ 习题环境的标题使用 \cs*{tcbox} 行内盒子包装样式,内容则使用 \env*{enumerate} 列表环境。它有 5 个可选参数,应当注意用法。当使用星号参数时标题不进行编号,使用 \harg{} 号参数时不显示标题,此时 \meta{键值列表1} 除了 \option{label} 选项失效。
\meta{键值列表2} 包括 \pkg*{tcolorbox} 的盒子样式选项,例如 \option*{boxsep} 和 \option*{fontupper} 等,也可以使用下述 \option{tcolorbox} 选项。在这里可以使用 \cs{addtotcbstyle} 命令设置标题选项 \meta{键值列表2} 的值,第一个参数为 \code{tc-exercise}。
\begin{ctexexam}
\tcphantomifname{\markright{\counteruse{tcbcounter}\quad 习题}}{}
\addtotcbstyle{tc-exercise}{boxsep = 5pt}
\exerprologue{习题前的一段文本}
- \begin{exercise}+[color = LightSkyBlue](after skip = 2pc)[itemsep = 1ex]
+ \begin{exercise}*[color = LightSkyBlue](after skip = 2pc)[itemsep = 1ex]
\item 第一题
\item 第二题
\end{exercise}
@@ -1032,7 +1036,7 @@
\keyval-{color}{标题背景颜色名}\Default{DeepSkyBlue}
习题标题盒子背景颜色,可以使用 \pkg*{xcolor} 自定义颜色或使用色库。
\keyval-{title}{环境标题}
- 习题的标题,可以匹配中英文模式,习题环境使用 \parg{} 参数时无效。也可以使用 \option{exercisename} 选项设置习题环境标题的默认值。
+ 习题的标题,可以匹配中英文模式,习题环境使用 \harg{} 号参数时无效。也可以使用 \option{exercisename} 选项设置习题环境标题的默认值。
\keyval-{number}{习题编号类型}\Default{1.}
标题编号输出选项 \option{number} 为短编号形式,应当包含 \code{A}、\code{a}、\code{I}、\code{i}、或 \code{1} 其中一个符号。
\keyval-{numsep}{编号与标题的间距}\Default{0.5em}