From ebb5a88807ee66de22c4803faa1a8e9ad8ffa5bf Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Tue, 25 Oct 2016 20:39:25 +0000
Subject: ctex (25oct16)

git-svn-id: svn://tug.org/texlive/trunk@42351 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/latex/ctex/ctex.dtx | 271 ++++++++++++++++++++++-----
 1 file changed, 220 insertions(+), 51 deletions(-)

(limited to 'Master/texmf-dist/source/latex/ctex/ctex.dtx')

diff --git a/Master/texmf-dist/source/latex/ctex/ctex.dtx b/Master/texmf-dist/source/latex/ctex/ctex.dtx
index 035769e8f6c..cf5013e2899 100644
--- a/Master/texmf-dist/source/latex/ctex/ctex.dtx
+++ b/Master/texmf-dist/source/latex/ctex/ctex.dtx
@@ -413,7 +413,7 @@ Copyright and Licence
 %<*!(c19|c70|ctexspa|dict)>
 %<class|style|ctexcap|ctexhook|ctexpatch|ctxdoc>\NeedsTeXFormat{LaTeX2e}
 %<class|style|ctexcap|ctexhook|ctexpatch|ctxdoc>\RequirePackage{expl3}
-%<+!driver>\GetIdInfo$Id: ctex.dtx b7f83de 2016-09-21 21:27:31 +0800 Qing Lee <sobenlee@gmail.com> $
+%<+!driver>\GetIdInfo$Id: ctex.dtx 575f038 2016-10-25 17:56:58 +0800 Qing Lee <sobenlee@gmail.com> $
 %<ctxdoc>  {ctex documentation (CTEX)}
 %<ctxdoc>\ProvidesExplClass{ctxdoc}
 %<ctex>  {Chinese adapter in LaTeX (CTEX)}
@@ -502,7 +502,7 @@ Copyright and Licence
 %<founder>\ProvidesExplFile{ctex-fontset-founder.def}
 %<ubuntu>  {Ubuntu fonts definition (CTEX)}
 %<ubuntu>\ProvidesExplFile{ctex-fontset-ubuntu.def}
-%<!driver>  {\ExplFileDate}{2.4.4}{\ExplFileDescription}
+%<!driver>  {\ExplFileDate}{2.4.5}{\ExplFileDescription}
 %</!(c19|c70|ctexspa|dict)>
 %<c19&rm>\ProvidesFile{c19rm.fd}%
 %<c19&sf>\ProvidesFile{c19sf.fd}%
@@ -513,9 +513,9 @@ Copyright and Licence
 %<ctexspa>\ProvidesFile{ctexspa.def}%
 %<dict&theorem&GBK>\ProvidesDictionary{translator-theorem-dictionary}{ChineseGBK}%
 %<dict&theorem&UTF8>\ProvidesDictionary{translator-theorem-dictionary}{ChineseUTF8}%
-%<c19|c70>  [2016/09/21 v2.4.4 Chinese font definition (CTEX)]
-%<ctexspa>  [2016/09/21 v2.4.4 Space info for CJKpunct (CTEX)]
-%<dict&theorem>  [2016/09/21 v2.4.4 Chinese translation for theorem name (CTEX)]
+%<c19|c70>  [2016/10/25 v2.4.5 Chinese font definition (CTEX)]
+%<ctexspa>  [2016/10/25 v2.4.5 Space info for CJKpunct (CTEX)]
+%<dict&theorem>  [2016/10/25 v2.4.5 Chinese translation for theorem name (CTEX)]
 %</!(driver|readme|install|zhmap|spa|docstrip)>
 %<*driver>
 \documentclass{ctxdoc}
@@ -537,7 +537,7 @@ Copyright and Licence
 % \changes{v2.4}{2015/02/19}{加强 \pkg{beamer} 宏包支持。}
 %
 %
-% \CheckSum{5793}
+% \CheckSum{5862}
 %
 % \CharacterTable
 %  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -558,7 +558,7 @@ Copyright and Licence
 % \GetFileId{ctex.sty}%
 %
 % \title{\bfseries \CTeX{} 宏集手册}
-% \author{\href{http://www.ctex.org}{ctex.org}}
+% \author{\href{http://www.ctex.org}{CTEX.ORG}}
 % \date{\filedate\qquad\fileversion\thanks{\ctexkitrev{\ExplFileVersion}.}}
 % \maketitle
 %
@@ -1136,7 +1136,7 @@ Copyright and Licence
 % \end{function}
 %   \begin{optdesc}[itemsep=\medskipamount]
 %     \item[chinese] 对 \cls{beamer} 以外的文档类，调整默认字号为五号字，并调
-%`      整行距为 |1.3|；汉化文档中的标题名字（如“图”、“表”、“目录”和“参
+%       整行距为 |1.3|；汉化文档中的标题名字（如“图”、“表”、“目录”和“参
 %       考文献”等，见 \ref{subs:capname}~节）；
 %       在 \opt{heading = true} 的情况下^^A
 %       \footnote{使用 \CTeX{} 文档类，或者使用 \pkg{ctex} 宏包且开启该选项时。}^^A
@@ -1442,7 +1442,7 @@ Copyright and Licence
 %     }
 %   }
 %   \renewcommand\sectionmark[1]{%
-%     \markright{\CTEXthesection——#1}}
+%     \markright{\CTEXifname{\CTEXthesection——}{}#1}}
 %
 %   \begin{document}
 %
@@ -1515,13 +1515,14 @@ Copyright and Licence
 % \opt{name}, \opt{number}, \opt{format}, \opt{nameformat}, \opt{numberformat},
 % \opt{aftername}, \opt{titleformat}, \opt{aftertitle}, \opt{runin},
 % \opt{afterindent}, \opt{beforeskip}, \opt{afterskip}, \opt{fixskip},
-% \opt{indent}, \opt{pagestyle}, \opt{break} 等。
+% \opt{lotskip}, \opt{lofskip}, \opt{indent}, \opt{hang},
+% \opt{pagestyle}, \opt{break}, \opt{tocline} 等。
 %
 % 注意，对 \cls{article} 及其衍生的 \cls{ctexart} 等文档类，没有 |chapter|
 % 级别的标题。而对于 \cls{beamer} 文档类，这些选项控制的是由 \tn{partpage},
 % \tn{sectionpage} 和 \tn{subsectionpage} 产生的标题格式，此时只有 |part|,
 % |section| 和 |subsection| 这三层级别，并且 \opt{runin}, \opt{afterindent},
-% \opt{fixskip} 和 \opt{break} 这四个格式无效。
+% \opt{fixskip}, \opt{hang}, \opt{break} 和 \opt{tocline} 这六个格式无效。
 %
 % 多级选项之间用斜线分开，例如，\opt{part/name} 选项设置 \tn{part} 标题的在数
 % 字前后的名称，而 \opt{section/number} 选项设置 \tn{section} 标题的数字类型。
@@ -2093,6 +2094,19 @@ Copyright and Licence
 %   \opt{fixskip} 选项用于抑制这些多余间距。
 % \end{function}
 %
+% \begin{function}[EXP,added=2016-10-01]{chapter/lofskip, chapter/lotskip}
+%   \begin{syntax}
+%   lofskip = \Arg{弹性间距}
+%   lotskip = \Arg{弹性间距}
+%   \end{syntax}
+%   \opt{lofskip} 选项控制插图目录（\file{.lof}）中，章之间的插图标题的距离。
+%
+%   同样，\opt{lotskip} 选项控制表格目录（\file{.lot}）中，章之间的表格标题的距离。
+%
+%   目前，这两个选项只在 \opt{chapter} 标题下有定义。
+%   他们的默认值，在 \opt{scheme} 选项的不同取值下都为 \SI{10}{pt}。
+% \end{function}
+%
 % \begin{function}[EXP,updated=2015-06-27]{.../indent}
 %   \begin{syntax}
 %   indent = \Arg{缩进间距}
@@ -2113,6 +2127,15 @@ Copyright and Licence
 %   \noindent 无缩进的正文。
 % \end{ctexexam}
 %
+% \begin{function}[EXP,added=2016-10-22]{section/hang, subsection/hang,
+%   subsubsection/hang, paragraph/hang, subparagraph/hang}
+%   \begin{syntax}
+%   hang = \TTF
+%   \end{syntax}
+%   默认情况下，\tn{section} 级以下标题具有悬挂缩进的效果（缩进的宽度为名字宽度和 \opt{indent} 选项
+%   设置的宽度之和）。设置 \opt{hang} 选项为 \opt{false} 可以取消这一效果。
+% \end{function}
+%
 % \begin{function}[EXP,added=2014-03-21]{part/pagestyle, chapter/pagestyle}
 %   \begin{syntax}
 %     pagestyle = \Arg{页面格式}
@@ -2172,6 +2195,42 @@ Copyright and Licence
 % \end{tabular}
 % \end{table}
 %
+% \begin{function}[EXP,added=2016-10-25]{.../tocline}
+%   \begin{syntax}
+%     tocline = \Arg{格式定义}
+%   \end{syntax}
+%   \opt{tocline} 选项用于定义章节标题在目录文件（\file{.toc}）中的格式。\meta{格式定义}有两个参数：
+%   参数 |#1| 是 |part|、|chapter| 等名字，参数 |#2| 是标题内容。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{tocline} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part & |\CTEXifname{\CTEXthepart\hspace{1em}}{}#2| \\
+% chapter (\opt{chinese})
+%   & |\CTEXifname{\protect\numberline{\CTEXthechapter\hspace{.3em}}}{}#2| \\
+% chapter (\opt{plain})
+%   & |\CTEXnumberline{#1}#2| \\
+% section & |\CTEXnumberline{#1}#2| \\
+% subsection & 同上 \\
+% subsubsection & 同上 \\
+% paragraph & 同上 \\
+% subparagraph & 同上 \\
+% \bottomrule
+% \end{tabular}
+%
+% \medskip
+% 其中 \tn{CTEXnumberline} 的意义是若标题 |#1| 没有名字，则不输出 |\numberline{\CTEXthe#1}|
+% 等编号：
+% \begin{verbatim}
+%   \CTEXifname{\protect\numberline{\csname CTEXthe#1\endcsname}}{}
+% \end{verbatim}
+% \end{table}
+%
 % \begin{function}[EXP,added=2015-06-21]{appendix/numbering}
 %   \begin{syntax}
 %     numbering = \TTF
@@ -2182,7 +2241,7 @@ Copyright and Licence
 %   用法与普通章节 \opt{numbering} 选项类似。
 % \end{function}
 %
-% \begin{function}[updated=2014-03-08]{appendix/name}
+% \begin{function}[EXP,updated=2014-03-08]{appendix/name}
 %   \begin{syntax}
 %     name = \{<前名字>,<后名字>\}
 %     name = \Arg{前名字}
@@ -6780,6 +6839,8 @@ Copyright and Licence
 % \changes{v2.2}{2015/06/27}{新的标题格式选项 \opt{runin}。}
 % \changes{v2.4.3}{2016/06/03}{新的标题格式选项 \opt{fixskip}。}
 % \changes{v2.4.4}{2016/09/19}{新的标题格式选项 \opt{break}。}
+% \changes{v2.4.5}{2016/10/22}{新的标题格式选项 \opt{hang}。}
+% \changes{v2.4.5}{2016/10/25}{新的标题格式选项 \opt{tocline}。}
 %
 % \begin{macro}[int]{\@@_def_heading_keys:n}
 %    \begin{macrocode}
@@ -6804,10 +6865,17 @@ Copyright and Licence
 %<*article|book|report>
         #1 / afterindent .bool_set:N = \exp_not:c { CTEX@#1@afterindent } ,
         #1 / fixskip     .bool_set:N = \exp_not:c { CTEX@#1@fixskip } ,
+        #1 / hang        .bool_set:N = \exp_not:c { CTEX@#1@hang } ,
+        #1 / hang         .initial:n = true ,
         #1 / runin       .bool_set:N = \exp_not:c { CTEX@#1@runin } ,
         #1 / break         .tl_set:N = \exp_not:c { CTEX@#1@break } ,
         #1 / break+          .code:n =
           { \tl_put_right:Nn \exp_not:c { CTEX@#1@break } { ####1 } } ,
+        #1 / tocline         .code:n =
+          {
+            \cs_set:Npn \exp_not:c { CTEX@#1@tocline}
+                        \exp_not:n { ####1####2 } { ####1 }
+          } ,
 %</article|book|report>
         #1 / format+         .code:n =
           { \tl_put_right:Nn \exp_not:c { CTEX@#1@format } { ####1 } } ,
@@ -6858,8 +6926,10 @@ Copyright and Licence
 %   \opt{chapter/fixbeforeskip}。}
 % \changes{v2.4.3}{2016/06/03}{删除选项 \opt{part/fixbeforeskip} 和
 %   \opt{chapter/fixbeforeskip}。}
+% \changes{v2.4.5}{2016/10/01}{新的标题格式选项 \opt{chapter/lofskip} 和
+%   \opt{chapter/lotskip}。}
 %
-% \begin{macro}{part/pagestyle,chapter/pagestyle}
+% \begin{macro}{part/pagestyle,chapter/pagestyle,chapter/lofskip,chapter/lotskip}
 % 只在 \cls{ctexbook} 和 \cls{ctexrep} 下有定义。
 %    \begin{macrocode}
 \group_begin:
@@ -6868,6 +6938,12 @@ Copyright and Licence
   {
     part    / pagestyle .tl_set:N = \CTEX@part@pagestyle ,
     chapter / pagestyle .tl_set:N = \CTEX@chapter@pagestyle ,
+    chapter / lofskip   .tl_set:N = \CTEX@chapter@lofskip ,
+    chapter / lotskip   .tl_set:N = \CTEX@chapter@lotskip ,
+    chapter / lofskip  .initial:n = \c_zero_skip ,
+    chapter / lotskip  .initial:n = \c_zero_skip ,
+    chapter / lofskip  .value_required:n = true ,
+    chapter / lotskip  .value_required:n = true ,
   }
 %</book|report>
 %<*article|beamer>
@@ -6952,6 +7028,36 @@ Copyright and Licence
 % \end{macro}
 % \end{macro}
 %
+% \begin{macro}[int]{\CTEX@addloflotskip}
+% 往插图和表格目录中加入额外间距。如果间距为零，则不加入。
+%    \begin{macrocode}
+%<*book|report>
+\cs_new_protected_nopar:Npn \CTEX@addloflotskip #1
+  {
+    \skip_set:Nn \l_@@_heading_skip { \use:c { CTEX@#1@lofskip } }
+    \skip_if_eq:nnF { \l_@@_heading_skip } { \c_zero_skip }
+      {
+        \addtocontents { lof }
+          { \protect \addvspace { \skip_use:N \l_@@_heading_skip } }
+      }
+    \skip_set:Nn \l_@@_heading_skip { \use:c { CTEX@#1@lotskip } }
+    \skip_if_eq:nnF { \l_@@_heading_skip } { \c_zero_skip }
+      {
+        \addtocontents { lot }
+          { \protect \addvspace { \skip_use:N \l_@@_heading_skip } }
+      }
+  }
+%</book|report>
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEX@addtocline}
+%    \begin{macrocode}
+\cs_new_protected:Npn \CTEX@addtocline #1#2
+  { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } }
+%    \end{macrocode}
+% \end{macro}
+%
 % \changes{v2.2}{2015/06/27}{\opt{beforeskip}、\opt{afterskip} 和 \opt{indent}
 %   选项支持表达式。}
 %
@@ -7016,17 +7122,17 @@ Copyright and Licence
       \CTEX@ifnametrue
       \refstepcounter{part}%
 %     \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
-      \addcontentsline{toc}{part}{\CTEXthepart\hspace{1em}#1}%
     \else
       \CTEX@ifnamefalse
       \CTEX@makeanchor{part*}%
-      \addcontentsline{toc}{part}{#1}%
+%     \addcontentsline{toc}{part}{#1}%
     \fi
   \else
     \CTEX@ifnamefalse
-    \CTEX@makeanchor@part{part*}%
-    \addcontentsline{toc}{part}{#1}%
+    \CTEX@makeanchor{part*}%
+%   \addcontentsline{toc}{part}{#1}%
   \fi
+  \CTEX@addtocline{part}{#1}%
   {\interlinepenalty \@M
 %  \normalfont \parindent \z@ \raggedright
    \normalfont \parindent \dimexpr \CTEX@part@indent \relax \CTEX@part@format
@@ -7053,17 +7159,17 @@ Copyright and Licence
       \CTEX@ifnametrue
       \refstepcounter{part}%
 %     \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
-      \addcontentsline{toc}{part}{\CTEXthepart\hspace{1em}#1}%
     \else
       \CTEX@ifnamefalse
       \CTEX@makeanchor{part*}%
-      \addcontentsline{toc}{part}{#1}%
+%     \addcontentsline{toc}{part}{#1}%
     \fi
   \else
     \CTEX@ifnamefalse
-    \CTEX@makeanchor@part{part*}%
-    \addcontentsline{toc}{part}{#1}%
+    \CTEX@makeanchor{part*}%
+%   \addcontentsline{toc}{part}{#1}%
   \fi
+  \CTEX@addtocline{part}{#1}%
 %  \markboth{}{}%
    \partmark{#1}%
   {\interlinepenalty \@M
@@ -7167,33 +7273,38 @@ Copyright and Licence
 %    \begin{macrocode}
 \def\@chapter[#1]#2{%
   \ifnum \c@secnumdepth >\m@ne
-%<book>    \if@mainmatter
+%<*book>
+    \if@mainmatter
+%</book>
       \ifodd \CTEX@chapter@numbering
         \CTEX@ifnametrue
         \refstepcounter{chapter}%
 %       \typeout{\@chapapp\space\thechapter.}%
         \typeout{\CTEXthechapter}%
-        \addcontentsline{toc}{chapter}
+%       \addcontentsline{toc}{chapter}
 %         {\protect\numberline{\thechapter}#1}%
-          {\protect\numberline{\CTEXthechapter\hspace{0.3em}}#1}%
       \else
         \CTEX@ifnamefalse
         \CTEX@makeanchor{\Hy@chapapp*}%
-        \addcontentsline{toc}{chapter}{#1}%
+%       \addcontentsline{toc}{chapter}{#1}%
       \fi
-%<book>    \else
-%<book>      \CTEX@ifnamefalse
-%<book>      \CTEX@makeanchor@chapter{\Hy@chapapp*}%
-%<book>      \addcontentsline{toc}{chapter}{#1}%
-%<book>    \fi
+%<*book>
+    \else
+      \CTEX@ifnamefalse
+      \CTEX@makeanchor@chapter{\Hy@chapapp*}%
+%     \addcontentsline{toc}{chapter}{#1}%
+    \fi
+%</book>
   \else
     \CTEX@ifnamefalse
     \CTEX@makeanchor@chapter{\Hy@chapapp*}%
-    \addcontentsline{toc}{chapter}{#1}%
+%   \addcontentsline{toc}{chapter}{#1}%
   \fi
+  \CTEX@addtocline{chapter}{#1}%
   \chaptermark{#1}%
-  \addtocontents{lof}{\protect\addvspace{10\p@}}%
-  \addtocontents{lot}{\protect\addvspace{10\p@}}%
+% \addtocontents{lof}{\protect\addvspace{10\p@}}%
+% \addtocontents{lot}{\protect\addvspace{10\p@}}%
+  \CTEX@addloflotskip{chapter}%
   \if@twocolumn
     \@topnewpage[\@makechapterhead{#2}]%
   \else
@@ -7338,19 +7449,19 @@ Copyright and Licence
   \unless \ifodd \CTEX@runin
     \begingroup
       #6{%
-        \@hangfrom{\hskip\glueexpr #3\relax\@svsec}%
+        \CTEX@hangfrom{\hskip\glueexpr #3\relax\@svsec}%
 %       \interlinepenalty \@M #8\@@par}%
         \interlinepenalty \@M
         \csname CTEX@#1@titleformat\endcsname{#8}%
         \csname CTEX@#1@aftertitle\endcsname}%
     \endgroup
     \csname #1mark\endcsname{#7}%
-    \addcontentsline{toc}{#1}{%
+%   \addcontentsline{toc}{#1}{%
 %     \ifnum #2>\c@secnumdepth \else
 %       \protect\numberline{\csname the#1\endcsname}%
 %     \fi
-      \CTEXifname{\protect\numberline{\csname CTEXthe#1\endcsname}}{}%
-      #7}%
+%     #7}%
+    \CTEX@addtocline{#1}{#7}%
   \else
     \def\@svsechd{%
     #6{\hskip\glueexpr #3\relax
@@ -7359,12 +7470,12 @@ Copyright and Licence
       \csname CTEX@#1@titleformat\endcsname{#8}%
       \csname CTEX@#1@aftertitle\endcsname}%
     \csname #1mark\endcsname{#7}%
-    \addcontentsline{toc}{#1}{%
+%   \addcontentsline{toc}{#1}{%
 %     \ifnum #2>\c@secnumdepth \else
 %       \protect\numberline{\csname the#1\endcsname}%
 %     \fi
-      \CTEXifname{\protect\numberline{\csname CTEXthe#1\endcsname}}{}%
-      #7}}%
+%     #7}%
+    \CTEX@addtocline{#1}{#7}}%
   \fi
   \@xsect{#5}}
 %    \end{macrocode}
@@ -7379,7 +7490,7 @@ Copyright and Licence
   \unless \ifodd \CTEX@runin
     \begingroup
       #4{%
-        \@hangfrom{\hskip\glueexpr #1\relax}%
+        \CTEX@hangfrom{\hskip\glueexpr #1\relax}%
 %         \interlinepenalty \@M #5\@@par}%
           \interlinepenalty \@M
           \CTEX@titleformat@n{#5}%
@@ -7432,6 +7543,18 @@ Copyright and Licence
 %<@@=ctex>
 %    \end{macrocode}
 %
+% \begin{macro}[int]{\CTEX@hangfrom}
+% \opt{hang} 选项控制是否采用悬挂缩进。
+%    \begin{macrocode}
+\cs_new_protected_nopar:Npn \CTEX@hangfrom
+  {
+    \bool_if:NTF \CTEX@hang
+      { \@hangfrom }
+      { \noindent \use:n }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}[int]{\CTEX@update@sectionformat@n}
 % 在 \tn{@startsection} 中设置 \tn{CTEX@titleformat@n} 等为相应函数。
 %    \begin{macrocode}
@@ -7441,16 +7564,48 @@ Copyright and Licence
     \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle }
     \cs_set_eq:Nc \CTEX@afterindent { CTEX@#1@afterindent }
     \cs_set_eq:Nc \CTEX@fixskip { CTEX@#1@fixskip }
+    \cs_set_eq:Nc \CTEX@hang { CTEX@#1@hang }
     \cs_set_eq:Nc \CTEX@runin { CTEX@#1@runin }
   }
 \cs_new_eq:NN \CTEX@titleformat@n \use:n
 \cs_new_eq:NN \CTEX@aftertitle \prg_do_nothing:
 \cs_new_eq:NN \CTEX@afterindent \c_true_bool
 \cs_new_eq:NN \CTEX@fixskip \c_false_bool
+\cs_new_eq:NN \CTEX@hang \c_true_bool
 \cs_new_eq:NN \CTEX@runin \c_false_bool
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}[int]{\CTEX@part@tocline, \CTEX@chapter@tocline}
+%    \begin{macrocode}
+\cs_new:Npn \CTEX@part@tocline #1#2
+  {
+    \CTEXifname
+      { \CTEXthepart \hspace { 1em } }
+      { }
+    #2
+  }
+\cs_new:Npn \CTEX@chapter@tocline #1#2
+  {
+    \CTEXifname
+      { \protect \numberline { \CTEXthechapter \hspace { .3em } } }
+      { }
+    #2
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEXnumberline}
+%    \begin{macrocode}
+\cs_new_nopar:Npn \CTEXnumberline #1
+  {
+    \CTEXifname
+      { \protect \numberline { \use:c { CTEXthe #1 } } }
+      { }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 %    \begin{macrocode}
 \int_zero:N \l_@@_tmp_int
 \seq_map_inline:Nn \c_@@_section_headings_seq
@@ -7465,6 +7620,8 @@ Copyright and Licence
           { \exp_not:c { CTEX@#1@afterskip } }
           { \exp_not:N \normalfont \exp_not:c { CTEX@#1@format } }
       }
+    \cs_new:cpn { CTEX@#1@tocline } ##1##2
+      { \CTEXnumberline { ##1 } ##2 }
   }
 %    \end{macrocode}
 %
@@ -7837,15 +7994,23 @@ Copyright and Licence
 % \subsubsection{页眉信息的修改}
 %
 % \begin{macro}[int]{\ps@headings}
+% \changes{v2.4.5}{2016/10/01}{修复补丁失败。}
 %    \begin{macrocode}
 %<*article>
-\ctex_patch_cmd:Nnn \ps@headings
-  { \ifnum \c@secnumdepth > \z@ \thesection \quad \fi }
-  { \CTEXifname { \CTEXthesection \quad } { } }
 \if@twoside
+  \ctex_patch_cmd:Nnn \ps@headings
+    { \ifnum \c@secnumdepth > \z@ \thesection \quad \fi }
+    { \CTEXifname { \CTEXthesection \quad } { } }
   \ctex_patch_cmd:Nnn \ps@headings
     { \ifnum \c@secnumdepth > \@ne \thesubsection \quad \fi }
     { \CTEXifname { \CTEXthesubsection \quad } { } }
+\else:
+%    \end{macrocode}
+% 不知为何，标准文档类此处对 \texttt{secnumdepth} 的判断为 $0$，与 \tn{section} 的层次 $1$ 不符。
+%    \begin{macrocode}
+  \ctex_patch_cmd:Nnn \ps@headings
+    { \ifnum \c@secnumdepth > \m@ne \thesection \quad \fi }
+    { \CTEXifname { \CTEXthesection \quad } { } }
 \fi:
 %</article>
 %<*book|report>
@@ -8142,6 +8307,8 @@ Copyright and Licence
     aftertitle  = \par ,
     beforeskip  = 50 \p@ ,
     afterskip   = 40 \p@ ,
+    lofskip     = 10 \p@ ,
+    lotskip     = 10 \p@ ,
     break       = \if@openright \cleardoublepage \else \clearpage \fi ,
 %<*plain>
     name        = \chaptername \space ,
@@ -8150,7 +8317,8 @@ Copyright and Licence
     nameformat  = \huge \bfseries ,
     aftername   = \par \nobreak \vskip 20 \p@ ,
     titleformat = \Huge \bfseries ,
-    afterindent = false
+    afterindent = false ,
+    tocline     = \CTEXnumberline {#1} #2
 %</plain>
 %<*chinese>
     number      = \chinese { chapter } ,
@@ -9765,7 +9933,7 @@ Copyright and Licence
 %    \begin{macrocode}
 %<*windows>
 \ProvidesFile{zhwindowsfonts.tex}%
-  [2016/09/21 v2.4.4 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2016/10/25 v2.4.5 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
 
 \ifzhmappdf
   \pdfmapline{=gbk@UGBK@     <simsun.ttc}
@@ -9837,7 +10005,7 @@ Copyright and Licence
 %    \begin{macrocode}
 %<*adobe>
 \ProvidesFile{zhadobefonts.tex}%
-  [2016/09/21 v2.4.4 Adobe font map loader for DVIPDFMx (CTEX)]
+  [2016/10/25 v2.4.5 Adobe font map loader for DVIPDFMx (CTEX)]
 
 \ifzhmappdf
 %% pdfTeX does not support OTF fonts
@@ -9873,7 +10041,7 @@ Copyright and Licence
 %    \begin{macrocode}
 %<*fandol>
 \ProvidesFile{zhfandolfonts.tex}%
-  [2016/09/21 v2.4.4 Fandol font map loader for DVIPDFMx (CTEX)]
+  [2016/10/25 v2.4.5 Fandol font map loader for DVIPDFMx (CTEX)]
 
 \ifzhmappdf
 %% pdfTeX does not support OTF fonts
@@ -9909,7 +10077,7 @@ Copyright and Licence
 %    \begin{macrocode}
 %<*founder>
 \ProvidesFile{zhfounderfonts.tex}%
-  [2016/09/21 v2.4.4 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2016/10/25 v2.4.5 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
 
 \ifzhmappdf
   \pdfmapline{=gbk@UGBK@     <FZSSK.TTF}
@@ -9981,7 +10149,7 @@ Copyright and Licence
 %    \begin{macrocode}
 %<*ubuntu>
 \ProvidesFile{zhubuntufonts.tex}%
-  [2016/09/21 v2.4.4 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2016/10/25 v2.4.5 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)]
 
 \ifzhmappdf
   \pdfmapline{=gbk@UGBK@     <uming.ttc}
@@ -11179,6 +11347,7 @@ Copyright and Licence
         \everypar {#1}
         \if@inlabel
           \global \@inlabelfalse
+          \@noparlistfalse
           \llap { \box \@labels \hskip \leftskip }
         \fi
         #1
@@ -11186,7 +11355,7 @@ Copyright and Licence
   }
 \ctex_patch_cmd:Nnn \macro@code
   { \if@inlabel \leavevmode \fi }
-  { }
+  { \partopsep \z@skip }
 \group_begin:
   \int_set_eq:NN \tex_endlinechar:D \c_minus_one
   \use:n
-- 
cgit v1.2.3

