summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/ctex/ctex.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-05-16 21:26:14 +0000
committerKarl Berry <karl@freefriends.org>2020-05-16 21:26:14 +0000
commitbc3f8ae7a070c0635a7f6aa2febefcc6bd639677 (patch)
tree8c74427547bb691ef1dbe4a7edffa535251c4702 /Master/texmf-dist/source/latex/ctex/ctex.dtx
parent74dfa355b56ae4ff3cde96e2b636198c15bcf1fc (diff)
ctex (16may20)
git-svn-id: svn://tug.org/texlive/trunk@55162 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/ctex/ctex.dtx')
-rw-r--r--Master/texmf-dist/source/latex/ctex/ctex.dtx556
1 files changed, 354 insertions, 202 deletions
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} ,