diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/ctex/ctex.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/ctex/ctex.sty | 159 |
1 files changed, 86 insertions, 73 deletions
diff --git a/Master/texmf-dist/tex/latex/ctex/ctex.sty b/Master/texmf-dist/tex/latex/ctex/ctex.sty index c7201874053..615e615d807 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctex.sty +++ b/Master/texmf-dist/tex/latex/ctex/ctex.sty @@ -4,7 +4,7 @@ %% %% The original source files were: %% -%% ctex.dtx (with options: `package,style') +%% ctex.dtx (with options: `style,ctex') %% %% Copyright (C) 2003--2015 %% CTEX.ORG and any individual authors listed in the documentation. @@ -28,48 +28,43 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 3216ced 2015-05-16 11:29:03 +0800 Qing Lee <sobenlee@gmail.com> $ +\GetIdInfo$Id: ctex.dtx ca75f0e 2015-06-19 17:39:23 +0800 Qing Lee <sobenlee@gmail.com> $ {Chinese adapter in LaTeX (CTEX)} \ProvidesExplPackage{\ExplFileName} - {\ExplFileDate}{2.0.2}{\ExplFileDescription} + {\ExplFileDate}{2.1}{\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 } + { Package~`#1'~can~not~be~loaded~with~`ctex'. } + { + `#1'~is~actually~a~part~of~`ctex'.\\ + It~is~not~necessary~to~load~it~separately. + } +\@ifpackageloaded { ctexsize } + { \msg_error:nnn { ctex } { subpackage-loaded } { ctexsize } } + { \cs_new_eq:cN { ver@ctexsize. \@pkgextension } \c__ctex_version_tl } +\@ifpackageloaded { ctexheading } + { \msg_error:nnn { ctex } { subpackage-loaded } { ctexheading } } + { \cs_new_eq:cN { ver@ctexheading. \@pkgextension } \c__ctex_version_tl } \RequirePackage { xparse , l3keys2e } -\RequirePackage { etoolbox , ifpdf , fix-cm , everysel } +\RequirePackage { etoolbox } +\RequirePackage { fix-cm , everysel } \tl_new:N \l__ctex_tmp_tl \int_new:N \l__ctex_tmp_int \dim_new:N \l__ctex_tmp_dim \box_new:N \l__ctex_tmp_box -\msg_new:nnnn { ctex } { package-too-old } - { Support~package~`#1'~too~old. } - { - Please~update~an~up~to~date~version~of~the~package~`#1'\\ - using~your~TeX~package~manager~or~from~CTAN. - } -\cs_new_eq:NN \ctex_lua_now_x:n \luatex_directlua:D -\ifpdf - \cs_new_eq:NN \ctex_if_pdfmode:TF \use_i:nn -\else: - \cs_new_eq:NN \ctex_if_pdfmode:TF \use_ii:nn -\fi: -\prg_new_conditional:Npnn \ctex_if_preamble: { TF } - { - \if_meaning:w \@onlypreamble \@notprerr - \prg_return_false: - \else: - \prg_return_true: - \fi: - } \cs_new_protected:Npn \ctex_at_end_package:nn #1#2 { - \@ifpackageloaded { #1 } - { #2 } - { \ctex_add_hook:cn { g__ctex_at_end_ #1 _hook_tl } { #2 } } + \@ifpackageloaded {#1} + {#2} + { \ctex_gadd_hook:cn { g__ctex_at_end_ #1 _hook_tl } {#2} } } -\cs_new_protected:Npn \ctex_add_hook:Nn #1#2 +\cs_new_protected:Npn \ctex_gadd_hook:Nn #1#2 { \tl_if_exist:NF #1 { \tl_new:N #1 } - \tl_gput_right:Nn #1 { #2 } + \tl_gput_right:Nn #1 {#2} } -\cs_generate_variant:Nn \ctex_add_hook:Nn { c } +\cs_generate_variant:Nn \ctex_gadd_hook:Nn { c } \cs_new_protected_nopar:Npn \ctex_package_end_hook:n #1 { \cs_if_exist_use:cT { g__ctex_at_end_ #1 _hook_tl } @@ -77,7 +72,10 @@ } \cs_generate_variant:Nn \ctex_package_end_hook:n { o } \tl_put_left:Nn \@popfilename - { \ctex_package_end_hook:o { \@currname } } + { + \cs_if_eq:NNT \@currext \@pkgextension + { \ctex_package_end_hook:o { \@currname } } + } \cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3 { \use:x @@ -127,15 +125,15 @@ \group_begin: \use:x { + \group_end: \__ctex_parse_name:nNNNnN { \token_get_replacement_spec:N #2 } - \exp_not:N #2 \exp_not:c { #3 ~ } \exp_not:c { /#3 } {#3} - } #1 + \exp_not:N #2 \exp_not:c { #3 ~ } \exp_not:c { /#3 } + } {#3} #1 } { #1#2 } } \cs_new_protected:Npn \__ctex_parse_name:nNNNnN #1#2#3#4#5#6 { - \group_end: \exp_args:Nc #6 { \str_case:nnTF {#1} @@ -164,9 +162,9 @@ \cs_new:Npn \__ctex_parse_name:w #1 AESAOPA ~ #2 < #3 \q_stop { #1#2 } } \cs_generate_variant:Nn \ctex_parse_name:NNn { NNx } -\cs_new_protected:Npn \ctex_patch_cmd:NnnTF { \ctex_parse_name:NN \patchcmd } -\cs_new_protected:Npn \ctex_preto_cmd:NnTF { \ctex_parse_name:NN \pretocmd } -\cs_new_protected:Npn \ctex_appto_cmd:NnTF { \ctex_parse_name:NN \apptocmd } +\cs_new_protected_nopar:Npn \ctex_patch_cmd:NnnTF { \ctex_parse_name:NN \patchcmd } +\cs_new_protected_nopar:Npn \ctex_preto_cmd:NnTF { \ctex_parse_name:NN \pretocmd } +\cs_new_protected_nopar:Npn \ctex_appto_cmd:NnTF { \ctex_parse_name:NN \apptocmd } \cs_new_protected:Npn \ctex_patch_cmd:Nnn { \group_begin: @@ -194,6 +192,29 @@ Patching~command~`#1'~failed.\\ ctex~may~not~work~as~expected. } +\cs_new_eq:NN \g__ctex_section_depth_flag \c_two +\msg_new:nnnn { ctex } { package-too-old } + { Support~package~`#1'~too~old. } + { + Please~update~an~up~to~date~version~of~the~package~`#1'\\ + using~your~TeX~package~manager~or~from~CTAN. + } +\cs_new_eq:NN \ctex_lua_now_x:n \luatex_directlua:D +\cs_if_exist:NTF \pdftex_pdfoutput:D + { + \int_compare:nNnTF \pdftex_pdfoutput:D > \c_zero + { + \cs_new_eq:NN \ifctexpdf \tex_iftrue:D + \cs_new_eq:NN \ctex_if_pdfmode:TF \use_i:nn + } + } + { \use:n } + { + \cs_new_eq:NN \ifctexpdf \tex_iffalse:D + \cs_new_eq:NN \ctex_if_pdfmode:TF \use_ii:nn + } +\cs_new_eq:NN \ctex_if_preamble:TF \use_i:nn +\AfterEndPreamble { \cs_set_eq:NN \ctex_if_preamble:TF \use_ii:nn } \cs_new:Npn \ctex_set_default_ccwd:Nn #1#2 { \dim_compare:nNnTF @@ -217,7 +238,6 @@ \tl_new:N \l__ctex_encoding_tl \tl_set:Nx \l__ctex_encoding_tl { \pdftex_if_engine:TF { GBK } { UTF8 } } -\cs_new_eq:NN \g__ctex_section_depth_flag \c_two \bool_new:N \g__ctex_zhmCJK_bool \tl_new:N \l__ctex_autoindent_tl \cs_new_eq:NN \ctex_if_autoindent_touched:F \use:n @@ -316,7 +336,7 @@ Option~ `fontset=adobe'~ is~ set.~ It~ is~ better~ to~ use~ fontset~ option. } - \keys_set:nn { ctex / option } { fontset = none } + \keys_set:nn { ctex / option } { fontset = adobe } } , winfonts .code:n = { @@ -325,7 +345,7 @@ Option~ `fontset=windows'~ is~ set.~ It~ is~ better~ to~ use~ fontset~ option. } - \keys_set:nn { ctex / option } { fontset = none } + \keys_set:nn { ctex / option } { fontset = windows } } , nofonts .value_forbidden: , winfonts .value_forbidden: , @@ -379,9 +399,15 @@ } , nospace .value_forbidden: , heading .bool_set:N = \l__ctex_heading_bool , + sub3section .code:n = + { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_three } , + sub4section .code:n = + { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_four } , + sub3section .value_forbidden: , + sub4section .value_forbidden: , scheme .tl_set:N = \l__ctex_scheme_tl , - scheme .default:n = { chinese }, - scheme .initial:n = { chinese }, + scheme .default:n = { chinese } , + scheme .initial:n = { chinese } , cap .code:n = { \msg_warning:nnn { ctex } { deprecated-option } @@ -396,12 +422,6 @@ } , cap .value_forbidden: , nocap .value_forbidden: , - sub3section .code:n = - { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_three } , - sub4section .code:n = - { \cs_gset_eq:NN \g__ctex_section_depth_flag \c_four } , - sub3section .value_forbidden: , - sub4section .value_forbidden: , fntef .code:n = { \msg_warning:nnn { ctex } { deprecated-option } @@ -411,12 +431,17 @@ { \msg_warning:nnn { ctex } { deprecated-option } { `fancyhdr'~ package~ is~ loaded. } - \RequirePackage{ fancyhdr } + \RequirePackage { fancyhdr } } , hyperref .code:n = { \msg_warning:nnn { ctex } { deprecated-option } { `hyperref'~ package~ will~ be~ loaded. } + \ctex_at_end:n + { + \cs_if_exist:NF \hypersetup + { \cs_new_eq:NN \hypersetup \ctex_hypersetup:n } + } \AtEndPreamble { \RequirePackage { hyperref } } } , } @@ -438,18 +463,7 @@ \tl_clear:N \l__ctex_tmp_tl \ctex_file_input:n { ctexopts.cfg } \ProcessKeysOptions { ctex / option } -\tl_set_eq:Nc \l__ctex_tmp_tl { ver@ \@currname . \@currext } -\msg_new:nnnn { ctex } { ctexsize-loaded } - { Package~`ctexsize'~can~not~be~loaded~before~`ctex'. } - { - `ctexsize'~is~actually~a~part~of~`ctex'.\\ - It~is~not~necessary~to~load~it~separately. - } -\@ifpackageloaded { ctexsize } - { \msg_error:nn { ctex } { ctexsize-loaded } } - { \cs_new_eq:cN { ver@ctexsize. \@pkgextension } \l__ctex_tmp_tl } -\NewDocumentCommand \ctexset { +m } - { \keys_set:nn { ctex } {#1} } +\NewDocumentCommand \ctexset { } { \keys_set:nn { ctex } } \NewDocumentCommand \CTEXsetup { +o > { \TrimSpaces } m } { \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXsetup } @@ -471,7 +485,6 @@ \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 { \PassOptionsToPackage {#1} { hyperref } } } -\ctex_hypersetup:n { colorlinks = true } \pdftex_if_engine:TF { \tl_set:Nx \l__ctex_encoding_tl { \l__ctex_encoding_tl } @@ -677,6 +690,12 @@ \keys_define:nn { ctex } { bibname .tl_set:N = \ctexbibname } } } +\clist_map_inline:nn { article , book , report } + { + \@ifclassloaded {#1} + { \clist_map_break:n { \tl_const:Nn \c__ctex_std_class_tl {#1} } } + { } + } \msg_new:nnn { ctex } { not-standard-class } { None~of~the~standard~document~classes~was~loaded.\\ @@ -685,12 +704,8 @@ } \bool_if:NTF \l__ctex_heading_bool { - \clist_map_inline:nn { article , book , report } - { - \@ifclassloaded {#1} - { \clist_map_break:n { \tl_const:Nn \c__ctex_class_tl {#1} } } { } - } - \tl_if_exist:NF \c__ctex_class_tl + \tl_if_exist:NTF \c__ctex_std_class_tl + { \cs_new_eq:NN \c__ctex_class_tl \c__ctex_std_class_tl } { \cs_if_exist:NTF \chapter { @@ -810,11 +825,8 @@ \normalsize \NewDocumentCommand \CTeX { } { \ifincsname CTeX \else: C \TeX \fi: } -\AtBeginDocument - { - \cs_if_exist_use:NT \pdfstringdefDisableCommands - { { \tl_set:Nn \CTeX { CTeX } } } - } +\ctex_at_end_package:nn { hyperref } + { \pdfstringdefDisableCommands { \tl_set:Nn \CTeX { CTeX } } } \keys_define:nn { ctex } { captiondelimiter .code:n = @@ -918,6 +930,7 @@ %% ctex.sty, %% ctexcap.sty, %% ctexsize.sty, +%% ctexheading.sty, %% ctexart.cls, %% ctexbook.cls, %% ctexrep.cls, |