texlive[56161] Master/texmf-dist: ctex (23aug20)

commits+karl at tug.org commits+karl at tug.org
Sun Aug 23 22:53:47 CEST 2020


Revision: 56161
          http://tug.org/svn/texlive?view=revision&revision=56161
Author:   karl
Date:     2020-08-23 22:53:47 +0200 (Sun, 23 Aug 2020)
Log Message:
-----------
ctex (23aug20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/ctex/ctex.pdf
    trunk/Master/texmf-dist/source/latex/ctex/ctex.dtx
    trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-adobe.tex
    trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-fandol.tex
    trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-founder.tex
    trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-mac.tex
    trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-ubuntu.tex
    trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-windows.tex
    trunk/Master/texmf-dist/tex/latex/ctex/config/ctex-name-gbk.cfg
    trunk/Master/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg
    trunk/Master/texmf-dist/tex/latex/ctex/config/ctex.cfg
    trunk/Master/texmf-dist/tex/latex/ctex/config/ctexbackend.cfg
    trunk/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg
    trunk/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo
    trunk/Master/texmf-dist/tex/latex/ctex/ctex-cs4size.clo
    trunk/Master/texmf-dist/tex/latex/ctex/ctex.sty
    trunk/Master/texmf-dist/tex/latex/ctex/ctexart.cls
    trunk/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls
    trunk/Master/texmf-dist/tex/latex/ctex/ctexbook.cls
    trunk/Master/texmf-dist/tex/latex/ctex/ctexcap.sty
    trunk/Master/texmf-dist/tex/latex/ctex/ctexheading.sty
    trunk/Master/texmf-dist/tex/latex/ctex/ctexhook.sty
    trunk/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty
    trunk/Master/texmf-dist/tex/latex/ctex/ctexrep.cls
    trunk/Master/texmf-dist/tex/latex/ctex/ctexsize.sty
    trunk/Master/texmf-dist/tex/latex/ctex/ctexspa.def
    trunk/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseGBK.dict
    trunk/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseUTF8.dict
    trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def
    trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def
    trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def
    trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def
    trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def
    trunk/Master/texmf-dist/tex/latex/ctex/fd/c19rm.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/c19sf.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/c19tt.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/c70rm.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/c70sf.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/c70tt.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd
    trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-adobe.def
    trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def
    trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-founder.def
    trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-mac.def
    trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macnew.def
    trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macold.def
    trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-ubuntu.def
    trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def
    trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-article.def
    trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-beamer.def
    trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-book.def
    trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-report.def
    trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def
    trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-beamer.def
    trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-book.def
    trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-report.def
    trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese.def
    trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-article.def
    trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-beamer.def
    trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-book.def
    trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-report.def
    trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain.def

Modified: trunk/Master/texmf-dist/doc/latex/ctex/ctex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/ctex/ctex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/ctex/ctex.dtx	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/source/latex/ctex/ctex.dtx	2020-08-23 20:53:47 UTC (rev 56161)
@@ -443,7 +443,7 @@
 %<class|style|ctexcap|ctexhook|ctexpatch>\NeedsTeXFormat{LaTeX2e}
 %<class>\input{ctexbackend.cfg}
 %<class|style|ctexcap|ctexhook|ctexpatch>\RequirePackage{expl3}
-%<+!driver>\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+%<+!driver>\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
 %<ctex>  {Chinese adapter in LaTeX (CTEX)}
 %<ctex>\ProvidesExplPackage{\ExplFileName}
 %<ctexsize>  {Chinese font size definition (CTEX)}
@@ -530,7 +530,7 @@
 %<founder>\ProvidesExplFile{ctex-fontset-founder.def}
 %<ubuntu>  {Ubuntu fonts definition (CTEX)}
 %<ubuntu>\ProvidesExplFile{ctex-fontset-ubuntu.def}
-%<!driver>  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+%<!driver>  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 %</!(fd|ctexspa|dict|backend)>
 %<c19&rm>\ProvidesFile{c19rm.fd}%
 %<c19&sf>\ProvidesFile{c19sf.fd}%
@@ -548,10 +548,10 @@
 %<backend>\ProvidesFile{ctexbackend.cfg}%
 %<dict&theorem&GBK>\ProvidesDictionary{translator-theorem-dictionary}{ChineseGBK}%
 %<dict&theorem&UTF8>\ProvidesDictionary{translator-theorem-dictionary}{ChineseUTF8}%
-%<fd>  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
-%<ctexspa>  [2020/06/06 v2.5.3 Space info for CJKpunct (CTEX)]
-%<backend>  [2020/06/06 v2.5.3 Backend configuration file (CTEX)]
-%<dict&theorem>  [2020/06/06 v2.5.3 Chinese translation for theorem name (CTEX)]
+%<fd>  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
+%<ctexspa>  [2020/08/23 v2.5.4 Space info for CJKpunct (CTEX)]
+%<backend>  [2020/08/23 v2.5.4 Backend configuration file (CTEX)]
+%<dict&theorem>  [2020/08/23 v2.5.4 Chinese translation for theorem name (CTEX)]
 %</!(driver|readme|install|zhmap|spa|docstrip)>
 %<*driver>
 \documentclass{ctxdoc}
@@ -575,7 +575,7 @@
 % \changes{v2.4.15}{2019/03/23}{同步 \LaTeXiii{} 2019/03/05。}
 % \changes{v2.5.1}{2020/05/02}{\pkg{zhconv} 更名为 \pkg{ctex-zhconv}。}
 %
-% \CheckSum{6222}
+% \CheckSum{6228}
 %
 % \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
@@ -1171,9 +1171,9 @@
 %   的格式。启用 \opt{sub4section} 会将 \tn{paragraph} 和 \tn{subparagraph} 的格式
 %   都修改为类似 \tn{section} 的格式。
 %
-%   启用该选项通常还需要将计数器 |secnumdepth| 的值为设置为 4 或 5。
+%   启用该选项通常还需要将计数器 |secnumdepth| 的值为设置为 |4| 或 |5|。
 %
-%   具体格式可参考 \ref{sec:secstyle}~节中的 \opt{runin} 和 \opt{afterskip} 选项。
+%   具体格式可参考 \ref{subsec:sec-spacing}~小节中的 \opt{runin} 和 \opt{afterskip} 选项。
 %
 %   注意,上述两个选项只有在非 \cls{beamer} 文档类下 \opt{heading} 选项启用的时候
 %   才有意义。亦即,只有在使用除了 \cls{ctexbeamer} 的三个 \CTeX{} 文档类或启用了
@@ -1492,7 +1492,7 @@
 % 的包提供了以下宏供使用:
 % \begin{itemize}
 % \item \tn{CTEXthechapter}、\tn{CTEXthesection} 等章节编号(见
-% \ref{sec:secstyle} 节)。它们用来代替英文文档类中的
+% \ref{subsec:sec-commands}~小节)。它们用来代替英文文档类中的
 % \tn{thechapter}、\tn{thesection} 等宏。
 %
 % \item \tn{leftmark}、\tn{rightmark},它们是在使用章节标题命令后,自动设置的
@@ -2538,10 +2538,10 @@
 %   \end{tabular}
 % \end{table}
 %
-% \subsection{有关命令}
+% \subsection{辅助命令}
 % \label{subsec:sec-commands}
 %
-% \CTeX{} 宏集还提供了一些命令(宏),用于存储章节标题格式,或进行一些条件判断。
+% \CTeX{} 宏集还提供了一些辅助命令(宏),用于存储章节标题格式,或进行一些条件判断。
 %
 % \begin{function}{\CTEXthepart, \CTEXthechapter, \CTEXthesection,
 %   \CTEXthesubsection, \CTEXthesubsubsection, \CTEXtheparagraph,
@@ -3346,7 +3346,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2020/04/06 } { }
+\@ifpackagelater { expl3 } { 2020/07/17 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 %<*class>
 \@ifpackagelater { l3keys2e } { 2015/12/20 } { }
@@ -3417,68 +3417,44 @@
   { \keys_set:nn { ctex } }
 \cs_new_protected:Npn \ctex_set:nn #1
   { \keys_set:nn { ctex / #1 } }
+%</!ctexsize>
 %    \end{macrocode}
 % \end{macro}
 %
 % \changes{v2.5.3}{2020/06/06}{正确关闭和恢复 \LaTeXiii 语法环境。}
+% \changes{v2.5.4}{2020/08/02}{应用 \pkg{l3cctab}。}
 %
-% \begin{macro}[int]{\ctex_file_wrapper:nnn}
-% 设置文件操作的 \tn{catcode} 环境,参数 |#1| 是设置,|#2| 是文件操作,|#3| 是恢复。
-% 默认关闭 \LaTeXiii{} 语法环境,并设置 |@| 的 \tn{catcode} 为 $11$。
-% 这里最自然的使用 \pkg{l3cctab} 来实现,但目前 \pkg{l3cctab} 还属于
-% \pkg{l3experimental},我们暂时不依赖它。
+% \begin{macro}[int]{\ctex_file_input:n}
+% 输入文件,关闭 \LaTeXiii 语法环境,并设置 |@| 为字母类。
 %    \begin{macrocode}
-%</!ctexsize>
-\cs_new_protected:Npn \ctex_file_wrapper:nnn
+\cs_new_protected:Npn \ctex_file_input:n #1
   {
-    \exp_args:NNx \ExplSyntaxOff
-    \@@_file_wrapper_aux:nnnn
-      {
-        \bool_if:NTF \l__kernel_expl_bool
-          { \ExplSyntaxOn }
-          { \ExplSyntaxOff }
-      }
+    \cctab_begin:N \c_@@_package_cctab
+      \file_input:n {#1}
+    \cctab_end:
   }
-\cs_new_protected:Npn \@@_file_wrapper_aux:nnnn #1#2#3#4
+\cctab_const:Nn \c_@@_package_cctab
   {
-    \use:x
-      {
-        \char_set_catcode_letter:n { 64 }
-        #2
-        \exp_not:n {#3}
-        \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } }
-        #4
-      }
-    #1
+    \cctab_select:N \c_document_cctab
+    \char_set_catcode_letter:n { 64 }
   }
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}[int]{\ctex_file_input:n}
-% 输入文件。
-%    \begin{macrocode}
-\cs_new_protected:Npn \ctex_file_input:n #1
-  { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } }
-%<*!ctexsize>
-%    \end{macrocode}
-% \end{macro}
-%
 % \begin{macro}[int]{\ctex_scheme_input:n}
 % 输入 \opt{scheme} 文件。先查找当前文档类下的 \meta{scheme},找不到再查找一般的文件。
 %    \begin{macrocode}
+%<*!ctexsize>
 \cs_new_protected:Npn \ctex_scheme_input:n #1
   {
-    \ctex_file_wrapper:nnn
-      { }
-      {
-        \tl_if_exist:NTF \c_@@_class_tl
-          {
-            \file_if_exist_input:nF { ctex-scheme- #1 - \c_@@_class_tl .def }
-              { \file_input:n  { ctex-scheme- #1 .def } }
-          }
-          { \file_input:n  { ctex-scheme- #1 .def } }
-      }
-      { }
+    \cctab_begin:N \c_@@_package_cctab
+      \tl_if_exist:NTF \c_@@_class_tl
+        {
+          \file_if_exist_input:nF { ctex-scheme- #1 - \c_@@_class_tl .def }
+            { \file_input:n  { ctex-scheme- #1 .def } }
+        }
+        { \file_input:n  { ctex-scheme- #1 .def } }
+    \cctab_end:
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
 %    \end{macrocode}
@@ -4241,6 +4217,8 @@
   \RequirePackage { CJKpunct , CJKspace }
 %    \end{macrocode}
 %
+% \changes{v2.4.4}{2016/09/09}{解决 \opt{zhmap} 文件的 \tn{catcode} 问题。}
+%
 % \begin{macro}[int]{\ctex_load_zhmap:nnnn}
 % 载入 \pkg{zhmetrics} 的字体映射文件,同时设置 \tn{CJKrmdefault} 等。
 %    \begin{macrocode}
@@ -4249,32 +4227,12 @@
       \tl_set:Nn \CJKrmdefault {#1}
       \tl_set:Nn \CJKsfdefault {#2}
       \tl_set:Nn \CJKttdefault {#3}
-      \ctex_set_zhmap:n { \ctex_zhmap_input:n { ctex-zhmap- #4 .tex } }
+      \ctex_set_zhmap:n { \ctex_file_input:n { ctex-zhmap- #4 .tex } }
     }
   \@onlypreamble \ctex_load_zhmap:nnnn
 %    \end{macrocode}
 % \end{macro}
 %
-% \changes{v2.4.4}{2016/09/09}{解决 \opt{zhmap} 文件的 \tn{catcode} 问题。}
-% \begin{macro}[int]{\ctex_zhmap_input:n}
-% 载入字体映射文件时,确认 |%| 和 |\| 的 \tn{catcode}。
-%    \begin{macrocode}
-  \cs_new_protected:Npn \ctex_zhmap_input:n #1
-    {
-      \ctex_file_wrapper:nnn
-        {
-          \char_set_catcode_comment:n { 37 } % %
-          \char_set_catcode_escape:n  { 92 } % \
-        }
-        { \file_input:n {#1} }
-        {
-          \char_set_catcode:nn { 37 } { \char_value_catcode:n { 37 } }
-          \char_set_catcode:nn { 92 } { \char_value_catcode:n { 92 } }
-        }
-    }
-%    \end{macrocode}
-% \end{macro}
-%
 % \pkg{zhmCJK} 判断结束。
 %    \begin{macrocode}
 \fi:
@@ -4284,23 +4242,19 @@
 % \pkg{breqn} 包可能会在正文中将 |^| 的 \tn{catcode} 改为 $12$ 或 $13$,这将
 % 破坏 \pkg{CJK} 对汉字的首字节的定义(\tn{CJK at loadBinding} 和
 % \tn{CJK at loadEncoding})。因此需要确保载入 \file{.enc} 和 \file{.bdg} 文件时,
-% |^| 的 \tn{catcode} 为 $7$。
+% |^| 的 \tn{catcode} 为 $7$。同时要设置 \tn{endlinechar} 为 $-1$。
 %    \begin{macrocode}
 \cs_new_protected:Npn \ctex_CJK_input:n #1
   {
-    \ctex_file_wrapper:nnn
-      {
-        \char_set_catcode_other:n            { 60 } % <
-        \char_set_catcode_math_superscript:n { 94 } % ^
-        \int_set:Nn \tex_endlinechar:D { -1 }
-      }
-      { \file_input:n {#1} }
-      {
-        \char_set_catcode:nn { 60 } { \char_value_catcode:n { 60 } }
-        \char_set_catcode:nn { 94 } { \char_value_catcode:n { 94 } }
-        \int_set:Nn \tex_endlinechar:D { \int_use:N \tex_endlinechar:D }
-      }
+    \cctab_begin:N \c_@@_CJK_cctab
+      \file_input:n {#1}
+    \cctab_end:
   }
+\cctab_const:Nn \c_@@_CJK_cctab
+  {
+    \cctab_select:N \c_@@_package_cctab
+    \int_set:Nn \tex_endlinechar:D { -1 }
+  }
 \cs_set_eq:NN \CJK at input \ctex_CJK_input:n
 %    \end{macrocode}
 % \end{macro}
@@ -4567,6 +4521,7 @@
 % \changes{v2.0}{2014/03/08}{通过 \pkg{LuaTeX-ja} 宏包支持 \LuaLaTeX。}
 % \changes{v2.3}{2015/09/25}{更新 \pkg{LuaTeX-ja} 支持(20150922.0)。}
 % \changes{v2.5}{2020/04/18}{更新 \pkg{LuaTeX-ja} 支持(20200412.0)。}
+% \changes{v2.5.4}{2020/08/16}{更新 \pkg{LuaTeX-ja} 支持(20200808.0)。}
 %
 % \pkg{LuaTeX-ja} 为了兼容 p\LaTeX 的使用习惯,对 \LaTeXe 的 \pkg{NFSS} 作了不少
 % 修改和扩充,这对于简体中文用户来说不是必要的。我们在这里禁用它。
@@ -4593,6 +4548,13 @@
   { \msg_error:nnn { ctex } { package-too-old } { fontspec } }
 %    \end{macrocode}
 %
+% 引擎文件是通过 \cs{ctex_file_input:n} 载入的,其中的 \tn{catcodetable} 机制会完整恢复
+% 文件载入之前的 \tn{catcode} 状态,在引擎文件中的 \tn{catcode} 设置都无效。
+% 因此,对 \tn{ltjlineendcomment} 的设置要放到文件之外进行。
+%    \begin{macrocode}
+\ctex_at_end:n { \char_set_catcode_comment:n { \ltjlineendcomment } }
+%    \end{macrocode}
+%
 % \paragraph{\pkg{LuaTeX-ja} 的默认设置}
 %
 %    \begin{macrocode}
@@ -4636,18 +4598,23 @@
 \directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
 %    \end{macrocode}
 %
-% 以下设置抄录自 \file{ltj-latex.sty}。
+% 以下设置抄录自 2020/08/08 之前的 \file{ltj-latex.sty}。
+% 自 2020/08/08 开始,\pkg{LuaTeX-ja} 引入新的缓存机制,此段设置被整合进 \file{luatexja.lua}。
 %    \begin{macrocode}
-\directlua{
-  local s = kpse.find_file('ltj-kinsoku.lua', 'tex')
-  luatexja.stack.charprop_stack_table[0] = s and dofile(s) or {}
-}
-\ltjsetparameter{kanjiskip=\z@ plus .4pt minus .5pt,
-  xkanjiskip=.25\zw plus 1pt minus 1pt,
-  autospacing, autoxspacing, jacharrange={-1},
-  yalbaselineshift=\z@, yjabaselineshift=\z@,
-  jcharwidowpenalty=500, differentjfm=paverage
-}
+\@ifpackagelater{luatexja}{2020/08/08}
+  { \ltjsetparameter { autospacing, autoxspacing, differentjfm = paverage } }
+  {
+    \directlua{
+      local s = kpse.find_file('ltj-kinsoku.lua', 'tex')
+      luatexja.stack.charprop_stack_table[0] = s and dofile(s) or {}
+    }
+    \ltjsetparameter{kanjiskip=\z@ plus .4pt minus .5pt,
+      xkanjiskip=.25\zw plus 1pt minus 1pt,
+      autospacing, autoxspacing, jacharrange={-1},
+      yalbaselineshift=\z@, yjabaselineshift=\z@,
+      jcharwidowpenalty=500, differentjfm=paverage
+    }
+  }
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -6411,6 +6378,7 @@
 % \subsubsection{修改主要字体命令}
 %
 % \changes{v2.5.2}{2020/05/06}{兼容 \LaTeX\ 2020-02-02 之前的版本。}
+% \changes{v2.5.4}{2020/06/07}{修正主要字体命令补丁。}
 %
 % 修改 \tn{rmfamily} 等主要字体命令,使得中文字体能随西文主要字体更新。
 % \LaTeX\ 2020-02-02 以后的版本可以直接使用 \tn{@rmfamilyhook} 等钩子。
@@ -6435,7 +6403,12 @@
     \tl_new:N #1
     \cs_if_exist:NTF #3
       { \tl_gput_right:Nn #3 {#1} }
-      { \ctex_patch_cmd:Nnn #2 {#4} { #1#4 } }
+%    \end{macrocode}
+% 注意此处不能用 \cs{ctex_patch_cmd:Nnn} 来打补丁,因其会关闭 \LaTeXiii 语法,
+% 但 \pkg{fontspec} 会在 \tn{rmfamily} 的命令中相应加入
+% \cs{l__fontspec_rmfamily_encoding_tl} 等,导致补丁失败。
+%    \begin{macrocode}
+      { \ctex_parse_name:NN \tl_replace_once:Nnn #2 {#4} { #1#4 } }
   }
 \ctex_provide_font_hook:NNN \rmfamily \@rmfamilyhook \selectfont
 \ctex_provide_font_hook:NNN \sffamily \@sffamilyhook \selectfont
@@ -9025,17 +8998,31 @@
 % \end{macro}
 %
 % \changes{v2.5.3}{2020/06/04}{兼容 \pkg{cleveref}。}
-% \begin{macro}{\ctex_cleveref_hook:}
+% \changes{v2.5.4}{2020/06/17}{同时兼容 \pkg{cleveref} 和 \pkg{hyperref}。}
+% \begin{macro}{\ctex_cleveref_hook:,\@@_cleveref_hook_aux:N}
 % 需要将\pkg{cleveref} 包对应命令中 |\p@|\meta{counter} 的参数及时展开,以兼容 \tn{labelformat}。
 %    \begin{macrocode}
 \cs_new_protected:Npn \ctex_cleveref_hook:
   {
-    \ctex_patch_cmd:Nnn \refstepcounter at noarg
+    \@ifpackageloaded { hyperref }
+      { \@@_cleveref_hook_aux:N \H at refstepcounter }
+      {
+        \@@_cleveref_hook_aux:N \refstepcounter at noarg
+        \@@_cleveref_hook_aux:N \refstepcounter at optarg
+      }
+    \@@_cleveref_hook_aux:N \appendix
+  }
+\cs_new_protected:Npn \@@_cleveref_hook_aux:N #1
+  {
+    \ctex_patch_cmd_all:NnnnTF #1
+      {
+        \ExplSyntaxOff
+        \char_set_catcode_letter:n { 64 }
+      }
       { \endcsname \csname the }
       { \expandafter \endcsname \csname the }
-    \ctex_patch_cmd:Nnn \refstepcounter at optarg
-      { \endcsname \csname the }
-      { \expandafter \endcsname \csname the }
+      { }
+      { \ctex_patch_failure:N #1 }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -10766,9 +10753,10 @@
 %    \begin{macrocode}
 %<*zhmap>
 \begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode 35=6 % #
-  \catcode123=1 % {
-  \catcode125=2 % }
+  \catcode 35=6  % #
+  \catcode 45=12 % -
+  \catcode123=1  % {
+  \catcode125=2  % }
   \toks0{\endlinechar=\the\endlinechar\relax}%
   \toks2{\endlinechar=-1 }%
   \def\x#1 #2 {%
@@ -10830,17 +10818,17 @@
 % 文件标识信息。
 %    \begin{macrocode}
 %<adobe>\ProvidesFile{ctex-zhmap-adobe.tex}%
-%<adobe>  [2020/06/06 v2.5.3 Adobe font map loader for DVIPDFMx (CTEX)]
+%<adobe>  [2020/08/23 v2.5.4 Adobe font map loader for DVIPDFMx (CTEX)]
 %<fandol>\ProvidesFile{ctex-zhmap-fandol.tex}%
-%<fandol>  [2020/06/06 v2.5.3 Fandol font map loader for DVIPDFMx (CTEX)]
+%<fandol>  [2020/08/23 v2.5.4 Fandol font map loader for DVIPDFMx (CTEX)]
 %<founder>\ProvidesFile{ctex-zhmap-founder.tex}%
-%<founder>  [2020/06/06 v2.5.3 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
+%<founder>  [2020/08/23 v2.5.4 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
 %<mac>\ProvidesFile{ctex-zhmap-mac.tex}%
-%<mac>  [2020/06/06 v2.5.3 Mac font map loader for DVIPDFMx (CTEX)]
+%<mac>  [2020/08/23 v2.5.4 Mac font map loader for DVIPDFMx (CTEX)]
 %<ubuntu>\ProvidesFile{ctex-zhmap-ubuntu.tex}%
-%<ubuntu>  [2020/06/06 v2.5.3 Ubuntu font map loader for DVIPDFMx (CTEX)]
+%<ubuntu>  [2020/08/23 v2.5.4 Ubuntu font map loader for DVIPDFMx (CTEX)]
 %<windows>\ProvidesFile{ctex-zhmap-windows.tex}%
-%<windows>  [2020/06/06 v2.5.3 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
+%<windows>  [2020/08/23 v2.5.4 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
 %    \end{macrocode}
 %
 % \paragraph{\pkg{ctex-zhmap-adobe.tex}}
@@ -11396,42 +11384,20 @@
 %
 % \changes{v2.2}{2015/06/26}{将文档开头和宏包末尾钩子提取到 \pkg{ctexhook} 宏包中。}
 % \changes{v2.5}{2020/04/21}{增加宏包开头钩子。}
+% \changes{v2.5.4}{2020/08/02}{兼容 \LaTeX \ 2020/10/01 的钩子机制。}
 %
 %    \begin{macrocode}
 %<*ctexhook>
 %    \end{macrocode}
 %
-% \begin{macro}[int]{\ctex_at_end_preamble:n,\ctex_after_end_preamble:n}
-% 实现 \pkg{etoolbox} 宏包的 \tn{AtEndPreamble} 和 \tn{AfterEndPreamble}。
-%    \begin{macrocode}
-\cs_new_protected:Npn \ctex_at_end_preamble:n
-  { \tl_gput_right:Nn \g_@@_end_preamble_hook_tl }
-\cs_new_protected:Npn \ctex_after_end_preamble:n
-  { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl }
-\cs_new_protected:Npn \CTEX at document@left at hook
-  { \group_end: \g_@@_end_preamble_hook_tl \group_begin: }
-\cs_new_protected:Npn \CTEX at document@right at hook
-  { \scan_stop: \g_@@_after_end_preamble_hook_tl \tex_ignorespaces:D }
-\cs_set_nopar:Npx \document
-  {
-    \CTEX at document@left at hook
-    \exp_not:o { \document }
-    \CTEX at document@right at hook
-  }
-\tl_new:N \g_@@_end_preamble_hook_tl
-\tl_new:N \g_@@_after_end_preamble_hook_tl
-%    \end{macrocode}
-% \end{macro}
-%
 % \begin{macro}[int]{\ctex_at_begin_package:nn}
 % 如果宏包已经被载入,则钩子无效,给出警告。
-% 在 \pkg{filehook} 的钩子\emph{之前}起作用。
 %    \begin{macrocode}
 \cs_new_protected:Npn \ctex_at_begin_package:nn #1
   {
     \@ifpackageloaded {#1}
       { \@@_package_loaded_warning:nn {#1} }
-      { \ctex_gadd_package_hook:nnn { begin } {#1} }
+      { \ctex_gadd_package_hook:nnn { before } {#1} }
   }
 \cs_new_protected:Npn \@@_package_loaded_warning:nn #1#2
   { \msg_warning:nnx { ctex } { invalid-hook } {#1} }
@@ -11446,17 +11412,55 @@
 % \begin{macro}[int]{\ctex_at_end_package:nn}
 % 与 \pkg{filehook} 的 \tn{AtEndOfPackageFile*} 类似,如果原来没有在载入宏包则
 % 在宏包末尾执行语句,否则立即执行。
-% 在 \pkg{filehook} 的钩子\emph{之后}起作用。
 %    \begin{macrocode}
 \cs_new_protected:Npn \ctex_at_end_package:nn #1
   {
     \@ifpackageloaded {#1}
       { \use:n }
-      { \ctex_gadd_package_hook:nnn { end } {#1} }
+      { \ctex_gadd_package_hook:nnn { after } {#1} }
   }
 %    \end{macrocode}
 % \end{macro}
 %
+% \LaTeX \ 2020/10/01 开始提供常用钩子管理机制。在新机制下,我们只需要做简单的包装。
+%    \begin{macrocode}
+\@ifl at t@r \fmtversion { 2020/10/01 }
+  {
+    \cs_new_protected:Npx \ctex_at_end_preamble:n
+      { \hook_gput_code:nnn { env/document/before } { \c_novalue_tl } }
+    \cs_new_protected:Npx \ctex_after_end_preamble:n
+      { \hook_gput_code:nnn { begindocument/end }   { \c_novalue_tl } }
+    \cs_new_protected:Npx \ctex_gadd_package_hook:nnn #1#2
+      { \hook_gput_code:nnn { package/#1/#2 }       { \c_novalue_tl } }
+    \file_input_stop:
+  }
+  { }
+%    \end{macrocode}
+%
+% 对于 \LaTeX \ 2020/10/01 之前的版本,需要自行补丁。
+%
+% \begin{macro}[int]{\ctex_at_end_preamble:n,\ctex_after_end_preamble:n}
+% 实现 \pkg{etoolbox} 宏包的 \tn{AtEndPreamble} 和 \tn{AfterEndPreamble}。
+%    \begin{macrocode}
+\cs_new_protected:Npn \ctex_at_end_preamble:n
+  { \tl_gput_right:Nn \g_@@_end_preamble_hook_tl }
+\cs_new_protected:Npn \ctex_after_end_preamble:n
+  { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl }
+\cs_new_protected:Npn \CTEX at document@left at hook
+  { \group_end: \g_@@_end_preamble_hook_tl \group_begin: }
+\cs_new_protected:Npn \CTEX at document@right at hook
+  { \scan_stop: \g_@@_after_end_preamble_hook_tl \tex_ignorespaces:D }
+\cs_set_nopar:Npx \document
+  {
+    \CTEX at document@left at hook
+    \exp_not:o { \document }
+    \CTEX at document@right at hook
+  }
+\tl_new:N \g_@@_end_preamble_hook_tl
+\tl_new:N \g_@@_after_end_preamble_hook_tl
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}[int]{\ctex_gadd_package_hook:nnn,
 % \ctex_gadd_hook:Nn, \ctex_gadd_hook:cn}
 % 给钩子附加内容。
@@ -11494,7 +11498,7 @@
 \cs_new_protected:Npn \CTEX at reset@ptions at hook
   {
     \cs_if_eq:NNT \@currext \@pkgextension
-      { \ctex_use_package_hook:nn { begin } { \@currname } }
+      { \ctex_use_package_hook:nn { before } { \@currname } }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -11506,7 +11510,7 @@
 \cs_new_protected:Npn \CTEX at popfilename@hook
   {
     \cs_if_eq:NNT \@currext \@pkgextension
-      { \ctex_use_package_hook:nn { end } { \@currname } }
+      { \ctex_use_package_hook:nn { after } { \@currname } }
   }
 %    \end{macrocode}
 % \end{macro}

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-adobe.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-adobe.tex	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-adobe.tex	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,9 +25,10 @@
 %% ---------------------------------------------------------------------
 %% 
 \begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode 35=6 % #
-  \catcode123=1 % {
-  \catcode125=2 % }
+  \catcode 35=6  % #
+  \catcode 45=12 % -
+  \catcode123=1  % {
+  \catcode125=2  % }
   \toks0{\endlinechar=\the\endlinechar\relax}%
   \toks2{\endlinechar=-1 }%
   \def\x#1 #2 {%
@@ -74,7 +75,7 @@
 \fi
 \endgroup
 \ProvidesFile{ctex-zhmap-adobe.tex}%
-  [2020/06/06 v2.5.3 Adobe font map loader for DVIPDFMx (CTEX)]
+  [2020/08/23 v2.5.4 Adobe font map loader for DVIPDFMx (CTEX)]
 \ifzhmappdf
 %% pdfTeX does not support OTF fonts
 \else

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-fandol.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-fandol.tex	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-fandol.tex	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,9 +25,10 @@
 %% ---------------------------------------------------------------------
 %% 
 \begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode 35=6 % #
-  \catcode123=1 % {
-  \catcode125=2 % }
+  \catcode 35=6  % #
+  \catcode 45=12 % -
+  \catcode123=1  % {
+  \catcode125=2  % }
   \toks0{\endlinechar=\the\endlinechar\relax}%
   \toks2{\endlinechar=-1 }%
   \def\x#1 #2 {%
@@ -74,7 +75,7 @@
 \fi
 \endgroup
 \ProvidesFile{ctex-zhmap-fandol.tex}%
-  [2020/06/06 v2.5.3 Fandol font map loader for DVIPDFMx (CTEX)]
+  [2020/08/23 v2.5.4 Fandol font map loader for DVIPDFMx (CTEX)]
 \ifzhmappdf
 %% pdfTeX does not support OTF fonts
 \else

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-founder.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-founder.tex	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-founder.tex	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,9 +25,10 @@
 %% ---------------------------------------------------------------------
 %% 
 \begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode 35=6 % #
-  \catcode123=1 % {
-  \catcode125=2 % }
+  \catcode 35=6  % #
+  \catcode 45=12 % -
+  \catcode123=1  % {
+  \catcode125=2  % }
   \toks0{\endlinechar=\the\endlinechar\relax}%
   \toks2{\endlinechar=-1 }%
   \def\x#1 #2 {%
@@ -74,7 +75,7 @@
 \fi
 \endgroup
 \ProvidesFile{ctex-zhmap-founder.tex}%
-  [2020/06/06 v2.5.3 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2020/08/23 v2.5.4 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
 \ifzhmappdf
   \pdfmapline{=gbk at UGBK@          <FZSSK.TTF}
   \pdfmapline{=gbksong at UGBK@      <FZSSK.TTF}

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-mac.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-mac.tex	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-mac.tex	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,9 +25,10 @@
 %% ---------------------------------------------------------------------
 %% 
 \begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode 35=6 % #
-  \catcode123=1 % {
-  \catcode125=2 % }
+  \catcode 35=6  % #
+  \catcode 45=12 % -
+  \catcode123=1  % {
+  \catcode125=2  % }
   \toks0{\endlinechar=\the\endlinechar\relax}%
   \toks2{\endlinechar=-1 }%
   \def\x#1 #2 {%
@@ -74,7 +75,7 @@
 \fi
 \endgroup
 \ProvidesFile{ctex-zhmap-mac.tex}%
-  [2020/06/06 v2.5.3 Mac font map loader for DVIPDFMx (CTEX)]
+  [2020/08/23 v2.5.4 Mac font map loader for DVIPDFMx (CTEX)]
 \ifzhmappdf
 %% pdfTeX does not support OTF fonts
 \else

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-ubuntu.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-ubuntu.tex	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-ubuntu.tex	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,9 +25,10 @@
 %% ---------------------------------------------------------------------
 %% 
 \begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode 35=6 % #
-  \catcode123=1 % {
-  \catcode125=2 % }
+  \catcode 35=6  % #
+  \catcode 45=12 % -
+  \catcode123=1  % {
+  \catcode125=2  % }
   \toks0{\endlinechar=\the\endlinechar\relax}%
   \toks2{\endlinechar=-1 }%
   \def\x#1 #2 {%
@@ -74,7 +75,7 @@
 \fi
 \endgroup
 \ProvidesFile{ctex-zhmap-ubuntu.tex}%
-  [2020/06/06 v2.5.3 Ubuntu font map loader for DVIPDFMx (CTEX)]
+  [2020/08/23 v2.5.4 Ubuntu font map loader for DVIPDFMx (CTEX)]
 \ifzhmappdf
 %% pdfTeX does not support OTF fonts
 \else

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-windows.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-windows.tex	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhmap/ctex-zhmap-windows.tex	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,9 +25,10 @@
 %% ---------------------------------------------------------------------
 %% 
 \begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode 35=6 % #
-  \catcode123=1 % {
-  \catcode125=2 % }
+  \catcode 35=6  % #
+  \catcode 45=12 % -
+  \catcode123=1  % {
+  \catcode125=2  % }
   \toks0{\endlinechar=\the\endlinechar\relax}%
   \toks2{\endlinechar=-1 }%
   \def\x#1 #2 {%
@@ -74,7 +75,7 @@
 \fi
 \endgroup
 \ProvidesFile{ctex-zhmap-windows.tex}%
-  [2020/06/06 v2.5.3 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2020/08/23 v2.5.4 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
 \ifzhmappdf
   \pdfmapline{=gbk at UGBK@          <simsun.ttc}
   \pdfmapline{=gbksong at UGBK@      <simsun.ttc}

Modified: trunk/Master/texmf-dist/tex/latex/ctex/config/ctex-name-gbk.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/config/ctex-name-gbk.cfg	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/config/ctex-name-gbk.cfg	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Caption with encoding GBK (CTEX)}
 \ProvidesExplFile{ctex-name-gbk.cfg}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \keys_set_known:nn { ctex }
   {
     contentsname   = Ŀ¼ ,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Caption with encoding UTF-8 (CTEX)}
 \ProvidesExplFile{ctex-name-utf8.cfg}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \keys_set_known:nn { ctex }
   {
     contentsname   = 目录 ,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/config/ctex.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/config/ctex.cfg	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/config/ctex.cfg	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Configuration file (CTEX)}
 \ProvidesExplFile{\ExplFileName.cfg}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 %%
 %% 
 %%

Modified: trunk/Master/texmf-dist/tex/latex/ctex/config/ctexbackend.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/config/ctexbackend.cfg	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/config/ctexbackend.cfg	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{ctexbackend.cfg}%
-  [2020/06/06 v2.5.3 Backend configuration file (CTEX)]
+  [2020/08/23 v2.5.4 Backend configuration file (CTEX)]
 \begingroup
 \expandafter\ifx\csname Umathchardef\endcsname\relax
 \else\expandafter\endgroup\expandafter\endinput\fi

Modified: trunk/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Option configuration file (CTEX)}
 \ProvidesExplFile{ctexopts.cfg}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 %%
 %% \ctex_set:nn { option } { fontset = windows }
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {c5size option (CTEX)}
 \ProvidesExplFile{ctex-c5size.clo}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set_font_size:Nnn \normalsize { 5 }
   {
     \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctex-cs4size.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctex-cs4size.clo	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctex-cs4size.clo	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {cs4size option (CTEX)}
 \ProvidesExplFile{ctex-cs4size.clo}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set_font_size:Nnn \normalsize { -4 }
   {
     \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctex.sty	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctex.sty	2020-08-23 20:53:47 UTC (rev 56161)
@@ -26,10 +26,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter in LaTeX (CTEX)}
 \ProvidesExplPackage{\ExplFileName}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \tl_const:Nx \c__ctex_version_tl
   { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } }
 \msg_new:nnnn { ctex } { subpackage-loaded }
@@ -52,7 +52,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2020/04/06 } { }
+\@ifpackagelater { expl3 } { 2020/07/17 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 \str_const:Nx \c__ctex_engine_str
   { \cs_if_exist:NTF \ngostype { aptex } { \c_sys_engine_str } }
@@ -80,43 +80,27 @@
   { \keys_set:nn { ctex } }
 \cs_new_protected:Npn \ctex_set:nn #1
   { \keys_set:nn { ctex / #1 } }
-\cs_new_protected:Npn \ctex_file_wrapper:nnn
+\cs_new_protected:Npn \ctex_file_input:n #1
   {
-    \exp_args:NNx \ExplSyntaxOff
-    \__ctex_file_wrapper_aux:nnnn
-      {
-        \bool_if:NTF \l__kernel_expl_bool
-          { \ExplSyntaxOn }
-          { \ExplSyntaxOff }
-      }
+    \cctab_begin:N \c__ctex_package_cctab
+      \file_input:n {#1}
+    \cctab_end:
   }
-\cs_new_protected:Npn \__ctex_file_wrapper_aux:nnnn #1#2#3#4
+\cctab_const:Nn \c__ctex_package_cctab
   {
-    \use:x
-      {
-        \char_set_catcode_letter:n { 64 }
-        #2
-        \exp_not:n {#3}
-        \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } }
-        #4
-      }
-    #1
+    \cctab_select:N \c_document_cctab
+    \char_set_catcode_letter:n { 64 }
   }
-\cs_new_protected:Npn \ctex_file_input:n #1
-  { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } }
 \cs_new_protected:Npn \ctex_scheme_input:n #1
   {
-    \ctex_file_wrapper:nnn
-      { }
-      {
-        \tl_if_exist:NTF \c__ctex_class_tl
-          {
-            \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
-              { \file_input:n  { ctex-scheme- #1 .def } }
-          }
-          { \file_input:n  { ctex-scheme- #1 .def } }
-      }
-      { }
+    \cctab_begin:N \c__ctex_package_cctab
+      \tl_if_exist:NTF \c__ctex_class_tl
+        {
+          \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
+            { \file_input:n  { ctex-scheme- #1 .def } }
+        }
+        { \file_input:n  { ctex-scheme- #1 .def } }
+    \cctab_end:
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
 \int_new:N \g__ctex_section_depth_int

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexart.cls	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexart.cls	2020-08-23 20:53:47 UTC (rev 56161)
@@ -27,10 +27,10 @@
 \NeedsTeXFormat{LaTeX2e}
 \input{ctexbackend.cfg}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter for class article (CTEX)}
 \ProvidesExplClass{ctexart}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \tl_const:Nx \c__ctex_version_tl
   { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } }
 \cs_new_eq:cN { ver at ctex.        \@pkgextension } \c__ctex_version_tl
@@ -45,7 +45,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2020/04/06 } { }
+\@ifpackagelater { expl3 } { 2020/07/17 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 \@ifpackagelater { l3keys2e } { 2015/12/20 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } }
@@ -75,43 +75,27 @@
   { \keys_set:nn { ctex } }
 \cs_new_protected:Npn \ctex_set:nn #1
   { \keys_set:nn { ctex / #1 } }
-\cs_new_protected:Npn \ctex_file_wrapper:nnn
+\cs_new_protected:Npn \ctex_file_input:n #1
   {
-    \exp_args:NNx \ExplSyntaxOff
-    \__ctex_file_wrapper_aux:nnnn
-      {
-        \bool_if:NTF \l__kernel_expl_bool
-          { \ExplSyntaxOn }
-          { \ExplSyntaxOff }
-      }
+    \cctab_begin:N \c__ctex_package_cctab
+      \file_input:n {#1}
+    \cctab_end:
   }
-\cs_new_protected:Npn \__ctex_file_wrapper_aux:nnnn #1#2#3#4
+\cctab_const:Nn \c__ctex_package_cctab
   {
-    \use:x
-      {
-        \char_set_catcode_letter:n { 64 }
-        #2
-        \exp_not:n {#3}
-        \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } }
-        #4
-      }
-    #1
+    \cctab_select:N \c_document_cctab
+    \char_set_catcode_letter:n { 64 }
   }
-\cs_new_protected:Npn \ctex_file_input:n #1
-  { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } }
 \cs_new_protected:Npn \ctex_scheme_input:n #1
   {
-    \ctex_file_wrapper:nnn
-      { }
-      {
-        \tl_if_exist:NTF \c__ctex_class_tl
-          {
-            \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
-              { \file_input:n  { ctex-scheme- #1 .def } }
-          }
-          { \file_input:n  { ctex-scheme- #1 .def } }
-      }
-      { }
+    \cctab_begin:N \c__ctex_package_cctab
+      \tl_if_exist:NTF \c__ctex_class_tl
+        {
+          \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
+            { \file_input:n  { ctex-scheme- #1 .def } }
+        }
+        { \file_input:n  { ctex-scheme- #1 .def } }
+    \cctab_end:
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
 \int_new:N \g__ctex_section_depth_int
@@ -1273,12 +1257,25 @@
   }
 \cs_new_protected:Npn \ctex_cleveref_hook:
   {
-    \ctex_patch_cmd:Nnn \refstepcounter at noarg
+    \@ifpackageloaded { hyperref }
+      { \__ctex_cleveref_hook_aux:N \H at refstepcounter }
+      {
+        \__ctex_cleveref_hook_aux:N \refstepcounter at noarg
+        \__ctex_cleveref_hook_aux:N \refstepcounter at optarg
+      }
+    \__ctex_cleveref_hook_aux:N \appendix
+  }
+\cs_new_protected:Npn \__ctex_cleveref_hook_aux:N #1
+  {
+    \ctex_patch_cmd_all:NnnnTF #1
+      {
+        \ExplSyntaxOff
+        \char_set_catcode_letter:n { 64 }
+      }
       { \endcsname \csname the }
       { \expandafter \endcsname \csname the }
-    \ctex_patch_cmd:Nnn \refstepcounter at optarg
-      { \endcsname \csname the }
-      { \expandafter \endcsname \csname the }
+      { }
+      { \ctex_patch_failure:N #1 }
   }
 \cs_if_exist:NTF \labelformat
   { \ctex_varioref_hook: }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls	2020-08-23 20:53:47 UTC (rev 56161)
@@ -27,10 +27,10 @@
 \NeedsTeXFormat{LaTeX2e}
 \input{ctexbackend.cfg}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter for class beamer (CTEX)}
 \ProvidesExplClass{ctexbeamer}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \tl_const:Nx \c__ctex_version_tl
   { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } }
 \cs_new_eq:cN { ver at ctex.        \@pkgextension } \c__ctex_version_tl
@@ -45,7 +45,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2020/04/06 } { }
+\@ifpackagelater { expl3 } { 2020/07/17 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 \@ifpackagelater { l3keys2e } { 2015/12/20 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } }
@@ -75,43 +75,27 @@
   { \keys_set:nn { ctex } }
 \cs_new_protected:Npn \ctex_set:nn #1
   { \keys_set:nn { ctex / #1 } }
-\cs_new_protected:Npn \ctex_file_wrapper:nnn
+\cs_new_protected:Npn \ctex_file_input:n #1
   {
-    \exp_args:NNx \ExplSyntaxOff
-    \__ctex_file_wrapper_aux:nnnn
-      {
-        \bool_if:NTF \l__kernel_expl_bool
-          { \ExplSyntaxOn }
-          { \ExplSyntaxOff }
-      }
+    \cctab_begin:N \c__ctex_package_cctab
+      \file_input:n {#1}
+    \cctab_end:
   }
-\cs_new_protected:Npn \__ctex_file_wrapper_aux:nnnn #1#2#3#4
+\cctab_const:Nn \c__ctex_package_cctab
   {
-    \use:x
-      {
-        \char_set_catcode_letter:n { 64 }
-        #2
-        \exp_not:n {#3}
-        \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } }
-        #4
-      }
-    #1
+    \cctab_select:N \c_document_cctab
+    \char_set_catcode_letter:n { 64 }
   }
-\cs_new_protected:Npn \ctex_file_input:n #1
-  { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } }
 \cs_new_protected:Npn \ctex_scheme_input:n #1
   {
-    \ctex_file_wrapper:nnn
-      { }
-      {
-        \tl_if_exist:NTF \c__ctex_class_tl
-          {
-            \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
-              { \file_input:n  { ctex-scheme- #1 .def } }
-          }
-          { \file_input:n  { ctex-scheme- #1 .def } }
-      }
-      { }
+    \cctab_begin:N \c__ctex_package_cctab
+      \tl_if_exist:NTF \c__ctex_class_tl
+        {
+          \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
+            { \file_input:n  { ctex-scheme- #1 .def } }
+        }
+        { \file_input:n  { ctex-scheme- #1 .def } }
+    \cctab_end:
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
 \msg_new:nnnn { ctex } { package-too-old }
@@ -780,12 +764,25 @@
   }
 \cs_new_protected:Npn \ctex_cleveref_hook:
   {
-    \ctex_patch_cmd:Nnn \refstepcounter at noarg
+    \@ifpackageloaded { hyperref }
+      { \__ctex_cleveref_hook_aux:N \H at refstepcounter }
+      {
+        \__ctex_cleveref_hook_aux:N \refstepcounter at noarg
+        \__ctex_cleveref_hook_aux:N \refstepcounter at optarg
+      }
+    \__ctex_cleveref_hook_aux:N \appendix
+  }
+\cs_new_protected:Npn \__ctex_cleveref_hook_aux:N #1
+  {
+    \ctex_patch_cmd_all:NnnnTF #1
+      {
+        \ExplSyntaxOff
+        \char_set_catcode_letter:n { 64 }
+      }
       { \endcsname \csname the }
       { \expandafter \endcsname \csname the }
-    \ctex_patch_cmd:Nnn \refstepcounter at optarg
-      { \endcsname \csname the }
-      { \expandafter \endcsname \csname the }
+      { }
+      { \ctex_patch_failure:N #1 }
   }
 \cs_if_exist:NTF \labelformat
   { \ctex_varioref_hook: }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexbook.cls	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexbook.cls	2020-08-23 20:53:47 UTC (rev 56161)
@@ -27,10 +27,10 @@
 \NeedsTeXFormat{LaTeX2e}
 \input{ctexbackend.cfg}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter for class book (CTEX)}
 \ProvidesExplClass{ctexbook}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \tl_const:Nx \c__ctex_version_tl
   { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } }
 \cs_new_eq:cN { ver at ctex.        \@pkgextension } \c__ctex_version_tl
@@ -45,7 +45,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2020/04/06 } { }
+\@ifpackagelater { expl3 } { 2020/07/17 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 \@ifpackagelater { l3keys2e } { 2015/12/20 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } }
@@ -75,43 +75,27 @@
   { \keys_set:nn { ctex } }
 \cs_new_protected:Npn \ctex_set:nn #1
   { \keys_set:nn { ctex / #1 } }
-\cs_new_protected:Npn \ctex_file_wrapper:nnn
+\cs_new_protected:Npn \ctex_file_input:n #1
   {
-    \exp_args:NNx \ExplSyntaxOff
-    \__ctex_file_wrapper_aux:nnnn
-      {
-        \bool_if:NTF \l__kernel_expl_bool
-          { \ExplSyntaxOn }
-          { \ExplSyntaxOff }
-      }
+    \cctab_begin:N \c__ctex_package_cctab
+      \file_input:n {#1}
+    \cctab_end:
   }
-\cs_new_protected:Npn \__ctex_file_wrapper_aux:nnnn #1#2#3#4
+\cctab_const:Nn \c__ctex_package_cctab
   {
-    \use:x
-      {
-        \char_set_catcode_letter:n { 64 }
-        #2
-        \exp_not:n {#3}
-        \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } }
-        #4
-      }
-    #1
+    \cctab_select:N \c_document_cctab
+    \char_set_catcode_letter:n { 64 }
   }
-\cs_new_protected:Npn \ctex_file_input:n #1
-  { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } }
 \cs_new_protected:Npn \ctex_scheme_input:n #1
   {
-    \ctex_file_wrapper:nnn
-      { }
-      {
-        \tl_if_exist:NTF \c__ctex_class_tl
-          {
-            \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
-              { \file_input:n  { ctex-scheme- #1 .def } }
-          }
-          { \file_input:n  { ctex-scheme- #1 .def } }
-      }
-      { }
+    \cctab_begin:N \c__ctex_package_cctab
+      \tl_if_exist:NTF \c__ctex_class_tl
+        {
+          \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
+            { \file_input:n  { ctex-scheme- #1 .def } }
+        }
+        { \file_input:n  { ctex-scheme- #1 .def } }
+    \cctab_end:
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
 \int_new:N \g__ctex_section_depth_int
@@ -1401,12 +1385,25 @@
   }
 \cs_new_protected:Npn \ctex_cleveref_hook:
   {
-    \ctex_patch_cmd:Nnn \refstepcounter at noarg
+    \@ifpackageloaded { hyperref }
+      { \__ctex_cleveref_hook_aux:N \H at refstepcounter }
+      {
+        \__ctex_cleveref_hook_aux:N \refstepcounter at noarg
+        \__ctex_cleveref_hook_aux:N \refstepcounter at optarg
+      }
+    \__ctex_cleveref_hook_aux:N \appendix
+  }
+\cs_new_protected:Npn \__ctex_cleveref_hook_aux:N #1
+  {
+    \ctex_patch_cmd_all:NnnnTF #1
+      {
+        \ExplSyntaxOff
+        \char_set_catcode_letter:n { 64 }
+      }
       { \endcsname \csname the }
       { \expandafter \endcsname \csname the }
-    \ctex_patch_cmd:Nnn \refstepcounter at optarg
-      { \endcsname \csname the }
-      { \expandafter \endcsname \csname the }
+      { }
+      { \ctex_patch_failure:N #1 }
   }
 \cs_if_exist:NTF \labelformat
   { \ctex_varioref_hook: }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexcap.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexcap.sty	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexcap.sty	2020-08-23 20:53:47 UTC (rev 56161)
@@ -26,10 +26,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter in LaTeX (CTEX)}
 \ProvidesExplPackage{ctexcap}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \clist_new:N \l__ctex_ctexcap_options_clist
 \clist_set:Nx \l__ctex_ctexcap_options_clist
   { \exp_not:v { opt@ \@currname . \@currext } , heading }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexheading.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexheading.sty	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexheading.sty	2020-08-23 20:53:47 UTC (rev 56161)
@@ -26,10 +26,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Heading style modification (CTEX)}
 \ProvidesExplPackage{ctexheading}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \RequirePackage { xparse , l3keys2e }
 \RequirePackage { ctexhook , ctexpatch }
 \tl_clear_new:N \l__ctex_tmp_tl
@@ -43,43 +43,27 @@
   { \keys_set:nn { ctex } }
 \cs_new_protected:Npn \ctex_set:nn #1
   { \keys_set:nn { ctex / #1 } }
-\cs_new_protected:Npn \ctex_file_wrapper:nnn
+\cs_new_protected:Npn \ctex_file_input:n #1
   {
-    \exp_args:NNx \ExplSyntaxOff
-    \__ctex_file_wrapper_aux:nnnn
-      {
-        \bool_if:NTF \l__kernel_expl_bool
-          { \ExplSyntaxOn }
-          { \ExplSyntaxOff }
-      }
+    \cctab_begin:N \c__ctex_package_cctab
+      \file_input:n {#1}
+    \cctab_end:
   }
-\cs_new_protected:Npn \__ctex_file_wrapper_aux:nnnn #1#2#3#4
+\cctab_const:Nn \c__ctex_package_cctab
   {
-    \use:x
-      {
-        \char_set_catcode_letter:n { 64 }
-        #2
-        \exp_not:n {#3}
-        \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } }
-        #4
-      }
-    #1
+    \cctab_select:N \c_document_cctab
+    \char_set_catcode_letter:n { 64 }
   }
-\cs_new_protected:Npn \ctex_file_input:n #1
-  { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } }
 \cs_new_protected:Npn \ctex_scheme_input:n #1
   {
-    \ctex_file_wrapper:nnn
-      { }
-      {
-        \tl_if_exist:NTF \c__ctex_class_tl
-          {
-            \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
-              { \file_input:n  { ctex-scheme- #1 .def } }
-          }
-          { \file_input:n  { ctex-scheme- #1 .def } }
-      }
-      { }
+    \cctab_begin:N \c__ctex_package_cctab
+      \tl_if_exist:NTF \c__ctex_class_tl
+        {
+          \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
+            { \file_input:n  { ctex-scheme- #1 .def } }
+        }
+        { \file_input:n  { ctex-scheme- #1 .def } }
+    \cctab_end:
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
 \int_new:N \g__ctex_section_depth_int

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexhook.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexhook.sty	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexhook.sty	2020-08-23 20:53:47 UTC (rev 56161)
@@ -26,31 +26,15 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Document and package hooks (CTEX)}
 \ProvidesExplPackage{ctexhook}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
-\cs_new_protected:Npn \ctex_at_end_preamble:n
-  { \tl_gput_right:Nn \g__ctex_end_preamble_hook_tl }
-\cs_new_protected:Npn \ctex_after_end_preamble:n
-  { \tl_gput_right:Nn \g__ctex_after_end_preamble_hook_tl }
-\cs_new_protected:Npn \CTEX at document@left at hook
-  { \group_end: \g__ctex_end_preamble_hook_tl \group_begin: }
-\cs_new_protected:Npn \CTEX at document@right at hook
-  { \scan_stop: \g__ctex_after_end_preamble_hook_tl \tex_ignorespaces:D }
-\cs_set_nopar:Npx \document
-  {
-    \CTEX at document@left at hook
-    \exp_not:o { \document }
-    \CTEX at document@right at hook
-  }
-\tl_new:N \g__ctex_end_preamble_hook_tl
-\tl_new:N \g__ctex_after_end_preamble_hook_tl
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \cs_new_protected:Npn \ctex_at_begin_package:nn #1
   {
     \@ifpackageloaded {#1}
       { \__ctex_package_loaded_warning:nn {#1} }
-      { \ctex_gadd_package_hook:nnn { begin } {#1} }
+      { \ctex_gadd_package_hook:nnn { before } {#1} }
   }
 \cs_new_protected:Npn \__ctex_package_loaded_warning:nn #1#2
   { \msg_warning:nnx { ctex } { invalid-hook } {#1} }
@@ -63,8 +47,35 @@
   {
     \@ifpackageloaded {#1}
       { \use:n }
-      { \ctex_gadd_package_hook:nnn { end } {#1} }
+      { \ctex_gadd_package_hook:nnn { after } {#1} }
   }
+\@ifl at t@r \fmtversion { 2020/10/01 }
+  {
+    \cs_new_protected:Npx \ctex_at_end_preamble:n
+      { \hook_gput_code:nnn { env/document/before } { \c_novalue_tl } }
+    \cs_new_protected:Npx \ctex_after_end_preamble:n
+      { \hook_gput_code:nnn { begindocument/end }   { \c_novalue_tl } }
+    \cs_new_protected:Npx \ctex_gadd_package_hook:nnn #1#2
+      { \hook_gput_code:nnn { package/#1/#2 }       { \c_novalue_tl } }
+    \file_input_stop:
+  }
+  { }
+\cs_new_protected:Npn \ctex_at_end_preamble:n
+  { \tl_gput_right:Nn \g__ctex_end_preamble_hook_tl }
+\cs_new_protected:Npn \ctex_after_end_preamble:n
+  { \tl_gput_right:Nn \g__ctex_after_end_preamble_hook_tl }
+\cs_new_protected:Npn \CTEX at document@left at hook
+  { \group_end: \g__ctex_end_preamble_hook_tl \group_begin: }
+\cs_new_protected:Npn \CTEX at document@right at hook
+  { \scan_stop: \g__ctex_after_end_preamble_hook_tl \tex_ignorespaces:D }
+\cs_set_nopar:Npx \document
+  {
+    \CTEX at document@left at hook
+    \exp_not:o { \document }
+    \CTEX at document@right at hook
+  }
+\tl_new:N \g__ctex_end_preamble_hook_tl
+\tl_new:N \g__ctex_after_end_preamble_hook_tl
 \cs_new_protected:Npn \ctex_gadd_package_hook:nnn #1#2
   { \ctex_gadd_hook:cn { g__ctex_at_ #1 _ #2 _hook_tl } }
 \cs_new_protected:Npn \ctex_gadd_hook:Nn #1
@@ -84,13 +95,13 @@
 \cs_new_protected:Npn \CTEX at reset@ptions at hook
   {
     \cs_if_eq:NNT \@currext \@pkgextension
-      { \ctex_use_package_hook:nn { begin } { \@currname } }
+      { \ctex_use_package_hook:nn { before } { \@currname } }
   }
 \tl_put_left:Nn \@popfilename { \CTEX at popfilename@hook }
 \cs_new_protected:Npn \CTEX at popfilename@hook
   {
     \cs_if_eq:NNT \@currext \@pkgextension
-      { \ctex_use_package_hook:nn { end } { \@currname } }
+      { \ctex_use_package_hook:nn { after } { \@currname } }
   }
 %% 
 %%

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty	2020-08-23 20:53:47 UTC (rev 56161)
@@ -26,10 +26,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Patching commands (CTEX)}
 \ProvidesExplPackage{ctexpatch}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \cs_new_protected:Npn \ctex_patch_cmd_once:NnnnTF #1#2
   {
     \ctex_patch_boot:NNnnTF \__ctex_patch_cmd:Nnnnnw #1

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexrep.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexrep.cls	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexrep.cls	2020-08-23 20:53:47 UTC (rev 56161)
@@ -27,10 +27,10 @@
 \NeedsTeXFormat{LaTeX2e}
 \input{ctexbackend.cfg}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter for class report (CTEX)}
 \ProvidesExplClass{ctexrep}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \tl_const:Nx \c__ctex_version_tl
   { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } }
 \cs_new_eq:cN { ver at ctex.        \@pkgextension } \c__ctex_version_tl
@@ -45,7 +45,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2020/04/06 } { }
+\@ifpackagelater { expl3 } { 2020/07/17 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 \@ifpackagelater { l3keys2e } { 2015/12/20 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } }
@@ -75,43 +75,27 @@
   { \keys_set:nn { ctex } }
 \cs_new_protected:Npn \ctex_set:nn #1
   { \keys_set:nn { ctex / #1 } }
-\cs_new_protected:Npn \ctex_file_wrapper:nnn
+\cs_new_protected:Npn \ctex_file_input:n #1
   {
-    \exp_args:NNx \ExplSyntaxOff
-    \__ctex_file_wrapper_aux:nnnn
-      {
-        \bool_if:NTF \l__kernel_expl_bool
-          { \ExplSyntaxOn }
-          { \ExplSyntaxOff }
-      }
+    \cctab_begin:N \c__ctex_package_cctab
+      \file_input:n {#1}
+    \cctab_end:
   }
-\cs_new_protected:Npn \__ctex_file_wrapper_aux:nnnn #1#2#3#4
+\cctab_const:Nn \c__ctex_package_cctab
   {
-    \use:x
-      {
-        \char_set_catcode_letter:n { 64 }
-        #2
-        \exp_not:n {#3}
-        \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } }
-        #4
-      }
-    #1
+    \cctab_select:N \c_document_cctab
+    \char_set_catcode_letter:n { 64 }
   }
-\cs_new_protected:Npn \ctex_file_input:n #1
-  { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } }
 \cs_new_protected:Npn \ctex_scheme_input:n #1
   {
-    \ctex_file_wrapper:nnn
-      { }
-      {
-        \tl_if_exist:NTF \c__ctex_class_tl
-          {
-            \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
-              { \file_input:n  { ctex-scheme- #1 .def } }
-          }
-          { \file_input:n  { ctex-scheme- #1 .def } }
-      }
-      { }
+    \cctab_begin:N \c__ctex_package_cctab
+      \tl_if_exist:NTF \c__ctex_class_tl
+        {
+          \file_if_exist_input:nF { ctex-scheme- #1 - \c__ctex_class_tl .def }
+            { \file_input:n  { ctex-scheme- #1 .def } }
+        }
+        { \file_input:n  { ctex-scheme- #1 .def } }
+    \cctab_end:
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
 \int_new:N \g__ctex_section_depth_int
@@ -1396,12 +1380,25 @@
   }
 \cs_new_protected:Npn \ctex_cleveref_hook:
   {
-    \ctex_patch_cmd:Nnn \refstepcounter at noarg
+    \@ifpackageloaded { hyperref }
+      { \__ctex_cleveref_hook_aux:N \H at refstepcounter }
+      {
+        \__ctex_cleveref_hook_aux:N \refstepcounter at noarg
+        \__ctex_cleveref_hook_aux:N \refstepcounter at optarg
+      }
+    \__ctex_cleveref_hook_aux:N \appendix
+  }
+\cs_new_protected:Npn \__ctex_cleveref_hook_aux:N #1
+  {
+    \ctex_patch_cmd_all:NnnnTF #1
+      {
+        \ExplSyntaxOff
+        \char_set_catcode_letter:n { 64 }
+      }
       { \endcsname \csname the }
       { \expandafter \endcsname \csname the }
-    \ctex_patch_cmd:Nnn \refstepcounter at optarg
-      { \endcsname \csname the }
-      { \expandafter \endcsname \csname the }
+      { }
+      { \ctex_patch_failure:N #1 }
   }
 \cs_if_exist:NTF \labelformat
   { \ctex_varioref_hook: }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexsize.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexsize.sty	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexsize.sty	2020-08-23 20:53:47 UTC (rev 56161)
@@ -26,38 +26,25 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese font size definition (CTEX)}
 \ProvidesExplPackage{ctexsize}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \RequirePackage { xparse , l3keys2e }
 \RequirePackage { fix-cm }
 \cs_new_protected:Npn \ctex_define_option:n
   { \keys_define:nn { ctex / option } }
-\cs_new_protected:Npn \ctex_file_wrapper:nnn
+\cs_new_protected:Npn \ctex_file_input:n #1
   {
-    \exp_args:NNx \ExplSyntaxOff
-    \__ctex_file_wrapper_aux:nnnn
-      {
-        \bool_if:NTF \l__kernel_expl_bool
-          { \ExplSyntaxOn }
-          { \ExplSyntaxOff }
-      }
+    \cctab_begin:N \c__ctex_package_cctab
+      \file_input:n {#1}
+    \cctab_end:
   }
-\cs_new_protected:Npn \__ctex_file_wrapper_aux:nnnn #1#2#3#4
+\cctab_const:Nn \c__ctex_package_cctab
   {
-    \use:x
-      {
-        \char_set_catcode_letter:n { 64 }
-        #2
-        \exp_not:n {#3}
-        \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } }
-        #4
-      }
-    #1
+    \cctab_select:N \c_document_cctab
+    \char_set_catcode_letter:n { 64 }
   }
-\cs_new_protected:Npn \ctex_file_input:n #1
-  { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } }
 \int_new:N \g__ctex_font_size_int
 \int_gset:Nn \g__ctex_font_size_int { -1 }
 \ctex_define_option:n

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexspa.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexspa.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexspa.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -26,7 +26,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{ctexspa.def}%
-  [2020/06/06 v2.5.3 Space info for CJKpunct (CTEX)]
+  [2020/08/23 v2.5.4 Space info for CJKpunct (CTEX)]
 \ctexspadef{adobezhsong}{70,15,61,8,63,14,58,7,64,13,62,12,60,11,61,15,62,14,51,6,58,5,58,8,7,5,12,12,10,68,13,63,17,63,20,69,19,69,17,63,19,70,17,55,10,10,14,63,10,65,10,61,13,62,15,61,7,49,7,56,8,58,15,69,8,61,14,63,8,57,,,}
 \ctexspadef{adobezhhei}{78,3,64,3,64,2,61,3,72,3,70,3,72,3,70,3,60,3,51,3,62,3,66,3,0,0,10,10,3,70,5,70,6,75,6,78,17,67,13,67,17,67,4,50,8,8,3,72,3,70,3,72,3,70,3,60,3,51,3,62,3,66,3,78,7,62,3,63,3,61,,,}
 \ctexspadef{adobezhkai}{76,10,55,8,63,4,62,4,71,4,65,4,71,4,74,4,54,4,54,4,62,4,62,4,0,0,11,11,5,72,6,71,7,78,7,79,18,68,18,68,18,68,2,46,14,12,4,71,4,65,4,71,4,74,4,54,4,54,4,62,4,62,10,76,8,55,4,63,4,62,,,}

Modified: trunk/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseGBK.dict
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseGBK.dict	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseGBK.dict	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesDictionary{translator-theorem-dictionary}{ChineseGBK}%
-  [2020/06/06 v2.5.3 Chinese translation for theorem name (CTEX)]
+  [2020/08/23 v2.5.4 Chinese translation for theorem name (CTEX)]
 \providetranslation{Comments}{\xC6\xC0\xC2\xDB}
 \providetranslation{comments}{\xC6\xC0\xC2\xDB}
 \providetranslation{Comment}{\xC6\xC0\xC2\xDB}

Modified: trunk/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseUTF8.dict
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseUTF8.dict	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseUTF8.dict	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesDictionary{translator-theorem-dictionary}{ChineseUTF8}%
-  [2020/06/06 v2.5.3 Chinese translation for theorem name (CTEX)]
+  [2020/08/23 v2.5.4 Chinese translation for theorem name (CTEX)]
 \providetranslation{Comments}{评论}
 \providetranslation{comments}{评论}
 \providetranslation{Comment}{评论}

Modified: trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Asian pTeX adapter (CTEX)}
 \ProvidesExplFile{ctex-engine-aptex.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \cs_new_protected:Npn \ctex_set_zhmap:n
   { \tl_gput_right:Nx \g__ctex_zhmap_tl }
 \cs_new_protected:Npn \ctex_use_zhmap:
@@ -123,7 +123,7 @@
     \tl_new:N #1
     \cs_if_exist:NTF #3
       { \tl_gput_right:Nn #3 {#1} }
-      { \ctex_patch_cmd:Nnn #2 {#4} { #1#4 } }
+      { \ctex_parse_name:NN \tl_replace_once:Nnn #2 {#4} { #1#4 } }
   }
 \ctex_provide_font_hook:NNN \rmfamily \@rmfamilyhook \selectfont
 \ctex_provide_font_hook:NNN \sffamily \@sffamilyhook \selectfont

Modified: trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {LuaLaTeX adapter (CTEX)}
 \ProvidesExplFile{ctex-engine-luatex.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \msg_new:nnn { ctex } { luatexja-loaded }
   {
     Package~`luatexja'~can~not~be~loaded~before~`ctex'.\\
@@ -42,6 +42,7 @@
 \RequirePackage { fontspec }
 \@ifpackagelater { fontspec } { 2020/02/21 } { }
   { \msg_error:nnn { ctex } { package-too-old } { fontspec } }
+\ctex_at_end:n { \char_set_catcode_comment:n { \ltjlineendcomment } }
 \ExplSyntaxOff
 \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
 \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
@@ -65,16 +66,20 @@
   "00B7, "2018, "2019, "201C, "201D, "2013, "2014, "2025, "2026, "2027, "2E3A}
 \ltjsetparameter{jacharrange={-1, -2, -3, -4, -5, +6, +7, -8, +9}}
 \directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
-\directlua{
-  local s = kpse.find_file('ltj-kinsoku.lua', 'tex')
-  luatexja.stack.charprop_stack_table[0] = s and dofile(s) or {}
-}
-\ltjsetparameter{kanjiskip=\z@ plus .4pt minus .5pt,
-  xkanjiskip=.25\zw plus 1pt minus 1pt,
-  autospacing, autoxspacing, jacharrange={-1},
-  yalbaselineshift=\z@, yjabaselineshift=\z@,
-  jcharwidowpenalty=500, differentjfm=paverage
-}
+\@ifpackagelater{luatexja}{2020/08/08}
+  { \ltjsetparameter { autospacing, autoxspacing, differentjfm = paverage } }
+  {
+    \directlua{
+      local s = kpse.find_file('ltj-kinsoku.lua', 'tex')
+      luatexja.stack.charprop_stack_table[0] = s and dofile(s) or {}
+    }
+    \ltjsetparameter{kanjiskip=\z@ plus .4pt minus .5pt,
+      xkanjiskip=.25\zw plus 1pt minus 1pt,
+      autospacing, autoxspacing, jacharrange={-1},
+      yalbaselineshift=\z@, yjabaselineshift=\z@,
+      jcharwidowpenalty=500, differentjfm=paverage
+    }
+  }
 \ExplSyntaxOn
 \cs_new_protected:Npn \CTEX at alchar #1
   { \CTEX at beginallalchar #1 \CTEX at endallalchar }
@@ -1092,7 +1097,7 @@
     \tl_new:N #1
     \cs_if_exist:NTF #3
       { \tl_gput_right:Nn #3 {#1} }
-      { \ctex_patch_cmd:Nnn #2 {#4} { #1#4 } }
+      { \ctex_parse_name:NN \tl_replace_once:Nnn #2 {#4} { #1#4 } }
   }
 \ctex_provide_font_hook:NNN \rmfamily \@rmfamilyhook \selectfont
 \ctex_provide_font_hook:NNN \sffamily \@sffamilyhook \selectfont

Modified: trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {(pdf)LaTeX adapter (CTEX)}
 \ProvidesExplFile{ctex-engine-pdftex.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \cs_new_protected:Npn \ctex_set_zhmap:n
   { \tl_gput_right:Nx \g__ctex_zhmap_tl }
 \cs_new_protected:Npn \ctex_use_zhmap:
@@ -102,38 +102,21 @@
       \tl_set:Nn \CJKrmdefault {#1}
       \tl_set:Nn \CJKsfdefault {#2}
       \tl_set:Nn \CJKttdefault {#3}
-      \ctex_set_zhmap:n { \ctex_zhmap_input:n { ctex-zhmap- #4 .tex } }
+      \ctex_set_zhmap:n { \ctex_file_input:n { ctex-zhmap- #4 .tex } }
     }
   \@onlypreamble \ctex_load_zhmap:nnnn
-  \cs_new_protected:Npn \ctex_zhmap_input:n #1
-    {
-      \ctex_file_wrapper:nnn
-        {
-          \char_set_catcode_comment:n { 37 } % %
-          \char_set_catcode_escape:n  { 92 } % \
-        }
-        { \file_input:n {#1} }
-        {
-          \char_set_catcode:nn { 37 } { \char_value_catcode:n { 37 } }
-          \char_set_catcode:nn { 92 } { \char_value_catcode:n { 92 } }
-        }
-    }
 \fi:
 \cs_new_protected:Npn \ctex_CJK_input:n #1
   {
-    \ctex_file_wrapper:nnn
-      {
-        \char_set_catcode_other:n            { 60 } % <
-        \char_set_catcode_math_superscript:n { 94 } % ^
-        \int_set:Nn \tex_endlinechar:D { -1 }
-      }
-      { \file_input:n {#1} }
-      {
-        \char_set_catcode:nn { 60 } { \char_value_catcode:n { 60 } }
-        \char_set_catcode:nn { 94 } { \char_value_catcode:n { 94 } }
-        \int_set:Nn \tex_endlinechar:D { \int_use:N \tex_endlinechar:D }
-      }
+    \cctab_begin:N \c__ctex_CJK_cctab
+      \file_input:n {#1}
+    \cctab_end:
   }
+\cctab_const:Nn \c__ctex_CJK_cctab
+  {
+    \cctab_select:N \c__ctex_package_cctab
+    \int_set:Nn \tex_endlinechar:D { -1 }
+  }
 \cs_set_eq:NN \CJK at input \ctex_CJK_input:n
 \if_cs_exist:N \CJK at surr
   \cs_new_protected:Npn \ctex_plane_to_utfxvibe:Nn #1#2
@@ -249,7 +232,7 @@
     \tl_new:N #1
     \cs_if_exist:NTF #3
       { \tl_gput_right:Nn #3 {#1} }
-      { \ctex_patch_cmd:Nnn #2 {#4} { #1#4 } }
+      { \ctex_parse_name:NN \tl_replace_once:Nnn #2 {#4} { #1#4 } }
   }
 \ctex_provide_font_hook:NNN \rmfamily \@rmfamilyhook \selectfont
 \ctex_provide_font_hook:NNN \sffamily \@sffamilyhook \selectfont

Modified: trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {upTeX adapter (CTEX)}
 \ProvidesExplFile{ctex-engine-uptex.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \cs_new_protected:Npn \ctex_set_zhmap:n
   { \tl_gput_right:Nx \g__ctex_zhmap_tl }
 \cs_new_protected:Npn \ctex_use_zhmap:
@@ -123,7 +123,7 @@
     \tl_new:N #1
     \cs_if_exist:NTF #3
       { \tl_gput_right:Nn #3 {#1} }
-      { \ctex_patch_cmd:Nnn #2 {#4} { #1#4 } }
+      { \ctex_parse_name:NN \tl_replace_once:Nnn #2 {#4} { #1#4 } }
   }
 \ctex_provide_font_hook:NNN \rmfamily \@rmfamilyhook \selectfont
 \ctex_provide_font_hook:NNN \sffamily \@sffamilyhook \selectfont

Modified: trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {XeLaTeX adapter (CTEX)}
 \ProvidesExplFile{ctex-engine-xetex.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \RequirePackage { xeCJK }
 \exp_args:Nx \xeCJKsetup
   {

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/c19rm.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/c19rm.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c19rm.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{c19rm.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 %%
 %% Chinese characters
 %%

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/c19sf.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/c19sf.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c19sf.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{c19sf.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 %%
 %% Chinese characters
 %%

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/c19tt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/c19tt.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c19tt.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{c19tt.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 %%
 %% Chinese characters
 %%

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/c70rm.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/c70rm.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c70rm.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{c70rm.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 %%
 %% Chinese characters
 %%

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/c70sf.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/c70sf.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c70sf.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{c70sf.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 %%
 %% Chinese characters
 %%

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/c70tt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/c70tt.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c70tt.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{c70tt.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 %%
 %% Chinese characters
 %%

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{jt2zhrm.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 \DeclareKanjiFamily{JT2}{zhrm}{}
 \DeclareFontShape{JT2}{zhrm}{m}{n}{<-> upzhserif-v}{}
 \DeclareFontShape{JT2}{zhrm}{m}{it}{<-> upzhserifit-v}{}

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{jt2zhsf.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 \DeclareKanjiFamily{JT2}{zhsf}{}
 \DeclareFontShape{JT2}{zhsf}{m}{n}{<-> upzhsans-v}{}
 \DeclareFontShape{JT2}{zhsf}{b}{n}{<-> upzhsansb-v}{}

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{jt2zhtt.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 \DeclareKanjiFamily{JT2}{zhtt}{}
 \DeclareFontShape{JT2}{zhtt}{m}{n}{<-> upzhmono-v}{}
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{jy2zhrm.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 \DeclareKanjiFamily{JY2}{zhrm}{}
 \DeclareFontShape{JY2}{zhrm}{m}{n}{<-> upzhserif-h}{}
 \DeclareFontShape{JY2}{zhrm}{m}{it}{<-> upzhserifit-h}{}

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{jy2zhsf.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 \DeclareKanjiFamily{JY2}{zhsf}{}
 \DeclareFontShape{JY2}{zhsf}{m}{n}{<-> upzhsans-h}{}
 \DeclareFontShape{JY2}{zhsf}{b}{n}{<-> upzhsansb-h}{}

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd	2020-08-23 20:53:47 UTC (rev 56161)
@@ -25,7 +25,7 @@
 %% ---------------------------------------------------------------------
 %% 
 \ProvidesFile{jy2zhtt.fd}%
-  [2020/06/06 v2.5.3 Chinese font definition (CTEX)]
+  [2020/08/23 v2.5.4 Chinese font definition (CTEX)]
 \DeclareKanjiFamily{JY2}{zhtt}{}
 \DeclareFontShape{JY2}{zhtt}{m}{n}{<-> upzhmono-h}{}
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-adobe.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-adobe.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-adobe.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Adobe fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-adobe.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_fontset_case:nnnn
   { \ctex_fontset_error:n { adobe } }
   {

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Fandol fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-fandol.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_fontset_case:nnnn
   { \ctex_fontset_error:n { fandol } }
   {

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-founder.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-founder.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-founder.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Founder fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-founder.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_fontset_case:nnn
   {
     \ctex_zhmap_case:nnn

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-mac.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-mac.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-mac.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {macOS fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-mac.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \file_if_exist:nTF { /System/Library/Fonts/PingFang.ttc }
   { \ctex_file_input:n { ctex-fontset-macnew.def } }
   { \ctex_file_input:n { ctex-fontset-macold.def } }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macnew.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macnew.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macnew.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {macOS fonts definition for El Capitan or later version (CTEX)}
 \ProvidesExplFile{ctex-fontset-macnew.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_fontset_case:nnnn
   { \ctex_fontset_error:n { mac } }
   {

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macold.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macold.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macold.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {macOS fonts definition for Yosemite or earlier version (CTEX)}
 \ProvidesExplFile{ctex-fontset-macold.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_fontset_case:nnnn
   { \ctex_fontset_error:n { mac } }
   { \ctex_fontset_error:n { macold } }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-ubuntu.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-ubuntu.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-ubuntu.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Ubuntu fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-ubuntu.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_fontset_case:nnnn
   { \ctex_fontset_error:n { ubuntu } }
   {

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Windows fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-windows.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \file_if_exist:nTF { \c_dollar_str WINDIR/Fonts/msyh.ttc }
   { \tl_const:Nn \c__ctex_msyh_suffix_tl { ttc } }
   {

Modified: trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-article.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-article.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-article.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Heading modification for article (CTEX)}
 \ProvidesExplFile{ctex-article.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \seq_const_from_clist:Nn \c__ctex_section_headings_seq
   { section , subsection , subsubsection , paragraph , subparagraph }
 \seq_new:N \c__ctex_headings_seq
@@ -709,12 +709,25 @@
   }
 \cs_new_protected:Npn \ctex_cleveref_hook:
   {
-    \ctex_patch_cmd:Nnn \refstepcounter at noarg
+    \@ifpackageloaded { hyperref }
+      { \__ctex_cleveref_hook_aux:N \H at refstepcounter }
+      {
+        \__ctex_cleveref_hook_aux:N \refstepcounter at noarg
+        \__ctex_cleveref_hook_aux:N \refstepcounter at optarg
+      }
+    \__ctex_cleveref_hook_aux:N \appendix
+  }
+\cs_new_protected:Npn \__ctex_cleveref_hook_aux:N #1
+  {
+    \ctex_patch_cmd_all:NnnnTF #1
+      {
+        \ExplSyntaxOff
+        \char_set_catcode_letter:n { 64 }
+      }
       { \endcsname \csname the }
       { \expandafter \endcsname \csname the }
-    \ctex_patch_cmd:Nnn \refstepcounter at optarg
-      { \endcsname \csname the }
-      { \expandafter \endcsname \csname the }
+      { }
+      { \ctex_patch_failure:N #1 }
   }
 \cs_if_exist:NTF \labelformat
   { \ctex_varioref_hook: }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-beamer.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-beamer.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-beamer.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Heading modification for beamer (CTEX)}
 \ProvidesExplFile{ctex-beamer.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \seq_const_from_clist:Nn \c__ctex_headings_seq
   { part , section , subsection }
 \cs_new_protected:Npn \__ctex_initial_heading:n #1
@@ -221,12 +221,25 @@
   }
 \cs_new_protected:Npn \ctex_cleveref_hook:
   {
-    \ctex_patch_cmd:Nnn \refstepcounter at noarg
+    \@ifpackageloaded { hyperref }
+      { \__ctex_cleveref_hook_aux:N \H at refstepcounter }
+      {
+        \__ctex_cleveref_hook_aux:N \refstepcounter at noarg
+        \__ctex_cleveref_hook_aux:N \refstepcounter at optarg
+      }
+    \__ctex_cleveref_hook_aux:N \appendix
+  }
+\cs_new_protected:Npn \__ctex_cleveref_hook_aux:N #1
+  {
+    \ctex_patch_cmd_all:NnnnTF #1
+      {
+        \ExplSyntaxOff
+        \char_set_catcode_letter:n { 64 }
+      }
       { \endcsname \csname the }
       { \expandafter \endcsname \csname the }
-    \ctex_patch_cmd:Nnn \refstepcounter at optarg
-      { \endcsname \csname the }
-      { \expandafter \endcsname \csname the }
+      { }
+      { \ctex_patch_failure:N #1 }
   }
 \cs_if_exist:NTF \labelformat
   { \ctex_varioref_hook: }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-book.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-book.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-book.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Heading modification for book (CTEX)}
 \ProvidesExplFile{ctex-book.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \seq_const_from_clist:Nn \c__ctex_section_headings_seq
   { section , subsection , subsubsection , paragraph , subparagraph }
 \seq_new:N \c__ctex_headings_seq
@@ -837,12 +837,25 @@
   }
 \cs_new_protected:Npn \ctex_cleveref_hook:
   {
-    \ctex_patch_cmd:Nnn \refstepcounter at noarg
+    \@ifpackageloaded { hyperref }
+      { \__ctex_cleveref_hook_aux:N \H at refstepcounter }
+      {
+        \__ctex_cleveref_hook_aux:N \refstepcounter at noarg
+        \__ctex_cleveref_hook_aux:N \refstepcounter at optarg
+      }
+    \__ctex_cleveref_hook_aux:N \appendix
+  }
+\cs_new_protected:Npn \__ctex_cleveref_hook_aux:N #1
+  {
+    \ctex_patch_cmd_all:NnnnTF #1
+      {
+        \ExplSyntaxOff
+        \char_set_catcode_letter:n { 64 }
+      }
       { \endcsname \csname the }
       { \expandafter \endcsname \csname the }
-    \ctex_patch_cmd:Nnn \refstepcounter at optarg
-      { \endcsname \csname the }
-      { \expandafter \endcsname \csname the }
+      { }
+      { \ctex_patch_failure:N #1 }
   }
 \cs_if_exist:NTF \labelformat
   { \ctex_varioref_hook: }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-report.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-report.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-report.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Heading modification for report (CTEX)}
 \ProvidesExplFile{ctex-report.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \seq_const_from_clist:Nn \c__ctex_section_headings_seq
   { section , subsection , subsubsection , paragraph , subparagraph }
 \seq_new:N \c__ctex_headings_seq
@@ -832,12 +832,25 @@
   }
 \cs_new_protected:Npn \ctex_cleveref_hook:
   {
-    \ctex_patch_cmd:Nnn \refstepcounter at noarg
+    \@ifpackageloaded { hyperref }
+      { \__ctex_cleveref_hook_aux:N \H at refstepcounter }
+      {
+        \__ctex_cleveref_hook_aux:N \refstepcounter at noarg
+        \__ctex_cleveref_hook_aux:N \refstepcounter at optarg
+      }
+    \__ctex_cleveref_hook_aux:N \appendix
+  }
+\cs_new_protected:Npn \__ctex_cleveref_hook_aux:N #1
+  {
+    \ctex_patch_cmd_all:NnnnTF #1
+      {
+        \ExplSyntaxOff
+        \char_set_catcode_letter:n { 64 }
+      }
       { \endcsname \csname the }
       { \expandafter \endcsname \csname the }
-    \ctex_patch_cmd:Nnn \refstepcounter at optarg
-      { \endcsname \csname the }
-      { \expandafter \endcsname \csname the }
+      { }
+      { \ctex_patch_failure:N #1 }
   }
 \cs_if_exist:NTF \labelformat
   { \ctex_varioref_hook: }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese scheme for article (CTEX)}
 \ProvidesExplFile{ctex-scheme-chinese-article.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set:nn { part }
   {
     aftertitle  = \par ,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-beamer.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-beamer.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-beamer.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese scheme for beamer (CTEX)}
 \ProvidesExplFile{ctex-scheme-chinese-beamer.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set:nn { part }
   {
     aftertitle  = \par ,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-book.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-book.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-book.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese scheme for book (CTEX)}
 \ProvidesExplFile{ctex-scheme-chinese-book.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set:nn { part }
   {
     aftertitle  = \par ,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-report.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-report.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-report.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese scheme for report (CTEX)}
 \ProvidesExplFile{ctex-scheme-chinese-report.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set:nn { part }
   {
     aftertitle  = \par ,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese scheme for generic (CTEX)}
 \ProvidesExplFile{ctex-scheme-chinese.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set:n { today = small }
 \ctex_if_autoindent_touched:F
   { \ctex_set:n { autoindent = true } }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-article.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-article.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-article.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Plain scheme for article (CTEX)}
 \ProvidesExplFile{ctex-scheme-plain-article.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set:nn { part }
   {
     aftertitle  = \par ,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-beamer.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-beamer.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-beamer.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Plain scheme for beamer (CTEX)}
 \ProvidesExplFile{ctex-scheme-plain-beamer.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set:nn { part }
   {
     aftertitle  = \par ,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-book.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-book.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-book.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Plain scheme for book (CTEX)}
 \ProvidesExplFile{ctex-scheme-plain-book.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set:nn { part }
   {
     aftertitle  = \par ,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-report.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-report.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-report.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Plain scheme for report (CTEX)}
 \ProvidesExplFile{ctex-scheme-plain-report.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 \ctex_set:nn { part }
   {
     aftertitle  = \par ,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain.def	2020-08-23 20:52:08 UTC (rev 56160)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain.def	2020-08-23 20:53:47 UTC (rev 56161)
@@ -24,10 +24,10 @@
 %% 
 %% ---------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: ctex.dtx e805781 2020-08-23 21:30:35 +0800 Qing Lee <sobenlee at gmail.com> $
   {Plain scheme for generic (CTEX)}
 \ProvidesExplFile{ctex-scheme-plain.def}
-  {\ExplFileDate}{2.5.3}{\ExplFileDescription}
+  {\ExplFileDate}{2.5.4}{\ExplFileDescription}
 %% 
 %%
 %% End of file `ctex-scheme-plain.def'.



More information about the tex-live-commits mailing list.