summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ctex/ctex.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-06-19 22:32:36 +0000
committerKarl Berry <karl@freefriends.org>2015-06-19 22:32:36 +0000
commit24a26d6f89a97e7ba548a2c42c0e6a6c80e6fb2a (patch)
treec87c15ce0105a3b7f9dfef8548ea2b0bb368d91c /Master/texmf-dist/tex/latex/ctex/ctex.sty
parent28cb2b214ad9bcb5ac65fdf512b438f388a68b1e (diff)
ctex (19jun15)
git-svn-id: svn://tug.org/texlive/trunk@37615 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ctex/ctex.sty')
-rw-r--r--Master/texmf-dist/tex/latex/ctex/ctex.sty159
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,