diff options
author | Karl Berry <karl@freefriends.org> | 2010-09-27 00:38:35 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-09-27 00:38:35 +0000 |
commit | 6f75f25fe8d374ef4209118bd8849d742410ccd1 (patch) | |
tree | c485a2517a4fba54346c4492d4b34f0c8d815962 /Master/texmf-dist/tex/latex/expl3/l3skip.sty | |
parent | 36e4bf755052bf5d5cef33cc2ffbad8f00b22163 (diff) |
expl3 2047 (26sep10)
git-svn-id: svn://tug.org/texlive/trunk@19904 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/expl3/l3skip.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/expl3/l3skip.sty | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/l3skip.sty b/Master/texmf-dist/tex/latex/expl3/l3skip.sty index 86bf7cf1d43..b6f10c5127d 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3skip.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3skip.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3skip.dtx 1933 2010-05-25 00:26:38Z will $ +\GetIdInfo$Id: l3skip.dtx 2047 2010-09-23 09:27:30Z will $ {L3 Experimental skip registers} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -171,6 +171,51 @@ \if_dim:w \dim_eval:n {#1} #2 \dim_eval:n {#3} \prg_return_true: \else: \prg_return_false: \fi: } +\cs_set_eq:NN \dim_value:w \tex_number:D +\cs_set_eq:NN \dim_eval:w \etex_dimexpr:D +\cs_set_eq:NN \if_dim_compare:w \if_dim:w +\cs_set_eq:NN \dim_eval_end: \scan_stop: +\prg_new_conditional:Npnn \dim_compare:n #1 {p,TF,T,F} { + \exp_after:wN \dim_compare_auxi:w \dim_value:w + \dim_eval:w #1 \q_stop +} +\cs_new:Npn \dim_compare_auxi:w #1#2 \q_stop { + \exp_after:wN \dim_compare_auxii:w \tex_romannumeral:D + \if:w #1- \else: -\fi: #1#2 \q_mark #1#2 \q_stop +} +\cs_new:Npn \dim_compare_auxii:w #1#2#3\q_mark{ + \use:c{ + dim_compare_ #1 \if_meaning:w =#2 = \fi: + :w} +} +\cs_new:cpn {dim_compare_=:w} #1 = #2 \q_stop { + \if_dim_compare:w #1 sp = \dim_eval:w #2 \dim_eval_end: + \prg_return_true: \else: \prg_return_false: \fi: +} +\cs_new:cpn {dim_compare_==:w} #1 == #2 \q_stop { + \if_dim_compare:w #1 sp = \dim_eval:w #2 \dim_eval_end: + \prg_return_true: \else: \prg_return_false: \fi: +} +\cs_new:cpn {dim_compare_!=:w} #1 != #2 \q_stop { + \if_dim_compare:w #1 sp = \dim_eval:w #2 \dim_eval_end: + \prg_return_false: \else: \prg_return_true: \fi: +} +\cs_new:cpn {dim_compare_<:w} #1 < #2 \q_stop { + \if_dim_compare:w #1 sp < \dim_eval:w #2 \dim_eval_end: + \prg_return_true: \else: \prg_return_false: \fi: +} +\cs_new:cpn {dim_compare_>:w} #1 > #2 \q_stop { + \if_dim_compare:w #1 sp > \dim_eval:w #2 \dim_eval_end: + \prg_return_true: \else: \prg_return_false: \fi: +} +\cs_new:cpn {dim_compare_<=:w} #1 <= #2 \q_stop { + \if_dim_compare:w #1 sp > \dim_eval:w #2 \dim_eval_end: + \prg_return_false: \else: \prg_return_true: \fi: +} +\cs_new:cpn {dim_compare_>=:w} #1 >= #2 \q_stop { + \if_dim_compare:w #1 sp < \dim_eval:w #2 \dim_eval_end: + \prg_return_false: \else: \prg_return_true: \fi: +} \cs_new_nopar:Npn \dim_while_do:nNnn #1#2#3#4{ \dim_compare:nNnT {#1}#2{#3}{#4 \dim_while_do:nNnn {#1}#2{#3}{#4}} } |