diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3skip.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3skip.sty | 111 |
1 files changed, 37 insertions, 74 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty index c9e6836ca2b..20f3c09ebcd 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty @@ -14,7 +14,7 @@ %% Do not distribute a modified version of this file. %% %% File: l3skip.dtx Copyright (C) 2004-2011 Frank Mittelbach, The LaTeX3 Project -%% (C) 2012 The LaTeX3 Project +%% (C) 2012,2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -47,7 +47,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3skip.dtx 4260 2012-11-04 17:20:25Z joseph $ +\GetIdInfo$Id: l3skip.dtx 4444 2013-01-13 20:27:20Z bruno $ {L3 Dimensions and skips} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -77,14 +77,8 @@ { \dim_if_exist:NTF #1 { \dim_gzero:N #1 } { \dim_new:N #1 } } \cs_generate_variant:Nn \dim_zero_new:N { c } \cs_generate_variant:Nn \dim_gzero_new:N { c } -\cs_new_eq:NN \dim_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \dim_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \dim_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \dim_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \dim_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \dim_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \dim_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \dim_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \dim_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \dim_if_exist:c \cs_if_exist:c { TF , T , F , p } \cs_new_protected:Npn \dim_set:Nn #1#2 { #1 ~ \__dim_eval:w #2 \__dim_eval_end: } \cs_new_protected:Npn \dim_gset:Nn { \tex_global:D \dim_set:Nn } @@ -148,40 +142,40 @@ } \prg_new_conditional:Npnn \dim_compare:n #1 { p , T , F , TF } { - \exp_after:wN \__dim_compare_aux:w \dim_use:N \__dim_eval:w #1 - \__prg_compare_error: \__dim_eval_end: - \prg_return_true: - \else: - \prg_return_false: - \fi: + \exp_after:wN \__dim_compare:w + \dim_use:N \__dim_eval:w #1 \__prg_compare_error: } -\exp_args:Nno \use:nn - { \cs_new:Npn \__dim_compare_aux:w #1 } - { \tl_to_str:n { pt } } - #2 \__prg_compare_error: +\cs_new:Npn \__dim_compare:w #1 \__prg_compare_error: { - \exp_after:wN \__dim_compare_aux:NNw #2 ?? \q_mark - #1 pt #2 + \exp_after:wN \if_false: \tex_romannumeral:D -`0 + \__dim_compare:wNN #1 ? { = \__dim_compare_end:w \else: } \q_stop } -\cs_new:Npn \__dim_compare_aux:NNw #1#2#3 \q_mark +\exp_args:Nno \use:nn + { \cs_new:Npn \__dim_compare:wNN #1 } + { \tl_to_str:n {pt} } + #2#3 { - \use:c { __dim_compare_ #1 \if_meaning:w = #2 = \fi: :NNw } - \__prg_compare_error:Nw #1 + \if_meaning:w = #3 + \use:c { __dim_compare_#2:w } + \fi: + #1 pt \exp_stop_f: + \prg_return_false: + \exp_after:wN \use_none_delimit_by_q_stop:w + \fi: + \reverse_if:N \if_dim:w #1 pt #2 + \exp_after:wN \__dim_compare:wNN + \dim_use:N \__dim_eval:w #3 } -\cs_new:cpn { __dim_compare_=:NNw } #1#2#3 = - { \if_dim:w #3 = \__dim_eval:w } -\cs_new:cpn { __dim_compare_<:NNw } #1#2#3 < - { \if_dim:w #3 < \__dim_eval:w } -\cs_new:cpn { __dim_compare_>:NNw } #1#2#3 > - { \if_dim:w #3 > \__dim_eval:w } -\cs_new:cpn { __dim_compare_==:NNw } #1#2#3 == - { \if_dim:w #3 = \__dim_eval:w } -\cs_new:cpn { __dim_compare_!=:NNw } #1#2#3 != - { \reverse_if:N \if_dim:w #3 = \__dim_eval:w } -\cs_new:cpn { __dim_compare_<=:NNw } #1#2#3 <= - { \reverse_if:N \if_dim:w #3 > \__dim_eval:w } -\cs_new:cpn { __dim_compare_>=:NNw } #1#2#3 >= - { \reverse_if:N \if_dim:w #3 < \__dim_eval:w } +\cs_new:cpn { __dim_compare_ ! :w } + #1 \reverse_if:N #2 ! #3 = { #1 #2 = #3 } +\cs_new:cpn { __dim_compare_ = :w } + #1 \__dim_eval:w = { #1 \__dim_eval:w } +\cs_new:cpn { __dim_compare_ < :w } + #1 \reverse_if:N #2 < #3 = { #1 #2 > #3 } +\cs_new:cpn { __dim_compare_ > :w } + #1 \reverse_if:N #2 > #3 = { #1 #2 < #3 } +\cs_new:Npn \__dim_compare_end:w #1 \prg_return_false: #2 \q_stop + { #1 \prg_return_false: \else: \prg_return_true: \fi: } \cs_new:Npn \dim_case:nnn #1 { \tex_romannumeral:D @@ -305,14 +299,8 @@ { \skip_if_exist:NTF #1 { \skip_gzero:N #1 } { \skip_new:N #1 } } \cs_generate_variant:Nn \skip_zero_new:N { c } \cs_generate_variant:Nn \skip_gzero_new:N { c } -\cs_new_eq:NN \skip_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \skip_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \skip_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \skip_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \skip_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \skip_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \skip_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \skip_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \skip_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \skip_if_exist:c \cs_if_exist:c { TF , T , F , p } \cs_new_protected:Npn \skip_set:Nn #1#2 { #1 ~ \etex_glueexpr:D #2 \scan_stop: } \cs_new_protected:Npn \skip_gset:Nn { \tex_global:D \skip_set:Nn } @@ -400,14 +388,8 @@ { \muskip_if_exist:NTF #1 { \muskip_gzero:N #1 } { \muskip_new:N #1 } } \cs_generate_variant:Nn \muskip_zero_new:N { c } \cs_generate_variant:Nn \muskip_gzero_new:N { c } -\cs_new_eq:NN \muskip_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \muskip_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \muskip_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \muskip_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \muskip_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \muskip_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \muskip_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \muskip_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \muskip_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \muskip_if_exist:c \cs_if_exist:c { TF , T , F , p } \cs_new_protected:Npn \muskip_set:Nn #1#2 { #1 ~ \etex_muexpr:D #2 \scan_stop: } \cs_new_protected:Npn \muskip_gset:Nn { \tex_global:D \muskip_set:Nn } @@ -443,25 +425,6 @@ \muskip_new:N \l_tmpb_muskip \muskip_new:N \g_tmpa_muskip \muskip_new:N \g_tmpb_muskip -\prg_new_conditional:Npnn \skip_if_infinite_glue:n #1 { p , T , F , TF } - { \skip_if_finite:nTF {#1} \prg_return_false: \prg_return_true: } -\cs_new_eq:NN \prg_case_dim:nnn \dim_case:nnn -\cs_new_eq:NN \dim_eval:w \__dim_eval:w -\cs_new_eq:NN \dim_eval_end: \__dim_eval_end: -\cs_new_protected_nopar:Npn \dim_set_max:Nn - { \__dim_set_max:NNNn < \dim_set:Nn } -\cs_new_protected_nopar:Npn \dim_gset_max:Nn - { \__dim_set_max:NNNn < \dim_gset:Nn } -\cs_new_protected_nopar:Npn \dim_set_min:Nn - { \__dim_set_max:NNNn > \dim_set:Nn } -\cs_new_protected_nopar:Npn \dim_gset_min:Nn - { \__dim_set_max:NNNn > \dim_gset:Nn } -\cs_new_protected:Npn \__dim_set_max:NNNn #1#2#3#4 - { \dim_compare:nNnT {#3} #1 {#4} { #2 #3 {#4} } } -\cs_generate_variant:Nn \dim_set_max:Nn { c } -\cs_generate_variant:Nn \dim_gset_max:Nn { c } -\cs_generate_variant:Nn \dim_set_min:Nn { c } -\cs_generate_variant:Nn \dim_gset_min:Nn { c } %% %% %% End of file `l3skip.sty'. |