summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-11-22 23:37:49 +0000
committerKarl Berry <karl@freefriends.org>2012-11-22 23:37:49 +0000
commitd27c7eb7c70ce56b5ac1c6d7b5277f5c3fc888ee (patch)
tree4074a79e9d21cb85e640d8233f6b0fe5dce89416 /Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
parent6348770c313c5104acd5b60d68377af2621c9a2d (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.sty110
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 }