diff options
author | Norbert Preining <norbert@preining.info> | 2024-04-25 03:01:05 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-04-25 03:01:05 +0000 |
commit | 8c332d190fc87f5943debba153cad209c0f8952e (patch) | |
tree | 2dfcbedcfb35c6225af07ec323b508f94f29d3d2 /macros/latex/contrib/easybook/easybook.dtx | |
parent | a1bae2c92d8b9b9cbd26c71b0feb7abd276e5993 (diff) |
CTAN sync 202404250301
Diffstat (limited to 'macros/latex/contrib/easybook/easybook.dtx')
-rw-r--r-- | macros/latex/contrib/easybook/easybook.dtx | 162 |
1 files changed, 89 insertions, 73 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index b6c3eceaaa..08b7136aac 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -15,7 +15,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2021/11/15] \RequirePackage{l3keys2e} -\ProvidesExplClass{easybook}{2024/04/23}{2024ax} +\ProvidesExplClass{easybook}{2024/04/24}{2024az} {Easily typesetting Chinese theses or books} \bool_new:N \l__eb_compile_draft_bool @@ -297,7 +297,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2021/11/15] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplPackage{easybase}{2024/04/23}{2024ax} +\ProvidesExplPackage{easybase}{2024/04/24}{2024az} {Easily typesetting Chinese theses or books} \cs_generate_variant:Nn \dim_set:Nn { NV } @@ -310,6 +310,7 @@ \cs_generate_variant:Nn \ctex_define:nn { nx } \cs_generate_variant:Nn \eb_set_hyperref:n { x } \cs_generate_variant:Nn \eb_at_begin_environment:nn { on } +\cs_generate_variant:Nn \tl_if_novalue:nF { V } \cs_set_protected:Npn \ctex_define:nn #1 { \keys_define:nn { ctex/#1 } } @@ -373,7 +374,7 @@ {\IfFileExists{#2.sty}{\RequirePackage{#2}[#3]}{}} {\IfFileExists{#2.sty}{\RequirePackage[#1]{#2}[#3]}{}} } -\cs_new_protected:Npn \LoadPackage #1 +\cs_new_protected:Npn \ebloadpackage #1 { \int_compare:nTF { \clist_count:n {#1} <= 1 } { \RequirePackage } @@ -433,14 +434,20 @@ \seq_set_from_clist:Nn \l__eb_module_paths_seq { - style,subfont,spread, - bibset,thmset,tocset, - hdrset,refset,geoset,float + tools,font,spread, + bib,thmt,toc, + hdr,ref,geo,float } \seq_map_inline:Nn \l__eb_module_paths_seq { \ctex_define:n { #1 .meta:nn = { ctex/#1 } {##1} } - \cs_new_protected:cpn { eb#1 } ##1 { \ctex_set:nn {#1} {##1} } + \cs_new_protected:cpn { eb#1set } ##1 { \ctex_set:nn {#1} {##1} } + } +\RenewDocumentCommand{\ctexset}{om} + { + \IfValueTF{#1} + {\ctex_set:nn {#1} {#2}} + {\ctex_set:n {#2}} } \bool_until_do:nn { \int_compare_p:nNn { \seq_count:N \l__eb_module_paths_seq } < { 8 } } @@ -481,7 +488,7 @@ The~'\string\chapter'\ command~will~not~be~used. } -\LoadPackage +\ebloadpackage { [text]{spbmark}, [normalem]{ulem}, @@ -525,7 +532,7 @@ \eb@tag@brackets@right } } -\ctex_define:nn { style } +\ctex_define:nn { tools } { multoc .int_set:N = \l__eb_toc_columns_int, multoc .default:n = 2, @@ -554,20 +561,20 @@ marginparsep = 8pt, marginparwidth = 2.54cm } -\ctex_define:nn { geoset } +\cs_new:Npn \eb_unknown_kv_handle: + { + \str_use:N \l_keys_key_str + \tl_if_novalue:VF \l_keys_value_tl + { = {\exp_not:V \l_keys_value_tl} } + } +\ctex_define:nn { geo } { headruleskip .tl_set:N = \headruleskip, headruleskip .initial:n = 0pt, footruleskip .tl_set:N = \footruleskip, footruleskip .initial:n = 3.5pt, - unknown .code:n = - { - \exp_args:Nx \geometry - { - \str_use:N \l_keys_key_str - \tl_if_empty:NF \l_keys_value_tl { = \exp_not:n { {#1} } } - } - } + unknown .code:n = \exp_args:Nx \geometry { \eb_unknown_kv_handle: }, + unknown .default:V = \c_novalue_tl } \cs_new_protected:Npn \blankpagestyle #1 @@ -628,7 +635,7 @@ { none* } { \text_lowercase:n } } } -\ctex_define:nn { hdrset } +\ctex_define:nn { hdr } { chap-mark .cs_set:Np = \eb@mark@chapter@whole #1, chap-mark .initial:n = @@ -710,7 +717,7 @@ \providecommand{\kaishu}{\itshape} } -\ctex_define:nn { style } +\ctex_define:nn { tools } { fntnumwith .choices:nn = { part,page,chapter } @@ -866,7 +873,7 @@ \tl_new:N \l__eb_fnmarktext_format_tl \tl_new:N \l__eb_fncustom_format_tl \clist_new:N \l__eb_footnote_value_clist -\ctex_define:nn { hdrset } +\ctex_define:nn { hdr } { fnfirstindent .tl_set:N = \fnfirstindent, fnfirstindent .initial:n = 1em, @@ -907,7 +914,7 @@ fntext-num/unknown .code:n = \eb_fnmarktext_short_label_set:Nn \thefootnote {#1}, fnmarktext-num .meta:n = { fntext-num = #1,fnmark-num = #1 }, fnmarktext-num .initial:n = plain, - unknown .code:n = \eb_msg_deprecated_option:n { hdrset } + unknown .code:n = \eb_msg_deprecated_option:n { hdr } } \eb_at_end_preamble:n @@ -1033,7 +1040,7 @@ { \reset@font } { \setspread{\eb@spread@footnote} - \eb@subfont@footnote + \eb@font@footnote } } \cs_set_eq:NN \eb@@makefntext \@makefntext @@ -1150,7 +1157,7 @@ { \tl_clear:N \l__eb_fnmarktext_format_tl } } \bool_if:NF \l__eb_fnmarktext_format_match_bool { \spbset{spcmd = { }} } - \eb@subfont@footnote + \eb@font@footnote } \cs_new_protected:Npn \defupfntmark #1 { \cs_set:Npn \@makefnmark { \hbox:n {#1} } } @@ -1241,7 +1248,7 @@ \@addtoreset{#3}{#5} \IfBooleanF{#1} { - \exp_args:Nc \cs_gset:Npn { the#3 } + \cs_gset:cpn { the#3 } { \use:c { the#5 }#4#2{#3} } } } @@ -1255,20 +1262,21 @@ \cs_set:Npn \thebisection { \eb_section_counter_prefix:n { bi } } \cs_set:Npn \thebisubsection { \thebisection.\@arabic\c@bisubsection } \cs_set:Npn \thesection { \eb_section_counter_prefix:n { } } -\tl_new:N \eb@before@addbitoc@hook -\NewDocumentCommand{\BeforeAddBitoc}{sm} +\tl_new:N \eb@before@bitocline@hook +\NewDocumentCommand{\BeforeAddtoBitoc}{sm} { \IfBooleanTF{#1} - {\tl_gset:Nn \eb@before@addbitoc@hook {#2}} - {\tl_gput_right:Nn \eb@before@addbitoc@hook {#2}} + {\tl_gset:Nn \eb@before@bitocline@hook {#2}} + {\tl_gput_right:Nn \eb@before@bitocline@hook {#2}} } +\cs_set_eq:NN \BeforeAddBitoc \BeforeAddtoBitoc \cs_new_protected:Npn \CTEX@addbitocline #1#2 { \group_begin: \def\CTEX@prechapter{\CTEX@prebichapter} \def\CTEX@thechapter{\CTEX@bichapter@number} \def\CTEX@postchapter{\CTEX@postbichapter} - \eb@before@addbitoc@hook + \eb@before@bitocline@hook \tl_if_eq:NnTF \g__eb_bilist_permute_value_tl { mix } { \addcontentsline{toc}{#1} } { \addcontentsline{tec}{#1} } @@ -1332,7 +1340,7 @@ } } -\ctex_define:nn { style } +\ctex_define:nn { tools } { hyphen-figure .tl_set:N = \l__eb_hyphen_figure_tl, hyphen-table .tl_set:N = \l__eb_hyphen_table_tl, @@ -1344,7 +1352,7 @@ hyphen-listing = #1,hyphen-equation = #1 }, hyphen-every .initial:n = ., - unknown .code:n = \eb_msg_deprecated_option:n { style } + unknown .code:n = \eb_msg_deprecated_option:n { tools } } \eb_seq_map_inline:nn { figure,table,lstlisting,equation } @@ -1613,7 +1621,7 @@ { \IfBooleanT{#1} { - \ctex_set:nn { tocset } { between = { },bibetween = { } } + \ctex_set:nn { toc } { between = { },bibetween = { } } \tl_set:Nn \l__eb_toc_tmpa_tl {*} \tl_set:Nn \l__eb_toc_tmpb_tl { @@ -1646,7 +1654,7 @@ \eb_seq_map_inline:nn { tocafter,tocindent,tocrule } { - \ctex_define:nn { tocset } + \ctex_define:nn { toc } { #1-every .code:n = { @@ -1659,7 +1667,7 @@ } } } -\ctex_define:nn { tocset } +\ctex_define:nn { toc } { lolskip .skip_set:N = \eb@toc@lol@skip, lolskip .initial:n = 10pt, @@ -1675,7 +1683,7 @@ hang .initial:n = true, pagenumwd .code:n = \contentsmargin{#1}, pagenumwd .initial:n = 1.55em, - unknown .code:n = \eb_msg_deprecated_option:n { tocset } + unknown .code:n = \eb_msg_deprecated_option:n { toc } } \NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}} { @@ -1771,7 +1779,7 @@ \ctex_assign_heading_name:nn { biappendix } {#1} \bool_if:NTF \l__eb_class_mode_book_bool { - \eb_preto_cmd:nn { eb@before@addbitoc@hook } + \eb_preto_cmd:nn { eb@before@bitocline@hook } { \def\CTEX@prechapter{\CTEX@prebiappendix} \def\CTEX@thechapter{#2} @@ -1797,40 +1805,40 @@ } } -\ctex_define:nn { subfont } +\ctex_define:nn { font } { - caption-table .tl_set:N = \l__eb_subfont_caption_table_tl, - caption-figure .tl_set:N = \l__eb_subfont_caption_figure_tl, - caption-listing .tl_set:N = \l__eb_subfont_caption_listing_tl, + caption-table .tl_set:N = \l__eb_font_caption_table_tl, + caption-figure .tl_set:N = \l__eb_font_caption_figure_tl, + caption-listing .tl_set:N = \l__eb_font_caption_listing_tl, caption-every .meta:n = { caption-table = #1,caption-figure = #1, caption-listing = #1 }, caption-every .initial:n = \sffamily\small, - footnote .tl_set:N = \eb@subfont@footnote, + footnote .tl_set:N = \eb@font@footnote, marginpar .tl_set:N = \marginfont, marginpar .initial:n = \footnotesize, - unknown .code:n = \eb_msg_deprecated_option:n { subfont } + unknown .code:n = \eb_msg_deprecated_option:n { font } } -\cs_new_protected:Npn \addtosubfont #1#2 +\cs_new_protected:Npn \ebaddtofont #1#2 { \str_case:nnF {#1} { { table } - { \tl_put_right:Nn \l__eb_subfont_caption_table_tl {#2} } + { \tl_put_right:Nn \l__eb_font_caption_table_tl {#2} } { figure } - { \tl_put_right:Nn \l__eb_subfont_caption_figure_tl {#2} } + { \tl_put_right:Nn \l__eb_font_caption_figure_tl {#2} } { listing } - { \tl_put_right:Nn \l__eb_subfont_caption_listing_tl {#2} } + { \tl_put_right:Nn \l__eb_font_caption_listing_tl {#2} } { every } { - \tl_put_right:Nn \l__eb_subfont_caption_table_tl {#2} - \tl_put_right:Nn \l__eb_subfont_caption_figure_tl {#2} - \tl_put_right:Nn \l__eb_subfont_caption_listing_tl {#2} + \tl_put_right:Nn \l__eb_font_caption_table_tl {#2} + \tl_put_right:Nn \l__eb_font_caption_figure_tl {#2} + \tl_put_right:Nn \l__eb_font_caption_listing_tl {#2} } } - { \tl_put_right:cn { l__eb_subfont_#1_tl } {#2} } + { \tl_put_right:cn { l__eb_font_#1_tl } {#2} } } \ctex_define:nn { spread } { @@ -1892,7 +1900,7 @@ \DeclareCaptionFont{eb@#1@font} { \setspread{\fp_use:c { l__eb_spread_caption_#1_fp }} - \tl_use:c { l__eb_subfont_caption_#1_tl } + \tl_use:c { l__eb_font_caption_#1_tl } } } \captionsetup @@ -1975,7 +1983,7 @@ \SetEnumitemValue{ref}{enumii}{\arabic{enumi}.\alph*} \SetEnumitemValue{ref}{enumiii}{\arabic{enumi}.\alph{enumii}.\roman*} \setlist{nosep,labelsep = 0.5em,listparindent = \parindent} -\setlist[1]{leftmargin = *,align = left,mode = unboxed} +\setlist[1]{leftmargin = *,align = left} \setlist[itemize,1]{label = bullet} \setlist[itemize,2]{label = endash} \setlist[itemize,3]{label = asterisk} @@ -2070,8 +2078,12 @@ \cs_set_eq:NN \eb@declaretheoremsyle@save \declaretheoremstyle \RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}} {\eb@declaretheoremsyle@save[#1,#3]{#2}} - \ctex_define:nn { thmset } - { unknown .code:n = \eb_msg_deprecated_option:n { thmset } } + \ctex_define:nn { thmt } + { + loeskip .skip_set:N = \eb@thmt@loe@skip, + loeskip .initial:n = 10pt, + unknown .code:n = \eb_msg_deprecated_option:n { thmt } + } \declaretheoremstyle{default}[ spaceabove = 0ex plus .1ex, spacebelow = 0ex plus .1ex, @@ -2086,7 +2098,17 @@ \cs_undefine:N \proof \DeclareFloatList{theorem}{loe} \eb_preto_cmd:nn { listoftheorems } - { \def\contentsline #1 {\use:c { thmt@contentsline@#1 }{#1}} } + { + \group_begin: + \def\contentsline #1 {\use:c { thmt@contentsline@#1 }{#1}} + } + \eb_appto_cmd:nn { listoftheorems } { \group_end: } + \eb_preto_cmd:nn { @chapter } + { + \skip_if_eq:nnF { \eb@thmt@loe@skip } { \c_zero_skip } + { \addtocontents{loe}{\protect\addvspace{\skip_use:N \eb@thmt@loe@skip}} } + } + \def\thmtlo@chaptervspacehack{} \def\thmtname{\thmt@thmname} \def\thmtenvname{\thmt@envname} \def\thmtnote{\thmt@shortoptarg} @@ -2095,7 +2117,7 @@ \def\thmtifnote #1#2 { \tl_if_empty:NTF \thmt@shortoptarg - { \protect\thmtformatoptarg{#2} } + {#2} { \protect\thmtformatoptarg{#1} } } \NewDocumentCommand{\settheoremtocline}{smm} @@ -2153,7 +2175,7 @@ { \file_if_exist_input:n { eb-tcolorbox.cfg } } \bool_set_true:N \l__eb_backend_bibtex_bool -\ctex_define:nn { bibset } +\ctex_define:nn { bib } { backend .choice:, backend .value_required:n = true, @@ -2165,7 +2187,7 @@ datafile .clist_set:N = \l__eb_bib_datafile_clist, bititle .tl_set:N = \eb@bib@bitoc@title, bititle .initial:n = Bibliography, - unknown .code:n = \eb_msg_deprecated_option:n { bibset } + unknown .code:n = \eb_msg_deprecated_option:n { bib } } \cs_new_protected:Npn \eb_bibtex_natbib_set: @@ -2294,9 +2316,9 @@ \cs_new_protected:Npn \eb_define_theme_color:n #1 { \definecolorset{HTML}{ctex@}{}{frame,#1;emph,#1;verb,#1} } \cs_new_protected:Npn \DeclareLinkColor #1 - { \ctex_define:nx { refset } { \eb_link_color_set:n {#1} } } + { \ctex_define:nx { ref } { \eb_link_color_set:n {#1} } } \cs_new_protected:Npn \DeclareThemeColor #1 - { \ctex_define:nx { style } { \eb_theme_color_set:n {#1} } } + { \ctex_define:nx { tools } { \eb_theme_color_set:n {#1} } } \cs_new_protected:Npn \eb_color_assign_cmd_set:nn #1#2 { \cs_new:cpn { eb_#2_color_set:n } ##1 @@ -2316,7 +2338,7 @@ { color } { theme } } { \eb_color_assign_cmd_set:nn #1 } -\ctex_define:nx { refset } +\ctex_define:nx { ref } { linkcolor .choice:, linkcolor .value_required:n = true, @@ -2331,7 +2353,7 @@ linkcolor .initial:n = navyblue, linkcolor-every .code:n = \eb_define_link_color:n { \exp_not:n {#1} } } -\ctex_define:nx { style } +\ctex_define:nx { tools } { color .choice:, color .value_required:n = true, @@ -2361,7 +2383,7 @@ { \eb_set_hyperref:n { colorlinks } } \cs_new_protected:Npn \eb_link_toc_put:n #1 { \eb_set_hyperref:n { linktoc = #1 } } -\ctex_define:nn { refset } +\ctex_define:nn { ref } { linktype .choice:, linktype .value_required:n = true, @@ -2374,14 +2396,8 @@ linktoc .value_required:n = true, linktoc/unknown .code:n = \eb_link_toc_put:n {#1}, linktoc .initial:n = all, - unknown .code:n = - { - \eb_set_hyperref:x - { - \str_use:N \l_keys_key_str - \tl_if_empty:NF \l_keys_value_tl { = \exp_not:n { {#1} } } - } - } + unknown .code:n = \eb_set_hyperref:x { \eb_unknown_kv_handle: }, + unknown .default:V = \c_novalue_tl } \cs_new_protected:Npn \eb_allow_url_break: @@ -2463,7 +2479,7 @@ } %</package> %<*tcolorbox> -\ProvidesExplFile{eb-tcolorbox.cfg}{2024/04/23}{2024ax} +\ProvidesExplFile{eb-tcolorbox.cfg}{2024/04/24}{2024az} {Customization of tcolorbox for easybook} \cs_set_protected:Npn \addtotcbstyle #1#2 |