summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/expl3/l3skip.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-09-27 00:38:35 +0000
committerKarl Berry <karl@freefriends.org>2010-09-27 00:38:35 +0000
commit6f75f25fe8d374ef4209118bd8849d742410ccd1 (patch)
treec485a2517a4fba54346c4492d4b34f0c8d815962 /Master/texmf-dist/tex/latex/expl3/l3skip.sty
parent36e4bf755052bf5d5cef33cc2ffbad8f00b22163 (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.sty47
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}}
}