summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/semantex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-04 03:01:11 +0000
committerNorbert Preining <norbert@preining.info>2020-10-04 03:01:11 +0000
commit62f3109ec0fcb4a3309966bdcb9e4f307ff35dd2 (patch)
tree60447da370a4394b5fd095c64a5eebde30425c04 /macros/latex/contrib/semantex
parent0e644e6805342838052f46e6af93f81644d0390b (diff)
CTAN sync 202010040301
Diffstat (limited to 'macros/latex/contrib/semantex')
-rw-r--r--macros/latex/contrib/semantex/semantex.pdfbin356833 -> 357405 bytes
-rw-r--r--macros/latex/contrib/semantex/semantex.sty510
-rw-r--r--macros/latex/contrib/semantex/semantex.tex272
-rw-r--r--macros/latex/contrib/semantex/stripsemantex.lua11
-rw-r--r--macros/latex/contrib/semantex/stripsemantex.sty2
5 files changed, 387 insertions, 408 deletions
diff --git a/macros/latex/contrib/semantex/semantex.pdf b/macros/latex/contrib/semantex/semantex.pdf
index 7ccf0be800..009f3033c9 100644
--- a/macros/latex/contrib/semantex/semantex.pdf
+++ b/macros/latex/contrib/semantex/semantex.pdf
Binary files differ
diff --git a/macros/latex/contrib/semantex/semantex.sty b/macros/latex/contrib/semantex/semantex.sty
index dcbf1f9193..82cf996f5a 100644
--- a/macros/latex/contrib/semantex/semantex.sty
+++ b/macros/latex/contrib/semantex/semantex.sty
@@ -1,5 +1,5 @@
-\RequirePackage{xparse,l3keys2e,leftindex}
-\ProvidesExplPackage{semantex}{2020/09/27}{0.44}{}
+\RequirePackage{xparse,l3keys2e,leftindex,semtex}
+\ProvidesExplPackage{semantex}{2020/10/03}{0.45}{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
@@ -136,98 +136,6 @@
\cs_set_eq:NN\SemantexRecordObject\semantex_write_object_declaration_to_semtex_file:n
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% THE FOLLOWING SECTION IS IDENTICAL TO THE semtex PACKAGE
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% These are some essential commands that are needed for bullets and parentheses,
-% and they are the only ones that will not be stripped by running the
-% stripsemantex algorithm. Therefore, they are also available as a standalone
-% package, called "semtex". This name is meant to suggest "stripped SemanTeX",
-% and at the same time, semtex is the name of a plastic explosive, suggesting
-% "blown-up SemanTeX".
-% (Mathematicians are not famous for the quality of their humour.)
-
-% Bullets:
-
-\box_if_exist:NF \g__semantex_bullet_box
-{
- \box_new:N \g__semantex_bullet_box
- \hbox_set:Nn \g__semantex_bullet_box { $\cdot$ }
- \box_scale:Nnn \g__semantex_bullet_box {1.2} {1.2}
- \tl_set:Nn\g_semantex_bullet
- {
- \box_move_up:nn{-0.25ex}{\box_use:N \g__semantex_bullet_box}
- }
-
- \tl_set:Nn\g_semantex_double_bullet{\g_semantex_bullet \g_semantex_bullet}
-
- \tl_set_eq:NN\SemantexBullet \g_semantex_bullet
-
- \tl_set_eq:NN \SemantexDoubleBullet \g_semantex_double_bullet
-}
-
-% Parentheses:
-
-\cs_set:Npn\SemantexLeft { \mathopen{}\mathclose\bgroup\left }
-
-\cs_set:Npn\SemantexRight { \aftergroup\egroup\right }
-
-\DeclareDocumentCommand\SemantexDelimiterSize { }
-{
- \semantex_write_original_source_to_semtex_file:n { \SemantexDelimiterSize }
- \semantex_write_output_to_semtex_file_V:N \l_semantex_delimiter_size_temp_tl
- \l_semantex_delimiter_size_temp_tl
-}
-
-\DeclareDocumentCommand\RecordSemantexDelimiterSize { }
-{
- \semantex_write_output_to_semtex_file_V:N \l_semantex_delimiter_size_temp_tl
-}
-
-\DeclareDocumentCommand\SemantexDelimiterSizeNoRecord { }
-{
- \l_semantex_delimiter_size_temp_tl
-}
-
-\DeclareDocumentCommand\SemantexMathOpen { mm }
-{
- \group_begin:
- \tl_set:Nn\l_semantex_delimiter_size_temp_tl { #1 }
- \str_if_eq:nnF { #2 } { . } { \mathopen #1 #2 }
-}
-
-\DeclareDocumentCommand\SemantexMathClose { mm }
-{
- \str_if_eq:nnF { #2 } { . } { \mathclose #1 #2 }
- \group_end:
-}
-
-\DeclareDocumentCommand\SemantexMathOpenAuto { m }
-{
- \group_begin:
- \tl_set:Nn\l_semantex_delimiter_size_temp_tl { \middle }
- \SemantexLeft #1
-}
-
-\DeclareDocumentCommand\SemantexMathCloseAuto { m }
-{
- \SemantexRight #1
- \group_end:
-}
-
-\DeclareDocumentCommand\SemantexMathOpenNoPar { }
-{
- \group_begin:
- \tl_clear:N\l_semantex_delimiter_size_temp_tl
-}
-
-\DeclareDocumentCommand\SemantexMathCloseNoPar { }
-{
- \group_end:
-}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -1355,7 +1263,7 @@
\use:c { __semantex_new_object_of_\semantex_class_to_register:N #1:Nw }
}
{
- \msg_error:nnnn { semantex } { created_object_of_unknown_class } { #1 }
+ \msg_error:nnn { semantex } { created_object_of_unknown_class } { #1 }
}
}
@@ -1375,7 +1283,7 @@
}
}
{
- \msg_error:nnnn { semantex } { used_unknown_class } { #1 }
+ \msg_error:nnn { semantex } { used_unknown_class } { #1 }
}
}
@@ -1795,6 +1703,60 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\DeclareDocumentCommand\SemantexDelimiterSize { }
+{
+ \semantex_write_original_source_to_semtex_file:n { \SemantexDelimiterSize }
+ \semantex_write_output_to_semtex_file_V:N \l_semantex_delimiter_size_temp_tl
+ \l_semantex_delimiter_size_temp_tl
+}
+
+\DeclareDocumentCommand\RecordSemantexDelimiterSize { }
+{
+ \semantex_write_output_to_semtex_file_V:N \l_semantex_delimiter_size_temp_tl
+}
+
+\DeclareDocumentCommand\SemantexDelimiterSizeNoRecord { }
+{
+ \l_semantex_delimiter_size_temp_tl
+}
+
+\DeclareDocumentCommand\SemantexMathOpen { mm }
+{
+ \group_begin:
+ \tl_set:Nn\l_semantex_delimiter_size_temp_tl { #1 }
+ \str_if_eq:nnF { #2 } { . } { \mathopen #1 #2 }
+}
+
+\DeclareDocumentCommand\SemantexMathClose { mm }
+{
+ \str_if_eq:nnF { #2 } { . } { \mathclose #1 #2 }
+ \group_end:
+}
+
+\DeclareDocumentCommand\SemantexMathOpenAuto { m }
+{
+ \group_begin:
+ \tl_set:Nn\l_semantex_delimiter_size_temp_tl { \middle }
+ \SemantexLeft #1
+}
+
+\DeclareDocumentCommand\SemantexMathCloseAuto { m }
+{
+ \SemantexRight #1
+ \group_end:
+}
+
+\DeclareDocumentCommand\SemantexMathOpenNoPar { }
+{
+ \group_begin:
+ \tl_clear:N\l_semantex_delimiter_size_temp_tl
+}
+
+\DeclareDocumentCommand\SemantexMathCloseNoPar { }
+{
+ \group_end:
+}
+
\cs_new_protected:Npn \semantex_parentheses_store:nN#1#2
{
\semantex_data_tl_get_store:nnN { #1 } { parsize } \l__semantex_parentheses_store_temp_tl
@@ -2444,17 +2406,6 @@
}
}
-\cs_new_protected:Npn \semantex_data_clone_object:nn#1#2
-{
- \semantex_object_if_exist:NTF { #2 }
- {
- \tl_set:cx { g__semantex_data_tl_#1_parent } { \semantex_object_to_register:N #2 }
- }
- {
- \semantex_msg_error:nnnn { #1 } { object_not_found } { clone } { #2 }
- }
-}
-
% COMMANDS FOR HANDLING DATA CONSISTING OF TOKEN LISTS
\cs_new:Npn \semantex_data_tl_get:nn#1#2
@@ -2476,7 +2427,7 @@
{
\str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
{
- \semantex_msg_error:nnn { #3 } { data_tl_not_found } { #2 }
+ \semantex_msg_error:nnx { #3 } { data_tl_not_found } { #2 }
}
{
\__semantex_data_tl_get_auxiliary:fnn { \semantex_data_parent_get:n { #1 } } { #2 } { #3 }
@@ -2505,7 +2456,7 @@
{
\str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
{
- \semantex_msg_error:nnn { #3 } { data_tl_not_found } { #2 }
+ \semantex_msg_error:nnx { #3 } { data_tl_not_found } { #2 }
}
{
\__semantex_data_tl_get_exp_not_auxiliary:fnn { \semantex_data_parent_get:n { #1 } } { #2 } { #3 }
@@ -2536,7 +2487,7 @@
{
\str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
{
- \msg_error:nnn { #4 } { data_tl_not_found } { #2 }
+ \semantex_msg_error:nnx { #4 } { data_tl_not_found } { #2 }
}
{
\__semantex_data_tl_get_store_auxiliary:fnNn { \semantex_data_parent_get:n { #1 } } { #2 } #3 { #4 }
@@ -2642,13 +2593,13 @@
\cs_new:Npn \semantex_data_int_get:nn#1#2{
% #1 = name of object
- % #2 = the intuence to get
+ % #2 = the integer to get
\__semantex_data_int_get_auxiliary:nnn { #1 } { #2 } { #1 }
}
\cs_new:Npn \__semantex_data_int_get_auxiliary:nnn#1#2#3{
% #1 = name of object
- % #2 = the intuence to get
+ % #2 = the integer to get
% #3 = stores the original register, for error message purposes
\bool_if_exist:cTF { g__semantex_data_int_#1_#2_bool_if_provided }
{
@@ -2659,7 +2610,7 @@
{
\str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
{
- \semantex_msg_error:nnn { #3 } { data_int_not_found } { #2 }
+ \semantex_msg_error:nnx { #3 } { data_int_not_found } { #2 }
}
{
\__semantex_data_int_get_auxiliary:fnn { \semantex_data_parent_get:n { #1 } } { #2 } { #3 }
@@ -2669,7 +2620,7 @@
{
\str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
{
- \semantex_msg_error:nnn { #3 } { data_int_not_found } { #2 }
+ \semantex_msg_error:nnx { #3 } { data_int_not_found } { #2 }
}
{
\__semantex_data_int_get_auxiliary:fnn { \semantex_data_parent_get:n { #1 } } { #2 } { #3 }
@@ -2682,14 +2633,14 @@
\cs_new_protected:Npn \semantex_data_int_get_store:nnN#1#2#3{
% #1 = name of object
- % #2 = the intuence to get
+ % #2 = the integer to get
% #3 = the command to store it in
\__semantex_data_int_get_store_auxiliary:nnNn { #1 } { #2 } #3 { #1 }
}
\cs_new_protected:Npn\__semantex_data_int_get_store_auxiliary:nnNn#1#2#3#4{
% #1 = name of object
- % #2 = the intuence to get
+ % #2 = the integer to get
% #3 = the command to store it in
\bool_if_exist:cTF { g__semantex_data_int_#1_#2_bool_if_provided }
{
@@ -2700,7 +2651,7 @@
{
\str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
{
- \semantex_msg_error:nnn { #4 } { data_int_not_found } { #2 }
+ \semantex_msg_error:nnx { #4 } { data_int_not_found } { #2 }
}
{
\__semantex_data_int_get_store_auxiliary:fnNn { \semantex_data_parent_get:n { #1 } } { #2 } #3 { #4 }
@@ -2710,7 +2661,7 @@
{
\str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
{
- \semantex_msg_error:nnn { #4 } { data_int_not_found } { #2 }
+ \semantex_msg_error:nnx { #4 } { data_int_not_found } { #2 }
}
{
\__semantex_data_int_get_store_auxiliary:fnNn { \semantex_data_parent_get:n { #1 } } { #2 } #3 { #4 }
@@ -2823,10 +2774,22 @@
\cs_new:Npn\semantex_data_bool_get:nnTF#1#2#3#4
{
- % #1 = name of the object
+ % #1 = name of the register
% #2 = boolean to get
% #3 = if true
% #4 = if false
+ \__semantex_data_bool_get_auxiliary:nnTFn { #1 } { #2 } { #3 } { #4 } { #1 }
+}
+
+\cs_new:Npn\__semantex_data_bool_get_auxiliary:nnTFn#1#2#3#4#5
+{
+ % We keep the somewhat unusual order of the arguments
+ % to be consistent with how these commands look elsewhere.
+ % #1 = name of the register
+ % #2 = boolean to get
+ % #3 = if true
+ % #4 = if false
+ % #5 = name of the original register, to be used for error messaging
\bool_if_exist:cTF { g__semantex_data_bool_#1_if_#2_bool_if_provided }
{
\bool_if:cTF { g__semantex_data_bool_#1_if_#2_bool_if_provided }
@@ -2839,22 +2802,24 @@
#4
}
{
- \semantex_data_bool_get:fnTF { \semantex_data_parent_get:n { #1 } } { #2 } { #3 } { #4 }
+ \__semantex_data_bool_get_auxiliary:fnTFn { \semantex_data_parent_get:n { #1 } } { #2 } { #3 } { #4 } { #5 }
}
}
}
{
\str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
{
- #4
+ \semantex_msg_error:nnx { #5 } { data_bool_not_found } { #2 }
}
{
- \semantex_data_bool_get:fnTF { \semantex_data_parent_get:n { #1 } } { #2 } { #3 } { #4 }
+ \__semantex_data_bool_get_auxiliary:fnTFn { \semantex_data_parent_get:n { #1 } } { #2 } { #3 } { #4 } { #5 }
}
}
}
-\cs_generate_variant:Nn \semantex_data_bool_get:nnTF { fnTF, nnT }
+\cs_generate_variant:Nn \__semantex_data_bool_get_auxiliary:nnTFn { fnTFn }
+
+\cs_generate_variant:Nn \semantex_data_bool_get:nnTF { nnT }
\cs_new:Npn\semantex_data_bool_get:nnF#1#2#3
{
@@ -3112,7 +3077,7 @@
{
\str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
{
- \msg_error:nnn { #1 } { arg_valuekey_not_found } { #2 }
+ \semantex_msg_error:nnn { #1 } { arg_valuekey_not_found } { #2 }
}
{
\__semantex_arg_valuekey:fnnn { \semantex_data_parent_get:n { #1 } } { #2 } { #3 } { #4 }
@@ -5313,6 +5278,8 @@
} { #3 }
}
+\cs_generate_variant:Nn \semantex_msg_error:nnn { nnx }
+
\cs_new_protected:Npn \semantex_msg_error:nnnn#1#2#3#4
{
\semantex_error_output_format:xN { #1 } \l__semantex_msg_error_nnnnn_temp_tl
@@ -5687,7 +5654,6 @@
{parent}{ execute={ \semantex_data_parent_set:nn { ##1 } { #1 } } },
{class}{ execute={ \semantex_data_class_set:nn { ##1 } { #1 } } },
{copy}{ execute={ \semantex_data_copy_object:nn { ##1 } { #1 } } },
- {clone}{ execute={ \semantex_data_clone_object:nn { ##1 } { #1 } } },
{texclass}{ execute={ \semantex_data_tl_set:nnn { ##1 } { texclass } { #1 } } },
{symbol}{
execute={
@@ -5749,8 +5715,8 @@
},
},
},
- {default}{si={#1}},
- {degreedefault}{sd={#1}},
+ {default}{sepi={#1}},
+ {degreedefault}{sepd={#1}},
{arg}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } },
{*withothersep}{
d*withothersep={#1},
@@ -5773,10 +5739,10 @@
{argreturn}{ execute={ \semantex_arg_return:n { ##1 } } },
{parse}{ execute={ \semantex_parse:n { ##1 } } },
{clearcommand}{ execute={ \semantex_data_seq_clear:nn { ##1 } { commands_sequence } } },
- {...}{sidots},
- {-}{sislot},
- {*}{sd*},
- {**}{sd**},
+ {...}{sepidots},
+ {-}{sepislot},
+ {*}{sepd*},
+ {**}{sepd**},
},
% The "spar" routine:
definekeys={
@@ -5806,12 +5772,12 @@
definekeys={
{argdots}{setargkeys={...}},
{arg...}{setargkeys={dots}},
- {cargdots}{setargkeys={cdots}},
- {carg...}{setargkeys={c...}},
+ {commaargdots}{setargkeys={commadots}},
+ {commaarg...}{setargkeys={comma...}},
{argslot}{setargkeys={slot}},
{arg-}{setargkeys={-}},
- {cargslot}{setargkeys={cslot}},
- {carg-}{setargkeys={c-}},
+ {commaargslot}{setargkeys={commaslot}},
+ {commaarg-}{setargkeys={comma-}},
{cleararg}{ execute={
\semantex_data_tl_clear:nn { ##1 } { arg }
\semantex_data_int_clear:nn { ##1 } { numberofarguments }
@@ -5908,8 +5874,8 @@
},
},
},
- {sarg}{setargkeys={s={#1}}},
- {carg}{setargkeys={c={#1}}},
+ {separg}{setargkeys={sep={#1}}},
+ {commaarg}{setargkeys={comma={#1}}},
{argdotswithothersep}{setargkeys={dotswithothersep={#1}}},
{arg...withothersep}{setargkeys={dotswithothersep={#1}}},
{argslotwithothersep}{setargkeys={slotwithothersep={#1}}},
@@ -5990,16 +5956,16 @@
definekeys={
{upperslot}{ setkeysx={ upper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperslot } } },
{upper-}{upperslot},
- {supperslot}{ setkeysx={ supper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperslot } } },
- {supper-}{supperslot},
- {cupperslot}{ setkeysx={ cupper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperslot } } },
- {cupper-}{cupperslot},
+ {sepupperslot}{ setkeysx={ sepupper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperslot } } },
+ {sepupper-}{sepupperslot},
+ {commaupperslot}{ setkeysx={ commaupper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperslot } } },
+ {commaupper-}{commaupperslot},
{upperdots}{ setkeysx={ upper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperdots } } },
{upper...}{upperdots},
- {supperdots}{ setkeysx={ supper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperdots } } },
- {supper...}{supperdots},
- {cupperdots}{ setkeysx={ cupper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperdots } } },
- {cupper...}{cupperdots},
+ {sepupperdots}{ setkeysx={ sepupper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperdots } } },
+ {sepupper...}{sepupperdots},
+ {commaupperdots}{ setkeysx={ commaupper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperdots } } },
+ {commaupper...}{commaupperdots},
{clearupper}{
execute={
\semantex_data_tl_clear:nn { ##1 } { upper }
@@ -6015,10 +5981,10 @@
},
{upper*}{upper=\SemantexBullet},
{upper**}{upper=\SemantexDoubleBullet},
- {supper*}{supper=\SemantexBullet},
- {supper**}{supper=\SemantexDoubleBullet},
- {cupper*}{cupper=\SemantexBullet},
- {cupper**}{cupper=\SemantexDoubleBullet},
+ {sepupper*}{sepupper=\SemantexBullet},
+ {sepupper**}{sepupper=\SemantexDoubleBullet},
+ {commaupper*}{commaupper=\SemantexBullet},
+ {commaupper**}{commaupper=\SemantexDoubleBullet},
},
definekeys[1]={
{upper}{
@@ -6031,7 +5997,7 @@
}
},
},
- {supper}{
+ {sepupper}{
execute={
\tl_if_blank:nF { #1 }
{
@@ -6049,7 +6015,7 @@
}
},
},
- {cupper}{
+ {commaupper}{
execute={
\tl_if_blank:nF{#1}
{
@@ -6175,16 +6141,16 @@
definekeys={
{lowerslot}{ setkeysx={ lower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerslot } } },
{lower-}{lowerslot},
- {slowerslot}{ setkeysx={ slower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerslot } } },
- {slower-}{slowerslot},
- {clowerslot}{ setkeysx={ clower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerslot } } },
- {clower-}{clowerslot},
+ {seplowerslot}{ setkeysx={ seplower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerslot } } },
+ {seplower-}{seplowerslot},
+ {commalowerslot}{ setkeysx={ commalower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerslot } } },
+ {commalower-}{commalowerslot},
{lowerdots}{ setkeysx={ lower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerdots } } },
{lower...}{lowerdots},
- {slowerdots}{ setkeysx={ slower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerdots } } },
- {slower...}{slowerdots},
- {clowerdots}{ setkeysx={ clower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerdots } } },
- {clower...}{clowerdots},
+ {seplowerdots}{ setkeysx={ seplower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerdots } } },
+ {seplower...}{seplowerdots},
+ {commalowerdots}{ setkeysx={ commalower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerdots } } },
+ {commalower...}{commalowerdots},
{clearlower}{
execute={
\semantex_data_tl_clear:nn { ##1 } { lower }
@@ -6200,10 +6166,10 @@
},
{lower*}{lower=\SemantexBullet},
{lower**}{lower=\SemantexDoubleBullet},
- {slower*}{slower=\SemantexBullet},
- {slower**}{slower=\SemantexDoubleBullet},
- {clower*}{clower=\SemantexBullet},
- {clower**}{clower=\SemantexDoubleBullet},
+ {seplower*}{seplower=\SemantexBullet},
+ {seplower**}{seplower=\SemantexDoubleBullet},
+ {commalower*}{commalower=\SemantexBullet},
+ {commalower**}{commalower=\SemantexDoubleBullet},
},
definekeys[1]={
{lower}{
@@ -6215,7 +6181,7 @@
}
},
},
- {slower}{
+ {seplower}{
execute={
\tl_if_blank:nF { #1 }
{
@@ -6233,7 +6199,7 @@
}
},
},
- {clower}{
+ {commalower}{
execute={
\tl_if_blank:nF{#1}
{
@@ -6359,16 +6325,16 @@
definekeys={
{upperleftslot}{ setkeysx={ upperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftslot } } },
{upperleft-}{upperleftslot},
- {supperleftslot}{ setkeysx={ supperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftslot } } },
- {supperleft-}{supperleftslot},
- {cupperleftslot}{ setkeysx={ cupperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftslot } } },
- {cupperleft-}{cupperleftslot},
+ {sepupperleftslot}{ setkeysx={ sepupperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftslot } } },
+ {sepupperleft-}{sepupperleftslot},
+ {commaupperleftslot}{ setkeysx={ commaupperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftslot } } },
+ {commaupperleft-}{commaupperleftslot},
{upperleftdots}{ setkeysx={ upperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftdots } } },
{upperleft...}{upperleftdots},
- {supperleftdots}{ setkeysx={ supperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftdots } } },
- {supperleft...}{supperleftdots},
- {cupperleftdots}{ setkeysx={ cupperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftdots } } },
- {cupperleft...}{cupperleftdots},
+ {sepupperleftdots}{ setkeysx={ sepupperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftdots } } },
+ {sepupperleft...}{sepupperleftdots},
+ {commaupperleftdots}{ setkeysx={ commaupperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftdots } } },
+ {commaupperleft...}{commaupperleftdots},
{clearupperleft}{
execute={
\semantex_data_tl_clear:nn { ##1 } { upperleft }
@@ -6384,10 +6350,10 @@
},
{upperleft*}{upperleft=\SemantexBullet},
{upperleft**}{upperleft=\SemantexDoubleBullet},
- {supperleft*}{supperleft=\SemantexBullet},
- {supperleft**}{supperleft=\SemantexDoubleBullet},
- {cupperleft*}{cupperleft=\SemantexBullet},
- {cupperleft**}{cupperleft=\SemantexDoubleBullet},
+ {sepupperleft*}{sepupperleft=\SemantexBullet},
+ {sepupperleft**}{sepupperleft=\SemantexDoubleBullet},
+ {commaupperleft*}{commaupperleft=\SemantexBullet},
+ {commaupperleft**}{commaupperleft=\SemantexDoubleBullet},
},
definekeys[1]={
{upperleft}{
@@ -6399,7 +6365,7 @@
}
},
},
- {supperleft}{
+ {sepupperleft}{
execute={
\tl_if_blank:nF { #1 }
{
@@ -6417,7 +6383,7 @@
}
},
},
- {cupperleft}{
+ {commaupperleft}{
execute={
\tl_if_blank:nF{#1}
{
@@ -6543,16 +6509,16 @@
definekeys={
{lowerleftslot}{ setkeysx={ lowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftslot } } },
{lowerleft-}{lowerleftslot},
- {slowerleftslot}{ setkeysx={ slowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftslot } } },
- {slowerleft-}{slowerleftslot},
- {clowerleftslot}{ setkeysx={ clowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftslot } } },
- {clowerleft-}{clowerleftslot},
+ {seplowerleftslot}{ setkeysx={ seplowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftslot } } },
+ {seplowerleft-}{seplowerleftslot},
+ {commalowerleftslot}{ setkeysx={ commalowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftslot } } },
+ {commalowerleft-}{commalowerleftslot},
{lowerleftdots}{ setkeysx={ lowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftdots } } },
{lowerleft...}{lowerleftdots},
- {slowerleftdots}{ setkeysx={ slowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftdots } } },
- {slowerleft...}{slowerleftdots},
- {clowerleftdots}{ setkeysx={ clowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftdots } } },
- {clowerleft...}{clowerleftdots},
+ {seplowerleftdots}{ setkeysx={ seplowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftdots } } },
+ {seplowerleft...}{seplowerleftdots},
+ {commalowerleftdots}{ setkeysx={ commalowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftdots } } },
+ {commalowerleft...}{commalowerleftdots},
{clearlowerleft}{
execute={
\semantex_data_tl_clear:nn { ##1 } { lowerleft }
@@ -6568,10 +6534,10 @@
},
{lowerleft*}{lowerleft=\SemantexBullet},
{lowerleft**}{lowerleft=\SemantexDoubleBullet},
- {slowerleft*}{slowerleft=\SemantexBullet},
- {slowerleft**}{slowerleft=\SemantexDoubleBullet},
- {clowerleft*}{clowerleft=\SemantexBullet},
- {clowerleft**}{clowerleft=\SemantexDoubleBullet},
+ {seplowerleft*}{seplowerleft=\SemantexBullet},
+ {seplowerleft**}{seplowerleft=\SemantexDoubleBullet},
+ {commalowerleft*}{commalowerleft=\SemantexBullet},
+ {commalowerleft**}{commalowerleft=\SemantexDoubleBullet},
},
definekeys[1]={
{lowerleft}{
@@ -6583,7 +6549,7 @@
}
},
},
- {slowerleft}{
+ {seplowerleft}{
execute={
\tl_if_blank:nF { #1 }
{
@@ -6601,7 +6567,7 @@
}
},
},
- {clowerleft}{
+ {commalowerleft}{
execute={
\tl_if_blank:nF{#1}
{
@@ -6726,36 +6692,36 @@
{ lowerslot },
},
{d-}{dslot},
- {sdslot}{
+ {sepdslot}{
boolifTF={uppergrading}
- { supperslot }
- { slowerslot },
+ { sepupperslot }
+ { seplowerslot },
},
- {sd-}{sdslot},
- {cdslot}{
+ {sepd-}{sepdslot},
+ {commadslot}{
boolifTF={uppergrading}
- { cupperslot }
- { clowerslot },
+ { commaupperslot }
+ { commalowerslot },
},
- {cd-}{cdslot},
+ {commad-}{commadslot},
{ddots}{
boolifTF={uppergrading}
{ upperdots }
{ lowerdots },
},
{d...}{ddots},
- {sddots}{
+ {sepddots}{
boolifTF={uppergrading}
- { supperdots }
- { slowerdots },
+ { sepupperdots }
+ { seplowerdots },
},
- {sd...}{sddots},
- {cddots}{
+ {sepd...}{sepddots},
+ {commaddots}{
boolifTF={uppergrading}
- { cupperdots }
- { clowerdots },
+ { commaupperdots }
+ { commalowerdots },
},
- {cd...}{cddots},
+ {commad...}{commaddots},
{cleard}{
boolifTF={uppergrading}
{ clearupper }
@@ -6781,25 +6747,25 @@
{ upper** }
{ lower** },
},
- {sd*}{
+ {sepd*}{
boolifTF={uppergrading}
- { supper* }
- { slower* },
+ { sepupper* }
+ { seplower* },
},
- {sd**}{
+ {sepd**}{
boolifTF={uppergrading}
- { supper** }
- { slower** },
+ { sepupper** }
+ { seplower** },
},
- {cd*}{
+ {commad*}{
boolifTF={uppergrading}
- { cupper* }
- { clower* },
+ { commaupper* }
+ { commalower* },
},
- {cd**}{
+ {commad**}{
boolifTF={uppergrading}
- { cupper** }
- { clower** },
+ { commaupper** }
+ { commalower** },
},
},
definekeys[1]={
@@ -6810,18 +6776,18 @@
{ \semantex_valuekey:nnn { ##1 } { lower } { #1 } }
},
},
- {sd}{
+ {sepd}{
execute={
\semantex_data_bool_get:nnTF { ##1 } { uppergrading }
- { \semantex_valuekey:nnn { ##1 } { supper } { #1 } }
- { \semantex_valuekey:nnn { ##1 } { slower } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { sepupper } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { seplower } { #1 } }
},
},
- {cd}{
+ {commad}{
execute={
\semantex_data_bool_get:nnTF { ##1 } { uppergrading }
- { \semantex_valuekey:nnn { ##1 } { cupper } { #1 } }
- { \semantex_valuekey:nnn { ##1 } { clower } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { commaupper } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { commalower } { #1 } }
},
},
{pred}{
@@ -6959,36 +6925,36 @@
{ upperslot },
},
{i-}{islot},
- {sislot}{
+ {sepislot}{
boolifTF={uppergrading}
- { slowerslot }
- { supperslot },
+ { seplowerslot }
+ { sepupperslot },
},
- {si-}{sislot},
- {cislot}{
+ {sepi-}{sepislot},
+ {commaislot}{
boolifTF={uppergrading}
- { clowerslot }
- { cupperslot },
+ { commalowerslot }
+ { commaupperslot },
},
- {ci-}{cislot},
+ {commai-}{commaislot},
{idots}{
boolifTF={uppergrading}
{ lowerdots }
{ upperdots },
},
{i...}{idots},
- {sidots}{
+ {sepidots}{
boolifTF={uppergrading}
- { slowerdots }
- { supperdots },
+ { seplowerdots }
+ { sepupperdots },
},
- {si...}{sidots},
- {cidots}{
+ {sepi...}{sepidots},
+ {commaidots}{
boolifTF={uppergrading}
- { clowerdots }
- { cupperdots },
+ { commalowerdots }
+ { commaupperdots },
},
- {ci...}{cidots},
+ {commai...}{commaidots},
{cleari}{
boolifTF={uppergrading}
{ clearlower }
@@ -7014,25 +6980,25 @@
{ lower** }
{ upper** },
},
- {si*}{
+ {sepi*}{
boolifTF={uppergrading}
- { slower* }
- { supper* },
+ { seplower* }
+ { sepupper* },
},
- {si**}{
+ {sepi**}{
boolifTF={uppergrading}
- { slower** }
- { supper** },
+ { seplower** }
+ { sepupper** },
},
- {ci*}{
+ {commai*}{
boolifTF={uppergrading}
- { clower* }
- { cupper* },
+ { commalower* }
+ { commaupper* },
},
- {ci**}{
+ {commai**}{
boolifTF={uppergrading}
- { clower** }
- { cupper** },
+ { commalower** }
+ { commaupper** },
},
},
definekeys[1]={
@@ -7043,18 +7009,18 @@
{ \semantex_valuekey:nnn { ##1 } { upper } { #1 } }
},
},
- {si}{
+ {sepi}{
execute={
\semantex_data_bool_get:nnTF { ##1 } { uppergrading }
- { \semantex_valuekey:nnn { ##1 } { slower } { #1 } }
- { \semantex_valuekey:nnn { ##1 } { supper } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { seplower } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { sepupper } { #1 } }
},
},
- {ci}{
+ {commai}{
execute={
\semantex_data_bool_get:nnTF { ##1 } { uppergrading }
- { \semantex_valuekey:nnn { ##1 } { clower } { #1 } }
- { \semantex_valuekey:nnn { ##1 } { cupper } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { commalower } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { commaupper } { #1 } }
},
},
{prei}{
@@ -7204,10 +7170,10 @@
{argwithoutkeyvalset}{ execute={ \semantex_arg_without_keyval:nn { ##1 } { #1 } } },
{setargwithoutkeyvalx}{ execute={ \semantex_arg_without_keyval:nx { ##1 } { #1 } } },
{argwithoutkeyvalsetx}{ execute={ \semantex_arg_without_keyval:nx { ##1 } { #1 } } },
- {default}{s={#1}},
+ {default}{sep={#1}},
{-withothersep}{slotwithothersep={#1}},
{...withothersep}{dotswithothersep={#1}},
- {s}{
+ {sep}{
execute={
\semantex_data_bool_get:nnTF { ##1 } { nextargwithsep }
{
@@ -7224,7 +7190,7 @@
\semantex_data_bool_set_true:nn { ##1 } { nextargwithsep }
}
},
- {c}{
+ {comma}{
execute={
\semantex_data_bool_get:nnTF { ##1 } { nextargwithsep }
{
@@ -7259,40 +7225,40 @@
defineargkeys={
{dots}{
execute={
- \semantex_arg_valuekey:nnx { ##1 } { s }
+ \semantex_arg_valuekey:nnx { ##1 } { sep }
{
\semantex_data_tl_get_exp_not:nn { ##1 } { argdots }
}
},
},
{...}{dots},
- {cdots}{
+ {commadots}{
execute={
- \semantex_arg_valuekey:nnx { ##1 } { c }
+ \semantex_arg_valuekey:nnx { ##1 } { comma }
{
\semantex_data_tl_get_exp_not:nn { ##1 } { argdots }
}
},
},
- {c...}{cdots},
+ {comma...}{commadots},
{slot}{
execute={
- \semantex_arg_valuekey:nnx { ##1 } { s }
+ \semantex_arg_valuekey:nnx { ##1 } { sep }
{
\semantex_data_tl_get_exp_not:nn { ##1 } { argslot }
}
},
},
{-}{slot},
- {cslot}{
+ {commaslot}{
execute={
- \semantex_arg_valuekey:nnx { ##1 } { c }
+ \semantex_arg_valuekey:nnx { ##1 } { comma }
{
\semantex_data_tl_get_exp_not:nn { ##1 } { argslot }
}
},
},
- {c-}{cslot},
+ {comma-}{commaslot},
},
defineargkeys[2]={
{othersep}{
diff --git a/macros/latex/contrib/semantex/semantex.tex b/macros/latex/contrib/semantex/semantex.tex
index e692b55010..c1a4a97f73 100644
--- a/macros/latex/contrib/semantex/semantex.tex
+++ b/macros/latex/contrib/semantex/semantex.tex
@@ -38,7 +38,7 @@
\usepackage[nameinlink]{cleveref}
-\title{Seman\!\TeX: semantic, keyval-based mathematics (v0.44)}
+\title{Seman\!\TeX: semantic, keyval-based mathematics (v0.45)}
\date{\today}
\author{Sebastian Ørsted (\href{mailto:sorsted@gmail.com}{sorsted@gmail.com})}
@@ -73,6 +73,8 @@
\newcommand\mylst{\lstinline[mathescape]}
+\let\at=@
+
\def\<#1\>{\textrm{\textlangle\textit{#1}\textrangle}}
\def\usercommand\<#1\>{\textrm{\textbackslash\textlangle\textit{#1}\textrangle}}
@@ -247,10 +249,11 @@ Still, suggestions, ideas, and bug reports are more than welcome!
},
definekeys[1]={
{der}{upper={ (#1) } },
- {res}{ rightreturn ,symbolputright ={|}, lower ={#1} },
- {stalk}{clower={#1}},
- % "clower" means "comma lower", i.e. lower index
- % separated from any previous lower index by a comma
+ {res}{ rightreturn ,symbolputright={|}, lower={#1} },
+ {stalk}{seplower={#1}},
+ % "seplower" means "separator + lower", i.e. lower index
+ % separated from any previous lower index by a separator,
+ % which by default is a comma
},
}
@@ -331,9 +334,10 @@ $ \vh[inverseimage]{\sheafF}[spar,stalk=\vp]
},
definekeys[1]={ % we define keys taking 1 value
{der}{upper={(#1)}},
- {stalk}{clower={#1}},
- % "clower" means "comma lower", i.e. lower index
- % separated from any previous lower index by a comma
+ {stalk}{seplower={#1}},
+ % "seplower" means "separator + lower", i.e. lower index
+ % separated from any previous lower index by a separator,
+ % which by default is a comma
{res}{ rightreturn, symbolputright={|}, lower={#1} },
},
}
@@ -429,15 +433,14 @@ $\vf[lower=3]$
In fact, there are quite a few keys for manipulating upper and lower indices.
Right now, apart from \lstinline!upper! and~\lstinline!lower!,
we shall only need a couple more:
-\lstinline!supper! and~\lstinline!slower! mean
-\enquote{separator~+~upper} and \enquote{separator~+~lower}\footnote{Yes, I have noticed that the words unfortunately have other meanings already. But the notation has to be brief and consistent, and I have decided convention that \mylst!s$\<anything\>$! means \<anything\>, possibly separated from previous \<anything\> by a separator.}.
+\lstinline!sepupper! and~\lstinline!seplower! mean
+\enquote{separator~+~upper} and \enquote{separator~+~lower}.
These are like \lstinline!upper! and~\lstinline!lower!,
but if there already was an upper or lower index,
the new index will be separated from the old one by a separator.
By default, this separator is a comma.
There are also two more commands,
-\lstinline!cupper! and~\lstinline!clower!,
-which mean \enquote{comma~+~upper} and~\enquote{comma~+~lower}.
+\lstinline!commaupper! and~\lstinline!commalower!.
These will use a comma as separator, even if you have changed the
default separator.
@@ -627,16 +630,16 @@ ever need~\lstinline!definekeys[1]!. So you can do
\begingroup
\SetupClass\MyVar{
definekeys={
- {key1}{ upper=3, slower=7 },
- {key2}{ lower=6, supper=4 },
+ {key1}{ upper=3, seplower=7 },
+ {key2}{ lower=6, sepupper=4 },
},
definekeys[1]={
- {key3}{ supper=\{#1\} },
- {key4}{ slower=(#1) },
+ {key3}{ sepupper=\{#1\} },
+ {key4}{ seplower=(#1) },
},
definekeys[2]={
- {key5}{ supper=3+#1, slower=7-#2 },
- {key6}{ slower=6\cdot#1, supper=4/#2 },
+ {key5}{ sepupper=3+#1, seplower=7-#2 },
+ {key6}{ seplower=6\cdot#1, sepupper=4/#2 },
},
}
Let us see these rather ridiculous keys in action:
@@ -961,7 +964,7 @@ Let us look at some other algebraic operations that we can control via \semantex
% we use \lbrack and \rbrack rather than [ and ] since in some
% cases (using constructions like in @{\itshape\cref{ch:the_class_command}}@),
% the [...] might be interpreted as an optional argument.
- {localizeprime}{slower={#1}},
+ {localizeprime}{seplower={#1}},
% for localization at a prime ideal
},
}
@@ -991,7 +994,7 @@ Let us look at some other algebraic operations that we can control via \semantex
% for notation like R^{\otimes n}
{localize}{symbolputright={ \lbrack #1^{-1} \rbrack }},
% localization at a multiplicative subset
- {localizeprime}{slower={#1}},
+ {localizeprime}{seplower={#1}},
% for localization at a prime ideal
},
}
@@ -1379,9 +1382,10 @@ However, we might need to stalk, sheafify, take dual sheaves, and twist sheaves.
\begin{lstlisting}
\SetupClass\MyVar{
definekeys[1]={
- {stalk}{clower={#1}},
- % "clower" means "comma lower", i.e. lower index
- % separated from any previous lower index by a comma
+ {stalk}{seplower={#1}},
+ % "seplower" means "separator + lower", i.e. lower index
+ % separated from any previous lower index by a separator,
+ % which by default is a comma
{sheaftwist}{return,symbolputright={(#1)}},
},
definekeys={
@@ -1392,9 +1396,10 @@ However, we might need to stalk, sheafify, take dual sheaves, and twist sheaves.
\end{lstlisting}
\SetupClass\MyVar{
definekeys[1]={
- {stalk}{clower={#1}},
- % "clower" means "comma lower", i.e. lower index
- % separated from any previous lower index by a comma
+ {stalk}{seplower={#1}},
+ % "seplower" means "separator + lower", i.e. lower index
+ % separated from any previous lower index by a separator,
+ % which by default is a comma
{sheaftwist}{return,symbolputright={(#1)}},
},
definekeys={
@@ -1475,12 +1480,16 @@ You can adjust this by writing
We already learned about the keys \lstinline!upper! and~\lstinline!lower!,
-as well as their friends \lstinline!supper!, \lstinline!slower!, \lstinline!cupper!, \lstinline!clower!, etc.
+as well as their friends \lstinline!sepupper!, \lstinline!seplower!, \lstinline!commaupper!, \lstinline!commalower!, etc.
There also exist \enquote{relative} versions of these keys that print the index either as an upper index or as a lower index, depending on your preference for cohomological or homological grading. They are called
\begin{center}
- \lstinline!d!
+ \lstinline!d!,
+ \lstinline!sepd!,
+ \lstinline!commad!
\qquad\qquad and\qquad\qquad
- \lstinline!i!
+ \lstinline!i!,
+ \lstinline!sepi!,
+ \lstinline!commai!,
\end{center}
and consequently, we shall refer to the indices
they correspond to as the \enquote{\lstinline!d!-index} and the \enquote{\lstinline!i!-index}.
@@ -1691,10 +1700,10 @@ $\Hom[Rder]{\vX,\vY}$
If you get tired of having to write \lstinline!\Hom[Rder]! all
the time, you can create a shortcut:
\begin{lstlisting}
-\NewObject\MyVar\RHom[clone=\Hom,Rder]
+\NewObject\MyVar\RHom[copy=\Hom,Rder]
\end{lstlisting}
-\NewObject\MyVar\RHom[clone=\Hom,Rder]
-The \lstinline!clone! key is like the \lstinline!parent! key,
+\NewObject\MyVar\RHom[copy=\Hom,Rder]
+The \lstinline!copy! key is like the \lstinline!parent! key,
except it allows you to inherit the settings from an \emph{object} rather than a \emph{class}. Notice that we did not specify a symbol; the symbol argument is optional, and in this case, it was unnecessary, as the symbol was inherited from~\lstinline!\Hom!. Let us see it in action:
\begin{LTXexample}
$\RHom{\vX,\vY}$
@@ -1795,10 +1804,10 @@ Our solution for left indices in \semantex is based directly on the one
from \pack{leftindex}. However, it works much better if you use \semantex
than if you just used \pack{leftindex} alone, due to the ability to centrally control all your notation. This allows you to choose height and slanting phantoms once and for all in the preamble and never have to worry about it in your document body.
-Just like we have keys like \lstinline!upper!, \lstinline!lower!, \lstinline!supper!, \lstinline!slower!, \lstinline!cupper!, \lstinline!clower!,
+Just like we have keys like \lstinline!upper!, \lstinline!lower!, \lstinline!sepupper!, \lstinline!seplower!, \lstinline!commaupper!, \lstinline!commalower!,
etc., we have a similar collection of keys for the left
indices:
-\lstinline!upperleft!, \lstinline!lowerleft!, \lstinline!supperleft!, \lstinline!slowerleft!, \lstinline!cupperleft!, \lstinline!clowerleft!:
+\lstinline!upperleft!, \lstinline!lowerleft!, \lstinline!sepupperleft!, \lstinline!seplowerleft!, \lstinline!commaupperleft!, \lstinline!commalowerleft!:
\begin{LTXexample}
$ \vf[upperleft=*] $,
$ \vGamma[upperleft=*] $,
@@ -2017,10 +2026,10 @@ One can also use delimiters for other, less obvious purposes, like calculus diff
\NewDelimiterClass\CalculusDifferential[
parent=\MyVar,
defineargkeys[1]={
- {default}{s={d\!#1}},
+ {default}{sep={d\!#1}},
% default is the key that is automatically applied by the
% system to anything you write in the argument that is
- % not recognized as an argument key. The s key
+ % not recognized as an argument key. The sep key
% is a key that prints the value of the key with the
% standard argument separator in front.
},
@@ -2044,10 +2053,10 @@ One can also use delimiters for other, less obvious purposes, like calculus diff
\NewDelimiterClass\CalculusDifferential[
parent=\MyVar,
defineargkeys[1]={
- {default}{s={d\!#1}},
+ {default}{sep={d\!#1}},
% default is the key that is automatically applied by the
% system to anything you write in the argument that is
- % not recognized as an argument key. The s key
+ % not recognized as an argument key. The sep key
% is a key that prints the value of the key with the
% standard argument separator in front.
},
@@ -2298,7 +2307,7 @@ of other situations, like
ifblankF={\SemantexDataGetExpNot{field}}
{
setargkeysx={
- s={\SemantexDataGetExpNot{field}},
+ sep={\SemantexDataGetExpNot{field}},
},
},
},
@@ -2325,7 +2334,7 @@ of other situations, like
{
setargkeysx={
% Set the argument keys, but fully expand their values first
- s={\SemantexDataGetExpNot{field}},
+ sep={\SemantexDataGetExpNot{field}},
},
},
},
@@ -2343,7 +2352,7 @@ of other situations, like
ifblankF={\SemantexDataGetExpNot{space}}
{
setargkeysx={
- s=\SemantexDataGetExpNot{space},
+ sep=\SemantexDataGetExpNot{space},
},
},
ifblankF={\SemantexDataGetExpNot{coefficient}}
@@ -2394,7 +2403,7 @@ We can in principle do the following:
\SetupObject\GL{
dataclear=parseoptions,
definekeys[1]={
- {arg}{ setargkeys={s=#1} }
+ {arg}{ setargkeys={sep=#1} }
},
}
\begin{lstlisting}
@@ -2441,7 +2450,7 @@ To set up the notation from above, we do the following:
{
setargkeysx={
% Set the argument keys, but fully expand their values first
- s={\SemantexDataGetExpNot{field}},
+ sep={\SemantexDataGetExpNot{field}},
},
},
},
@@ -2504,7 +2513,7 @@ We accomplish this by the following:
ifblankF={\SemantexDataGetExpNot{field}}
{
setargkeysx={
- s={\SemantexDataGetExpNot{field}},
+ sep={\SemantexDataGetExpNot{field}},
},
},
},
@@ -2536,7 +2545,7 @@ and show how to set up a syntax like the below:
ifblankF={\SemantexDataGetExpNot{space}}
{
setargkeysx={
- s=\SemantexDataGetExpNot{space},
+ sep=\SemantexDataGetExpNot{space},
},
},
ifblankF={\SemantexDataGetExpNot{coefficient}}
@@ -2567,7 +2576,7 @@ Let us look at a more complicated example: Let us create a command for partial d
setisep=\,,
definekeys[1]={
{default}{
- si={\partial #1},
+ sepi={\partial #1},
},
{raise}{
strifeqTF={#1}{true}
@@ -2660,7 +2669,7 @@ Let us look at a more complicated example: Let us create a command for partial d
setisep=\,,
definekeys[1]={
{default}{
- si={\partial #1},
+ sepi={\partial #1},
},
{raise}{
strifeqTF={#1}{true}
@@ -2896,12 +2905,15 @@ add the following lines to your document right before~\lstinline!\begin{document
\aftergroup\egroup\right
}
-\providecommand\SemantexBullet{%
- \raisebox{-0.25ex}{\scalebox{1.2}{$\cdot$}}%
+\makeatletter
+\DeclareRobustCommand\SemantexBullet{%
+ \mathord{\mathpalette\SemantexBullet@\at@{0.5}}%
}
-\providecommand\SemantexDoubleBullet{%
- \SemantexBullet\SemantexBullet
+\newcommand\SemantexBullet@\at@[2]{%
+ \vcenter{\hbox{\scalebox{#2}{$\m@\at@th#1\bullet$}}}%
}
+\DeclareRobustCommand\SemantexDoubleBullet{\SemantexBullet \SemantexBullet}
+\makeatother
\end{lstlisting}
The package \pack{leftindex} is loaded to take care of any
possible left indices. The package~\pack{graphicx}
@@ -3297,10 +3309,9 @@ In the following sections, we include the full list.
Sets the object to have class~\<Class\>.
\item
- \mylst!copy={$\<object\>$}!,
- \mylst!clone={$\<object\>$}!
+ \mylst!copy={$\<object\>$}!
- Sets the object to be a copy (also known as a clone)
+ Sets the object to be a copy
of~\<object\>.
Then \<object\> works as a \enquote{parent object}, and all information
will be inherited from~\<object\> unless modified for the current object.
@@ -3443,7 +3454,7 @@ In the following sections, we include the full list.
This is the key that is applied whenever the
user writes something in the options which is not a key,
e.g.~the~\lstinline!1! in~\lstinline!\vf[1]!.
- By default, this keys has been set to be equal to~\lstinline!si!,
+ By default, this keys has been set to be equal to~\lstinline!sepi!,
but it is meant to be changeable by the user.
\item
@@ -3451,7 +3462,7 @@ In the following sections, we include the full list.
This is the key where the grading goes.
It is the one used by \lstinline!Cohomology! class types.
- By default, this key has been set to be equal to~\lstinline!sd!,
+ By default, this key has been set to be equal to~\lstinline!sepd!,
but it is meant to be changable by the user.
\item
@@ -3756,13 +3767,13 @@ In the following sections, we include the full list.
system will automatically change this when needed.
\item
- \mylst!sarg={$\<value\>$}!
+ \mylst!separg={$\<value\>$}!
Adds \<value\> to the argument, separated from any previous
argument by the default argument separator.
\item
- \mylst!carg={$\<value\>$}!
+ \mylst!commarg={$\<value\>$}!
Adds \<value\> to the argument, separated from any previous
argument by a comma.
@@ -3795,7 +3806,7 @@ In the following sections, we include the full list.
by the standard separator.
\item
- \mylst!cargdots!, \mylst!carg...!
+ \mylst!commargdots!, \mylst!commarg...!
Adds three dots to the argument,
separated from any previous arguments
@@ -3809,7 +3820,7 @@ In the following sections, we include the full list.
by the standard separator.
\item
- \mylst!cargslot!, \mylst!carg-!
+ \mylst!commargslot!, \mylst!commarg-!
Adds a slot to the argument,
separated from any previous arguments
@@ -3842,14 +3853,14 @@ In the following sections, we include the full list.
with no separator from any previous upper index.
\item
- \mylst!supper={$\<value\>$}!
+ \mylst!sepupper={$\<value\>$}!
Adds to the upper index,
separated from any previous upper
index by the default separator.
\item
- \mylst!cupper={$\<value\>$}!
+ \mylst!commaupper={$\<value\>$}!
Adds to the upper index,
separated from any previous upper
@@ -3900,14 +3911,14 @@ In the following sections, we include the full list.
with no separator from any previous upper index.
\item
- \mylst!supper-!, \mylst!supperslot!
+ \mylst!sepupper-!, \mylst!sepupperslot!
Adds a slot to the upper index,
separated from any previous upper
index by the default separator.
\item
- \mylst!cupper-!, \mylst!cupperslot!
+ \mylst!commaupper-!, \mylst!commaupperslot!
Adds a slot to the upper index,
separated from any previous upper
@@ -3934,14 +3945,14 @@ In the following sections, we include the full list.
with no separator from any previous upper index.
\item
- \mylst!supper...!, \mylst!supperdots!
+ \mylst!sepupper...!, \mylst!sepupperdots!
Adds three dots to the upper index,
separated from any previous upper
index by the default separator.
\item
- \mylst!cupper...!, \mylst!cupperdots!
+ \mylst!commaupper...!, \mylst!commaupperdots!
Adds three dots to the upper index,
separated from any previous upper
@@ -3974,28 +3985,28 @@ In the following sections, we include the full list.
with no separator from any previous upper index.
\item
- \mylst!supper*!
+ \mylst!sepupper*!
Adds a bullet to the upper index,
separated from any previous upper
index by the default separator.
\item
- \mylst!supper**!
+ \mylst!sepupper**!
Adds a double bullet to the upper index,
separated from any previous upper
index by the default separator.
\item
- \mylst!cupper*!
+ \mylst!commaupper*!
Adds a bullet to the upper index,
separated from any previous upper
index by a comma.
\item
- \mylst!cupper**!
+ \mylst!commaupper**!
Adds a double bullet to the upper index,
separated from any previous upper
@@ -4041,14 +4052,14 @@ In the following sections, we include the full list.
with no separator from any previous lower index.
\item
- \mylst!slower={$\<value\>$}!
+ \mylst!seplower={$\<value\>$}!
Adds to the lower index,
separated from any previous lower
index by the default separator.
\item
- \mylst!clower={$\<value\>$}!
+ \mylst!commalower={$\<value\>$}!
Adds to the lower index,
separated from any previous lower
@@ -4099,14 +4110,14 @@ In the following sections, we include the full list.
with no separator from any previous lower index.
\item
- \mylst!slower-!, \mylst!slowerslot!
+ \mylst!seplower-!, \mylst!seplowerslot!
Adds a slot to the lower index,
separated from any previous lower
index by the default separator.
\item
- \mylst!clower-!, \mylst!clowerslot!
+ \mylst!commalower-!, \mylst!commalowerslot!
Adds a slot to the lower index,
separated from any previous lower
@@ -4133,14 +4144,14 @@ In the following sections, we include the full list.
with no separator from any previous lower index.
\item
- \mylst!slower...!, \mylst!slowerdots!
+ \mylst!seplower...!, \mylst!seplowerdots!
Adds three dots to the lower index,
separated from any previous lower
index by the default separator.
\item
- \mylst!clower...!, \mylst!clowerdots!
+ \mylst!commalower...!, \mylst!commalowerdots!
Adds three dots to the lower index,
separated from any previous lower
@@ -4173,28 +4184,28 @@ In the following sections, we include the full list.
with no separator from any previous lower index.
\item
- \mylst!slower*!
+ \mylst!seplower*!
Adds a bullet to the lower index,
separated from any previous lower
index by the default separator.
\item
- \mylst!slower**!
+ \mylst!seplower**!
Adds a double bullet to the lower index,
separated from any previous lower
index by the default separator.
\item
- \mylst!clower*!
+ \mylst!commalower*!
Adds a bullet to the lower index,
separated from any previous lower
index by a comma.
\item
- \mylst!clower**!
+ \mylst!commalower**!
Adds a double bullet to the lower index,
separated from any previous lower
@@ -4240,14 +4251,14 @@ In the following sections, we include the full list.
with no separator from any previous upper left index.
\item
- \mylst!supperleft={$\<value\>$}!
+ \mylst!sepupperleft={$\<value\>$}!
Adds to the upper left index,
separated from any previous upper left
index by the default separator.
\item
- \mylst!cupperleft={$\<value\>$}!
+ \mylst!commaupperleft={$\<value\>$}!
Adds to the upper left index,
separated from any previous upper left
@@ -4264,9 +4275,9 @@ In the following sections, we include the full list.
Sets the post-upper left index.
\item
- \mylst!upperleftputleft={$\<value\>$}!
+ \mylst!upperleftputright={$\<value\>$}!
- Adds something to the left of the upper left index.
+ Adds something to the right of the upper left index.
As with keys like~\lstinline!upperleft!, this
will also increase the number of registered
upper left indices by~\( 1 \), and
@@ -4298,14 +4309,14 @@ In the following sections, we include the full list.
with no separator from any previous upper left index.
\item
- \mylst!supperleft-!, \mylst!supperleftslot!
+ \mylst!sepupperleft-!, \mylst!sepupperleftslot!
Adds a slot to the upper left index,
separated from any previous upper left
index by the default separator.
\item
- \mylst!cupperleft-!, \mylst!cupperleftslot!
+ \mylst!commaupperleft-!, \mylst!commaupperleftslot!
Adds a slot to the upper left index,
separated from any previous upper left
@@ -4332,14 +4343,14 @@ In the following sections, we include the full list.
with no separator from any previous upper left index.
\item
- \mylst!supperleft...!, \mylst!supperleftdots!
+ \mylst!sepupperleft...!, \mylst!sepupperleftdots!
Adds three dots to the upper left index,
separated from any previous upper left
index by the default separator.
\item
- \mylst!cupperleft...!, \mylst!cupperleftdots!
+ \mylst!commaupperleft...!, \mylst!commaupperleftdots!
Adds three dots to the upper left index,
separated from any previous upper left
@@ -4372,28 +4383,28 @@ In the following sections, we include the full list.
with no separator from any previous upper left index.
\item
- \mylst!supperleft*!
+ \mylst!sepupperleft*!
Adds a bullet to the upper left index,
separated from any previous upper left
index by the default separator.
\item
- \mylst!supperleft**!
+ \mylst!sepupperleft**!
Adds a double bullet to the upper left index,
separated from any previous upper left
index by the default separator.
\item
- \mylst!cupperleft*!
+ \mylst!commaupperleft*!
Adds a bullet to the upper left index,
separated from any previous upper left
index by a comma.
\item
- \mylst!cupperleft**!
+ \mylst!commaupperleft**!
Adds a double bullet to the upper left index,
separated from any previous upper left
@@ -4439,14 +4450,14 @@ In the following sections, we include the full list.
with no separator from any previous lower left index.
\item
- \mylst!slowerleft={$\<value\>$}!
+ \mylst!seplowerleft={$\<value\>$}!
Adds to the lower left index,
separated from any previous lower left
index by the default separator.
\item
- \mylst!clowerleft={$\<value\>$}!
+ \mylst!commalowerleft={$\<value\>$}!
Adds to the lower left index,
separated from any previous lower left
@@ -4463,9 +4474,9 @@ In the following sections, we include the full list.
Sets the post-lower left index.
\item
- \mylst!lowerleftputleft={$\<value\>$}!
+ \mylst!lowerleftputright={$\<value\>$}!
- Adds something to the left of the lower left index.
+ Adds something to the right of the lower left index.
As with keys like~\lstinline!lowerleft!, this
will also increase the number of registered
lower left indices by~\( 1 \), and
@@ -4497,14 +4508,14 @@ In the following sections, we include the full list.
with no separator from any previous lower left index.
\item
- \mylst!slowerleft-!, \mylst!slowerleftslot!
+ \mylst!seplowerleft-!, \mylst!seplowerleftslot!
Adds a slot to the lower left index,
separated from any previous lower left
index by the default separator.
\item
- \mylst!clowerleft-!, \mylst!clowerleftslot!
+ \mylst!commalowerleft-!, \mylst!commalowerleftslot!
Adds a slot to the lower left index,
separated from any previous lower left
@@ -4531,14 +4542,14 @@ In the following sections, we include the full list.
with no separator from any previous lower left index.
\item
- \mylst!slowerleft...!, \mylst!slowerleftdots!
+ \mylst!seplowerleft...!, \mylst!seplowerleftdots!
Adds three dots to the lower left index,
separated from any previous lower left
index by the default separator.
\item
- \mylst!clowerleft...!, \mylst!clowerleftdots!
+ \mylst!commalowerleft...!, \mylst!commalowerleftdots!
Adds three dots to the lower left index,
separated from any previous lower left
@@ -4571,28 +4582,28 @@ In the following sections, we include the full list.
with no separator from any previous lower left index.
\item
- \mylst!slowerleft*!
+ \mylst!seplowerleft*!
Adds a bullet to the lower left index,
separated from any previous lower left
index by the default separator.
\item
- \mylst!slowerleft**!
+ \mylst!seplowerleft**!
Adds a double bullet to the lower left index,
separated from any previous lower left
index by the default separator.
\item
- \mylst!clowerleft*!
+ \mylst!commalowerleft*!
Adds a bullet to the lower left index,
separated from any previous lower left
index by a comma.
\item
- \mylst!clowerleft**!
+ \mylst!commalowerleft**!
Adds a double bullet to the lower left index,
separated from any previous lower left
@@ -4638,14 +4649,14 @@ In the following sections, we include the full list.
with no separator from any previous \lstinline!d!-index.
\item
- \mylst!sd={$\<value\>$}!
+ \mylst!sepd={$\<value\>$}!
Adds to the \lstinline!d!-index,
separated from any previous \lstinline!d!-index
by the default separator.
\item
- \mylst!cd={$\<value\>$}!
+ \mylst!commad={$\<value\>$}!
Adds to the \lstinline!d!-index,
separated from any previous \lstinline!d!-index
@@ -4696,14 +4707,14 @@ In the following sections, we include the full list.
with no separator from any previous \lstinline!d!-index.
\item
- \mylst!sd-!, \mylst!sdslot!
+ \mylst!sepd-!, \mylst!sepdslot!
Adds a slot to the \lstinline!d!-index,
separated from any previous \lstinline!d!-index
by the default separator.
\item
- \mylst!cd-!, \mylst!cdslot!
+ \mylst!commad-!, \mylst!commadslot!
Adds a slot to the \lstinline!d!-index,
separated from any previous \lstinline!d!-index
@@ -4718,8 +4729,7 @@ In the following sections, we include the full list.
\item
\mylst!d-withothersep={$\<separator\>$}!,
\mylst!dslotwithothersep={$\<separator\>$}!
-
-
+
Adds a slot to the \lstinline!d!-index, separated
from any previous \lstinline!d!-index by~\<separator\>.
@@ -4730,14 +4740,14 @@ In the following sections, we include the full list.
with no separator from any previous \lstinline!d!-index.
\item
- \mylst!sd...!, \mylst!sddots!
+ \mylst!sepd...!, \mylst!sepddots!
Adds three dots to the \lstinline!d!-index,
separated from any previous \lstinline!d!-index
by the default separator.
\item
- \mylst!cd...!, \mylst!cddots!
+ \mylst!commad...!, \mylst!commaddots!
Adds three dots to the \lstinline!d!-index,
separated from any previous \lstinline!d!-index
@@ -4770,28 +4780,28 @@ In the following sections, we include the full list.
with no separator from any previous \lstinline!d!-index.
\item
- \mylst!sd*!
+ \mylst!sepd*!
Adds a bullet to the \lstinline!d!-index,
separated from any previous \lstinline!d!-index
by the default separator.
\item
- \mylst!sd**!
+ \mylst!sepd**!
Adds a double bullet to the \lstinline!d!-index,
separated from any previous \lstinline!d!-index
by the default separator.
\item
- \mylst!cd*!
+ \mylst!commad*!
Adds a bullet to the \lstinline!d!-index,
separated from any previous \lstinline!d!-index
by a comma.
\item
- \mylst!cd**!
+ \mylst!commad**!
Adds a double bullet to the \lstinline!d!-index,
separated from any previous \lstinline!d!-index
@@ -4837,14 +4847,14 @@ In the following sections, we include the full list.
with no separator from any previous \lstinline!i!-index.
\item
- \mylst!si={$\<value\>$}!
+ \mylst!sepi={$\<value\>$}!
Adds to the \lstinline!i!-index,
separated from any previous
\lstinline!i!-index by the default separator.
\item
- \mylst!ci={$\<value\>$}!
+ \mylst!commai={$\<value\>$}!
Adds to the \lstinline!i!-index,
separated from any previous
@@ -4895,14 +4905,14 @@ In the following sections, we include the full list.
with no separator from any previous \lstinline!i!-index.
\item
- \mylst!si-!, \mylst!sislot!
+ \mylst!sepi-!, \mylst!sepislot!
Adds a slot to the \lstinline!i!-index,
separated from any previous \lstinline!i!-index
by the default separator.
\item
- \mylst!ci-!, \mylst!cislot!
+ \mylst!commai-!, \mylst!commaislot!
Adds a slot to the \lstinline!i!-index,
separated from any previous \lstinline!i!-index
@@ -4929,14 +4939,14 @@ In the following sections, we include the full list.
with no separator from any previous \lstinline!i!-index.
\item
- \mylst!si...!, \mylst!sidots!
+ \mylst!sepi...!, \mylst!sepidots!
Adds three dots to the \lstinline!i!-index,
separated from any previous \lstinline!i!-index
by the default separator.
\item
- \mylst!ci...!, \mylst!cidots!
+ \mylst!commai...!, \mylst!commaidots!
Adds three dots to the \lstinline!i!-index,
separated from any previous \lstinline!i!-index
@@ -4969,28 +4979,28 @@ In the following sections, we include the full list.
with no separator from any previous \lstinline!i!-index.
\item
- \mylst!si*!
+ \mylst!sepi*!
Adds a bullet to the \lstinline!i!-index,
separated from any previous
\lstinline!i!-index by the default separator.
\item
- \mylst!si**!
+ \mylst!sepi**!
Adds a double bullet to the \lstinline!i!-index,
separated from any previous
\lstinline!i!-index by the default separator.
\item
- \mylst!ci*!
+ \mylst!commai*!
Adds a bullet to the \lstinline!i!-index,
separated from any previous
\lstinline!i!-index by a comma.
\item
- \mylst!ci**!
+ \mylst!commai**!
Adds a double bullet to the \lstinline!i!-index,
separated from any previous
@@ -5123,17 +5133,17 @@ These are the predefined keys that work inside the argument.
recognized as a key, e.g.~the~\lstinline!\vx!
in~\lstinline!\vf{\vx}!.
By default, this is set to be equivalent
- to~\lstinline!s!.
+ to~\lstinline!sep!.
\item
- \mylst!s={$\<value\>$}!
+ \mylst!sep={$\<value\>$}!
Adds the \<value\> to the argument,
separated from any previous argument
by the default separator.
\item
- \mylst!c={$\<value\>$}!
+ \mylst!comma={$\<value\>$}!
Adds the \<value\> to the argument,
separated from any previous argument
@@ -5147,7 +5157,7 @@ These are the predefined keys that work inside the argument.
by the default separator.
\item
- \mylst!c-!, \mylst!cslot!
+ \mylst!comma-!, \mylst!commaslot!
Adds a slot to the argument,
separated from any previous argument
@@ -5161,7 +5171,7 @@ These are the predefined keys that work inside the argument.
by the default separator.
\item
- \mylst!c...!, \mylst!cdots!
+ \mylst!comma...!, \mylst!commadots!
Adds three dots to the argument,
separated from any previous argument
diff --git a/macros/latex/contrib/semantex/stripsemantex.lua b/macros/latex/contrib/semantex/stripsemantex.lua
index 0ecb5e6240..f50648dd23 100644
--- a/macros/latex/contrib/semantex/stripsemantex.lua
+++ b/macros/latex/contrib/semantex/stripsemantex.lua
@@ -297,12 +297,15 @@ addSemtexPackageToFile = function()
\aftergroup\egroup\right
}
-\providecommand\SemantexBullet{%
- \raisebox{-0.25ex}{\scalebox{1.2}{$\cdot$}}%
+\makeatletter
+\DeclareRobustCommand\SemantexBullet{%
+ \mathord{\mathpalette\SemantexBullet@{0.5}}%
}
-\providecommand\SemantexDoubleBullet{%
- \SemantexBullet\SemantexBullet
+\newcommand\SemantexBullet@[2]{%
+ \vcenter{\hbox{\scalebox{#2}{$\m@th#1\bullet$}}}%
}
+\DeclareRobustCommand\SemantexDoubleBullet{\SemantexBullet \SemantexBullet}
+\makeatother
]] .. content
end \ No newline at end of file
diff --git a/macros/latex/contrib/semantex/stripsemantex.sty b/macros/latex/contrib/semantex/stripsemantex.sty
index 419a4dd75a..679b2ab72c 100644
--- a/macros/latex/contrib/semantex/stripsemantex.sty
+++ b/macros/latex/contrib/semantex/stripsemantex.sty
@@ -1,5 +1,5 @@
\RequirePackage{xparse}
-\ProvidesExplPackage{stripsemantex}{2020/09/27}{0.44}{}
+\ProvidesExplPackage{stripsemantex}{2020/10/03}{0.45}{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %