diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty | 66 |
1 files changed, 55 insertions, 11 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty index 02c53d2a03c..b3266a06681 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty @@ -47,7 +47,7 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3names} -\GetIdInfo$Id: l3coffins.dtx 2717 2011-09-03 13:40:31Z joseph $ +\GetIdInfo$Id: l3coffins.dtx 2814 2011-09-12 12:56:08Z joseph $ {L3 Experimental coffin code layer} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -181,6 +181,53 @@ } } \cs_generate_variant:Nn \vcoffin_set:Nnn { c } +\cs_new_protected_nopar:Npn \hcoffin_set:Nw #1 + { + \coffin_if_exist:NT #1 + { + \hbox_set:Nw #1 \color_group_begin: \color_ensure_current: + \cs_set_protected_nopar:Npn \hcoffin_set_end: + { + \color_group_end: + \hbox_set_end: + \coffin_reset_structure:N #1 + \coffin_update_poles:N #1 + \coffin_update_corners:N #1 + } + } + } +\cs_new_protected_nopar:Npn \hcoffin_set_end: { } +\cs_generate_variant:Nn \hcoffin_set:Nw { c } +\cs_new_protected_nopar:Npn \vcoffin_set:Nnw #1#2 + { + \coffin_if_exist:NT #1 + { + \vbox_set:Nw #1 + \dim_set:Nn \tex_hsize:D {#2} + \color_group_begin: \color_ensure_current: + \cs_set_protected:Npn \vcoffin_set_end: + { + \color_group_end: + \vbox_set_end: + \coffin_reset_structure:N #1 + \coffin_update_poles:N #1 + \coffin_update_corners:N #1 + \vbox_set_top:Nn \l_coffin_tmp_box { \vbox_unpack:N #1 } + \coffin_set_pole:Nnx #1 { T } + { + { 0 pt } + { + \dim_eval:n { \box_ht:N #1 - \box_ht:N \l_coffin_tmp_box } + } + { 1000 pt } + { 0 pt } + } + \box_clear:N \l_coffin_tmp_box + } + } + } +\cs_new_protected_nopar:Npn \vcoffin_set_end: { } +\cs_generate_variant:Nn \vcoffin_set:Nnw { c } \cs_new_protected_nopar:Npn \coffin_set_eq:NN #1#2 { \coffin_if_exist:NT #1 @@ -218,6 +265,13 @@ \prop_set_eq:cc { l_coffin_poles_ \int_value:w #1 _prop } { l_coffin_poles_ \int_value:w #2 _prop } } +\cs_new_protected_nopar:Npn \coffin_gset_eq_structure:NN #1#2 + { + \prop_gset_eq:cc { l_coffin_corners_ \int_value:w #1 _prop } + { l_coffin_corners_ \int_value:w #2 _prop } + \prop_gset_eq:cc { l_coffin_poles_ \int_value:w #1 _prop } + { l_coffin_poles_ \int_value:w #2 _prop } + } \cs_new_protected_nopar:Npn \coffin_set_user_dimensions:N #1 { \cs_set_eq:NN \coffin_saved_Height: \Height @@ -588,16 +642,6 @@ { \coffin_align:NnnNnnnnN \c_empty_coffin { H } { l } #1 {#2} {#3} {#4} {#5} \l_coffin_aligned_coffin - \hbox_set:Nn \l_coffin_aligned_coffin - { - \dim_compare:nNnT { \l_coffin_offset_x_dim } < \c_zero_dim - { \tex_kern:D -\l_coffin_offset_x_dim } - \hbox_unpack:N \l_coffin_aligned_coffin - \dim_set:Nn \l_coffin_tmp_dim - { \l_coffin_offset_x_dim + \box_wd:N #1 } - \dim_compare:nNnT { \l_coffin_tmp_dim } < \c_zero_dim - { \tex_kern:D -\l_coffin_tmp_dim } - } \hbox_unpack:N \c_empty_box \box_use:N \l_coffin_aligned_coffin } |