summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/easybook
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-01-13 03:01:10 +0000
committerNorbert Preining <norbert@preining.info>2022-01-13 03:01:10 +0000
commitee3f9ca89b21a2174f7e427d9d48247b1912e130 (patch)
treef5d80e1343bcf96a0e16a7d4412526b8182b7525 /macros/latex/contrib/easybook
parent1f69e7b43c51a713b615b5ce4ed8adbcdaf9080e (diff)
CTAN sync 202201130301
Diffstat (limited to 'macros/latex/contrib/easybook')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx79
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin593760 -> 595053 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex67
3 files changed, 88 insertions, 58 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 7f0054c846..a162847fa6 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}{2022/01/08}{1.45}
+\ProvidesExplClass{easybook}{2022/01/12}{1.46}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -306,7 +306,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/01/08}{1.45}
+\ProvidesExplPackage{easybase}{2022/01/12}{1.46}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -804,6 +804,7 @@
}
{ \exp_not:N \c@footnote }
}
+ \cs_set_eq:NN \thedownfootnote \thefootnote
}
\cs_new_protected:Npn \eb_fnmate_short_label_set:Nn #1#2
{
@@ -819,6 +820,7 @@
}
}
\cs_set_eq:NN #1 \l__eb_fnmate_short_tokens_tl
+ \cs_set_eq:NN \thedownfootnote \thefootnote
}
\cs_new_protected:Npn \eb_footnote_value_handle:n #1
{
@@ -895,9 +897,9 @@
fnmark-num .choices:nn =
{ plain,pifont,pifont*,pifont-sans,pifont-sans* }
- { \eb_fnmate_normal_label_set:Nn \the@up@footnote {#1} },
+ { \eb_fnmate_normal_label_set:Nn \theupfootnote {#1} },
fnmark-num .value_required:n = true,
- fnmark-num/unknown .code:n = \eb_fnmate_short_label_set:Nn \the@up@footnote {#1},
+ fnmark-num/unknown .code:n = \eb_fnmate_short_label_set:Nn \theupfootnote {#1},
fntext-num .choices:nn =
{ plain,pifont,pifont*,pifont-sans,pifont-sans* }
{ \eb_fnmate_normal_label_set:Nn \thefootnote {#1} },
@@ -1048,9 +1050,9 @@
{ \@xfootnote }
{
\exp_args:NV \stepcounter \@mpfn
- \eb_current_label:n { @up@footnote }
+ \eb_current_label:n { upfootnote }
\protected@xdef\@thefnmark{\thempfn}
- \protected@xdef\@the@up@fnmark{\the@up@footnote}
+ \protected@xdef\@the@up@fnmark{\theupfootnote}
\@footnotemark
\@footnotetext
}
@@ -1061,7 +1063,7 @@
{ \@xfootnotemark }
{
\stepcounter{footnote}
- \protected@xdef\@the@up@fnmark{\the@up@footnote}
+ \protected@xdef\@the@up@fnmark{\theupfootnote}
\@footnotemark
}
}
@@ -1077,7 +1079,7 @@
{
\group_begin:
\setcounter{footnote}{#1}
- \unrestored@protected@xdef\@the@up@fnmark{\the@up@footnote}
+ \unrestored@protected@xdef\@the@up@fnmark{\theupfootnote}
\group_end:
\H@@footnotemark
}
@@ -1096,6 +1098,9 @@
]
}
}
+\bool_set_true:N \l__eb_normal_footnote_bool
+\bool_new:N \l__eb_fnmate_format_match_bool
+\bool_new:N \l__eb_fncust_format_match_bool
\cs_new_protected:Npn \eb_fnmate_format_initial:
{
\bool_if:NTF \l__eb_normal_footnote_bool
@@ -1110,34 +1115,29 @@
\bool_if:NF \l__eb_fnmate_format_match_bool { \spbset{spcmd = { }} }
\tl_use:N \l__eb_subfont_footnote_tl
}
-\bool_set_true:N \l__eb_normal_footnote_bool
-\bool_new:N \l__eb_fnmate_format_match_bool
-\bool_new:N \l__eb_fncust_format_match_bool
-\cs_set:Npn \@makefnmark
+\cs_new_protected:Npn \defupfntmark #1
+ { \cs_set:Npn \@makefnmark { \hbox:n {#1} } }
+\cs_new_protected:Npn \defdownfntmark #1
+ { \cs_set:Npn \eb@makefnmark { \hbox:n {#1} } }
+\defupfntmark
{
- \hbox:n
- {
- \eb_fnmate_format_initial:
- \tl_if_eq:NnTF \@mpfn { footnote }
- { \eb@fnmate@super{\@the@up@fnmark} }
- { \eb@fnmate@super{\@thefnmark} }
- }
+ \eb_fnmate_format_initial:
+ \tl_if_eq:NnTF \@mpfn { footnote }
+ { \eb@fnmate@super{\@the@up@fnmark} }
+ { \eb@fnmate@super{\@thefnmark} }
}
-\cs_new:Npn \eb@makefnmark
+\defdownfntmark
{
- \hbox:n
+ \eb_fnmate_format_initial:
+ \tl_if_eq:NnT \l__eb_fntext_position_tl { super }
+ { \eb@fnmate@super* }
{
- \eb_fnmate_format_initial:
- \tl_if_eq:NnT \l__eb_fntext_position_tl { super }
- { \eb@fnmate@super* }
- {
- \tl_use:N \l__eb_fntext_before_tl
- \bgroup
- \l__eb_fnmate_format_tl{\@thefnmark}
- \egroup
- }
- \tl_use:N \l__eb_fntext_after_tl
+ \tl_use:N \l__eb_fntext_before_tl
+ \bgroup
+ \l__eb_fnmate_format_tl{\@thefnmark}
+ \egroup
}
+ \tl_use:N \l__eb_fntext_after_tl
}
\tl_clear:N \@thefnmark
@@ -1437,7 +1437,10 @@
\def\CTEX@thechapter{\CTEX@bichapter@number}
\def\CTEX@postchapter{\CTEX@postbichapter}
\eb@before@addbitoc@hook
- \addcontentsline{tec}{#1}{\use:c { CTEX@#1@tocline }{#1}{#2}}
+ \tl_if_eq:NnTF \g__eb_bilist_permute_value_tl { mix }
+ { \addcontentsline{toc}{#1} }
+ { \addcontentsline{tec}{#1} }
+ { \use:c { CTEX@#1@tocline }{#1}{#2} }
\group_end:
}
\eb_seq_map_inline:nn
@@ -1515,7 +1518,8 @@
multoc .default:n = 2,
multoc .initial:n = 1,
columns .meta:n = { multoc = #1 },
- title .code:n = \eb_assign_toc_title:n {#1}
+ title .code:n = \eb_assign_toc_title:n {#1},
+ bilist .tl_gset:N = \g__eb_bilist_permute_value_tl
}
\bool_if:NTF \l__eb_class_mode_book_bool
{ \keys_define:nn { } { eb/listoc .inherit:n = ctex/chapter } }
@@ -1842,8 +1846,8 @@
\SetEnumitemValue{font}{sf}{\color{ctex@emph}\normalfont\sffamily}
\SetEnumitemValue{ref}{enumii}{\arabic{enumi}.\alph*}
\SetEnumitemValue{ref}{enumiii}{\arabic{enumi}.\alph{enumii}.\roman*}
-\setlist{nosep,align = left,mode = unboxed}
-\setlist*{leftmargin = *,labelsep = 0.5em,listparindent = 2em}
+\setlist{nosep,labelsep = 0.5em,listparindent = 2em}
+\setlist[1]{leftmargin = *,align = left,mode = unboxed}
\setlist[itemize,1]{label = bullet}
\setlist[itemize,2]{label = endash}
\setlist[itemize,3]{label = asterisk}
@@ -2064,6 +2068,7 @@
number-mode = match,
range-phrase = \ensuremath{\sim},
range-units = single,
+ print-unity-mantissa = false,
table-alignment-mode = none,
group-digits = none
}
@@ -2389,7 +2394,6 @@
lstlistlistingname = 代码索引,
lstlistingname = 代码
}
- \labelformat{equation}{式(#1)}
\labelformat{section}{节 #1}
\labelformat{subsection}{小节 #1}
}
@@ -2400,13 +2404,12 @@
lstlistlistingname = List~of~Codes,
lstlistingname = Code
}
- \labelformat{equation}{Equation~(#1)}
\labelformat{section}{Section~#1}
\labelformat{subsection}{Subsection~#1}
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/01/08}{1.45}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/01/12}{1.46}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 97c5f3df65..dcc34fda60 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 f54b553500..f611890603 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -8,11 +8,11 @@
}
\definecolorscheme{blue}
{
- cs => purple,
- option => black!10!teal,
+ cs => Plum,
+ option => PineGreen,
cnltx => Blue,
link => OrangeRed,
- module => violet,
+ module => Brown,
meta => black
}
\setcnltx
@@ -20,8 +20,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK 使用手册,
- version = v1.45,
- date = 2022/01/08,
+ version = v1.46,
+ date = 2022/01/12,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = q1jx@foxmail.com,
@@ -44,8 +44,10 @@
\addtokomafont{subsubsection}{\normalfont\sffamily}
\DeclareTOCStyleEntry[entryformat = \sffamily]{default}{section}
\geometry{margin = 1in,marginparwidth = 0.65in}
-\setlist{nosep,labelindent = \parindent,leftmargin = *,labelsep = 0.5em}
-\setlist[itemize,1]{label = \small\color{Blue}\textbullet}
+\SetEnumitemValue{label}{smallbullet}{\small\color{Blue}\textbullet}
+\setlist{nosep,topsep = \smallskipamount,labelsep = 0.5em}
+\setlist[1]{labelindent = \parindent}
+\setlist[itemize,1]{label = smallbullet,leftmargin = *}
\setcounter{tocdepth}{2}
\SetTblrInner{hline{1,Z} = {0.8pt,Blue}}
@@ -74,7 +76,7 @@
\newcommand{#2}[1]
{\code{\textcolor{argument}{#3\textnormal{#1{##1}}#4}}}
}
-\newarg[\color{violet}\code]\Carg{\{}{\}}
+\newarg[\color{Plum}\code]\Carg{\{}{\}}
\newsplitarg{\splitoarg}{[}{]}
\newsplitarg{\splitdarg}{(}{)}
\newsplitarg{\splitmarg}{\{}{\}}
@@ -100,8 +102,8 @@
\setlength{\itemindent}{-1em}
\setlength{\labelsep}{0em}
\setlength{\listparindent}{2em}
- \setlength{\topsep}{0.75ex plus .1ex}
- \setlength{\itemsep}{0.75ex plus .1ex}
+ \setlength{\topsep}{\smallskipamount}
+ \setlength{\itemsep}{\smallskipamount}
\setlength{\partopsep}{0ex}
\setlength{\parsep}{0ex}
}
@@ -323,7 +325,9 @@
\keyval-{multoc}{整数}\Default{2}
与 \module*{style} 模块的 \option{multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同类型目录的排版栏数。\meta{整数} 为目录栏数,不指定栏数值则默认为双栏。
\kvsplit{title}{中文目录标题,英文目录标题}\newline
- 用于更改目录的标题,标题之间用一个英文逗号分开,也可以只有一部分,表示中文目录的标题。当设置了英文目录标题时,英文目录标题将会自动加入文档主目录 \cs*{tableofcontents}\parg{} 命令。
+ 用于更改目录的标题。标题之间用一个英文逗号分开,也可以只有一部分,表示中文目录的标题。当设置了英文目录标题时,英文目录标题将会自动加入文档主目录 \cs*{tableofcontents}\parg{} 命令。
+ \keychoice{bilist}{mix,new}\Default{new}
+ 确定文档主目录中双语标题列表的输出排列方式。选项 \code{mix} 使每个英文标题条目在中文目录中跟随对应的中文标题输出,\code{new} 则新建一个英文目录输出英文标题。
\keyval-{format}{目录标题格式}
在 \cls*{book} 模式且 \option{chapter} 选项开启或者 \cls*{article} 模式的情况下,\option{format} 用于设置目录标题的格式。
\keyval-{aftertitle}{目录标题格式}\Default
@@ -654,20 +658,24 @@
\tcolorboxenvironment{caixiang}{tc-theorem}
\end{ctexexam}
\command{deftheorem}[\marg{环境名}\oarg{英文标题}\marg{中文标题}\darg{盒子风格}\oarg{键值列表}]
- 定理环境定义命令 \cs{deftheorem} 更加便捷,\meta{键值列表} 中支持的选项与命令 \cs{declaretheorem} 完全相同。但它与后者命令有以下几个区别:
- \begin{itemize}
+ 定理环境定义命令 \cs{deftheorem} 更加便捷,\meta{键值列表} 中支持的选项与命令 \cs{declaretheorem} 完全相同。但它与 \cs{declaretheorem} 命令有以下几点区别:
+\end{commands}
+
+\begin{itemize}
\item 可以重复定义已存在的定理环境而不会报错。
- \item 中英文模式下定理标题自动切换。针对中文定理标题的特点将 \meta{中文标题} 设计为必选参数,\meta{英文标题} 则默认为首字母大写的 \meta{环境名}。
\item 自动定义交叉引用的格式,标签引用前缀为相应定理名。
- \item 定理盒子选项 \option{tcbwrap} 仍然生效,\meta{盒子风格} 可以使用 \cs{deftcbstyle} 命令创建。
\item 新建定理环境默认使用的 \meta{定理样式} 为 \code{fancy},而不是 \pkg*{thmtools} 的默认样式。
- \end{itemize}
+ \item 定理盒子选项 \option{tcbwrap} 仍然生效,\meta{盒子风格} 可以使用 \cs{deftcbstyle} 命令创建。
+ \item 定理标题根据语言自动切换,根据中文定理标题的特点将 \meta{中文标题} 设计为必选参数。
+\end{itemize}
- 下面新建一个与\ref{exam:new theorem env} 相同的定理环境猜想,并使用 \cs{addtotcbstyle} 命令调整 \option{tcbwrap} 开启时默认的盒子风格。它的第一个参数为 \code{tc-theorem},关于命令的介绍在\ref{subsec:box}。
- \begin{ctexexam}
+下面新建一个与\ref{exam:new theorem env} 相同的定理环境猜想,并使用 \cs{addtotcbstyle} 命令调整 \option{tcbwrap} 开启时默认的盒子风格。它的第一个参数为 \code{tc-theorem},关于命令的介绍在\ref{subsec:box}。
+\begin{ctexexam}
\deftheorem{caixiang}{猜想}[style = mythm]
\addtotcbstyle{tc-theorem}{colback = GreenYellow}
- \end{ctexexam}
+\end{ctexexam}
+
+\begin{commands}
\command{declaretheoremstyle}[\oarg{键值列表1}\marg{定理样式}\oarg{键值列表2}]
定理样式声明命令,键值列表支持 \pkg*{thmtools} 宏包中原命令以及 \cs{declaretheorem} 的所有选项。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,用法与原来的同名命令一致。下面定义一个名为 \code{mythm} 的定理样式用于 \cs{declaretheorem} 的 \option*{style} 选项:
\begin{ctexexam}[labelref = exam:new theorem sty]
@@ -814,6 +822,20 @@
fnmate-form = \tiny\Circled
}
\end{ctexexam}
+ \begin{commands}
+ \command{defupfntmark}[\marg{脚注正文标记格式}]
+ 定义脚注正文标记的格式,与正文标记编号命令 \cs{theupfootnote} 配合使用。
+ \command{defdownfntmark}[\marg{脚注内容标记格式}]
+ 定义脚注内容标记的格式,与内容标记编号命令 \cs{thedownfootnote} 配合使用。
+ \command{theupfootnote}
+ 保存正文标记编号类型选项 \option{fnmark-num} 指定的正文标记。
+ \command{thedownfootnote}
+ 保存内容标记编号类型选项 \option{fnmtext-num} 指定的内容标记。
+ \end{commands}
+ \begin{ctexexam}
+ \defupfntmark{\super[vmove = 2pt]{\theupfootnote}}
+ \defdownfntmark{\textcolor{blue}{\thedownfootnote}}
+ \end{ctexexam}
\keychoice{fncust-form}{format code,match}\Default
单独设定自定义脚注标记的格式,选项 \code{match} 可以匹配 \option*{spcmd} 全局的值。自定义脚注的命令与用法可以见下方的介绍。
\begin{commands}\noitemsep
@@ -990,7 +1012,7 @@
{
colspec = @{}*{6}{c}@{},
hline{3} = {0.5pt,Blue},
- row{1,3} = {font = \sffamily,,belowsep = 0pt},
+ row{1,3} = {font = \sffamily,belowsep = 0pt},
row{2,4} = {cmd = \env}
}{
定理 & 定义 & 引理 & 推论 & 性质 & 例 \\
@@ -1247,6 +1269,11 @@
\appendix
\begin{changelog}[title = 更新日志]
\shortversion{v = 1.45,date = 2022/01/08,changes = 经过前期各模块的功能调整和错误修复,稳定版本正式发布。}
+ \begin{version}[v = 1.46,date = 2022/01/12]
+ \added
+ \item 增加定义脚注正文和内容标记格式的命令 \cs{defupfntmark} 和 \cs{defdownfntmark}。
+ \item 新增文档主目录中双语标题列表的输出排列方式选项 \option{bilist}。
+ \end{version}
\end{changelog}
\nocite{*}