From bc3f8ae7a070c0635a7f6aa2febefcc6bd639677 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sat, 16 May 2020 21:26:14 +0000
Subject: ctex (16may20)

git-svn-id: svn://tug.org/texlive/trunk@55162 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/latex/ctex/ctex.dtx | 556 +++++++++++++++++----------
 1 file changed, 354 insertions(+), 202 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 f61198ac369..bc86f369f79 100644
--- a/Master/texmf-dist/source/latex/ctex/ctex.dtx
+++ b/Master/texmf-dist/source/latex/ctex/ctex.dtx
@@ -137,14 +137,14 @@ Copyright and Licence
                                        ctex-fontset-windows.def,
                                        ctexspa.def,
                                        ctexpunct.spa,
-                                       ctexmakespa.tex,
-                                       ctexspamacro.tex,
-                                       zhadobefonts.tex,
-                                       zhfandolfonts.tex,
-                                       zhfounderfonts.tex,
-                                       zhmacfonts.tex,
-                                       zhubuntufonts.tex,
-                                       zhwindowsfonts.tex,
+                                       ctex-spa-make.tex,
+                                       ctex-spa-macro.tex,
+                                       ctex-zhmap-adobe.tex,
+                                       ctex-zhmap-fandol.tex,
+                                       ctex-zhmap-founder.tex,
+                                       ctex-zhmap-mac.tex,
+                                       ctex-zhmap-ubuntu.tex,
+                                       ctex-zhmap-windows.tex,
                                        ctex-zhconv-index.lua,
                                        translator-theorem-dictionary-ChineseGBK.dict,
                                        translator-theorem-dictionary-ChineseUTF8.dict, and
@@ -249,14 +249,14 @@ Copyright and Licence
                                        ctex-fontset-windows.def,
                                        ctexspa.def,
                                        ctexpunct.spa,
-                                       ctexmakespa.tex,
-                                       ctexspamacro.tex,
-                                       zhadobefonts.tex,
-                                       zhfandolfonts.tex,
-                                       zhfounderfonts.tex,
-                                       zhmacfonts.tex,
-                                       zhubuntufonts.tex,
-                                       zhwindowsfonts.tex,
+                                       ctex-spa-make.tex,
+                                       ctex-spa-macro.tex,
+                                       ctex-zhmap-adobe.tex,
+                                       ctex-zhmap-fandol.tex,
+                                       ctex-zhmap-founder.tex,
+                                       ctex-zhmap-mac.tex,
+                                       ctex-zhmap-ubuntu.tex,
+                                       ctex-zhmap-windows.tex,
                                        ctex-zhconv-index.lua,
                                        translator-theorem-dictionary-ChineseGBK.dict,
                                        translator-theorem-dictionary-ChineseUTF8.dict, and
@@ -330,14 +330,14 @@ Copyright and Licence
     \file{ctexspa.def}                     {\from{\jobname.dtx}{ctexspa}
                                             \from{ctexpunct.spa}{}}
     \usedir{tex/generic/ctex}
-    \file{ctexmakespa.tex}                 {\from{\jobname.dtx}{spa,make}}
-    \file{ctexspamacro.tex}                {\from{\jobname.dtx}{spa,macro}}
-    \file{zhadobefonts.tex}                {\from{\jobname.dtx}{zhmap,adobe}}
-    \file{zhfandolfonts.tex}               {\from{\jobname.dtx}{zhmap,fandol}}
-    \file{zhfounderfonts.tex}              {\from{\jobname.dtx}{zhmap,founder}}
-    \file{zhmacfonts.tex}                  {\from{\jobname.dtx}{zhmap,mac}}
-    \file{zhubuntufonts.tex}               {\from{\jobname.dtx}{zhmap,ubuntu}}
-    \file{zhwindowsfonts.tex}              {\from{\jobname.dtx}{zhmap,windows}}
+    \file{ctex-spa-make.tex}               {\from{\jobname.dtx}{spa,make}}
+    \file{ctex-spa-macro.tex}              {\from{\jobname.dtx}{spa,macro}}
+    \file{ctex-zhmap-adobe.tex}            {\from{\jobname.dtx}{zhmap,adobe}}
+    \file{ctex-zhmap-fandol.tex}           {\from{\jobname.dtx}{zhmap,fandol}}
+    \file{ctex-zhmap-founder.tex}          {\from{\jobname.dtx}{zhmap,founder}}
+    \file{ctex-zhmap-mac.tex}              {\from{\jobname.dtx}{zhmap,mac}}
+    \file{ctex-zhmap-ubuntu.tex}           {\from{\jobname.dtx}{zhmap,ubuntu}}
+    \file{ctex-zhmap-windows.tex}          {\from{\jobname.dtx}{zhmap,windows}}
 %</install>
 %<*internal>
     \usedir{source/latex/ctex}
@@ -415,14 +415,14 @@ Copyright and Licence
 \Msg{*     ctex-fontset-ubuntu.def                               *}
 \Msg{*     ctex-fontset-windows.def                              *}
 \Msg{*     ctexspa.def                                           *}
-\Msg{*     ctexmakespa.tex                                       *}
-\Msg{*     ctexspamacro.tex                                      *}
-\Msg{*     zhadobefonts.tex                                      *}
-\Msg{*     zhfandolfonts.tex                                     *}
-\Msg{*     zhfounderfonts.tex                                    *}
-\Msg{*     zhmacfonts.tex                                        *}
-\Msg{*     zhubuntufonts.tex                                     *}
-\Msg{*     zhwindowsfonts.tex                                    *}
+\Msg{*     ctex-spa-make.tex                                     *}
+\Msg{*     ctex-spa-macro.tex                                    *}
+\Msg{*     ctex-zhmap-adobe.tex                                  *}
+\Msg{*     ctex-zhmap-fandol.tex                                 *}
+\Msg{*     ctex-zhmap-founder.tex                                *}
+\Msg{*     ctex-zhmap-mac.tex                                    *}
+\Msg{*     ctex-zhmap-ubuntu.tex                                 *}
+\Msg{*     ctex-zhmap-windows.tex                                *}
 \Msg{*     translator-theorem-dictionary-ChineseGBK.dict         *}
 \Msg{*     translator-theorem-dictionary-ChineseUTF8.dict        *}
 \Msg{*                                                           *}
@@ -443,7 +443,7 @@ Copyright and Licence
 %<class|style|ctexcap|ctexhook|ctexpatch>\NeedsTeXFormat{LaTeX2e}
 %<class>\input{ctexbackend.cfg}
 %<class|style|ctexcap|ctexhook|ctexpatch>\RequirePackage{expl3}
-%<+!driver>\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee <sobenlee@gmail.com> $
+%<+!driver>\GetIdInfo$Id: ctex.dtx 4819efe 2020-05-16 21:20:43 +0800 Qing Lee <sobenlee@gmail.com> $
 %<ctex>  {Chinese adapter in LaTeX (CTEX)}
 %<ctex>\ProvidesExplPackage{\ExplFileName}
 %<ctexsize>  {Chinese font size definition (CTEX)}
@@ -530,7 +530,7 @@ Copyright and Licence
 %<founder>\ProvidesExplFile{ctex-fontset-founder.def}
 %<ubuntu>  {Ubuntu fonts definition (CTEX)}
 %<ubuntu>\ProvidesExplFile{ctex-fontset-ubuntu.def}
-%<!driver>  {\ExplFileDate}{2.5.1}{\ExplFileDescription}
+%<!driver>  {\ExplFileDate}{2.5.2}{\ExplFileDescription}
 %</!(fd|ctexspa|dict|backend)>
 %<c19&rm>\ProvidesFile{c19rm.fd}%
 %<c19&sf>\ProvidesFile{c19sf.fd}%
@@ -548,10 +548,10 @@ Copyright and Licence
 %<backend>\ProvidesFile{ctexbackend.cfg}%
 %<dict&theorem&GBK>\ProvidesDictionary{translator-theorem-dictionary}{ChineseGBK}%
 %<dict&theorem&UTF8>\ProvidesDictionary{translator-theorem-dictionary}{ChineseUTF8}%
-%<fd>  [2020/05/02 v2.5.1 Chinese font definition (CTEX)]
-%<ctexspa>  [2020/05/02 v2.5.1 Space info for CJKpunct (CTEX)]
-%<backend>  [2020/05/02 v2.5.1 Backend configuration file (CTEX)]
-%<dict&theorem>  [2020/05/02 v2.5.1 Chinese translation for theorem name (CTEX)]
+%<fd>  [2020/05/16 v2.5.2 Chinese font definition (CTEX)]
+%<ctexspa>  [2020/05/16 v2.5.2 Space info for CJKpunct (CTEX)]
+%<backend>  [2020/05/16 v2.5.2 Backend configuration file (CTEX)]
+%<dict&theorem>  [2020/05/16 v2.5.2 Chinese translation for theorem name (CTEX)]
 %</!(driver|readme|install|zhmap|spa|docstrip)>
 %<*driver>
 \documentclass{ctxdoc}
@@ -575,7 +575,7 @@ Copyright and Licence
 % \changes{v2.4.15}{2019/03/23}{同步 \LaTeXiii{} 2019/03/05。}
 % \changes{v2.5.1}{2020/05/02}{\pkg{zhconv} 更名为 \pkg{ctex-zhconv}。}
 %
-% \CheckSum{6105}
+% \CheckSum{6116}
 %
 % \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
@@ -1661,14 +1661,63 @@ Copyright and Licence
 %   三章的标题分别为“第一章\quad A”、“B”和“C”，但在目录中则只出现
 %   “第一章\quad A”和“C”。
 %
-%   注意，章节标题是否编号还要受到 \LaTeX{} 计数器 |secnumdepth| 的控制。
+%   注意，章节标题是否编号还要受到 \LaTeX{} 计数器 |secnumdepth| 的控制^^A
+%   （可通过以下介绍的 \opt{secnumdepth} 选项设置）。
 %   例如，对于 |section| 而言，其深度为 1。因此，|section| 会被编号，当且仅当
 %   |secnumdepth| 不小于 1，并且 \opt{section/numbering} 为 \opt{true}，
 %   并且使用不带星号的章节标题命令（即 \tn{section}）。
+% \end{function}
 %
-%   如果没有特别说明，以下将用 “|...|” 代表各级章节标题名。
+% \begin{function}[EXP,added=2020-05-06]{secnumdepth}
+%   \begin{syntax}
+%     secnumdepth = <整数或章节名称>
+%   \end{syntax}
+%   设置对章节标题进行编号的层次数。\opt{secnumdepth} 的值可以是一个整数，也可以是
+%   |part|, |chapter| 等名称。
+%   层次数与名称的对应关系见表~\ref{tab:heading-level}。
+%   章节层次的默认设置见表~\ref{tab:heading-level-default}。
+%
+%   本选项对 \cls{beamer}/\cls{ctexbeamer} 文档类无效。
 % \end{function}
 %
+% \begin{table}[htbp]
+% \begin{minipage}[t]{.43\linewidth}
+%   \small\centering
+%   \caption{章节层次}
+%   \label{tab:heading-level}
+%   \begin{tabular}{rll}
+%   \toprule
+%   层次 & 名称 & 注 \\
+%   \midrule
+%   |-1| & part    & \cls{book}/\cls{report} 类 \\
+%    |0| & chapter & \cls{book}/\cls{report} 类 \\
+%    |0| & part    & \cls{article} 类   \\
+%    |1| & section \\
+%    |2| & subsection \\
+%    |3| & subsubsection \\
+%    |4| & paragraph \\
+%    |5| & subparagraph \\
+%   \bottomrule
+%   \end{tabular}
+% \end{minipage}^^A
+% \begin{minipage}[t]{.57\linewidth}
+%   \small\centering
+%   \caption{章节层次的默认设置}
+%   \label{tab:heading-level-default}
+%   \begin{tabular}{lll}
+%   \toprule
+%   文档类 & \opt{secnumdepth} & \opt{tocdepth} \\
+%   \midrule
+%   \cls{article}           & |3| (subsubsection) & |3| (subsubsection) \\
+%   \cls{book}/\cls{report} & |2| (subsection)    & |2| (subsection) \\
+%   \cls{beamer}            & 无效 & |3| (subsubsection) \\
+%   \bottomrule
+%   \end{tabular}
+% \end{minipage}
+% \end{table}
+%
+%   如果没有特别说明，以下将用 “|...|” 代表各级章节标题名。
+%
 % \begin{function}[EXP,updated=2014-03-08]{.../name}
 %   \begin{syntax}
 %     name = \{<前名字>,<后名字>\}
@@ -1799,7 +1848,7 @@ Copyright and Licence
 %
 %   \opt{format} 选项的最后一个格式命令可以带有一个参数。
 %   这一参数用于接受章节名字、编号和标题内容（以及由 \opt{nameformat}, \opt{numberformat},
-%   \opt{aftername},\opt{titleformat}, \opt{aftertitle}, \opt{indent}
+%   \opt{aftername}, \opt{titleformat}, \opt{aftertitle}, \opt{indent}
 %   及 \opt{hang} 选项设定的，应用于这些内容之上的格式），以实现特殊效果。
 %
 %   例如，设置章标题为无衬线字体左对齐、为节标题增加无衬线字体设置、
@@ -2125,34 +2174,6 @@ Copyright and Licence
 %   该选项的默认设置见表~\ref{tab:hang-default}。
 % \end{function}
 %
-% \begin{function}[EXP,updated=2020-04-23]{.../indent}
-%   \begin{syntax}
-%   indent = \Arg{缩进间距}
-%   \end{syntax}
-%   \opt{indent} 选项用于设置章节标题本身的首行缩进。
-%   该选项的默认设置见表~\ref{tab:indent-default}。
-%
-%   如果 \opt{indent} 的值是以 \texttt{em}、\texttt{ex} 或 \cs{ccwd} 为单位，
-%   那么缩进间距的大小是相对于 \opt{format} 中指定的字号大小。
-%   例如，设置 \tn{part} 标题缩进三个字、\tn{section} 标题缩进 \SI{20}{pt}：
-%   \begin{ctexexam}
-%   \ctexset{
-%     part = {
-%       format += \raggedright,
-%       indent  = 3\ccwd,
-%     },
-%     section = {
-%       format  = \Large\bfseries,
-%       indent  = 20pt,
-%     }
-%   }
-%   \part{首行缩进的标题}
-%   \noindent 无缩进的正文。
-%   \section{首行缩进的标题}
-%   \noindent 无缩进的正文。
-%   \end{ctexexam}
-% \end{function}
-%
 % \begin{table}[htbp]
 %   \begin{minipage}[t]{.5\linewidth}
 %     \small\centering
@@ -2174,7 +2195,7 @@ Copyright and Licence
 %     \qquad(sub4section) & |true| \\
 %     \bottomrule
 %     \end{tabular}
-%   \end{minipage}
+%   \end{minipage}^^A
 %   \begin{minipage}[t]{.5\linewidth}
 %     \small\centering
 %     \caption{\opt{indent} 选项的默认设置}
@@ -2197,6 +2218,34 @@ Copyright and Licence
 %   \end{minipage}
 % \end{table}
 %
+% \begin{function}[EXP,updated=2020-04-23]{.../indent}
+%   \begin{syntax}
+%   indent = \Arg{缩进间距}
+%   \end{syntax}
+%   \opt{indent} 选项用于设置章节标题本身的首行缩进。
+%   该选项的默认设置见表~\ref{tab:indent-default}。
+%
+%   如果 \opt{indent} 的值是以 \texttt{em}、\texttt{ex} 或 \cs{ccwd} 为单位，
+%   那么缩进间距的大小是相对于 \opt{format} 中指定的字号大小。
+%   例如，设置 \tn{part} 标题缩进三个字、\tn{section} 标题缩进 \SI{20}{pt}：
+%   \begin{ctexexam}
+%   \ctexset{
+%     part = {
+%       format += \raggedright,
+%       indent  = 3\ccwd,
+%     },
+%     section = {
+%       format  = \Large\bfseries,
+%       indent  = 20pt,
+%     }
+%   }
+%   \part{首行缩进的标题}
+%   \noindent 无缩进的正文。
+%   \section{首行缩进的标题}
+%   \noindent 无缩进的正文。
+%   \end{ctexexam}
+% \end{function}
+%
 % \begin{function}[EXP,updated=2016-05-10]{.../beforeskip}
 %   \begin{syntax}
 %   beforeskip = \Arg{弹性间距}
@@ -2356,6 +2405,16 @@ Copyright and Licence
 % \subsection{目录、附录相关}
 % \label{subsec:sec-toc-appendix}
 %
+% \begin{function}[EXP,added=2020-05-06]{tocdepth}
+%   \begin{syntax}
+%     tocdepth = <整数或章节名称>
+%   \end{syntax}
+%   设置对章节标题编入目录的层次数。\opt{tocdepth} 的值可以是一个整数，也可以是
+%   |part|, |chapter| 等名称。
+%   层次数与名称的对应关系见表~\ref{tab:heading-level}。
+%   章节层次的默认设置见表~\ref{tab:heading-level-default}。
+% \end{function}
+%
 % \begin{function}[EXP,added=2016-10-25]{.../tocline}
 %   \begin{syntax}
 %     tocline = \Arg{格式定义}
@@ -2443,9 +2502,10 @@ Copyright and Licence
 %   文档类 & 影响命令 & \opt{scheme = chinese} & 实际定义
 %     & \opt{scheme = plain} & 实际定义 \\
 %   \midrule
-%   article & \tn{section} & |{}| & & |{}| & \\
-%   book, report & \tn{chapter} & |\appendixname\space| & \verb*|附录 |
-%                               & |\appendixname\space| & \verb*|Appendix | \\
+%   \cls{article} & \tn{section} & |{}| & & |{}| & \\
+%   \cls{book}, \cls{report}
+%       & \tn{chapter} & |\appendixname\space| & \verb*|附录 |
+%       & |\appendixname\space| & \verb*|Appendix | \\
 %   \bottomrule
 %   \end{tabular}
 % \end{table}
@@ -2472,8 +2532,8 @@ Copyright and Licence
 %   \toprule
 %   文档类 & 影响命令 & 默认值 \\
 %   \midrule
-%   article & \tn{section} & |\Alph{section}| \\
-%   book, report & \tn{chapter} & |\Alph{chapter}| \\
+%   \cls{article} & \tn{section} & |\Alph{section}| \\
+%   \cls{book}, \cls{report} & \tn{chapter} & |\Alph{chapter}| \\
 %   \bottomrule
 %   \end{tabular}
 % \end{table}
@@ -4188,7 +4248,7 @@ Copyright and Licence
       \tl_set:Nn \CJKrmdefault {#1}
       \tl_set:Nn \CJKsfdefault {#2}
       \tl_set:Nn \CJKttdefault {#3}
-      \ctex_set_zhmap:n { \ctex_zhmap_input:n {#4} }
+      \ctex_set_zhmap:n { \ctex_zhmap_input:n { ctex-zhmap- #4 .tex } }
     }
   \@onlypreamble \ctex_load_zhmap:nnnn
 %    \end{macrocode}
@@ -4214,18 +4274,6 @@ Copyright and Licence
 %    \end{macrocode}
 % \end{macro}
 %
-%    \begin{macrocode}
-  \tl_if_exist:NF \CJKfamilydefault
-    { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } }
-  \tl_if_exist:NF \CJKrmdefault { \tl_new:N \CJKrmdefault }
-  \tl_if_exist:NF \CJKsfdefault { \tl_new:N \CJKsfdefault }
-  \tl_if_exist:NF \CJKttdefault { \tl_new:N \CJKttdefault }
-  \g@addto@macro \@rmfamilyhook      { \CJKfamily { \CJKrmdefault } }
-  \g@addto@macro \@sffamilyhook      { \CJKfamily { \CJKsfdefault } }
-  \g@addto@macro \@ttfamilyhook      { \CJKfamily { \CJKttdefault } }
-  \g@addto@macro \@defaultfamilyhook { \CJKfamily { \CJKfamilydefault } }
-%    \end{macrocode}
-%
 % \pkg{zhmCJK} 判断结束。
 %    \begin{macrocode}
 \fi:
@@ -4408,7 +4456,8 @@ Copyright and Licence
 \clist_const:Nn \c_@@_punct_family_clist
   {
     zhsong , zhhei , zhfs , zhkai , zhli , zhyou ,
-    zhsongb , zhheil , zhheib , zhyoub , zhyahei , zhyaheib
+    zhsongb , zhheil , zhheib , zhyoub ,
+    zhyahei , zhyaheib , zhpf , zhpfb
   }
 %    \end{macrocode}
 % \end{macro}
@@ -5576,28 +5625,8 @@ Copyright and Licence
 %    \end{macrocode}
 % \end{macro}
 %
-%    \begin{macrocode}
-\tl_if_exist:NF \CJKfamilydefault
-  { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } }
-\tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { rm } }
-\tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { sf } }
-\tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { tt } }
-%    \end{macrocode}
-%
 % \changes{v2.4.8}{2017/02/23}
 %   {解决与 \pkg{fontspec} 2017/01/24 v2.5d 的字体族匹配兼容问题。}
-% 使用 \LaTeXe \ 提供的钩子，使主要 |CJK| 字体族能随西文主要字体更新。
-%    \begin{macrocode}
-\g@addto@macro \@rmfamilyhook      { \CJKfamily { \CJKrmdefault } }
-\g@addto@macro \@sffamilyhook      { \CJKfamily { \CJKsfdefault } }
-\g@addto@macro \@ttfamilyhook      { \CJKfamily { \CJKttdefault } }
-\g@addto@macro \@defaultfamilyhook { \CJKfamily { \CJKfamilydefault } }
-%    \end{macrocode}
-%
-% 在导言区末尾更新 \tn{CJKfamilydefault}。
-%    \begin{macrocode}
-\ctex_at_end_preamble:n { \ctex_update_default_family: }
-%    \end{macrocode}
 %
 % \begin{macro}[int]{\ctex_ltj_ensure_default_family:}
 % 在导言区结束确认 \tn{CJKfamilydefault} 确实存在。
@@ -5998,7 +6027,7 @@ Copyright and Licence
   { \clist_map_inline:nn {#1} { \@@_declare_char_range:nn ##1 } }
 \cs_generate_variant:Nn \ctex_ltj_declare_char_range:n { e }
 \cs_new_protected:Npn \@@_declare_char_range:nn #1
-  { \exp_args:Ne \ctex_ltj_declare_char_range:nn { \tl_trim_spaces:n {#1} } }
+  { \tl_trim_spaces_apply:nN {#1} \ctex_ltj_declare_char_range:nn }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -6139,17 +6168,8 @@ Copyright and Licence
 % \changes{v2.4}{2016/02/28}{初步支持 \upLaTeX。}
 % \changes{v2.4.15}{2019/04/05}{显式补丁 \upLaTeX 的 \tn{rmfamily} 等字体命令。}
 %
-% 按 \pkg{CJK} 的命名习惯模拟部分命令，并设置默认字体。
+% 按 \pkg{CJK} 的命名习惯模拟 \tn{CJKfamily}。
 %    \begin{macrocode}
-\tl_if_exist:NF \CJKfamilydefault
-  { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } }
-\tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { zhrm } }
-\tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { zhsf } }
-\tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { zhtt } }
-\tl_set:Nn \kanjifamilydefault { \CJKfamilydefault }
-\g@addto@macro \@rmfamilyhook { \kanjifamily { \CJKrmdefault } }
-\g@addto@macro \@sffamilyhook { \kanjifamily { \CJKsfdefault } }
-\g@addto@macro \@ttfamilyhook { \kanjifamily { \CJKttdefault } }
 \NewDocumentCommand \CJKfamily { m }
   { \kanjifamily {#1} \selectfont }
 %    \end{macrocode}
@@ -6167,16 +6187,6 @@ Copyright and Licence
 \jfam \symmincho
 %    \end{macrocode}
 %
-% 在导言区末尾更新 \tn{CJKfamilydefault}。
-%    \begin{macrocode}
-\ctex_at_end_preamble:n { \ctex_update_default_family: }
-%    \end{macrocode}
-%
-% 使修改立刻生效，保证导言区字体族正确。
-%    \begin{macrocode}
-\normalfont
-%    \end{macrocode}
-%
 % \begin{macro}[int]{\em}
 % \changes{v2.4.2}{2016/05/15}{兼容 \upLaTeX{} 2016/05/07u00 的定义。}
 % 取消 \upLaTeX{} 对 \tn{em} 使用 |\mcfamily|、|\gtfamily| 命令的重定义，恢复
@@ -6295,7 +6305,83 @@ Copyright and Licence
 %</uptex|aptex>
 %    \end{macrocode}
 %
-% \subsubsection{调整 \tn{CJKfamilydefault}}
+% \subsubsection{修改主要字体命令}
+%
+% \changes{v2.5.2}{2020/05/06}{兼容 \LaTeX\ 2020-02-02 之前的版本。}
+%
+% 修改 \tn{rmfamily} 等主要字体命令，使得中文字体能随西文主要字体更新。
+% \LaTeX\ 2020-02-02 以后的版本可以直接使用 \tn{@rmfamilyhook} 等钩子。
+% 我们暂时需要处理旧内核的情况，以保持兼容性。
+%
+% \pkg{xeCJK} 和 \pkg{zhmCJK} 已经有相同的工作，本段代码不需要对他们使用。
+%    \begin{macrocode}
+%<*pdftex|luatex|uptex|aptex>
+%<pdftex>\reverse_if:N \if_bool:N \g_@@_zhmCJK_bool
+%    \end{macrocode}
+%
+% \begin{macro}[int]{\ctex_provide_font_hook:NNN,\CTEX@rmfamilyhook}
+% 给 \tn{rmfamily} 等字体命令加钩子，钩子名字统一为 \tn{CTEX@rmfamilyhook} 等。
+%    \begin{macrocode}
+\cs_new_protected:Npn \ctex_provide_font_hook:NNN #1#2
+  {
+    \exp_args:Nc \@@_provide_font_hook_aux:NNNN
+      { CTEX \cs_to_str:N #2 } #1#2
+  }
+\cs_new_protected:Npn \@@_provide_font_hook_aux:NNNN #1#2#3#4
+  {
+    \tl_new:N #1
+    \cs_if_exist:NTF #3
+      { \tl_gput_right:Nn #3 {#1} }
+      { \ctex_patch_cmd:Nnn #2 {#4} { #1#4 } }
+  }
+\ctex_provide_font_hook:NNN \rmfamily \@rmfamilyhook \selectfont
+\ctex_provide_font_hook:NNN \sffamily \@sffamilyhook \selectfont
+\ctex_provide_font_hook:NNN \ttfamily \@ttfamilyhook \selectfont
+%<pdftex|luatex>\ctex_provide_font_hook:NNN \normalfont \@defaultfamilyhook \usefont
+%    \end{macrocode}
+% \end{macro}
+%
+% 按 \pkg{CJK} 的命名习惯模拟部分命令，并设置默认字体。
+%    \begin{macrocode}
+\tl_if_exist:NF \CJKfamilydefault
+  { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } }
+%<*pdftex|luatex>
+\tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { rm } }
+\tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { sf } }
+\tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { tt } }
+\tl_gput_right:Nn \CTEX@rmfamilyhook { \CJKfamily { \CJKrmdefault } }
+\tl_gput_right:Nn \CTEX@sffamilyhook { \CJKfamily { \CJKsfdefault } }
+\tl_gput_right:Nn \CTEX@ttfamilyhook { \CJKfamily { \CJKttdefault } }
+\tl_gput_right:Nn \CTEX@defaultfamilyhook { \CJKfamily { \CJKfamilydefault } }
+%</pdftex|luatex>
+%    \end{macrocode}
+% \upLaTeX 不需要补丁 \tn{normalfont}，只需要修改 \tn{kanjifamilydefault}。
+%    \begin{macrocode}
+%<*uptex|aptex>
+\tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { zhrm } }
+\tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { zhsf } }
+\tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { zhtt } }
+\tl_gput_right:Nn \CTEX@rmfamilyhook { \kanjifamily { \CJKrmdefault } }
+\tl_gput_right:Nn \CTEX@sffamilyhook { \kanjifamily { \CJKsfdefault } }
+\tl_gput_right:Nn \CTEX@ttfamilyhook { \kanjifamily { \CJKttdefault } }
+\tl_gset:Nn \kanjifamilydefault { \CJKfamilydefault }
+%</uptex|aptex>
+%    \end{macrocode}
+%
+% \pkg{zhmCJK} 判断结束。
+%    \begin{macrocode}
+%<pdftex>\fi:
+%    \end{macrocode}
+%
+% 使修改立刻生效，保证导言区字体族正确。
+%    \begin{macrocode}
+\normalfont
+%    \end{macrocode}
+%
+% 在导言区末尾更新 \tn{CJKfamilydefault}，\pdfTeX 已经在之前使用过此处代码。
+%    \begin{macrocode}
+%<!pdftex>\ctex_at_end_preamble:n { \ctex_update_default_family: }
+%    \end{macrocode}
 %
 % \changes{v2.4}{2016/02/15}{正确更新 \pkg{CJK} 包的 \tn{CJKfamilydefault}。}
 % \changes{v2.4.1}{2016/04/26}{正确更新 \upLaTeX{} 的 \tn{CJKfamilydefault}。}
@@ -6304,7 +6390,6 @@ Copyright and Licence
 % 在导言区结束，如果 \tn{CJKfamilydefault} 没有被更改，则在此时根据西文字体的情况
 % 更新 \tn{CJKfamilydefault}。\pkg{xeCJK} 已经有这个功能，不需要再调整。
 %    \begin{macrocode}
-%<*pdftex|luatex|uptex|aptex>
 \cs_new_protected:Npn \ctex_update_default_family:
   {
     \tl_if_eq:NNT \CJKfamilydefault \l_@@_family_default_init_tl
@@ -6328,9 +6413,7 @@ Copyright and Licence
 % 确认它的存在性。使用 \pkg{CJK} 宏包或 \upLaTeX{}
 % 时，\texttt{C19rm}、\texttt{JY2rm} 等总是有定义的，不需要确认。
 %    \begin{macrocode}
-%<*luatex>
-    \ctex_ltj_ensure_default_family:
-%</luatex>
+%<luatex>    \ctex_ltj_ensure_default_family:
   }
 %    \end{macrocode}
 % \end{macro}
@@ -6346,10 +6429,13 @@ Copyright and Licence
       { \exp_not:o { \CJKfamilydefault } }
   }
 \tl_gset_eq:NN \CJKfamilydefault \l_@@_family_default_init_tl
-%</pdftex|luatex|uptex|aptex>
 %    \end{macrocode}
 % \end{variable}
 %
+%    \begin{macrocode}
+%</pdftex|luatex|uptex|aptex>
+%    \end{macrocode}
+%
 % \changes{v2.0}{2014/04/16}{自动检测操作系统，载入对应的字体配置。}
 % \changes{v2.5}{2019/10/25}{操作系统检测移动至载入中文字库处，且不再需要
 %   依赖特定引擎。}
@@ -6953,35 +7039,39 @@ Copyright and Licence
     \ctex_update_em_unit:
     \dim_set:Nn \l_@@_tmp_dim { \l_@@_line_stretch_tl }
     \dim_compare:nNnTF \l_@@_tmp_dim = \c_max_dim
+      { \@@_update_stretch_auxi: }
+      { \@@_update_stretch_auxii: }
+  }
+\cs_new_protected:Npn \@@_update_stretch_auxi:
+  {
+    \ctex_if_ccglue_touched:TF
+      { \ctex_update_ccwd: }
       {
-        \ctex_if_ccglue_touched:TF
-          { \ctex_update_ccwd: }
-          {
-            \dim_set:Nn \l_@@_tmp_dim
-              { \baselinestretch \tex_glueexpr:D \f@baselineskip \scan_stop: }
-            \skip_set:Nn \l_@@_ccglue_skip
-              { \c_zero_dim plus .08 \l_@@_tmp_dim }
-            \ctex_update_ccglue:
-          }
+        \dim_set:Nn \l_@@_tmp_dim
+          { \baselinestretch \tex_glueexpr:D \f@baselineskip \scan_stop: }
+        \skip_set:Nn \l_@@_ccglue_skip
+          { \c_zero_dim plus .08 \l_@@_tmp_dim }
+        \ctex_update_ccglue:
       }
+  }
+\cs_new_protected:Npn \@@_update_stretch_auxii:
+  {
+    \int_set:Nn \l_@@_tmp_int
+      { \tex_dimexpr:D \linewidth - \ccwd - \l_@@_tmp_dim \scan_stop: }
+    \tex_divide:D \l_@@_tmp_int \ccwd
+    \int_compare:nNnTF \l_@@_tmp_int > \c_zero_int
       {
-        \int_set:Nn \l_@@_tmp_int
-          { \tex_dimexpr:D \linewidth - \ccwd - \l_@@_tmp_dim \scan_stop: }
-        \tex_divide:D \l_@@_tmp_int \ccwd
-        \int_compare:nNnTF \l_@@_tmp_int > \c_zero_int
+        \skip_set:Nn \l_@@_ccglue_skip
           {
-            \skip_set:Nn \l_@@_ccglue_skip
+            \c_zero_dim plus \dim_eval:n
               {
-                \c_zero_dim plus \dim_eval:n
-                  {
-                    ( \linewidth - \ccwd - \l_@@_tmp_int \ccwd ) /
-                    \l_@@_tmp_int
-                  }
+                ( \linewidth - \ccwd - \l_@@_tmp_int \ccwd ) /
+                \l_@@_tmp_int
               }
           }
-          { \skip_zero:N \l_@@_ccglue_skip }
-        \ctex_update_ccglue:
       }
+      { \skip_zero:N \l_@@_ccglue_skip }
+    \ctex_update_ccglue:
   }
 %    \end{macrocode}
 % \end{macro}
@@ -8766,6 +8856,59 @@ Copyright and Licence
 %</beamer>
 %    \end{macrocode}
 %
+% \subsubsection{标题编号和目录的层次设置}
+%
+% \changes{v2.5.2}{2020/05/06}{新增标题选项 \opt{secnumdepth} 和 \opt{tocdepth}。}
+%
+% \begin{macro}{secnumdepth, tocdepth}
+% \opt{secnumdepth} 在 \cls{beamer} 下无意义。
+%    \begin{macrocode}
+\ctex_define:n
+  {
+%<*!beamer>
+    secnumdepth           .code:n = \ctex_heading_depth:ne { secnumdepth } {#1} ,
+    secnumdepth .value_required:n = true ,
+%</!beamer>
+    tocdepth              .code:n = \ctex_heading_depth:ne { tocdepth } {#1} ,
+    tocdepth    .value_required:n = true
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_heading_depth:nn}
+% 注意此处 \tn{setcounter} 的赋值是全局的。
+%    \begin{macrocode}
+\cs_new_protected:Npn \ctex_heading_depth:nn #1#2
+  {
+    \prop_get:NnNTF \c_@@_heading_level_prop {#2} \l_@@_tmp_tl
+      { \setcounter {#1} { \l_@@_tmp_tl } }
+      { \setcounter {#1} { \int_eval:n {#2} } }
+  }
+\cs_generate_variant:Nn \ctex_heading_depth:nn { ne }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}[int]{\c_@@_heading_level_prop}
+% 章节层次与名称的对应表。
+%    \begin{macrocode}
+\prop_const_from_keyval:Nn \c_@@_heading_level_prop
+  {
+%<*article|beamer>
+    part          =  0 ,
+%</article|beamer>
+%<*book|report>
+    part          = -1 ,
+    chapter       =  0 ,
+%</book|report>
+    section       =  1 ,
+    subsection    =  2 ,
+    subsubsection =  3 ,
+    paragraph     =  4 ,
+    subparagraph  =  5
+  }
+%    \end{macrocode}
+% \end{variable}
+%
 % \subsubsection{标签引用数字的汉化}
 %
 % \begin{macro}[int]{\refstepcounter}
@@ -9082,7 +9225,7 @@ Copyright and Licence
 %
 % 处理 \opt{sub3section} 与 \opt{sub4section} 的格式。
 %    \begin{macrocode}
-\int_compare:nNnTF \g__ctex_section_depth_int > 2
+\int_compare:nNnTF \g_@@_section_depth_int > 2
   {
     \ctex_set:nn { paragraph }
       {
@@ -9098,7 +9241,7 @@ Copyright and Licence
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_int > 3
+\int_compare:nNnTF \g_@@_section_depth_int > 3
   {
     \ctex_set:nn { subparagraph }
       {
@@ -9114,7 +9257,7 @@ Copyright and Licence
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_int > 2
+\int_compare:nNnTF \g_@@_section_depth_int > 2
   { \ctex_set:nn { subparagraph } { indent = \c_zero_dim } }
   { \ctex_set:nn { subparagraph } { indent = \parindent } }
 %    \end{macrocode}
@@ -9673,7 +9816,7 @@ Copyright and Licence
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\ctex_fontset_case:nnn}
+% \begin{macro}[int]{\ctex_fontset_case:nnn}
 % $3$ 个参数依次为 \pdfTeX、\upTeX\ 和 \XeTeX/\LuaTeX。
 %    \begin{macrocode}
 \cs_new:Npx \ctex_fontset_case:nnn #1#2#3
@@ -9685,7 +9828,7 @@ Copyright and Licence
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\ctex_fontset_case:nnnn}
+% \begin{macro}[int]{\ctex_fontset_case:nnnn}
 % $4$ 个参数依次为 \pdfTeX（生成 PDF）、\pdfTeX（生成 DVI）、\upTeX 和
 % \XeTeX/\LuaTeX。
 %    \begin{macrocode}
@@ -10028,7 +10171,7 @@ Copyright and Licence
         \ctex_punct_map_itshape:nn  { \CJKrmdefault } { zhkai  }
       }
       {
-        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhadobefonts }
+        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { adobe }
         \ctex_punct_set:n { adobe }
         \ctex_punct_map_family:nn   { \CJKrmdefault } { zhsong }
         \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei  }
@@ -10098,7 +10241,7 @@ Copyright and Licence
         \ctex_punct_map_itshape:nn  { \CJKrmdefault         } { zhkai   }
       }
       {
-        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfandolfonts }
+        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { fandol }
         \ctex_punct_set:n { fandol }
         \ctex_punct_map_family:nn   { \CJKrmdefault } { zhsong }
         \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei  }
@@ -10172,7 +10315,7 @@ Copyright and Licence
         \ctex_punct_map_bfseries:nn { zhyou                 } { zhyoub  }
       }
       {
-        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfounderfonts }
+        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { founder }
         \ctex_punct_set:n { founder }
         \ctex_punct_map_family:nn   { \CJKrmdefault } { zhsong }
         \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei  }
@@ -10214,6 +10357,9 @@ Copyright and Licence
 %</founder>
 %    \end{macrocode}
 %
+% \changes{v2.5.2}{2020/05/06}
+%   {修正 \opt{macnew} 和 \opt{ubuntu} 字库的 \pkg{CJKpunct} 标点信息。}
+%
 % \paragraph{\opt{mac} 相关}
 %
 % \changes{v2.4.14}{2018/05/01}{区分 \opt{macold} 及 \opt{macnew}。}
@@ -10273,18 +10419,19 @@ Copyright and Licence
         \setCJKfamilyfont { zhyou  } { :4:Yuanti.ttc   } [ BoldFont = :0:Yuanti.ttc   ]
         \ctex_punct_set:n { mac }
         \ctex_punct_map_family:nn   { \CJKrmdefault         } { zhsong  }
-        \ctex_punct_map_family:nn   { \CJKsfdefault         } { zhheil  }
+        \ctex_punct_map_family:nn   { \CJKsfdefault         } { zhpf    }
         \ctex_punct_map_family:nn   { \CJKttdefault         } { zhfs    }
         \ctex_punct_map_itshape:nn  { \CJKrmdefault         } { zhkai   }
         \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb }
-        \ctex_punct_map_bfseries:nn { \CJKsfdefault         } { zhhei   }
+        \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhhei  } { zhpfb   }
         \ctex_punct_map_bfseries:nn { zhyou                 } { zhyoub  }
       }
       {
-        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhmacfonts }
+        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { mac }
         \ctex_punct_set:n { mac }
         \ctex_punct_map_family:nn   { \CJKrmdefault } { zhsong }
-        \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei  }
+        \ctex_punct_map_family:nn   { \CJKsfdefault } { zhpf   }
+        \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhpf   }
         \ctex_punct_map_itshape:nn  { \CJKrmdefault } { zhkai  }
       }
       { \ctex_fontset_error:n { macnew } }
@@ -10359,15 +10506,18 @@ Copyright and Licence
         \setCJKfamilyfont { zhhei  } { :2:NotoSansCJK-Regular.ttc  }
           [ BoldFont = :2:NotoSansCJK-Bold.ttc  ]
         \setCJKfamilyfont { zhkai  } { gkai00mp.ttf  }
-        \ctex_punct_set:n { fandol }
-        \ctex_punct_map_family:nn   { \CJKrmdefault         } { zhsong  }
-        \ctex_punct_map_family:nn   { \CJKsfdefault         } { zhhei   }
-        \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb }
-        \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhhei  } { zhheib  }
-        \ctex_punct_map_itshape:nn  { \CJKrmdefault         } { zhkai   }
+        \ctex_punct_set:n { ubuntu }
+        \ctex_punct_map_family:nn   { \CJKrmdefault        } { zhsong  }
+        \ctex_punct_map_family:nn   { \CJKsfdefault        } { zhhei   }
+        \ctex_punct_map_family:nn   { \CJKttdefault        } { zhsong  }
+        \ctex_punct_map_itshape:nn  { \CJKrmdefault        } { zhkai   }
+        \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhhei } { zhheib  }
+        \ctex_punct_map_bfseries:nn
+          { \CJKrmdefault, \CJKttdefault, zhsong }
+          { zhsongb }
       }
       {
-        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhsong } { zhubuntufonts }
+        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhsong } { ubuntu }
         \ctex_punct_set:n { ubuntu }
         \ctex_punct_map_family:nn   { \CJKrmdefault } { zhsong }
         \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei  }
@@ -10448,17 +10598,13 @@ Copyright and Licence
         \ctex_punct_map_family:nn   { \CJKttdefault          } { zhfs     }
       }
       {
-        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhwindowsfonts }
+        \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { windows }
         \ctex_punct_set:n { windows }
         \ctex_punct_map_family:nn   { \CJKrmdefault } { zhsong }
         \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei  }
         \ctex_punct_map_itshape:nn  { \CJKrmdefault } { zhkai  }
       }
-      {
-        \tl_set:Nn \CJKrmdefault { rm }
-        \tl_set:Nn \CJKsfdefault { sf }
-        \tl_set:Nn \CJKttdefault { tt }
-      }
+      { }
   }
   {
     \ctex_set_upfonts:nnnnnn
@@ -10533,6 +10679,9 @@ Copyright and Licence
 %
 % \subsubsection{\pkg{zhmetrics} 的字体映射}
 %
+% \changes{v2.5.2}{2020/05/05}{\file{zhadobefonts.tex} 等字体映射文件更名为
+%   \file{ctex-zhmap-*.tex}。}
+%
 % 确认 \tn{catcode}，没有重复载入检查。
 %    \begin{macrocode}
 %<*zhmap>
@@ -10600,21 +10749,21 @@ Copyright and Licence
 %
 % 文件标识信息。
 %    \begin{macrocode}
-%<adobe>\ProvidesFile{zhadobefonts.tex}%
-%<adobe>  [2020/05/02 v2.5.1 Adobe font map loader for DVIPDFMx (CTEX)]
-%<fandol>\ProvidesFile{zhfandolfonts.tex}%
-%<fandol>  [2020/05/02 v2.5.1 Fandol font map loader for DVIPDFMx (CTEX)]
-%<founder>\ProvidesFile{zhfounderfonts.tex}%
-%<founder>  [2020/05/02 v2.5.1 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
-%<mac>\ProvidesFile{zhmacfonts.tex}%
-%<mac>  [2020/05/02 v2.5.1 Mac font map loader for pdfTeX and DVIPDFMx (CTEX)]
-%<ubuntu>\ProvidesFile{zhubuntufonts.tex}%
-%<ubuntu>  [2020/05/02 v2.5.1 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)]
-%<windows>\ProvidesFile{zhwindowsfonts.tex}%
-%<windows>  [2020/05/02 v2.5.1 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
+%<adobe>\ProvidesFile{ctex-zhmap-adobe.tex}%
+%<adobe>  [2020/05/16 v2.5.2 Adobe font map loader for DVIPDFMx (CTEX)]
+%<fandol>\ProvidesFile{ctex-zhmap-fandol.tex}%
+%<fandol>  [2020/05/16 v2.5.2 Fandol font map loader for DVIPDFMx (CTEX)]
+%<founder>\ProvidesFile{ctex-zhmap-founder.tex}%
+%<founder>  [2020/05/16 v2.5.2 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
+%<mac>\ProvidesFile{ctex-zhmap-mac.tex}%
+%<mac>  [2020/05/16 v2.5.2 Mac font map loader for DVIPDFMx (CTEX)]
+%<ubuntu>\ProvidesFile{ctex-zhmap-ubuntu.tex}%
+%<ubuntu>  [2020/05/16 v2.5.2 Ubuntu font map loader for DVIPDFMx (CTEX)]
+%<windows>\ProvidesFile{ctex-zhmap-windows.tex}%
+%<windows>  [2020/05/16 v2.5.2 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
 %    \end{macrocode}
 %
-% \paragraph{\pkg{zhadobefonts.tex}}
+% \paragraph{\pkg{ctex-zhmap-adobe.tex}}
 %
 %    \begin{macrocode}
 %<*adobe>
@@ -10643,7 +10792,7 @@ Copyright and Licence
 %</adobe>
 %    \end{macrocode}
 %
-% \paragraph{\pkg{zhfandolfonts.tex}}
+% \paragraph{\pkg{ctex-zhmap-fandol.tex}}
 %
 %    \begin{macrocode}
 %<*fandol>
@@ -10672,7 +10821,7 @@ Copyright and Licence
 %</fandol>
 %    \end{macrocode}
 %
-% \paragraph{\pkg{zhfounderfonts.tex}}
+% \paragraph{\pkg{ctex-zhmap-founder.tex}}
 %
 %    \begin{macrocode}
 %<*founder>
@@ -10734,7 +10883,7 @@ Copyright and Licence
 %</founder>
 %    \end{macrocode}
 %
-% \paragraph{\pkg{zhmacfonts.tex}}
+% \paragraph{\pkg{ctex-zhmap-mac.tex}}
 %
 % \changes{v2.5}{2020/01/15}{增加字体映射文件 \file{zhmacfonts.tex}。}
 %
@@ -10773,7 +10922,7 @@ Copyright and Licence
 %</mac>
 %    \end{macrocode}
 %
-% \paragraph{\pkg{zhubuntufonts.tex}}
+% \paragraph{\pkg{ctex-zhmap-ubuntu.tex}}
 %
 %    \begin{macrocode}
 %<*ubuntu>
@@ -10802,7 +10951,7 @@ Copyright and Licence
 %</ubuntu>
 %    \end{macrocode}
 %
-% \paragraph{\pkg{zhwindowsfonts.tex}}
+% \paragraph{\pkg{ctex-zhmap-windows.tex}}
 %
 %    \begin{macrocode}
 %<*windows>
@@ -10871,6 +11020,9 @@ Copyright and Licence
 %
 % \subsubsection{制作 \texttt{spa} 文件}
 %
+% \changes{v2.5.2}{2020/05/05}{\file{ctexmakespa.tex} 更名为 \file{ctex-spa-make.tex}。}
+% \changes{v2.5.2}{2020/05/05}{\file{ctexspamacro.tex} 更名为 \file{ctex-spa-macro.tex}。}
+%
 % 我们通过 \XeTeX{} 的 \tn{XeTeXglyphbounds} 取得字体中标点符号的边界信息，为
 % \pkg{CJKpunct} 宏包制作 \file{spa}。
 %
@@ -10970,7 +11122,7 @@ Copyright and Licence
 % 下面是 \CTeX{} 定义的一些字体。
 %    \begin{macrocode}
 %<*make>
-\input ctexspamacro %
+\input ctex-spa-macro %
 \MAKESPA {ctexpunct.spa}
   {
     {adobezhsong}     {AdobeSongStd-Light} ,
-- 
cgit v1.2.3

