diff options
author | Karl Berry <karl@freefriends.org> | 2021-12-20 21:30:31 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-12-20 21:30:31 +0000 |
commit | 55836cd2eda310309464bab33f9aef65e2a171a3 (patch) | |
tree | 51c4fdad7979e1d075cf06f43a331f6bfad3f326 /Master/texmf-dist/tex | |
parent | 10c0448f0a37bb0c9aad482c365e8410c572af51 (diff) |
spbmark (20dec21)
git-svn-id: svn://tug.org/texlive/trunk@61357 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/spbmark/spbmark.sty | 165 |
1 files changed, 90 insertions, 75 deletions
diff --git a/Master/texmf-dist/tex/latex/spbmark/spbmark.sty b/Master/texmf-dist/tex/latex/spbmark/spbmark.sty index 465a0350668..10defa9e25f 100644 --- a/Master/texmf-dist/tex/latex/spbmark/spbmark.sty +++ b/Master/texmf-dist/tex/latex/spbmark/spbmark.sty @@ -9,7 +9,7 @@ % https://creativecommons.org/licenses/by/4.0/legalcode \NeedsTeXFormat{LaTeX2e}[2018/12/31] \RequirePackage{xparse,l3keys2e} -\ProvidesExplPackage{spbmark}{2021/12/18}{1.2C} +\ProvidesExplPackage{spbmark}{2021/12/20}{1.2E} {Customize superscripts and subscripts} \cs_generate_variant:Nn \dim_max:nn { VV } @@ -55,29 +55,29 @@ } \spb_define:n { - spvmove .dim_set:N = \l__spb_super_vmove_dim, + spvmove .tl_set:N = \l__spb_super_vmove_tl, spvmove .initial:n = 0pt, - sphmove .dim_set:N = \l__spb_super_hmove_dim, + sphmove .tl_set:N = \l__spb_super_hmove_tl, sphmove .initial:n = 0pt, - sbvmove .dim_set:N = \l__spb_sub_vmove_dim, + sbvmove .tl_set:N = \l__spb_sub_vmove_tl, sbvmove .initial:n = 0pt, - sbhmove .dim_set:N = \l__spb_sub_hmove_dim, + sbhmove .tl_set:N = \l__spb_sub_hmove_tl, sbhmove .initial:n = 0pt, - spbhmove .dim_set:N = \l__spb_supersub_hmove_dim, + spbhmove .tl_set:N = \l__spb_supersub_hmove_tl, spbhmove .initial:n = 0pt, vmove .code:n = { \spb_local_case_init:nnnn { vmove } - { \dim_set:Nn \l__spb_super_vmove_dim {#1} } - { \dim_set:Nn \l__spb_sub_vmove_dim {#1} } - { \dim_set:Nn \l__spb_supersub_vsep_dim {#1} } + { \tl_set:Nn \l__spb_super_vmove_tl {#1} } + { \tl_set:Nn \l__spb_sub_vmove_tl {#1} } + { \tl_set:Nn \l__spb_supersub_vsep_tl {#1} } }, hmove .code:n = { \spb_local_case_init:nnnn { hmove } - { \dim_set:Nn \l__spb_super_hmove_dim {#1} } - { \dim_set:Nn \l__spb_sub_hmove_dim {#1} } - { \dim_set:Nn \l__spb_supersub_hmove_dim {#1} } + { \tl_set:Nn \l__spb_super_hmove_tl {#1} } + { \tl_set:Nn \l__spb_sub_hmove_tl {#1} } + { \tl_set:Nn \l__spb_supersub_hmove_tl {#1} } }, nohmove .meta:n = { sphmove = 0pt,sbhmove = 0pt }, novmove .meta:n = { spvmove = 0pt,sbvmove = 0pt }, @@ -101,7 +101,7 @@ { \tl_put_right:Nn \l__spb_sub_cmd_i_tl {#1} } { \spb@both@cmd@assign+{#1} } }, - vsep .dim_set:N = \l__spb_supersub_vsep_dim, + vsep .tl_set:N = \l__spb_supersub_vsep_tl, vsep .initial:n = 0.6ex, halign .tl_set:N = \l__spb_supersub_halign_tl, halign .initial:n = l, @@ -109,38 +109,6 @@ mode .initial:n = match } -\tl_set:Nn \l__spb_boxa_wd_tl { \box_wd:N \l_tmpa_box } -\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:VV \l__spb_boxa_wd_tl \l__spb_boxb_wd_tl } -\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_boxa_move_down:n #1 - { \box_move_down:nn {#1} { \box_use:N \l_tmpa_box } } -\cs_new:Npn \spb_boxb_move_down:n #1 - { \box_move_down:nn {#1} { \box_use:N \l_tmpb_box } } -\cs_new:Npn \spb_boxa_vmove:nn #1 - { - \str_case:nn {#1} - { - { super } { \spb_boxa_move_up:n } - { sub } { \spb_boxa_move_down:n } - } - } -\cs_generate_variant:Nn \spb_boxa_move_up:n { V } -\cs_generate_variant:Nn \spb_boxb_move_down:n { V } -\dim_new:N \l__spb_supersub_half_vsep_dim -\cs_new:Npn \spb_hbox_overlap_vmove:n #1 - { - \dim_set:Nn \l__spb_supersub_half_vsep_dim - { \l__spb_supersub_vsep_dim/2 } - \use:c { hbox_overlap_#1:n } - { \spb_boxa_move_up:V \l__spb_supersub_half_vsep_dim } - \use:c { hbox_overlap_#1:n } - { \spb_boxb_move_down:V \l__spb_supersub_half_vsep_dim } - } \cs_set_eq:NN \spb@textsuperscript@save \textsuperscript \cs_set_eq:NN \spb@textsubscript@save \textsubscript \cs_set_eq:NN \spb@math@super@save \sp @@ -178,10 +146,73 @@ \hbox_set:Nn \l_tmpb_box { \spb@textsubscript@save{\l__spb_sub_cmd_ii_tl{#2}} } } +\cs_set_eq:NN \spbifmath \use_ii:nn +\cs_new:Npn \spb@ifmathtrue { \cs_set_eq:NN \spbifmath \use_i:nn } +\cs_new:Npn \spb@ifmathfalse { \cs_set_eq:NN \spbifmath \use_ii:nn } +\cs_new_protected:Npn \spb_mode_switch:nnn #1#2#3 + { + \str_case:Vn \l__spb_mode_value_tl + { + { math } + { + \spb@ifmathtrue + \use:c { spb_math_print_store_#3:nn } {#1} {#2} + } + { text } + { + \spb@ifmathfalse + \use:c { spb_text_print_store_#3:nn } {#1} {#2} + } + { match } + { + \mode_if_math:TF + { + \spb@ifmathtrue + \use:c { spb_math_print_store_#3:nn } {#1} {#2} + } + { + \spb@ifmathfalse + \use:c { spb_text_print_store_#3:nn } {#1} {#2} + } + } + } + } +\tl_set:Nn \l__spb_boxa_wd_tl { \box_wd:N \l_tmpa_box } +\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:VV \l__spb_boxa_wd_tl \l__spb_boxb_wd_tl } +\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_boxa_move_down:n #1 + { \box_move_down:nn {#1} { \box_use:N \l_tmpa_box } } +\cs_new:Npn \spb_boxb_move_down:n #1 + { \box_move_down:nn {#1} { \box_use:N \l_tmpb_box } } +\cs_new:Npn \spb_boxa_vmove:nn #1 + { + \str_case:nn {#1} + { + { super } { \spb_boxa_move_up:n } + { sub } { \spb_boxa_move_down:n } + } + } +\cs_generate_variant:Nn \spb_boxa_move_up:n { V } +\cs_generate_variant:Nn \spb_boxb_move_down:n { V } +\dim_new:N \l__spb_supersub_half_vsep_tl +\cs_new:Npn \spb_hbox_overlap_vmove:n #1 + { + \tl_set:Nn \l__spb_supersub_half_vsep_tl + { \l__spb_supersub_vsep_tl/2 } + \use:c { hbox_overlap_#1:n } + { \spb_boxa_move_up:V \l__spb_supersub_half_vsep_tl } + \use:c { hbox_overlap_#1:n } + { \spb_boxb_move_down:V \l__spb_supersub_half_vsep_tl } + } \cs_new_protected:Npn \spb_box_ht_dp_assign:nn #1#2 { - \tl_if_empty:nF {#1} { \box_set_ht:Nn \l_tmpb_box {#1} } - \tl_if_novalue:nF {#2} { \box_set_dp:Nn \l_tmpb_box {#2} } + \tl_if_empty:nF {#1} { \box_set_ht:Nn \l_tmpa_box {#1} } + \tl_if_novalue:nF {#2} { \box_set_dp:Nn \l_tmpa_box {#2} } } \NewDocumentCommand{\spb@both@cmd@assign} {t+>{\SplitArgument{1}{,}}m} @@ -202,22 +233,6 @@ \tl_put_right:Nn \l__spb_super_cmd_ii_tl {#1} \tl_if_novalue:nF {#2} { \tl_put_right:Nn \l__spb_sub_cmd_ii_tl {#2} } } -\cs_new_protected:Npn \spb_mode_switch:nnn #1#2#3 - { - \str_case:Vn \l__spb_mode_value_tl - { - { math } - { \use:c { spb_math_print_store_#3:nn } {#1} {#2} } - { text } - { \use:c { spb_text_print_store_#3:nn } {#1} {#2} } - { match } - { - \mode_if_math:TF - { \use:c { spb_math_print_store_#3:nn } {#1} {#2} } - { \use:c { spb_text_print_store_#3:nn } {#1} {#2} } - } - } - } \cs_new_protected:Npn \spb_global_value_init:n #1 { \tl_gset:Nn \g__spb_hmove_init_tl {#1} @@ -244,26 +259,26 @@ { \hbox_set:Nn \l_tmpa_box { - \dim_compare:nNnTF { \dim_use:c { l__spb_#1_hmove_dim } } < { 0pt } + \dim_compare:nNnTF { \tl_use:c { l__spb_#1_hmove_tl } } < { 0pt } { \hbox_overlap_left:n { \hbox_overlap_right:n - { \spb_boxa_vmove:nn {#1} { \dim_use:c { l__spb_#1_vmove_dim } } } - \skip_horizontal:n { -\dim_use:c { l__spb_#1_hmove_dim } } + { \spb_boxa_vmove:nn {#1} { \tl_use:c { l__spb_#1_vmove_tl } } } + \skip_horizontal:n { -\tl_use:c { l__spb_#1_hmove_tl } } } } { \hbox_to_wd:nn - { \l__spb_boxa_wd_tl + \dim_use:c { l__spb_#1_hmove_dim } } - { \hss\spb_boxa_vmove:nn {#1} { \dim_use:c { l__spb_#1_vmove_dim } } } + { \l__spb_boxa_wd_tl + \tl_use:c { l__spb_#1_hmove_tl } } + { \hss\spb_boxa_vmove:nn {#1} { \tl_use:c { l__spb_#1_vmove_tl } } } } } } \clist_map_inline:nn { super,sub } { \spb_both_newcmd_map:n {#1} } \cs_new:Npn \spb_supersub_hmove_if_negative:TF #1#2 - { \dim_compare:VNnTF \l__spb_supersub_hmove_dim < { 0pt } {#1} {#2} } + { \dim_compare:VNnTF \l__spb_supersub_hmove_tl < { 0pt } {#1} {#2} } \NewDocumentCommand{\supersub}{O{}mmO{}} { \group_begin: @@ -286,13 +301,13 @@ \hbox_overlap_left:n { \spb_hbox_overlap_vmove:n { right } - \skip_horizontal:n { -\l__spb_supersub_hmove_dim } + \skip_horizontal:n { -\l__spb_supersub_hmove_tl } } } { \hbox:n { - \skip_horizontal:n { \l__spb_supersub_hmove_dim } + \skip_horizontal:n { \l__spb_supersub_hmove_tl } \spb_hbox_overlap_vmove:n { right } \skip_horizontal:n { \l__spb_box_max_wd_tl } } @@ -304,13 +319,13 @@ \hbox_overlap_left:n { \spb_hbox_overlap_vmove:n { center } - \skip_horizontal:n { \l__spb_box_max_wd_tl/2 - \l__spb_supersub_hmove_dim } + \skip_horizontal:n { -\l__spb_supersub_hmove_tl - \l__spb_box_max_wd_tl/2 } } } { \hbox:n { - \skip_horizontal:n { \l__spb_box_max_wd_tl/2 + \l__spb_supersub_hmove_dim } + \skip_horizontal:n { \l__spb_box_max_wd_tl/2 + \l__spb_supersub_hmove_tl } \spb_hbox_overlap_vmove:n { center } \skip_horizontal:n { \l__spb_box_max_wd_tl/2 } } @@ -322,13 +337,13 @@ \hbox_overlap_left:n { \spb_hbox_overlap_vmove:n { left } - \skip_horizontal:n { -\l__spb_supersub_hmove_dim } + \skip_horizontal:n { -\l__spb_supersub_hmove_tl - \l__spb_box_max_wd_tl } } } { \hbox:n { - \skip_horizontal:n { \l__spb_box_max_wd_tl + \l__spb_supersub_hmove_dim } + \skip_horizontal:n { \l__spb_box_max_wd_tl + \l__spb_supersub_hmove_tl } \spb_hbox_overlap_vmove:n { left } } } |