summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty66
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
}