summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ctex/ctexhook.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/ctex/ctexhook.sty')
-rw-r--r--Master/texmf-dist/tex/latex/ctex/ctexhook.sty81
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 } }