diff options
author | Karl Berry <karl@freefriends.org> | 2021-04-29 20:46:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-04-29 20:46:41 +0000 |
commit | 6c392cb9a5cebc8e1a75958d45ee12e9ec90d256 (patch) | |
tree | 298fd1711f23e1d35692bebf8e8a522d50984915 /Master/texmf-dist/tex | |
parent | 0f66516bdf98cf59ca78b5894d1fc8af4c72b497 (diff) |
easybook (29apr21)
git-svn-id: svn://tug.org/texlive/trunk@59022 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/easybook/easybook.cls | 543 |
1 files changed, 269 insertions, 274 deletions
diff --git a/Master/texmf-dist/tex/latex/easybook/easybook.cls b/Master/texmf-dist/tex/latex/easybook/easybook.cls index aeb580d2cfe..427ba8dbace 100644 --- a/Master/texmf-dist/tex/latex/easybook/easybook.cls +++ b/Master/texmf-dist/tex/latex/easybook/easybook.cls @@ -13,27 +13,27 @@ %% https://creativecommons.org/licenses/by/4.0/legalcode \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplClass{easybook}{2021/04/27}{1.24u}{beta} +\ProvidesExplClass{easybook}{2021/04/29}{1.24w}{beta} -\cs_generate_variant:Nn \__ctex_define:nn {nx} +\cs_generate_variant:Nn \eb_ctex_define:nn {nx} \cs_generate_variant:Nn \int_to_arabic:n {v} \cs_generate_variant:Nn \dim_add:Nn {NV} -\cs_generate_variant:Nn \__eb_put_hyperref:n {x} -\cs_new_protected:Npn \__ctex_define:nn #1 +\cs_generate_variant:Nn \eb_put_hyperref:n {x} +\cs_new_protected:Npn \eb_ctex_define:nn #1 {\keys_define:nn {ctex/#1}} -\cs_new_protected:Npn \__eb_put_ctexbook:n #1 +\cs_new_protected:Npn \eb_put_ctexbook:n #1 {\PassOptionsToClass{#1}{ctexbook}} -\cs_new_protected:Npn \__eb_patch_cmd:Nnn #1#2#3 +\cs_new_protected:Npn \eb_patch_cmd:Nnn #1#2#3 {\ctex_patch_cmd_once:NnnnTF #1{}{#2}{#3}{}{\ctex_patch_failure:N #1}} -\cs_new_protected:Npn \__eb_appto_cmd:Nn #1#2 +\cs_new_protected:Npn \eb_appto_cmd:Nn #1#2 {\ctex_appto_cmd:NnnTF #1{}{#2}{}{\ctex_patch_failure:N #1}} -\cs_new_protected:Npn \__eb_at_end_preamble:n +\cs_new_protected:Npn \eb_at_end_preamble:n {\ctex_gadd_ltxhook:nn {env/document/before}} +\cs_gset_eq:NN \PackageWarning\use_none:nn -\bool_set_false:N \l__eb_draft_bool -\bool_set_false:N \l__eb_newline_bool +\bool_set_false:N \l__eb_compile_draft_bool +\bool_set_false:N \l__eb_title_newline_bool \bool_set_false:N \l__eb_font_noto_bool -\bool_set_true:N \l__eb_zhtitle_bool \bool_set_true:N \l__eb_page_twoside_bool \bool_set_true:N \l__eb_class_book_bool \tl_new:N \g__eb_config_tl @@ -41,22 +41,21 @@ \keys_define:nn {easybook} { - draft .code:n = \bool_set_true:N \l__eb_draft_bool, - newline .code:n = \bool_set_true:N \l__eb_newline_bool, - entitle .code:n = \bool_set_false:N \l__eb_zhtitle_bool, - scheme .code:n = \__eb_put_ctexbook:n {scheme = #1}, - enstyle .meta:n = {newline,entitle,scheme = plain}, + draft .code:n = \bool_set_true:N \l__eb_compile_draft_bool, + newline .code:n = \bool_set_true:N \l__eb_title_newline_bool, + scheme .code:n = \eb_put_ctexbook:n {scheme = #1}, + enmode .meta:n = {newline,scheme = plain}, font .choices:nn = {adobe,founder,mac,windows,none} - {\__eb_put_ctexbook:n {fontset = \l_keys_choice_tl}}, + {\eb_put_ctexbook:n {fontset = \l_keys_choice_tl}}, font/noto .code:n = { \bool_set_true:N \l__eb_font_noto_bool - \__eb_put_ctexbook:n {fontset = none} + \eb_put_ctexbook:n {fontset = none} }, font/overleaf .code:n = {}, - font/linux .code:n = \__eb_put_ctexbook:n {fontset = ubuntu}, + font/linux .code:n = \eb_put_ctexbook:n {fontset = ubuntu}, font .value_required:n = true, font .initial:n = overleaf, @@ -70,12 +69,12 @@ oneside .code:n = { \bool_set_false:N \l__eb_page_twoside_bool - \__eb_put_ctexbook:n {oneside} + \eb_put_ctexbook:n {oneside} }, twoside .code:n = { \bool_set_true:N \l__eb_page_twoside_bool - \__eb_put_ctexbook:n {twoside} + \eb_put_ctexbook:n {twoside} }, class .choice:, @@ -109,7 +108,7 @@ {no-math}{fontspec}, {noto,upint}{newtxmath} }{\PassOptionsToPackage#1} -\__eb_put_ctexbook:n {\g__eb_options_clist} +\eb_put_ctexbook:n {\g__eb_options_clist} \LoadClass[UTF8]{ctexbook} \bool_new:N \l__eb_multoc_bool @@ -134,7 +133,7 @@ lstlistlistingname .tl_set:N = \lstlistlistingname, lstlistingname .tl_set:N = \lstlistingname } -\__ctex_define:nn {style} +\eb_ctex_define:nn {style} { multoc .bool_set:N = \l__eb_multoc_bool, multoc .default:n = true, @@ -193,7 +192,7 @@ {\file_input:n {\g__eb_config_tl}} } -\cs_new_protected:Npn \__eb_package_later_bool:nn #1#2 +\cs_new_protected:Npn \eb_package_later_bool:nn #1#2 { \@ifpackagelater{#1}{#2} {}{\msg_warning:nnn {easybook}{package-old}{#1}} @@ -213,96 +212,96 @@ {ctex}{2020/10/19}, {thmtools}{2020/08/01}, {caption-light}{2020/08/24} - }{\__eb_package_later_bool:nn #1} + }{\eb_package_later_bool:nn #1} \sys_if_engine_xetex:TF { - \cs_new_eq:NN \__eb_set_family:nnn \xeCJK_set_family:nnn - \cs_new_eq:NN \__eb_switch_family:n \xeCJK_switch_family:n + \cs_new_eq:NN \eb_set_family:nnn \xeCJK_set_family:nnn + \cs_new_eq:NN \eb_switch_family:n \xeCJK_switch_family:n }{ - \cs_new_eq:NN \__eb_set_family:nnn \ctex_ltj_set_family:nnn - \cs_new_eq:NN \__eb_switch_family:n \ctex_ltj_switch_family:n + \cs_new_eq:NN \eb_set_family:nnn \ctex_ltj_set_family:nnn + \cs_new_eq:NN \eb_switch_family:n \ctex_ltj_switch_family:n } -\cs_new_protected:Npn \__eb_setmainfont:nn #1#2 +\cs_new_protected:Npn \eb_setmainfont:nn #1#2 {\__fontspec_main_setmainfont:nn {#2}{#1}} -\cs_new_protected:Npn \__eb_setsansfont:nn #1#2 +\cs_new_protected:Npn \eb_setsansfont:nn #1#2 {\__fontspec_main_setsansfont:nn {#2}{#1}} -\cs_new_protected:Npn \__eb_setmonofont:nn #1#2 +\cs_new_protected:Npn \eb_setmonofont:nn #1#2 {\__fontspec_main_setmonofont:nn {#2}{#1}} -\cs_new_protected:Npn \__eb_setCJKmainfont:nn #1#2 - {\__eb_set_family:nnn {\CJKrmdefault}{#2}{#1}} -\cs_new_protected:Npn \__eb_setCJKsansfont:nn #1#2 - {\__eb_set_family:nnn {\CJKsfdefault}{#2}{#1}} -\cs_new_protected:Npn \__eb_setCJKmonofont:nn #1#2 - {\__eb_set_family:nnn {\CJKttdefault}{#2}{#1}} -\cs_new_protected:Npn \__eb_set_zhfont_songti:nn #1#2 - {\__eb_set_family:nnn {songti}{#2}{#1}} -\cs_new_protected:Npn \__eb_set_zhfont_heiti:nn #1#2 - {\__eb_set_family:nnn {heiti}{#2}{#1}} -\cs_new_protected:Npn \__eb_set_zhfont_kaishu:nn #1#2 - {\__eb_set_family:nnn {kaishu}{#2}{#1}} -\cs_new_protected:Npn \__eb_set_zhfont_fangsong:nn #1#2 - {\__eb_set_family:nnn {fangsong}{#2}{#1}} - -\tl_const:Nn \__eb_option_zhfont_tl +\cs_new_protected:Npn \eb_setCJKmainfont:nn #1#2 + {\eb_set_family:nnn {\CJKrmdefault}{#2}{#1}} +\cs_new_protected:Npn \eb_setCJKsansfont:nn #1#2 + {\eb_set_family:nnn {\CJKsfdefault}{#2}{#1}} +\cs_new_protected:Npn \eb_setCJKmonofont:nn #1#2 + {\eb_set_family:nnn {\CJKttdefault}{#2}{#1}} +\cs_new_protected:Npn \eb_set_zhfont_songti:nn #1#2 + {\eb_set_family:nnn {songti}{#2}{#1}} +\cs_new_protected:Npn \eb_set_zhfont_heiti:nn #1#2 + {\eb_set_family:nnn {heiti}{#2}{#1}} +\cs_new_protected:Npn \eb_set_zhfont_kaishu:nn #1#2 + {\eb_set_family:nnn {kaishu}{#2}{#1}} +\cs_new_protected:Npn \eb_set_zhfont_fangsong:nn #1#2 + {\eb_set_family:nnn {fangsong}{#2}{#1}} + +\tl_const:Nn \eb_option_zhfont_tl {UprightFont = *,AutoFakeBold = 1.5,ItalicFont = *} -\cs_new_protected:Npx \__eb_setCJKmainfont:n #1 - {\__eb_setCJKmainfont:nn {#1}{\__eb_option_zhfont_tl}} -\cs_new_protected:Npx \__eb_setCJKsansfont:n #1 - {\__eb_setCJKsansfont:nn {#1}{\__eb_option_zhfont_tl}} -\cs_new_protected:Npx \__eb_setCJKmonofont:n #1 - {\__eb_setCJKmonofont:nn {#1}{\__eb_option_zhfont_tl}} -\cs_new_protected:Npx \__eb_set_zhfont_songti:n #1 - {\__eb_set_zhfont_songti:nn {#1}{\__eb_option_zhfont_tl}} -\cs_new_protected:Npx \__eb_set_zhfont_heiti:n #1 - {\__eb_set_zhfont_heiti:nn {#1}{\__eb_option_zhfont_tl}} -\cs_new_protected:Npx \__eb_set_zhfont_kaishu:n #1 - {\__eb_set_zhfont_kaishu:nn {#1}{\__eb_option_zhfont_tl}} -\cs_new_protected:Npx \__eb_set_zhfont_fangsong:n #1 - {\__eb_set_zhfont_fangsong:nn {#1}{\__eb_option_zhfont_tl}} +\cs_new_protected:Npx \eb_setCJKmainfont:n #1 + {\eb_setCJKmainfont:nn {#1}{\eb_option_zhfont_tl}} +\cs_new_protected:Npx \eb_setCJKsansfont:n #1 + {\eb_setCJKsansfont:nn {#1}{\eb_option_zhfont_tl}} +\cs_new_protected:Npx \eb_setCJKmonofont:n #1 + {\eb_setCJKmonofont:nn {#1}{\eb_option_zhfont_tl}} +\cs_new_protected:Npx \eb_set_zhfont_songti:n #1 + {\eb_set_zhfont_songti:nn {#1}{\eb_option_zhfont_tl}} +\cs_new_protected:Npx \eb_set_zhfont_heiti:n #1 + {\eb_set_zhfont_heiti:nn {#1}{\eb_option_zhfont_tl}} +\cs_new_protected:Npx \eb_set_zhfont_kaishu:n #1 + {\eb_set_zhfont_kaishu:nn {#1}{\eb_option_zhfont_tl}} +\cs_new_protected:Npx \eb_set_zhfont_fangsong:n #1 + {\eb_set_zhfont_fangsong:nn {#1}{\eb_option_zhfont_tl}} \bool_if:NT \l__eb_font_noto_bool { - \__eb_setmainfont:nn {NotoSerif} + \eb_setmainfont:nn {NotoSerif} { Extension = .ttf, UprightFont = *-Regular, BoldFont = *-Bold, ItalicFont = *-Italic } - \__eb_setsansfont:nn {NotoSans} + \eb_setsansfont:nn {NotoSans} { Extension = .ttf, UprightFont = *-Regular, BoldFont = *-Bold, ItalicFont = *-Italic } - \__eb_setmonofont:nn {NotoSansMono} + \eb_setmonofont:nn {NotoSansMono} { Extension = .ttf, UprightFont = *-Regular, BoldFont = *-Bold } - \__eb_setCJKmainfont:nn {FZShuSong-Z01S} + \eb_setCJKmainfont:nn {FZShuSong-Z01S} { UprightFont = *, BoldFont = FZHei-B01S, ItalicFont = FZKai-Z03S } - \__eb_setCJKsansfont:n {FZHei-B01S} - \__eb_setCJKmonofont:n {FZFangSong-Z02S} - \__eb_set_zhfont_songti:n {FZShuSong-Z01S} - \__eb_set_zhfont_heiti:n {FZHei-B01S} - \__eb_set_zhfont_kaishu:n {FZKai-Z03S} - \__eb_set_zhfont_fangsong:n {FZFangSong-Z02S} - \cs_new_protected:Npn \songti{\__eb_switch_family:n {songti}} - \cs_new_protected:Npn \heiti{\__eb_switch_family:n {heiti}} - \cs_new_protected:Npn \kaishu{\__eb_switch_family:n {kaishu}} - \cs_new_protected:Npn \fangsong{\__eb_switch_family:n {fangsong}} - } -\__eb_at_end_preamble:n - {\cs_if_exist:NF \kaishu{\cs_gset_eq:NN \kaishu\normalfont}} + \eb_setCJKsansfont:n {FZHei-B01S} + \eb_setCJKmonofont:n {FZFangSong-Z02S} + \eb_set_zhfont_songti:n {FZShuSong-Z01S} + \eb_set_zhfont_heiti:n {FZHei-B01S} + \eb_set_zhfont_kaishu:n {FZKai-Z03S} + \eb_set_zhfont_fangsong:n {FZFangSong-Z02S} + \cs_new_protected:Npn \songti{\eb_switch_family:n {songti}} + \cs_new_protected:Npn \heiti{\eb_switch_family:n {heiti}} + \cs_new_protected:Npn \kaishu{\eb_switch_family:n {kaishu}} + \cs_new_protected:Npn \fangsong{\eb_switch_family:n {fangsong}} + } +\eb_at_end_preamble:n + {\cs_if_exist:NF \kaishu{\cs_gset_eq:NN \kaishu\itshape}} \includepdfset{fitpaper = true} \geometry @@ -318,7 +317,7 @@ marginparwidth = 2.54cm } \clist_new:N \g__eb_geometry_clist -\__ctex_define:nn {geoset} +\eb_ctex_define:nn {geoset} { footnotemargin .dim_set:N = \footnotemargin, footnotemargin .initial:n = 0.5\ccwd, @@ -348,18 +347,18 @@ \RenewDocumentCommand{\frontmatter}{sO{Roman}} { \IfBooleanTF{#1}{\clearpage}{\cleardoublepage} - \@mainmatterfalse + \boolfalse{@mainmatter} \pagenumbering{#2} } \RenewDocumentCommand{\mainmatter}{s} { \IfBooleanTF{#1}{\clearpage}{\cleardoublepage} - \@mainmattertrue + \booltrue{@mainmatter} \pagenumbering{arabic} } \cs_gset_eq:NN \easyhead\fancyhead \cs_gset_eq:NN \easyfoot\fancyfoot -\__ctex_define:nn {hdrset} +\eb_ctex_define:nn {hdrset} { head-foot .tl_set:N = \l__eb_fancyhf_content_tl, head-foot .initial:n = @@ -375,36 +374,34 @@ } }, - chap-mark .cs_set:Np = \__eb_fancyhf_chap_mark:n #1, + chap-mark .cs_set:Np = \eb_fancyhf_chapter_mark:n #1, chap-mark .initial:n = { \int_compare:nT {\c@secnumdepth > -1} { - \if@mainmatter - \ifodd\CTEX@chapter@numbering - \CTEXthechapter\hspace{\ccwd} - \fi - \fi + \ifbool{@mainmatter} + { + \int_if_odd:nT {\CTEX@chapter@numbering} + {\CTEXthechapter\hspace{\ccwd}} + }{} }#1 }, - sec-mark .cs_set:Np = \__eb_fancyhf_sec_mark:n #1, + sec-mark .cs_set:Np = \eb_fancyhf_section_mark:n #1, sec-mark .initial:n = { \int_compare:nT {\c@secnumdepth > 0} { - \ifodd\CTEX@section@numbering - \CTEXthesection\hspace{0.5\ccwd} - \fi + \int_if_odd:nT {\CTEX@section@numbering} + {\CTEXthesection\hspace{0.5\ccwd}} }#1 }, - subsec-mark .cs_set:Np = \__eb_fancyhf_subsec_mark:n #1, + subsec-mark .cs_set:Np = \eb_fancyhf_subsection_mark:n #1, subsec-mark .initial:n = { \int_compare:nT {\c@secnumdepth > 1} { - \ifodd\CTEX@subsection@numbering - \CTEXthesubsection\hspace{0.5\ccwd} - \fi + \int_if_odd:nT {\CTEX@subsection@numbering} + {\CTEXthesubsection\hspace{0.5\ccwd}} }#1 }, @@ -428,21 +425,22 @@ \group_end: } } -\cs_new:Npn \__eb_upper_chaptermark_bool:n #1 - { - \bool_if:NT \l__eb_uppercase_bool - {\text_uppercase:n}{\__eb_fancyhf_chap_mark:n {#1}} - } -\cs_new:Npn \__eb_upper_sectionmark_bool:n #1 +\cs_new:Npn \eb_upper_number_mark_bool:nn #1#2 { \bool_if:NT \l__eb_uppercase_bool - {\text_uppercase:n}{\__eb_fancyhf_sec_mark:n {#1}} + {\text_uppercase:n}{\use:c {eb_fancyhf_#1_mark:n}{#2}} } -\cs_new:Npn \__eb_upper_subsectionmark_bool:n #1 +\cs_new:Npn \eb@number@markdouble#1#2 { - \bool_if:NT \l__eb_uppercase_bool - {\text_uppercase:n}{\__eb_fancyhf_subsec_mark:n {#1}} + \markboth + {\eb_upper_number_mark_bool:nn {#1}{#2}} + { + \bool_if:NT \l__eb_page_twoside_bool + {\eb_upper_number_mark_bool:nn {#1}{#2}} + } } +\cs_new:Npn \eb@number@markright#1#2 + {\markright{\eb_upper_number_mark_bool:nn {#1}{#2}}} \ctex_at_end_preamble:n { \exp_args:NV \geometry\g__eb_geometry_clist @@ -453,30 +451,16 @@ \bool_if:NTF \l__eb_class_book_bool { \cs_gset:Npn \chaptermark#1 - { - \markboth - {\__eb_upper_chaptermark_bool:n {#1}} - { - \bool_if:NT \l__eb_page_twoside_bool - {\__eb_upper_chaptermark_bool:n {#1}} - } - } + {\eb@number@markdouble{chapter}{#1}} \cs_gset:Npn \sectionmark#1 - {\markright{\__eb_upper_sectionmark_bool:n {#1}}} + {\eb@number@markright{section}{#1}} }{ \cs_gset:Npn \sectionmark#1 - { - \markboth - {\__eb_upper_sectionmark_bool:n {#1}} - { - \bool_if:NT \l__eb_page_twoside_bool - {\__eb_upper_sectionmark_bool:n {#1}} - } - } + {\eb@number@markdouble{section}{#1}} \cs_gset:Npn \subsectionmark#1 - {\markright{\__eb_upper_subsectionmark_bool:n {#1}}} + {\eb@number@markright{subsection}{#1}} } - \bool_if:NT \l__eb_draft_bool + \bool_if:NT \l__eb_compile_draft_bool { \bool_if:NTF \l__eb_page_twoside_bool {\easyfoot[C]{\color{SlateGray}\sffamily\today}} @@ -490,7 +474,7 @@ \seq_map_inline:Nn \c__eb_toc_headings_level_seq { \ctex_define:n {tocset/#1 .meta:nn = {ctex/tocset/#1}{##1}} - \__ctex_define:nn {tocset} + \eb_ctex_define:nn {tocset} { #1/format .tl_set:c = l__eb_toc_#1_format_tl, #1/indent .tl_set:c = l__eb_toc_#1_indent_tl, @@ -507,8 +491,8 @@ \hspace{\use:c {eb@toc@#1@numsep}} }{} } -\newtoggle{eb@titletoc@hang@fix} -\__ctex_define:nn {tocset} +\newbool{eb@titletoc@hang@fix} +\eb_ctex_define:nn {tocset} { lists/lolskip .skip_set:N = \l__eb_toc_lolskip_skip, lists/lolskip .initial:n = 0.8pc, @@ -522,22 +506,22 @@ tocline-fig .initial:n = { \figurename\space#1 - \iftoggle{eb@titletoc@hang@fix}{} - {\hspace{\eb@toc@lists@numsep}} + \notbool{eb@titletoc@hang@fix} + {\hspace{\eb@toc@lists@numsep}}{} }, tocline-tab .cs_set:Np = \eb@labelname@lot#1, tocline-tab .initial:n = { \tablename\space#1 - \iftoggle{eb@titletoc@hang@fix}{} - {\hspace{\eb@toc@lists@numsep}} + \notbool{eb@titletoc@hang@fix} + {\hspace{\eb@toc@lists@numsep}}{} }, tocline-lst .tl_set:N = \eb@labelname@lol, tocline-lst .initial:n = { \lstlistingname\space\thelstlisting - \iftoggle{eb@titletoc@hang@fix}{} - {\hspace{\eb@toc@lists@numsep}} + \notbool{eb@titletoc@hang@fix} + {\hspace{\eb@toc@lists@numsep}}{} }, line-align .bool_set:N = \l__eb_toc_line_align_bool, line-align .default:n = true, @@ -546,7 +530,7 @@ hang .choice:, hang/true .code:n = { - \toggletrue{eb@titletoc@hang@fix} + \booltrue{eb@titletoc@hang@fix} \ctex_set:n { chapter/tocline = \CTEXnumberline{##1}##2, @@ -602,7 +586,8 @@ section/numsep = \ccwd, subsection/format = \addvspace{0.35pc}, - subsection/indent = 3.8\ccwd, + subsection/indent = + {\bool_if:NTF \l__eb_class_book_bool{3.8\ccwd}{1.4\ccwd}}, subsection/rule = \tocrule{$\cdot$}, subsection/numsep = \ccwd, @@ -623,17 +608,18 @@ {\contentspage}{\thecontentspage} } } -\cs_new_protected:Npn \__eb_titlecontents_set:nn #1#2 +\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}} { - \iftoggle{eb@titletoc@hang@fix} + \ifbool{eb@titletoc@hang@fix} { \contentspush { - \bool_if:NT \l__eb_toc_color_bool{\color{ctex@toc}} + \bool_if:NT \l__eb_toc_number_color_bool + {\color{ctex@toc@number}} \thecontentslabel \hspace{\use:c {eb@toc@#2@numsep}} } @@ -651,7 +637,7 @@ {figure}{lists}, {table}{lists}, {lstlisting}{lists} - }{\__eb_titlecontents_set:nn #1} + }{\eb_titlecontents_set:nn #1} \prop_new:N \l__eb_label_name_prop \prop_set_from_keyval:Nn \l__eb_label_name_prop @@ -663,8 +649,8 @@ { \addcontentsline{#1}{#2} { - \iftoggle{eb@titletoc@hang@fix}{\protect\numberline}{} - {\prop_item:Nn \l__eb_label_name_prop{#2}{#3}}{#4} + \ifbool{eb@titletoc@hang@fix}{\protect\numberline}{} + {\prop_item:Nn \l__eb_label_name_prop{#2}{#3}}{#4} } } \ctex_patch_cmd:Nnn \lst@MakeCaption @@ -674,12 +660,12 @@ }{ \addcontentsline{lol}{lstlisting} { - \iftoggle{eb@titletoc@hang@fix}{\protect\numberline}{} - {\eb@labelname@lol}\lst@@caption + \ifbool{eb@titletoc@hang@fix}{\protect\numberline}{} + {\eb@labelname@lol}\lst@@caption } } -\__eb_appto_cmd:Nn \@chapter +\eb_appto_cmd:Nn \@chapter { \skip_if_eq:nnF {\l__eb_toc_lolskip_skip}{\c_zero_skip} { @@ -689,7 +675,7 @@ \bool_if:NF \l__eb_class_book_bool {\msg_error:nn {easybook}{no-chapter}} } -\__eb_appto_cmd:Nn \@schapter +\eb_appto_cmd:Nn \@schapter { \bool_if:NF \l__eb_class_book_bool {\msg_error:nn {easybook}{no-chapter}} @@ -700,23 +686,23 @@ The~\string\chapter\space~command~will~not~be~used. } -\cs_new_protected:Npn \__eb_uppercase_bool:n #1 +\cs_new:Npn \eb_upper_nonumber_mark_bool:n #1 { \bool_if:NTF \l__eb_uppercase_bool {\text_uppercase:n {#1}} {\text_titlecase_first:n {#1}} } -\cs_new_protected:Npn \eb@nonumber@markdouble#1 +\cs_new:Npn \eb@nonumber@markdouble#1 { \markboth - {\__eb_uppercase_bool:n {#1}} + {\eb_upper_nonumber_mark_bool:n {#1}} { \bool_if:NT \l__eb_page_twoside_bool - {\__eb_uppercase_bool:n {#1}} + {\eb_upper_nonumber_mark_bool:n {#1}} } } -\cs_new_protected:Npn \eb@nonumber@markright#1 - {\markright{\__eb_uppercase_bool:n {#1}}} +\cs_new:Npn \eb@nonumber@markright#1 + {\markright{\eb_upper_nonumber_mark_bool:n {#1}}} \tl_set:Nn \l__eb_toc_type_tl{book} \keys_define:nn {listoc} @@ -729,7 +715,7 @@ title .tl_set:N = \eb@toc@title } -\cs_new_protected:Npn \__eb_title_mark_intoc:n #1 +\cs_new_protected:Npn \eb_title_mark_intoc:n #1 { \tl_if_eq:NnTF \l__eb_toc_type_tl{book} { @@ -744,7 +730,7 @@ {\eb@nonumber@markdouble{#1}} } } -\cs_new_protected:Npn \__eb_title_mark_notoc:n #1 +\cs_new_protected:Npn \eb_title_mark_notoc:n #1 { \tl_if_eq:NnTF \l__eb_toc_type_tl{book} { @@ -757,7 +743,20 @@ {\eb@nonumber@markdouble{#1}} } } -\cs_new_protected:Npn \__eb_class_title_bool:n #1 +\cs_new_protected:Npn \eb_title_intoc_bool:nn #1#2 + { + \IfBooleanTF{#1} + { + \tl_if_eq:NnTF \l__eb_toc_type_tl{book} + {\chapter{\eb@toc@title}} + {\section{\eb@toc@title}} + }{ + \IfBooleanTF{#2} + {\eb_title_mark_notoc:n {\eb@toc@title}} + {\eb_title_mark_intoc:n {\eb@toc@title}} + } + } +\cs_new_protected:Npn \eb_class_title_bool:n #1 { \bool_if:NTF \l__eb_class_book_bool { @@ -769,85 +768,74 @@ } \eb@nonumber@markdouble{#1} } -\cs_new_protected:Npn \__eb_multoc_pre_bool: +\cs_new_protected:Npn \eb_multoc_pre_bool: { \bool_if:NTF \l__eb_class_book_bool { - \if@twocolumn - \@restonecoltrue - \bool_if:NTF \l__eb_multoc_bool{\twocolumn}{\onecolumn} - \else - \@restonecolfalse - \bool_if:NT \l__eb_multoc_bool{\twocolumn} - \fi - }{\tl_set:Nn \l__eb_toc_type_tl{article}} - } -\cs_new_protected:Npn \__eb_multoc_post_bool: - { - \bool_if:NTF \l__eb_class_book_bool - { - \if@restonecol - \twocolumn - \else - \onecolumn - \fi + \ifbool{@twocolumn} + { + \booltrue{@restonecol} + \bool_if:NTF \l__eb_multoc_bool{\twocolumn}{\onecolumn} + }{ + \boolfalse{@restonecol} + \bool_if:NT \l__eb_multoc_bool{\twocolumn} + } }{\tl_set:Nn \l__eb_toc_type_tl{article}} } -\cs_new_protected:Npn \__eb_title_intoc_bool:n #1 +\cs_new_protected:Npn \eb_multoc_post_bool: { - \IfBooleanTF{#1} - {\__eb_title_mark_notoc:n {\eb@toc@title}} - {\__eb_title_mark_intoc:n {\eb@toc@title}} + \bool_if:NT \l__eb_class_book_bool + {\ifbool{@restonecol}{\twocolumn}{\onecolumn}} } \RenewDocumentCommand{\tableofcontents}{o} { \group_begin: \tl_set_eq:NN \eb@toc@title\contentsname \IfValueT{#1}{\keys_set:nn {listoc}{#1}} - \__eb_multoc_pre_bool: - \__eb_title_mark_notoc:n {\eb@toc@title} + \eb_multoc_pre_bool: + \eb_title_mark_notoc:n {\eb@toc@title} \vspace*{\dim_use:N \l__eb_toc_offset_dim} \@starttoc{toc} - \__eb_multoc_post_bool: + \eb_multoc_post_bool: \group_end: } -\RenewDocumentCommand{\listoffigures}{so} +\RenewDocumentCommand{\listoffigures}{st+o} { \group_begin: \tl_set_eq:NN \eb@toc@title\listfigurename - \IfValueT{#2}{\keys_set:nn {listoc}{#2}} - \__eb_multoc_pre_bool: - \__eb_title_intoc_bool:n {#1} + \IfValueT{#3}{\keys_set:nn {listoc}{#3}} + \eb_multoc_pre_bool: + \eb_title_intoc_bool:nn {#2}{#1} \dim_add:NV \l__eb_toc_offset_dim\l__eb_toc_listsoffset_dim \vspace*{\dim_use:N \l__eb_toc_offset_dim} \@starttoc{lof} - \__eb_multoc_post_bool: + \eb_multoc_post_bool: \group_end: } -\RenewDocumentCommand{\listoftables}{so} +\RenewDocumentCommand{\listoftables}{st+o} { \group_begin: \tl_set_eq:NN \eb@toc@title\listtablename - \IfValueT{#2}{\keys_set:nn {listoc}{#2}} - \__eb_multoc_pre_bool: - \__eb_title_intoc_bool:n {#1} + \IfValueT{#3}{\keys_set:nn {listoc}{#3}} + \eb_multoc_pre_bool: + \eb_title_intoc_bool:nn {#2}{#1} \dim_add:NV \l__eb_toc_offset_dim\l__eb_toc_listsoffset_dim \vspace*{\dim_use:N \l__eb_toc_offset_dim} \@starttoc{lot} - \__eb_multoc_post_bool: + \eb_multoc_post_bool: \group_end: } -\NewDocumentCommand{\listoflistings}{so} +\NewDocumentCommand{\listoflistings}{st+o} { \group_begin: \tl_set_eq:NN \eb@toc@title\lstlistlistingname - \IfValueT{#2}{\keys_set:nn {listoc}{#2}} - \__eb_multoc_pre_bool: - \__eb_title_intoc_bool:n {#1} + \IfValueT{#3}{\keys_set:nn {listoc}{#3}} + \eb_multoc_pre_bool: + \eb_title_intoc_bool:nn {#2}{#1} \dim_add:NV \l__eb_toc_offset_dim\l__eb_toc_listsoffset_dim \vspace*{\dim_use:N \l__eb_toc_offset_dim} \@starttoc{lol} - \__eb_multoc_post_bool: + \eb_multoc_post_bool: \group_end: } @@ -855,6 +843,7 @@ { \makeindex[ intoc, + title = \eb@toc@title, options = -M~texindy~-C~utf8, program = truexindy, columns = 2, @@ -869,6 +858,14 @@ \ctex_patch_cmd:Nnn \imki@indexheaders {\@mkboth{\MakeUppercase\indexname}{\MakeUppercase\indexname}} {\eb@nonumber@markdouble{\indexname}} + \RenewDocumentCommand{\printindex} + {D(){\imki@jobname}O{\imki@indexname}} + { + \group_begin: + \tl_set:Nn \eb@toc@title{#2} + \imki@putindex{#1} + \group_end: + } } \tl_new:N \l__eb_font_table_tl @@ -876,7 +873,7 @@ \tl_new:N \l__eb_font_listing_tl \tl_new:N \l__eb_font_footnote_tl -\__ctex_define:nn {elsefont} +\eb_ctex_define:nn {elsefont} { table-cap .tl_set:N = \l__eb_font_table_tl, table-cap .initial:n = \sffamily\small, @@ -920,8 +917,8 @@ \captionsetup[figure][bi-second]{name = Figure} \captionsetup[table][bi-second]{name = Table} } -\cs_new:Npn \__eb_arabic:n #1{\int_to_arabic:v {c@#1}} -\cs_new_protected:Npn \__eb_separator_set:n #1 +\cs_new:Npn \eb_arabic:n #1{\int_to_arabic:v {c@#1}} +\cs_new_protected:Npn \eb_separator_set:n #1 { \cs_set:cpn {the#1} { @@ -930,17 +927,17 @@ \thechapter \use:c {l__eb_#1_separator_tl} } - \__eb_arabic:n {#1} + \eb_arabic:n {#1} } } \cs_gset:cpn {thesection} { \int_compare:nT {\c@chapter > 0}{\thechapter.} - \__eb_arabic:n {section} + \eb_arabic:n {section} } \clist_map_inline:nn {figure,table,lstlisting,equation} - {\__eb_separator_set:n {#1}} + {\eb_separator_set:n {#1}} \cs_gset_protected:Npn \appendix { \int_compare:nNnTF {\c@chapter} > {0} @@ -985,7 +982,7 @@ \fp_new:N \l__eb_spread_caption_fp \fp_new:N \l__eb_spread_footnote_fp -\__ctex_define:nn {spread} +\eb_ctex_define:nn {spread} { line .fp_set:N = \l__eb_spread_line_fp, line .initial:n = 1.3, @@ -1024,7 +1021,7 @@ \graphicspath{{figures/}} \DeclareGraphicsExtensions{.pdf,.png,.jpg,.eps,.tif} -\cs_new_protected:Npn \__eb_enumitem_labelval_set:nn #1#2 +\cs_new_protected:Npn \eb_enumitem_labelval_set:nn #1#2 {\SetEnumitemValue{label}{#1}{\color{ctex@emph}#2}} \clist_map_inline:nn { @@ -1035,7 +1032,7 @@ {alph}{(\alph*)}, {roman}{\roman*.}, {outline}{\upshape\ding{111}} - }{\__eb_enumitem_labelval_set:nn #1} + }{\eb_enumitem_labelval_set:nn #1} \SetEnumitemValue{font}{sf}{\color{ctex@emph}\normalfont\sffamily} \setlist { @@ -1054,7 +1051,7 @@ \setlist*[enumerate,3]{labelwidth = *} \setlist[description]{font = sf,labelwidth = *,leftmargin = 2\ccwd} -\cs_new_protected:Npn \__eb_thmname_set:nnn #1#2#3 +\cs_new_protected:Npn \eb_thmname_set:nnn #1#2#3 { \tl_if_eq:NnTF \l__ctex_scheme_tl{chinese} {\tl_const:cn {c__eb_name_#1_tl}{#3}} @@ -1065,7 +1062,7 @@ { \ctex_at_end_preamble:n { - \__eb_thmname_set:nnn {#1}{#2}{#3} + \eb_thmname_set:nnn {#1}{#2}{#3} \exp_args:No \declaretheorem@i { name = \use:c {c__eb_name_#1_tl}, @@ -1091,7 +1088,7 @@ \RenewDocumentCommand{\newtheorem}{O{}m} {\AfterPreamble{\declaretheorem[#1]{#2}}} -\__ctex_define:nn {thmset} +\eb_ctex_define:nn {thmset} { thmbox .bool_set:N = \l__eb_thmbox_bool, thmbox .default:n = true, @@ -1131,11 +1128,11 @@ headformat = \NAME\space\NUMBER\NOTE ] } -\__eb_at_end_preamble:n +\eb_at_end_preamble:n { \exp_last_unbraced:No \declaretheoremstyle\c__eb_thmtools_keyval_tl{easy-theorem} - \__eb_thmname_set:nnn {exercise}{Exercise}{练习} + \eb_thmname_set:nnn {exercise}{Exercise}{练习} \cs_undefine:N \proof \clist_map_inline:nn { @@ -1198,16 +1195,16 @@ cases,cases*,dcases,dcases*,rcases,rcases*,drcases,drcases*, aligned,alignedat,gathered,multlined,lgathered,rgathered }{\l__eb_math_restore:n {#1}} -\__eb_patch_cmd:Nnn \start@gather +\eb_patch_cmd:Nnn \start@gather {\collect@body} {\linespread{\fp_use:N \l__eb_spread_math_fp}\selectfont\collect@body} -\__eb_patch_cmd:Nnn \start@align +\eb_patch_cmd:Nnn \start@align {\collect@body} {\linespread{\fp_use:N \l__eb_spread_math_fp}\selectfont\collect@body} -\__eb_patch_cmd:Nnn \start@multline +\eb_patch_cmd:Nnn \start@multline {\collect@body} {\linespread{\fp_use:N \l__eb_spread_math_fp}\selectfont\collect@body} -\__eb_patch_cmd:Nnn \gather@split +\eb_patch_cmd:Nnn \gather@split {\spread@equation} {\linespread{\fp_use:N \l__eb_spread_math_fp}\selectfont\spread@equation} \ctex_after_end_preamble:n @@ -1224,7 +1221,7 @@ \ctex_at_end_package:nn {tcolorbox} { - \__eb_package_later_bool:nn {tcolorbox}{2020/10/09} + \eb_package_later_bool:nn {tcolorbox}{2020/10/09} \tcbset { tc-theorem/.style = @@ -1355,7 +1352,7 @@ \tl_new:N \l__eb_bib_citestyle_tl \tl_new:N \l__eb_bib_file_tl -\__ctex_define:nn {bibset} +\eb_ctex_define:nn {bibset} { backend .choice:, backend/bibtex .code:n = {}, @@ -1404,42 +1401,41 @@ \tl_if_empty:NF \l__eb_bib_citestyle_tl {\exp_args:NV \setcitestyle\l__eb_bib_citestyle_tl} \skip_set:Nn \bibsep{0ex} - \NewDocumentCommand{\printbibliography}{so} + \NewDocumentCommand{\printbibliography}{st+o} { \group_begin: \tl_set_eq:NN \eb@toc@title\bibname - \IfValueT{##2}{\keys_set:nn {listoc}{##2}} - \__eb_multoc_pre_bool: - \cs_set:Npn \bibsection{\__eb_title_intoc_bool:n {##1}} + \IfValueT{##3}{\keys_set:nn {listoc}{##3}} + \eb_multoc_pre_bool: + \cs_set:Npn \bibsection{\eb_title_intoc_bool:nn {##2}{##1}} \exp_args:NV \bibliography\l__eb_bib_file_tl - \__eb_multoc_post_bool: + \eb_multoc_post_bool: \group_end: } } -\cs_new_protected:Npn \__eb_put_biblatex:n #1 +\cs_new_protected:Npn \eb_put_biblatex:n #1 {\PassOptionsToPackage{#1}{biblatex}} \cs_new_protected:Npn \EbBiblatexPreset { \tl_if_empty:NTF \l__eb_bib_otherstyle_tl { \tl_if_eq:NnT \l__eb_bib_style_tl{numerical} - {\__eb_put_biblatex:n {style = gb7714-2015}} + {\eb_put_biblatex:n {style = gb7714-2015}} \tl_if_eq:NnT \l__eb_bib_style_tl{authoryear} - {\__eb_put_biblatex:n {style = gb7714-2015ay}} - }{\__eb_put_biblatex:n {style = \l__eb_bib_otherstyle_tl}} + {\eb_put_biblatex:n {style = gb7714-2015ay}} + }{\eb_put_biblatex:n {style = \l__eb_bib_otherstyle_tl}} \tl_if_empty:NF \l__eb_bib_citestyle_tl - {\__eb_put_biblatex:n {citestyle = \l__eb_bib_citestyle_tl}} - \__eb_put_biblatex:n {backend = biber} + {\eb_put_biblatex:n {citestyle = \l__eb_bib_citestyle_tl}} + \eb_put_biblatex:n {backend = biber} } \cs_new_protected:Npn \EbBiblatexPostset { \exp_args:NV \addbibresource\l__eb_bib_file_tl \cs_gset:Npn \blx@default@theheading{bibintoc} - \cs_gset:Npn \blx@warning@noline##1{} - \defbibheading{bibintoc}[\bibname]{\__eb_class_title_bool:n {##1}} + \defbibheading{bibintoc}[\bibname]{\eb_class_title_bool:n {##1}} \skip_set:Nn \bibitemsep{0ex} } -\__eb_at_end_preamble:n +\eb_at_end_preamble:n { \bool_if:NT \l__eb_bib_loadpkg_bool { @@ -1455,7 +1451,7 @@ } } -\__eb_at_end_preamble:n +\eb_at_end_preamble:n { \group_begin: \footnotesize @@ -1476,21 +1472,21 @@ \counterwithin*{footnote}{page} } } -\__eb_patch_cmd:Nnn \@footnotetext +\eb_patch_cmd:Nnn \@footnotetext {\reset@font} { \linespread{\fp_use:N \l__eb_spread_footnote_fp} \selectfont\ignorespaces \l__eb_font_footnote_tl } -\__eb_patch_cmd:Nnn \@mpfootnotetext +\eb_patch_cmd:Nnn \@mpfootnotetext {\reset@font} { \linespread{\fp_use:N \l__eb_spread_footnote_fp} \selectfont\ignorespaces \l__eb_font_footnote_tl } -\__eb_patch_cmd:Nnn \@makefnmark +\eb_patch_cmd:Nnn \@makefnmark {\normalfont}{\l__eb_font_footnote_tl} \cs_gset:Npn \thempfootnote{\int_to_alph:n {\c@mpfootnote}} @@ -1555,25 +1551,25 @@ \lstloadlanguages{C,C++,Java,Python,Matlab} \clist_new:N \l__eb_hyperref_clist -\cs_new_protected:Npn \__eb_put_hyperref:n #1 +\cs_new_protected:Npn \eb_put_hyperref:n #1 {\clist_put_right:Nn \l__eb_hyperref_clist{#1}} -\cs_new_protected:Npn \__eb_define_linkcolor:nnn #1#2#3 +\cs_new_protected:Npn \eb_define_linkcolor:nnn #1#2#3 {\definecolorset{HTML}{ctex@}{}{link,#1;url,#2;cite,#3}} -\cs_new_protected:Npn \__eb_define_themecolor:nnn #1#2#3 +\cs_new_protected:Npn \eb_define_themecolor:nnn #1#2#3 {\definecolorset{HTML}{ctex@}{}{frame,#1;emph,#2;verb,#3}} -\cs_new_protected:Npn \__eb_define_linkcolor:n #1 +\cs_new_protected:Npn \eb_define_linkcolor:n #1 {\definecolorset{HTML}{ctex@}{}{link,#1;url,#1;cite,#1}} -\cs_new_protected:Npn \__eb_define_themecolor:n #1 +\cs_new_protected:Npn \eb_define_themecolor:n #1 {\definecolorset{HTML}{ctex@}{}{frame,#1;emph,#1;verb,#1}} -\cs_new:Npn \__eb_linkcolor_set:n #1 +\cs_new:Npn \eb_linkcolor_set:n #1 { linkcolor/\clist_item:nn {#1}{1} .code:n = { - \__eb_define_linkcolor:nnn + \eb_define_linkcolor:nnn {\clist_item:nn {#1}{2}} {\clist_item:nn {#1}{3}} {\clist_item:nn {#1}{4}} - \__eb_put_hyperref:n + \eb_put_hyperref:n { linkcolor = ctex@link,linkbordercolor = ctex@link, urlcolor = ctex@url,urlbordercolor = ctex@url, @@ -1581,27 +1577,27 @@ } }, } -\cs_new:Npn \__eb_themecolor_set:n #1 +\cs_new:Npn \eb_themecolor_set:n #1 { color/\clist_item:nn {#1}{1} .code:n = { - \__eb_define_themecolor:nnn + \eb_define_themecolor:nnn {\clist_item:nn {#1}{2}} {\clist_item:nn {#1}{3}} {\clist_item:nn {#1}{4}} }, } -\bool_set_false:N \l__eb_toc_color_bool -\__ctex_define:nn {link} +\bool_set_false:N \l__eb_toc_number_color_bool +\eb_ctex_define:nn {link} { hyperlink .choice:, hyperlink/edge .code:n = {}, - hyperlink/none .code:n = \__eb_put_hyperref:n {hidelinks}, + hyperlink/none .code:n = \eb_put_hyperref:n {hidelinks}, hyperlink/various .code:n = { - \bool_set_true:N \l__eb_toc_color_bool - \__eb_put_hyperref:n {colorlinks} + \bool_set_true:N \l__eb_toc_number_color_bool + \eb_put_hyperref:n {colorlinks} }, hyperlink .default:n = edge, hyperlink .initial:n = edge, @@ -1609,25 +1605,25 @@ linktoc .choice:, linktoc/unknown .code:n = { - \__eb_put_hyperref:n {linktoc = #1} + \eb_put_hyperref:n {linktoc = #1} \clist_map_inline:nn {page,none} { \tl_if_eq:NnT \l_keys_value_tl{##1} - {\clist_map_break:n {\colorlet{ctex@toc}{black}}} + {\clist_map_break:n {\colorlet{ctex@toc@number}{black}}} } }, linktoc .default:n = all, linktoc .initial:n = all, unknown .code:n = { - \__eb_put_hyperref:x + \eb_put_hyperref:x { \l_keys_key_str \tl_if_empty:NF \l_keys_value_tl{ = {#1}} } } } -\__ctex_define:nx {link} +\eb_ctex_define:nx {link} { linkcolor .choice:, \clist_map_function:nN @@ -1637,14 +1633,14 @@ {navyblue, 000080,004986,eb6877}, {crimson, dc143c,00c1c9,afcd20} } - \__eb_linkcolor_set:n + \eb_linkcolor_set:n linkcolor .default:n = navyblue, linkcolor .initial:n = navyblue, linkcol-all .code:n = - {\__eb_define_linkcolor:n {\exp_not:n {#1}}} + {\eb_define_linkcolor:n {\exp_not:n {#1}}} } -\colorlet{ctex@toc}{ctex@link} -\__ctex_define:nx {style} +\colorlet{ctex@toc@number}{ctex@link} +\eb_ctex_define:nx {style} { color .choice:, color .value_required:n = true, @@ -1655,18 +1651,18 @@ {energy, f39800,00a0e9,893895}, {cyberpunk, 601986,eb6877,a4005b} } - \__eb_themecolor_set:n + \eb_themecolor_set:n color .initial:n = none, color-all .code:n = - {\__eb_define_themecolor:n {\exp_not:n {#1}}} + {\eb_define_themecolor:n {\exp_not:n {#1}}} } -\cs_new:Npn \__eb_allow_urlbreak: +\cs_new:Npn \eb_allow_urlbreak: { - \cs_new:Npn \__eb_add_urlbreak_points: + \cs_new:Npn \eb_add_urlbreak_points: {\tl_map_function:NN \c__eb_urlbreak_points_tl\do} - \__eb_appto_cmd:Nn - \UrlBreaks{\UrlOrds\__eb_add_urlbreak_points:} + \eb_appto_cmd:Nn + \UrlBreaks{\UrlOrds\eb_add_urlbreak_points:} } \tl_const:Nn \c__eb_urlbreak_points_tl { @@ -1678,7 +1674,7 @@ { \RequirePackage{hyperref} \urlstyle{same} - \__eb_allow_urlbreak: + \eb_allow_urlbreak: \ctex_hypersetup:n {pdfstartview = FitH} \exp_args:NV \hypersetup\l__eb_hyperref_clist \labelformat{part}{\CTEXthepart} @@ -1722,30 +1718,29 @@ \ctex_set:n { secnumdepth = 3, - tocdepth = 1, + tocdepth = \bool_if:NTF \l__eb_class_book_bool{1}{2}, part = { pagestyle = empty, - number = - {\bool_if:NTF \l__eb_zhtitle_bool{\chinese{part}}{\thepart}}, format = \color{ctex@frame}\sffamily\Huge, aftername = - {\bool_if:NTF \l__eb_newline_bool{\par\nobreak}{\hspace{\ccwd}}}, + { + \bool_if:NTF \l__eb_title_newline_bool + {\par\nobreak}{\hspace{\ccwd}} + }, tocline = \CTEXifname{\CTEXthepart\hspace{\eb@toc@part@numsep}}{}#2 }, chapter = { % pagestyle = fancy, - number = - {\bool_if:NTF \l__eb_zhtitle_bool{\chinese{chapter}}{\thechapter}}, format = { \color{ctex@frame}\sffamily\LARGE - \bool_if:NF \l__eb_newline_bool{\centering} + \bool_if:NF \l__eb_title_newline_bool{\centering} }, aftername = { - \bool_if:NTF \l__eb_newline_bool + \bool_if:NTF \l__eb_title_newline_bool {\par\nobreak\vskip 1.5pc}{\hspace{\ccwd}} }, beforeskip = -1.5ex, @@ -1779,7 +1774,7 @@ } } -\bool_if:NF \l__eb_newline_bool +\bool_if:NF \l__eb_title_newline_bool { \ctex_set:n { |