diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/ctex/ctex-book.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/ctex/ctex-book.def | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/Master/texmf-dist/tex/latex/ctex/ctex-book.def b/Master/texmf-dist/tex/latex/ctex/ctex-book.def index e97cbee7cac..3766e4b4652 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctex-book.def +++ b/Master/texmf-dist/tex/latex/ctex/ctex-book.def @@ -26,10 +26,10 @@ %% %% ------------------------------------------------------------------------------ %% -\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee@gmail.com> $ +\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee <sobenlee@gmail.com> $ {Heading modification for book (CTEX)} \ProvidesExplFile{ctex-book.def} - {\ExplFileDate}{2.4.15}{\ExplFileDescription} + {\ExplFileDate}{2.4.16}{\ExplFileDescription} \seq_const_from_clist:Nn \c__ctex_section_headings_seq { section , subsection , subsubsection , paragraph , subparagraph } \seq_new:N \c__ctex_headings_seq @@ -184,6 +184,8 @@ } \cs_new_protected:Npn \CTEX@addtocline #1#2 { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } } +\cs_new_protected_nopar:Npn \CTEX@disableautoindent + { \tl_clear:N \l__ctex_autoindent_tl } \renewcommand\part{% \CTEX@part@break \thispagestyle{\CTEX@part@pagestyle}% @@ -210,9 +212,11 @@ \CTEX@ifnamefalse \CTEX@makeanchor{part*}% \fi + \CTEX@gettitle{#1}% \CTEX@addtocline{part}{#1}% \partmark{#1}% {\interlinepenalty \@M + \CTEX@disableautoindent \normalfont \CTEX@part@format \CTEX@hangindent{part}% {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% @@ -222,7 +226,9 @@ \def\@spart#1{% \CTEX@ifnamefalse \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% {\interlinepenalty \@M + \CTEX@disableautoindent \normalfont \CTEX@part@format \CTEX@hangindent{part}{}% \CTEX@part@titleformat{#1}% @@ -272,6 +278,7 @@ \CTEX@ifnamefalse \CTEX@makeanchor@chapter{\Hy@chapapp*}% \fi + \CTEX@gettitle{#1}% \CTEX@addtocline{chapter}{#1}% \chaptermark{#1}% \CTEX@addloflotskip{chapter}% @@ -284,6 +291,7 @@ \def\@schapter#1{% \CTEX@ifnamefalse \CTEX@makeanchor@schapter{\Hy@chapapp*}% + \CTEX@gettitle{#1}% \if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% \else @@ -294,7 +302,8 @@ \CTEX@setheadingskip \CTEX@chapter@beforeskip \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi \vspace*{\CTEX@headingskip}% - {\normalfont \CTEX@chapter@format + {\CTEX@disableautoindent + \normalfont \CTEX@chapter@format \interlinepenalty\@M \CTEX@hangindent{chapter}% {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% @@ -309,7 +318,8 @@ \CTEX@setheadingskip \CTEX@chapter@beforeskip \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi \vspace*{\CTEX@headingskip}% - {\normalfont \CTEX@chapter@format + {\CTEX@disableautoindent + \normalfont \CTEX@chapter@format \interlinepenalty\@M \CTEX@hangindent{chapter}{}% \CTEX@chapter@titleformat{#1}% @@ -358,6 +368,7 @@ \let\@svsec\@empty \fi \fi + \CTEX@gettitle{#7}% \unless \ifodd \CTEX@runin \begingroup #6{% @@ -380,6 +391,7 @@ \@xsect{#5}} \def\@ssect#1#2#3#4#5{% \CTEX@ifnamefalse + \CTEX@gettitle{#5}% \unless \ifodd \CTEX@runin \begingroup #4{% @@ -419,18 +431,15 @@ \ignorespaces} \cs_new_protected:Npn \CTEX@hangindent #1#2 { + \dim_set:Nn \parindent { \use:c { CTEX@#1@indent } } \bool_if:cTF { CTEX@#1@hang } - { \@hangfrom } - { \noindent \use:n } - { \__ctex_indent_aux:n {#1} #2 } + { \@hangfrom { \__ctex_indent_aux: #2 } } + {#2} } -\cs_new_protected:Npn \__ctex_indent_aux:n #1 +\cs_new_protected_nopar:Npn \__ctex_indent_aux: { - \group_begin: - \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@indent } } - \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim - { \skip_horizontal:N \l__ctex_heading_skip } - \group_end: + \dim_compare:nNnF \parindent = \c_zero_dim + { \skip_horizontal:n { \parindent } } } \cs_new_protected_nopar:Npn \CTEX@hangfrom { @@ -550,6 +559,17 @@ } \CTEX@hyperheadinghook } +\cs_new_protected:Npn \CTEX@gettitle #1 + { } +\ctex_at_end_package:nn { nameref } + { + \cs_gset_protected_nopar:Npn \CTEX@gettitle { \NR@gettitle } + \seq_map_inline:Nn \c__ctex_headings_cs_seq + { + \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } + { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } } + } + } \cs_new_protected_nopar:Npn \ctex_titlesec_hook: { \@ifpackagewith { titlesec } { explicit } |