diff options
author | Karl Berry <karl@freefriends.org> | 2007-05-22 17:46:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-05-22 17:46:23 +0000 |
commit | f4eb27d3314d15838f674a3872000159d029f88b (patch) | |
tree | 6e9ab33c5a2d702912b4a969ade4e4e2ac586d62 /Master/texmf-dist/tex/latex/expl3/l3skip.sty | |
parent | 14af3f447439750920f754792b89f113d019076a (diff) |
update expl3
git-svn-id: svn://tug.org/texlive/trunk@4335 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 | 204 |
1 files changed, 204 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/l3skip.sty b/Master/texmf-dist/tex/latex/expl3/l3skip.sty new file mode 100644 index 00000000000..8e24a01271b --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3skip.sty @@ -0,0 +1,204 @@ +%% +%% This is file `l3skip.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3skip.dtx (with options: `package,trace') +%% +%% +%% EXPERIMENTAL CODE +%% +%% Do not distribute this file without also distributing the +%% source files specified above. +%% +%% Do not distribute a modified version of this file. +%% +%% +%% File: l3skip.dtx Copyright (C) 2005-2006 Frank Mittelbach, 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 +%% license or (at your option) any later version. The latest version +%% of this license is in the file +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This file is part of the ``expl3 bundle'' (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% The released version of this bundle is available from CTAN. +%% +%% ----------------------------------------------------------------------- +%% +%% The development version of the bundle can be found at +%% +%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/ +%% +%% for those people who are interested. +%% +%%%%%%%%%%% +%% NOTE: %% +%%%%%%%%%%% +%% +%% Snapshots taken from the repository represent work in progress and may +%% not work or may contain conflicting material! We therefore ask +%% people _not_ to put them into distributions, archives, etc. without +%% prior consultation with the LaTeX Project Team. +%% +%% ----------------------------------------------------------------------- +\RequirePackage{l3names} +\GetIdInfo$Id: l3skip.dtx 573 2006-08-21 20:59:37Z morten $ + {L3 Experimental skip registers} +\RequirePackage{l3int} +\RequirePackage{l3prg} +\let:NN \skip_new:N \newskip +\def_new:Npn \skip_new:c {\exp_args:Nc \skip_new:N} +\def_new:Npn \skip_set:Nn #1#2{#1\skip_eval:n{#2} +} +\def_new:Npn \skip_gset:Nn { + \pref_global:D + \skip_set:Nn } +\def_new:Npn \skip_set:cn {\exp_args:Nc \skip_set:Nn } +\def_new:Npn \skip_gset:cn {\exp_args:Nc \skip_gset:Nn } +\def_new:Npn \skip_zero:N #1{#1\c_zero_skip \scan_stop: +} +\def_new:Npn \skip_gzero:N { + \pref_global:D + \skip_zero:N} +\def_new:Npn \skip_zero:c {\exp_args:Nc \skip_zero:N} +\def_new:Npn \skip_gzero:c {\exp_args:Nc \skip_gzero:N} +\def_new:Npn \skip_add:Nn #1#2{ + \tex_advance:D#1 by \skip_eval:n{#2} +} +\def_new:Npn\skip_add:cn{\exp_args:Nc\skip_add:Nn} +\def_new:Npn \skip_sub:Nn #1#2{ + \tex_advance:D#1-\skip_eval:n{#2} +} +\def_new:Npn \skip_gadd:Nn { + \pref_global:D + \skip_add:Nn } +\def_new:Npn \skip_gsub:Nn { + \pref_global:D + \skip_sub:Nn } +\let_new:NN \skip_horizontal:N \tex_hskip:D +\def_new:Npn \skip_horizontal:c {\exp_args:Nc\skip_horizontal:N} +\def_new:Npn \skip_horizontal:n #1{\skip_horizontal:N \skip_eval:n{#1}} +\let_new:NN \skip_vertical:N \tex_vskip:D +\def_new:Npn \skip_vertital:c {\exp_args:Nc\skip_vertical:N} +\def_new:Npn \skip_vertical:n #1{\skip_vertical:N \skip_eval:n{#1}} +\let_new:NN \skip_use:N \tex_the:D +\def_new:Npn \skip_use:c #1{\exp_args:Nc\skip_use:N} +\def_new:Npn \skip_eval:n #1 {\etex_glueexpr:D #1 \scan_stop:} +%%\chk_new_cs:N \l_tmpa_skip +%%\tex_skipdef:D\l_tmpa_skip 255 %currently taken up by \skip@ +\skip_new:N \l_tmpa_skip +\skip_new:N \l_tmpb_skip +\skip_new:N \l_tmpc_skip +\skip_new:N \g_tmpa_skip +\skip_new:N \g_tmpb_skip +\let:NN \c_zero_skip \z@ +\let:NN \c_max_skip \maxdimen +\def_new:Npn \skip_infinite_glue:nTF #1{ + \prg_logic_test:nTF { + \prg_logic_or_p:nn + { \int_compare_p:nNn {\etex_gluestretchorder:D #1 } > \c_zero } + { \int_compare_p:nNn {\etex_glueshrinkorder:D #1 } > \c_zero } + } +} +\def_new:Npn \skip_split_finite_else_action:nnNN #1#2#3#4{ + \skip_infinite_glue:nTF {#1} + { + #3 = \c_zero_skip + #4 = \c_zero_skip + #2 + } + { + #3 = \etex_gluestretch:D #1 \scan_stop: + #4 = \etex_glueshrink:D #1 \scan_stop: + } +} +\let:NN \dim_new:N \newdimen +\def_new:Npn \dim_new:c {\exp_args:Nc \dim_new:N} +\def_new:Npn \dim_set:Nn #1#2{#1~ \dim_eval:n{#2}} +\def_new:Npn \dim_gset:Nn {\pref_global:D \dim_set:Nn } +\def_new:Npn \dim_set:cn {\exp_args:Nc \dim_set:Nn } +\def_new:Npn \dim_set:Nc {\exp_args:NNc \dim_set:Nn } +\def_new:Npn \dim_gset:cn {\exp_args:Nc \dim_gset:Nn } +\def_new:Npn \dim_gset:Nc {\exp_args:NNc \dim_gset:Nn } +\def_new:Npn \dim_gset:cc {\exp_args:Ncc \dim_gset:Nn } +\def_new:Npn \dim_zero:N #1{#1\c_zero_skip} +\def_new:Npn \dim_gzero:N {\pref_global:D \dim_zero:N} +\def_new:Npn \dim_zero:c {\exp_args:Nc \dim_zero:N} +\def_new:Npn \dim_gzero:c {\exp_args:Nc \dim_gzero:N} +\def_new:Npn \dim_add:Nn #1#2{ + \tex_advance:D#1 by \dim_eval:n{#2}\scan_stop: +} +\def_new:Npn\dim_add:cn{\exp_args:Nc\dim_add:Nn} +\def_new:Npn\dim_add:Nc{\exp_args:NNc\dim_add:Nn} +\def_new:Npn \dim_gadd:Nn { \pref_global:D \dim_add:Nn } +\def_new:Npn \dim_sub:Nn #1#2{\tex_advance:D#1-#2\scan_stop:} +\def_new:Npn\dim_sub:cn{\exp_args:Nc\dim_sub:Nn} +\def_new:Npn\dim_sub:Nc{\exp_args:NNc\dim_sub:Nn} +\def_new:Npn \dim_gsub:Nn {\pref_global:D \dim_sub:Nn } +\let_new:NN \dim_use:N \tex_the:D +\def_new:Npn \dim_use:c {\exp_args:Nc\dim_use:N} +\dim_new:N \l_tmpa_dim +\dim_new:N \l_tmpb_dim +\dim_new:N \l_tmpc_dim +\dim_new:N \l_tmpd_dim +\dim_new:N \g_tmpa_dim +\dim_new:N \g_tmpb_dim +\let_new:NN \c_zero_dim \c_zero_skip +\let_new:NN \c_max_dim \c_max_skip +\def_new:Npn \dim_eval:n #1 {\etex_dimexpr:D #1 \scan_stop:} +\let_new:NN \if_dim:w \tex_ifdim:D +\def_new:Npn \dim_compare:nNnTF #1#2#3{ + \if_dim:w \dim_eval:n {#1} #2 \dim_eval:n {#3} + \exp_after:NN \use_arg_i:nn + \else: + \exp_after:NN \use_arg_ii:nn + \fi: +} +\def_new:Npn \dim_compare:nNnT #1#2#3{ + \if_dim:w \dim_eval:n {#1} #2 \dim_eval:n {#3} + \exp_after:NN \use_arg_ii:nn + \fi: + \use_none:n +} +\def_new:Npn \dim_compare:nNnF #1#2#3{ + \if_dim:w \dim_eval:n {#1} #2 \dim_eval:n {#3} + \exp_after:NN \use_none:n + \else: + \exp_after:NN \use_arg_i:n + \fi: +} +\def_new:Npn \dim_compare_p:nNn #1#2#3{ + \if_dim:w \dim_eval:n {#1} #2 \dim_eval:n {#3} + \c_true + \else: + \c_false + \fi: +} +\def_new:Npn \dim_while:nNnT #1#2#3#4{ + \dim_compare:nNnT {#1}#2{#3}{#4 \dim_while:nNnT {#1}#2{#3}{#4}} +} +\def_new:Npn \dim_while:nNnF #1#2#3#4{ + \dim_compare:nNnF {#1}#2{#3}{#4 \dim_while:nNnF {#1}#2{#3}{#4}} +} +\def_new:Npn \dim_dowhile:nNnT #1#2#3#4{ + #4 \dim_compare:nNnT {#1}#2{#3}{\dim_dowhile:nNnT {#1}#2{#3}{#4}} +} +\def_new:Npn \dim_dowhile:nNnF #1#2#3#4{ + #4 \dim_compare:nNnF {#1}#2{#3}{\dim_dowhile:nNnF {#1}#2{#3}{#4}} +} +\let_new:NN \muskip_new:N \newmuskip % nicked from LaTeX +\def_new:Npn \muskip_set:Nn#1#2{#1\etex_muexpr:D#2\scan_stop:} +\def_new:Npn \muskip_gset:Nn{\pref_global:D\muskip_set:Nn} +\def_new:Npn \muskip_add:Nn#1#2{\tex_advance:D#1\etex_muexpr:D#2\scan_stop:} +\def_new:Npn \muskip_gadd:Nn{\pref_global:D\muskip_add:Nn} +\def_new:Npn \muskip_sub:Nn#1#2{\tex_advance:D#1-\etex_muexpr:D#2\scan_stop:} +\def_new:Npn \muskip_gsub:Nn{\pref_global:D\muskip_sub:Nn} +%% +%% +%% End of file `l3skip.sty'. |