%% %% This is file `l3box.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% l3box.dtx (with options: `package') %% %% %% 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: l3box.dtx Copyright (C) 2005-2006 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: l3box.dtx 573 2006-08-21 20:59:37Z morten $ {L3 Experimental Box module} \RequirePackage{l3prg}\par \let_new:NN \box_new:N \newbox \def_new:Npn \box_new:c {\exp_args:Nc \box_new:N} \let_new:NN \if_hbox:N \tex_ifhbox:D \let_new:NN \if_vbox:N \tex_ifvbox:D \let_new:NN \if_box_empty:N \tex_ifvoid:D \def_test_function_new:npn {box_if_empty:N}#1{\if_box_empty:N #1} \def_new:Npn \box_if_empty:cTF {\exp_args:Nc \box_if_empty:NTF} \def_new:Npn \box_if_empty:cT {\exp_args:Nc \box_if_empty:NT} \def_new:Npn \box_if_empty:cF {\exp_args:Nc \box_if_empty:NF} \def_new:Npn \box_set_eq:NN #1#2 {\tex_setbox:D #1 \tex_box:D #2} \def_new:Npn \box_set_eq:cN {\exp_args:Nc \box_set_eq:NN} \def_new:Npn \box_set_eq:Nc {\exp_args:NNc \box_set_eq:NN} \def_new:Npn \box_set_eq:cc {\exp_args:Ncc \box_set_eq:NN} \def_new:Npn \box_gset_eq:NN {\pref_global:D\box_set_eq:NN} \def_new:Npn \box_gset_eq:cN {\exp_args:Nc \box_gset_eq:NN} \def_new:Npn \box_gset_eq:Nc {\exp_args:NNc \box_gset_eq:NN} \def_new:Npn \box_gset_eq:cc {\exp_args:Ncc \box_gset_eq:NN} \let_new:NN \R_previous_box \tex_lastbox:D \def_new:Npn \box_set_to_previous:N #1{\tex_setbox:D#1\R_previous_box} \def_new:Npn \box_set_to_previous:c {\exp_args:Nc \box_set_to_previous:N} \def_new:Npn \box_gset_to_previous:N {\pref_global:D \box_set_to_previous:N} \def_new:Npn \box_gset_to_previous:c {\exp_args:Nc \box_gset_to_previous:N} \def_long_new:Npn \box_move_left:nn #1#2{\tex_moveleft:D\dim_eval:n{#1}{#2}} \def_long_new:Npn \box_move_right:nn #1#2{\tex_moveright:D\dim_eval:n{#1}{#2}} \def_long_new:Npn \box_move_up:nn #1#2{\tex_raise:D\dim_eval:n{#1}{#2}} \def_long_new:Npn \box_move_down:nn #1#2{\tex_lower:D\dim_eval:n{#1}{#2}} \def_new:Npn \box_clear:N #1{\box_set_eq:NN #1 \c_empty_box } \def_new:Npn \box_clear:c {\exp_args:Nc \box_clear:N } \def_new:Npn \box_gclear:N {\pref_global:D\box_clear:N} \def_new:Npn \box_gclear:c {\exp_args:Nc \box_gclear:c } \let_new:NN \box_ht:N \tex_ht:D \def_new:Npn \box_ht:c {\exp_args:Nc \box_ht:N} \let_new:NN \box_dp:N \tex_dp:D \def_new:Npn \box_dp:c {\exp_args:Nc \box_dp:N} \let_new:NN \box_wd:N \tex_wd:D \def_new:Npn \box_wd:c {\exp_args:Nc \box_wd:N} \let_new:NN \box_use_clear:N \tex_box:D \def_new:Npn \box_use_clear:c {\exp_args:Nc \box_use_clear:N} \let_new:NN \box_use:N \tex_copy:D \def_new:Npn \box_use:c {\exp_args:Nc \box_use:N} \let:NN \box_show:N \tex_showbox:D \def_new:Npn \box_show:c {\exp_args:Nc \box_show:N} \let:NN \c_empty_box \voidb@x \let_new:NN \l_tmpa_box \@tempboxa \box_new:N \l_tmpb_box \def_new:Npn \vbox:n {\tex_vbox:D \scan_stop:} \def_long_new:Npn \vbox_set:Nn #1#2 {\tex_setbox:D #1 \tex_vbox:D {#2}} \def_new:Npn \vbox_set:cn {\exp_args:Nc \vbox_set:Nn} \def_new:Npn \vbox_gset:Nn {\pref_global:D \vbox_set:Nn} \def_new:Npn \vbox_gset:cn {\exp_args:Nc \vbox_gset:Nn} \def_long_new:Npn \vbox_set_to_ht:Nnn #1#2#3 { \tex_setbox:D #1 \tex_vbox:D to #2 {#3}} \def_new:Npn \vbox_set_to_ht:cnn{\exp_args:Nc \vbox_set_to_ht:Nnn } \def_new:Npn \vbox_gset_to_ht:Nnn {\pref_global:D \vbox_set_to_ht:Nnn } \def_new:Npn \vbox_gset_to_ht:cnn{\exp_args:Nc \vbox_gset_to_ht:Nnn } \def_new:Npn \vbox_gset_to_ht:ccn {\exp_args:Ncc \vbox_gset_to_ht:Nnn} \def_new:Npn \vbox_set_inline_begin:N #1 { \tex_setbox:D #1 \tex_vbox:D \c_group_begin_token } \let_new:NN \vbox_set_inline_end: \c_group_end_token \def_new:Npn \vbox_gset_inline_begin:N { \pref_global:D \vbox_set_inline_begin:N } \let_new:NN \vbox_gset_inline_end: \c_group_end_token \def_long_new:Npn \vbox_to_ht:nn #1#2{\tex_vbox:D to \dim_eval:n{#1}{#2}} \def_long_new:Npn \vbox_to_zero:n #1 {\tex_vbox:D to \c_zero_dim {#1}} \def_new:Npn \vbox_set_split_to_ht:NNn #1#2#3{ \tex_setbox:D #1 \tex_vsplit:D #2 to #3 } \let_new:NN \vbox_unpack:N \tex_unvcopy:D \def_new:Npn \vbox_unpack:c {\exp_args:Nc \vbox_unpack:N} \let_new:NN \vbox_unpack_clear:N \tex_unvbox:D \def_new:Npn \vbox_unpack_clear:c {\exp_args:Nc \vbox_unpack_clear:N} \def_new:Npn \hbox:n {\tex_hbox:D \scan_stop:} \def_long_new:Npn \hbox_set:Nn #1#2 {\tex_setbox:D #1 \tex_hbox:D {#2}} \def_new:Npn \hbox_set:cn {\exp_args:Nc \hbox_set:Nn} \def_new:Npn \hbox_gset:Nn {\pref_global:D \hbox_set:Nn} \def_new:Npn \hbox_gset:cn {\exp_args:Nc \hbox_gset:Nn} \def_long_new:Npn \hbox_set_to_wd:Nnn #1#2#3 { \tex_setbox:D #1 \tex_hbox:D to \dim_eval:n{#2} {#3}} \def_new:Npn \hbox_set_to_wd:cnn{\exp_args:Nc \hbox_set_to_wd:Nnn } \def_new:Npn \hbox_gset_to_wd:Nnn {\pref_global:D \hbox_set_to_wd:Nnn } \def_new:Npn \hbox_gset_to_wd:cnn{\exp_args:Nc \hbox_gset_to_wd:Nnn } \def_new:Npn \hbox_set_inline_begin:N #1 { \tex_setbox:D #1 \tex_hbox:D \c_group_begin_token } \let_new:NN \hbox_set_inline_end: \c_group_end_token \def_new:Npn \hbox_gset_inline_begin:N { \pref_global:D \hbox_set_inline_begin:N } \let_new:NN \hbox_gset_inline_end: \c_group_end_token \def_long_new:Npn \hbox_to_wd:nn #1#2 {\tex_hbox:D to #1 {#2}} \def_long_new:Npn \hbox_to_zero:n #1 {\tex_hbox:D to \c_zero_skip {#1}} \let_new:NN \hbox_unpack:N \tex_unhcopy:D \def_new:Npn \hbox_unpack:c {\exp_args:Nc \hbox_unpack:N} \let_new:NN \hbox_unpack_clear:N \tex_unhbox:D \def_new:Npn \hbox_unpack_clear:c {\exp_args:Nc \hbox_unpack_clear:N} %% %% %% End of file `l3box.sty'.