diff options
author | Karl Berry <karl@freefriends.org> | 2021-05-14 20:14:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-05-14 20:14:04 +0000 |
commit | 21813d5f1f8535663b9f8c75dd5c013a41982552 (patch) | |
tree | 5776553ff3bd64f9b86034c03ea9e27381fb5dd2 /Master/texmf-dist/tex/latex/easybook | |
parent | addf7c02e26bbdd9ec7eec8b4b7ee7954fbfb7aa (diff) |
easybook (14may21)
git-svn-id: svn://tug.org/texlive/trunk@59197 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/easybook')
-rw-r--r-- | Master/texmf-dist/tex/latex/easybook/easybook.cls | 156 |
1 files changed, 83 insertions, 73 deletions
diff --git a/Master/texmf-dist/tex/latex/easybook/easybook.cls b/Master/texmf-dist/tex/latex/easybook/easybook.cls index bd59841b3b9..7ce44e4e202 100644 --- a/Master/texmf-dist/tex/latex/easybook/easybook.cls +++ b/Master/texmf-dist/tex/latex/easybook/easybook.cls @@ -13,7 +13,7 @@ %% https://creativecommons.org/licenses/by/4.0/legalcode \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplClass{easybook}{2021/05/12}{1.25h}{beta} +\ProvidesExplClass{easybook}{2021/05/14}{1.25i}{beta} \cs_generate_variant:Nn \eb_ctex_define:nn { nx } \cs_generate_variant:Nn \int_to_arabic:n { v } @@ -138,9 +138,10 @@ \seq_map_inline:Nn \c__eb_options_path_seq { \ctex_define:n { #1 .meta:nn = { ctex/#1 } {##1} } - \cs_new:cpn {#1} ##1 { \keys_set:nn {ctex/#1} {##1} } + \cs_new:cpn {#1} ##1 { \keys_set:nn { ctex/#1 } {##1} } } \keys_define:nn { } { ctex/link .inherit:n = ctex/refset } +\cs_set_eq:NN \link \refset \ctex_define:n { link .meta:nn = { ctex/link } {#1}, @@ -472,7 +473,7 @@ \cs_new:Npn \eb_upper_number_mark_bool:nn #1#2 { \bool_if:NT \l__eb_uppercase_bool - { \text_uppercase:n } { \use:c { eb_fancyhf_#1_mark:n } {#2} } + { \text_uppercase:n } {\use:c { eb_fancyhf_#1_mark:n } {#2}} } \cs_new:Npn \eb@number@markdouble #1#2 { @@ -568,7 +569,7 @@ { \hbox:n { - \tl_if_eq:NnT \l__eb_fnmark_position_tl {super} + \tl_if_eq:NnT \l__eb_fnmark_position_tl { super } { \textsuperscript }{\@thefnmark} \tl_use:N \l__eb_fnmark_after_tl } @@ -614,9 +615,10 @@ { \int_use:N #1 } } -\seq_const_from_clist:Nn \c__eb_toc_headings_level_seq - { part,chapter,section,subsection,list } -\seq_map_inline:Nn \c__eb_toc_headings_level_seq +\contentsuse{lstlisting}{lol} +\seq_const_from_clist:Nn \c__eb_toc_heading_level_seq + { part,chapter,section,subsection,figure,table,lstlisting } +\cs_new_protected:Npn \eb_toc_assign_keys:n #1 { \ctex_define:n { tocset/#1 .meta:nn = { ctex/tocset/#1 } {##1} } \eb_ctex_define:nn { tocset } @@ -630,6 +632,46 @@ #1/rule .tl_set:c = l__eb_toc_#1_rule_tl, #1/numsep .tl_set:c = eb@toc@#1@numsep } + \seq_if_in:NnF \c__eb_toc_heading_level_seq { subsection } + { + \eb_ctex_define:nn { tocset } + { #1/belowoffset .dim_set:c = l__eb_toc_#1_offset_dim } + } + \seq_pop:NN \c__eb_toc_heading_level_seq \l_tmpa_tl + \titlecontents{#1} + [\use:c { l__eb_toc_#1_indent_tl }] + {\use:c { l__eb_toc_#1_format_tl }} + { + \ifbool{eb@titletoc@hang@fix} + { + \contentspush + { + \bool_if:NT \l__eb_toc_number_color_bool + { \color{ctex@toc@number} } + \thecontentslabel + \hspace{\use:c { eb@toc@#1@numsep }} + } + }{} + }{} + {\use:c { l__eb_toc_#1_rule_tl }} + } +\seq_map_function:NN +\c__eb_toc_heading_level_seq \eb_toc_assign_keys:n + +\seq_const_from_clist:Nn \c__eb_toc_list_meta_keys_seq + { format,format+,format~+,indent,rule,numsep,belowoffset } +\ctex_define:n { tocset/list .meta:nn = { ctex/tocset/list } {#1} } +\seq_map_inline:Nn \c__eb_toc_list_meta_keys_seq + { + \eb_ctex_define:nn { tocset } + { + list/#1 .meta:n = + { + figure/#1 = ##1, + table/#1 = ##1, + lstlisting/#1 = ##1 + } + } } \cs_new:Npn \EbNumberline #1 @@ -643,11 +685,8 @@ \newbool{eb@titletoc@hang@fix} \eb_ctex_define:nn { tocset } { - list/lolskip .skip_set:N = \l__eb_toc_lolskip_skip, - list/lolskip .initial:n = 0.8pc, - list/belowoffset .dim_set:N = \l__eb_toc_listoffset_dim, - list/belowoffset .initial:n = - { \bool_if:NTF \l__eb_class_book_bool { 0pc } { 0.15pc } }, + lolskip .skip_set:N = \l__eb_toc_lolskip_skip, + lolskip .initial:n = 0.8pc, belowoffset .dim_set:N = \l__eb_toc_offset_dim, belowoffset .initial:n = @@ -657,21 +696,21 @@ { \figurename\space #1 \notbool{eb@titletoc@hang@fix} - {\hspace{\eb@toc@list@numsep}}{} + {\hspace{\eb@toc@figure@numsep}}{} }, tocline-tab .cs_set:Np = \eb@labelname@lot #1, tocline-tab .initial:n = { \tablename\space #1 \notbool{eb@titletoc@hang@fix} - {\hspace{\eb@toc@list@numsep}}{} + {\hspace{\eb@toc@table@numsep}}{} }, tocline-lst .tl_set:N = \eb@labelname@lol, tocline-lst .initial:n = { \lstlistingname\space\thelstlisting \notbool{eb@titletoc@hang@fix} - {\hspace{\eb@toc@list@numsep}}{} + {\hspace{\eb@toc@lstlisting@numsep}}{} }, line-align .bool_set:N = \l__eb_toc_line_align_bool, line-align .default:n = true, @@ -726,6 +765,18 @@ list/rule = #1 } } + +\NewDocumentCommand{\tocrule}{sO{0.7pc}D(){1.2}mO{}} + { + \normalsize\normalfont + \titlerule*[#2]{\scalebox{#3}{#4}}#5 + \IfBooleanTF{#1} + {\thecontentspage} + { + \bool_if:NTF \l__eb_toc_line_align_bool + { \contentspage } { \thecontentspage } + } + } \ctex_set:nn { tocset } { part/format = \addvspace{1pc}\sffamily\large, @@ -746,53 +797,12 @@ { \bool_if:NTF \l__eb_class_book_bool { 3.8\ccwd } { 1.4\ccwd } }, subsection/rule = \tocrule{$\cdot$}, - list/format = \addvspace{0.2pc}, - list/indent = 0\ccwd, - list/rule = \tocrule{$\cdot$} - } - -\NewDocumentCommand{\tocrule}{sO{0.7pc}D(){1.2}mO{}} - { - \normalsize\normalfont - \titlerule*[#2]{\scalebox{#3}{#4}}#5 - \IfBooleanTF{#1} - {\thecontentspage} - { - \bool_if:NTF \l__eb_toc_line_align_bool - { \contentspage } { \thecontentspage } - } - } -\cs_new_protected:Npn \eb_titlecontents_set:nn #1#2 - { - \titlecontents{#1} - [\use:c { l__eb_toc_#2_indent_tl }] - {\use:c { l__eb_toc_#2_format_tl }} - { - \ifbool{eb@titletoc@hang@fix} - { - \contentspush - { - \bool_if:NT \l__eb_toc_number_color_bool - { \color{ctex@toc@number} } - \thecontentslabel - \hspace{\use:c { eb@toc@#2@numsep }} - } - }{} - }{} - {\use:c { l__eb_toc_#2_rule_tl }} - } -\contentsuse{lstlisting}{lol} -\clist_map_inline:nn - { - { part } { part }, - { chapter } { chapter }, - { section } { section }, - { subsection } { subsection }, - { figure } { list }, - { table } { list }, - { lstlisting } { list } + list/format = \addvspace{0.2pc}, + list/indent = 0\ccwd, + list/rule = \tocrule{$\cdot$}, + list/belowoffset = + { \bool_if:NTF \l__eb_class_book_bool { 0pc } { 0.15pc } } } - { \eb_titlecontents_set:nn #1 } \prop_new:N \l__eb_label_name_prop \prop_set_from_keyval:Nn \l__eb_label_name_prop @@ -1009,7 +1019,7 @@ \IfValueT{#3}{\keys_set:nn { eb/listoc } {#3}} \eb_multoc_pre_bool: \eb_title_number_intoc_bool:nn {#2} {#1} - \dim_add:NV \l__eb_toc_offset_dim \l__eb_toc_listoffset_dim + \dim_add:NV \l__eb_toc_offset_dim \l__eb_toc_figure_offset_dim \vspace*{\dim_use:N \l__eb_toc_offset_dim} \@starttoc{lof} \eb_multoc_post_bool: @@ -1022,7 +1032,7 @@ \IfValueT{#3}{\keys_set:nn { eb/listoc } {#3}} \eb_multoc_pre_bool: \eb_title_number_intoc_bool:nn {#2} {#1} - \dim_add:NV \l__eb_toc_offset_dim \l__eb_toc_listoffset_dim + \dim_add:NV \l__eb_toc_offset_dim \l__eb_toc_table_offset_dim \vspace*{\dim_use:N \l__eb_toc_offset_dim} \@starttoc{lot} \eb_multoc_post_bool: @@ -1035,7 +1045,7 @@ \IfValueT{#3}{\keys_set:nn { eb/listoc } {#3}} \eb_multoc_pre_bool: \eb_title_number_intoc_bool:nn {#2} {#1} - \dim_add:NV \l__eb_toc_offset_dim \l__eb_toc_listoffset_dim + \dim_add:NV \l__eb_toc_offset_dim \l__eb_toc_lstlisting_offset_dim \vspace*{\dim_use:N \l__eb_toc_offset_dim} \@starttoc{lol} \eb_multoc_post_bool: @@ -1801,16 +1811,16 @@ \bool_set_false:N \l__eb_toc_number_color_bool \eb_ctex_define:nn { refset } { - hyperlink .choice:, - hyperlink/edge .code:n = { }, - hyperlink/none .code:n = \eb_put_hyperref:n { hidelinks }, - hyperlink/various .code:n = + linktype .choice:, + linktype/edge .code:n = { }, + linktype/none .code:n = \eb_put_hyperref:n { hidelinks }, + linktype/various .code:n = { \bool_set_true:N \l__eb_toc_number_color_bool \eb_put_hyperref:n { colorlinks } }, - hyperlink .default:n = edge, - hyperlink .initial:n = edge, + linktype .value_required:n = true, + linktype .initial:n = edge, linktoc .choice:, linktoc/unknown .code:n = @@ -1825,9 +1835,9 @@ } } }, - linktoc .default:n = all, - linktoc .initial:n = all, - unknown .code:n = + linktoc .default:n = all, + linktoc .initial:n = all, + unknown .code:n = { \eb_put_hyperref:x { |