texlive[50843] Master/texmf-dist: ctex (7apr19)

commits+karl at tug.org commits+karl at tug.org
Sun Apr 7 23:22:24 CEST 2019


Revision: 50843
          http://tug.org/svn/texlive?view=revision&revision=50843
Author:   karl
Date:     2019-04-07 23:22:23 +0200 (Sun, 07 Apr 2019)
Log Message:
-----------
ctex (7apr19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/ctex/README.md
    trunk/Master/texmf-dist/doc/latex/ctex/ctex.pdf
    trunk/Master/texmf-dist/source/latex/ctex/ctex.dtx
    trunk/Master/texmf-dist/source/latex/ctex/ctex.ins
    trunk/Master/texmf-dist/tex/generic/ctex/ctexmakespa.tex
    trunk/Master/texmf-dist/tex/generic/ctex/ctexspamacro.tex
    trunk/Master/texmf-dist/tex/generic/ctex/ctxdocstrip.tex
    trunk/Master/texmf-dist/tex/generic/ctex/zhadobefonts.tex
    trunk/Master/texmf-dist/tex/generic/ctex/zhfandolfonts.tex
    trunk/Master/texmf-dist/tex/generic/ctex/zhfounderfonts.tex
    trunk/Master/texmf-dist/tex/generic/ctex/zhubuntufonts.tex
    trunk/Master/texmf-dist/tex/generic/ctex/zhwindowsfonts.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/ctexopts.cfg
    trunk/Master/texmf-dist/tex/latex/ctex/ctex-article.def
    trunk/Master/texmf-dist/tex/latex/ctex/ctex-beamer.def
    trunk/Master/texmf-dist/tex/latex/ctex/ctex-book.def
    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-report.def
    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/ctxdoc.cls
    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/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/fontset/ctex-fontset-windowsnew.def
    trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsold.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

Added Paths:
-----------
    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

Modified: trunk/Master/texmf-dist/doc/latex/ctex/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ctex/README.md	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/doc/latex/ctex/README.md	2019-04-07 21:22:23 UTC (rev 50843)
@@ -26,7 +26,7 @@
 Copyright and Licence
 ---------------------
 
-    Copyright (C) 2003--2018
+    Copyright (C) 2003--2019
     CTEX.ORG and any individual authors listed elsewhere in this file.
     ----------------------------------------------------------------------
 
@@ -89,6 +89,12 @@
                                        c70rm.fd,
                                        c70sf.fd,
                                        c70tt.fd,
+                                       jy2zhrm.fd,
+                                       jy2zhsf.fd,
+                                       jy2zhtt.fd,
+                                       jt2zhrm.fd,
+                                       jt2zhsf.fd,
+                                       jt2zhtt.fd,
                                        ctex-fontset-windows.def,
                                        ctex-fontset-windowsnew.def,
                                        ctex-fontset-windowsold.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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/source/latex/ctex/ctex.dtx	2019-04-07 21:22:23 UTC (rev 50843)
@@ -2,7 +2,7 @@
 % !TeX program  = XeLaTeX
 % !TeX encoding = UTF-8
 %
-% Copyright (C) 2003--2018
+% Copyright (C) 2003--2019
 % CTEX.ORG and any individual authors listed elsewhere in this file.
 % --------------------------------------------------------------------------
 %
@@ -54,7 +54,7 @@
 Copyright and Licence
 ---------------------
 
-    Copyright (C) 2003--2018
+    Copyright (C) 2003--2019
     CTEX.ORG and any individual authors listed elsewhere in this file.
     ----------------------------------------------------------------------
 
@@ -117,6 +117,12 @@
                                        c70rm.fd,
                                        c70sf.fd,
                                        c70tt.fd,
+                                       jy2zhrm.fd,
+                                       jy2zhsf.fd,
+                                       jy2zhtt.fd,
+                                       jt2zhrm.fd,
+                                       jt2zhsf.fd,
+                                       jt2zhtt.fd,
                                        ctex-fontset-windows.def,
                                        ctex-fontset-windowsnew.def,
                                        ctex-fontset-windowsold.def,
@@ -154,7 +160,7 @@
 
 \preamble
 
-    Copyright (C) 2003--2018
+    Copyright (C) 2003--2019
     CTEX.ORG and any individual authors listed in the documentation.
 ------------------------------------------------------------------------------
 
@@ -222,6 +228,12 @@
                                        c70rm.fd,
                                        c70sf.fd,
                                        c70tt.fd,
+                                       jy2zhrm.fd,
+                                       jy2zhsf.fd,
+                                       jy2zhtt.fd,
+                                       jt2zhrm.fd,
+                                       jt2zhsf.fd,
+                                       jt2zhtt.fd,
                                        ctex-fontset-windows.def,
                                        ctex-fontset-windowsnew.def,
                                        ctex-fontset-windowsold.def,
@@ -287,12 +299,18 @@
     \file{ctex-engine-luatex.def}          {\from{\jobname.dtx}{luatex}}
     \file{ctex-engine-aptex.def}           {\from{\jobname.dtx}{aptex}}
     \file{ctex-engine-uptex.def}           {\from{\jobname.dtx}{uptex}}
-    \file{c19rm.fd}                        {\from{\jobname.dtx}{rm,c19}}
-    \file{c19sf.fd}                        {\from{\jobname.dtx}{sf,c19}}
-    \file{c19tt.fd}                        {\from{\jobname.dtx}{tt,c19}}
-    \file{c70rm.fd}                        {\from{\jobname.dtx}{rm,c70}}
-    \file{c70sf.fd}                        {\from{\jobname.dtx}{sf,c70}}
-    \file{c70tt.fd}                        {\from{\jobname.dtx}{tt,c70}}
+    \file{c19rm.fd}                        {\from{\jobname.dtx}{fd,rm,c19}}
+    \file{c19sf.fd}                        {\from{\jobname.dtx}{fd,sf,c19}}
+    \file{c19tt.fd}                        {\from{\jobname.dtx}{fd,tt,c19}}
+    \file{c70rm.fd}                        {\from{\jobname.dtx}{fd,rm,c70}}
+    \file{c70sf.fd}                        {\from{\jobname.dtx}{fd,sf,c70}}
+    \file{c70tt.fd}                        {\from{\jobname.dtx}{fd,tt,c70}}
+    \file{jy2zhrm.fd}                      {\from{\jobname.dtx}{fd,rm,jy2}}
+    \file{jy2zhsf.fd}                      {\from{\jobname.dtx}{fd,sf,jy2}}
+    \file{jy2zhtt.fd}                      {\from{\jobname.dtx}{fd,tt,jy2}}
+    \file{jt2zhrm.fd}                      {\from{\jobname.dtx}{fd,rm,jt2}}
+    \file{jt2zhsf.fd}                      {\from{\jobname.dtx}{fd,sf,jt2}}
+    \file{jt2zhtt.fd}                      {\from{\jobname.dtx}{fd,tt,jt2}}
     \file{ctex-fontset-windows.def}        {\from{\jobname.dtx}{fontset,windows}}
     \file{ctex-fontset-windowsnew.def}     {\from{\jobname.dtx}{fontset,windowsnew}}
     \file{ctex-fontset-windowsold.def}     {\from{\jobname.dtx}{fontset,windowsold}}
@@ -383,6 +401,12 @@
 \Msg{*     c70rm.fd                                              *}
 \Msg{*     c70sf.fd                                              *}
 \Msg{*     c70tt.fd                                              *}
+\Msg{*     jy2zhrm.fd                                            *}
+\Msg{*     jy2zhsf.fd                                            *}
+\Msg{*     jy2zhtt.fd                                            *}
+\Msg{*     jt2zhrm.fd                                            *}
+\Msg{*     jt2zhsf.fd                                            *}
+\Msg{*     jt2zhtt.fd                                            *}
 \Msg{*     ctex-fontset-windows.def                              *}
 \Msg{*     ctex-fontset-windowsnew.def                           *}
 \Msg{*     ctex-fontset-windowsold.def                           *}
@@ -418,10 +442,10 @@
 \fi
 %</internal>
 %<*!(driver|readme|install|zhmap|spa|docstrip)>
-%<*!(c19|c70|ctexspa|dict)>
+%<*!(fd|ctexspa|dict)>
 %<class|style|ctexcap|ctexhook|ctexpatch|ctxdoc>\NeedsTeXFormat{LaTeX2e}
 %<class|style|ctexcap|ctexhook|ctexpatch|ctxdoc>\RequirePackage{expl3}
-%<+!driver>\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+%<+!driver>\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
 %<ctxdoc>  {ctex documentation (CTEX)}
 %<ctxdoc>\ProvidesExplClass{ctxdoc}
 %<ctex>  {Chinese adapter in LaTeX (CTEX)}
@@ -514,8 +538,8 @@
 %<founder>\ProvidesExplFile{ctex-fontset-founder.def}
 %<ubuntu>  {Ubuntu fonts definition (CTEX)}
 %<ubuntu>\ProvidesExplFile{ctex-fontset-ubuntu.def}
-%<!driver>  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
-%</!(c19|c70|ctexspa|dict)>
+%<!driver>  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
+%</!(fd|ctexspa|dict)>
 %<c19&rm>\ProvidesFile{c19rm.fd}%
 %<c19&sf>\ProvidesFile{c19sf.fd}%
 %<c19&tt>\ProvidesFile{c19tt.fd}%
@@ -522,12 +546,18 @@
 %<c70&rm>\ProvidesFile{c70rm.fd}%
 %<c70&sf>\ProvidesFile{c70sf.fd}%
 %<c70&tt>\ProvidesFile{c70tt.fd}%
+%<jy2&rm>\ProvidesFile{jy2zhrm.fd}%
+%<jy2&sf>\ProvidesFile{jy2zhsf.fd}%
+%<jy2&tt>\ProvidesFile{jy2zhtt.fd}%
+%<jt2&rm>\ProvidesFile{jt2zhrm.fd}%
+%<jt2&sf>\ProvidesFile{jt2zhsf.fd}%
+%<jt2&tt>\ProvidesFile{jt2zhtt.fd}%
 %<ctexspa>\ProvidesFile{ctexspa.def}%
 %<dict&theorem&GBK>\ProvidesDictionary{translator-theorem-dictionary}{ChineseGBK}%
 %<dict&theorem&UTF8>\ProvidesDictionary{translator-theorem-dictionary}{ChineseUTF8}%
-%<c19|c70>  [2018/05/01 v2.4.14 Chinese font definition (CTEX)]
-%<ctexspa>  [2018/05/01 v2.4.14 Space info for CJKpunct (CTEX)]
-%<dict&theorem>  [2018/05/01 v2.4.14 Chinese translation for theorem name (CTEX)]
+%<fd>  [2019/04/07 v2.4.15 Chinese font definition (CTEX)]
+%<ctexspa>  [2019/04/07 v2.4.15 Space info for CJKpunct (CTEX)]
+%<dict&theorem>  [2019/04/07 v2.4.15 Chinese translation for theorem name (CTEX)]
 %</!(driver|readme|install|zhmap|spa|docstrip)>
 %<*driver>
 \documentclass{ctxdoc}
@@ -548,9 +578,10 @@
 % \changes{v2.2}{2015/06/24}{不再依赖 \pkg{etoolbox} 宏包。}
 % \changes{v2.4}{2015/02/19}{加强 \pkg{beamer} 宏包支持。}
 % \changes{v2.4.12}{2018/01/13}{同步 \LaTeXiii{} 2017/12/16。}
+% \changes{v2.4.15}{2019/03/23}{同步 \LaTeXiii{} 2019/03/05。}
 %
 %
-% \CheckSum{5933}
+% \CheckSum{5914}
 %
 % \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
@@ -2023,6 +2054,8 @@
 % \end{function}
 %
 % \begin{table}[htbp]
+% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth}
+% \begin{minipage}[t]{.6\linewidth}
 % \small\centering
 % \caption{\opt{beforeskip} 选项的默认设置}
 % \begin{tabular}{ll}
@@ -2042,25 +2075,7 @@
 % subparagraph & |3.25ex plus 1ex minus .2ex| \\
 % \bottomrule
 % \end{tabular}
-% \end{table}
-%
-% \begin{function}[EXP,updated=2015-06-27]{.../afterskip}
-%   \begin{syntax}
-%   afterskip = \Arg{弹性间距}
-%   \end{syntax}
-%   \opt{afterskip} 选项控制章节标题与后面下方之间的距离。
-%
-%   对于 \tn{section} 级以下标题,\opt{runin} 选项会影响 \opt{afterskip} 选项的意义:
-%   若 \opt{runin} 为 \opt{true},标题与随后正文排在同一段,\meta{弹性间距} 给出水平间距。
-%   否则,正文另起一段,\meta{弹性间距} 给出的是垂直间距。
-%
-%   \opt{afterskip} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。
-%
-%   \opt{sub3section} 或 \opt{sub4section} 宏包选项(见
-%   \ref{subs:options-heading}~节)会影响 \opt{aftertitle} 选项的默认值。
-% \end{function}
-%
-% \begin{table}[htbp]
+% \end{minipage}%
 % \begin{minipage}[t]{.5\linewidth}
 % \small\centering
 % \caption{\opt{afterskip} 选项的默认设置}
@@ -2084,30 +2099,25 @@
 % \qquad(sub4section) & |1ex plus .2ex| \\
 % \bottomrule
 % \end{tabular}
-% \end{minipage}%
-% \begin{minipage}[t]{.5\linewidth}
-% \small\centering
-% \caption{\opt{indent} 选项的默认设置}
-% \begin{tabular}{ll}
-% \toprule
-% 标题名 & 默认值 \\
-% \midrule
-% part (article) & |0pt| \\
-% part (beamer) & |0pt| \\
-% part & 无效 \\
-% chapter & |0pt| \\
-% section & |0pt| \\
-% subsection & |0pt| \\
-% subsubsection & |0pt| \\
-% paragraph & |0pt| \\
-% subparagraph & |\parindent| \\
-% \qquad(sub3section) & |0pt| \\
-% \qquad(sub4section) & 同上 \\
-% \bottomrule
-% \end{tabular}
 % \end{minipage}
 % \end{table}
 %
+% \begin{function}[EXP,updated=2015-06-27]{.../afterskip}
+%   \begin{syntax}
+%   afterskip = \Arg{弹性间距}
+%   \end{syntax}
+%   \opt{afterskip} 选项控制章节标题与后面下方之间的距离。
+%
+%   对于 \tn{section} 级以下标题,\opt{runin} 选项会影响 \opt{afterskip} 选项的意义:
+%   若 \opt{runin} 为 \opt{true},标题与随后正文排在同一段,\meta{弹性间距} 给出水平间距。
+%   否则,正文另起一段,\meta{弹性间距} 给出的是垂直间距。
+%
+%   \opt{afterskip} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。
+%
+%   \opt{sub3section} 或 \opt{sub4section} 宏包选项(见
+%   \ref{subs:options-heading}~节)会影响 \opt{aftertitle} 选项的默认值。
+% \end{function}
+%
 % \begin{function}[EXP,added=2016-06-03]{.../fixskip}
 %   \begin{syntax}
 %   fixskip = \TFF
@@ -2138,25 +2148,81 @@
 %
 %   \opt{indent} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。
 %
-%   例如,设置 \tn{section} 标题缩进 \SI{20}{pt}:
+%   如果 \opt{indent} 的值是以 \texttt{em}、\texttt{ex} 或 \cs{ccwd} 为单位,
+%   那么缩进间距的大小是相对于 \opt{format} 中指定的字号大小。
+%
+%   例如,设置 \tn{part} 标题缩进三个字、\tn{section} 标题缩进 \SI{20}{pt}:
 % \end{function}
 % \begin{ctexexam}
-%   \ctexset{section={
+%   \ctexset{
+%     part={
+%       format+=\raggedright,
+%       indent=3\ccwd,
+%     },
+%     section={
 %       format=\Large\bfseries,
 %       indent=20pt,
 %     }
 %   }
+%   \part{首行缩进的标题}
+%   \noindent 无缩进的正文。
 %   \section{首行缩进的标题}
 %   \noindent 无缩进的正文。
 % \end{ctexexam}
 %
-% \begin{function}[EXP,added=2016-10-22]{section/hang, subsection/hang,
-%   subsubsection/hang, paragraph/hang, subparagraph/hang}
+% \begin{table}[htbp]
+% \begin{minipage}[t]{.5\linewidth}
+% \small\centering
+% \caption{\opt{indent} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part & |0pt| \\
+% chapter & |0pt| \\
+% section & |0pt| \\
+% subsection & |0pt| \\
+% subsubsection & |0pt| \\
+% paragraph & |0pt| \\
+% subparagraph & |\parindent| \\
+% \qquad(sub3section) & |0pt| \\
+% \qquad(sub4section) & 同上 \\
+% \bottomrule
+% \end{tabular}
+% \end{minipage}%
+% \begin{minipage}[t]{.5\linewidth}
+% \small\centering
+% \caption{\opt{hang} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part & |false| \\
+% chapter & |false| \\
+% section & |true| \\
+% subsection & |true| \\
+% subsubsection & |true| \\
+% paragraph & 无意义 \\
+% \qquad(sub3section) & |true| \\
+% \qquad(sub4section) & |true| \\
+% subparagraph & 无意义 \\
+% \qquad(sub4section) & |true| \\
+% \bottomrule
+% \end{tabular}
+% \end{minipage}%
+% \end{table}
+%
+% \begin{function}[EXP,updated=2019-03-31]{part/hang, chapter/hang, section/hang,
+%   subsection/hang, subsubsection/hang, paragraph/hang, subparagraph/hang}
 %   \begin{syntax}
-%   hang = \TTF
+%   hang = \TF
 %   \end{syntax}
-%   默认情况下,\tn{section} 级以下标题具有悬挂缩进的效果(缩进的宽度为名字宽度和 \opt{indent} 选项
-%   设置的宽度之和)。设置 \opt{hang} 选项为 \opt{false} 可以取消这一效果。
+%   \opt{hang} 选项用于设置是否对章节标题实施悬挂缩进(缩进的宽度为名字宽度和 \opt{indent} 选项
+%   设置的宽度之和)。
+%
+%   本选项对 \cls{beamer}/\cls{ctexbeamer} 文档类无效。
+%   对于 \tn{section} 级以下标题,若设置了 \opt{runin} 选项为 \opt{true},
+%   即标题与随后正文排在同一段,\opt{hang} 选项没有意义。
 % \end{function}
 %
 % \begin{function}[EXP,added=2014-03-21]{part/pagestyle, chapter/pagestyle}
@@ -3043,7 +3109,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2017/12/16 } { }
+\@ifpackagelater { expl3 } { 2019/03/05 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 %<*class>
 \@ifpackagelater { l3keys2e } { 2015/12/20 } { }
@@ -3144,12 +3210,13 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{variable}{\g_@@_section_depth_flag}
+% \begin{variable}{\g_@@_section_depth_int}
 % 若大于 |3|,则 \tn{paragraph} 和 \tn{subparagraph} 标题单独占一行;若为 |3|,则
 % \tn{paragraph} 单独占一行。
 %    \begin{macrocode}
 %<*!beamer>
-\cs_new_eq:NN \g_@@_section_depth_flag \c_two
+\int_new:N \g_@@_section_depth_int
+\int_gset:Nn \g_@@_section_depth_int { 2 }
 %</!beamer>
 %    \end{macrocode}
 % \end{variable}
@@ -3212,7 +3279,7 @@
 \cs_new:Npn \ctex_default_pt:n #1
   {
     \exp_after:wN \@@_default_pt:w
-      \dim_use:N \etex_dimexpr:D #1 pt \scan_stop: \q_stop
+      \dim_use:N \tex_dimexpr:D #1 pt \scan_stop: \q_stop
   }
 \use:x
   {
@@ -3299,13 +3366,13 @@
 %</class|ctex>
 %    \end{macrocode}
 %
-% \begin{variable}{\g_@@_font_size_flag}
+% \begin{variable}{\g_@@_font_size_int}
 % |0| 表示修改默认字体大小为五号,|1| 为小四号,大于 1 则不作修改。初始值 |-1|
 % 表示 \opt{zihao} 选项未初始化,会在将来根据文档类决定初值。
 %    \begin{macrocode}
 %<*class|ctex|ctexsize>
-\int_new:N \g_@@_font_size_flag
-\int_set:Nn \g_@@_font_size_flag { -1 }
+\int_new:N \g_@@_font_size_int
+\int_set:Nn \g_@@_font_size_int { -1 }
 %</class|ctex|ctexsize>
 %    \end{macrocode}
 % \end{variable}
@@ -3331,9 +3398,9 @@
 %<*class|ctex|ctexsize>
     zihao .choice: ,
     zihao .value_required:n = true ,
-    zihao /     5  .code:n = { \cs_gset_eq:NN \g_@@_font_size_flag \c_zero } ,
-    zihao /    -4  .code:n = { \cs_gset_eq:NN \g_@@_font_size_flag \c_one } ,
-    zihao / false  .code:n = { \cs_gset_eq:NN \g_@@_font_size_flag \c_two } ,
+    zihao /     5  .code:n = { \int_gset:Nn \g_@@_font_size_int { 0 } } ,
+    zihao /    -4  .code:n = { \int_gset:Nn \g_@@_font_size_int { 1 } } ,
+    zihao / false  .code:n = { \int_gset:Nn \g_@@_font_size_int { 2 } } ,
 %<ctexsize>  }
 %</class|ctex|ctexsize>
 %<*class|ctex>
@@ -3556,9 +3623,9 @@
 % \begin{macrocode}
 %<*!beamer>
     sub3section .code:n =
-      { \cs_gset_eq:NN \g_@@_section_depth_flag \c_three } ,
+      { \int_gset:Nn \g_@@_section_depth_int { 3 } } ,
     sub4section .code:n =
-      { \cs_gset_eq:NN \g_@@_section_depth_flag \c_four } ,
+      { \int_gset:Nn \g_@@_section_depth_int { 4 } } ,
     sub3section .value_forbidden:n = true ,
     sub4section .value_forbidden:n = true ,
 %</!beamer>
@@ -3660,11 +3727,11 @@
       {
         #1 .code:n =
 %<*!class>
-          { \cs_gset_eq:NN \g_@@_font_size_flag \c_two } ,
+          { \int_gset:Nn \g_@@_font_size_int { 2 } } ,
 %</!class>
 %<*class>
           {
-            \cs_gset_eq:NN \g_@@_font_size_flag \c_two
+            \int_gset:Nn \g_@@_font_size_int { 2 }
             \clist_gput_right:Nn \g_@@_std_options_clist {#1}
           } ,
 %</class>
@@ -3704,7 +3771,7 @@
 %
 % 五号字使用标准文档类的 |10pt| 字体大小设置,小四号字则使用 |12pt|。
 %    \begin{macrocode}
-\if_case:w \g_@@_font_size_flag
+\if_case:w \g_@@_font_size_int
   \clist_gput_right:Nn \g_@@_std_options_clist { 10pt }
 \or:
   \clist_gput_right:Nn \g_@@_std_options_clist { 12pt }
@@ -3806,11 +3873,11 @@
 \cs_new_protected_nopar:Npn \@@_save_cmap:Nn #1#2
   {
     \tl_set:Nx \l_@@_tmp_tl { \str_lower_case:n {#2} \CJK at plane }
-    \tex_immediate:D \pdftex_pdfobj:D stream ~ file { \l_@@_tmp_tl .cmap }
+    \tex_immediate:D \tex_pdfobj:D stream ~ file { \l_@@_tmp_tl .cmap }
     \cs_new_protected_nopar:Npx #1
       {
-        \exp_not:N \pdftex_pdffontattr:D \exp_not:N \tex_font:D
-          { /ToUnicode ~ \int_use:N \pdftex_pdflastobj:D \c_space_tl 0 ~ R }
+        \exp_not:N \tex_pdffontattr:D \exp_not:N \tex_font:D
+          { /ToUnicode ~ \int_use:N \tex_pdflastobj:D \c_space_tl 0 ~ R }
       }
   }
 %    \end{macrocode}
@@ -3952,16 +4019,16 @@
       \tl_set:Nx \l_@@_tmp_tl {#2}
       \int_set:Nn \l_@@_tmp_int
         { \exp_args:No \int_from_hex:n { \l_@@_tmp_tl } }
-      \int_compare:nNnTF \l_@@_tmp_int < \c_two_hundred_fifty_six
+      \int_compare:nNnTF \l_@@_tmp_int < { 256 }
         { \tl_gset:Nx #1 { \int_to_Hex:n { \l_@@_tmp_int } } }
         {
-          \int_sub:Nn \l_@@_tmp_int { \c_two_hundred_fifty_six }
+          \int_sub:Nn \l_@@_tmp_int { 256 }
           \tl_gset:Nx #1
             {
               \int_to_Hex:n
-                { \int_div_truncate:nn { \l_@@_tmp_int } { \c_four } + "D800 }
+                { \int_div_truncate:nn { \l_@@_tmp_int } { 4 } + "D800 }
               \int_to_Hex:n
-                { \int_mod:nn { \l_@@_tmp_int } { \c_four } + "DC }
+                { \int_mod:nn { \l_@@_tmp_int } { 4 } + "DC }
             }
         }
     }
@@ -3974,7 +4041,7 @@
 %    \begin{macrocode}
 \AtBeginDocument
   {
-    \str_if_eq_x:nnF { \l_@@_punct_tl } { quanjiao }
+    \str_if_eq:eeF { \l_@@_punct_tl } { quanjiao }
       { \punctstyle { \l_@@_punct_tl } }
   }
 %    \end{macrocode}
@@ -4306,7 +4373,7 @@
 \AtBeginUTFCommand
   {
     \group_begin:
-    \lua_now_x:n { tex.globaldefs = 0 }
+    \lua_now:e { tex.globaldefs = 0 }
     \ltj at allalchar
   }
 \AtEndUTFCommand { \group_end: }
@@ -4320,7 +4387,7 @@
 %    \begin{macrocode}
 \cs_set_protected:Npn \fontspec_visible_space:
   {
-    \etex_iffontchar:D \tex_font:D "2423 \exp_stop_f:
+    \tex_iffontchar:D \tex_font:D "2423 \exp_stop_f:
       \ltjalchar "2423 \exp_stop_f:
     \else:
       \fontspec_visible_space_fallback:
@@ -4450,7 +4517,7 @@
 % 赋值总是全局的,不会受到分组的影响。
 %    \begin{macrocode}
     \font at name
-    \lua_now_x:n { font.current(tex.getattribute('ltj at curjfnt')) }
+    \lua_now:e { font.current(tex.getattribute('ltj at curjfnt')) }
     \use:c { \f at encoding + \f at family }
     \use:c { \curr at fontshape }
   }
@@ -4502,7 +4569,7 @@
 %    \begin{macrocode}
 \prg_new_conditional:Npnn \ctex_ltj_if_alternate_shape_exist:n #1 { T , F , TF }
   {
-    \lua_now_x:n { luatexja.jfont.does_alt_set ('\lua_escape_x:n {#1}') }
+    \lua_now:e { luatexja.jfont.does_alt_set ('\lua_escape:e {#1}') }
       \prg_return_true: \else: \prg_return_false: \fi:
   }
 %    \end{macrocode}
@@ -4521,7 +4588,7 @@
 % \texttt{font.id} 唯一。
 %    \begin{macrocode}
 \cs_new_nopar:Npn \@@_patch_external_font:w #1 ~ at
-  { #1 \lua_now_x:n { luatexja.jfont.print_aftl_address() } ~ at }
+  { #1 \lua_now:e { luatexja.jfont.print_aftl_address() } ~ at }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -4532,12 +4599,12 @@
   {
     \ctex_ltj_if_alternate_shape_exist:nT { \l_@@_current_shape_tl }
       {
-        \lua_now_x:n
+        \lua_now:e
           {
             luatexja.jfont.output_alt_font_cmd
-              ('y', '\lua_escape_x:n { \l_@@_current_shape_tl }')
+              ('y', '\lua_escape:e { \l_@@_current_shape_tl }')
           }
-        \lua_now_x:n { luatexja.jfont.pickup_alt_font_a ('\f at size') }
+        \lua_now:e { luatexja.jfont.pickup_alt_font_a ('\f at size') }
       }
   }
 \tl_new:N \l_@@_current_shape_tl
@@ -4575,10 +4642,10 @@
 \cs_new_protected_nopar:Npn \ltj at pickup@altfont at copy #1#2
   {
     \ltj@@getjfontnumber #1
-    \lua_now_x:n
+    \lua_now:e
       {
         luatexja.jfont.pickup_alt_font_b
-          ( \int_use:N \ltj at tempcntc, '\lua_escape_x:n {#2}' )
+          ( \int_use:N \ltj at tempcntc, '\lua_escape:e {#2}' )
       }
   }
 %    \end{macrocode}
@@ -4602,8 +4669,8 @@
 %    \begin{macrocode}
 \cs_new:Npn \ctex_ltj_if_jfont:nTF #1
   {
-    \lua_now_x:n
-      { luatexja.jfont.is_kenc( string.match('\lua_escape_x:n {#1}', '[^/]+') ) }
+    \lua_now:e
+      { luatexja.jfont.is_kenc( string.match('\lua_escape:e {#1}', '[^/]+') ) }
     \ifin@ \exp_after:wN \use_i:nn \else: \exp_after:wN \use_ii:nn \fi:
   }
 %    \end{macrocode}
@@ -4749,7 +4816,7 @@
     \exp_not:N \DeclareFontSubstitution
       { \CJK at encoding } { song } { \mddefault } { \updefault }
   }
-\lua_now_x:n { luatexja.jfont.add_kyenc_list('\CJK at encoding') }
+\lua_now:e { luatexja.jfont.add_kyenc_list('\CJK at encoding') }
 \cs_new_protected_nopar:Npn \@@_change_encoding:
   { \tl_set_eq:NN \g_fontspec_encoding_tl \CJK at encoding }
 \DeclareFontFamily { \CJK at encoding } { song } { }
@@ -4948,7 +5015,7 @@
   }
 \cs_new_nopar:Npn \@@_msg_def_family_map:n #1
   {
-    \str_case_x:nnF {#1}
+    \str_case_e:nnF {#1}
       {
         \CJKrmdefault { \token_to_str:N \setCJKmainfont }
         \CJKsfdefault { \token_to_str:N \setCJKsansfont }
@@ -4959,7 +5026,7 @@
   }
 \cs_new_nopar:Npn \@@_msg_family_map:n #1
   {
-    \str_case_x:nnF {#1}
+    \str_case_e:nnF {#1}
       {
         \CJKrmdefault { \token_to_str:N \CJKrmdefault }
         \CJKsfdefault { \token_to_str:N \CJKsfdefault }
@@ -5166,7 +5233,7 @@
   }
 \cs_new_protected_nopar:Npn \@@_update_family_aux:
   {
-    \str_case_x:nn { \f at family }
+    \str_case_e:nn { \f at family }
       {
         { \rmdefault }     { \CJKfamily { \CJKrmdefault } }
         { \sfdefault }     { \CJKfamily { \CJKsfdefault } }
@@ -5192,7 +5259,7 @@
       {
         \ctex_ltj_family_if_exist:xNF { \CJKfamilydefault } \l_@@_tmp_tl
           {
-            \str_if_eq_x:nnTF { \CJKfamilydefault } { \CJKrmdefault }
+            \str_if_eq:eeTF { \CJKfamilydefault } { \CJKrmdefault }
               { \use:n }
               {
                 \ctex_ltj_family_if_exist:xNTF { \CJKrmdefault } \l_@@_tmp_tl
@@ -5457,7 +5524,7 @@
     \@@_save_alternate_shape:cnn
       { \@@_alternate_cs:n { clear / \l_@@_base_CJKfamily_tl } }
       { luatexja.jfont.clear_alt_font_latex }
-      { '\lua_escape_x:n { \CJK at encoding/#2/#3/#4 }' }
+      { '\lua_escape:e { \CJK at encoding/#2/#3/#4 }' }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -5469,7 +5536,7 @@
 % (例如 |{{-1}}|),或者使用类似 |{-1}-{-1}| 的形式才不会解释错误。
 %    \begin{macrocode}
 \NewDocumentCommand \ctex_ltj_set_alternate_shape:nnn
-  { m m > { \SplitArgument { \c_one } { -> } } m }
+  { m m > { \SplitArgument { 1 } { -> } } m }
   { \ctex_ltj_set_alternate_shape:nnnn {#1} {#2} #3 }
 \cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:nnnn #1#2#3#4
   {
@@ -5481,13 +5548,13 @@
             \int_eval:n { \tl_if_blank:nTF {#3} { "80 } {#3} } ,
             \int_eval:n { \tl_if_blank:nTF {#4} { "10FFFF } {#4} } ,
           }
-        '\lua_escape_x:n { \CJK at encoding/#2 }' ,
-        '\lua_escape_x:n { \CJK at encoding/#1 }'
+        '\lua_escape:e { \CJK at encoding/#2 }' ,
+        '\lua_escape:e { \CJK at encoding/#1 }'
       }
   }
 \cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:n #1
   {
-    \lua_now_x:n { luatexja.jfont.set_alt_font_latex ( #1 ) }
+    \lua_now:e { luatexja.jfont.set_alt_font_latex ( #1 ) }
     \@@_save_alternate_shape:cnn
       { \@@_alternate_cs:n { reset / \l_@@_base_CJKfamily_tl } }
       { luatexja.jfont.set_alt_font_latex } {#1}
@@ -5505,8 +5572,8 @@
         \ctex_ltj_set_alternate_shape:n
           {
             ##1 ,
-            '\lua_escape_x:n { \CJK at encoding/#2 }' ,
-            '\lua_escape_x:n { \CJK at encoding/#1 }'
+            '\lua_escape:e { \CJK at encoding/#2 }' ,
+            '\lua_escape:e { \CJK at encoding/#1 }'
           }
       }
   }
@@ -5523,9 +5590,9 @@
     \group_begin:
     \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: }
     \cs_set_eq:NN \l_@@_base_family_tl \scan_stop:
-    \cs_set_eq:NN \lua_escape_x:n \scan_stop:
+    \cs_set_eq:NN \lua_escape:e \scan_stop:
     \cs_gset_protected_nopar:Npx #1
-      { \exp_not:o {#1} \exp_not:N \lua_now_x:n { #2 ( #3 ) } }
+      { \exp_not:o {#1} \exp_not:N \lua_now:e { #2 ( #3 ) } }
     \group_end:
   }
 \cs_generate_variant:Nn \@@_save_alternate_shape:Nnn { c }
@@ -5614,7 +5681,7 @@
 % 预先解释字符区间的意义。
 %    \begin{macrocode}
 \NewDocumentCommand \ctex_ltj_save_char_range:n
-  { > { \SplitArgument { \c_one } { -> } } m }
+  { > { \SplitArgument { 1 } { -> } } m }
   { \ctex_ltj_save_char_range:nn #1 }
 \cs_new_protected_nopar:Npn \ctex_ltj_save_char_range:nn #1#2
   {
@@ -5750,37 +5817,56 @@
 %    \end{macrocode}
 %
 % \changes{v2.4}{2016/02/28}{初步支持 \upLaTeX。}
+% \changes{v2.4.15}{2019/04/05}{显式补丁 \upLaTeX 的 \tn{rmfamily} 等字体命令。}
 %
 % 按 \pkg{CJK} 的命名习惯模拟部分命令,并设置默认字体。
 %    \begin{macrocode}
-\tl_set:Nn \CJKrmdefault { rm }
-\tl_set:Nn \CJKsfdefault { sf }
-\tl_set:Nn \CJKttdefault { tt }
+\tl_set:Nn \CJKrmdefault { zhrm }
+\tl_set:Nn \CJKsfdefault { zhsf }
+\tl_set:Nn \CJKttdefault { zhtt }
 \tl_set:Nn \CJKfamilydefault { \CJKrmdefault }
-\ctex_preto_cmd:NnnTF \rmfamily { \ExplSyntaxOff }
-  { \kanjifamily { \CJKrmdefault } }
-  { }
-  { \ctex_patch_failure:N \rmfamily }
-\ctex_preto_cmd:NnnTF \sffamily { \ExplSyntaxOff }
-  { \kanjifamily { \CJKsfdefault } }
-  { }
-  { \ctex_patch_failure:N \sffamily }
-\ctex_preto_cmd:NnnTF \ttfamily { \ExplSyntaxOff }
-  { \kanjifamily { \CJKttdefault } }
-  { }
-  { \ctex_patch_failure:N \ttfamily }
-\ctex_preto_cmd:NnnTF \normalfont { \ExplSyntaxOff }
-  { \kanjifamily { \CJKfamilydefault } }
-  { \cs_set_eq:NN \reset at font \normalfont }
-  { \ctex_patch_failure:N \normalfont }
+\tl_set:Nn \kanjifamilydefault { \CJKfamilydefault }
+\RenewDocumentCommand \rmfamily { }
+  {
+    \not at math@alphabet \rmfamily \mathrm
+    \romanfamily \rmdefault
+    \kanjifamily \CJKrmdefault
+    \selectfont
+  }
+\RenewDocumentCommand \sffamily { }
+  {
+    \not at math@alphabet \sffamily \mathsf
+    \romanfamily \sfdefault
+    \kanjifamily \CJKsfdefault
+    \selectfont
+  }
+\RenewDocumentCommand \ttfamily { }
+  {
+    \not at math@alphabet \ttfamily \mathtt
+    \romanfamily \ttdefault
+    \kanjifamily \CJKttdefault
+    \selectfont
+  }
 \NewDocumentCommand \CJKfamily { m }
   {
-    \kanjifamily { #1 }
+    \kanjifamily {#1}
     \selectfont
   }
-\tl_set:Nn \kanjifamilydefault { \CJKfamilydefault }
 %    \end{macrocode}
 %
+% \changes{v2.4.15}{2019/04/05}{将 \upLaTeX 的默认字体由 \texttt{mc} 改为
+%   \texttt{zhrm},并启用 \tn{jfam}。}
+%
+% 将 \upLaTeX 的默认字体由 |mc| 改为 |zhrm|,并启用 \tn{jfam}。
+%    \begin{macrocode}
+\DeclareErrorKanjiFont{JY2}{zhrm}{m}{n}{10}
+\DeclareKanjiSubstitution{JY2}{zhrm}{m}{n}
+\DeclareKanjiSubstitution{JT2}{zhrm}{m}{n}
+\DeclareSymbolFont{mincho}{JY2}{zhrm}{m}{n}
+\SetSymbolFont{mincho}{bold}{JY2}{zhrm}{bx}{n}
+\jfam \symmincho
+%    \end{macrocode}
+%
 % 在导言区末尾更新 \tn{CJKfamilydefault}。
 %    \begin{macrocode}
 \ctex_at_end_preamble:n { \ctex_update_default_family: }
@@ -5950,7 +6036,7 @@
   {
     \tl_gset:Nx \g_@@_fontset_tl
       {
-        \lua_now_x:n
+        \lua_now:e
           {
             if ~ os.name == 'windows' then ~
               tex.sprint ( 'windows' )
@@ -6236,7 +6322,7 @@
   { \skip_set:Nn \ccwd { \ltjgetparameter { kanjiskip } + \zw } }
 %</luatex>
 %<*uptex|aptex>
-  { \skip_set:Nn \ccwd { 1zw + \ptex_kanjiskip:D } }
+  { \skip_set:Nn \ccwd { 1zw + \tex_kanjiskip:D } }
 %</uptex|aptex>
 \dim_new:N \ccwd
 %    \end{macrocode}
@@ -6256,7 +6342,7 @@
   { \ctex_ltj_set_kanjiskip:N \l_@@_ccglue_skip }
 %</luatex>
 %<*uptex|aptex>
-  { \skip_set_eq:NN \ptex_kanjiskip:D \l_@@_ccglue_skip }
+  { \skip_set_eq:NN \tex_kanjiskip:D \l_@@_ccglue_skip }
 %</uptex|aptex>
 \skip_new:N \l_@@_ccglue_skip
 %    \end{macrocode}
@@ -6276,7 +6362,7 @@
       { \prg_return_false: } { \prg_return_true: }
 %</luatex>
 %<*uptex|aptex>
-    \skip_if_eq:nnTF { \l_@@_ccglue_skip } { \ptex_kanjiskip:D }
+    \skip_if_eq:nnTF { \l_@@_ccglue_skip } { \tex_kanjiskip:D }
       { \prg_return_false: } { \prg_return_true: }
 %</uptex|aptex>
   }
@@ -6388,11 +6474,11 @@
   {
     \skip_if_eq:nnT
 %<luatex>      { \ltjgetparameter { xkanjiskip } } { \l_@@_xkanjiskip_skip }
-%<uptex|aptex>      { \ptex_xkanjiskip:D } { \l_@@_xkanjiskip_skip }
+%<uptex|aptex>      { \tex_xkanjiskip:D } { \l_@@_xkanjiskip_skip }
       {
         \skip_set:Nn \l_@@_xkanjiskip_skip { \l_@@_xkanjiskip_tl }
 %<luatex>        \ctex_ltj_set_xkanjiskip:N \l_@@_xkanjiskip_skip
-%<uptex|aptex>        \skip_set_eq:NN \ptex_xkanjiskip:D \l_@@_xkanjiskip_skip
+%<uptex|aptex>        \skip_set_eq:NN \tex_xkanjiskip:D \l_@@_xkanjiskip_skip
       }
   }
 \tl_new:N \l_@@_xkanjiskip_tl
@@ -6402,7 +6488,7 @@
 \skip_new:N \l_@@_xkanjiskip_skip
 \skip_set:Nn \l_@@_xkanjiskip_skip
 %<luatex>  { \ltjgetparameter { xkanjiskip } }
-%<uptex|aptex>  { \ptex_xkanjiskip:D }
+%<uptex|aptex>  { \tex_xkanjiskip:D }
 %    \end{macrocode}
 % \end{variable}
 % \end{macro}
@@ -6424,7 +6510,7 @@
 \newluafunction \g_@@_kanjisize_func
 \group_begin:
 \char_set_catcode_space:n { 32 }
-\lua_now_x:n
+\lua_now:e
   {
     local nulltable = { }
     local t = lua.get_functions_table()
@@ -6442,7 +6528,7 @@
   }
 \group_end:
 \cs_new_protected_nopar:Npn \ctex_update_kanjisize:
- { \luatex_luafunction:D \g_@@_kanjisize_func }
+ { \tex_luafunction:D \g_@@_kanjisize_func }
 \ctex_add_to_selectfont:n { \ctex_update_kanjisize: }
 %</luatex>
 %    \end{macrocode}
@@ -6646,7 +6732,7 @@
           { \ctex_update_ccwd: }
           {
             \dim_set:Nn \l_@@_tmp_dim
-              { \baselinestretch \etex_glueexpr:D \f at baselineskip \scan_stop: }
+              { \baselinestretch \tex_glueexpr:D \f at baselineskip \scan_stop: }
             \skip_set:Nn \l_@@_ccglue_skip
               { \c_zero_dim plus .08 \l_@@_tmp_dim }
             \ctex_update_ccglue:
@@ -6654,9 +6740,9 @@
       }
       {
         \int_set:Nn \l_@@_tmp_int
-          { \etex_dimexpr:D \linewidth - \ccwd - \l_@@_tmp_dim \scan_stop: }
+          { \tex_dimexpr:D \linewidth - \ccwd - \l_@@_tmp_dim \scan_stop: }
         \tex_divide:D \l_@@_tmp_int \ccwd
-        \int_compare:nNnTF \l_@@_tmp_int > \c_zero
+        \int_compare:nNnTF \l_@@_tmp_int > \c_zero_int
           {
             \skip_set:Nn \l_@@_ccglue_skip
               {
@@ -6727,8 +6813,8 @@
 %    \begin{macrocode}
         \dim_compare:nNnF \parindent = \c_zero_dim
           {
-            \int_compare:nNnF \l_@@_tmp_int < \c_three
-              { \int_sub:Nn \l_@@_tmp_int { \c_two } }
+            \int_compare:nNnF \l_@@_tmp_int < 3
+              { \int_sub:Nn \l_@@_tmp_int { 2 } }
           }
         \skip_set:Nn \l_@@_ccglue_skip
           {
@@ -6735,7 +6821,7 @@
             \l_@@_ziju_dim
             plus  \dim_eval:n { \l_@@_tmp_dim / \l_@@_tmp_int }
             minus \dim_min:nn { \dim_abs:n { \l_@@_ziju_dim } }
-              { ( \ccwd - \l_@@_tmp_dim ) / ( \l_@@_tmp_int + \c_one ) }
+              { ( \ccwd - \l_@@_tmp_dim ) / ( \l_@@_tmp_int + 1 ) }
           }
       }
       { \skip_set:Nn \l_@@_ccglue_skip { \l_@@_ziju_dim } }
@@ -7064,7 +7150,7 @@
 % 了 \pkg{xparse} 的 \tn{SplitArgument},它带有参数的长度检查。
 %    \begin{macrocode}
 \NewDocumentCommand \ctex_assign_heading_name:nn
-  { m > { \SplitArgument { \c_one } { , } } +m }
+  { m > { \SplitArgument { 1 } { , } } +m }
   { \@@_assign_heading_name:nnn {#1} #2 }
 \cs_new_protected:Npn \@@_assign_heading_name:nnn #1#2#3
   {
@@ -7217,6 +7303,8 @@
 %
 % \changes{v2.2}{2015/06/27}{\opt{beforeskip}、\opt{afterskip} 和 \opt{indent}
 %   选项支持表达式。}
+% \changes{v2.4.15}{2019/03/31}{修正 \opt{part/indent} 和 \opt{chapter/indent} 的实现方法。}
+% \changes{v2.4.15}{2019/03/31}{定义 \opt{part/hang} 和 \opt{chapter/hang}。}
 %
 % \paragraph{part 的标题}
 %
@@ -7292,11 +7380,12 @@
   \CTEX at addtocline{part}{#1}%
   {\interlinepenalty \@M
 %  \normalfont \parindent \z@ \raggedright
-   \normalfont \parindent \dimexpr \CTEX at part@indent \relax \CTEX at part@format
-   \ifnum \c at secnumdepth >\m at ne \ifodd \CTEX at part@numbering
+   \normalfont \CTEX at part@format
+%  \ifnum \c at secnumdepth >\m at ne
 %    \Large\bfseries\partname\nobreakspace\thepart\par\nobreak
-     \CTEX at partname \CTEX at part@aftername
-   \fi \fi
+%  \fi
+   \CTEX at hangindent{part}%
+     {\CTEXifname{\CTEX at partname\CTEX at part@aftername}{}}%
 %  \huge\bfseries #2%
    \CTEX at part@titleformat{#2}%
 %  \markboth{}{}%
@@ -7332,10 +7421,11 @@
   {\interlinepenalty \@M
 %  \normalfont \centering
    \normalfont \CTEX at part@format
-   \ifnum \c at secnumdepth >-2\relax \ifodd \CTEX at part@numbering
+%  \ifnum \c at secnumdepth >-2\relax
 %    \huge\bfseries\partname\nobreakspace\thepart\par\vskip 20\p@
-     \CTEX at partname \CTEX at part@aftername
-   \fi \fi
+%  \fi
+   \CTEX at hangindent{part}%
+     {\CTEXifname{\CTEX at partname\CTEX at part@aftername}{}}%
 %  \Huge\bfseries #2\par}%
    \CTEX at part@titleformat{#2}%
    \CTEX at part@aftertitle}%
@@ -7352,8 +7442,8 @@
     \CTEX at makeanchor@spart{part*}%
     {\interlinepenalty \@M
 %    \normalfont \parindent \z@ \raggedright
-     \normalfont \parindent \dimexpr \CTEX at part@indent \relax
-     \CTEX at part@format
+     \normalfont \CTEX at part@format
+     \CTEX at hangindent{part}{}%
 %    \huge \bfseries #1\par}%
      \CTEX at part@titleformat{#1}%
      \CTEX at part@aftertitle}%
@@ -7371,6 +7461,7 @@
     {\interlinepenalty \@M
 %    \normalfont \centering
      \normalfont \CTEX at part@format
+     \CTEX at hangindent{part}{}%
 %    \Huge \bfseries #1\par}%
      \CTEX at part@titleformat{#1}%
      \CTEX at part@aftertitle}%
@@ -7493,15 +7584,15 @@
   \ifodd \CTEX at chapter@fixskip \CTEX at fixtopskip \fi
   \vspace*{\CTEX at headingskip}%
 % {\normalfont \parindent \z@ \raggedright
-  {\normalfont \parindent \dimexpr \CTEX at chapter@indent \relax
-   \CTEX at chapter@format
+  {\normalfont \CTEX at chapter@format
+   \interlinepenalty\@M
 %  \ifnum \c at secnumdepth >\m at ne
 %    \if at mainmatter
 %      \huge\bfseries\@chapapp\space\thechapter\par\nobreak\vskip 20\p@
 %    \fi
 %  \fi
-   \CTEXifname{\CTEX at chaptername\CTEX at chapter@aftername}{}%
-   \interlinepenalty\@M
+   \CTEX at hangindent{chapter}%
+     {\CTEXifname{\CTEX at chaptername\CTEX at chapter@aftername}{}}%
 %  \Huge \bfseries #1\par\nobreak
    \CTEX at chapter@titleformat{#1}%
    \CTEX at chapter@aftertitle
@@ -7522,11 +7613,11 @@
   \ifodd \CTEX at chapter@fixskip \CTEX at fixtopskip \fi
   \vspace*{\CTEX at headingskip}%
 % {\normalfont \parindent \z@ \raggedright
-  {\normalfont \parindent \dimexpr \CTEX at chapter@indent \relax
-   \CTEX at chapter@format
+  {\normalfont \CTEX at chapter@format
    \interlinepenalty\@M
+   \CTEX at hangindent{chapter}{}%
 %  \Huge \bfseries  #1\par\nobreak
-   \CTEX at chapter@titleformat{#1}
+   \CTEX at chapter@titleformat{#1}%
    \CTEX at chapter@aftertitle
    \nobreak
 %  \vskip 40\p@
@@ -7700,6 +7791,27 @@
 %<@@=ctex>
 %    \end{macrocode}
 %
+% \begin{macro}[int]{\CTEX at hangindent}
+% 用于实现 \tn{part} 和 \tn{chapter} 标题的 \opt{indent} 和 \opt{hang} 选项。
+%    \begin{macrocode}
+\cs_new_protected:Npn \CTEX at hangindent #1#2
+  {
+    \bool_if:cTF { CTEX@#1 at hang }
+      { \@hangfrom }
+      { \noindent \use:n }
+      { \@@_indent_aux:n {#1} #2 }
+  }
+\cs_new_protected:Npn \@@_indent_aux:n #1
+  {
+    \group_begin:
+      \skip_set:Nn \l_@@_heading_skip { \use:c { CTEX@#1 at indent } }
+      \dim_compare:nNnF \l_@@_heading_skip = \c_zero_dim
+        { \skip_horizontal:N \l_@@_heading_skip }
+    \group_end:
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}[int]{\CTEX at hangfrom}
 % \opt{hang} 选项控制是否采用悬挂缩进。
 %    \begin{macrocode}
@@ -7718,11 +7830,11 @@
 \cs_new_protected_nopar:Npn \CTEX at update@sectionformat at n #1
   {
     \cs_set_eq:Nc \CTEX at titleformat@n { CTEX@#1 at titleformat }
-    \cs_set_eq:Nc \CTEX at aftertitle { CTEX@#1 at aftertitle }
-    \cs_set_eq:Nc \CTEX at afterindent { CTEX@#1 at afterindent }
-    \cs_set_eq:Nc \CTEX at fixskip { CTEX@#1 at fixskip }
-    \cs_set_eq:Nc \CTEX at hang { CTEX@#1 at hang }
-    \cs_set_eq:Nc \CTEX at runin { CTEX@#1 at runin }
+    \cs_set_eq:Nc \CTEX at aftertitle    { CTEX@#1 at aftertitle }
+    \cs_set_eq:Nc \CTEX at afterindent   { CTEX@#1 at afterindent }
+    \cs_set_eq:Nc \CTEX at fixskip       { CTEX@#1 at fixskip }
+    \cs_set_eq:Nc \CTEX at hang          { CTEX@#1 at hang }
+    \cs_set_eq:Nc \CTEX at runin         { CTEX@#1 at runin }
   }
 \cs_new_eq:NN \CTEX at titleformat@n \use:n
 \cs_new_eq:NN \CTEX at aftertitle \prg_do_nothing:
@@ -8123,7 +8235,7 @@
     \dim_set:Nn \@tempdima
       {
         \dim_max:nn { \@tempdima }
-          { \box_wd:N \l_@@_tmp_box + \f at size \p@ / \c_two }
+          { \box_wd:N \l_@@_tmp_box + \f at size \p@ / 2 }
       }
   }
 \group_begin:
@@ -8236,17 +8348,21 @@
 \ExplSyntaxOff
 %    \end{macrocode}
 %
+% \changes{v2.4.15}{2019/01/29}{局部指定 \opt{autoindent} 为 \opt{false},并交换
+%   \tn{CTEX at XXX@indent} 与 \tn{CTEX at XXX@format} 的顺序。}
+%
 % 对应 \tn{partpage}。
 %    \begin{macrocode}
-\defbeamertemplate*{part page}{CTEX}[1][]{
+\defbeamertemplate*{part page}{CTEX}[1][]{%
   \begingroup
+    \ctexset{autoindent=false}%
 %    \centering
 %    {\usebeamerfont{part name}%
 %     \usebeamercolor[fg]{part name}\partname~\insertromanpartnumber}
 %    \vskip1em\par
     \par \addvspace{\glueexpr\CTEX at part@beforeskip\relax}%
+    \CTEX at part@format
     \parindent \dimexpr \CTEX at part@indent \relax
-    \CTEX at part@format
     \ifodd \CTEX at part@numbering
       \CTEX at partname \CTEX at part@aftername
     \fi
@@ -8253,7 +8369,7 @@
     \begin{beamercolorbox}[sep=16pt,center,#1]{part title}
 %      \usebeamerfont{part title}\insertpart\par
       \CTEX at part@titleformat \insertpart \CTEX at part@aftertitle
-    \end{beamercolorbox}
+    \end{beamercolorbox}%
     \par \addvspace{\glueexpr\CTEX at part@afterskip\relax}%
   \endgroup
 }
@@ -8261,15 +8377,16 @@
 %
 % 对应 \tn{sectionpage}。
 %    \begin{macrocode}
-\defbeamertemplate*{section page}{CTEX}[1][]{
+\defbeamertemplate*{section page}{CTEX}[1][]{%
   \begingroup
+    \ctexset{autoindent=false}%
 %    \centering
 %    {\usebeamerfont{section name}%
 %     \usebeamercolor[fg]{section name}\sectionname~\insertsectionnumber}
 %    \vskip1em\par
     \par \addvspace{\glueexpr\CTEX at section@beforeskip\relax}%
+    \CTEX at section@format
     \parindent \dimexpr \CTEX at section@indent \relax
-    \CTEX at section@format
     \ifodd \CTEX at section@numbering
       \CTEX at sectionname \CTEX at section@aftername
     \fi
@@ -8276,7 +8393,7 @@
     \begin{beamercolorbox}[sep=12pt,center,#1]{part title}
 %      \usebeamerfont{section title}\insertsection\par
       \CTEX at section@titleformat \insertsection \CTEX at section@aftertitle
-    \end{beamercolorbox}
+    \end{beamercolorbox}%
     \par \addvspace{\glueexpr\CTEX at section@afterskip\relax}%
   \endgroup
 }
@@ -8284,15 +8401,16 @@
 %
 % 对应 \tn{subsectionpage}。
 %    \begin{macrocode}
-\defbeamertemplate*{subsection page}{CTEX}[1][]{
+\defbeamertemplate*{subsection page}{CTEX}[1][]{%
   \begingroup
+    \ctexset{autoindent=false}%
 %    \centering
 %    {\usebeamerfont{subsection name}%
 %     \usebeamercolor[fg]{subsection name}\subsectionname~\insertsubsectionnumber}
 %    \vskip1em\par
     \par \addvspace{\glueexpr\CTEX at subsection@beforeskip\relax}%
+    \CTEX at subsection@format
     \parindent \dimexpr \CTEX at subsection@indent \relax
-    \CTEX at subsection@format
     \ifodd \CTEX at subsection@numbering
       \CTEX at subsectionname \CTEX at subsection@aftername
     \fi
@@ -8299,7 +8417,7 @@
     \begin{beamercolorbox}[sep=8pt,center,#1]{part title}
 %      \usebeamerfont{subsection title}\insertsubsection\par
       \CTEX at subsection@titleformat \insertsubsection \CTEX at subsection@aftertitle
-    \end{beamercolorbox}
+    \end{beamercolorbox}%
     \par \addvspace{\glueexpr\CTEX at subsection@afterskip\relax}%
   \endgroup
 }
@@ -8413,6 +8531,9 @@
 \keys_set:nn { ctex / part }
   {
     aftertitle  = \par ,
+%<*article|book|report>
+    hang        = false ,
+%</article|book|report>
 %<*plain>
     name        = \partname \space ,
 %<*article|book|report>
@@ -8472,6 +8593,7 @@
   {
     pagestyle   = plain ,
     aftertitle  = \par ,
+    hang        = false ,
     beforeskip  = 50 \p@ ,
     afterskip   = 40 \p@ ,
     lofskip     = 10 \p@ ,
@@ -8633,7 +8755,7 @@
 %
 % 处理 \opt{sub3section} 与 \opt{sub4section} 的格式。
 %    \begin{macrocode}
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   {
     \keys_set:nn { ctex / paragraph }
       {
@@ -8649,7 +8771,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_three
+\int_compare:nNnTF \g__ctex_section_depth_int > 3
   {
     \keys_set:nn { ctex / subparagraph }
       {
@@ -8665,7 +8787,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } }
   { \keys_set:nn { ctex / subparagraph } { indent = \parindent } }
 %    \end{macrocode}
@@ -8829,8 +8951,8 @@
 % 对 \cls{beamer} 以外的文档类,若用户未设置宏包选项 \opt{zihao},则设置 \tn{normalsize}
 % 为五号字。\cls{beamer} 不调整默认字体大小。
 %    \begin{macrocode}
-\int_compare:nNnF \g_@@_font_size_flag > { -1 }
-  { \cs_gset_eq:NN \g_@@_font_size_flag \c_zero }
+\int_compare:nNnF \g_@@_font_size_int > { -1 }
+  { \int_gset:Nn \g_@@_font_size_int { 0 } }
 %    \end{macrocode}
 %
 % \changes{v2.4.1}{2016/05/09}{\cls{beamer} 不调整默认行距。}
@@ -8866,8 +8988,8 @@
     \str_if_eq:onTF { \l_@@_encoding_tl } { GBK }
       { \ctex_file_input:n { ctex-name-gbk.cfg } }
       { \ctex_file_input:n { ctex-name-utf8.cfg } }
-    \int_compare:nNnF \g_@@_font_size_flag > { -1 }
-      { \cs_gset_eq:NN \g_@@_font_size_flag \c_zero }
+    \int_compare:nNnF \g_@@_font_size_int > { -1 }
+      { \int_gset:Nn \g_@@_font_size_int { 0 } }
     \fp_compare:nNnT { \l_@@_line_spread_fp } ? { \c_zero_fp }
       { \fp_set:Nn \l_@@_line_spread_fp { 1.3 } }
 %    \end{macrocode}
@@ -8938,7 +9060,7 @@
         \prop_gput:Nnn \exp_not:N \c_@@_font_size_prop {#1}
           {
             { \dim_to_decimal:n {#2} }
-            { \dim_to_decimal:n { (#2) * \c_six / \c_five } }
+            { \dim_to_decimal:n { (#2) * 6 / 5 } }
           }
       }
     \seq_gput_right:Nn \c_@@_font_size_seq {#1}
@@ -9031,7 +9153,7 @@
 % \end{macro}
 %
 %    \begin{macrocode}
-\if_case:w \g_@@_font_size_flag
+\if_case:w \g_@@_font_size_int
   \ctex_file_input:n { ctex-c5size.clo }
 \or:
   \ctex_file_input:n { ctex-cs4size.clo }
@@ -9271,7 +9393,7 @@
       {
         \ctex_if_preamble:TF
           {
-            \str_if_eq_x:nnTF {#1} { none }
+            \str_if_eq:eeTF {#1} { none }
               { \msg_warning:nnn { ctex } { invalid-value } {#1} }
               {
                 \str_if_eq:onTF { \g_@@_fontset_tl } { none }
@@ -9339,6 +9461,8 @@
 %
 % \subsubsection{传统定义方式}
 %
+% \changes{v2.4.15}{2019/04/05}{将 \texttt{JY2} 和 \texttt{JT2} 编码的字体定义提取到单独的文件中。}
+%
 %    \begin{macrocode}
 %<*c19|c70>
 %%
@@ -9362,17 +9486,15 @@
 %    \end{macrocode}
 %
 % \changes{v2.4}{2016/04/25}{提供 \upLaTeX{} 的 NFSS 字体定义。}
-% \upTeX{} 使用的字体族。\upLaTeX 在 NFSS 下使用字体编码 |JY2| 和 |JT2| 来分别
+% \upLaTeX{} 使用的字体族。\upLaTeX 在 NFSS 下使用字体编码 |JY2| 和 |JT2| 来分别
 % 表示横排与直排的日文。
 %    \begin{macrocode}
-%<*uptex|aptex>
-\DeclareKanjiFamily{JY2}{rm}{}
-\DeclareKanjiFamily{JY2}{sf}{}
-\DeclareKanjiFamily{JY2}{tt}{}
-\DeclareKanjiFamily{JT2}{rm}{}
-\DeclareKanjiFamily{JT2}{sf}{}
-\DeclareKanjiFamily{JT2}{tt}{}
-%</uptex|aptex>
+%<rm&jy2>\DeclareKanjiFamily{JY2}{zhrm}{}
+%<rm&jt2>\DeclareKanjiFamily{JT2}{zhrm}{}
+%<sf&jy2>\DeclareKanjiFamily{JY2}{zhsf}{}
+%<sf&jt2>\DeclareKanjiFamily{JT2}{zhsf}{}
+%<tt&jy2>\DeclareKanjiFamily{JY2}{zhtt}{}
+%<tt&jt2>\DeclareKanjiFamily{JT2}{zhtt}{}
 %    \end{macrocode}
 %
 %
@@ -9400,15 +9522,17 @@
 \DeclareFontShape{C70}{rm}{b}{it}{<-> CJKb * unikai}{\CJKbold}
 \DeclareFontShape{C70}{rm}{bx}{it}{<-> CJKb * unikai}{\CJKbold}
 %</c70>
+%<*jy2>
+\DeclareFontShape{JY2}{zhrm}{m}{n}{<-> upzhserif-h}{}
+\DeclareFontShape{JY2}{zhrm}{m}{it}{<-> upzhserifit-h}{}
+\DeclareFontShape{JY2}{zhrm}{bx}{n}{<-> upzhserifb-h}{}
+%</jy2>
+%<*jt2>
+\DeclareFontShape{JT2}{zhrm}{m}{n}{<-> upzhserif-v}{}
+\DeclareFontShape{JT2}{zhrm}{m}{it}{<-> upzhserifit-v}{}
+\DeclareFontShape{JT2}{zhrm}{bx}{n}{<-> upzhserifb-v}{}
+%</jt2>
 %</rm>
-%<*uptex|aptex>
-\DeclareFontShape{JY2}{rm}{m}{n}{<-> upzhserif-h}{}
-\DeclareFontShape{JY2}{rm}{m}{it}{<-> upzhserifit-h}{}
-\DeclareFontShape{JY2}{rm}{bx}{n}{<-> upzhserifb-h}{}
-\DeclareFontShape{JT2}{rm}{m}{n}{<-> upzhserif-v}{}
-\DeclareFontShape{JT2}{rm}{m}{it}{<-> upzhserifit-v}{}
-\DeclareFontShape{JT2}{rm}{bx}{n}{<-> upzhserifb-v}{}
-%</uptex|aptex>
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -9435,13 +9559,15 @@
 \DeclareFontShape{C70}{sf}{b}{it}{<-> CJKb * uniyou}{\CJKbold}
 \DeclareFontShape{C70}{sf}{bx}{it}{<-> CJKb * uniyou}{\CJKbold}
 %</c70>
+%<*jy2>
+\DeclareFontShape{JY2}{zhsf}{m}{n}{<-> upzhsans-h}{}
+\DeclareFontShape{JY2}{zhsf}{bx}{n}{<-> upzhsansb-h}{}
+%</jy2>
+%<*jt2>
+\DeclareFontShape{JT2}{zhsf}{m}{n}{<-> upzhsans-v}{}
+\DeclareFontShape{JT2}{zhsf}{bx}{n}{<-> upzhsansb-v}{}
+%</jt2>
 %</sf>
-%<*uptex|aptex>
-\DeclareFontShape{JY2}{sf}{m}{n}{<-> upzhsans-h}{}
-\DeclareFontShape{JY2}{sf}{bx}{n}{<-> upzhsansb-h}{}
-\DeclareFontShape{JT2}{sf}{m}{n}{<-> upzhsans-v}{}
-\DeclareFontShape{JT2}{sf}{bx}{n}{<-> upzhsansb-v}{}
-%</uptex|aptex>
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -9468,11 +9594,13 @@
 \DeclareFontShape{C70}{tt}{b}{it}{<-> CJKb * unifs}{\CJKbold}
 \DeclareFontShape{C70}{tt}{bx}{it}{<-> CJKb * unifs}{\CJKbold}
 %</c70>
+%<*jy2>
+\DeclareFontShape{JY2}{zhtt}{m}{n}{<-> upzhmono-h}{}
+%</jy2>
+%<*jt2>
+\DeclareFontShape{JT2}{zhtt}{m}{n}{<-> upzhmono-v}{}
+%</jt2>
 %</tt>
-%<*uptex|aptex>
-\DeclareFontShape{JY2}{tt}{m}{n}{<-> upzhmono-h}{}
-\DeclareFontShape{JT2}{tt}{m}{n}{<-> upzhmono-v}{}
-%</uptex|aptex>
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -9774,7 +9902,7 @@
 %</fandol>
 %    \end{macrocode}
 %
-% \subsubsection{\pkg{ctex-fontset-mac.def}}
+% \subsubsection{\pkg{ctex-fontset-mac.def} 等}
 % \changes{v2.4.14}{2018/05/01}{区分 \texttt{macold} 及 \texttt{macnew}。}
 %
 % 按 \href{https://github.com/CTeX-org/ctex-kit/issues/351}{Issue 351}
@@ -9781,6 +9909,7 @@
 % 的讨论,以 El Capitan 为分界,分别设置 |macold|(El Capitan 之前)
 % 和 |macnew|(El Capitan 及之后)。检测方式则以 El Capitan 及之后
 % 的苹方字体为准。
+%
 %    \begin{macrocode}
 %<*mac>
 \file_if_exist:nTF { /System/Library/Fonts/PingFang.ttc }
@@ -9789,47 +9918,10 @@
 %</mac>
 %    \end{macrocode}
 %
-% \subsubsection{\pkg{ctex-fontset-macold.def}}
+% |macold| 的设置参考了 ^^A
+% \href{https://github.com/CTeX-org/ctex-kit/wiki/OS-X-Mavericks-(10.9)-\%E9\%A2\%84\%E8\%A3\%85\%E7\%9A\%84\%E4\%B8\%BB\%E8\%A6\%81\%E7\%AE\%80\%E4\%BD\%93\%E4\%B8\%AD\%E6\%96\%87\%E5\%AD\%97\%E4\%BD\%93}^^A
+% {OS X Mavericks (10.9) 预装的主要简体中文字体列表}。
 %
-% OS X Mavericks (10.9) 预装的主要简体中文字体如下^^A
-% \footnote{\url{http://support.apple.com/kb/HT5944}}:
-% \begin{verbatim}
-%   /Library/Fonts/Baoli.ttc: 报隶-简,Baoli SC:style=Regular
-%   /Library/Fonts/Hannotate.ttc: 手札体-简,Hannotate SC:style=Bold
-%   /Library/Fonts/Hannotate.ttc: 手札体-简,Hannotate SC:style=Regular
-%   /Library/Fonts/Hanzipen.ttc: 翩翩体-简,HanziPen SC:style=Bold
-%   /Library/Fonts/Hanzipen.ttc: 翩翩体-简,HanziPen SC:style=Regular
-%   /Library/Fonts/Hei.ttf: Hei
-%   /Library/Fonts/Hiragino Sans GB W3.otf: 冬青黑体简体中文 W3,Hiragino Sans GB W3
-%   /Library/Fonts/Hiragino Sans GB W6.otf: 冬青黑体简体中文 W6,Hiragino Sans GB W6
-%   /Library/Fonts/Kai.ttf: Kai
-%   /Library/Fonts/Kaiti.ttc: STKaiti
-%   /Library/Fonts/Kaiti.ttc: 楷体-简,Kaiti SC:style=Black
-%   /Library/Fonts/Kaiti.ttc: 楷体-简,Kaiti SC:style=Bold
-%   /Library/Fonts/Kaiti.ttc: 楷体-简,Kaiti SC:style=Regular
-%   /Library/Fonts/Lantinghei.ttc: 兰亭黑-简,Lantinghei SC:style=Demibold
-%   /Library/Fonts/Lantinghei.ttc: 兰亭黑-简,Lantinghei SC:style=Heavy
-%   /Library/Fonts/Lantinghei.ttc: 兰亭黑-简,Lantinghei SC:style=Extralight
-%   /Library/Fonts/Libian.ttc: 隶变-简,Libian SC
-%   /Library/Fonts/Songti.ttc: STSong
-%   /Library/Fonts/Songti.ttc: 宋体-简,Songti SC:style=Black
-%   /Library/Fonts/Songti.ttc: 宋体-简,Songti SC:style=Bold
-%   /Library/Fonts/Songti.ttc: 宋体-简,Songti SC:style=Light
-%   /Library/Fonts/Songti.ttc: 宋体-简,Songti SC:style=Regular
-%   /Library/Fonts/WawaSC-Regular.otf: 娃娃体-简,Wawati SC
-%   /Library/Fonts/WeibeiSC-Bold.otf: 魏碑-简,Weibei SC
-%   /Library/Fonts/Xingkai.ttc: 行楷-简,Xingkai SC:style=Bold
-%   /Library/Fonts/Xingkai.ttc: 行楷-简,Xingkai SC:style=Light
-%   /Library/Fonts/Yuanti.ttc: 圆体-简,Yuanti SC:style=Bold
-%   /Library/Fonts/Yuanti.ttc: 圆体-简,Yuanti SC:style=Light
-%   /Library/Fonts/Yuanti.ttc: 圆体-简,Yuanti SC:style=Regular
-%   /Library/Fonts/YuppySC-Regular.otf: 雅痞-简,Yuppy SC
-%   /Library/Fonts/华文仿宋.ttf: STFangsong
-%   /Library/Fonts/华文细黑.ttf: STHeiti:style=Light
-%   /Library/Fonts/华文黑体.ttf: STHeiti:style=Regular
-%   /System/Library/Fonts/STHeiti Light.ttc: 黑体-简,Heiti SC:style=Light
-%   /System/Library/Fonts/STHeiti Medium.ttc: 黑体-简,Heiti SC:style=Medium
-% \end{verbatim}
 % 在 \dvipdfmx{} 下,可以通过下述方式使用华文宋体和华文楷体:
 % \begin{verbatim}
 %   \special{pdf:mapline unisong at Unicode@ unicode :4:Songti.ttc}
@@ -9858,34 +9950,18 @@
 % 这确认为 \dvipdfmx{} 的 bug^^A
 % \begingroup\makeatletter\@makeother\#\@firstofone{\endgroup
 % \footnote{\url{https://github.com/clerkma/ptex-ng/blob/master/texk/libdpx/cidtype2.c#L597}}}。
-%    \begin{macrocode}
-%<*macold>
-\sys_if_engine_pdftex:TF
-  { \ctex_fontset_error:n { mac } }
-  {
-    \sys_if_engine_uptex:TF
-      { \ctex_fontset_error:n { mac } }
-      {
-        \setCJKmainfont [ BoldFont = STHeiti , ItalicFont = STKaiti ]  { STSong }
-        \setCJKsansfont [ BoldFont = STHeiti ] { STXihei }
-        \setCJKmonofont { STFangsong }
-        \setCJKfamilyfont { zhsong } { STSong }
-        \setCJKfamilyfont { zhhei }  { STHeiti }
-        \setCJKfamilyfont { zhfs }   { STFangsong }
-        \setCJKfamilyfont { zhkai }  { STKaiti }
-      }
-  }
-%</macold>
-%    \end{macrocode}
 %
-% \subsubsection{\pkg{ctex-fontset-macnew.def}}
 % \changes{v2.4.14}{2018/05/01}{配置 \texttt{macnew} 的默认字体设置。}
 %
 % |macnew| 在默认字体设置方面,引入了多字重的宋体作为罗马字族,
 % 以及引入了苹方黑体作为无衬线字族。
 %
+% 由于 Songti SC Light 的字重与 STSong 及 Windows 上的 SimSun 更接近,故默认字重
+% 使用 Songti SC Light,而不带后缀的正常字重事实上没有使用。下方关于 |zhsong| 的字族
+% 设置也有同样的情况。
+%
 %    \begin{macrocode}
-%<*macnew>
+%<*macold|macnew>
 \sys_if_engine_pdftex:TF
   { \ctex_fontset_error:n { mac } }
   {
@@ -9892,32 +9968,49 @@
     \sys_if_engine_uptex:TF
       { \ctex_fontset_error:n { mac } }
       {
+%<*macold>
+        \setCJKmainfont [ BoldFont = STHeiti , ItalicFont = STKaiti ] { STSong }
+        \setCJKsansfont [ BoldFont = STHeiti ] { STXihei }
+%</macold>
+%<*macnew>
         \setCJKmainfont
           [
-               UprightFont = Songti~SC~Light,
-                ItalicFont = Kaiti~SC,
+               UprightFont = *~Light ,
+                  BoldFont = *~Bold ,
+                ItalicFont = Kaiti~SC ,
             BoldItalicFont = Kaiti~SC~Bold
           ] { Songti~SC }
         \setCJKsansfont { PingFang~SC }
+%</macnew>
         \setCJKmonofont { STFangsong }
+%<*macold>
+        \setCJKfamilyfont { zhsong } { STSong }
+        \setCJKfamilyfont { zhhei }  { STHeiti }
+%</macold>
+%<*macnew>
         \setCJKfamilyfont { zhsong }
           [
-               UprightFont = Songti~SC~Light,
+               UprightFont = *~Light ,
+                  BoldFont = *~Bold ,
           ] { Songti~SC }
         \setCJKfamilyfont { zhhei }  { Heiti~SC }
         \setCJKfamilyfont { zhpf }   { PingFang~SC }
+%</macnew>
         \setCJKfamilyfont { zhfs }   { STFangsong }
-        \setCJKfamilyfont { zhkai }  { Kaiti~SC }
+%<macold>\setCJKfamilyfont { zhkai }  { STKaiti }
+%<macnew>\setCJKfamilyfont { zhkai }  { Kaiti~SC }
       }
   }
-%</macnew>
+%</macold|macnew>
 %    \end{macrocode}
 %
+% \subsubsection{\pkg{ctex-fontset-founder.def}}
+%
 %    \begin{macrocode}
 %<*founder>
 %    \end{macrocode}
 %
-% \subsubsection{\pkg{ctex-fontset-founder.def}}
+% \changes{v2.4.15}{2019/03/28}{统一“方正细黑一\_GBK”的名称为 \texttt{FZXiHeiI-Z08}。}
 %
 %    \begin{macrocode}
 \sys_if_engine_pdftex:TF
@@ -9971,18 +10064,7 @@
       {
         \setCJKmainfont
           [ BoldFont = FZXiaoBiaoSong-B05 , ItalicFont = FZKai-Z03 ] { FZShuSong-Z01 }
-%    \end{macrocode}
-%
-% 在 WPS For Linux 附带的 5.00 版和家庭版 5.20 版的“方正细黑一\_GBK”的字体名称
-% 是 |FZXiHeiI-Z08|。但在网上发现不少文档和资料都是 \verb*|FZXiHei I-Z08|,而在
-% 官方资料《2013 方正字库字体样张》中对应的英文名字是 \verb*|FZXiHei I|。可以用
-% Postscript 名字 |FZXH1K--GBK1-0| 来统一。经测试时发现(WPS 中的字体),\XeTeX{}
-% 找该字体时会出现明显的延迟,而用字体文件名 |FZXH1K.TTF| 又可能会出现大小写问题,
-% 遂采用汉字名称。由于 \pkg{luaotfload} 不支持汉字名称,故使用 Postscript 名字,
-% 速度不受影响。
-%    \begin{macrocode}
-        \setCJKsansfont [ BoldFont = FZHei-B01 ]
-          { \sys_if_engine_xetex:TF { 方正细黑一_GBK } { FZXH1K--GBK1-0 } }
+        \setCJKsansfont [ BoldFont = FZHei-B01 ] { FZXiHeiI-Z08 }
         \setCJKmonofont { FZFangSong-Z02 }
         \setCJKfamilyfont { zhsong } [ BoldFont = FZXiaoBiaoSong-B05 ] { FZShuSong-Z01 }
         \setCJKfamilyfont { zhhei }  { FZHei-B01 }
@@ -10081,8 +10163,10 @@
 \NewDocumentCommand \youyuan  { } { \CJKfamily { zhyou } }
 %</windowsnew|windowsold|founder>
 %<windowsnew>\NewDocumentCommand \yahei    { } { \CJKfamily { zhyahei } }
-%<macnew>\NewDocumentCommand \yahei    { } { \CJKfamily { zhpf } }
-%<macnew>\NewDocumentCommand \pingfang { } { \CJKfamily { zhpf } }
+%<*macnew>
+\NewDocumentCommand \yahei    { } { \CJKfamily { zhpf } }
+\NewDocumentCommand \pingfang { } { \CJKfamily { zhpf } }
+%</macnew>
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -10158,7 +10242,7 @@
 %    \begin{macrocode}
 %<*windows>
 \ProvidesFile{zhwindowsfonts.tex}%
-  [2018/05/01 v2.4.14 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2019/04/07 v2.4.15 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
 
 \ifzhmappdf
   \pdfmapline{=gbk at UGBK@     <simsun.ttc}
@@ -10230,7 +10314,7 @@
 %    \begin{macrocode}
 %<*adobe>
 \ProvidesFile{zhadobefonts.tex}%
-  [2018/05/01 v2.4.14 Adobe font map loader for DVIPDFMx (CTEX)]
+  [2019/04/07 v2.4.15 Adobe font map loader for DVIPDFMx (CTEX)]
 
 \ifzhmappdf
 %% pdfTeX does not support OTF fonts
@@ -10266,7 +10350,7 @@
 %    \begin{macrocode}
 %<*fandol>
 \ProvidesFile{zhfandolfonts.tex}%
-  [2018/05/01 v2.4.14 Fandol font map loader for DVIPDFMx (CTEX)]
+  [2019/04/07 v2.4.15 Fandol font map loader for DVIPDFMx (CTEX)]
 
 \ifzhmappdf
 %% pdfTeX does not support OTF fonts
@@ -10302,7 +10386,7 @@
 %    \begin{macrocode}
 %<*founder>
 \ProvidesFile{zhfounderfonts.tex}%
-  [2018/05/01 v2.4.14 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2019/04/07 v2.4.15 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
 
 \ifzhmappdf
   \pdfmapline{=gbk at UGBK@     <FZSSK.TTF}
@@ -10374,7 +10458,7 @@
 %    \begin{macrocode}
 %<*ubuntu>
 \ProvidesFile{zhubuntufonts.tex}%
-  [2018/05/01 v2.4.14 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2019/04/07 v2.4.15 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)]
 
 \ifzhmappdf
   \pdfmapline{=gbk at UGBK@     <uming.ttc}
@@ -10494,7 +10578,7 @@
       \l_@@_punct_font
       \clist_clear:N \l_@@_punct_bounds_clist
       \seq_map_inline:Nn \c_@@_punct_seq
-        { \exp_args:No \@@_save_bounds:n { \int_use:N \xetex_charglyph:D ##1 } }
+        { \exp_args:No \@@_save_bounds:n { \int_use:N \tex_XeTeXcharglyph:D ##1 } }
       \iow_now:Nx \g_@@_spa_iow
         {
           \token_to_str:N \ctexspadef {#1}
@@ -10509,8 +10593,8 @@
   {
     \clist_put_right:Nx \l_@@_punct_bounds_clist
       {
-        \@@_calc_bounds:nn { \c_one }   {#1} ,
-        \@@_calc_bounds:nn { \c_three } {#1}
+        \@@_calc_bounds:nn { 1 } {#1} ,
+        \@@_calc_bounds:nn { 3 } {#1}
       }
   }
 \clist_new:N \l_@@_punct_bounds_clist
@@ -10525,7 +10609,7 @@
         round
           (
             \dim_to_decimal_in_unit:nn
-              { 100 \xetex_glyphbounds:D #1 ~ #2 }
+              { 100 \tex_XeTeXglyphbounds:D #1 ~ #2 }
               { 1 em }
           )
       }
@@ -10922,7 +11006,7 @@
               {
                 \group_end:
                 \@@_parse_name:nNNNnN
-                  { \token_get_replacement_spec:N ##2 }
+                  { \cs_replacement_spec:N ##2 }
                   \exp_not:N ##2
                   \exp_not:c { ##3 ~ }
                   \exp_not:c { #1##3 }
@@ -10940,11 +11024,11 @@
                 { \x at protect ##2 \protect ##3 } { }
               }
               {
-                \str_if_eq_x:nnTF
+                \str_if_eq:eeTF
                   { \exp_not:n { #1 at protected@ ##3 #1##3 } }
                   {
                     \exp_last_unbraced:Nf \@@_parse_name:w
-                      \token_get_replacement_spec:N ##3 #3 ~ #2 \q_stop
+                      \cs_replacement_spec:N ##3 #3 ~ #2 \q_stop
                   }
                   { #1##5 ~ } { ##5 ~ }
               }
@@ -11203,7 +11287,7 @@
 \RequirePackage{unicode-math}
 \RequirePackage{xcolor}
 \RequirePackage{caption}
-\RequirePackage{fvrb-ex}
+\RequirePackage{fancyvrb-ex}
 \RequirePackage{zref-base}
 \geometry{includemp,hmargin={0mm,15mm},vmargin={25mm,15mm},footskip=7mm}
 \hypersetup{pdfstartview=FitH,bookmarksdepth=subparagraph}
@@ -11361,8 +11445,8 @@
   { \iow_term:n { *** ~ FAIL ~ *** } }
 \ctex_patch_cmd_once:NnnnTF \__codedoc_macro_dump:
   { }
-  { \hbox_unpack_clear:N }
-  { \MacroFont \hbox_unpack_clear:N }
+  { \hbox_unpack_drop:N }
+  { \MacroFont \hbox_unpack_drop:N }
   { \iow_term:n { *** ~ SUCCESS ~ *** } }
   { \iow_term:n { *** ~ FAIL ~ *** } }
 \cs_set_eq:NN \__codedoc_macro_end_style:n \use_none:n
@@ -11371,7 +11455,7 @@
     \vbox_set:Nn \l__codedoc_macro_box
       {
         \MacroFont
-        \vbox_unpack_clear:N \l__codedoc_macro_box
+        \vbox_unpack_drop:N \l__codedoc_macro_box
         \hbox_set:Nn \l_tmpa_box
           { \__codedoc_print_macroname:nN {#1} #2 }
         \dim_set:Nn \l_tmpa_dim { \marginparwidth - \labelsep }
@@ -11434,16 +11518,12 @@
 \DeclareDocumentCommand \GetFileId { m }
   {
     \GetFileInfo {#1}
-    \ior_open:NnTF \g_@@_id_ior { \c_sys_jobname_str .id }
-      {
-        \ior_get:NN \g_@@_id_ior \l_@@_tmp_tl
-        \ior_close:N \g_@@_id_ior
-        \exp_after:wN \GetIdInfo \l_@@_tmp_tl
-      }
+    \file_get:nnNTF { \c_sys_jobname_str .id }
+      { \int_set:Nn \tex_endlinechar:D { -1 } } \l_@@_tmp_tl
+      { \exp_after:wN \GetIdInfo \l_@@_tmp_tl }
       { \GetIdInfo $Id$ }
       { \fileinfo }
   }
-\ior_new:N \g_@@_id_ior
 \cs_new_eq:NN \@@_ltx_changes:nnn \changes@
 \cs_set_protected:Npn \changes@ #1#2
   {
@@ -11465,10 +11545,10 @@
     \int_zero:N \l_tmpa_int
     \seq_set_split:Nnn \l_tmpa_seq { . } {#1}
     \seq_map_function:NN \l_tmpa_seq \@@_version_zfill:n
-    \int_compare:nNnF \l_tmpa_int > \c_two
+    \int_compare:nNnF \l_tmpa_int > 2
       {
         \tl_put_right:Nx \l_@@_tmp_tl
-          { \prg_replicate:nn { \c_three - \l_tmpa_int } { 00000 } }
+          { \prg_replicate:nn { 3 - \l_tmpa_int } { 00000 } }
       }
     \@@_ltx_changes:nnn { \l_@@_tmp_tl \actualchar #2 }
   }
@@ -11631,7 +11711,7 @@
 \tl_new:N \g_@@_verbatim_verb_stop_tl
 \cs_new_protected_nopar:Npn \@@_process_normal_line:
   {
-    \str_if_eq_x:nnTF
+    \str_if_eq:eeTF
       { \str_head:N \l_@@_verbatim_line_tl } { \c_percent_str }
       { \@@_check_angle:x { \tl_tail:N \l_@@_verbatim_line_tl } }
       { \@@_output_line: }
@@ -11658,7 +11738,7 @@
   { \cs_set_eq:NN \@@_verbatim_process_line: \@@_output_line: }
 \cs_new_protected:Npn \@@_check_angle:n #1
   {
-     \str_if_eq_x:nnTF { \str_head:n {#1} } { < }
+     \str_if_eq:eeTF { \str_head:n {#1} } { < }
       { \@@_check_module:x { \tl_tail:n {#1} } }
       { \@@_output_percent_line: }
   }
@@ -11755,7 +11835,7 @@
     \tl_if_eq:NNTF \l_@@_verbatim_line_tl \c_@@_active_cr_tl
       { \tl_use:N \l_@@_verbatim_line_tl }
       {
-        \str_if_eq_x:nnTF
+        \str_if_eq:eeTF
           { \str_head:N \l_@@_verbatim_line_tl }
           { \c_percent_str }
           { \@@_output_percent_line: }
@@ -11768,7 +11848,7 @@
     \group_begin:
       \color { code at gray }
       \@@_swap_cr:
-      \str_if_eq_x:nnTF { \f at shape } { \updefault }
+      \str_if_eq:eeTF { \f at shape } { \updefault }
         { \slshape }
         { \upshape }
       \@@_output_line:

Modified: trunk/Master/texmf-dist/source/latex/ctex/ctex.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/ctex/ctex.ins	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/source/latex/ctex/ctex.ins	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `install')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -31,7 +31,7 @@
 
 \preamble
 
-    Copyright (C) 2003--2018
+    Copyright (C) 2003--2019
     CTEX.ORG and any individual authors listed in the documentation.
 ------------------------------------------------------------------------------
 
@@ -99,6 +99,12 @@
                                        c70rm.fd,
                                        c70sf.fd,
                                        c70tt.fd,
+                                       jy2zhrm.fd,
+                                       jy2zhsf.fd,
+                                       jy2zhtt.fd,
+                                       jt2zhrm.fd,
+                                       jt2zhsf.fd,
+                                       jt2zhtt.fd,
                                        ctex-fontset-windows.def,
                                        ctex-fontset-windowsnew.def,
                                        ctex-fontset-windowsold.def,
@@ -164,12 +170,18 @@
     \file{ctex-engine-luatex.def}          {\from{\jobname.dtx}{luatex}}
     \file{ctex-engine-aptex.def}           {\from{\jobname.dtx}{aptex}}
     \file{ctex-engine-uptex.def}           {\from{\jobname.dtx}{uptex}}
-    \file{c19rm.fd}                        {\from{\jobname.dtx}{rm,c19}}
-    \file{c19sf.fd}                        {\from{\jobname.dtx}{sf,c19}}
-    \file{c19tt.fd}                        {\from{\jobname.dtx}{tt,c19}}
-    \file{c70rm.fd}                        {\from{\jobname.dtx}{rm,c70}}
-    \file{c70sf.fd}                        {\from{\jobname.dtx}{sf,c70}}
-    \file{c70tt.fd}                        {\from{\jobname.dtx}{tt,c70}}
+    \file{c19rm.fd}                        {\from{\jobname.dtx}{fd,rm,c19}}
+    \file{c19sf.fd}                        {\from{\jobname.dtx}{fd,sf,c19}}
+    \file{c19tt.fd}                        {\from{\jobname.dtx}{fd,tt,c19}}
+    \file{c70rm.fd}                        {\from{\jobname.dtx}{fd,rm,c70}}
+    \file{c70sf.fd}                        {\from{\jobname.dtx}{fd,sf,c70}}
+    \file{c70tt.fd}                        {\from{\jobname.dtx}{fd,tt,c70}}
+    \file{jy2zhrm.fd}                      {\from{\jobname.dtx}{fd,rm,jy2}}
+    \file{jy2zhsf.fd}                      {\from{\jobname.dtx}{fd,sf,jy2}}
+    \file{jy2zhtt.fd}                      {\from{\jobname.dtx}{fd,tt,jy2}}
+    \file{jt2zhrm.fd}                      {\from{\jobname.dtx}{fd,rm,jt2}}
+    \file{jt2zhsf.fd}                      {\from{\jobname.dtx}{fd,sf,jt2}}
+    \file{jt2zhtt.fd}                      {\from{\jobname.dtx}{fd,tt,jt2}}
     \file{ctex-fontset-windows.def}        {\from{\jobname.dtx}{fontset,windows}}
     \file{ctex-fontset-windowsnew.def}     {\from{\jobname.dtx}{fontset,windowsnew}}
     \file{ctex-fontset-windowsold.def}     {\from{\jobname.dtx}{fontset,windowsold}}
@@ -254,6 +266,12 @@
 \Msg{*     c70rm.fd                                              *}
 \Msg{*     c70sf.fd                                              *}
 \Msg{*     c70tt.fd                                              *}
+\Msg{*     jy2zhrm.fd                                            *}
+\Msg{*     jy2zhsf.fd                                            *}
+\Msg{*     jy2zhtt.fd                                            *}
+\Msg{*     jt2zhrm.fd                                            *}
+\Msg{*     jt2zhsf.fd                                            *}
+\Msg{*     jt2zhtt.fd                                            *}
 \Msg{*     ctex-fontset-windows.def                              *}
 \Msg{*     ctex-fontset-windowsnew.def                           *}
 \Msg{*     ctex-fontset-windowsold.def                           *}

Modified: trunk/Master/texmf-dist/tex/generic/ctex/ctexmakespa.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/ctexmakespa.tex	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/generic/ctex/ctexmakespa.tex	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `spa,make')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 

Modified: trunk/Master/texmf-dist/tex/generic/ctex/ctexspamacro.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/ctexspamacro.tex	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/generic/ctex/ctexspamacro.tex	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `spa,macro')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -58,7 +58,7 @@
       \l__ctex_punct_font
       \clist_clear:N \l__ctex_punct_bounds_clist
       \seq_map_inline:Nn \c__ctex_punct_seq
-        { \exp_args:No \__ctex_save_bounds:n { \int_use:N \xetex_charglyph:D ##1 } }
+        { \exp_args:No \__ctex_save_bounds:n { \int_use:N \tex_XeTeXcharglyph:D ##1 } }
       \iow_now:Nx \g__ctex_spa_iow
         {
           \token_to_str:N \ctexspadef {#1}
@@ -70,8 +70,8 @@
   {
     \clist_put_right:Nx \l__ctex_punct_bounds_clist
       {
-        \__ctex_calc_bounds:nn { \c_one }   {#1} ,
-        \__ctex_calc_bounds:nn { \c_three } {#1}
+        \__ctex_calc_bounds:nn { 1 } {#1} ,
+        \__ctex_calc_bounds:nn { 3 } {#1}
       }
   }
 \clist_new:N \l__ctex_punct_bounds_clist
@@ -82,7 +82,7 @@
         round
           (
             \dim_to_decimal_in_unit:nn
-              { 100 \xetex_glyphbounds:D #1 ~ #2 }
+              { 100 \tex_XeTeXglyphbounds:D #1 ~ #2 }
               { 1 em }
           )
       }

Modified: trunk/Master/texmf-dist/tex/generic/ctex/ctxdocstrip.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/ctxdocstrip.tex	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/generic/ctex/ctxdocstrip.tex	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `docstrip')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhadobefonts.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhadobefonts.tex	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhadobefonts.tex	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `zhmap,adobe')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -76,7 +76,7 @@
 \fi
 \endgroup
 \ProvidesFile{zhadobefonts.tex}%
-  [2018/05/01 v2.4.14 Adobe font map loader for DVIPDFMx (CTEX)]
+  [2019/04/07 v2.4.15 Adobe font map loader for DVIPDFMx (CTEX)]
 
 \ifzhmappdf
 %% pdfTeX does not support OTF fonts

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhfandolfonts.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhfandolfonts.tex	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhfandolfonts.tex	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `zhmap,fandol')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -76,7 +76,7 @@
 \fi
 \endgroup
 \ProvidesFile{zhfandolfonts.tex}%
-  [2018/05/01 v2.4.14 Fandol font map loader for DVIPDFMx (CTEX)]
+  [2019/04/07 v2.4.15 Fandol font map loader for DVIPDFMx (CTEX)]
 
 \ifzhmappdf
 %% pdfTeX does not support OTF fonts

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhfounderfonts.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhfounderfonts.tex	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhfounderfonts.tex	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `zhmap,founder')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -76,7 +76,7 @@
 \fi
 \endgroup
 \ProvidesFile{zhfounderfonts.tex}%
-  [2018/05/01 v2.4.14 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2019/04/07 v2.4.15 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
 
 \ifzhmappdf
   \pdfmapline{=gbk at UGBK@     <FZSSK.TTF}

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhubuntufonts.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhubuntufonts.tex	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhubuntufonts.tex	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `zhmap,ubuntu')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -76,7 +76,7 @@
 \fi
 \endgroup
 \ProvidesFile{zhubuntufonts.tex}%
-  [2018/05/01 v2.4.14 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2019/04/07 v2.4.15 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)]
 
 \ifzhmappdf
   \pdfmapline{=gbk at UGBK@     <uming.ttc}

Modified: trunk/Master/texmf-dist/tex/generic/ctex/zhwindowsfonts.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/ctex/zhwindowsfonts.tex	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/generic/ctex/zhwindowsfonts.tex	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `zhmap,windows')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -76,7 +76,7 @@
 \fi
 \endgroup
 \ProvidesFile{zhwindowsfonts.tex}%
-  [2018/05/01 v2.4.14 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
+  [2019/04/07 v2.4.15 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
 
 \ifzhmappdf
   \pdfmapline{=gbk 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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/config/ctex-name-gbk.cfg	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `name,GBK')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Caption with encoding GBK (CTEX)}
 \ProvidesExplFile{ctex-name-gbk.cfg}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `name,UTF8')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Caption with encoding UTF8 (CTEX)}
 \ProvidesExplFile{ctex-name-utf8.cfg}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/config/ctex.cfg	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `config')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Configuration file (CTEX)}
 \ProvidesExplFile{\ExplFileName.cfg}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 %%
 %% 
 %%

Modified: trunk/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `ctexopts')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Option configuration file (CTEX)}
 \ProvidesExplFile{ctexopts.cfg}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 %%
 %% \keys_set:nn { ctex / option } { fontset = windowsnew }
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctex-article.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctex-article.def	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctex-article.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `heading,article')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Heading modification for article (CTEX)}
 \ProvidesExplFile{ctex-article.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \seq_const_from_clist:Nn \c__ctex_section_headings_seq
   { section , subsection , subsubsection , paragraph , subparagraph }
 \seq_new:N \c__ctex_headings_seq
@@ -112,7 +112,7 @@
       { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } }
   }
 \NewDocumentCommand \ctex_assign_heading_name:nn
-  { m > { \SplitArgument { \c_one } { , } } +m }
+  { m > { \SplitArgument { 1 } { , } } +m }
   { \__ctex_assign_heading_name:nnn {#1} #2 }
 \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3
   {
@@ -180,10 +180,9 @@
   \fi
   \CTEX at addtocline{part}{#1}%
   {\interlinepenalty \@M
-   \normalfont \parindent \dimexpr \CTEX at part@indent \relax \CTEX at part@format
-   \ifnum \c at secnumdepth >\m at ne \ifodd \CTEX at part@numbering
-     \CTEX at partname \CTEX at part@aftername
-   \fi \fi
+   \normalfont \CTEX at part@format
+   \CTEX at hangindent{part}%
+     {\CTEXifname{\CTEX at partname\CTEX at part@aftername}{}}%
    \CTEX at part@titleformat{#2}%
    \partmark{#1}%
    \CTEX at part@aftertitle}%
@@ -196,8 +195,8 @@
     \CTEX at ifnamefalse
     \CTEX at makeanchor@spart{part*}%
     {\interlinepenalty \@M
-     \normalfont \parindent \dimexpr \CTEX at part@indent \relax
-     \CTEX at part@format
+     \normalfont \CTEX at part@format
+     \CTEX at hangindent{part}{}%
      \CTEX at part@titleformat{#1}%
      \CTEX at part@aftertitle}%
      \nobreak
@@ -303,6 +302,21 @@
       \fi}%
   \fi
   \ignorespaces}
+\cs_new_protected:Npn \CTEX at hangindent #1#2
+  {
+    \bool_if:cTF { CTEX@#1 at hang }
+      { \@hangfrom }
+      { \noindent \use:n }
+      { \__ctex_indent_aux:n {#1} #2 }
+  }
+\cs_new_protected:Npn \__ctex_indent_aux:n #1
+  {
+    \group_begin:
+      \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1 at indent } }
+      \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim
+        { \skip_horizontal:N \l__ctex_heading_skip }
+    \group_end:
+  }
 \cs_new_protected_nopar:Npn \CTEX at hangfrom
   {
     \bool_if:NTF \CTEX at hang
@@ -312,11 +326,11 @@
 \cs_new_protected_nopar:Npn \CTEX at update@sectionformat at n #1
   {
     \cs_set_eq:Nc \CTEX at titleformat@n { CTEX@#1 at titleformat }
-    \cs_set_eq:Nc \CTEX at aftertitle { CTEX@#1 at aftertitle }
-    \cs_set_eq:Nc \CTEX at afterindent { CTEX@#1 at afterindent }
-    \cs_set_eq:Nc \CTEX at fixskip { CTEX@#1 at fixskip }
-    \cs_set_eq:Nc \CTEX at hang { CTEX@#1 at hang }
-    \cs_set_eq:Nc \CTEX at runin { CTEX@#1 at runin }
+    \cs_set_eq:Nc \CTEX at aftertitle    { CTEX@#1 at aftertitle }
+    \cs_set_eq:Nc \CTEX at afterindent   { CTEX@#1 at afterindent }
+    \cs_set_eq:Nc \CTEX at fixskip       { CTEX@#1 at fixskip }
+    \cs_set_eq:Nc \CTEX at hang          { CTEX@#1 at hang }
+    \cs_set_eq:Nc \CTEX at runin         { CTEX@#1 at runin }
   }
 \cs_new_eq:NN \CTEX at titleformat@n \use:n
 \cs_new_eq:NN \CTEX at aftertitle \prg_do_nothing:
@@ -559,7 +573,7 @@
     \dim_set:Nn \@tempdima
       {
         \dim_max:nn { \@tempdima }
-          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / \c_two }
+          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / 2 }
       }
   }
 \group_begin:

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctex-beamer.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctex-beamer.def	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctex-beamer.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `heading,beamer')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Heading modification for beamer (CTEX)}
 \ProvidesExplFile{ctex-beamer.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \seq_const_from_clist:Nn \c__ctex_headings_seq
   { part , section , subsection }
 \cs_new_protected_nopar:Npn \__ctex_initial_heading:n #1
@@ -98,7 +98,7 @@
       { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } }
   }
 \NewDocumentCommand \ctex_assign_heading_name:nn
-  { m > { \SplitArgument { \c_one } { , } } +m }
+  { m > { \SplitArgument { 1 } { , } } +m }
   { \__ctex_assign_heading_name:nnn {#1} #2 }
 \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3
   {
@@ -120,45 +120,48 @@
     \keys_define:nn { ctex } { \exp_not:o { \l__ctex_tmp_tl } }
   }
 \ExplSyntaxOff
-\defbeamertemplate*{part page}{CTEX}[1][]{
+\defbeamertemplate*{part page}{CTEX}[1][]{%
   \begingroup
+    \ctexset{autoindent=false}%
     \par \addvspace{\glueexpr\CTEX at part@beforeskip\relax}%
+    \CTEX at part@format
     \parindent \dimexpr \CTEX at part@indent \relax
-    \CTEX at part@format
     \ifodd \CTEX at part@numbering
       \CTEX at partname \CTEX at part@aftername
     \fi
     \begin{beamercolorbox}[sep=16pt,center,#1]{part title}
       \CTEX at part@titleformat \insertpart \CTEX at part@aftertitle
-    \end{beamercolorbox}
+    \end{beamercolorbox}%
     \par \addvspace{\glueexpr\CTEX at part@afterskip\relax}%
   \endgroup
 }
-\defbeamertemplate*{section page}{CTEX}[1][]{
+\defbeamertemplate*{section page}{CTEX}[1][]{%
   \begingroup
+    \ctexset{autoindent=false}%
     \par \addvspace{\glueexpr\CTEX at section@beforeskip\relax}%
+    \CTEX at section@format
     \parindent \dimexpr \CTEX at section@indent \relax
-    \CTEX at section@format
     \ifodd \CTEX at section@numbering
       \CTEX at sectionname \CTEX at section@aftername
     \fi
     \begin{beamercolorbox}[sep=12pt,center,#1]{part title}
       \CTEX at section@titleformat \insertsection \CTEX at section@aftertitle
-    \end{beamercolorbox}
+    \end{beamercolorbox}%
     \par \addvspace{\glueexpr\CTEX at section@afterskip\relax}%
   \endgroup
 }
-\defbeamertemplate*{subsection page}{CTEX}[1][]{
+\defbeamertemplate*{subsection page}{CTEX}[1][]{%
   \begingroup
+    \ctexset{autoindent=false}%
     \par \addvspace{\glueexpr\CTEX at subsection@beforeskip\relax}%
+    \CTEX at subsection@format
     \parindent \dimexpr \CTEX at subsection@indent \relax
-    \CTEX at subsection@format
     \ifodd \CTEX at subsection@numbering
       \CTEX at subsectionname \CTEX at subsection@aftername
     \fi
     \begin{beamercolorbox}[sep=8pt,center,#1]{part title}
       \CTEX at subsection@titleformat \insertsubsection \CTEX at subsection@aftertitle
-    \end{beamercolorbox}
+    \end{beamercolorbox}%
     \par \addvspace{\glueexpr\CTEX at subsection@afterskip\relax}%
   \endgroup
 }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctex-book.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctex-book.def	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctex-book.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `heading,book')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Heading modification for book (CTEX)}
 \ProvidesExplFile{ctex-book.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \seq_const_from_clist:Nn \c__ctex_section_headings_seq
   { section , subsection , subsubsection , paragraph , subparagraph }
 \seq_new:N \c__ctex_headings_seq
@@ -113,7 +113,7 @@
       { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } }
   }
 \NewDocumentCommand \ctex_assign_heading_name:nn
-  { m > { \SplitArgument { \c_one } { , } } +m }
+  { m > { \SplitArgument { 1 } { , } } +m }
   { \__ctex_assign_heading_name:nnn {#1} #2 }
 \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3
   {
@@ -214,9 +214,8 @@
    \partmark{#1}%
   {\interlinepenalty \@M
    \normalfont \CTEX at part@format
-   \ifnum \c at secnumdepth >-2\relax \ifodd \CTEX at part@numbering
-     \CTEX at partname \CTEX at part@aftername
-   \fi \fi
+   \CTEX at hangindent{part}%
+     {\CTEXifname{\CTEX at partname\CTEX at part@aftername}{}}%
    \CTEX at part@titleformat{#2}%
    \CTEX at part@aftertitle}%
   \@endpart}
@@ -225,6 +224,7 @@
     \CTEX at makeanchor@spart{part*}%
     {\interlinepenalty \@M
      \normalfont \CTEX at part@format
+     \CTEX at hangindent{part}{}%
      \CTEX at part@titleformat{#1}%
      \CTEX at part@aftertitle}%
     \@endpart}
@@ -294,10 +294,10 @@
   \CTEX at setheadingskip \CTEX at chapter@beforeskip
   \ifodd \CTEX at chapter@fixskip \CTEX at fixtopskip \fi
   \vspace*{\CTEX at headingskip}%
-  {\normalfont \parindent \dimexpr \CTEX at chapter@indent \relax
-   \CTEX at chapter@format
-   \CTEXifname{\CTEX at chaptername\CTEX at chapter@aftername}{}%
+  {\normalfont \CTEX at chapter@format
    \interlinepenalty\@M
+   \CTEX at hangindent{chapter}%
+     {\CTEXifname{\CTEX at chaptername\CTEX at chapter@aftername}{}}%
    \CTEX at chapter@titleformat{#1}%
    \CTEX at chapter@aftertitle
    \nobreak
@@ -309,10 +309,10 @@
   \CTEX at setheadingskip \CTEX at chapter@beforeskip
   \ifodd \CTEX at chapter@fixskip \CTEX at fixtopskip \fi
   \vspace*{\CTEX at headingskip}%
-  {\normalfont \parindent \dimexpr \CTEX at chapter@indent \relax
-   \CTEX at chapter@format
+  {\normalfont \CTEX at chapter@format
    \interlinepenalty\@M
-   \CTEX at chapter@titleformat{#1}
+   \CTEX at hangindent{chapter}{}%
+   \CTEX at chapter@titleformat{#1}%
    \CTEX at chapter@aftertitle
    \nobreak
    \CTEX at setheadingskip \CTEX at chapter@afterskip
@@ -417,6 +417,21 @@
       \fi}%
   \fi
   \ignorespaces}
+\cs_new_protected:Npn \CTEX at hangindent #1#2
+  {
+    \bool_if:cTF { CTEX@#1 at hang }
+      { \@hangfrom }
+      { \noindent \use:n }
+      { \__ctex_indent_aux:n {#1} #2 }
+  }
+\cs_new_protected:Npn \__ctex_indent_aux:n #1
+  {
+    \group_begin:
+      \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1 at indent } }
+      \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim
+        { \skip_horizontal:N \l__ctex_heading_skip }
+    \group_end:
+  }
 \cs_new_protected_nopar:Npn \CTEX at hangfrom
   {
     \bool_if:NTF \CTEX at hang
@@ -426,11 +441,11 @@
 \cs_new_protected_nopar:Npn \CTEX at update@sectionformat at n #1
   {
     \cs_set_eq:Nc \CTEX at titleformat@n { CTEX@#1 at titleformat }
-    \cs_set_eq:Nc \CTEX at aftertitle { CTEX@#1 at aftertitle }
-    \cs_set_eq:Nc \CTEX at afterindent { CTEX@#1 at afterindent }
-    \cs_set_eq:Nc \CTEX at fixskip { CTEX@#1 at fixskip }
-    \cs_set_eq:Nc \CTEX at hang { CTEX@#1 at hang }
-    \cs_set_eq:Nc \CTEX at runin { CTEX@#1 at runin }
+    \cs_set_eq:Nc \CTEX at aftertitle    { CTEX@#1 at aftertitle }
+    \cs_set_eq:Nc \CTEX at afterindent   { CTEX@#1 at afterindent }
+    \cs_set_eq:Nc \CTEX at fixskip       { CTEX@#1 at fixskip }
+    \cs_set_eq:Nc \CTEX at hang          { CTEX@#1 at hang }
+    \cs_set_eq:Nc \CTEX at runin         { CTEX@#1 at runin }
   }
 \cs_new_eq:NN \CTEX at titleformat@n \use:n
 \cs_new_eq:NN \CTEX at aftertitle \prg_do_nothing:
@@ -681,7 +696,7 @@
     \dim_set:Nn \@tempdima
       {
         \dim_max:nn { \@tempdima }
-          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / \c_two }
+          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / 2 }
       }
   }
 \group_begin:

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `c5size')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {c5size option (CTEX)}
 \ProvidesExplFile{ctex-c5size.clo}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctex-cs4size.clo	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `cs4size')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {cs4size option (CTEX)}
 \ProvidesExplFile{ctex-cs4size.clo}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \ctex_set_font_size:Nnn \normalsize { -4 }
   {
     \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctex-report.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctex-report.def	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctex-report.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `heading,report')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Heading modification for report (CTEX)}
 \ProvidesExplFile{ctex-report.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \seq_const_from_clist:Nn \c__ctex_section_headings_seq
   { section , subsection , subsubsection , paragraph , subparagraph }
 \seq_new:N \c__ctex_headings_seq
@@ -113,7 +113,7 @@
       { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } }
   }
 \NewDocumentCommand \ctex_assign_heading_name:nn
-  { m > { \SplitArgument { \c_one } { , } } +m }
+  { m > { \SplitArgument { 1 } { , } } +m }
   { \__ctex_assign_heading_name:nnn {#1} #2 }
 \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3
   {
@@ -214,9 +214,8 @@
    \partmark{#1}%
   {\interlinepenalty \@M
    \normalfont \CTEX at part@format
-   \ifnum \c at secnumdepth >-2\relax \ifodd \CTEX at part@numbering
-     \CTEX at partname \CTEX at part@aftername
-   \fi \fi
+   \CTEX at hangindent{part}%
+     {\CTEXifname{\CTEX at partname\CTEX at part@aftername}{}}%
    \CTEX at part@titleformat{#2}%
    \CTEX at part@aftertitle}%
   \@endpart}
@@ -225,6 +224,7 @@
     \CTEX at makeanchor@spart{part*}%
     {\interlinepenalty \@M
      \normalfont \CTEX at part@format
+     \CTEX at hangindent{part}{}%
      \CTEX at part@titleformat{#1}%
      \CTEX at part@aftertitle}%
     \@endpart}
@@ -289,10 +289,10 @@
   \CTEX at setheadingskip \CTEX at chapter@beforeskip
   \ifodd \CTEX at chapter@fixskip \CTEX at fixtopskip \fi
   \vspace*{\CTEX at headingskip}%
-  {\normalfont \parindent \dimexpr \CTEX at chapter@indent \relax
-   \CTEX at chapter@format
-   \CTEXifname{\CTEX at chaptername\CTEX at chapter@aftername}{}%
+  {\normalfont \CTEX at chapter@format
    \interlinepenalty\@M
+   \CTEX at hangindent{chapter}%
+     {\CTEXifname{\CTEX at chaptername\CTEX at chapter@aftername}{}}%
    \CTEX at chapter@titleformat{#1}%
    \CTEX at chapter@aftertitle
    \nobreak
@@ -304,10 +304,10 @@
   \CTEX at setheadingskip \CTEX at chapter@beforeskip
   \ifodd \CTEX at chapter@fixskip \CTEX at fixtopskip \fi
   \vspace*{\CTEX at headingskip}%
-  {\normalfont \parindent \dimexpr \CTEX at chapter@indent \relax
-   \CTEX at chapter@format
+  {\normalfont \CTEX at chapter@format
    \interlinepenalty\@M
-   \CTEX at chapter@titleformat{#1}
+   \CTEX at hangindent{chapter}{}%
+   \CTEX at chapter@titleformat{#1}%
    \CTEX at chapter@aftertitle
    \nobreak
    \CTEX at setheadingskip \CTEX at chapter@afterskip
@@ -412,6 +412,21 @@
       \fi}%
   \fi
   \ignorespaces}
+\cs_new_protected:Npn \CTEX at hangindent #1#2
+  {
+    \bool_if:cTF { CTEX@#1 at hang }
+      { \@hangfrom }
+      { \noindent \use:n }
+      { \__ctex_indent_aux:n {#1} #2 }
+  }
+\cs_new_protected:Npn \__ctex_indent_aux:n #1
+  {
+    \group_begin:
+      \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1 at indent } }
+      \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim
+        { \skip_horizontal:N \l__ctex_heading_skip }
+    \group_end:
+  }
 \cs_new_protected_nopar:Npn \CTEX at hangfrom
   {
     \bool_if:NTF \CTEX at hang
@@ -421,11 +436,11 @@
 \cs_new_protected_nopar:Npn \CTEX at update@sectionformat at n #1
   {
     \cs_set_eq:Nc \CTEX at titleformat@n { CTEX@#1 at titleformat }
-    \cs_set_eq:Nc \CTEX at aftertitle { CTEX@#1 at aftertitle }
-    \cs_set_eq:Nc \CTEX at afterindent { CTEX@#1 at afterindent }
-    \cs_set_eq:Nc \CTEX at fixskip { CTEX@#1 at fixskip }
-    \cs_set_eq:Nc \CTEX at hang { CTEX@#1 at hang }
-    \cs_set_eq:Nc \CTEX at runin { CTEX@#1 at runin }
+    \cs_set_eq:Nc \CTEX at aftertitle    { CTEX@#1 at aftertitle }
+    \cs_set_eq:Nc \CTEX at afterindent   { CTEX@#1 at afterindent }
+    \cs_set_eq:Nc \CTEX at fixskip       { CTEX@#1 at fixskip }
+    \cs_set_eq:Nc \CTEX at hang          { CTEX@#1 at hang }
+    \cs_set_eq:Nc \CTEX at runin         { CTEX@#1 at runin }
   }
 \cs_new_eq:NN \CTEX at titleformat@n \use:n
 \cs_new_eq:NN \CTEX at aftertitle \prg_do_nothing:
@@ -676,7 +691,7 @@
     \dim_set:Nn \@tempdima
       {
         \dim_max:nn { \@tempdima }
-          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / \c_two }
+          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / 2 }
       }
   }
 \group_begin:

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctex.sty	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctex.sty	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `style,ctex')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,10 +28,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter in LaTeX (CTEX)}
 \ProvidesExplPackage{\ExplFileName}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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 }
@@ -54,7 +54,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2017/12/16 } { }
+\@ifpackagelater { expl3 } { 2019/03/05 } { }
   { \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 } }
@@ -105,7 +105,8 @@
       { }
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
-\cs_new_eq:NN \g__ctex_section_depth_flag \c_two
+\int_new:N \g__ctex_section_depth_int
+\int_gset:Nn \g__ctex_section_depth_int { 2 }
 \msg_new:nnnn { ctex } { package-too-old }
   { Support~package~`#1'~too~old. }
   {
@@ -127,7 +128,7 @@
 \cs_new:Npn \ctex_default_pt:n #1
   {
     \exp_after:wN \__ctex_default_pt:w
-      \dim_use:N \etex_dimexpr:D #1 pt \scan_stop: \q_stop
+      \dim_use:N \tex_dimexpr:D #1 pt \scan_stop: \q_stop
   }
 \use:x
   {
@@ -153,15 +154,15 @@
   { Command~ #1 is~ deprecated.\\ #2 }
 \msg_new:nnn { ctex } { deprecated-environment }
   { Environment~ `#1'~ is~ deprecated.\\ #2 }
-\int_new:N \g__ctex_font_size_flag
-\int_set:Nn \g__ctex_font_size_flag { -1 }
+\int_new:N \g__ctex_font_size_int
+\int_set:Nn \g__ctex_font_size_int { -1 }
 \keys_define:nn { ctex / option }
   {
     zihao .choice: ,
     zihao .value_required:n = true ,
-    zihao /     5  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_zero } ,
-    zihao /    -4  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_one } ,
-    zihao / false  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_two } ,
+    zihao /     5  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } ,
+    zihao /    -4  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } ,
+    zihao / false  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } ,
     c5size  .code:n =
       {
         \msg_warning:nnn { ctex } { deprecated-option }
@@ -301,9 +302,9 @@
     nospace   .value_forbidden:n = true ,
     heading .bool_set:N = \l__ctex_heading_bool ,
     sub3section .code:n =
-      { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_three } ,
+      { \int_gset:Nn \g__ctex_section_depth_int { 3 } } ,
     sub4section .code:n =
-      { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_four } ,
+      { \int_gset:Nn \g__ctex_section_depth_int { 4 } } ,
     sub3section .value_forbidden:n = true ,
     sub4section .value_forbidden:n = true ,
     scheme .tl_set:N  = \l__ctex_scheme_tl ,
@@ -356,7 +357,7 @@
     \tl_put_right:Nn \l__ctex_tmp_tl
       {
         #1 .code:n =
-          { \cs_gset_eq:NN \g__ctex_font_size_flag \c_two } ,
+          { \int_gset:Nn \g__ctex_font_size_int { 2 } } ,
         #1 .value_forbidden:n = true ,
       }
   }
@@ -442,7 +443,7 @@
           { \ctex_update_ccwd: }
           {
             \dim_set:Nn \l__ctex_tmp_dim
-              { \baselinestretch \etex_glueexpr:D \f at baselineskip \scan_stop: }
+              { \baselinestretch \tex_glueexpr:D \f at baselineskip \scan_stop: }
             \skip_set:Nn \l__ctex_ccglue_skip
               { \c_zero_dim plus .08 \l__ctex_tmp_dim }
             \ctex_update_ccglue:
@@ -450,9 +451,9 @@
       }
       {
         \int_set:Nn \l__ctex_tmp_int
-          { \etex_dimexpr:D \linewidth - \ccwd - \l__ctex_tmp_dim \scan_stop: }
+          { \tex_dimexpr:D \linewidth - \ccwd - \l__ctex_tmp_dim \scan_stop: }
         \tex_divide:D \l__ctex_tmp_int \ccwd
-        \int_compare:nNnTF \l__ctex_tmp_int > \c_zero
+        \int_compare:nNnTF \l__ctex_tmp_int > \c_zero_int
           {
             \skip_set:Nn \l__ctex_ccglue_skip
               {
@@ -496,8 +497,8 @@
         \dim_sub:Nn \l__ctex_tmp_dim { \l__ctex_tmp_int \ccwd }
         \dim_compare:nNnF \parindent = \c_zero_dim
           {
-            \int_compare:nNnF \l__ctex_tmp_int < \c_three
-              { \int_sub:Nn \l__ctex_tmp_int { \c_two } }
+            \int_compare:nNnF \l__ctex_tmp_int < 3
+              { \int_sub:Nn \l__ctex_tmp_int { 2 } }
           }
         \skip_set:Nn \l__ctex_ccglue_skip
           {
@@ -504,7 +505,7 @@
             \l__ctex_ziju_dim
             plus  \dim_eval:n { \l__ctex_tmp_dim / \l__ctex_tmp_int }
             minus \dim_min:nn { \dim_abs:n { \l__ctex_ziju_dim } }
-              { ( \ccwd - \l__ctex_tmp_dim ) / ( \l__ctex_tmp_int + \c_one ) }
+              { ( \ccwd - \l__ctex_tmp_dim ) / ( \l__ctex_tmp_int + 1 ) }
           }
       }
       { \skip_set:Nn \l__ctex_ccglue_skip { \l__ctex_ziju_dim } }
@@ -662,7 +663,7 @@
         \prop_gput:Nnn \exp_not:N \c__ctex_font_size_prop {#1}
           {
             { \dim_to_decimal:n {#2} }
-            { \dim_to_decimal:n { (#2) * \c_six / \c_five } }
+            { \dim_to_decimal:n { (#2) * 6 / 5 } }
           }
       }
     \seq_gput_right:Nn \c__ctex_font_size_seq {#1}
@@ -730,7 +731,7 @@
   }
 \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4
   { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } }
-\if_case:w \g__ctex_font_size_flag
+\if_case:w \g__ctex_font_size_int
   \ctex_file_input:n { ctex-c5size.clo }
 \or:
   \ctex_file_input:n { ctex-cs4size.clo }
@@ -792,7 +793,7 @@
       {
         \ctex_if_preamble:TF
           {
-            \str_if_eq_x:nnTF {#1} { none }
+            \str_if_eq:eeTF {#1} { none }
               { \msg_warning:nnn { ctex } { invalid-value } {#1} }
               {
                 \str_if_eq:onTF { \g__ctex_fontset_tl } { none }
@@ -868,6 +869,12 @@
 %%                                        c70rm.fd,
 %%                                        c70sf.fd,
 %%                                        c70tt.fd,
+%%                                        jy2zhrm.fd,
+%%                                        jy2zhsf.fd,
+%%                                        jy2zhtt.fd,
+%%                                        jt2zhrm.fd,
+%%                                        jt2zhsf.fd,
+%%                                        jt2zhtt.fd,
 %%                                        ctex-fontset-windows.def,
 %%                                        ctex-fontset-windowsnew.def,
 %%                                        ctex-fontset-windowsold.def,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexart.cls	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexart.cls	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `class,article')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,10 +28,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter for class article (CTEX)}
 \ProvidesExplClass{ctexart}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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
@@ -46,7 +46,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2017/12/16 } { }
+\@ifpackagelater { expl3 } { 2019/03/05 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 \@ifpackagelater { l3keys2e } { 2015/12/20 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } }
@@ -99,7 +99,8 @@
       { }
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
-\cs_new_eq:NN \g__ctex_section_depth_flag \c_two
+\int_new:N \g__ctex_section_depth_int
+\int_gset:Nn \g__ctex_section_depth_int { 2 }
 \msg_new:nnnn { ctex } { package-too-old }
   { Support~package~`#1'~too~old. }
   {
@@ -121,7 +122,7 @@
 \cs_new:Npn \ctex_default_pt:n #1
   {
     \exp_after:wN \__ctex_default_pt:w
-      \dim_use:N \etex_dimexpr:D #1 pt \scan_stop: \q_stop
+      \dim_use:N \tex_dimexpr:D #1 pt \scan_stop: \q_stop
   }
 \use:x
   {
@@ -148,15 +149,15 @@
   { Command~ #1 is~ deprecated.\\ #2 }
 \msg_new:nnn { ctex } { deprecated-environment }
   { Environment~ `#1'~ is~ deprecated.\\ #2 }
-\int_new:N \g__ctex_font_size_flag
-\int_set:Nn \g__ctex_font_size_flag { -1 }
+\int_new:N \g__ctex_font_size_int
+\int_set:Nn \g__ctex_font_size_int { -1 }
 \keys_define:nn { ctex / option }
   {
     zihao .choice: ,
     zihao .value_required:n = true ,
-    zihao /     5  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_zero } ,
-    zihao /    -4  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_one } ,
-    zihao / false  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_two } ,
+    zihao /     5  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } ,
+    zihao /    -4  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } ,
+    zihao / false  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } ,
     c5size  .code:n =
       {
         \msg_warning:nnn { ctex } { deprecated-option }
@@ -296,9 +297,9 @@
     nospace   .value_forbidden:n = true ,
     heading .bool_set:N = \l__ctex_heading_bool ,
     sub3section .code:n =
-      { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_three } ,
+      { \int_gset:Nn \g__ctex_section_depth_int { 3 } } ,
     sub4section .code:n =
-      { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_four } ,
+      { \int_gset:Nn \g__ctex_section_depth_int { 4 } } ,
     sub3section .value_forbidden:n = true ,
     sub4section .value_forbidden:n = true ,
     scheme .tl_set:N  = \l__ctex_scheme_tl ,
@@ -352,7 +353,7 @@
       {
         #1 .code:n =
           {
-            \cs_gset_eq:NN \g__ctex_font_size_flag \c_two
+            \int_gset:Nn \g__ctex_font_size_int { 2 }
             \clist_gput_right:Nn \g__ctex_std_options_clist {#1}
           } ,
         #1 .value_forbidden:n = true ,
@@ -367,7 +368,7 @@
   }
 \ctex_file_input:n { ctexopts.cfg }
 \ProcessKeysOptions { ctex / option }
-\if_case:w \g__ctex_font_size_flag
+\if_case:w \g__ctex_font_size_int
   \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt }
 \or:
   \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt }
@@ -453,7 +454,7 @@
           { \ctex_update_ccwd: }
           {
             \dim_set:Nn \l__ctex_tmp_dim
-              { \baselinestretch \etex_glueexpr:D \f at baselineskip \scan_stop: }
+              { \baselinestretch \tex_glueexpr:D \f at baselineskip \scan_stop: }
             \skip_set:Nn \l__ctex_ccglue_skip
               { \c_zero_dim plus .08 \l__ctex_tmp_dim }
             \ctex_update_ccglue:
@@ -461,9 +462,9 @@
       }
       {
         \int_set:Nn \l__ctex_tmp_int
-          { \etex_dimexpr:D \linewidth - \ccwd - \l__ctex_tmp_dim \scan_stop: }
+          { \tex_dimexpr:D \linewidth - \ccwd - \l__ctex_tmp_dim \scan_stop: }
         \tex_divide:D \l__ctex_tmp_int \ccwd
-        \int_compare:nNnTF \l__ctex_tmp_int > \c_zero
+        \int_compare:nNnTF \l__ctex_tmp_int > \c_zero_int
           {
             \skip_set:Nn \l__ctex_ccglue_skip
               {
@@ -507,8 +508,8 @@
         \dim_sub:Nn \l__ctex_tmp_dim { \l__ctex_tmp_int \ccwd }
         \dim_compare:nNnF \parindent = \c_zero_dim
           {
-            \int_compare:nNnF \l__ctex_tmp_int < \c_three
-              { \int_sub:Nn \l__ctex_tmp_int { \c_two } }
+            \int_compare:nNnF \l__ctex_tmp_int < 3
+              { \int_sub:Nn \l__ctex_tmp_int { 2 } }
           }
         \skip_set:Nn \l__ctex_ccglue_skip
           {
@@ -515,7 +516,7 @@
             \l__ctex_ziju_dim
             plus  \dim_eval:n { \l__ctex_tmp_dim / \l__ctex_tmp_int }
             minus \dim_min:nn { \dim_abs:n { \l__ctex_ziju_dim } }
-              { ( \ccwd - \l__ctex_tmp_dim ) / ( \l__ctex_tmp_int + \c_one ) }
+              { ( \ccwd - \l__ctex_tmp_dim ) / ( \l__ctex_tmp_int + 1 ) }
           }
       }
       { \skip_set:Nn \l__ctex_ccglue_skip { \l__ctex_ziju_dim } }
@@ -676,7 +677,7 @@
       { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } }
   }
 \NewDocumentCommand \ctex_assign_heading_name:nn
-  { m > { \SplitArgument { \c_one } { , } } +m }
+  { m > { \SplitArgument { 1 } { , } } +m }
   { \__ctex_assign_heading_name:nnn {#1} #2 }
 \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3
   {
@@ -744,10 +745,9 @@
   \fi
   \CTEX at addtocline{part}{#1}%
   {\interlinepenalty \@M
-   \normalfont \parindent \dimexpr \CTEX at part@indent \relax \CTEX at part@format
-   \ifnum \c at secnumdepth >\m at ne \ifodd \CTEX at part@numbering
-     \CTEX at partname \CTEX at part@aftername
-   \fi \fi
+   \normalfont \CTEX at part@format
+   \CTEX at hangindent{part}%
+     {\CTEXifname{\CTEX at partname\CTEX at part@aftername}{}}%
    \CTEX at part@titleformat{#2}%
    \partmark{#1}%
    \CTEX at part@aftertitle}%
@@ -760,8 +760,8 @@
     \CTEX at ifnamefalse
     \CTEX at makeanchor@spart{part*}%
     {\interlinepenalty \@M
-     \normalfont \parindent \dimexpr \CTEX at part@indent \relax
-     \CTEX at part@format
+     \normalfont \CTEX at part@format
+     \CTEX at hangindent{part}{}%
      \CTEX at part@titleformat{#1}%
      \CTEX at part@aftertitle}%
      \nobreak
@@ -867,6 +867,21 @@
       \fi}%
   \fi
   \ignorespaces}
+\cs_new_protected:Npn \CTEX at hangindent #1#2
+  {
+    \bool_if:cTF { CTEX@#1 at hang }
+      { \@hangfrom }
+      { \noindent \use:n }
+      { \__ctex_indent_aux:n {#1} #2 }
+  }
+\cs_new_protected:Npn \__ctex_indent_aux:n #1
+  {
+    \group_begin:
+      \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1 at indent } }
+      \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim
+        { \skip_horizontal:N \l__ctex_heading_skip }
+    \group_end:
+  }
 \cs_new_protected_nopar:Npn \CTEX at hangfrom
   {
     \bool_if:NTF \CTEX at hang
@@ -876,11 +891,11 @@
 \cs_new_protected_nopar:Npn \CTEX at update@sectionformat at n #1
   {
     \cs_set_eq:Nc \CTEX at titleformat@n { CTEX@#1 at titleformat }
-    \cs_set_eq:Nc \CTEX at aftertitle { CTEX@#1 at aftertitle }
-    \cs_set_eq:Nc \CTEX at afterindent { CTEX@#1 at afterindent }
-    \cs_set_eq:Nc \CTEX at fixskip { CTEX@#1 at fixskip }
-    \cs_set_eq:Nc \CTEX at hang { CTEX@#1 at hang }
-    \cs_set_eq:Nc \CTEX at runin { CTEX@#1 at runin }
+    \cs_set_eq:Nc \CTEX at aftertitle    { CTEX@#1 at aftertitle }
+    \cs_set_eq:Nc \CTEX at afterindent   { CTEX@#1 at afterindent }
+    \cs_set_eq:Nc \CTEX at fixskip       { CTEX@#1 at fixskip }
+    \cs_set_eq:Nc \CTEX at hang          { CTEX@#1 at hang }
+    \cs_set_eq:Nc \CTEX at runin         { CTEX@#1 at runin }
   }
 \cs_new_eq:NN \CTEX at titleformat@n \use:n
 \cs_new_eq:NN \CTEX at aftertitle \prg_do_nothing:
@@ -1123,7 +1138,7 @@
     \dim_set:Nn \@tempdima
       {
         \dim_max:nn { \@tempdima }
-          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / \c_two }
+          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / 2 }
       }
   }
 \group_begin:
@@ -1224,7 +1239,7 @@
         \prop_gput:Nnn \exp_not:N \c__ctex_font_size_prop {#1}
           {
             { \dim_to_decimal:n {#2} }
-            { \dim_to_decimal:n { (#2) * \c_six / \c_five } }
+            { \dim_to_decimal:n { (#2) * 6 / 5 } }
           }
       }
     \seq_gput_right:Nn \c__ctex_font_size_seq {#1}
@@ -1292,7 +1307,7 @@
   }
 \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4
   { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } }
-\if_case:w \g__ctex_font_size_flag
+\if_case:w \g__ctex_font_size_int
   \ctex_file_input:n { ctex-c5size.clo }
 \or:
   \ctex_file_input:n { ctex-cs4size.clo }
@@ -1354,7 +1369,7 @@
       {
         \ctex_if_preamble:TF
           {
-            \str_if_eq_x:nnTF {#1} { none }
+            \str_if_eq:eeTF {#1} { none }
               { \msg_warning:nnn { ctex } { invalid-value } {#1} }
               {
                 \str_if_eq:onTF { \g__ctex_fontset_tl } { none }
@@ -1430,6 +1445,12 @@
 %%                                        c70rm.fd,
 %%                                        c70sf.fd,
 %%                                        c70tt.fd,
+%%                                        jy2zhrm.fd,
+%%                                        jy2zhsf.fd,
+%%                                        jy2zhtt.fd,
+%%                                        jt2zhrm.fd,
+%%                                        jt2zhsf.fd,
+%%                                        jt2zhtt.fd,
 %%                                        ctex-fontset-windows.def,
 %%                                        ctex-fontset-windowsnew.def,
 %%                                        ctex-fontset-windowsold.def,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `class,beamer')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,10 +28,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter for class beamer (CTEX)}
 \ProvidesExplClass{ctexbeamer}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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
@@ -46,7 +46,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2017/12/16 } { }
+\@ifpackagelater { expl3 } { 2019/03/05 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 \@ifpackagelater { l3keys2e } { 2015/12/20 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } }
@@ -120,7 +120,7 @@
 \cs_new:Npn \ctex_default_pt:n #1
   {
     \exp_after:wN \__ctex_default_pt:w
-      \dim_use:N \etex_dimexpr:D #1 pt \scan_stop: \q_stop
+      \dim_use:N \tex_dimexpr:D #1 pt \scan_stop: \q_stop
   }
 \use:x
   {
@@ -147,15 +147,15 @@
   { Command~ #1 is~ deprecated.\\ #2 }
 \msg_new:nnn { ctex } { deprecated-environment }
   { Environment~ `#1'~ is~ deprecated.\\ #2 }
-\int_new:N \g__ctex_font_size_flag
-\int_set:Nn \g__ctex_font_size_flag { -1 }
+\int_new:N \g__ctex_font_size_int
+\int_set:Nn \g__ctex_font_size_int { -1 }
 \keys_define:nn { ctex / option }
   {
     zihao .choice: ,
     zihao .value_required:n = true ,
-    zihao /     5  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_zero } ,
-    zihao /    -4  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_one } ,
-    zihao / false  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_two } ,
+    zihao /     5  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } ,
+    zihao /    -4  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } ,
+    zihao / false  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } ,
     c5size  .code:n =
       {
         \msg_warning:nnn { ctex } { deprecated-option }
@@ -345,7 +345,7 @@
       {
         #1 .code:n =
           {
-            \cs_gset_eq:NN \g__ctex_font_size_flag \c_two
+            \int_gset:Nn \g__ctex_font_size_int { 2 }
             \clist_gput_right:Nn \g__ctex_std_options_clist {#1}
           } ,
         #1 .value_forbidden:n = true ,
@@ -360,7 +360,7 @@
   }
 \ctex_file_input:n { ctexopts.cfg }
 \ProcessKeysOptions { ctex / option }
-\if_case:w \g__ctex_font_size_flag
+\if_case:w \g__ctex_font_size_int
   \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt }
 \or:
   \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt }
@@ -446,7 +446,7 @@
           { \ctex_update_ccwd: }
           {
             \dim_set:Nn \l__ctex_tmp_dim
-              { \baselinestretch \etex_glueexpr:D \f at baselineskip \scan_stop: }
+              { \baselinestretch \tex_glueexpr:D \f at baselineskip \scan_stop: }
             \skip_set:Nn \l__ctex_ccglue_skip
               { \c_zero_dim plus .08 \l__ctex_tmp_dim }
             \ctex_update_ccglue:
@@ -454,9 +454,9 @@
       }
       {
         \int_set:Nn \l__ctex_tmp_int
-          { \etex_dimexpr:D \linewidth - \ccwd - \l__ctex_tmp_dim \scan_stop: }
+          { \tex_dimexpr:D \linewidth - \ccwd - \l__ctex_tmp_dim \scan_stop: }
         \tex_divide:D \l__ctex_tmp_int \ccwd
-        \int_compare:nNnTF \l__ctex_tmp_int > \c_zero
+        \int_compare:nNnTF \l__ctex_tmp_int > \c_zero_int
           {
             \skip_set:Nn \l__ctex_ccglue_skip
               {
@@ -500,8 +500,8 @@
         \dim_sub:Nn \l__ctex_tmp_dim { \l__ctex_tmp_int \ccwd }
         \dim_compare:nNnF \parindent = \c_zero_dim
           {
-            \int_compare:nNnF \l__ctex_tmp_int < \c_three
-              { \int_sub:Nn \l__ctex_tmp_int { \c_two } }
+            \int_compare:nNnF \l__ctex_tmp_int < 3
+              { \int_sub:Nn \l__ctex_tmp_int { 2 } }
           }
         \skip_set:Nn \l__ctex_ccglue_skip
           {
@@ -508,7 +508,7 @@
             \l__ctex_ziju_dim
             plus  \dim_eval:n { \l__ctex_tmp_dim / \l__ctex_tmp_int }
             minus \dim_min:nn { \dim_abs:n { \l__ctex_ziju_dim } }
-              { ( \ccwd - \l__ctex_tmp_dim ) / ( \l__ctex_tmp_int + \c_one ) }
+              { ( \ccwd - \l__ctex_tmp_dim ) / ( \l__ctex_tmp_int + 1 ) }
           }
       }
       { \skip_set:Nn \l__ctex_ccglue_skip { \l__ctex_ziju_dim } }
@@ -658,7 +658,7 @@
       { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } }
   }
 \NewDocumentCommand \ctex_assign_heading_name:nn
-  { m > { \SplitArgument { \c_one } { , } } +m }
+  { m > { \SplitArgument { 1 } { , } } +m }
   { \__ctex_assign_heading_name:nnn {#1} #2 }
 \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3
   {
@@ -680,45 +680,48 @@
     \keys_define:nn { ctex } { \exp_not:o { \l__ctex_tmp_tl } }
   }
 \ExplSyntaxOff
-\defbeamertemplate*{part page}{CTEX}[1][]{
+\defbeamertemplate*{part page}{CTEX}[1][]{%
   \begingroup
+    \ctexset{autoindent=false}%
     \par \addvspace{\glueexpr\CTEX at part@beforeskip\relax}%
+    \CTEX at part@format
     \parindent \dimexpr \CTEX at part@indent \relax
-    \CTEX at part@format
     \ifodd \CTEX at part@numbering
       \CTEX at partname \CTEX at part@aftername
     \fi
     \begin{beamercolorbox}[sep=16pt,center,#1]{part title}
       \CTEX at part@titleformat \insertpart \CTEX at part@aftertitle
-    \end{beamercolorbox}
+    \end{beamercolorbox}%
     \par \addvspace{\glueexpr\CTEX at part@afterskip\relax}%
   \endgroup
 }
-\defbeamertemplate*{section page}{CTEX}[1][]{
+\defbeamertemplate*{section page}{CTEX}[1][]{%
   \begingroup
+    \ctexset{autoindent=false}%
     \par \addvspace{\glueexpr\CTEX at section@beforeskip\relax}%
+    \CTEX at section@format
     \parindent \dimexpr \CTEX at section@indent \relax
-    \CTEX at section@format
     \ifodd \CTEX at section@numbering
       \CTEX at sectionname \CTEX at section@aftername
     \fi
     \begin{beamercolorbox}[sep=12pt,center,#1]{part title}
       \CTEX at section@titleformat \insertsection \CTEX at section@aftertitle
-    \end{beamercolorbox}
+    \end{beamercolorbox}%
     \par \addvspace{\glueexpr\CTEX at section@afterskip\relax}%
   \endgroup
 }
-\defbeamertemplate*{subsection page}{CTEX}[1][]{
+\defbeamertemplate*{subsection page}{CTEX}[1][]{%
   \begingroup
+    \ctexset{autoindent=false}%
     \par \addvspace{\glueexpr\CTEX at subsection@beforeskip\relax}%
+    \CTEX at subsection@format
     \parindent \dimexpr \CTEX at subsection@indent \relax
-    \CTEX at subsection@format
     \ifodd \CTEX at subsection@numbering
       \CTEX at subsectionname \CTEX at subsection@aftername
     \fi
     \begin{beamercolorbox}[sep=8pt,center,#1]{part title}
       \CTEX at subsection@titleformat \insertsubsection \CTEX at subsection@aftertitle
-    \end{beamercolorbox}
+    \end{beamercolorbox}%
     \par \addvspace{\glueexpr\CTEX at subsection@afterskip\relax}%
   \endgroup
 }
@@ -781,7 +784,7 @@
         \prop_gput:Nnn \exp_not:N \c__ctex_font_size_prop {#1}
           {
             { \dim_to_decimal:n {#2} }
-            { \dim_to_decimal:n { (#2) * \c_six / \c_five } }
+            { \dim_to_decimal:n { (#2) * 6 / 5 } }
           }
       }
     \seq_gput_right:Nn \c__ctex_font_size_seq {#1}
@@ -849,7 +852,7 @@
   }
 \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4
   { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } }
-\if_case:w \g__ctex_font_size_flag
+\if_case:w \g__ctex_font_size_int
   \ctex_file_input:n { ctex-c5size.clo }
 \or:
   \ctex_file_input:n { ctex-cs4size.clo }
@@ -911,7 +914,7 @@
       {
         \ctex_if_preamble:TF
           {
-            \str_if_eq_x:nnTF {#1} { none }
+            \str_if_eq:eeTF {#1} { none }
               { \msg_warning:nnn { ctex } { invalid-value } {#1} }
               {
                 \str_if_eq:onTF { \g__ctex_fontset_tl } { none }
@@ -987,6 +990,12 @@
 %%                                        c70rm.fd,
 %%                                        c70sf.fd,
 %%                                        c70tt.fd,
+%%                                        jy2zhrm.fd,
+%%                                        jy2zhsf.fd,
+%%                                        jy2zhtt.fd,
+%%                                        jt2zhrm.fd,
+%%                                        jt2zhsf.fd,
+%%                                        jt2zhtt.fd,
 %%                                        ctex-fontset-windows.def,
 %%                                        ctex-fontset-windowsnew.def,
 %%                                        ctex-fontset-windowsold.def,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexbook.cls	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexbook.cls	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `class,book')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,10 +28,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter for class book (CTEX)}
 \ProvidesExplClass{ctexbook}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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
@@ -46,7 +46,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2017/12/16 } { }
+\@ifpackagelater { expl3 } { 2019/03/05 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 \@ifpackagelater { l3keys2e } { 2015/12/20 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } }
@@ -99,7 +99,8 @@
       { }
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
-\cs_new_eq:NN \g__ctex_section_depth_flag \c_two
+\int_new:N \g__ctex_section_depth_int
+\int_gset:Nn \g__ctex_section_depth_int { 2 }
 \msg_new:nnnn { ctex } { package-too-old }
   { Support~package~`#1'~too~old. }
   {
@@ -121,7 +122,7 @@
 \cs_new:Npn \ctex_default_pt:n #1
   {
     \exp_after:wN \__ctex_default_pt:w
-      \dim_use:N \etex_dimexpr:D #1 pt \scan_stop: \q_stop
+      \dim_use:N \tex_dimexpr:D #1 pt \scan_stop: \q_stop
   }
 \use:x
   {
@@ -148,15 +149,15 @@
   { Command~ #1 is~ deprecated.\\ #2 }
 \msg_new:nnn { ctex } { deprecated-environment }
   { Environment~ `#1'~ is~ deprecated.\\ #2 }
-\int_new:N \g__ctex_font_size_flag
-\int_set:Nn \g__ctex_font_size_flag { -1 }
+\int_new:N \g__ctex_font_size_int
+\int_set:Nn \g__ctex_font_size_int { -1 }
 \keys_define:nn { ctex / option }
   {
     zihao .choice: ,
     zihao .value_required:n = true ,
-    zihao /     5  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_zero } ,
-    zihao /    -4  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_one } ,
-    zihao / false  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_two } ,
+    zihao /     5  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } ,
+    zihao /    -4  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } ,
+    zihao / false  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } ,
     c5size  .code:n =
       {
         \msg_warning:nnn { ctex } { deprecated-option }
@@ -296,9 +297,9 @@
     nospace   .value_forbidden:n = true ,
     heading .bool_set:N = \l__ctex_heading_bool ,
     sub3section .code:n =
-      { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_three } ,
+      { \int_gset:Nn \g__ctex_section_depth_int { 3 } } ,
     sub4section .code:n =
-      { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_four } ,
+      { \int_gset:Nn \g__ctex_section_depth_int { 4 } } ,
     sub3section .value_forbidden:n = true ,
     sub4section .value_forbidden:n = true ,
     scheme .tl_set:N  = \l__ctex_scheme_tl ,
@@ -352,7 +353,7 @@
       {
         #1 .code:n =
           {
-            \cs_gset_eq:NN \g__ctex_font_size_flag \c_two
+            \int_gset:Nn \g__ctex_font_size_int { 2 }
             \clist_gput_right:Nn \g__ctex_std_options_clist {#1}
           } ,
         #1 .value_forbidden:n = true ,
@@ -367,7 +368,7 @@
   }
 \ctex_file_input:n { ctexopts.cfg }
 \ProcessKeysOptions { ctex / option }
-\if_case:w \g__ctex_font_size_flag
+\if_case:w \g__ctex_font_size_int
   \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt }
 \or:
   \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt }
@@ -453,7 +454,7 @@
           { \ctex_update_ccwd: }
           {
             \dim_set:Nn \l__ctex_tmp_dim
-              { \baselinestretch \etex_glueexpr:D \f at baselineskip \scan_stop: }
+              { \baselinestretch \tex_glueexpr:D \f at baselineskip \scan_stop: }
             \skip_set:Nn \l__ctex_ccglue_skip
               { \c_zero_dim plus .08 \l__ctex_tmp_dim }
             \ctex_update_ccglue:
@@ -461,9 +462,9 @@
       }
       {
         \int_set:Nn \l__ctex_tmp_int
-          { \etex_dimexpr:D \linewidth - \ccwd - \l__ctex_tmp_dim \scan_stop: }
+          { \tex_dimexpr:D \linewidth - \ccwd - \l__ctex_tmp_dim \scan_stop: }
         \tex_divide:D \l__ctex_tmp_int \ccwd
-        \int_compare:nNnTF \l__ctex_tmp_int > \c_zero
+        \int_compare:nNnTF \l__ctex_tmp_int > \c_zero_int
           {
             \skip_set:Nn \l__ctex_ccglue_skip
               {
@@ -507,8 +508,8 @@
         \dim_sub:Nn \l__ctex_tmp_dim { \l__ctex_tmp_int \ccwd }
         \dim_compare:nNnF \parindent = \c_zero_dim
           {
-            \int_compare:nNnF \l__ctex_tmp_int < \c_three
-              { \int_sub:Nn \l__ctex_tmp_int { \c_two } }
+            \int_compare:nNnF \l__ctex_tmp_int < 3
+              { \int_sub:Nn \l__ctex_tmp_int { 2 } }
           }
         \skip_set:Nn \l__ctex_ccglue_skip
           {
@@ -515,7 +516,7 @@
             \l__ctex_ziju_dim
             plus  \dim_eval:n { \l__ctex_tmp_dim / \l__ctex_tmp_int }
             minus \dim_min:nn { \dim_abs:n { \l__ctex_ziju_dim } }
-              { ( \ccwd - \l__ctex_tmp_dim ) / ( \l__ctex_tmp_int + \c_one ) }
+              { ( \ccwd - \l__ctex_tmp_dim ) / ( \l__ctex_tmp_int + 1 ) }
           }
       }
       { \skip_set:Nn \l__ctex_ccglue_skip { \l__ctex_ziju_dim } }
@@ -677,7 +678,7 @@
       { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } }
   }
 \NewDocumentCommand \ctex_assign_heading_name:nn
-  { m > { \SplitArgument { \c_one } { , } } +m }
+  { m > { \SplitArgument { 1 } { , } } +m }
   { \__ctex_assign_heading_name:nnn {#1} #2 }
 \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3
   {
@@ -778,9 +779,8 @@
    \partmark{#1}%
   {\interlinepenalty \@M
    \normalfont \CTEX at part@format
-   \ifnum \c at secnumdepth >-2\relax \ifodd \CTEX at part@numbering
-     \CTEX at partname \CTEX at part@aftername
-   \fi \fi
+   \CTEX at hangindent{part}%
+     {\CTEXifname{\CTEX at partname\CTEX at part@aftername}{}}%
    \CTEX at part@titleformat{#2}%
    \CTEX at part@aftertitle}%
   \@endpart}
@@ -789,6 +789,7 @@
     \CTEX at makeanchor@spart{part*}%
     {\interlinepenalty \@M
      \normalfont \CTEX at part@format
+     \CTEX at hangindent{part}{}%
      \CTEX at part@titleformat{#1}%
      \CTEX at part@aftertitle}%
     \@endpart}
@@ -858,10 +859,10 @@
   \CTEX at setheadingskip \CTEX at chapter@beforeskip
   \ifodd \CTEX at chapter@fixskip \CTEX at fixtopskip \fi
   \vspace*{\CTEX at headingskip}%
-  {\normalfont \parindent \dimexpr \CTEX at chapter@indent \relax
-   \CTEX at chapter@format
-   \CTEXifname{\CTEX at chaptername\CTEX at chapter@aftername}{}%
+  {\normalfont \CTEX at chapter@format
    \interlinepenalty\@M
+   \CTEX at hangindent{chapter}%
+     {\CTEXifname{\CTEX at chaptername\CTEX at chapter@aftername}{}}%
    \CTEX at chapter@titleformat{#1}%
    \CTEX at chapter@aftertitle
    \nobreak
@@ -873,10 +874,10 @@
   \CTEX at setheadingskip \CTEX at chapter@beforeskip
   \ifodd \CTEX at chapter@fixskip \CTEX at fixtopskip \fi
   \vspace*{\CTEX at headingskip}%
-  {\normalfont \parindent \dimexpr \CTEX at chapter@indent \relax
-   \CTEX at chapter@format
+  {\normalfont \CTEX at chapter@format
    \interlinepenalty\@M
-   \CTEX at chapter@titleformat{#1}
+   \CTEX at hangindent{chapter}{}%
+   \CTEX at chapter@titleformat{#1}%
    \CTEX at chapter@aftertitle
    \nobreak
    \CTEX at setheadingskip \CTEX at chapter@afterskip
@@ -981,6 +982,21 @@
       \fi}%
   \fi
   \ignorespaces}
+\cs_new_protected:Npn \CTEX at hangindent #1#2
+  {
+    \bool_if:cTF { CTEX@#1 at hang }
+      { \@hangfrom }
+      { \noindent \use:n }
+      { \__ctex_indent_aux:n {#1} #2 }
+  }
+\cs_new_protected:Npn \__ctex_indent_aux:n #1
+  {
+    \group_begin:
+      \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1 at indent } }
+      \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim
+        { \skip_horizontal:N \l__ctex_heading_skip }
+    \group_end:
+  }
 \cs_new_protected_nopar:Npn \CTEX at hangfrom
   {
     \bool_if:NTF \CTEX at hang
@@ -990,11 +1006,11 @@
 \cs_new_protected_nopar:Npn \CTEX at update@sectionformat at n #1
   {
     \cs_set_eq:Nc \CTEX at titleformat@n { CTEX@#1 at titleformat }
-    \cs_set_eq:Nc \CTEX at aftertitle { CTEX@#1 at aftertitle }
-    \cs_set_eq:Nc \CTEX at afterindent { CTEX@#1 at afterindent }
-    \cs_set_eq:Nc \CTEX at fixskip { CTEX@#1 at fixskip }
-    \cs_set_eq:Nc \CTEX at hang { CTEX@#1 at hang }
-    \cs_set_eq:Nc \CTEX at runin { CTEX@#1 at runin }
+    \cs_set_eq:Nc \CTEX at aftertitle    { CTEX@#1 at aftertitle }
+    \cs_set_eq:Nc \CTEX at afterindent   { CTEX@#1 at afterindent }
+    \cs_set_eq:Nc \CTEX at fixskip       { CTEX@#1 at fixskip }
+    \cs_set_eq:Nc \CTEX at hang          { CTEX@#1 at hang }
+    \cs_set_eq:Nc \CTEX at runin         { CTEX@#1 at runin }
   }
 \cs_new_eq:NN \CTEX at titleformat@n \use:n
 \cs_new_eq:NN \CTEX at aftertitle \prg_do_nothing:
@@ -1245,7 +1261,7 @@
     \dim_set:Nn \@tempdima
       {
         \dim_max:nn { \@tempdima }
-          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / \c_two }
+          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / 2 }
       }
   }
 \group_begin:
@@ -1346,7 +1362,7 @@
         \prop_gput:Nnn \exp_not:N \c__ctex_font_size_prop {#1}
           {
             { \dim_to_decimal:n {#2} }
-            { \dim_to_decimal:n { (#2) * \c_six / \c_five } }
+            { \dim_to_decimal:n { (#2) * 6 / 5 } }
           }
       }
     \seq_gput_right:Nn \c__ctex_font_size_seq {#1}
@@ -1414,7 +1430,7 @@
   }
 \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4
   { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } }
-\if_case:w \g__ctex_font_size_flag
+\if_case:w \g__ctex_font_size_int
   \ctex_file_input:n { ctex-c5size.clo }
 \or:
   \ctex_file_input:n { ctex-cs4size.clo }
@@ -1476,7 +1492,7 @@
       {
         \ctex_if_preamble:TF
           {
-            \str_if_eq_x:nnTF {#1} { none }
+            \str_if_eq:eeTF {#1} { none }
               { \msg_warning:nnn { ctex } { invalid-value } {#1} }
               {
                 \str_if_eq:onTF { \g__ctex_fontset_tl } { none }
@@ -1552,6 +1568,12 @@
 %%                                        c70rm.fd,
 %%                                        c70sf.fd,
 %%                                        c70tt.fd,
+%%                                        jy2zhrm.fd,
+%%                                        jy2zhsf.fd,
+%%                                        jy2zhtt.fd,
+%%                                        jt2zhrm.fd,
+%%                                        jt2zhsf.fd,
+%%                                        jt2zhtt.fd,
 %%                                        ctex-fontset-windows.def,
 %%                                        ctex-fontset-windowsnew.def,
 %%                                        ctex-fontset-windowsold.def,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexcap.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexcap.sty	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexcap.sty	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `ctexcap')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,10 +28,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter in LaTeX (CTEX)}
 \ProvidesExplPackage{ctexcap}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexheading.sty	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `style,ctexheading')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,10 +28,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Heading style modification (CTEX)}
 \ProvidesExplPackage{ctexheading}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \RequirePackage { xparse , l3keys2e }
 \RequirePackage { ctexhook , ctexpatch }
 \tl_clear_new:N \l__ctex_tmp_tl
@@ -69,13 +69,14 @@
       { }
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
-\cs_new_eq:NN \g__ctex_section_depth_flag \c_two
+\int_new:N \g__ctex_section_depth_int
+\int_gset:Nn \g__ctex_section_depth_int { 2 }
 \keys_define:nn { ctex / option }
   {
     sub3section .code:n =
-      { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_three } ,
+      { \int_gset:Nn \g__ctex_section_depth_int { 3 } } ,
     sub4section .code:n =
-      { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_four } ,
+      { \int_gset:Nn \g__ctex_section_depth_int { 4 } } ,
     sub3section .value_forbidden:n = true ,
     sub4section .value_forbidden:n = true ,
     scheme .tl_set:N  = \l__ctex_scheme_tl ,
@@ -158,6 +159,12 @@
 %%                                        c70rm.fd,
 %%                                        c70sf.fd,
 %%                                        c70tt.fd,
+%%                                        jy2zhrm.fd,
+%%                                        jy2zhsf.fd,
+%%                                        jy2zhtt.fd,
+%%                                        jt2zhrm.fd,
+%%                                        jt2zhsf.fd,
+%%                                        jt2zhtt.fd,
 %%                                        ctex-fontset-windows.def,
 %%                                        ctex-fontset-windowsnew.def,
 %%                                        ctex-fontset-windowsold.def,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexhook.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexhook.sty	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexhook.sty	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `ctexhook')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,10 +28,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Document and package hooks (CTEX)}
 \ProvidesExplPackage{ctexhook}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \cs_new_protected:Npn \ctex_at_end_preamble:n #1
   { \tl_gput_right:Nn \g__ctex_end_preamble_hook_tl {#1} }
 \cs_new_protected:Npn \ctex_after_end_preamble:n #1

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `ctexpatch')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,10 +28,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Patching commands (CTEX)}
 \ProvidesExplPackage{ctexpatch}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \cs_if_exist:NF \str_new:N { \RequirePackage { l3str } }
 \cs_new_protected:Npn \ctex_patch_cmd_once:NnnnTF #1#2
   {
@@ -94,7 +94,7 @@
               {
                 \group_end:
                 \__ctex_parse_name:nNNNnN
-                  { \token_get_replacement_spec:N ##2 }
+                  { \cs_replacement_spec:N ##2 }
                   \exp_not:N ##2
                   \exp_not:c { ##3 ~ }
                   \exp_not:c { #1##3 }
@@ -112,11 +112,11 @@
                 { \x at protect ##2 \protect ##3 } { }
               }
               {
-                \str_if_eq_x:nnTF
+                \str_if_eq:eeTF
                   { \exp_not:n { #1 at protected@ ##3 #1##3 } }
                   {
                     \exp_last_unbraced:Nf \__ctex_parse_name:w
-                      \token_get_replacement_spec:N ##3 #3 ~ #2 \q_stop
+                      \cs_replacement_spec:N ##3 #3 ~ #2 \q_stop
                   }
                   { #1##5 ~ } { ##5 ~ }
               }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexrep.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexrep.cls	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexrep.cls	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `class,report')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,10 +28,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese adapter for class report (CTEX)}
 \ProvidesExplClass{ctexrep}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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
@@ -46,7 +46,7 @@
     `l3kernel'~and~`l3packages'\\\\
     using~your~TeX~package~manager~or~from~CTAN.
   }
-\@ifpackagelater { expl3 } { 2017/12/16 } { }
+\@ifpackagelater { expl3 } { 2019/03/05 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
 \@ifpackagelater { l3keys2e } { 2015/12/20 } { }
   { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } }
@@ -99,7 +99,8 @@
       { }
   }
 \cs_generate_variant:Nn \ctex_scheme_input:n { o }
-\cs_new_eq:NN \g__ctex_section_depth_flag \c_two
+\int_new:N \g__ctex_section_depth_int
+\int_gset:Nn \g__ctex_section_depth_int { 2 }
 \msg_new:nnnn { ctex } { package-too-old }
   { Support~package~`#1'~too~old. }
   {
@@ -121,7 +122,7 @@
 \cs_new:Npn \ctex_default_pt:n #1
   {
     \exp_after:wN \__ctex_default_pt:w
-      \dim_use:N \etex_dimexpr:D #1 pt \scan_stop: \q_stop
+      \dim_use:N \tex_dimexpr:D #1 pt \scan_stop: \q_stop
   }
 \use:x
   {
@@ -148,15 +149,15 @@
   { Command~ #1 is~ deprecated.\\ #2 }
 \msg_new:nnn { ctex } { deprecated-environment }
   { Environment~ `#1'~ is~ deprecated.\\ #2 }
-\int_new:N \g__ctex_font_size_flag
-\int_set:Nn \g__ctex_font_size_flag { -1 }
+\int_new:N \g__ctex_font_size_int
+\int_set:Nn \g__ctex_font_size_int { -1 }
 \keys_define:nn { ctex / option }
   {
     zihao .choice: ,
     zihao .value_required:n = true ,
-    zihao /     5  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_zero } ,
-    zihao /    -4  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_one } ,
-    zihao / false  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_two } ,
+    zihao /     5  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } ,
+    zihao /    -4  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } ,
+    zihao / false  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } ,
     c5size  .code:n =
       {
         \msg_warning:nnn { ctex } { deprecated-option }
@@ -296,9 +297,9 @@
     nospace   .value_forbidden:n = true ,
     heading .bool_set:N = \l__ctex_heading_bool ,
     sub3section .code:n =
-      { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_three } ,
+      { \int_gset:Nn \g__ctex_section_depth_int { 3 } } ,
     sub4section .code:n =
-      { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_four } ,
+      { \int_gset:Nn \g__ctex_section_depth_int { 4 } } ,
     sub3section .value_forbidden:n = true ,
     sub4section .value_forbidden:n = true ,
     scheme .tl_set:N  = \l__ctex_scheme_tl ,
@@ -352,7 +353,7 @@
       {
         #1 .code:n =
           {
-            \cs_gset_eq:NN \g__ctex_font_size_flag \c_two
+            \int_gset:Nn \g__ctex_font_size_int { 2 }
             \clist_gput_right:Nn \g__ctex_std_options_clist {#1}
           } ,
         #1 .value_forbidden:n = true ,
@@ -367,7 +368,7 @@
   }
 \ctex_file_input:n { ctexopts.cfg }
 \ProcessKeysOptions { ctex / option }
-\if_case:w \g__ctex_font_size_flag
+\if_case:w \g__ctex_font_size_int
   \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt }
 \or:
   \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt }
@@ -453,7 +454,7 @@
           { \ctex_update_ccwd: }
           {
             \dim_set:Nn \l__ctex_tmp_dim
-              { \baselinestretch \etex_glueexpr:D \f at baselineskip \scan_stop: }
+              { \baselinestretch \tex_glueexpr:D \f at baselineskip \scan_stop: }
             \skip_set:Nn \l__ctex_ccglue_skip
               { \c_zero_dim plus .08 \l__ctex_tmp_dim }
             \ctex_update_ccglue:
@@ -461,9 +462,9 @@
       }
       {
         \int_set:Nn \l__ctex_tmp_int
-          { \etex_dimexpr:D \linewidth - \ccwd - \l__ctex_tmp_dim \scan_stop: }
+          { \tex_dimexpr:D \linewidth - \ccwd - \l__ctex_tmp_dim \scan_stop: }
         \tex_divide:D \l__ctex_tmp_int \ccwd
-        \int_compare:nNnTF \l__ctex_tmp_int > \c_zero
+        \int_compare:nNnTF \l__ctex_tmp_int > \c_zero_int
           {
             \skip_set:Nn \l__ctex_ccglue_skip
               {
@@ -507,8 +508,8 @@
         \dim_sub:Nn \l__ctex_tmp_dim { \l__ctex_tmp_int \ccwd }
         \dim_compare:nNnF \parindent = \c_zero_dim
           {
-            \int_compare:nNnF \l__ctex_tmp_int < \c_three
-              { \int_sub:Nn \l__ctex_tmp_int { \c_two } }
+            \int_compare:nNnF \l__ctex_tmp_int < 3
+              { \int_sub:Nn \l__ctex_tmp_int { 2 } }
           }
         \skip_set:Nn \l__ctex_ccglue_skip
           {
@@ -515,7 +516,7 @@
             \l__ctex_ziju_dim
             plus  \dim_eval:n { \l__ctex_tmp_dim / \l__ctex_tmp_int }
             minus \dim_min:nn { \dim_abs:n { \l__ctex_ziju_dim } }
-              { ( \ccwd - \l__ctex_tmp_dim ) / ( \l__ctex_tmp_int + \c_one ) }
+              { ( \ccwd - \l__ctex_tmp_dim ) / ( \l__ctex_tmp_int + 1 ) }
           }
       }
       { \skip_set:Nn \l__ctex_ccglue_skip { \l__ctex_ziju_dim } }
@@ -677,7 +678,7 @@
       { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } }
   }
 \NewDocumentCommand \ctex_assign_heading_name:nn
-  { m > { \SplitArgument { \c_one } { , } } +m }
+  { m > { \SplitArgument { 1 } { , } } +m }
   { \__ctex_assign_heading_name:nnn {#1} #2 }
 \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3
   {
@@ -778,9 +779,8 @@
    \partmark{#1}%
   {\interlinepenalty \@M
    \normalfont \CTEX at part@format
-   \ifnum \c at secnumdepth >-2\relax \ifodd \CTEX at part@numbering
-     \CTEX at partname \CTEX at part@aftername
-   \fi \fi
+   \CTEX at hangindent{part}%
+     {\CTEXifname{\CTEX at partname\CTEX at part@aftername}{}}%
    \CTEX at part@titleformat{#2}%
    \CTEX at part@aftertitle}%
   \@endpart}
@@ -789,6 +789,7 @@
     \CTEX at makeanchor@spart{part*}%
     {\interlinepenalty \@M
      \normalfont \CTEX at part@format
+     \CTEX at hangindent{part}{}%
      \CTEX at part@titleformat{#1}%
      \CTEX at part@aftertitle}%
     \@endpart}
@@ -853,10 +854,10 @@
   \CTEX at setheadingskip \CTEX at chapter@beforeskip
   \ifodd \CTEX at chapter@fixskip \CTEX at fixtopskip \fi
   \vspace*{\CTEX at headingskip}%
-  {\normalfont \parindent \dimexpr \CTEX at chapter@indent \relax
-   \CTEX at chapter@format
-   \CTEXifname{\CTEX at chaptername\CTEX at chapter@aftername}{}%
+  {\normalfont \CTEX at chapter@format
    \interlinepenalty\@M
+   \CTEX at hangindent{chapter}%
+     {\CTEXifname{\CTEX at chaptername\CTEX at chapter@aftername}{}}%
    \CTEX at chapter@titleformat{#1}%
    \CTEX at chapter@aftertitle
    \nobreak
@@ -868,10 +869,10 @@
   \CTEX at setheadingskip \CTEX at chapter@beforeskip
   \ifodd \CTEX at chapter@fixskip \CTEX at fixtopskip \fi
   \vspace*{\CTEX at headingskip}%
-  {\normalfont \parindent \dimexpr \CTEX at chapter@indent \relax
-   \CTEX at chapter@format
+  {\normalfont \CTEX at chapter@format
    \interlinepenalty\@M
-   \CTEX at chapter@titleformat{#1}
+   \CTEX at hangindent{chapter}{}%
+   \CTEX at chapter@titleformat{#1}%
    \CTEX at chapter@aftertitle
    \nobreak
    \CTEX at setheadingskip \CTEX at chapter@afterskip
@@ -976,6 +977,21 @@
       \fi}%
   \fi
   \ignorespaces}
+\cs_new_protected:Npn \CTEX at hangindent #1#2
+  {
+    \bool_if:cTF { CTEX@#1 at hang }
+      { \@hangfrom }
+      { \noindent \use:n }
+      { \__ctex_indent_aux:n {#1} #2 }
+  }
+\cs_new_protected:Npn \__ctex_indent_aux:n #1
+  {
+    \group_begin:
+      \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1 at indent } }
+      \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim
+        { \skip_horizontal:N \l__ctex_heading_skip }
+    \group_end:
+  }
 \cs_new_protected_nopar:Npn \CTEX at hangfrom
   {
     \bool_if:NTF \CTEX at hang
@@ -985,11 +1001,11 @@
 \cs_new_protected_nopar:Npn \CTEX at update@sectionformat at n #1
   {
     \cs_set_eq:Nc \CTEX at titleformat@n { CTEX@#1 at titleformat }
-    \cs_set_eq:Nc \CTEX at aftertitle { CTEX@#1 at aftertitle }
-    \cs_set_eq:Nc \CTEX at afterindent { CTEX@#1 at afterindent }
-    \cs_set_eq:Nc \CTEX at fixskip { CTEX@#1 at fixskip }
-    \cs_set_eq:Nc \CTEX at hang { CTEX@#1 at hang }
-    \cs_set_eq:Nc \CTEX at runin { CTEX@#1 at runin }
+    \cs_set_eq:Nc \CTEX at aftertitle    { CTEX@#1 at aftertitle }
+    \cs_set_eq:Nc \CTEX at afterindent   { CTEX@#1 at afterindent }
+    \cs_set_eq:Nc \CTEX at fixskip       { CTEX@#1 at fixskip }
+    \cs_set_eq:Nc \CTEX at hang          { CTEX@#1 at hang }
+    \cs_set_eq:Nc \CTEX at runin         { CTEX@#1 at runin }
   }
 \cs_new_eq:NN \CTEX at titleformat@n \use:n
 \cs_new_eq:NN \CTEX at aftertitle \prg_do_nothing:
@@ -1240,7 +1256,7 @@
     \dim_set:Nn \@tempdima
       {
         \dim_max:nn { \@tempdima }
-          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / \c_two }
+          { \box_wd:N \l__ctex_tmp_box + \f at size \p@ / 2 }
       }
   }
 \group_begin:
@@ -1341,7 +1357,7 @@
         \prop_gput:Nnn \exp_not:N \c__ctex_font_size_prop {#1}
           {
             { \dim_to_decimal:n {#2} }
-            { \dim_to_decimal:n { (#2) * \c_six / \c_five } }
+            { \dim_to_decimal:n { (#2) * 6 / 5 } }
           }
       }
     \seq_gput_right:Nn \c__ctex_font_size_seq {#1}
@@ -1409,7 +1425,7 @@
   }
 \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4
   { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } }
-\if_case:w \g__ctex_font_size_flag
+\if_case:w \g__ctex_font_size_int
   \ctex_file_input:n { ctex-c5size.clo }
 \or:
   \ctex_file_input:n { ctex-cs4size.clo }
@@ -1471,7 +1487,7 @@
       {
         \ctex_if_preamble:TF
           {
-            \str_if_eq_x:nnTF {#1} { none }
+            \str_if_eq:eeTF {#1} { none }
               { \msg_warning:nnn { ctex } { invalid-value } {#1} }
               {
                 \str_if_eq:onTF { \g__ctex_fontset_tl } { none }
@@ -1547,6 +1563,12 @@
 %%                                        c70rm.fd,
 %%                                        c70sf.fd,
 %%                                        c70tt.fd,
+%%                                        jy2zhrm.fd,
+%%                                        jy2zhsf.fd,
+%%                                        jy2zhtt.fd,
+%%                                        jt2zhrm.fd,
+%%                                        jt2zhsf.fd,
+%%                                        jt2zhtt.fd,
 %%                                        ctex-fontset-windows.def,
 %%                                        ctex-fontset-windowsnew.def,
 %%                                        ctex-fontset-windowsold.def,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexsize.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexsize.sty	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexsize.sty	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `style,ctexsize')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,20 +28,20 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese font size definition (CTEX)}
 \ProvidesExplPackage{ctexsize}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \RequirePackage { xparse , l3keys2e }
-\int_new:N \g__ctex_font_size_flag
-\int_set:Nn \g__ctex_font_size_flag { -1 }
+\int_new:N \g__ctex_font_size_int
+\int_set:Nn \g__ctex_font_size_int { -1 }
 \keys_define:nn { ctex / option }
   {
     zihao .choice: ,
     zihao .value_required:n = true ,
-    zihao /     5  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_zero } ,
-    zihao /    -4  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_one } ,
-    zihao / false  .code:n = { \cs_gset_eq:NN \g__ctex_font_size_flag \c_two } ,
+    zihao /     5  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } ,
+    zihao /    -4  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } ,
+    zihao / false  .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } ,
   }
 \tl_clear_new:N \l__ctex_tmp_tl
 \clist_map_inline:nn
@@ -53,7 +53,7 @@
     \tl_put_right:Nn \l__ctex_tmp_tl
       {
         #1 .code:n =
-          { \cs_gset_eq:NN \g__ctex_font_size_flag \c_two } ,
+          { \int_gset:Nn \g__ctex_font_size_int { 2 } } ,
         #1 .value_forbidden:n = true ,
       }
   }
@@ -84,7 +84,7 @@
         \prop_gput:Nnn \exp_not:N \c__ctex_font_size_prop {#1}
           {
             { \dim_to_decimal:n {#2} }
-            { \dim_to_decimal:n { (#2) * \c_six / \c_five } }
+            { \dim_to_decimal:n { (#2) * 6 / 5 } }
           }
       }
     \seq_gput_right:Nn \c__ctex_font_size_seq {#1}
@@ -152,7 +152,7 @@
   }
 \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4
   { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } }
-\if_case:w \g__ctex_font_size_flag
+\if_case:w \g__ctex_font_size_int
   \ctex_file_input:n { ctex-c5size.clo }
 \or:
   \ctex_file_input:n { ctex-cs4size.clo }
@@ -204,6 +204,12 @@
 %%                                        c70rm.fd,
 %%                                        c70sf.fd,
 %%                                        c70tt.fd,
+%%                                        jy2zhrm.fd,
+%%                                        jy2zhsf.fd,
+%%                                        jy2zhtt.fd,
+%%                                        jt2zhrm.fd,
+%%                                        jt2zhsf.fd,
+%%                                        jt2zhtt.fd,
 %%                                        ctex-fontset-windows.def,
 %%                                        ctex-fontset-windowsnew.def,
 %%                                        ctex-fontset-windowsold.def,

Modified: trunk/Master/texmf-dist/tex/latex/ctex/ctexspa.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctexspa.def	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctexspa.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -7,7 +7,7 @@
 %% ctex.dtx  (with options: `ctexspa')
 %% ctexpunct.spa 
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,7 +28,7 @@
 %% ------------------------------------------------------------------------------
 %% 
 \ProvidesFile{ctexspa.def}%
-  [2018/05/01 v2.4.14 Space info for CJKpunct (CTEX)]
+  [2019/04/07 v2.4.15 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/ctxdoc.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/ctxdoc.cls	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/ctxdoc.cls	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `ctxdoc')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -28,10 +28,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {ctex documentation (CTEX)}
 \ProvidesExplClass{ctxdoc}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \ExplSyntaxOff
 \let\pdfmdfivesum\mdfivesum
 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{l3doc}}
@@ -62,7 +62,7 @@
 \RequirePackage{unicode-math}
 \RequirePackage{xcolor}
 \RequirePackage{caption}
-\RequirePackage{fvrb-ex}
+\RequirePackage{fancyvrb-ex}
 \RequirePackage{zref-base}
 \geometry{includemp,hmargin={0mm,15mm},vmargin={25mm,15mm},footskip=7mm}
 \hypersetup{pdfstartview=FitH,bookmarksdepth=subparagraph}
@@ -220,8 +220,8 @@
   { \iow_term:n { *** ~ FAIL ~ *** } }
 \ctex_patch_cmd_once:NnnnTF \__codedoc_macro_dump:
   { }
-  { \hbox_unpack_clear:N }
-  { \MacroFont \hbox_unpack_clear:N }
+  { \hbox_unpack_drop:N }
+  { \MacroFont \hbox_unpack_drop:N }
   { \iow_term:n { *** ~ SUCCESS ~ *** } }
   { \iow_term:n { *** ~ FAIL ~ *** } }
 \cs_set_eq:NN \__codedoc_macro_end_style:n \use_none:n
@@ -230,7 +230,7 @@
     \vbox_set:Nn \l__codedoc_macro_box
       {
         \MacroFont
-        \vbox_unpack_clear:N \l__codedoc_macro_box
+        \vbox_unpack_drop:N \l__codedoc_macro_box
         \hbox_set:Nn \l_tmpa_box
           { \__codedoc_print_macroname:nN {#1} #2 }
         \dim_set:Nn \l_tmpa_dim { \marginparwidth - \labelsep }
@@ -293,16 +293,12 @@
 \DeclareDocumentCommand \GetFileId { m }
   {
     \GetFileInfo {#1}
-    \ior_open:NnTF \g__ctxdoc_id_ior { \c_sys_jobname_str .id }
-      {
-        \ior_get:NN \g__ctxdoc_id_ior \l__ctxdoc_tmp_tl
-        \ior_close:N \g__ctxdoc_id_ior
-        \exp_after:wN \GetIdInfo \l__ctxdoc_tmp_tl
-      }
+    \file_get:nnNTF { \c_sys_jobname_str .id }
+      { \int_set:Nn \tex_endlinechar:D { -1 } } \l__ctxdoc_tmp_tl
+      { \exp_after:wN \GetIdInfo \l__ctxdoc_tmp_tl }
       { \GetIdInfo $Id$ }
       { \fileinfo }
   }
-\ior_new:N \g__ctxdoc_id_ior
 \cs_new_eq:NN \__ctxdoc_ltx_changes:nnn \changes@
 \cs_set_protected:Npn \changes@ #1#2
   {
@@ -324,10 +320,10 @@
     \int_zero:N \l_tmpa_int
     \seq_set_split:Nnn \l_tmpa_seq { . } {#1}
     \seq_map_function:NN \l_tmpa_seq \__ctxdoc_version_zfill:n
-    \int_compare:nNnF \l_tmpa_int > \c_two
+    \int_compare:nNnF \l_tmpa_int > 2
       {
         \tl_put_right:Nx \l__ctxdoc_tmp_tl
-          { \prg_replicate:nn { \c_three - \l_tmpa_int } { 00000 } }
+          { \prg_replicate:nn { 3 - \l_tmpa_int } { 00000 } }
       }
     \__ctxdoc_ltx_changes:nnn { \l__ctxdoc_tmp_tl \actualchar #2 }
   }
@@ -490,7 +486,7 @@
 \tl_new:N \g__ctxdoc_verbatim_verb_stop_tl
 \cs_new_protected_nopar:Npn \__ctxdoc_process_normal_line:
   {
-    \str_if_eq_x:nnTF
+    \str_if_eq:eeTF
       { \str_head:N \l__ctxdoc_verbatim_line_tl } { \c_percent_str }
       { \__ctxdoc_check_angle:x { \tl_tail:N \l__ctxdoc_verbatim_line_tl } }
       { \__ctxdoc_output_line: }
@@ -517,7 +513,7 @@
   { \cs_set_eq:NN \__ctxdoc_verbatim_process_line: \__ctxdoc_output_line: }
 \cs_new_protected:Npn \__ctxdoc_check_angle:n #1
   {
-     \str_if_eq_x:nnTF { \str_head:n {#1} } { < }
+     \str_if_eq:eeTF { \str_head:n {#1} } { < }
       { \__ctxdoc_check_module:x { \tl_tail:n {#1} } }
       { \__ctxdoc_output_percent_line: }
   }
@@ -614,7 +610,7 @@
     \tl_if_eq:NNTF \l__ctxdoc_verbatim_line_tl \c__ctxdoc_active_cr_tl
       { \tl_use:N \l__ctxdoc_verbatim_line_tl }
       {
-        \str_if_eq_x:nnTF
+        \str_if_eq:eeTF
           { \str_head:N \l__ctxdoc_verbatim_line_tl }
           { \c_percent_str }
           { \__ctxdoc_output_percent_line: }
@@ -627,7 +623,7 @@
     \group_begin:
       \color { code at gray }
       \__ctxdoc_swap_cr:
-      \str_if_eq_x:nnTF { \f at shape } { \updefault }
+      \str_if_eq:eeTF { \f at shape } { \updefault }
         { \slshape }
         { \upshape }
       \__ctxdoc_output_line:

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseGBK.dict	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `dict,theorem,GBK')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -27,7 +27,7 @@
 %% ------------------------------------------------------------------------------
 %% 
 \ProvidesDictionary{translator-theorem-dictionary}{ChineseGBK}%
-  [2018/05/01 v2.4.14 Chinese translation for theorem name (CTEX)]
+  [2019/04/07 v2.4.15 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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseUTF8.dict	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `dict,theorem,UTF8')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -27,7 +27,7 @@
 %% ------------------------------------------------------------------------------
 %% 
 \ProvidesDictionary{translator-theorem-dictionary}{ChineseUTF8}%
-  [2018/05/01 v2.4.14 Chinese translation for theorem name (CTEX)]
+  [2019/04/07 v2.4.15 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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `aptex')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Asian pTeX adapter (CTEX)}
 \ProvidesExplFile{ctex-engine-aptex.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \cs_new_protected_nopar:Npn \ctex_set_zhmap:n #1
   {
     \AtBeginDvi {#1}
@@ -37,32 +37,43 @@
       { \AtBeginShipoutFirst {#1} }
   }
 \@onlypreamble \ctex_set_zhmap:n
-\tl_set:Nn \CJKrmdefault { rm }
-\tl_set:Nn \CJKsfdefault { sf }
-\tl_set:Nn \CJKttdefault { tt }
+\tl_set:Nn \CJKrmdefault { zhrm }
+\tl_set:Nn \CJKsfdefault { zhsf }
+\tl_set:Nn \CJKttdefault { zhtt }
 \tl_set:Nn \CJKfamilydefault { \CJKrmdefault }
-\ctex_preto_cmd:NnnTF \rmfamily { \ExplSyntaxOff }
-  { \kanjifamily { \CJKrmdefault } }
-  { }
-  { \ctex_patch_failure:N \rmfamily }
-\ctex_preto_cmd:NnnTF \sffamily { \ExplSyntaxOff }
-  { \kanjifamily { \CJKsfdefault } }
-  { }
-  { \ctex_patch_failure:N \sffamily }
-\ctex_preto_cmd:NnnTF \ttfamily { \ExplSyntaxOff }
-  { \kanjifamily { \CJKttdefault } }
-  { }
-  { \ctex_patch_failure:N \ttfamily }
-\ctex_preto_cmd:NnnTF \normalfont { \ExplSyntaxOff }
-  { \kanjifamily { \CJKfamilydefault } }
-  { \cs_set_eq:NN \reset at font \normalfont }
-  { \ctex_patch_failure:N \normalfont }
+\tl_set:Nn \kanjifamilydefault { \CJKfamilydefault }
+\RenewDocumentCommand \rmfamily { }
+  {
+    \not at math@alphabet \rmfamily \mathrm
+    \romanfamily \rmdefault
+    \kanjifamily \CJKrmdefault
+    \selectfont
+  }
+\RenewDocumentCommand \sffamily { }
+  {
+    \not at math@alphabet \sffamily \mathsf
+    \romanfamily \sfdefault
+    \kanjifamily \CJKsfdefault
+    \selectfont
+  }
+\RenewDocumentCommand \ttfamily { }
+  {
+    \not at math@alphabet \ttfamily \mathtt
+    \romanfamily \ttdefault
+    \kanjifamily \CJKttdefault
+    \selectfont
+  }
 \NewDocumentCommand \CJKfamily { m }
   {
-    \kanjifamily { #1 }
+    \kanjifamily {#1}
     \selectfont
   }
-\tl_set:Nn \kanjifamilydefault { \CJKfamilydefault }
+\DeclareErrorKanjiFont{JY2}{zhrm}{m}{n}{10}
+\DeclareKanjiSubstitution{JY2}{zhrm}{m}{n}
+\DeclareKanjiSubstitution{JT2}{zhrm}{m}{n}
+\DeclareSymbolFont{mincho}{JY2}{zhrm}{m}{n}
+\SetSymbolFont{mincho}{bold}{JY2}{zhrm}{bx}{n}
+\jfam \symmincho
 \ctex_at_end_preamble:n { \ctex_update_default_family: }
 \normalfont
 \ctex_patch_cmd_once:NnnnTF \em
@@ -164,14 +175,14 @@
 \cs_new_eq:NN \CTEXfilltwosides \use_none:n
 \cs_new_eq:NN \endCTEXfilltwosides \prg_do_nothing:
 \cs_new_protected_nopar:Npn \ctex_update_ccwd:
-  { \skip_set:Nn \ccwd { 1zw + \ptex_kanjiskip:D } }
+  { \skip_set:Nn \ccwd { 1zw + \tex_kanjiskip:D } }
 \dim_new:N \ccwd
 \cs_new_protected_nopar:Npn \ctex_update_ccglue:
-  { \skip_set_eq:NN \ptex_kanjiskip:D \l__ctex_ccglue_skip }
+  { \skip_set_eq:NN \tex_kanjiskip:D \l__ctex_ccglue_skip }
 \skip_new:N \l__ctex_ccglue_skip
 \prg_new_conditional:Npnn \ctex_if_ccglue_touched: { TF }
   {
-    \skip_if_eq:nnTF { \l__ctex_ccglue_skip } { \ptex_kanjiskip:D }
+    \skip_if_eq:nnTF { \l__ctex_ccglue_skip } { \tex_kanjiskip:D }
       { \prg_return_false: } { \prg_return_true: }
   }
 \cs_new_protected_nopar:Npn \ctex_update_em_unit:
@@ -208,10 +219,10 @@
 \cs_new_protected_nopar:Npn \ctex_update_xkanjiskip:
   {
     \skip_if_eq:nnT
-      { \ptex_xkanjiskip:D } { \l__ctex_xkanjiskip_skip }
+      { \tex_xkanjiskip:D } { \l__ctex_xkanjiskip_skip }
       {
         \skip_set:Nn \l__ctex_xkanjiskip_skip { \l__ctex_xkanjiskip_tl }
-        \skip_set_eq:NN \ptex_xkanjiskip:D \l__ctex_xkanjiskip_skip
+        \skip_set_eq:NN \tex_xkanjiskip:D \l__ctex_xkanjiskip_skip
       }
   }
 \tl_new:N \l__ctex_xkanjiskip_tl
@@ -219,7 +230,7 @@
   { .25zw plus 1pt minus 1pt }
 \skip_new:N \l__ctex_xkanjiskip_skip
 \skip_set:Nn \l__ctex_xkanjiskip_skip
-  { \ptex_xkanjiskip:D }
+  { \tex_xkanjiskip:D }
 \ctex_add_to_selectfont:n { \ctex_update_xkanjiskip: }
 \keys_define:nn { ctex }
   {
@@ -236,24 +247,6 @@
     punct .default:n = { quanjiao } ,
   }
 \tl_set:Nn \l__ctex_encoding_tl { UTF8 }
-\DeclareKanjiFamily{JY2}{rm}{}
-\DeclareKanjiFamily{JY2}{sf}{}
-\DeclareKanjiFamily{JY2}{tt}{}
-\DeclareKanjiFamily{JT2}{rm}{}
-\DeclareKanjiFamily{JT2}{sf}{}
-\DeclareKanjiFamily{JT2}{tt}{}
-\DeclareFontShape{JY2}{rm}{m}{n}{<-> upzhserif-h}{}
-\DeclareFontShape{JY2}{rm}{m}{it}{<-> upzhserifit-h}{}
-\DeclareFontShape{JY2}{rm}{bx}{n}{<-> upzhserifb-h}{}
-\DeclareFontShape{JT2}{rm}{m}{n}{<-> upzhserif-v}{}
-\DeclareFontShape{JT2}{rm}{m}{it}{<-> upzhserifit-v}{}
-\DeclareFontShape{JT2}{rm}{bx}{n}{<-> upzhserifb-v}{}
-\DeclareFontShape{JY2}{sf}{m}{n}{<-> upzhsans-h}{}
-\DeclareFontShape{JY2}{sf}{bx}{n}{<-> upzhsansb-h}{}
-\DeclareFontShape{JT2}{sf}{m}{n}{<-> upzhsans-v}{}
-\DeclareFontShape{JT2}{sf}{bx}{n}{<-> upzhsansb-v}{}
-\DeclareFontShape{JY2}{tt}{m}{n}{<-> upzhmono-h}{}
-\DeclareFontShape{JT2}{tt}{m}{n}{<-> upzhmono-v}{}
 %% 
 %%
 %% End of file `ctex-engine-aptex.def'.

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `luatex')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {LuaLaTeX adapter (CTEX)}
 \ProvidesExplFile{ctex-engine-luatex.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \msg_new:nnn { ctex } { luatexja-loaded }
   {
     Package~`luatexja'~can~not~be~loaded~before~`ctex'.\\
@@ -81,13 +81,13 @@
 \AtBeginUTFCommand
   {
     \group_begin:
-    \lua_now_x:n { tex.globaldefs = 0 }
+    \lua_now:e { tex.globaldefs = 0 }
     \ltj at allalchar
   }
 \AtEndUTFCommand { \group_end: }
 \cs_set_protected:Npn \fontspec_visible_space:
   {
-    \etex_iffontchar:D \tex_font:D "2423 \exp_stop_f:
+    \tex_iffontchar:D \tex_font:D "2423 \exp_stop_f:
       \ltjalchar "2423 \exp_stop_f:
     \else:
       \fontspec_visible_space_fallback:
@@ -155,7 +155,7 @@
       }
     \exp_after:wN \globaljfont \font at name \external at font \scan_stop:
     \font at name
-    \lua_now_x:n { font.current(tex.getattribute('ltj at curjfnt')) }
+    \lua_now:e { font.current(tex.getattribute('ltj at curjfnt')) }
     \use:c { \f at encoding + \f at family }
     \use:c { \curr at fontshape }
   }
@@ -181,21 +181,21 @@
   }
 \prg_new_conditional:Npnn \ctex_ltj_if_alternate_shape_exist:n #1 { T , F , TF }
   {
-    \lua_now_x:n { luatexja.jfont.does_alt_set ('\lua_escape_x:n {#1}') }
+    \lua_now:e { luatexja.jfont.does_alt_set ('\lua_escape:e {#1}') }
       \prg_return_true: \else: \prg_return_false: \fi:
   }
 \cs_new_nopar:Npn \__ctex_ltj_patch_external_font:w #1 ~ at
-  { #1 \lua_now_x:n { luatexja.jfont.print_aftl_address() } ~ at }
+  { #1 \lua_now:e { luatexja.jfont.print_aftl_address() } ~ at }
 \cs_new_protected_nopar:Npn \ctex_ltj_select_alternate_font:
   {
     \ctex_ltj_if_alternate_shape_exist:nT { \l__ctex_ltj_current_shape_tl }
       {
-        \lua_now_x:n
+        \lua_now:e
           {
             luatexja.jfont.output_alt_font_cmd
-              ('y', '\lua_escape_x:n { \l__ctex_ltj_current_shape_tl }')
+              ('y', '\lua_escape:e { \l__ctex_ltj_current_shape_tl }')
           }
-        \lua_now_x:n { luatexja.jfont.pickup_alt_font_a ('\f at size') }
+        \lua_now:e { luatexja.jfont.pickup_alt_font_a ('\f at size') }
       }
   }
 \tl_new:N \l__ctex_ltj_current_shape_tl
@@ -216,16 +216,16 @@
 \cs_new_protected_nopar:Npn \ltj at pickup@altfont at copy #1#2
   {
     \ltj@@getjfontnumber #1
-    \lua_now_x:n
+    \lua_now:e
       {
         luatexja.jfont.pickup_alt_font_b
-          ( \int_use:N \ltj at tempcntc, '\lua_escape_x:n {#2}' )
+          ( \int_use:N \ltj at tempcntc, '\lua_escape:e {#2}' )
       }
   }
 \cs_new:Npn \ctex_ltj_if_jfont:nTF #1
   {
-    \lua_now_x:n
-      { luatexja.jfont.is_kenc( string.match('\lua_escape_x:n {#1}', '[^/]+') ) }
+    \lua_now:e
+      { luatexja.jfont.is_kenc( string.match('\lua_escape:e {#1}', '[^/]+') ) }
     \ifin@ \exp_after:wN \use_i:nn \else: \exp_after:wN \use_ii:nn \fi:
   }
 \cs_new:Npn \ctex_ltj_if_jfont_math:NTF #1
@@ -315,7 +315,7 @@
     \exp_not:N \DeclareFontSubstitution
       { \CJK at encoding } { song } { \mddefault } { \updefault }
   }
-\lua_now_x:n { luatexja.jfont.add_kyenc_list('\CJK at encoding') }
+\lua_now:e { luatexja.jfont.add_kyenc_list('\CJK at encoding') }
 \cs_new_protected_nopar:Npn \__ctex_ltj_change_encoding:
   { \tl_set_eq:NN \g_fontspec_encoding_tl \CJK at encoding }
 \DeclareFontFamily { \CJK at encoding } { song } { }
@@ -462,7 +462,7 @@
   }
 \cs_new_nopar:Npn \__ctex_ltj_msg_def_family_map:n #1
   {
-    \str_case_x:nnF {#1}
+    \str_case_e:nnF {#1}
       {
         \CJKrmdefault { \token_to_str:N \setCJKmainfont }
         \CJKsfdefault { \token_to_str:N \setCJKsansfont }
@@ -473,7 +473,7 @@
   }
 \cs_new_nopar:Npn \__ctex_ltj_msg_family_map:n #1
   {
-    \str_case_x:nnF {#1}
+    \str_case_e:nnF {#1}
       {
         \CJKrmdefault { \token_to_str:N \CJKrmdefault }
         \CJKsfdefault { \token_to_str:N \CJKsfdefault }
@@ -636,7 +636,7 @@
   }
 \cs_new_protected_nopar:Npn \__ctex_ltj_update_family_aux:
   {
-    \str_case_x:nn { \f at family }
+    \str_case_e:nn { \f at family }
       {
         { \rmdefault }     { \CJKfamily { \CJKrmdefault } }
         { \sfdefault }     { \CJKfamily { \CJKsfdefault } }
@@ -651,7 +651,7 @@
       {
         \ctex_ltj_family_if_exist:xNF { \CJKfamilydefault } \l__ctex_ltj_tmp_tl
           {
-            \str_if_eq_x:nnTF { \CJKfamilydefault } { \CJKrmdefault }
+            \str_if_eq:eeTF { \CJKfamilydefault } { \CJKrmdefault }
               { \use:n }
               {
                 \ctex_ltj_family_if_exist:xNTF { \CJKrmdefault } \l__ctex_ltj_tmp_tl
@@ -832,10 +832,10 @@
     \__ctex_ltj_save_alternate_shape:cnn
       { \__ctex_ltj_alternate_cs:n { clear / \l__ctex_ltj_base_CJKfamily_tl } }
       { luatexja.jfont.clear_alt_font_latex }
-      { '\lua_escape_x:n { \CJK at encoding/#2/#3/#4 }' }
+      { '\lua_escape:e { \CJK at encoding/#2/#3/#4 }' }
   }
 \NewDocumentCommand \ctex_ltj_set_alternate_shape:nnn
-  { m m > { \SplitArgument { \c_one } { -> } } m }
+  { m m > { \SplitArgument { 1 } { -> } } m }
   { \ctex_ltj_set_alternate_shape:nnnn {#1} {#2} #3 }
 \cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:nnnn #1#2#3#4
   {
@@ -847,13 +847,13 @@
             \int_eval:n { \tl_if_blank:nTF {#3} { "80 } {#3} } ,
             \int_eval:n { \tl_if_blank:nTF {#4} { "10FFFF } {#4} } ,
           }
-        '\lua_escape_x:n { \CJK at encoding/#2 }' ,
-        '\lua_escape_x:n { \CJK at encoding/#1 }'
+        '\lua_escape:e { \CJK at encoding/#2 }' ,
+        '\lua_escape:e { \CJK at encoding/#1 }'
       }
   }
 \cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:n #1
   {
-    \lua_now_x:n { luatexja.jfont.set_alt_font_latex ( #1 ) }
+    \lua_now:e { luatexja.jfont.set_alt_font_latex ( #1 ) }
     \__ctex_ltj_save_alternate_shape:cnn
       { \__ctex_ltj_alternate_cs:n { reset / \l__ctex_ltj_base_CJKfamily_tl } }
       { luatexja.jfont.set_alt_font_latex } {#1}
@@ -865,8 +865,8 @@
         \ctex_ltj_set_alternate_shape:n
           {
             ##1 ,
-            '\lua_escape_x:n { \CJK at encoding/#2 }' ,
-            '\lua_escape_x:n { \CJK at encoding/#1 }'
+            '\lua_escape:e { \CJK at encoding/#2 }' ,
+            '\lua_escape:e { \CJK at encoding/#1 }'
           }
       }
   }
@@ -875,9 +875,9 @@
     \group_begin:
     \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: }
     \cs_set_eq:NN \l__ctex_ltj_base_family_tl \scan_stop:
-    \cs_set_eq:NN \lua_escape_x:n \scan_stop:
+    \cs_set_eq:NN \lua_escape:e \scan_stop:
     \cs_gset_protected_nopar:Npx #1
-      { \exp_not:o {#1} \exp_not:N \lua_now_x:n { #2 ( #3 ) } }
+      { \exp_not:o {#1} \exp_not:N \lua_now:e { #2 ( #3 ) } }
     \group_end:
   }
 \cs_generate_variant:Nn \__ctex_ltj_save_alternate_shape:Nnn { c }
@@ -940,7 +940,7 @@
 \tl_new:N \l__ctex_ltj_char_range_tl
 \prop_new:N \g__ctex_ltj_char_range_prop
 \NewDocumentCommand \ctex_ltj_save_char_range:n
-  { > { \SplitArgument { \c_one } { -> } } m }
+  { > { \SplitArgument { 1 } { -> } } m }
   { \ctex_ltj_save_char_range:nn #1 }
 \cs_new_protected_nopar:Npn \ctex_ltj_save_char_range:nn #1#2
   {
@@ -1035,7 +1035,7 @@
   {
     \tl_gset:Nx \g__ctex_fontset_tl
       {
-        \lua_now_x:n
+        \lua_now:e
           {
             if ~ os.name == 'windows' then ~
               tex.sprint ( 'windows' )
@@ -1127,7 +1127,7 @@
 \newluafunction \g__ctex_kanjisize_func
 \group_begin:
 \char_set_catcode_space:n { 32 }
-\lua_now_x:n
+\lua_now:e
   {
     local nulltable = { }
     local t = lua.get_functions_table()
@@ -1145,7 +1145,7 @@
   }
 \group_end:
 \cs_new_protected_nopar:Npn \ctex_update_kanjisize:
- { \luatex_luafunction:D \g__ctex_kanjisize_func }
+ { \tex_luafunction:D \g__ctex_kanjisize_func }
 \ctex_add_to_selectfont:n { \ctex_update_kanjisize: }
 \keys_define:nn { ctex }
   {

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `pdftex')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {(pdf)LaTeX adapter (CTEX)}
 \ProvidesExplFile{ctex-engine-pdftex.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \cs_new_protected_nopar:Npn \ctex_set_zhmap:n #1
   {
     \AtBeginDvi {#1}
@@ -63,11 +63,11 @@
 \cs_new_protected_nopar:Npn \__ctex_save_cmap:Nn #1#2
   {
     \tl_set:Nx \l__ctex_tmp_tl { \str_lower_case:n {#2} \CJK at plane }
-    \tex_immediate:D \pdftex_pdfobj:D stream ~ file { \l__ctex_tmp_tl .cmap }
+    \tex_immediate:D \tex_pdfobj:D stream ~ file { \l__ctex_tmp_tl .cmap }
     \cs_new_protected_nopar:Npx #1
       {
-        \exp_not:N \pdftex_pdffontattr:D \exp_not:N \tex_font:D
-          { /ToUnicode ~ \int_use:N \pdftex_pdflastobj:D \c_space_tl 0 ~ R }
+        \exp_not:N \tex_pdffontattr:D \exp_not:N \tex_font:D
+          { /ToUnicode ~ \int_use:N \tex_pdflastobj:D \c_space_tl 0 ~ R }
       }
   }
 \group_begin:
@@ -157,16 +157,16 @@
       \tl_set:Nx \l__ctex_tmp_tl {#2}
       \int_set:Nn \l__ctex_tmp_int
         { \exp_args:No \int_from_hex:n { \l__ctex_tmp_tl } }
-      \int_compare:nNnTF \l__ctex_tmp_int < \c_two_hundred_fifty_six
+      \int_compare:nNnTF \l__ctex_tmp_int < { 256 }
         { \tl_gset:Nx #1 { \int_to_Hex:n { \l__ctex_tmp_int } } }
         {
-          \int_sub:Nn \l__ctex_tmp_int { \c_two_hundred_fifty_six }
+          \int_sub:Nn \l__ctex_tmp_int { 256 }
           \tl_gset:Nx #1
             {
               \int_to_Hex:n
-                { \int_div_truncate:nn { \l__ctex_tmp_int } { \c_four } + "D800 }
+                { \int_div_truncate:nn { \l__ctex_tmp_int } { 4 } + "D800 }
               \int_to_Hex:n
-                { \int_mod:nn { \l__ctex_tmp_int } { \c_four } + "DC }
+                { \int_mod:nn { \l__ctex_tmp_int } { 4 } + "DC }
             }
         }
     }
@@ -174,7 +174,7 @@
 \fi:
 \AtBeginDocument
   {
-    \str_if_eq_x:nnF { \l__ctex_punct_tl } { quanjiao }
+    \str_if_eq:eeF { \l__ctex_punct_tl } { quanjiao }
       { \punctstyle { \l__ctex_punct_tl } }
   }
 \ctex_at_end_preamble:n { \ctex_update_default_family: }

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `uptex')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {upTeX adapter (CTEX)}
 \ProvidesExplFile{ctex-engine-uptex.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \cs_new_protected_nopar:Npn \ctex_set_zhmap:n #1
   {
     \AtBeginDvi {#1}
@@ -37,32 +37,43 @@
       { \AtBeginShipoutFirst {#1} }
   }
 \@onlypreamble \ctex_set_zhmap:n
-\tl_set:Nn \CJKrmdefault { rm }
-\tl_set:Nn \CJKsfdefault { sf }
-\tl_set:Nn \CJKttdefault { tt }
+\tl_set:Nn \CJKrmdefault { zhrm }
+\tl_set:Nn \CJKsfdefault { zhsf }
+\tl_set:Nn \CJKttdefault { zhtt }
 \tl_set:Nn \CJKfamilydefault { \CJKrmdefault }
-\ctex_preto_cmd:NnnTF \rmfamily { \ExplSyntaxOff }
-  { \kanjifamily { \CJKrmdefault } }
-  { }
-  { \ctex_patch_failure:N \rmfamily }
-\ctex_preto_cmd:NnnTF \sffamily { \ExplSyntaxOff }
-  { \kanjifamily { \CJKsfdefault } }
-  { }
-  { \ctex_patch_failure:N \sffamily }
-\ctex_preto_cmd:NnnTF \ttfamily { \ExplSyntaxOff }
-  { \kanjifamily { \CJKttdefault } }
-  { }
-  { \ctex_patch_failure:N \ttfamily }
-\ctex_preto_cmd:NnnTF \normalfont { \ExplSyntaxOff }
-  { \kanjifamily { \CJKfamilydefault } }
-  { \cs_set_eq:NN \reset at font \normalfont }
-  { \ctex_patch_failure:N \normalfont }
+\tl_set:Nn \kanjifamilydefault { \CJKfamilydefault }
+\RenewDocumentCommand \rmfamily { }
+  {
+    \not at math@alphabet \rmfamily \mathrm
+    \romanfamily \rmdefault
+    \kanjifamily \CJKrmdefault
+    \selectfont
+  }
+\RenewDocumentCommand \sffamily { }
+  {
+    \not at math@alphabet \sffamily \mathsf
+    \romanfamily \sfdefault
+    \kanjifamily \CJKsfdefault
+    \selectfont
+  }
+\RenewDocumentCommand \ttfamily { }
+  {
+    \not at math@alphabet \ttfamily \mathtt
+    \romanfamily \ttdefault
+    \kanjifamily \CJKttdefault
+    \selectfont
+  }
 \NewDocumentCommand \CJKfamily { m }
   {
-    \kanjifamily { #1 }
+    \kanjifamily {#1}
     \selectfont
   }
-\tl_set:Nn \kanjifamilydefault { \CJKfamilydefault }
+\DeclareErrorKanjiFont{JY2}{zhrm}{m}{n}{10}
+\DeclareKanjiSubstitution{JY2}{zhrm}{m}{n}
+\DeclareKanjiSubstitution{JT2}{zhrm}{m}{n}
+\DeclareSymbolFont{mincho}{JY2}{zhrm}{m}{n}
+\SetSymbolFont{mincho}{bold}{JY2}{zhrm}{bx}{n}
+\jfam \symmincho
 \ctex_at_end_preamble:n { \ctex_update_default_family: }
 \normalfont
 \ctex_patch_cmd_once:NnnnTF \em
@@ -174,14 +185,14 @@
 \cs_new_eq:NN \CTEXfilltwosides \use_none:n
 \cs_new_eq:NN \endCTEXfilltwosides \prg_do_nothing:
 \cs_new_protected_nopar:Npn \ctex_update_ccwd:
-  { \skip_set:Nn \ccwd { 1zw + \ptex_kanjiskip:D } }
+  { \skip_set:Nn \ccwd { 1zw + \tex_kanjiskip:D } }
 \dim_new:N \ccwd
 \cs_new_protected_nopar:Npn \ctex_update_ccglue:
-  { \skip_set_eq:NN \ptex_kanjiskip:D \l__ctex_ccglue_skip }
+  { \skip_set_eq:NN \tex_kanjiskip:D \l__ctex_ccglue_skip }
 \skip_new:N \l__ctex_ccglue_skip
 \prg_new_conditional:Npnn \ctex_if_ccglue_touched: { TF }
   {
-    \skip_if_eq:nnTF { \l__ctex_ccglue_skip } { \ptex_kanjiskip:D }
+    \skip_if_eq:nnTF { \l__ctex_ccglue_skip } { \tex_kanjiskip:D }
       { \prg_return_false: } { \prg_return_true: }
   }
 \cs_new_protected_nopar:Npn \ctex_update_em_unit:
@@ -218,10 +229,10 @@
 \cs_new_protected_nopar:Npn \ctex_update_xkanjiskip:
   {
     \skip_if_eq:nnT
-      { \ptex_xkanjiskip:D } { \l__ctex_xkanjiskip_skip }
+      { \tex_xkanjiskip:D } { \l__ctex_xkanjiskip_skip }
       {
         \skip_set:Nn \l__ctex_xkanjiskip_skip { \l__ctex_xkanjiskip_tl }
-        \skip_set_eq:NN \ptex_xkanjiskip:D \l__ctex_xkanjiskip_skip
+        \skip_set_eq:NN \tex_xkanjiskip:D \l__ctex_xkanjiskip_skip
       }
   }
 \tl_new:N \l__ctex_xkanjiskip_tl
@@ -229,7 +240,7 @@
   { .25zw plus 1pt minus 1pt }
 \skip_new:N \l__ctex_xkanjiskip_skip
 \skip_set:Nn \l__ctex_xkanjiskip_skip
-  { \ptex_xkanjiskip:D }
+  { \tex_xkanjiskip:D }
 \ctex_add_to_selectfont:n { \ctex_update_xkanjiskip: }
 \keys_define:nn { ctex }
   {
@@ -246,24 +257,6 @@
     punct .default:n = { quanjiao } ,
   }
 \tl_set:Nn \l__ctex_encoding_tl { UTF8 }
-\DeclareKanjiFamily{JY2}{rm}{}
-\DeclareKanjiFamily{JY2}{sf}{}
-\DeclareKanjiFamily{JY2}{tt}{}
-\DeclareKanjiFamily{JT2}{rm}{}
-\DeclareKanjiFamily{JT2}{sf}{}
-\DeclareKanjiFamily{JT2}{tt}{}
-\DeclareFontShape{JY2}{rm}{m}{n}{<-> upzhserif-h}{}
-\DeclareFontShape{JY2}{rm}{m}{it}{<-> upzhserifit-h}{}
-\DeclareFontShape{JY2}{rm}{bx}{n}{<-> upzhserifb-h}{}
-\DeclareFontShape{JT2}{rm}{m}{n}{<-> upzhserif-v}{}
-\DeclareFontShape{JT2}{rm}{m}{it}{<-> upzhserifit-v}{}
-\DeclareFontShape{JT2}{rm}{bx}{n}{<-> upzhserifb-v}{}
-\DeclareFontShape{JY2}{sf}{m}{n}{<-> upzhsans-h}{}
-\DeclareFontShape{JY2}{sf}{bx}{n}{<-> upzhsansb-h}{}
-\DeclareFontShape{JT2}{sf}{m}{n}{<-> upzhsans-v}{}
-\DeclareFontShape{JT2}{sf}{bx}{n}{<-> upzhsansb-v}{}
-\DeclareFontShape{JY2}{tt}{m}{n}{<-> upzhmono-h}{}
-\DeclareFontShape{JT2}{tt}{m}{n}{<-> upzhmono-v}{}
 %% 
 %%
 %% End of file `ctex-engine-uptex.def'.

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `xetex')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {XeLaTeX adapter (CTEX)}
 \ProvidesExplFile{ctex-engine-xetex.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c19rm.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -4,9 +4,9 @@
 %%
 %% The original source files were:
 %%
-%% ctex.dtx  (with options: `rm,c19')
+%% ctex.dtx  (with options: `fd,rm,c19')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -27,7 +27,7 @@
 %% ------------------------------------------------------------------------------
 %% 
 \ProvidesFile{c19rm.fd}%
-  [2018/05/01 v2.4.14 Chinese font definition (CTEX)]
+  [2019/04/07 v2.4.15 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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c19sf.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -4,9 +4,9 @@
 %%
 %% The original source files were:
 %%
-%% ctex.dtx  (with options: `sf,c19')
+%% ctex.dtx  (with options: `fd,sf,c19')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -27,7 +27,7 @@
 %% ------------------------------------------------------------------------------
 %% 
 \ProvidesFile{c19sf.fd}%
-  [2018/05/01 v2.4.14 Chinese font definition (CTEX)]
+  [2019/04/07 v2.4.15 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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c19tt.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -4,9 +4,9 @@
 %%
 %% The original source files were:
 %%
-%% ctex.dtx  (with options: `tt,c19')
+%% ctex.dtx  (with options: `fd,tt,c19')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -27,7 +27,7 @@
 %% ------------------------------------------------------------------------------
 %% 
 \ProvidesFile{c19tt.fd}%
-  [2018/05/01 v2.4.14 Chinese font definition (CTEX)]
+  [2019/04/07 v2.4.15 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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c70rm.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -4,9 +4,9 @@
 %%
 %% The original source files were:
 %%
-%% ctex.dtx  (with options: `rm,c70')
+%% ctex.dtx  (with options: `fd,rm,c70')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -27,7 +27,7 @@
 %% ------------------------------------------------------------------------------
 %% 
 \ProvidesFile{c70rm.fd}%
-  [2018/05/01 v2.4.14 Chinese font definition (CTEX)]
+  [2019/04/07 v2.4.15 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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c70sf.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -4,9 +4,9 @@
 %%
 %% The original source files were:
 %%
-%% ctex.dtx  (with options: `sf,c70')
+%% ctex.dtx  (with options: `fd,sf,c70')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -27,7 +27,7 @@
 %% ------------------------------------------------------------------------------
 %% 
 \ProvidesFile{c70sf.fd}%
-  [2018/05/01 v2.4.14 Chinese font definition (CTEX)]
+  [2019/04/07 v2.4.15 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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/c70tt.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -4,9 +4,9 @@
 %%
 %% The original source files were:
 %%
-%% ctex.dtx  (with options: `tt,c70')
+%% ctex.dtx  (with options: `fd,tt,c70')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -27,7 +27,7 @@
 %% ------------------------------------------------------------------------------
 %% 
 \ProvidesFile{c70tt.fd}%
-  [2018/05/01 v2.4.14 Chinese font definition (CTEX)]
+  [2019/04/07 v2.4.15 Chinese font definition (CTEX)]
 %%
 %% Chinese characters
 %%

Added: trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -0,0 +1,37 @@
+%%
+%% This is file `jt2zhrm.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ctex.dtx  (with options: `fd,rm,jt2')
+%% 
+%%     Copyright (C) 2003--2019
+%%     CTEX.ORG and any individual authors listed in the documentation.
+%% ------------------------------------------------------------------------------
+%% 
+%%     This work may be distributed and/or modified under the
+%%     conditions of the LaTeX Project Public License, either
+%%     version 1.3c of this license or (at your option) any later
+%%     version. This version of this license is in
+%%        http://www.latex-project.org/lppl/lppl-1-3c.txt
+%%     and the latest version of this license is in
+%%        http://www.latex-project.org/lppl.txt
+%%     and version 1.3 or later is part of all distributions of
+%%     LaTeX version 2005/12/01 or later.
+%% 
+%%     This work has the LPPL maintenance status `maintained'.
+%% 
+%%     The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+%% 
+%% ------------------------------------------------------------------------------
+%% 
+\ProvidesFile{jt2zhrm.fd}%
+  [2019/04/07 v2.4.15 Chinese font definition (CTEX)]
+\DeclareKanjiFamily{JT2}{zhrm}{}
+\DeclareFontShape{JT2}{zhrm}{m}{n}{<-> upzhserif-v}{}
+\DeclareFontShape{JT2}{zhrm}{m}{it}{<-> upzhserifit-v}{}
+\DeclareFontShape{JT2}{zhrm}{bx}{n}{<-> upzhserifb-v}{}
+%% 
+%%
+%% End of file `jt2zhrm.fd'.


Property changes on: trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -0,0 +1,36 @@
+%%
+%% This is file `jt2zhsf.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ctex.dtx  (with options: `fd,sf,jt2')
+%% 
+%%     Copyright (C) 2003--2019
+%%     CTEX.ORG and any individual authors listed in the documentation.
+%% ------------------------------------------------------------------------------
+%% 
+%%     This work may be distributed and/or modified under the
+%%     conditions of the LaTeX Project Public License, either
+%%     version 1.3c of this license or (at your option) any later
+%%     version. This version of this license is in
+%%        http://www.latex-project.org/lppl/lppl-1-3c.txt
+%%     and the latest version of this license is in
+%%        http://www.latex-project.org/lppl.txt
+%%     and version 1.3 or later is part of all distributions of
+%%     LaTeX version 2005/12/01 or later.
+%% 
+%%     This work has the LPPL maintenance status `maintained'.
+%% 
+%%     The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+%% 
+%% ------------------------------------------------------------------------------
+%% 
+\ProvidesFile{jt2zhsf.fd}%
+  [2019/04/07 v2.4.15 Chinese font definition (CTEX)]
+\DeclareKanjiFamily{JT2}{zhsf}{}
+\DeclareFontShape{JT2}{zhsf}{m}{n}{<-> upzhsans-v}{}
+\DeclareFontShape{JT2}{zhsf}{bx}{n}{<-> upzhsansb-v}{}
+%% 
+%%
+%% End of file `jt2zhsf.fd'.


Property changes on: trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -0,0 +1,35 @@
+%%
+%% This is file `jt2zhtt.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ctex.dtx  (with options: `fd,tt,jt2')
+%% 
+%%     Copyright (C) 2003--2019
+%%     CTEX.ORG and any individual authors listed in the documentation.
+%% ------------------------------------------------------------------------------
+%% 
+%%     This work may be distributed and/or modified under the
+%%     conditions of the LaTeX Project Public License, either
+%%     version 1.3c of this license or (at your option) any later
+%%     version. This version of this license is in
+%%        http://www.latex-project.org/lppl/lppl-1-3c.txt
+%%     and the latest version of this license is in
+%%        http://www.latex-project.org/lppl.txt
+%%     and version 1.3 or later is part of all distributions of
+%%     LaTeX version 2005/12/01 or later.
+%% 
+%%     This work has the LPPL maintenance status `maintained'.
+%% 
+%%     The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+%% 
+%% ------------------------------------------------------------------------------
+%% 
+\ProvidesFile{jt2zhtt.fd}%
+  [2019/04/07 v2.4.15 Chinese font definition (CTEX)]
+\DeclareKanjiFamily{JT2}{zhtt}{}
+\DeclareFontShape{JT2}{zhtt}{m}{n}{<-> upzhmono-v}{}
+%% 
+%%
+%% End of file `jt2zhtt.fd'.


Property changes on: trunk/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -0,0 +1,37 @@
+%%
+%% This is file `jy2zhrm.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ctex.dtx  (with options: `fd,rm,jy2')
+%% 
+%%     Copyright (C) 2003--2019
+%%     CTEX.ORG and any individual authors listed in the documentation.
+%% ------------------------------------------------------------------------------
+%% 
+%%     This work may be distributed and/or modified under the
+%%     conditions of the LaTeX Project Public License, either
+%%     version 1.3c of this license or (at your option) any later
+%%     version. This version of this license is in
+%%        http://www.latex-project.org/lppl/lppl-1-3c.txt
+%%     and the latest version of this license is in
+%%        http://www.latex-project.org/lppl.txt
+%%     and version 1.3 or later is part of all distributions of
+%%     LaTeX version 2005/12/01 or later.
+%% 
+%%     This work has the LPPL maintenance status `maintained'.
+%% 
+%%     The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+%% 
+%% ------------------------------------------------------------------------------
+%% 
+\ProvidesFile{jy2zhrm.fd}%
+  [2019/04/07 v2.4.15 Chinese font definition (CTEX)]
+\DeclareKanjiFamily{JY2}{zhrm}{}
+\DeclareFontShape{JY2}{zhrm}{m}{n}{<-> upzhserif-h}{}
+\DeclareFontShape{JY2}{zhrm}{m}{it}{<-> upzhserifit-h}{}
+\DeclareFontShape{JY2}{zhrm}{bx}{n}{<-> upzhserifb-h}{}
+%% 
+%%
+%% End of file `jy2zhrm.fd'.


Property changes on: trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -0,0 +1,36 @@
+%%
+%% This is file `jy2zhsf.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ctex.dtx  (with options: `fd,sf,jy2')
+%% 
+%%     Copyright (C) 2003--2019
+%%     CTEX.ORG and any individual authors listed in the documentation.
+%% ------------------------------------------------------------------------------
+%% 
+%%     This work may be distributed and/or modified under the
+%%     conditions of the LaTeX Project Public License, either
+%%     version 1.3c of this license or (at your option) any later
+%%     version. This version of this license is in
+%%        http://www.latex-project.org/lppl/lppl-1-3c.txt
+%%     and the latest version of this license is in
+%%        http://www.latex-project.org/lppl.txt
+%%     and version 1.3 or later is part of all distributions of
+%%     LaTeX version 2005/12/01 or later.
+%% 
+%%     This work has the LPPL maintenance status `maintained'.
+%% 
+%%     The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+%% 
+%% ------------------------------------------------------------------------------
+%% 
+\ProvidesFile{jy2zhsf.fd}%
+  [2019/04/07 v2.4.15 Chinese font definition (CTEX)]
+\DeclareKanjiFamily{JY2}{zhsf}{}
+\DeclareFontShape{JY2}{zhsf}{m}{n}{<-> upzhsans-h}{}
+\DeclareFontShape{JY2}{zhsf}{bx}{n}{<-> upzhsansb-h}{}
+%% 
+%%
+%% End of file `jy2zhsf.fd'.


Property changes on: trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd	2019-04-07 21:22:23 UTC (rev 50843)
@@ -0,0 +1,35 @@
+%%
+%% This is file `jy2zhtt.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ctex.dtx  (with options: `fd,tt,jy2')
+%% 
+%%     Copyright (C) 2003--2019
+%%     CTEX.ORG and any individual authors listed in the documentation.
+%% ------------------------------------------------------------------------------
+%% 
+%%     This work may be distributed and/or modified under the
+%%     conditions of the LaTeX Project Public License, either
+%%     version 1.3c of this license or (at your option) any later
+%%     version. This version of this license is in
+%%        http://www.latex-project.org/lppl/lppl-1-3c.txt
+%%     and the latest version of this license is in
+%%        http://www.latex-project.org/lppl.txt
+%%     and version 1.3 or later is part of all distributions of
+%%     LaTeX version 2005/12/01 or later.
+%% 
+%%     This work has the LPPL maintenance status `maintained'.
+%% 
+%%     The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+%% 
+%% ------------------------------------------------------------------------------
+%% 
+\ProvidesFile{jy2zhtt.fd}%
+  [2019/04/07 v2.4.15 Chinese font definition (CTEX)]
+\DeclareKanjiFamily{JY2}{zhtt}{}
+\DeclareFontShape{JY2}{zhtt}{m}{n}{<-> upzhmono-h}{}
+%% 
+%%
+%% End of file `jy2zhtt.fd'.


Property changes on: trunk/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-adobe.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `fontset,adobe')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Adobe fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-adobe.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \sys_if_engine_pdftex:TF
   {
     \sys_if_output_pdf:TF

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `fontset,fandol')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Fandol fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-fandol.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \sys_if_engine_pdftex:TF
   {
     \sys_if_output_pdf:TF

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-founder.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `fontset,founder')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Founder fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-founder.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \sys_if_engine_pdftex:TF
   {
     \ctex_zhmap_case:nnn
@@ -81,8 +81,7 @@
       {
         \setCJKmainfont
           [ BoldFont = FZXiaoBiaoSong-B05 , ItalicFont = FZKai-Z03 ] { FZShuSong-Z01 }
-        \setCJKsansfont [ BoldFont = FZHei-B01 ]
-          { \sys_if_engine_xetex:TF { 方正细黑一_GBK } { FZXH1K--GBK1-0 } }
+        \setCJKsansfont [ BoldFont = FZHei-B01 ] { FZXiHeiI-Z08 }
         \setCJKmonofont { FZFangSong-Z02 }
         \setCJKfamilyfont { zhsong } [ BoldFont = FZXiaoBiaoSong-B05 ] { FZShuSong-Z01 }
         \setCJKfamilyfont { zhhei }  { FZHei-B01 }

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-mac.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `fontset,mac')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Mac OS X fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-mac.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macnew.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `fontset,macnew')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Mac OS X fonts definition for El Capitan or later version (CTEX)}
 \ProvidesExplFile{ctex-fontset-macnew.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \sys_if_engine_pdftex:TF
   { \ctex_fontset_error:n { mac } }
   {
@@ -38,8 +38,9 @@
       {
         \setCJKmainfont
           [
-               UprightFont = Songti~SC~Light,
-                ItalicFont = Kaiti~SC,
+               UprightFont = *~Light ,
+                  BoldFont = *~Bold ,
+                ItalicFont = Kaiti~SC ,
             BoldItalicFont = Kaiti~SC~Bold
           ] { Songti~SC }
         \setCJKsansfont { PingFang~SC }
@@ -46,12 +47,13 @@
         \setCJKmonofont { STFangsong }
         \setCJKfamilyfont { zhsong }
           [
-               UprightFont = Songti~SC~Light,
+               UprightFont = *~Light ,
+                  BoldFont = *~Bold ,
           ] { Songti~SC }
         \setCJKfamilyfont { zhhei }  { Heiti~SC }
         \setCJKfamilyfont { zhpf }   { PingFang~SC }
         \setCJKfamilyfont { zhfs }   { STFangsong }
-        \setCJKfamilyfont { zhkai }  { Kaiti~SC }
+\setCJKfamilyfont { zhkai }  { Kaiti~SC }
       }
   }
 \NewDocumentCommand \songti   { } { \CJKfamily { zhsong } }

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macold.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `fontset,macold')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Mac OS X fonts definition for Yosemite or earlier version (CTEX)}
 \ProvidesExplFile{ctex-fontset-macold.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \sys_if_engine_pdftex:TF
   { \ctex_fontset_error:n { mac } }
   {
@@ -36,13 +36,13 @@
     \sys_if_engine_uptex:TF
       { \ctex_fontset_error:n { mac } }
       {
-        \setCJKmainfont [ BoldFont = STHeiti , ItalicFont = STKaiti ]  { STSong }
+        \setCJKmainfont [ BoldFont = STHeiti , ItalicFont = STKaiti ] { STSong }
         \setCJKsansfont [ BoldFont = STHeiti ] { STXihei }
         \setCJKmonofont { STFangsong }
         \setCJKfamilyfont { zhsong } { STSong }
         \setCJKfamilyfont { zhhei }  { STHeiti }
         \setCJKfamilyfont { zhfs }   { STFangsong }
-        \setCJKfamilyfont { zhkai }  { STKaiti }
+\setCJKfamilyfont { zhkai }  { STKaiti }
       }
   }
 \NewDocumentCommand \songti   { } { \CJKfamily { zhsong } }

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-ubuntu.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `fontset,ubuntu')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Ubuntu fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-ubuntu.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \sys_if_engine_pdftex:TF
   {
     \ctex_zhmap_case:nnn

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `fontset,windows')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Windows fonts definition (CTEX)}
 \ProvidesExplFile{ctex-fontset-windows.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \file_if_exist:nTF { C:/bootfont.bin }
   { \ctex_file_input:n { ctex-fontset-windowsold.def } }
   { \ctex_file_input:n { ctex-fontset-windowsnew.def } }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsnew.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsnew.def	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsnew.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `fontset,windowsnew')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Windows fonts definition for Vista or later version (CTEX)}
 \ProvidesExplFile{ctex-fontset-windowsnew.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \tl_new:N \l__ctex_msyh_suffix_tl
 \tl_set:Nn \l__ctex_msyh_suffix_tl { .ttc }
 \file_if_exist:nF { C:/Windows/Fonts/msyh.ttc }

Modified: trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsold.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsold.def	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsold.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `fontset,windowsold')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Windows fonts definition for XP or earlier version (CTEX)}
 \ProvidesExplFile{ctex-fontset-windowsold.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \sys_if_engine_pdftex:TF
   {
     \ctex_zhmap_case:nnn

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `scheme,article,chinese')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,13 +26,14 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese scheme for article (CTEX)}
 \ProvidesExplFile{ctex-scheme-chinese-article.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \keys_set:nn { ctex / part }
   {
     aftertitle  = \par ,
+    hang        = false ,
     number      = \chinese { part } ,
     beforeskip  = 4ex ,
     afterskip   = 3ex ,
@@ -94,7 +95,7 @@
     break       = \addpenalty \@secpenalty ,
     afterindent = true
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   {
     \keys_set:nn { ctex / paragraph }
       {
@@ -110,7 +111,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_three
+\int_compare:nNnTF \g__ctex_section_depth_int > 3
   {
     \keys_set:nn { ctex / subparagraph }
       {
@@ -126,7 +127,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } }
   { \keys_set:nn { ctex / subparagraph } { indent = \parindent } }
 \keys_set:nn { ctex / appendix }
@@ -138,8 +139,8 @@
 \str_if_eq:onTF { \l__ctex_encoding_tl } { GBK }
   { \ctex_file_input:n { ctex-name-gbk.cfg } }
   { \ctex_file_input:n { ctex-name-utf8.cfg } }
-\int_compare:nNnF \g__ctex_font_size_flag > { -1 }
-  { \cs_gset_eq:NN \g__ctex_font_size_flag \c_zero }
+\int_compare:nNnF \g__ctex_font_size_int > { -1 }
+  { \int_gset:Nn \g__ctex_font_size_int { 0 } }
 \fp_compare:nNnT { \l__ctex_line_spread_fp } ? { \c_zero_fp }
   { \fp_set:Nn \l__ctex_line_spread_fp { 1.3 } }
 \ctex_patch_cmd:Nnn \verse { -1.5em } { -2 \ccwd }

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-beamer.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `scheme,beamer,chinese')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese scheme for beamer (CTEX)}
 \ProvidesExplFile{ctex-scheme-chinese-beamer.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \keys_set:nn { ctex / 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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-book.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `scheme,book,chinese')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,13 +26,14 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese scheme for book (CTEX)}
 \ProvidesExplFile{ctex-scheme-chinese-book.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \keys_set:nn { ctex / part }
   {
     aftertitle  = \par ,
+    hang        = false ,
     number      = \chinese { part } ,
     aftername   = \par \vskip 20 \p@ ,
     beforeskip  = 0pt \@plus 1fil ,
@@ -45,6 +46,7 @@
   {
     pagestyle   = plain ,
     aftertitle  = \par ,
+    hang        = false ,
     beforeskip  = 50 \p@ ,
     afterskip   = 40 \p@ ,
     lofskip     = 10 \p@ ,
@@ -109,7 +111,7 @@
     break       = \addpenalty \@secpenalty ,
     afterindent = true
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   {
     \keys_set:nn { ctex / paragraph }
       {
@@ -125,7 +127,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_three
+\int_compare:nNnTF \g__ctex_section_depth_int > 3
   {
     \keys_set:nn { ctex / subparagraph }
       {
@@ -141,7 +143,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } }
   { \keys_set:nn { ctex / subparagraph } { indent = \parindent } }
 \keys_set:nn { ctex / appendix }
@@ -156,8 +158,8 @@
 \str_if_eq:onTF { \l__ctex_encoding_tl } { GBK }
   { \ctex_file_input:n { ctex-name-gbk.cfg } }
   { \ctex_file_input:n { ctex-name-utf8.cfg } }
-\int_compare:nNnF \g__ctex_font_size_flag > { -1 }
-  { \cs_gset_eq:NN \g__ctex_font_size_flag \c_zero }
+\int_compare:nNnF \g__ctex_font_size_int > { -1 }
+  { \int_gset:Nn \g__ctex_font_size_int { 0 } }
 \fp_compare:nNnT { \l__ctex_line_spread_fp } ? { \c_zero_fp }
   { \fp_set:Nn \l__ctex_line_spread_fp { 1.3 } }
 \ctex_patch_cmd:Nnn \verse { -1.5em } { -2 \ccwd }

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-report.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `scheme,report,chinese')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,13 +26,14 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese scheme for report (CTEX)}
 \ProvidesExplFile{ctex-scheme-chinese-report.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \keys_set:nn { ctex / part }
   {
     aftertitle  = \par ,
+    hang        = false ,
     number      = \chinese { part } ,
     aftername   = \par \vskip 20 \p@ ,
     beforeskip  = 0pt \@plus 1fil ,
@@ -45,6 +46,7 @@
   {
     pagestyle   = plain ,
     aftertitle  = \par ,
+    hang        = false ,
     beforeskip  = 50 \p@ ,
     afterskip   = 40 \p@ ,
     lofskip     = 10 \p@ ,
@@ -109,7 +111,7 @@
     break       = \addpenalty \@secpenalty ,
     afterindent = true
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   {
     \keys_set:nn { ctex / paragraph }
       {
@@ -125,7 +127,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_three
+\int_compare:nNnTF \g__ctex_section_depth_int > 3
   {
     \keys_set:nn { ctex / subparagraph }
       {
@@ -141,7 +143,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } }
   { \keys_set:nn { ctex / subparagraph } { indent = \parindent } }
 \keys_set:nn { ctex / appendix }
@@ -156,8 +158,8 @@
 \str_if_eq:onTF { \l__ctex_encoding_tl } { GBK }
   { \ctex_file_input:n { ctex-name-gbk.cfg } }
   { \ctex_file_input:n { ctex-name-utf8.cfg } }
-\int_compare:nNnF \g__ctex_font_size_flag > { -1 }
-  { \cs_gset_eq:NN \g__ctex_font_size_flag \c_zero }
+\int_compare:nNnF \g__ctex_font_size_int > { -1 }
+  { \int_gset:Nn \g__ctex_font_size_int { 0 } }
 \fp_compare:nNnT { \l__ctex_line_spread_fp } ? { \c_zero_fp }
   { \fp_set:Nn \l__ctex_line_spread_fp { 1.3 } }
 \ctex_patch_cmd:Nnn \verse { -1.5em } { -2 \ccwd }

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `scheme,generic,chinese')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Chinese scheme for generic (CTEX)}
 \ProvidesExplFile{ctex-scheme-chinese.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \keys_set:nn { ctex } { today = small }
 \ctex_if_autoindent_touched:F
   { \keys_set:nn { ctex } { autoindent = true } }
@@ -53,8 +53,8 @@
     \str_if_eq:onTF { \l__ctex_encoding_tl } { GBK }
       { \ctex_file_input:n { ctex-name-gbk.cfg } }
       { \ctex_file_input:n { ctex-name-utf8.cfg } }
-    \int_compare:nNnF \g__ctex_font_size_flag > { -1 }
-      { \cs_gset_eq:NN \g__ctex_font_size_flag \c_zero }
+    \int_compare:nNnF \g__ctex_font_size_int > { -1 }
+      { \int_gset:Nn \g__ctex_font_size_int { 0 } }
     \fp_compare:nNnT { \l__ctex_line_spread_fp } ? { \c_zero_fp }
       { \fp_set:Nn \l__ctex_line_spread_fp { 1.3 } }
     \tl_if_exist:NT \c__ctex_std_class_tl

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-article.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `scheme,article,plain')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,13 +26,14 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Plain scheme for article (CTEX)}
 \ProvidesExplFile{ctex-scheme-plain-article.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \keys_set:nn { ctex / part }
   {
     aftertitle  = \par ,
+    hang        = false ,
     name        = \partname \space ,
     number      = \thepart ,
     beforeskip  = 4ex ,
@@ -97,7 +98,7 @@
     break       = \addpenalty \@secpenalty ,
     afterindent = false
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   {
     \keys_set:nn { ctex / paragraph }
       {
@@ -113,7 +114,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_three
+\int_compare:nNnTF \g__ctex_section_depth_int > 3
   {
     \keys_set:nn { ctex / subparagraph }
       {
@@ -129,7 +130,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } }
   { \keys_set:nn { ctex / subparagraph } { indent = \parindent } }
 \keys_set:nn { ctex / appendix }

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-beamer.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `scheme,beamer,plain')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Plain scheme for beamer (CTEX)}
 \ProvidesExplFile{ctex-scheme-plain-beamer.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \keys_set:nn { ctex / 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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-book.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `scheme,book,plain')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,13 +26,14 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Plain scheme for book (CTEX)}
 \ProvidesExplFile{ctex-scheme-plain-book.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \keys_set:nn { ctex / part }
   {
     aftertitle  = \par ,
+    hang        = false ,
     name        = \partname \space ,
     number      = \thepart ,
     aftername   = \par \vskip 20 \p@ ,
@@ -48,6 +49,7 @@
   {
     pagestyle   = plain ,
     aftertitle  = \par ,
+    hang        = false ,
     beforeskip  = 50 \p@ ,
     afterskip   = 40 \p@ ,
     lofskip     = 10 \p@ ,
@@ -116,7 +118,7 @@
     break       = \addpenalty \@secpenalty ,
     afterindent = false
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   {
     \keys_set:nn { ctex / paragraph }
       {
@@ -132,7 +134,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_three
+\int_compare:nNnTF \g__ctex_section_depth_int > 3
   {
     \keys_set:nn { ctex / subparagraph }
       {
@@ -148,7 +150,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } }
   { \keys_set:nn { ctex / subparagraph } { indent = \parindent } }
 \keys_set:nn { ctex / appendix }

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-report.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `scheme,report,plain')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,13 +26,14 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Plain scheme for report (CTEX)}
 \ProvidesExplFile{ctex-scheme-plain-report.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 \keys_set:nn { ctex / part }
   {
     aftertitle  = \par ,
+    hang        = false ,
     name        = \partname \space ,
     number      = \thepart ,
     aftername   = \par \vskip 20 \p@ ,
@@ -48,6 +49,7 @@
   {
     pagestyle   = plain ,
     aftertitle  = \par ,
+    hang        = false ,
     beforeskip  = 50 \p@ ,
     afterskip   = 40 \p@ ,
     lofskip     = 10 \p@ ,
@@ -116,7 +118,7 @@
     break       = \addpenalty \@secpenalty ,
     afterindent = false
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   {
     \keys_set:nn { ctex / paragraph }
       {
@@ -132,7 +134,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_three
+\int_compare:nNnTF \g__ctex_section_depth_int > 3
   {
     \keys_set:nn { ctex / subparagraph }
       {
@@ -148,7 +150,7 @@
         runin       = true
       }
   }
-\int_compare:nNnTF \g__ctex_section_depth_flag > \c_two
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
   { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } }
   { \keys_set:nn { ctex / subparagraph } { indent = \parindent } }
 \keys_set:nn { ctex / appendix }

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	2019-04-07 21:21:59 UTC (rev 50842)
+++ trunk/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain.def	2019-04-07 21:22:23 UTC (rev 50843)
@@ -6,7 +6,7 @@
 %%
 %% ctex.dtx  (with options: `scheme,generic,plain')
 %% 
-%%     Copyright (C) 2003--2018
+%%     Copyright (C) 2003--2019
 %%     CTEX.ORG and any individual authors listed in the documentation.
 %% ------------------------------------------------------------------------------
 %% 
@@ -26,10 +26,10 @@
 %% 
 %% ------------------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: ctex.dtx 096f319 2018-05-02 19:51:41 +0800 Liam Huang <liamhuang0205 at gmail.com> $
+\GetIdInfo$Id: ctex.dtx cb8bf3c 2019-04-07 23:32:09 +0800 Qing Lee <sobenlee at gmail.com> $
   {Plain scheme for generic (CTEX)}
 \ProvidesExplFile{ctex-scheme-plain.def}
-  {\ExplFileDate}{2.4.14}{\ExplFileDescription}
+  {\ExplFileDate}{2.4.15}{\ExplFileDescription}
 %% 
 %%
 %% End of file `ctex-scheme-plain.def'.



More information about the tex-live-commits mailing list