From 96dcd69507fddcad970d109c600828c68f6fd5a8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 28 Jul 2021 20:48:41 +0000 Subject: spbmark (28jul21) git-svn-id: svn://tug.org/texlive/trunk@60106 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/spbmark/spbmark.sty | 59 ++++++++++++++----------- 1 file changed, 34 insertions(+), 25 deletions(-) (limited to 'Master/texmf-dist/tex/latex/spbmark') diff --git a/Master/texmf-dist/tex/latex/spbmark/spbmark.sty b/Master/texmf-dist/tex/latex/spbmark/spbmark.sty index 7df09aaeec0..3a35bcd11fd 100644 --- a/Master/texmf-dist/tex/latex/spbmark/spbmark.sty +++ b/Master/texmf-dist/tex/latex/spbmark/spbmark.sty @@ -7,9 +7,9 @@ % conditions of the CC-BY 4.0 License. % The latest version of this license is in % https://creativecommons.org/licenses/by/4.0/legalcode -\NeedsTeXFormat{LaTeX2e}[2020/10/01] +\NeedsTeXFormat{LaTeX2e}[2018/12/31] \RequirePackage{xparse,l3keys2e} -\ProvidesExplPackage{spbmark}{2021/07/26}{1.06} +\ProvidesExplPackage{spbmark}{2021/07/28}{1.08} {Customize superscripts and subscripts} \cs_new_protected:Npn \spb_define:n { \keys_define:nn { spbmark } } @@ -55,12 +55,16 @@ \tl_set:Nn \l__spb_boxb_wd_tl { \box_wd:N \l_tmpb_box } \tl_set:Nn \l__spb_box_max_wd_tl { \dim_max:nn { \l__spb_boxa_wd_tl } { \l__spb_boxb_wd_tl } } -\cs_new:Npn \spb_tmp_boxa_use_vmove:n #1 +\providecommand{\hbox_overlap_center:n}[1] + { \hbox_to_zero:n { \hss #1\hss } } +\cs_new:Npn \spb_boxa_move_up:n #1 { \box_move_up:nn {#1} { \box_use:N \l_tmpa_box } } -\cs_new:Npn \spb_hbox_overlap_position:n #1 +\cs_new:Npn \spb_boxb_move_down:n #1 + { \box_move_down:nn {#1} { \box_use:N \l_tmpb_box } } +\cs_new:Npn \spb_hbox_overlap_vshift:n #1#2 { - \use:c { hbox_overlap_#1:n } { \box_use:N \l_tmpa_box } - \use:c { hbox_overlap_#1:n } { \box_use:N \l_tmpb_box } + \use:c { hbox_overlap_#2:n } { \spb_boxa_move_up:n {#1} } + \use:c { hbox_overlap_#2:n } { \spb_boxb_move_down:n {#1} } } \cs_new:Npn \spb_math_print_store:nnn #1#2#3 { @@ -128,23 +132,23 @@ { \spb_math_print_store:nnn {##4} {#1} {##5} } { \spb_text_print_store:nnn {##4} {#1} {##5} } } - \hbox_set:Nn \l_tmpb_box + \hbox_set:Nn \l_tmpa_box { \dim_compare:nNnTF {##6} < { 0pt } { \hbox_overlap_left:n { \hbox_to_wd:nn { \l__spb_boxa_wd_tl - ##6 } - { \spb_tmp_boxa_use_vmove:n {##2}\hss } + { \spb_boxa_move_up:n {##2}\hss } } } { \hbox_to_wd:nn { \l__spb_boxa_wd_tl + ##6 } - { \hss\spb_tmp_boxa_use_vmove:n {##2} } + { \hss\spb_boxa_move_up:n {##2} } } } \spb_box_ht_dp_assign:nn ##3 - \box_use:N \l_tmpb_box + \box_use:N \l_tmpa_box } } \NewDocumentCommand{\supersub} @@ -163,10 +167,6 @@ { \spb_math_print_store:nnnn {#4} {#5} {#8} {#6} } { \spb_text_print_store:nnnn {#4} {#5} {#8} {#6} } } - \hbox_set:Nn \l_tmpa_box - { \box_move_up:nn {#2} { \box_use:N \l_tmpa_box } } - \hbox_set:Nn \l_tmpb_box - { \box_move_down:nn {#2} { \box_use:N \l_tmpb_box } } \str_case:onF {#3} { { l } { \use_i:nnn } @@ -182,14 +182,17 @@ { \hbox_overlap_left:n { - \spb_hbox_overlap_position:n { right } + \spb_hbox_overlap_vshift:n {#2} { right } \skip_horizontal:n { -#7 } } } { - \skip_horizontal:n {#7} - \spb_hbox_overlap_position:n { right } - \skip_horizontal:n { \l__spb_box_max_wd_tl } + \hbox:n + { + \skip_horizontal:n {#7} + \spb_hbox_overlap_vshift:n {#2} { right } + \skip_horizontal:n { \l__spb_box_max_wd_tl } + } } } { @@ -197,14 +200,17 @@ { \hbox_overlap_left:n { - \spb_hbox_overlap_position:n { center } + \spb_hbox_overlap_vshift:n {#2} { center } \skip_horizontal:n { \l__spb_box_max_wd_tl/2 - #7 } } } { - \skip_horizontal:n { \l__spb_box_max_wd_tl/2 + #7 } - \spb_hbox_overlap_position:n { center } - \skip_horizontal:n { \l__spb_box_max_wd_tl/2 } + \hbox:n + { + \skip_horizontal:n { \l__spb_box_max_wd_tl/2 + #7 } + \spb_hbox_overlap_vshift:n {#2} { center } + \skip_horizontal:n { \l__spb_box_max_wd_tl/2 } + } } } { @@ -212,13 +218,16 @@ { \hbox_overlap_left:n { - \spb_hbox_overlap_position:n { left } + \spb_hbox_overlap_vshift:n {#2} { left } \skip_horizontal:n { -#7 } } } { - \skip_horizontal:n { \l__spb_box_max_wd_tl + #7 } - \spb_hbox_overlap_position:n { left } + \hbox:n + { + \skip_horizontal:n { \l__spb_box_max_wd_tl + #7 } + \spb_hbox_overlap_vshift:n {#2} { left } + } } } } -- cgit v1.2.3