diff options
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty | 61 |
1 files changed, 33 insertions, 28 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty index 1b2b032c75e..70dba4b08f2 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `package') %% -%% $Id: xeCJK.dtx 416 2013-05-25 08:44:28Z sobenlee $ +%% $Id: xeCJK.dtx 418 2013-05-29 06:41:21Z sobenlee $ %% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: @@ -33,11 +33,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 416 2013-05-25 08:44:28Z sobenlee $ +\GetIdInfo$Id: xeCJK.dtx 418 2013-05-29 06:41:21Z sobenlee $ {Typesetting CJK scripts with XeLaTeX} \ProvidesExplPackage {\ExplFileName} - {\ExplFileDate}{3.2.0}{\ExplFileDescription} + {\ExplFileDate}{3.2.1}{\ExplFileDescription} \msg_new:nnn { xeCJK } { Require-XeTeX } { The~xeCJK~package~requires~XeTeX~to~function.\\\\ @@ -831,8 +831,10 @@ \xeCJK_class_group_end: \xeCJK_no_break: \__xeCJK_punct_glue:NN \c__xeCJK_left_tl \g__xeCJK_last_punct_tl } - { \xeCJK_class_group_end: \xeCJK_no_break: \skip_horizontal:N \c_zero_skip } + { \xeCJK_class_group_end: \xeCJK_no_break: \__xeCJK_zero_glue: } } +\cs_new_protected_nopar:Npn \__xeCJK_zero_glue: + { \skip_horizontal:N \c_zero_skip } \cs_new_protected_nopar:Npn \xeCJK_FullRight_and_CJK: { \__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl @@ -884,7 +886,7 @@ { \int_case:nnn { \etex_lastnodetype:D } { - { \c_one } { \skip_horizontal:N \c_zero_skip } + { \c_one } { \__xeCJK_zero_glue: } { \c_minus_one } { } { \c_eleven } { } { \c_thirteen } { } @@ -932,7 +934,7 @@ { \__xeCJK_punct_if_middle:NTF {#1} { \xeCJK_no_break: \__xeCJK_punct_glue:NN \c__xeCJK_right_tl {#1} } - { \xeCJK_no_break: \skip_horizontal:N \c_zero_skip } + { \xeCJK_no_break: \__xeCJK_zero_glue: } } } \cs_new_eq:NN \__xeCJK_Default_and_FullRight_glue:N \__xeCJK_CJK_and_FullRight_glue:N @@ -2648,33 +2650,36 @@ \keys_define:nn { xeCJK / options } { Verb .choice: , - Verb / true .code:n = - { - \bool_set_true:N \l__xeCJK_verb_use_bool - \int_set_eq:NN \l__xeCJK_verb_level_int \c_zero - } , - Verb / false .code:n = { \bool_set_false:N \l__xeCJK_verb_use_bool } , - Verb / env .code:n = - { - \bool_set_true:N \l__xeCJK_verb_use_bool - \int_set_eq:NN \l__xeCJK_verb_level_int \c_one - } , - Verb .default:n = { true } + Verb / true .code:n = { \int_set_eq:NN \l__xeCJK_verb_case_int \c_zero } , + Verb / env .code:n = { \int_set_eq:NN \l__xeCJK_verb_case_int \c_one } , + Verb / env+ .code:n = { \int_set_eq:NN \l__xeCJK_verb_case_int \c_two } , + Verb / false .code:n = { \int_set_eq:NN \l__xeCJK_verb_case_int \c_three } } -\bool_new:N \l__xeCJK_verb_use_bool -\int_new:N \l__xeCJK_verb_level_int +\int_new:N \l__xeCJK_verb_case_int \__xeCJK_after_preamble:n { \tl_put_right:Nn \verbatim@font { - \bool_if:nTF - { - \l__xeCJK_verb_use_bool && - \int_compare_p:nNn \etex_currentgrouptype:D > \l__xeCJK_verb_level_int - } - { \__xeCJK_set_verb_exspace: } - { \skip_zero:N \g__xeCJK_verb_exspace_skip } - \__xeCJK_verb_addon: + \if_case:w \l__xeCJK_verb_case_int + \cs_set_eq:NN \CJKglue \__xeCJK_zero_glue: + \cs_set_eq:NN \CJKecglue \__xeCJK_zero_glue: + \or: + \int_compare:nNnTF \etex_currentgrouptype:D = \c_fourteen + { + \__xeCJK_set_verb_exspace: + \__xeCJK_verb_addon: + } + { + \cs_set_eq:NN \CJKglue \__xeCJK_zero_glue: + \cs_set_eq:NN \CJKecglue \__xeCJK_zero_glue: + } + \or: + \int_compare:nNnT \etex_currentgrouptype:D = \c_fourteen + { + \__xeCJK_set_verb_exspace: + \__xeCJK_verb_addon: + } + \fi: } } \NewDocumentCommand \xeCJKVerbAddon { } |