diff options
author | Karl Berry <karl@freefriends.org> | 2021-06-20 19:56:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-06-20 19:56:11 +0000 |
commit | 0e008fd431955e2802ab0abb5220e3bfb78256e6 (patch) | |
tree | 00a71b8590fe7dadb12de99f13729cb46a223dd2 /Master/texmf-dist/tex/latex/ctex/ctexhook.sty | |
parent | 0dfccc591702a7d52fd4739ddb2622d1769cf422 (diff) |
ctex (20jun21)
git-svn-id: svn://tug.org/texlive/trunk@59654 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ctex/ctexhook.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/ctex/ctexhook.sty | 81 |
1 files changed, 78 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/latex/ctex/ctexhook.sty b/Master/texmf-dist/tex/latex/ctex/ctexhook.sty index 7401f0697a0..ed0b47caacf 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexhook.sty +++ b/Master/texmf-dist/tex/latex/ctex/ctexhook.sty @@ -26,10 +26,85 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 07425fe 2021-03-14 16:43:36 +0800 Xiangdong Zeng <xdzeng96@gmail.com> $ +\GetIdInfo$Id: ctex.dtx 6604451 2021-06-20 17:08:49 +0800 Qing Lee <sobenlee@gmail.com> $ {Document and package hooks (CTEX)} \ProvidesExplPackage{ctexhook} - {\ExplFileDate}{2.5.6}{\ExplFileDescription} + {\ExplFileDate}{2.5.7}{\ExplFileDescription} +\cs_new:Npn \ctex_if_format_at_least:nTF + { \@ifl@t@r \fmtversion } +\cs_new_protected:Npn \ctex_file_input:n #1 + { + \ctex_push_file: + \file_input:n {#1} + \ctex_pop_file: + } +\bool_if_exist:NTF \l__kernel_expl_bool + { + \cs_new_protected:Npn \ctex_push_file: + { + \seq_gpush:Nx \g__ctex_expl_status_seq + { \bool_if:NTF \l__kernel_expl_bool { 1 } { 0 } } + \bool_set_false:N \l__kernel_expl_bool + \cctab_begin:N \c__ctex_package_cctab + } + \cs_new_protected:Npn \ctex_pop_file: + { + \cctab_end: + \seq_gpop:NN \g__ctex_expl_status_seq \l__ctex_expl_status_tl + \int_if_odd:nTF { \l__ctex_expl_status_tl } + { \bool_set_true:N \l__kernel_expl_bool } + { \bool_set_false:N \l__kernel_expl_bool } + } + \tl_new:N \l__ctex_expl_status_tl + \seq_new:N \g__ctex_expl_status_seq + } + { + \cs_new_protected:Npn \ctex_push_file: + { \cctab_begin:N \c__ctex_package_cctab } + \cs_new_protected:Npn \ctex_pop_file: + { \cctab_end: } + } +\cctab_const:Nn \c__ctex_package_cctab + { + \cctab_select:N \c_document_cctab + \char_set_catcode_letter:n { 64 } + } +\cs_new_protected:Npn \ctex_disable_package:n #1 + { + \@ifpackageloaded {#1} + { \msg_error:nnxx } + { \__ctex_disable_package_aux:nnnn } + { ctex } { disable-package } {#1} { \@currname } + } +\cs_new_protected:Npx \__ctex_disable_package_aux:nnnn #1#2#3#4 + { + \cs_if_exist:NTF \disable@package@load + { + \exp_args:Nnx \exp_not:N \disable@package@load {#3} + { \msg_warning:nnnn {#1} {#2} {#3} {#4} } + } + { \tl_const:cn { ver@ #3 . \exp_not:N \@pkgextension } { 9999/99/99 } } + } +\msg_new:nnn { ctex } { disable-package } + { Package~`#1'~can~not~be~loaded~with~`#2'. } +\ctex_if_format_at_least:nTF { 2020/10/01 } + { + \cs_new_protected:Npn \ctex_replace_package:nn #1#2 + { + \declare@file@substitution + { #1 . \@pkgextension } + { #2 . \@pkgextension } + } + } + { + \cs_new_protected:Npn \ctex_replace_package:nn + { \msg_warning:nnnn { ctex } { replace-package-invalid } } + \msg_new:nnn { ctex } { replace-package-invalid } + { + \token_to_str:N \ctex_replace_package:nn \{#1\}\{#2\}~is~invalid~ + before~LaTeX~2020-10-01. + } + } \cs_new_protected:Npn \ctex_at_begin_package:nn #1 { \@ifpackageloaded {#1} @@ -49,7 +124,7 @@ { \use:n } { \ctex_gadd_package_hook:nnn { after } {#1} } } -\@ifl@t@r \fmtversion { 2020/10/01 } +\ctex_if_format_at_least:nTF { 2020/10/01 } { \cs_new_protected:Npx \ctex_gadd_ltxhook:nn #1 { \hook_gput_code:nnn {#1} { \c_novalue_tl } } |