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.dtx163
1 files changed, 97 insertions, 66 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index ac09fdcaf7..a7d77a29ae 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/10/16}{1.3N}
+\ProvidesExplClass{easybook}{2021/10/18}{1.3O}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -319,7 +319,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/10/16}{1.3N}
+\ProvidesExplPackage{easybase}{2021/10/18}{1.3O}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -797,9 +797,9 @@
{ \ding{\int_eval:n { 171 + #1 }} }
\cs_new:Npn \eb_fnmark_counter_pifont_neg:N #1
{ \ding{\int_eval:n { 181 + #1 }} }
-\cs_new:Npn \eb_fnmark_counter_pifont_sans:N #1
+\cs_new:Npn \eb_fnmark_counter_pisans:N #1
{ \ding{\int_eval:n { 191 + #1 }} }
-\cs_new:Npn \eb_fnmark_counter_pifont_sans_neg:N #1
+\cs_new:Npn \eb_fnmark_counter_pisans_neg:N #1
{ \ding{\int_eval:n { 201 + #1 }} }
\cs_new:Npn \eb_int_format_trans:NN #1
{
@@ -826,10 +826,10 @@
{ \exp_not:N \eb_fnmark_counter_pifont:N }
{ pifont* }
{ \exp_not:N \eb_fnmark_counter_pifont_neg:N }
- { pifont-sans }
- { \exp_not:N \eb_fnmark_counter_pifont_sans:N }
- { pifont-sans* }
- { \exp_not:N \eb_fnmark_counter_pifont_sans_neg:N }
+ { pisans }
+ { \exp_not:N \eb_fnmark_counter_pisans:N }
+ { pisans* }
+ { \exp_not:N \eb_fnmark_counter_pisans_neg:N }
}
{ \exp_not:N \c@footnote }
}
@@ -849,33 +849,49 @@
}
\cs_set_eq:cN {#2} \l__eb_fnmark_short_tokens_tl
}
-\bool_new:N \l__eb_fntext_bottom_bool
+\cs_new_protected:Npn \eb_footnote_choice_handle:n #1
+ {
+ \str_case:nnF {#1}
+ {
+ { bottom }
+ { \bool_set_true:N \l__eb_fnpara_bottom_bool }
+ { flush }
+ {
+ \tl_set:Nn \l__eb_footnote_choice_tl { default }
+ \clist_push:Nn \l__eb_footnote_mulchoice_clist {#1}
+ }
+ }
+ {
+ \bool_lazy_or:nnT
+ { \str_if_eq_p:nn {#1} { hang } }
+ { \str_if_eq_p:nn {#1} { default } }
+ { \tl_set:Nn \l__eb_footnote_choice_tl {#1} }
+ }
+ }
+\bool_new:N \l__eb_fnpara_bottom_bool
+\clist_new:N \l__eb_footnote_mulchoice_clist
\ctex_define:nn { hdrset }
{
- fnmargin .dim_set:N = \footnoteindent,
- fnmargin .initial:n = 0.75em,
+ fnindent .dim_set:N = \footnoteindent,
+ fnindent .initial:n = 0.75em,
fnparskip .skip_set:N = \footparskip,
fnparskip .initial:n = 0ex,
fnparindent .dim_set:N = \footparindent,
fnparindent .initial:n = 2em,
- fntext-form .tl_set:N = \l__eb_fntext_format_tl,
+ fnpara-form .tl_set:N = \l__eb_fnpara_format_tl,
fnmark-pos .tl_set:N = \l__eb_fnmark_position_tl,
fnmark-pos .initial:n = super,
- fnmark-code .code:n = \eb_assign_fnmark_code:n {#1},
- fnmark-code .initial:n =
+ fntext-code .code:n = \eb_assign_fnmark_code:n {#1},
+ fntext-code .initial:n =
{ ,\tl_if_eq:NnF \l__eb_fnmark_position_tl { super } { \space } },
fnmark-form .tl_set:N = \l__eb_fnmark_format_tl,
fncust-form .tl_set:N = \l__eb_fncust_format_tl,
fnboth-form .meta:n = { fnmark-form = #1,fncust-form = #1 },
footnotetype .multichoices:nn =
- { default,hang,bottom,para }
- {
- \tl_if_eq:nnTF { bottom } {#1}
- { \bool_set_true:N \l__eb_fntext_bottom_bool }
- { \tl_set:Nn \l__eb_footnotetype_choice_tl {#1} }
- },
+ { default,hang,bottom,para,flush }
+ { \eb_footnote_choice_handle:n {#1} },
footnotetype .value_required:n = true,
footnotetype .initial:n = hang,
@@ -912,7 +928,11 @@
{ part } { \counterwithin*{footnote}{part} }
{ page } { \counterwithin*{footnote}{page} }
}
- \bool_if:NT \l__eb_fntext_bottom_bool
+ \eb_fnpara_if_pos_bottom:
+ }
+\cs_new_protected:Npn \eb_fnpara_if_pos_bottom:
+ {
+ \bool_if:NT \l__eb_fnpara_bottom_bool
{
\cs_set:Npn \@makecol
{
@@ -948,57 +968,66 @@
}
}
}
-\cs_set:Npn \@makefntext #1
+\cs_new_protected:Npn \eb_footnote_direct_hang:
{
- \group_begin:
- \str_case:Vn \l__eb_footnotetype_choice_tl
+ \hbox_set:Nn \l_tmpa_box
{
- { hang } { \use_i:nn }
- { default } { \use_ii:nn }
+ \dim_compare:nNnTF { \footnoteindent } > { 0pt }
+ { \hbox_to_wd:nn { \footnoteindent } { \eb@makefnmark\hss } }
+ { \eb@makefnmark }
+ }
+ \dim_set:Nn \leftmargin { \box_wd:N \l_tmpa_box }
+ \dim_zero:N \rightmargin
+ \dim_set_eq:NN \linewidth \columnwidth
+ \dim_sub:Nn \linewidth { \leftmargin }
+ \parshape\@ne\leftmargin\linewidth
+ \@setpar{{\@@par}}
+ \mode_leave_vertical:
+ \hbox_overlap_left:n { \box_use:N \l_tmpa_box }
+ }
+\cs_new_protected:Npn \eb_footnote_direct_default:
+ {
+ \noindent
+ \clist_if_in:NnT \l__eb_footnote_mulchoice_clist { flush }
+ { \dim_zero:N \footnoteindent }
+ \int_case:nn { \dim_sign:V \footnoteindent }
+ {
+ { 1 } { \use_i:nnn }
+ { 0 } { \use_ii:nnn }
+ { -1 } { \use_iii:nnn }
}
+ { \hbox_to_wd:nn { \footnoteindent } { \hss\eb@makefnmark } }
+ { \hbox_overlap_left:n { \eb@makefnmark } }
{
- \hbox_set:Nn \l_tmpa_box
+ \hbox_overlap_left:n
{
- \dim_compare:nNnTF { \footnoteindent } > { 0pt }
- { \hbox_to_wd:nn { \footnoteindent } { \eb@makefnmark\hss } }
- { \eb@makefnmark }
- }
- \dim_set:Nn \leftmargin { \box_wd:N \l_tmpa_box }
- \dim_zero:N \rightmargin
- \dim_set_eq:NN \linewidth \columnwidth
- \dim_sub:Nn \linewidth { \leftmargin }
- \parshape\@ne\leftmargin\linewidth
- \@setpar{{\@@par}}
- \mode_leave_vertical:
- \hbox_overlap_left:n { \box_use:N \l_tmpa_box }
- }
- {
- \noindent
- \int_case:nn { \dim_sign:V \footnoteindent }
- {
- { 1 } { \use_i:nnn }
- { 0 } { \use_ii:nnn }
- { -1 } { \use_iii:nnn }
- }
- { \hbox_to_wd:nn { \footnoteindent } { \hss\eb@makefnmark } }
- { \hbox_overlap_left:n { \eb@makefnmark } }
- {
- \hbox_overlap_left:n
- {
- \hbox_to_wd:nn { -\footnoteindent }
- { \eb@makefnmark\hss }
- }
+ \hbox_to_wd:nn { -\footnoteindent }
+ { \eb@makefnmark\hss }
}
}
+ }
+\cs_set:Npn \@makefntext #1
+ {
+ \group_begin:
+ \str_case:Vn \l__eb_footnote_choice_tl
+ {
+ { hang } { \use_i:nn }
+ { default } { \use_ii:nn }
+ }
+ { \eb_footnote_direct_hang: }
+ { \eb_footnote_direct_default: }
\skip_set:NV \parskip \footparskip
\dim_set:NV \parindent \footparindent
- \l__eb_fntext_format_tl{#1}
- \tl_if_eq:NnT \l__eb_footnotetype_choice_tl { hang } { \par }
+ \l__eb_fnpara_format_tl{#1}
+ \tl_if_eq:NnT \l__eb_footnote_choice_tl { hang } { \par }
\group_end:
}
\cs_set_eq:NN \eb@makefntext \@makefntext
\ctex_at_end_package:nn { footmisc }
- { \cs_set_eq:NN \@makefntext \eb@makefntext }
+ {
+ \@ifpackagewith{footmisc}{hang}
+ {\cs_set_eq:NN \@makefntext \eb@makefntext}{}
+ }
\eb_at_end_patch_cmd:nnn { \@footnotetext,\@mpfootnotetext }
{ \reset@font }
{
@@ -1079,7 +1108,7 @@
{ \eb@fnmark@super* }
{
\tl_use:N \l__eb_fnmark_before_tl
- \l__eb_fnmark_format_tl{\@thefnmark}
+ {\l__eb_fnmark_format_tl{\@thefnmark}}
\tl_use:N \l__eb_fnmark_after_tl
}
}
@@ -1098,7 +1127,7 @@
}
\cs_new_protected:Npn \eb_fncust_format_initial:
{
- \hdrset{fnmark-code = { }}
+ % \hdrset{fntext-code = { }}
\tl_set_eq:NN
\l__eb_fnmark_format_tl \l__eb_fncust_format_tl
}
@@ -1914,7 +1943,7 @@
name = \tl_use:c { c__eb_name_#1_tl },
style = easy-theorem,#5
]
- \bool_if:NT \l__eb_thmbox_bool
+ \bool_if:NT \l__eb_thmframe_bool
{
\@ifpackageloaded{tcolorbox}
{\tcolorboxenvironment{#1}{#4}}
@@ -1924,7 +1953,7 @@
}
\msg_new:nnn { easybase } { need-tcolorbox }
{
- Now~that~the~thmbox~option~is~true. \\
+ Now~that~the~thmframe~option~is~true. \\
Please~load~the~tcolorbox~macro~package.
}
\cs_set_eq:NN \EBNewTheorem \DeclareTheorem
@@ -1949,9 +1978,11 @@
{ \ctex_define:nn { thmset } { #1 .tl_set:N = #2 } }
\ctex_define:nn { thmset }
{
- thmbox .bool_set:N = \l__eb_thmbox_bool,
+ thmframe .bool_set:N = \l__eb_thmframe_bool,
+ thmframe .default:n = true,
+ thmframe .initial:n = false,
+ thmbox .meta:n = { thmframe = #1 },
thmbox .default:n = true,
- thmbox .initial:n = false,
notebraces .tl_set:N = \l__eb_thm_notebraces_tl,
unknown .code:n = \eb_msg_unknown_option:n { thmset }
}
@@ -2391,7 +2422,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/10/16}{1.3N}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/10/18}{1.3O}
{Customization of tcolorbox for easybook}
\tl_gset:Nn \eb@tc@line@skip { 0.5\baselineskip }