diff options
author | Karl Berry <karl@freefriends.org> | 2012-11-22 23:37:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-11-22 23:37:49 +0000 |
commit | d27c7eb7c70ce56b5ac1c6d7b5277f5c3fc888ee (patch) | |
tree | 4074a79e9d21cb85e640d8233f6b0fe5dce89416 /Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty | |
parent | 6348770c313c5104acd5b60d68377af2621c9a2d (diff) |
l3 (22nov12)
git-svn-id: svn://tug.org/texlive/trunk@28333 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty | 110 |
1 files changed, 79 insertions, 31 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty index 433ff506d60..cee29baf26e 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty @@ -47,7 +47,7 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3candidates.dtx 3633 2012-05-12 20:11:32Z joseph $ +\GetIdInfo$Id: l3candidates.dtx 4298 2012-11-09 13:34:43Z joseph $ {L3 Experimental additions to l3kernel} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -288,7 +288,12 @@ } { \box_set_wd:Nn \l__box_internal_box { \l__box_right_new_dim } - \box_use:N \l__box_internal_box + \hbox:n + { + \tex_kern:D \c_zero_dim + \box_use:N \l__box_internal_box + \tex_hss:D + } } } \cs_new_protected:Npn \box_clip:N #1 @@ -296,49 +301,89 @@ \cs_generate_variant:Nn \box_clip:N { c } \cs_new_protected:Npn \box_trim:Nnnnn #1#2#3#4#5 { - \box_set_wd:Nn #1 { \box_wd:N #1 - (#4) - (#2) } - \hbox_set:Nn #1 + \hbox_set:Nn \l__box_internal_box { - \skip_horizontal:n { - \dim_eval:n {#2} } + \tex_kern:D -\__dim_eval:w #2 \__dim_eval_end: \box_use:N #1 + \tex_kern:D -\__dim_eval:w #4 \__dim_eval_end: } \dim_compare:nNnTF { \box_dp:N #1 } > {#3} - { \box_set_dp:Nn #1 { \box_dp:N #1 - (#3) } } { - \hbox_set:Nn #1 - { \box_move_down:nn { #3 - \box_dp:N #1 } { \box_use:N #1 } } - \box_set_dp:Nn #1 \c_zero_dim + \hbox_set:Nn \l__box_internal_box + { + \box_move_down:nn \c_zero_dim + { \box_use:N \l__box_internal_box } + } + \box_set_dp:Nn \l__box_internal_box { \box_dp:N #1 - (#3) } + } + { + \hbox_set:Nn \l__box_internal_box + { + \box_move_down:nn { #3 - \box_dp:N #1 } + { \box_use:N \l__box_internal_box } + } + \box_set_dp:Nn \l__box_internal_box \c_zero_dim + } + \dim_compare:nNnTF { \box_ht:N \l__box_internal_box } > {#5} + { + \hbox_set:Nn \l__box_internal_box + { \box_move_up:nn \c_zero_dim { \box_use:N \l__box_internal_box } } + \box_set_ht:Nn \l__box_internal_box + { \box_ht:N \l__box_internal_box - (#5) } } - \dim_compare:nNnTF { \box_ht:N #1 } > {#5} - { \box_set_ht:Nn #1 { \box_ht:N #1 - (#5) } } { - \hbox_set:Nn #1 - { \box_move_up:nn { #5 - \box_ht:N #1 } { \box_use:N #1 } } - \box_set_ht:Nn #1 \c_zero_dim + \hbox_set:Nn \l__box_internal_box + { + \box_move_up:nn { #5 - \box_ht:N \l__box_internal_box } + { \box_use:N \l__box_internal_box } + } + \box_set_ht:Nn \l__box_internal_box \c_zero_dim } + \box_set_eq:NN #1 \l__box_internal_box } \cs_generate_variant:Nn \box_trim:Nnnnn { c } \cs_new_protected:Npn \box_viewport:Nnnnn #1#2#3#4#5 { - \box_set_wd:Nn #1 { (#4) - (#2) } - \hbox_set:Nn #1 + \hbox_set:Nn \l__box_internal_box { - \skip_horizontal:n { - \dim_eval:n {#2} } + \tex_kern:D -\__dim_eval:w #2 \__dim_eval_end: \box_use:N #1 + \tex_kern:D \__dim_eval:w #4 - \box_wd:N #1 \__dim_eval_end: + } + \dim_compare:nNnTF {#3} < \c_zero_dim + { + \hbox_set:Nn \l__box_internal_box + { + \box_move_down:nn \c_zero_dim + { \box_use:N \l__box_internal_box } + } + \box_set_dp:Nn \l__box_internal_box { -\dim_eval:n {#3} } } - \dim_compare:nNnTF {#3} > \c_zero_dim { - \hbox_set:Nn #1 { \box_move_down:nn {#3} { \box_use:N #1 } } - \box_set_dp:Nn #1 \c_zero_dim + \hbox_set:Nn \l__box_internal_box + { \box_move_down:nn {#3} { \box_use:N \l__box_internal_box } } + \box_set_dp:Nn \l__box_internal_box \c_zero_dim } - { \box_set_dp:Nn #1 { - \dim_eval:n {#3} } } \dim_compare:nNnTF {#5} > \c_zero_dim - { \box_set_ht:Nn #1 {#5} } { - \hbox_set:Nn #1 - { \box_move_up:nn { -\dim_eval:n {#5} } { \box_use:N #1 } } - \box_set_ht:Nn #1 \c_zero_dim + \hbox_set:Nn \l__box_internal_box + { \box_move_up:nn \c_zero_dim { \box_use:N \l__box_internal_box } } + \box_set_ht:Nn \l__box_internal_box + { + #5 + \dim_compare:nNnT {#3} > \c_zero_dim + { - (#3) } + } } + { + \hbox_set:Nn \l__box_internal_box + { + \box_move_up:nn { -\dim_eval:n {#5} } + { \box_use:N \l__box_internal_box } + } + \box_set_ht:Nn \l__box_internal_box \c_zero_dim + } + \box_set_eq:NN #1 \l__box_internal_box } \cs_generate_variant:Nn \box_viewport:Nnnnn { c } \cs_new:Npn \clist_item:Nn #1#2 @@ -494,18 +539,21 @@ \__coffin_find_corner_maxima:N #1 \__coffin_find_bounding_shift: \box_rotate:Nn #1 {#2} - \hbox_set:Nn #1 + \hbox_set:Nn \l__coffin_internal_box { - \tex_kern:D \l__coffin_bounding_shift_dim - \tex_kern:D -\l__coffin_left_corner_dim + \tex_kern:D + \__dim_eval:w + \l__coffin_bounding_shift_dim - \l__coffin_left_corner_dim + \__dim_eval_end: \box_move_down:nn { \l__coffin_bottom_corner_dim } { \box_use:N #1 } } - \box_set_ht:Nn #1 + \box_set_ht:Nn \l__coffin_internal_box { \l__coffin_top_corner_dim - \l__coffin_bottom_corner_dim } - \box_set_dp:Nn #1 { 0 pt } - \box_set_wd:Nn #1 + \box_set_dp:Nn \l__coffin_internal_box { 0 pt } + \box_set_wd:Nn \l__coffin_internal_box { \l__coffin_right_corner_dim - \l__coffin_left_corner_dim } + \hbox_set:Nn #1 { \box_use:N \l__coffin_internal_box } \prop_map_inline:cn { l__coffin_corners_ \__int_value:w #1 _prop } { \__coffin_shift_corner:Nnnn #1 {##1} ##2 } \prop_map_inline:cn { l__coffin_poles_ \__int_value:w #1 _prop } |