summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/easybook
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-03-11 03:00:57 +0000
committerNorbert Preining <norbert@preining.info>2022-03-11 03:00:57 +0000
commitdc086771e418d7c66a541d2831b468375c5f7090 (patch)
tree182467c4304d5956a3caa8a691ce27b14faeacaf /macros/latex/contrib/easybook
parent6367aa11ef0b99d86693b685ab67096514792a0f (diff)
CTAN sync 202203110300
Diffstat (limited to 'macros/latex/contrib/easybook')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx169
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin592701 -> 592859 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex26
3 files changed, 104 insertions, 91 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 660f3e6375..cb9c5ee12e 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/03/08}{1.643}
+\ProvidesExplClass{easybook}{2022/03/10}{1.643}
{Easily typesetting Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -303,7 +303,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/03/08}{1.643}
+\ProvidesExplPackage{easybase}{2022/03/10}{1.643}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -433,9 +433,10 @@
}
\PassOptionsToPackage{list = off}{bicaption}
-\PassOptionsToPackage{many}{tcolorbox}
+\PassOptionsToPackage{nonewpage}{imakeidx}
\PassOptionsToPackage{upint}{newtxmath}
\PassOptionsToPackage{svgnames}{xcolor}
+\PassOptionsToPackage{many}{tcolorbox}
\ProcessKeysOptions{easybase}
\PassOptionsToPackage{\g__eb_ctex_options_clist}{ctex}
\@ifclassloaded{ctexbook}{}
@@ -548,10 +549,10 @@
{
\color{ctex@emph}
\eb@tag@brackets@left
- \bgroup
- \ignorespaces{#1}\unskip\@@italiccorr
- \eb@tag@brackets@right
- \egroup
+ {
+ \ignorespaces{#1}\unskip\@@italiccorr
+ \eb@tag@brackets@right
+ }
}
}
\ctex_define:nn { style }
@@ -837,14 +838,14 @@
{ \bool_set_true:N \l__eb_fnpara_bottom_bool }
{ flush }
{
- \tl_set:Nn \l__eb_footnote_value_tl { default }
+ \tl_set:Nn \l__eb_footnote_value_tl { plain }
\clist_push:Nn \l__eb_footnote_value_clist {#1}
}
}
{
\bool_lazy_or:nnT
{ \str_if_eq_p:nn {#1} { hang } }
- { \str_if_eq_p:nn {#1} { default } }
+ { \str_if_eq_p:nn {#1} { plain } }
{ \tl_set:Nn \l__eb_footnote_value_tl {#1} }
}
}
@@ -873,12 +874,12 @@
\clist_new:N \l__eb_footnote_value_clist
\ctex_define:nn { hdrset }
{
- fnindent .dim_set:N = \footindent,
- fnindent .initial:n = 0.8em,
- fnparskip .skip_set:N = \footparskip,
+ fnfirstindent .dim_set:N = \fnfirstindent,
+ fnfirstindent .initial:n = 0.8em,
+ fnparskip .skip_set:N = \fnparskip,
fnparskip .initial:n = 0ex plus .1ex,
- fnparindent .tl_set:N = \footparindent,
- fnparindent .initial:n = 2em,
+ fnafterindent .tl_set:N = \fnafterindent,
+ fnafterindent .initial:n = 2em,
fnpara-form .tl_set:N = \l__eb_fnpara_format_tl,
fntext-pos .tl_set:N = \l__eb_fntext_position_tl,
fntext-pos .initial:n = super,
@@ -888,7 +889,7 @@
fncust-form .code:n = \eb_fnboth_format_set:nn {#1} { cust },
fnboth-form .meta:n = { fnmate-form = #1,fncust-form = #1 },
footnotetype .multichoices:nn =
- { default,hang,bottom,para,flush }
+ { plain,hang,bottom,para,flush }
{ \eb_footnote_value_handle:n {#1} },
footnotetype .value_required:n = true,
footnotetype .initial:n = hang,
@@ -931,51 +932,61 @@
\eb_fnpara_if_pos_bottom:
}
\cs_new_protected:Npn \setspread #1 { \linespread{#1}\selectfont }
+\cs_new:Npn \eb@footmisc@ifvoid #1#2#3 { \ifvoid #1#2\else #3\fi }
\cs_new_protected:Npn \eb_fnpara_if_pos_bottom:
{
\bool_if:NT \l__eb_fnpara_bottom_bool
{
- \cs_set:Npn \@makecol
+ \@ifpackageloaded{footmisc}
+ {\msg_warning:nn { easybase } { bottom-not-compatible }}
{
- \setbox\@outputbox\box\@cclv
- \xdef\@freelist{\@freelist\@midlist}
- \global\let\@midlist\@empty
- \@combinefloats
- \eb@footmisc@ifvoid\footins{}
- {
- \setbox\@outputbox\vbox
- \bgroup
- \boxmaxdepth\@maxdepth
- \unvbox\@outputbox
- \vfill\relax
- \vskip\skip\footins
- \color@begingroup
- \normalcolor\footnoterule
- \unvbox\footins
- \color@endgroup
- \egroup
- }
- \eb@footmisc@ifvoid\@kludgeins
- {\@makespecialcolbox}
+ \cs_set:Npn \@makecol
{
- \setbox\@outputbox\vbox to\@colht
+ \setbox\@outputbox\box\@cclv
+ \xdef\@freelist{\@freelist\@midlist}
+ \global\let\@midlist\@empty
+ \@combinefloats
+ \eb@footmisc@ifvoid\footins{}
{
- \@texttop\dimen@\dp\@outputbox
+ \setbox\@outputbox\vbox
+ \bgroup
+ \boxmaxdepth\@maxdepth
\unvbox\@outputbox
- \vskip -\dimen@\@textbottom
+ \vfill\relax
+ \vskip\skip\footins
+ \color@begingroup
+ \normalcolor\footnoterule
+ \unvbox\footins
+ \color@endgroup
+ \egroup
}
+ \eb@footmisc@ifvoid\@kludgeins
+ {\@makespecialcolbox}
+ {
+ \setbox\@outputbox\vbox to\@colht
+ {
+ \@texttop\dimen@\dp\@outputbox
+ \unvbox\@outputbox
+ \vskip -\dimen@\@textbottom
+ }
+ }
+ \global\maxdepth\@maxdepth
}
- \global\maxdepth\@maxdepth
}
}
}
+\msg_new:nnn { easybase } { bottom-not-compatible }
+ {
+ Not~compatible~with~the~'footmisc'~package, \\
+ Please~use~the~'bottom'~option~of~'footmisc'~package.
+ }
\cs_new_protected:Npn \eb_footnote_direct_hang:
{
\hbox_set:Nn \l_tmpa_box
{
- \dim_compare:nNnTF { \footindent } > { 0pt }
- { \hbox_to_wd:nn { \footindent } { \eb@makefnmark\hss } }
+ \dim_compare:nNnTF { \fnfirstindent } > { 0pt }
+ { \hbox_to_wd:nn { \fnfirstindent } { \eb@makefnmark\hss } }
{ \eb@makefnmark }
}
\dim_set:Nn \leftmargin { \box_wd:N \l_tmpa_box }
@@ -987,23 +998,23 @@
\mode_leave_vertical:
\hbox_overlap_left:n { \box_use:N \l_tmpa_box }
}
-\cs_new_protected:Npn \eb_footnote_direct_default:
+\cs_new_protected:Npn \eb_footnote_direct_plain:
{
\noindent
\clist_if_in:NnT \l__eb_footnote_value_clist { flush }
- { \dim_zero:N \footindent }
- \int_case:nn { \dim_sign:V \footindent }
+ { \dim_zero:N \fnfirstindent }
+ \int_case:nn { \dim_sign:V \fnfirstindent }
{
{ 1 } { \use_i:nnn }
{ 0 } { \use_ii:nnn }
{ -1 } { \use_iii:nnn }
}
- { \hbox_to_wd:nn { \footindent } { \hss\eb@makefnmark } }
+ { \hbox_to_wd:nn { \fnfirstindent } { \hss\eb@makefnmark } }
{ \hbox_overlap_left:n { \eb@makefnmark } }
{
\hbox_overlap_left:n
{
- \hbox_to_wd:nn { -\footindent }
+ \hbox_to_wd:nn { -\fnfirstindent }
{ \eb@makefnmark\hss }
}
}
@@ -1014,21 +1025,32 @@
\str_case:Vn \l__eb_footnote_value_tl
{
{ hang } { \use_i:nn }
- { default } { \use_ii:nn }
+ { plain } { \use_ii:nn }
}
{ \eb_footnote_direct_hang: }
- { \eb_footnote_direct_default: }
- \skip_set:NV \parskip \footparskip
- \dim_set:NV \parindent \footparindent
+ { \eb_footnote_direct_plain: }
+ \skip_set:NV \parskip \fnparskip
+ \dim_set:NV \parindent \fnafterindent
\l__eb_fnpara_format_tl{#1}
\tl_if_eq:NnT \l__eb_footnote_value_tl { hang } { \par }
\group_end:
}
-\cs_set_eq:NN \eb@makefntext@save \@makefntext
+\eb_patch_cmd:wnn { \@footnotetext,\@mpfootnotetext }
+ { \reset@font }
+ {
+ \setspread{\fp_use:N \l__eb_spread_footnote_fp}
+ \tl_use:N \l__eb_subfont_footnote_tl
+ }
+\cs_set_eq:NN \eb@@makefntext \@makefntext
+\cs_set_eq:NN \eb@@footnotetext \@footnotetext
\ctex_at_end_package:nn { footmisc }
{
\eb_package_date_check:nn { footmisc } { 2022/02/10 }
- \notbool{FN@para}{\cs_set_eq:NN \@makefntext \eb@makefntext@save}{}
+ \ifbool{FN@para}{}
+ {
+ \cs_set_eq:NN \@makefntext \eb@@makefntext
+ \cs_set_eq:NN \@footnotetext \eb@@footnotetext
+ }
\ifboolexpr
{
bool {FN@hangfoot} or
@@ -1045,7 +1067,7 @@
\msg_new:nnn { easybase } { footmisc }
{
It~is~not~recommended~that~you~use~the \\
- hang,~symbol,~perpage,~marginal,~flushmargin~or~bottom \\
+ hang,~symbol,~perpage,~marginal~or~flushmargin \\
options~of~the~'footmisc'~package.
}
@@ -1079,12 +1101,6 @@
\@footnotemark
}
}
-\eb_patch_cmd:wnn { \@footnotetext,\@mpfootnotetext }
- { \reset@font }
- {
- \setspread{\fp_use:N \l__eb_spread_footnote_fp}
- \tl_use:N \l__eb_subfont_footnote_tl
- }
\ctex_at_end_package:nn { hyperref }
{
\cs_set:Npn \@xfootnotemark [#1]
@@ -1140,13 +1156,12 @@
\defdownfntmark
{
\eb_fnmate_format_initial:
- \tl_if_eq:NnT \l__eb_fntext_position_tl { super }
+ \tl_if_eq:NnTF \l__eb_fntext_position_tl { super }
{ \eb@fnmate@super* }
+ { \use:n }
{
\tl_use:N \l__eb_fntext_before_tl
- \bgroup
- \l__eb_fnmate_format_tl{\@thefnmark}
- \egroup
+ { \l__eb_fnmate_format_tl{\@thefnmark} }
}
\tl_use:N \l__eb_fntext_after_tl
}
@@ -1196,8 +1211,6 @@
\eb@@makefnmark{#1}{#1}\@footnotetext{#2}
\group_end:
}
-\cs_new:Npn \eb@footmisc@ifvoid #1#2#3 { \ifvoid #1#2\else #3\fi }
-\cs_set:Npn \thempfootnote { \int_to_alph:n { \c@mpfootnote } }
\newcounter{bichapter}
\newcounter{bisection}[bichapter]
@@ -1557,18 +1570,18 @@
{
\normalsize\normalfont
\titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
- \bgroup
- \IfBooleanF{#2}
{
- \IfBooleanTF{#1}
- {\thecontentspage}
+ \IfBooleanF{#2}
{
- \bool_if:NTF \l__eb_toc_dot_align_bool
- { \contentspage }
- { \thecontentspage }
+ \IfBooleanTF{#1}
+ {\thecontentspage}
+ {
+ \bool_if:NTF \l__eb_toc_dot_align_bool
+ { \contentspage }
+ { \thecontentspage }
+ }
}
}
- \egroup
}
\ctex_set:n
{
@@ -1619,7 +1632,6 @@
\group_begin:
\tl_set_eq:NN \eb@toc@title \indexname
\cs_set_eq:NN \imki@indexlevel \use_none:n
- \setkeys{imkiindex}{noclearpage}
\IfValueT{#3}{\keys_set:nn { eb/floattoc } {#3}}
\cs_set_protected:Npn \imki@indexheaders
{
@@ -1797,8 +1809,9 @@
\cs_set_protected:Npn \hangpara #1#2
{
- \setlength{\hangindent}{#1}
- \hangafter #2\noindent\ignorespaces
+ \dim_set:Nn \hangindent {#1}
+ \int_set:Nn \hangafter {#2}
+ \noindent\ignorespaces
}
\DeclareDocumentEnvironment{hangparas}{mm+b}
{
@@ -2312,7 +2325,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/03/08}{1.643}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/03/10}{1.643}
{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 fe31a2f561..38e91e5c54 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 ae9ecb96b5..495bca8f59 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -21,8 +21,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v1.643,
- date = 2022/03/08,
+ version = v1.644,
+ date = 2022/03/10,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = q1jx@foxmail.com,
@@ -790,20 +790,20 @@
\end{commands}
\subsection{脚注格式}
-模块 \module*{hdrset} 还可以灵活调整脚注编号和内容的格式。格式主要包括脚注标记的编号类型、字体、附加符号、对齐方式和缩进距离等,以及脚注内容的首行缩进、行距和字体等。基本思想是默认脚注和自定义编号脚注标记的格式分离,两种类型脚注各自正文和内容的标记又共享格式,默认脚注中正文和内容标记的编号类型分离。
+模块 \module*{hdrset} 还可以灵活调整脚注编号和内容的格式。格式主要包括脚注标记的编号类型、字体、附加符号和对齐方式等,以及脚注内容的首行缩进、行距和字体等。基本思想是默认脚注和自定义编号脚注标记的格式分离,两种类型脚注各自正文和内容的标记又共享格式,默认脚注中正文和内容标记的编号类型分离。目前脚注模块基本兼容 \pkg*{footmisc} 宏包。
\begin{options}
- \keychoice{footnotetype}{hang,default,flush,bottom}\Module{hdrset}\Default{hang}
- 脚注的类型。悬挂缩进 \code{hang} 是默认值,\code{default} 是原始的类型,\code{flush} 使脚注内容标记位于脚注首行边缘外侧并右对齐。当存在浮动环境排版时,脚注可能位于页面中间,\code{bottom} 使脚注始终位于页面底端。其中 \code{bottom} 是复合选项,可以与前三种类型重复或复合使用:
+ \keychoice{footnotetype}{plain,hang,flush,bottom}\Module{hdrset}\Default{hang}
+ 脚注的类型。悬挂缩进 \code{hang} 是默认值,\code{plain} 是原始的类型,\code{flush} 使脚注内容标记位于脚注首行边缘外侧并右对齐。当存在浮动环境排版时,脚注可能位于页面中间,\code{bottom} 使脚注始终位于页面底端。其中 \code{bottom} 是复合选项,可以与前三种类型重复或复合使用:
\begin{ctexexam}
- \ebhdrset{footnotetype = default,footnotetype = bottom}
+ \ebhdrset{footnotetype = plain,footnotetype = bottom}
\ebhdrset{footnotetype = {hang,bottom}}
\end{ctexexam}
- \keyval{fnindent}{刚性长度}\Default{0.8em}
- 每个脚注首段的首行缩进(选项 \option*{hang} 为整体缩进),等于长度 \cs{footindent} 的值。
+ \keyval{fnfirstindent}{刚性长度}\Default{0.8em}
+ 每个脚注首段的首行缩进(选项 \option*{hang} 为整体缩进),等于长度 \cs{fnfirstindent} 的值。
+ \keyval{fnafterindent}{刚性长度}\Default{2em}
+ 每个脚注第二段及之后段落的首行缩进,等于长度 \cs{fnafterindent} 的值。
\keyval{fnparskip}{弹性长度}\Default{0ex}
- 不同脚注的段落间距,等于长度 \cs{footparskip} 的值。
- \keyval{fnparindent}{刚性长度}\Default{2em}
- 每个脚注第二段及之后段落的首行缩进,等于长度 \cs{footparindent} 的值。
+ 不同脚注的段落间距,等于长度 \cs{fnparskip} 的值。
\keychoice{fntext-pos}{normal,super}\Default{super}
设置脚注内容标记的位置,正常文本或是上标形式。
\keychoice{fnmark-num}{plain,pifont,pifont*,pisans,pisans*,short num}\Default{plain}
@@ -904,7 +904,7 @@
引导线选项 \option{tocrule} 中一般可以使用基于 \cs*{xleaders} 命令的 \cs{tocrule} 绘制引导线。
\begin{commands}
\command{tocrule}[\sarg\harg\oarg{引导点间距}\darg{放大因子}\marg{引导点}\oarg{页码格式}]
- 生成目录引导线的命令,需要在引导线选项 \option{tocrule} 中使用。带有星号的命令与 \keyis{dotalign}{false} 效果相同。带有 \harg{} 号的命令不添加引导线后的目录页码。\meta{引导点间距} 需带有长度单位,\meta{放大因子} 为 \meta{引导点} 的放大倍数。\meta{页码格式} 的代码位于页码前面,可以设置页码字体和距离等,最后一个命令可以带有一个参数为页码编号。
+ 生成目录引导线的命令,需要在引导线选项 \option{tocrule} 中使用。带有星号的命令与 \keyis{dotalign}{false} 效果相同。带有 \harg{} 号的命令不添加引导线后的目录页码。\meta{引导点间距} 需带有长度单位,\meta{放大因子} 为 \meta{引导点} 的放大倍数。\meta{页码格式} 中最后一个命令可以带有一个参数为页码编号。
\end{commands}
\keyval{tocafter}{距离命令}\dtag\Default{\cs*{hspace}\Marg{1em}}
目录条目编号与标题间的代码,默认为插入 \code{1em} 横向距离。
@@ -1318,7 +1318,7 @@
\item 增加英文主文档目录钩子选项 \option{bibetween}。
\end{version}
\shortversion{v = 1.638,date = 2022/03/04,changes = 增加目录条目样式选项注册命令 \cs{RegisterTocName}。}
- \shortversion{v = 1.643,date = 2022/03/08,changes = 增加浮动环境目录声明命令 \cs{DeclareFloatList} 配合 \pkg*{caption} 宏包。}
+ \shortversion{v = 1.644,date = 2022/03/10,changes = 增加浮动环境目录声明命令 \cs{DeclareFloatList} 配合 \pkg*{caption} 宏包。}
\end{changelog}
\nocite{*}