summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ctex/ctex.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/ctex/ctex.sty')
-rw-r--r--Master/texmf-dist/tex/latex/ctex/ctex.sty101
1 files changed, 48 insertions, 53 deletions
diff --git a/Master/texmf-dist/tex/latex/ctex/ctex.sty b/Master/texmf-dist/tex/latex/ctex/ctex.sty
index 82a943cb854..af5e62b22d2 100644
--- a/Master/texmf-dist/tex/latex/ctex/ctex.sty
+++ b/Master/texmf-dist/tex/latex/ctex/ctex.sty
@@ -28,10 +28,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: ctex.dtx 6255367 2015-07-01 01:15:24 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: ctex.dtx 4e02493 2016-02-02 17:10:17 +0800 Qing Lee <sobenlee@gmail.com> $
{Chinese adapter in LaTeX (CTEX)}
\ProvidesExplPackage{\ExplFileName}
- {\ExplFileDate}{2.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.3}{\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 }
@@ -47,6 +47,24 @@
{ \msg_error:nnn { ctex } { subpackage-loaded } { ctexheading } }
{ \cs_new_eq:cN { ver@ctexheading. \@pkgextension } \c__ctex_version_tl }
\RequirePackage { xparse , l3keys2e }
+\msg_new:nnnn { ctex } { l3-too-old }
+ { Support~package~`#1'~too~old. }
+ {
+ Please~update~an~up~to~date~version~of~the~bundles\\\\
+ `l3kernel'~and~`l3packages'\\\\
+ using~your~TeX~package~manager~or~from~CTAN.
+ }
+\@ifpackagelater { expl3 } { 2015/12/20 } { }
+ { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
+\msg_new:nnnn { ctex } { engine-not-supported }
+ { Engine~`#1'~is~not~yet~supported,~ctex~will~abort! }
+ { You~can~switch~to~xelatex,~lualatex~or~pdflatex.}
+\file_if_exist:nTF { ctex-engine- \c_sys_engine_str .def }
+ {
+ \str_const:Nx \c__ctex_engine_file_str
+ { ctex-engine- \c_sys_engine_str .def }
+ }
+ { \msg_critical:nnx { ctex } { engine-not-supported } { \c_sys_engine_str } }
\RequirePackage { ctexhook , ctexpatch }
\RequirePackage { fix-cm , everysel }
\tl_new:N \l__ctex_tmp_tl
@@ -92,20 +110,9 @@
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
- }
+\sys_if_output_pdf:TF
+ { \cs_new_eq:NN \ifctexpdf \if_true: }
+ { \cs_new_eq:NN \ifctexpdf \if_false: }
\cs_new_eq:NN \ctex_if_preamble:TF \use_i:nn
\ctex_after_end_preamble:n { \cs_set_eq:NN \ctex_if_preamble:TF \use_ii:nn }
\cs_new:Npn \ctex_set_default_ccwd:Nn #1#2
@@ -120,17 +127,15 @@
\exp_after:wN \__ctex_default_pt:w
\dim_use:N \etex_dimexpr:D #1 pt \scan_stop: \q_stop
}
-\group_begin:
- \char_set_catcode_other:N \P
- \char_set_catcode_other:N \T
-\tex_lowercase:D
+\use:x
{
- \group_end:
- \cs_new:Npn \__ctex_default_pt:w #1 PT #2 \q_stop { #1 PT }
+ \cs_new:Npn \exp_not:N \__ctex_default_pt:w
+ ##1 \tl_to_str:n { pt } ##2 \exp_not:N \q_stop
+ { ##1 \tl_to_str:n { pt } }
}
\tl_new:N \l__ctex_encoding_tl
\tl_set:Nx \l__ctex_encoding_tl
- { \pdftex_if_engine:TF { GBK } { UTF8 } }
+ { \sys_if_engine_pdftex:TF { GBK } { UTF8 } }
\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
@@ -166,11 +171,11 @@
{ Option~ `zihao=-4'~ is~ set. }
\keys_set:nn { ctex / option } { zihao = -4 }
} ,
- c5size .value_forbidden: ,
- cs4size .value_forbidden: ,
+ c5size .value_forbidden:n = true ,
+ cs4size .value_forbidden:n = true ,
linespread .fp_set:N = \l__ctex_line_spread_fp ,
linespread .initial:n = { \c_nan_fp } ,
- linespread .value_required: ,
+ linespread .value_required:n = true ,
autoindent .choice: ,
autoindent .default:n = { true } ,
autoindent / true .code:n =
@@ -197,7 +202,7 @@
options.~
}
} ,
- indent .value_forbidden: ,
+ indent .value_forbidden:n = true ,
noindent .code:n =
{
\msg_warning:nnn { ctex } { deprecated-option }
@@ -207,11 +212,11 @@
options.
}
} ,
- noindent .value_forbidden: ,
+ noindent .value_forbidden:n = true ,
GBK .code:n = { \tl_set:Nn \l__ctex_encoding_tl { GBK } } ,
UTF8 .code:n = { \tl_set:Nn \l__ctex_encoding_tl { UTF8 } } ,
- GBK .value_forbidden: ,
- UTF8 .value_forbidden: ,
+ GBK .value_forbidden:n = true ,
+ UTF8 .value_forbidden:n = true ,
fontset .tl_gset:N = \g__ctex_fontset_tl ,
nofonts .code:n =
{
@@ -240,9 +245,9 @@
}
\keys_set:nn { ctex / option } { fontset = windows }
} ,
- nofonts .value_forbidden: ,
- winfonts .value_forbidden: ,
- adobefonts .value_forbidden: ,
+ nofonts .value_forbidden:n = true ,
+ winfonts .value_forbidden:n = true ,
+ adobefonts .value_forbidden:n = true ,
zhmap .choice: ,
zhmap .default:n = { true } ,
zhmap / zhmCJK .code:n =
@@ -266,7 +271,7 @@
{ Option~ `zhmap=false'~ is~ set. }
\keys_set:nn { ctex / option } { zhmap = false }
} ,
- nozhmap .value_forbidden: ,
+ nozhmap .value_forbidden:n = true ,
punct .tl_set:N = \l__ctex_punct_tl ,
punct .default:n = { quanjiao } ,
punct .initial:n = { quanjiao } ,
@@ -276,7 +281,7 @@
{ Option~ `punct=plain'~ is~ set. }
\keys_set:nn { ctex / option } { punct = plain }
} ,
- nopunct .value_forbidden: ,
+ nopunct .value_forbidden:n = true ,
space .choices:nn =
{ true , auto , false }
{
@@ -290,14 +295,14 @@
{ Option~ `space=false'~ is~ set. }
\keys_set:nn { ctex / option } { space = false }
} ,
- nospace .value_forbidden: ,
+ 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 } ,
sub4section .code:n =
{ \cs_gset_eq:NN \g__ctex_section_depth_flag \c_four } ,
- sub3section .value_forbidden: ,
- sub4section .value_forbidden: ,
+ sub3section .value_forbidden:n = true ,
+ sub4section .value_forbidden:n = true ,
scheme .tl_set:N = \l__ctex_scheme_tl ,
scheme .default:n = { chinese } ,
scheme .initial:n = { chinese } ,
@@ -313,8 +318,8 @@
{ Option~ `scheme = plain' ~ is~ set. }
\keys_set:nn { ctex / option } { scheme = plain }
} ,
- cap .value_forbidden: ,
- nocap .value_forbidden: ,
+ cap .value_forbidden:n = true ,
+ nocap .value_forbidden:n = true ,
fntef .code:n =
{
\msg_warning:nnn { ctex } { deprecated-option }
@@ -349,7 +354,7 @@
{
#1 .code:n =
{ \cs_gset_eq:NN \g__ctex_font_size_flag \c_two } ,
- #1 .value_forbidden: ,
+ #1 .value_forbidden:n = true ,
}
}
\use:x { \keys_define:nn { ctex / option } { \exp_not:o { \l__ctex_tmp_tl } } }
@@ -378,17 +383,7 @@
\cs_new_protected_nopar:Npn \ctex_hypersetup:n #1
{ \PassOptionsToPackage {#1} { hyperref } }
}
-\pdftex_if_engine:TF
- {
- \tl_set:Nx \l__ctex_encoding_tl { \l__ctex_encoding_tl }
- \ctex_file_input:n { ctex-engine-pdftex.def }
- }
- {
- \tl_set:Nn \l__ctex_encoding_tl { UTF8 }
- \xetex_if_engine:TF
- { \ctex_file_input:n { ctex-engine-xetex.def } }
- { \ctex_file_input:n { ctex-engine-luatex.def } }
- }
+\ctex_file_input:n { \c__ctex_engine_file_str }
\keys_define:nn { ctex }
{
autoindent .choice: ,
@@ -430,7 +425,7 @@
\ctex_set_default_ccwd:Nn \l__ctex_line_stretch_tl {#1}
\ctex_select_size:
} ,
- linestretch .value_required:
+ linestretch .value_required:n = true
}
\tl_new:N \l__ctex_line_stretch_tl
\tl_set:Nn \l__ctex_line_stretch_tl { \ccwd }