summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/spbmark/spbmark.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/spbmark/spbmark.sty')
-rw-r--r--macros/latex/contrib/spbmark/spbmark.sty82
1 files changed, 48 insertions, 34 deletions
diff --git a/macros/latex/contrib/spbmark/spbmark.sty b/macros/latex/contrib/spbmark/spbmark.sty
index 9d8c24a018..b6af3d93c2 100644
--- a/macros/latex/contrib/spbmark/spbmark.sty
+++ b/macros/latex/contrib/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}{2024/01/08}{1.43}
+\ProvidesExplPackage{spbmark}{2024/02/04}{1.45}
{Customize superscripts and subscripts}
\cs_generate_variant:Nn \box_set_ht:Nn { cv }
@@ -23,31 +23,60 @@
\cs_generate_variant:Nn \tl_if_novalue:nF { V }
\cs_generate_variant:Nn \tl_if_blank:nF { v }
+\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
+\cs_set_eq:NN \spb@math@sub@save \sb
+\cs_set_eq:NN \spb@@makefnmark@save \@makefnmark
\cs_new_protected:Npn \spb_define:n { \keys_define:nn { ctex/style } }
\cs_new_protected:Npn \spb_set:n { \keys_set:nn { ctex/style } }
\cs_set_eq:NN \spbset \spb_set:n
\keys_define:nn { spbmark/option }
{
- text .bool_set:N = \l_spb_newsupb_text_bool,
+ text .choice:,
+ text/true .code:n =
+ {
+ \cs_set:Npn \textsuperscript { \super }
+ \cs_set:Npn \textsubscript { \sub }
+ },
+ text/false .code:n =
+ {
+ \cs_set:Npn \textsuperscript { \spb@textsuperscript@save }
+ \cs_set:Npn \textsubscript { \spb@textsubscript@save }
+ },
text .default:n = true,
- math .bool_set:N = \l_spb_newsupb_math_bool,
+ math .choice:,
+ math/true .code:n =
+ {
+ \cs_set:Npn \sp { \super }
+ \cs_set:Npn \sb { \sub }
+ },
+ math/false .code:n =
+ {
+ \cs_set:Npn \sp { \spb@math@super@save }
+ \cs_set:Npn \sb { \spb@math@sub@save }
+ },
math .default:n = true,
- foot .bool_set:N = \l_spb_newsupb_foot_bool,
+ foot .choice:,
+ foot/true .code:n =
+ {
+ \cs_set:Npn \@makefnmark
+ { \hbox:n { \fnmarkfont{\super{\@thefnmark}} } }
+ },
+ foot/false .code:n =
+ { \cs_set:Npn \@makefnmark { \spb@@makefnmark@save } },
foot .default:n = true,
- both .meta:n = { text,math },
- both .value_forbidden:n = true,
- all .meta:n = { text,math,foot },
- all .value_forbidden:n = true,
- ctex .code:n = { },
- newsupb .code:n = { }
+ both .meta:n = { text = #1,math = #1 },
+ both .default:n = true,
+ all .meta:n = { text = #1,math = #1,foot = #1 },
+ all .default:n = true
}
+\tl_if_exist:NTF \ftntm@font
+ { \tl_set_eq:NN \fnmarkfont \ftntm@font }
+ { \tl_set_eq:NN \fnmarkfont \normalfont }
\ProcessKeysOptions{spbmark/option}
-\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
-\cs_set_eq:NN \spb@math@sub@save \sb
\tl_new:N \g__spb_mark_case_init_tl
\cs_new_protected:Npn \spb_local_case_init:nnn #1#2#3
{
@@ -120,6 +149,7 @@
nohmove .meta:n = { sphmove = 0pt,sbhmove = 0pt },
novmove .meta:n = { spvmove = 0pt,sbvmove = 0pt }
}
+
\cs_new:Npn \spb_box_super_move_up_i:n #1
{ \box_move_up:nn {#1} { \box_use:N \l__super_i_inner_box } }
\cs_new:Npn \spb_box_sub_move_down_i:n #1
@@ -313,7 +343,6 @@
\group_begin:
\mode_leave_vertical:
\tl_gset:Nn \g__spb_mark_case_init_tl {#1}
- \spb_define:n { unknown .undefine: }
\spb_set:n { ##2,##4 }
\spb_mode_switch:nnn {#1} {##3} { i }
\spb_content_hbox_set:nn {#1} {##1}
@@ -445,26 +474,11 @@
Alignment~only~supports~l,~c,~and~r. \\
The~l~parameter~will~be~used~by~default.
}
-
-\bool_if:NT \l_spb_newsupb_text_bool
- {
- \cs_set_eq:NN \textsuperscript \super
- \cs_set_eq:NN \textsubscript \sub
- }
-\bool_if:NT \l_spb_newsupb_math_bool
- {
- \cs_set_eq:NN \sp \super
- \cs_set_eq:NN \sb \sub
- }
-\bool_if:NT \l_spb_newsupb_foot_bool
- {
- \cs_set:Npn \@makefnmark
- { \hbox:n { \fnmarkfont{\super{\@thefnmark}} } }
- }
+\@ifpackageloaded{easybase}
+ {\ctex_gadd_package_hook:nnn { after } { easybase }}
+ {\use:n}
+ { \keys_define:nn { } { ctex/style .inherit:n = spbmark/option } }
\cs_set_eq:NN \spb \supersub
-\tl_if_exist:NTF \ftntm@font
- { \tl_set_eq:NN \fnmarkfont \ftntm@font }
- { \tl_set_eq:NN \fnmarkfont \normalfont }
\endinput
%
% End of file `spbmark.sty'. \ No newline at end of file