summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/semantex/semantex.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/semantex/semantex.sty')
-rw-r--r--macros/latex/contrib/semantex/semantex.sty4714
1 files changed, 3272 insertions, 1442 deletions
diff --git a/macros/latex/contrib/semantex/semantex.sty b/macros/latex/contrib/semantex/semantex.sty
index 7346d026b0..3e7e1422b2 100644
--- a/macros/latex/contrib/semantex/semantex.sty
+++ b/macros/latex/contrib/semantex/semantex.sty
@@ -1,11 +1,11 @@
\RequirePackage{xparse,l3keys2e,leftindex,semtex}
-\ProvidesExplPackage{semantex}{2020/11/05}{0.463}{}
+\ProvidesExplPackage{semantex}{2021/06/10}{0.500}{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% SemanTeX -- semantic, keyval-based mathematics %
% https://ctan.org/pkg/semantex %
-% (C) 2020 Sebastian Ørsted %
+% (C) 2021 Sebastian Ørsted %
% sorsted@gmail.com %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -15,13 +15,13 @@
\keys_define:nn { semantex }
{
- keyvalparser .code:n = \cs_set_eq:NN \semantex_keyval_parse:NNn #1,
- keyvalparser .value_required:n = true,
- semtexfile .choice:,
- semtexfile / true .code:n = \semantex_turn_semtex_file_on:,
- semtexfile / false .code:n = \semantex_turn_semtex_file_off:,
- semtexfile / .code:n = \semantex_turn_semtex_file_on:,
- semtexfile / unknown .code:n = \msg_error:nnnn { semantex } { semantex_setup_key_value_not_found } { semtexfile } { #1 },
+ keyval~parser .code:n = \cs_set_eq:NN \semantex_keyval_parse:NNn #1,
+ keyval~parser .value_required:n = true,
+ semtex~file .choice:,
+ semtex~file / true .code:n = \semantex_turn_semtex_file_on:,
+ semtex~file / false .code:n = \semantex_turn_semtex_file_off:,
+ semtex~file / .code:n = \semantex_turn_semtex_file_on:,
+ semtex~file / unknown .code:n = \msg_error:nnnn { semantex } { semantex_setup_key_value_not_found } { semtexfile } { #1 },
unknown .code:n = \msg_error:nnx { semantex } { semantex_setup_key_not_found } { \l_keys_key_str }
}
@@ -512,7 +512,7 @@
\semantex_class_do_output:N #1
\semantex_class_set_symbol:Nn #1 { ##1 }
\semantex_class_set_keys:Nn #1 { ##2 }
- \semantex_class_set_degreedefault:Nn #1 { ##3 }
+ \semantex_class_set_degree_default:Nn #1 { ##3 }
\semantex_class_set_arg:Nn #1 { ##4 }
}
}
@@ -523,7 +523,7 @@
\semantex_class_do_output:N #1
\semantex_class_set_symbol:Nn #1 { ##1 }
\semantex_class_set_keys:Nn #1 { ##2 }
- \semantex_class_set_degreedefault:Nn #1 { ##3 }
+ \semantex_class_set_degree_default:Nn #1 { ##3 }
}
}
}
@@ -610,7 +610,7 @@
\semantex_render_class:Nn #1 {
\semantex_class_do_output:N #1
\semantex_class_set_symbol:Nn #1 { ##1 }
- \semantex_class_set_degreedefault:Nn #1 { ##3 }
+ \semantex_class_set_degree_default:Nn #1 { ##3 }
\semantex_class_set_arg:Nn #1 { ##4 }
}
}
@@ -620,7 +620,7 @@
\semantex_render_class:Nn #1 {
\semantex_class_do_output:N #1
\semantex_class_set_symbol:Nn #1 { ##1 }
- \semantex_class_set_degreedefault:Nn #1 { ##3 }
+ \semantex_class_set_degree_default:Nn #1 { ##3 }
}
}
}
@@ -718,7 +718,7 @@
\semantex_class_set_symbol:Nn #1 { ##2 }
##1
\semantex_class_set_keys:Nn #1 { ##3 }
- \semantex_class_set_degreedefault:Nn #1 { ##4 }
+ \semantex_class_set_degree_default:Nn #1 { ##4 }
\semantex_class_set_arg:Nn #1 { ##5 }
}
}
@@ -730,7 +730,7 @@
\semantex_class_set_symbol:Nn #1 { ##2 }
##1
\semantex_class_set_keys:Nn #1 { ##3 }
- \semantex_class_set_degreedefault:Nn #1 { ##4 }
+ \semantex_class_set_degree_default:Nn #1 { ##4 }
}
}
}
@@ -824,7 +824,7 @@
\semantex_class_do_output:N #1
\semantex_class_set_symbol:Nn #1 { ##2 }
##1
- \semantex_class_set_degreedefault:Nn #1 { ##4 }
+ \semantex_class_set_degree_default:Nn #1 { ##4 }
\semantex_class_set_arg:Nn #1 { ##5 }
}
}
@@ -835,7 +835,7 @@
\semantex_class_do_output:N #1
\semantex_class_set_symbol:Nn #1 { ##2 }
##1
- \semantex_class_set_degreedefault:Nn #1 { ##4 }
+ \semantex_class_set_degree_default:Nn #1 { ##4 }
}
}
}
@@ -944,7 +944,7 @@
\semantex_render_object:Nn ##1 {
\semantex_object_do_output:N ##1
\semantex_object_set_keys:Nn ##1 { ####1 }
- \semantex_object_set_degreedefault:Nn ##1 { ####2 }
+ \semantex_object_set_degree_default:Nn ##1 { ####2 }
\semantex_object_set_arg:Nn ##1 { ####3 }
}
}
@@ -954,7 +954,7 @@
\semantex_render_object:Nn ##1 {
\semantex_object_do_output:N ##1
\semantex_object_set_keys:Nn ##1 { ####1 }
- \semantex_object_set_degreedefault:Nn ##1 { ####2 }
+ \semantex_object_set_degree_default:Nn ##1 { ####2 }
}
}
}
@@ -1034,7 +1034,7 @@
{ ##1 { ####2 } { ####3 } }
\semantex_render_object:Nn ##1 {
\semantex_object_do_output:N ##1
- \semantex_object_set_degreedefault:Nn ##1 { ####2 }
+ \semantex_object_set_degree_default:Nn ##1 { ####2 }
\semantex_object_set_arg:Nn ##1 { ####3 }
}
}
@@ -1043,7 +1043,7 @@
{ ##1 { ####2 } }
\semantex_render_object:Nn ##1 {
\semantex_object_do_output:N ##1
- \semantex_object_set_degreedefault:Nn ##1 { ####2 }
+ \semantex_object_set_degree_default:Nn ##1 { ####2 }
}
}
}
@@ -1178,8 +1178,8 @@
% ##2 = symbol
% ##3 = options
\semantex_new_object:NNn #1 { ##1 }{
- \semantex_object_set_leftpar:Nn ##1 { ##2 }
- \semantex_object_set_rightpar:Nn ##1 { ##3 }
+ \semantex_object_set_left_par:Nn ##1 { ##2 }
+ \semantex_object_set_right_par:Nn ##1 { ##3 }
\semantex_object_set_keys:Nn ##1 { ##4 }
}
% creates the object with name ##1
@@ -1408,14 +1408,14 @@
\semantex_valuekey:nnn { \semantex_object_to_register:N #1 } { arg } { #2 }
}
-\cs_new_protected:Npn\semantex_class_set_degreedefault:Nn#1#2
+\cs_new_protected:Npn\semantex_class_set_degree_default:Nn#1#2
{
- \semantex_valuekey:nnn { \semantex_class_to_register:N #1 } { degreedefault } { #2 }
+ \semantex_valuekey:nnn { \semantex_class_to_register:N #1 } { degree~default } { #2 }
}
-\cs_new_protected:Npn\semantex_object_set_degreedefault:Nn#1#2
+\cs_new_protected:Npn\semantex_object_set_degree_default:Nn#1#2
{
- \semantex_valuekey:nnn { \semantex_object_to_register:N #1 } { degreedefault } { #2 }
+ \semantex_valuekey:nnn { \semantex_object_to_register:N #1 } { degree~default } { #2 }
}
\cs_new_protected:Npn\semantex_class_use_bullet:N#1
@@ -1438,24 +1438,24 @@
\semantex_singlekey:nn { \semantex_object_to_register:N #1 } { * }
}
-\cs_new_protected:Npn\semantex_class_set_leftpar:Nn#1#2
+\cs_new_protected:Npn\semantex_class_set_left_par:Nn#1#2
{
- \semantex_data_tl_set:nnn { \semantex_class_to_register:N #1 } { leftpar } { #2 }
+ \semantex_data_tl_set:nnn { \semantex_class_to_register:N #1 } { left~par } { #2 }
}
-\cs_new_protected:Npn\semantex_object_set_leftpar:Nn#1#2
+\cs_new_protected:Npn\semantex_object_set_left_par:Nn#1#2
{
- \semantex_data_tl_set:nnn { \semantex_object_to_register:N #1 } { leftpar } { #2 }
+ \semantex_data_tl_set:nnn { \semantex_object_to_register:N #1 } { left~par } { #2 }
}
-\cs_new_protected:Npn\semantex_class_set_rightpar:Nn#1#2
+\cs_new_protected:Npn\semantex_class_set_right_par:Nn#1#2
{
- \semantex_data_tl_set:nnn { \semantex_class_to_register:N #1 } { rightpar } { #2 }
+ \semantex_data_tl_set:nnn { \semantex_class_to_register:N #1 } { right~par } { #2 }
}
-\cs_new_protected:Npn\semantex_object_set_rightpar:Nn#1#2
+\cs_new_protected:Npn\semantex_object_set_right_par:Nn#1#2
{
- \semantex_data_tl_set:nnn { \semantex_object_to_register:N #1 } { rightpar } { #2 }
+ \semantex_data_tl_set:nnn { \semantex_object_to_register:N #1 } { right~par } { #2 }
}
\cs_new_protected:Npn\semantex_object_set_class:Nn#1#2
@@ -1505,29 +1505,29 @@
\group_begin:
\cs_set:Nn\semantex_this: { #1 }
#2 % This is where keys can be set up
- \semantex_parse:n { #1 } % Run the "parse" routine, i.e. run the collection of code that the user has added via the key "parseoptions"
+ \semantex_singlekey:nn { #1 } { parse } % Run the "parse" routine, i.e. run the collection of code that the user has added via the key "parse options"
\semantex_data_bool_get:nnTF { #1 } { output } % Checks if the register is supposed to output
{
\semantex_inner_return:n { #1 }
\tl_set:Nx \l__semantex_render_output_class_temp_tl { \semantex_data_tl_get:nn { #1 } { output } } % The output class
- \exp_args:NNx\cs_set:Nn\l__semantex_render_outputoptions_temp_cs:n
- { \semantex_data_tl_get_exp_not:nn { #1 } { outputoptions } }
+ \exp_args:NNx\cs_set:Nn\l__semantex_render_output_options_temp_cs:n
+ { \semantex_data_tl_get_exp_not:nn { #1 } { output~options } }
% \cs_set:Nx did not work here, as it changes ##1 to #1, which we don't want.
- \tl_set:Nn\l__semantex_render_outputoptions_temp_tl
+ \tl_set:Nn\l__semantex_render_output_options_temp_tl
{
- \l__semantex_render_outputoptions_temp_cs:n
+ \l__semantex_render_output_options_temp_cs:n
}
- \tl_put_right:Nx \l__semantex_render_outputoptions_temp_tl
+ \tl_put_right:Nx \l__semantex_render_output_options_temp_tl
{
{ \l__semantex_render_output_class_temp_tl }
}
- \exp_args:NNo\tl_set:No \l__semantex_render_outputoptions_temp_tl
+ \exp_args:NNo\tl_set:No \l__semantex_render_output_options_temp_tl
{
- \l__semantex_render_outputoptions_temp_tl
+ \l__semantex_render_output_options_temp_tl
} % This was necessary, trust me.
- \semantex_data_int_if_positive:nnTF { #1 } { numberofarguments } % Checks if more than one argument has been received, i.e. whether we want to render any argument
+ \semantex_data_int_if_positive:nnTF { #1 } { number~of~arguments } % Checks if more than one argument has been received, i.e. whether we want to render any argument
{
- \semantex_data_bool_get:nnTF { #1 } { leftargument } % Checks if left or right argument
+ \semantex_data_bool_get:nnTF { #1 } { left~argument } % Checks if left or right argument
{
\semantex_left_indices_pre_return:n { #1 }
\semantex_left_arg_pre_return:n { #1 }
@@ -1543,20 +1543,20 @@
% immediately pass options to it
{
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { upperputleft } { \semantex_data_tl_get_exp_not:nn { #1 } { upper } }
+ { upper~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { upper } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { lowerputleft } { \semantex_data_tl_get_exp_not:nn { #1 } { lower } }
+ { lower~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { lower } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { preupper } { \semantex_data_tl_get_exp_not:nn { #1 } { preupper } }
+ { pre~upper } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { postupper } { \semantex_data_tl_get_exp_not:nn { #1 } { postupper } }
+ { post~upper } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { prelower } { \semantex_data_tl_get_exp_not:nn { #1 } { prelower } }
+ { pre~lower } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { postlower } { \semantex_data_tl_get_exp_not:nn { #1 } { postlower } }
+ { post~lower } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { mathclass } { \semantex_data_tl_get_exp_not:nn { #1 } { mathclass } }
- \exp_not:V \l__semantex_render_outputoptions_temp_tl
+ { math~class } { \semantex_data_tl_get_exp_not:nn { #1 } { math~class } }
+ \exp_not:V \l__semantex_render_output_options_temp_tl
% These are the options we pass to the output class so that it
% can eventually render it
}
@@ -1578,24 +1578,24 @@
% immediately pass options to it
{
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { upperleftputright } { \semantex_data_tl_get_exp_not:nn { #1 } { upperleft } }
+ { upper~left~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { upper~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { lowerleftputright } { \semantex_data_tl_get_exp_not:nn { #1 } { lowerleft } }
+ { lower~left~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { lower~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { preupperleft } { \semantex_data_tl_get_exp_not:nn { #1 } { preupperleft } }
+ { pre~upper~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { postupperleft } { \semantex_data_tl_get_exp_not:nn { #1 } { postupperleft } }
+ { post~upper~left } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { prelowerleft } { \semantex_data_tl_get_exp_not:nn { #1 } { prelowerleft } }
+ { pre~lower~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { postlowerleft } { \semantex_data_tl_get_exp_not:nn { #1 } { postlowerleft } }
+ { post~lower~left } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { heightphantom } { \semantex_data_tl_get_exp_not:nn { #1 } { heightphantom } }
+ { height~phantom } { \semantex_data_tl_get_exp_not:nn { #1 } { height~phantom } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { slantingphantom } { \semantex_data_tl_get_exp_not:nn { #1 } { slantingphantom } }
+ { slanting~phantom } { \semantex_data_tl_get_exp_not:nn { #1 } { slanting~phantom } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { mathclass } { \semantex_data_tl_get_exp_not:nn { #1 } { mathclass } }
- \exp_not:V \l__semantex_render_outputoptions_temp_tl
+ { math~class } { \semantex_data_tl_get_exp_not:nn { #1 } { math~class } }
+ \exp_not:V \l__semantex_render_output_options_temp_tl
% These are the options we pass to the output class so that it
% can eventually render it
}
@@ -1616,36 +1616,36 @@
% immediately pass options to it
{
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { upperputleft } { \semantex_data_tl_get_exp_not:nn { #1 } { upper } }
+ { upper~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { upper } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { lowerputleft } { \semantex_data_tl_get_exp_not:nn { #1 } { lower } }
+ { lower~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { lower } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { upperleftputright } { \semantex_data_tl_get_exp_not:nn { #1 } { upperleft } }
+ { upper~left~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { upper~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { lowerleftputright } { \semantex_data_tl_get_exp_not:nn { #1 } { lowerleft } }
+ { lower~left~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { lower~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { preupper } { \semantex_data_tl_get_exp_not:nn { #1 } { preupper } }
+ { pre~upper } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { postupper } { \semantex_data_tl_get_exp_not:nn { #1 } { postupper } }
+ { post~upper } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { prelower } { \semantex_data_tl_get_exp_not:nn { #1 } { prelower } }
+ { pre~lower } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { postlower } { \semantex_data_tl_get_exp_not:nn { #1 } { postlower } }
+ { post~lower } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { preupperleft } { \semantex_data_tl_get_exp_not:nn { #1 } { preupperleft } }
+ { pre~upper~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { postupperleft } { \semantex_data_tl_get_exp_not:nn { #1 } { postupperleft } }
+ { post~upper~left } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { prelowerleft } { \semantex_data_tl_get_exp_not:nn { #1 } { prelowerleft } }
+ { pre~lower~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { postlowerleft } { \semantex_data_tl_get_exp_not:nn { #1 } { postlowerleft } }
+ { post~lower~left } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower~left } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { heightphantom } { \semantex_data_tl_get_exp_not:nn { #1 } { heightphantom } }
+ { height~phantom } { \semantex_data_tl_get_exp_not:nn { #1 } { height~phantom } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { slantingphantom } { \semantex_data_tl_get_exp_not:nn { #1 } { slantingphantom } }
+ { slanting~phantom } { \semantex_data_tl_get_exp_not:nn { #1 } { slanting~phantom } }
\exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_output_class_temp_tl }
- { mathclass } { \semantex_data_tl_get_exp_not:nn { #1 } { mathclass } }
- \exp_not:V \l__semantex_render_outputoptions_temp_tl
+ { math~class } { \semantex_data_tl_get_exp_not:nn { #1 } { math~class } }
+ \exp_not:V \l__semantex_render_output_options_temp_tl
% These are the options we pass to the output class so that it
% can eventually render it
}
@@ -1655,8 +1655,8 @@
}
{
\semantex_pre_return:n { #1 } % Performs the pre_return routine, i.e. adds all remaining indices and arguments to the symbol
- \tl_if_blank:xTF { \semantex_data_tl_get_exp_not:nn { #1 } { mathclass } }
- % Checks whether the mathclass register has been declared -- this is
+ \tl_if_blank:xTF { \semantex_data_tl_get_exp_not:nn { #1 } { math~class } }
+ % Checks whether the math~class register has been declared -- this is
% where you store \mathord, \mathbin, \mathrel, etc., if you want
% the object to be eventually wrapped in this.
{
@@ -1668,7 +1668,7 @@
{
\tl_set:Nx\l__semantex_render_temp_tl
{
- \semantex_data_tl_get_exp_not:nn { #1 } { mathclass }
+ \semantex_data_tl_get_exp_not:nn { #1 } { math~class }
{ \semantex_data_tl_get_exp_not:nn { #1 } { symbol } }
}
}
@@ -1760,43 +1760,43 @@
\cs_new_protected:Npn \semantex_parentheses_store:nN#1#2
{
- \semantex_data_tl_get_store:nnN { #1 } { parsize } \l__semantex_parentheses_store_temp_tl
+ \semantex_data_tl_get_store:nnN { #1 } { par~size } \l__semantex_parentheses_store_temp_tl
\str_case:VnF { \l__semantex_parentheses_store_temp_tl } % This is where \big,\Big, etc. go.
{
{ normal } {
\tl_set:Nx #2
{
\exp_not:N \SemantexMathOpen { }
- \semantex_data_tl_get_exp_not:nn { #1 } { leftpar }
- \semantex_data_tl_get_exp_not:nn { #1 } { prearg }
+ \semantex_data_tl_get_exp_not:nn { #1 } { left~par }
+ \semantex_data_tl_get_exp_not:nn { #1 } { pre~arg }
\semantex_data_tl_get_exp_not:nn { #1 } { arg }
- \semantex_data_tl_get_exp_not:nn { #1 } { postarg }
+ \semantex_data_tl_get_exp_not:nn { #1 } { post~arg }
\exp_not:N \SemantexMathClose { }
- \semantex_data_tl_get_exp_not:nn { #1 } { rightpar }
+ \semantex_data_tl_get_exp_not:nn { #1 } { right~par }
}
}
{ auto } {
\tl_set:Nx #2
{
\exp_not:N \SemantexMathOpenAuto
- \semantex_data_tl_get_exp_not:nn { #1 } { leftpar }
- \semantex_data_tl_get_exp_not:nn { #1 } { prearg }
+ \semantex_data_tl_get_exp_not:nn { #1 } { left~par }
+ \semantex_data_tl_get_exp_not:nn { #1 } { pre~arg }
\semantex_data_tl_get_exp_not:nn { #1 } { arg }
- \semantex_data_tl_get_exp_not:nn { #1 } { postarg }
+ \semantex_data_tl_get_exp_not:nn { #1 } { post~arg }
\exp_not:N \SemantexMathCloseAuto
- \semantex_data_tl_get_exp_not:nn { #1 } { rightpar }
+ \semantex_data_tl_get_exp_not:nn { #1 } { right~par }
}
}
{ * } {
\tl_set:Nx #2
{
\exp_not:N \SemantexMathOpenAuto
- \semantex_data_tl_get_exp_not:nn { #1 } { leftpar }
- \semantex_data_tl_get_exp_not:nn { #1 } { prearg }
+ \semantex_data_tl_get_exp_not:nn { #1 } { left~par }
+ \semantex_data_tl_get_exp_not:nn { #1 } { pre~arg }
\semantex_data_tl_get_exp_not:nn { #1 } { arg }
- \semantex_data_tl_get_exp_not:nn { #1 } { postarg }
+ \semantex_data_tl_get_exp_not:nn { #1 } { post~arg }
\exp_not:N \SemantexMathCloseAuto
- \semantex_data_tl_get_exp_not:nn { #1 } { rightpar }
+ \semantex_data_tl_get_exp_not:nn { #1 } { right~par }
}
}
}
@@ -1805,13 +1805,13 @@
{
\exp_not:N \SemantexMathOpen
\exp_not:V \l__semantex_parentheses_store_temp_tl
- \semantex_data_tl_get_exp_not:nn { #1 } { leftpar }
- \semantex_data_tl_get_exp_not:nn { #1 } { prearg }
+ \semantex_data_tl_get_exp_not:nn { #1 } { left~par }
+ \semantex_data_tl_get_exp_not:nn { #1 } { pre~arg }
\semantex_data_tl_get_exp_not:nn { #1 } { arg }
- \semantex_data_tl_get_exp_not:nn { #1 } { postarg }
+ \semantex_data_tl_get_exp_not:nn { #1 } { post~arg }
\exp_not:N \SemantexMathClose
\exp_not:V \l__semantex_parentheses_store_temp_tl
- \semantex_data_tl_get_exp_not:nn { #1 } { rightpar }
+ \semantex_data_tl_get_exp_not:nn { #1 } { right~par }
}
}
}
@@ -1826,9 +1826,9 @@
\tl_set:Nx#2
{
\exp_not:N\SemantexMathOpenNoPar
- \semantex_data_tl_get_exp_not:nn { #1 } { prearg }
+ \semantex_data_tl_get_exp_not:nn { #1 } { pre~arg }
\semantex_data_tl_get_exp_not:nn { #1 } { arg }
- \semantex_data_tl_get_exp_not:nn { #1 } { postarg }
+ \semantex_data_tl_get_exp_not:nn { #1 } { post~arg }
\exp_not:N\SemantexMathCloseNoPar
}
}
@@ -1921,14 +1921,14 @@
\cs_new_protected:Npn\semantex_inner_return:n#1
{
\semantex_inner_pre_return:n { #1 }
- \semantex_data_seq_clear:nn { #1 } { commands_sequence }
+ \semantex_data_seq_clear:nn { #1 } { commands~sequence }
}
\cs_new_protected:Npn\semantex_inner_pre_return:n#1
{
% This adds all of the commands added via the command key
% to the symbol
- \semantex_data_seq_get_store:nnN { #1 } { commands_sequence }
+ \semantex_data_seq_get_store:nnN { #1 } { commands~sequence }
\l__semantex_data_seq_commands_sequence_temp
\seq_map_inline:Nn \l__semantex_data_seq_commands_sequence_temp
{
@@ -1940,7 +1940,7 @@
}
}
}
- \semantex_data_seq_clear:nn { #1 } { commands_sequence }
+ \semantex_data_seq_clear:nn { #1 } { commands~sequence }
}
\cs_new_protected:Npn\semantex_right_return:n#1
@@ -1954,15 +1954,15 @@
{
\semantex_right_indices_pre_return:n { #1 }
\semantex_data_tl_clear:nn { #1 } { upper }
- \semantex_data_tl_clear:nn { #1 } { preupper }
- \semantex_data_tl_clear:nn { #1 } { postupper }
- \semantex_data_bool_set_false:nn { #1 } { nextupperwithsep }
- \semantex_data_int_clear:nn { #1 } { numberofupperindices }
+ \semantex_data_tl_clear:nn { #1 } { pre~upper }
+ \semantex_data_tl_clear:nn { #1 } { post~upper }
+ \semantex_data_bool_set_false:nn { #1 } { next~upper~with~sep }
+ \semantex_data_int_clear:nn { #1 } { number~of~upper~indices }
\semantex_data_tl_clear:nn { #1 } { lower }
- \semantex_data_tl_clear:nn { #1 } { prelower }
- \semantex_data_tl_clear:nn { #1 } { postlower }
- \semantex_data_bool_set_false:nn { #1 } { nextlowerwithsep }
- \semantex_data_int_clear:nn { #1 } { numberoflowerindices }
+ \semantex_data_tl_clear:nn { #1 } { pre~lower }
+ \semantex_data_tl_clear:nn { #1 } { post~lower }
+ \semantex_data_bool_set_false:nn { #1 } { next~lower~with~sep }
+ \semantex_data_int_clear:nn { #1 } { number~of~lower~indices }
}
\cs_new_protected:Npn\semantex_right_indices_pre_return:n#1
@@ -1978,28 +1978,28 @@
\cs_new_protected:Npn \_semantex_right_index_return_store:nN#1#2
{
\tl_set:Nn#2{}
- \semantex_data_int_if_positive:nnTF { #1 } { numberoflowerindices }
+ \semantex_data_int_if_positive:nnTF { #1 } { number~of~lower~indices }
{
\tl_put_right:Nx#2
{
\sb{
- \semantex_data_tl_get_exp_not:nn { #1 } { prelower }
+ \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower }
\semantex_data_tl_get_exp_not:nn { #1 } { lower }
- \semantex_data_tl_get_exp_not:nn { #1 } { postlower }
+ \semantex_data_tl_get_exp_not:nn { #1 } { post~lower }
}
}
}
{
% do nothing
}
- \semantex_data_int_if_positive:nnTF { #1 } { numberofupperindices }
+ \semantex_data_int_if_positive:nnTF { #1 } { number~of~upper~indices }
{
\tl_put_right:Nx#2
{
\sp{
- \semantex_data_tl_get_exp_not:nn { #1 } { preupper }
+ \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper }
\semantex_data_tl_get_exp_not:nn { #1 } { upper }
- \semantex_data_tl_get_exp_not:nn { #1 } { postupper }
+ \semantex_data_tl_get_exp_not:nn { #1 } { post~upper }
}
}
}
@@ -2018,21 +2018,21 @@
\cs_new_protected:Npn\semantex_left_index_return:n#1
{
\semantex_left_indices_pre_return:n { #1 }
- \semantex_data_tl_clear:nn { #1 } { upperleft }
- \semantex_data_tl_clear:nn { #1 } { preupperleft }
- \semantex_data_tl_clear:nn { #1 } { postupperleft }
- \semantex_data_bool_set_false:nn { #1 } { nextupperleftwithsep }
- \semantex_data_int_clear:nn { #1 } { numberofupperleftindices }
- \semantex_data_tl_clear:nn { #1 } { lowerleft }
- \semantex_data_tl_clear:nn { #1 } { prelowerleft }
- \semantex_data_tl_clear:nn { #1 } { postlowerleft }
- \semantex_data_bool_set_false:nn { #1 } { nextlowerleftwithsep }
- \semantex_data_int_clear:nn { #1 } { numberoflowerleftindices }
- \semantex_data_tl_set:nnx { #1 } { heightphantom }
+ \semantex_data_tl_clear:nn { #1 } { upper~left }
+ \semantex_data_tl_clear:nn { #1 } { pre~upper~left }
+ \semantex_data_tl_clear:nn { #1 } { post~upper~left }
+ \semantex_data_bool_set_false:nn { #1 } { next~upper~left~with~sep }
+ \semantex_data_int_clear:nn { #1 } { number~of~upper~left~indices }
+ \semantex_data_tl_clear:nn { #1 } { lower~left }
+ \semantex_data_tl_clear:nn { #1 } { pre~lower~left }
+ \semantex_data_tl_clear:nn { #1 } { post~lower~left }
+ \semantex_data_bool_set_false:nn { #1 } { next~lower~left~with~sep }
+ \semantex_data_int_clear:nn { #1 } { number~of~lower~left~indices }
+ \semantex_data_tl_set:nnx { #1 } { height~phantom }
{
\semantex_data_tl_get_exp_not:nn { #1 } { symbol }
}
- \semantex_data_tl_clear:nn { #1 } { slantingphantom }
+ \semantex_data_tl_clear:nn { #1 } { slanting~phantom }
}
\cs_new_protected:Npn\semantex_left_indices_pre_return:n#1
@@ -2048,27 +2048,27 @@
\cs_new_protected:Npn \_semantex_left_index_return_store:nN#1#2
{
\tl_set:Nn#2{}
- \semantex_data_int_if_positive:nnTF { #1 } { numberofupperleftindices }
+ \semantex_data_int_if_positive:nnTF { #1 } { number~of~upper~left~indices }
{
\tl_put_right:Nn #2 { \manualleftindex }
\tl_put_right:Nx #2
{
- { \semantex_data_tl_get_exp_not:nn { #1 } { heightphantom } }
- { \semantex_data_tl_get_exp_not:nn { #1 } { slantingphantom} }
+ { \semantex_data_tl_get_exp_not:nn { #1 } { height~phantom } }
+ { \semantex_data_tl_get_exp_not:nn { #1 } { slanting~phantom} }
{
- \semantex_data_tl_get_exp_not:nn { #1 } { preupperleft }
- \semantex_data_tl_get_exp_not:nn { #1 } { upperleft }
- \semantex_data_tl_get_exp_not:nn { #1 } { postupperleft }
+ \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper~left }
+ \semantex_data_tl_get_exp_not:nn { #1 } { upper~left }
+ \semantex_data_tl_get_exp_not:nn { #1 } { post~upper~left }
}
}
- \semantex_data_int_if_positive:nnTF { #1 } { numberoflowerleftindices }
+ \semantex_data_int_if_positive:nnTF { #1 } { number~of~lower~left~indices }
{
\tl_put_right:Nx#2
{
{
- \semantex_data_tl_get_exp_not:nn { #1 } { prelowerleft }
- \semantex_data_tl_get_exp_not:nn { #1 } { lowerleft }
- \semantex_data_tl_get_exp_not:nn { #1 } { postlowerleft }
+ \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower~left }
+ \semantex_data_tl_get_exp_not:nn { #1 } { lower~left }
+ \semantex_data_tl_get_exp_not:nn { #1 } { post~lower~left }
}
}
}
@@ -2080,18 +2080,18 @@
}
}
{
- \semantex_data_int_if_positive:nnTF { #1 } { numberoflowerleftindices }
+ \semantex_data_int_if_positive:nnTF { #1 } { number~of~lower~left~indices }
{
\tl_put_right:Nn #2 { \manualleftindex }
\tl_put_right:Nx #2
{
- { \semantex_data_tl_get_exp_not:nn { #1 } { heightphantom } }
- { \semantex_data_tl_get_exp_not:nn { #1 } { slantingphantom} }
+ { \semantex_data_tl_get_exp_not:nn { #1 } { height~phantom } }
+ { \semantex_data_tl_get_exp_not:nn { #1 } { slanting~phantom} }
{ }
{
- \semantex_data_tl_get_exp_not:nn { #1 } { prelowerleft }
- \semantex_data_tl_get_exp_not:nn { #1 } { lowerleft }
- \semantex_data_tl_get_exp_not:nn { #1 } { postlowerleft }
+ \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower~left }
+ \semantex_data_tl_get_exp_not:nn { #1 } { lower~left }
+ \semantex_data_tl_get_exp_not:nn { #1 } { post~lower~left }
}
}
}
@@ -2103,7 +2103,7 @@
\cs_new_protected:Npn\semantex_right_arg_return:n#1
{
- \semantex_data_bool_get:nnTF { #1 } { leftargument }
+ \semantex_data_bool_get:nnTF { #1 } { left~argument }
{
% do nothing
}
@@ -2115,16 +2115,16 @@
\l__semantex_rightreturn_arg_temp
}
\semantex_data_tl_clear:nn { #1 } { arg }
- \semantex_data_tl_clear:nn { #1 } { prearg }
- \semantex_data_tl_clear:nn { #1 } { postarg }
- \semantex_data_int_clear:nn { #1 } { numberofarguments }
- \semantex_data_bool_set_false:nn { #1 } { nextargwithsep }
+ \semantex_data_tl_clear:nn { #1 } { pre~arg }
+ \semantex_data_tl_clear:nn { #1 } { post~arg }
+ \semantex_data_int_clear:nn { #1 } { number~of~arguments }
+ \semantex_data_bool_set_false:nn { #1 } { next~arg~with~sep }
}
}
\cs_new_protected:Npn\semantex_right_arg_pre_return:n#1
{
- \semantex_data_bool_get:nnTF { #1 } { leftargument }
+ \semantex_data_bool_get:nnTF { #1 } { left~argument }
{
% do nothing
}
@@ -2140,7 +2140,7 @@
\cs_new_protected:Npn\semantex_left_arg_return:n#1
{
- \semantex_data_bool_get:nnTF { #1 } { leftargument }
+ \semantex_data_bool_get:nnTF { #1 } { left~argument }
{
\_semantex_arg_return_store:nN { #1 } \l__semantex_leftreturn_arg_temp
\semantex_data_tl_put_left:nnx { #1 } { symbol }
@@ -2148,10 +2148,10 @@
\exp_not:V \l__semantex_leftreturn_arg_temp
}
\semantex_data_tl_clear:nn { #1 } { arg }
- \semantex_data_tl_clear:nn { #1 } { prearg }
- \semantex_data_tl_clear:nn { #1 } { postarg }
- \semantex_data_int_clear:nn { #1 } { numberofarguments }
- \semantex_data_bool_set_false:nn { #1 } { nextargwithsep }
+ \semantex_data_tl_clear:nn { #1 } { pre~arg }
+ \semantex_data_tl_clear:nn { #1 } { post~arg }
+ \semantex_data_int_clear:nn { #1 } { number~of~arguments }
+ \semantex_data_bool_set_false:nn { #1 } { next~arg~with~sep }
}
{
% do nothing
@@ -2160,7 +2160,7 @@
\cs_new_protected:Npn\semantex_left_arg_pre_return:n#1
{
- \semantex_data_bool_get:nnTF { #1 } { leftargument }
+ \semantex_data_bool_get:nnTF { #1 } { left~argument }
{
\_semantex_arg_return_store:nN { #1 } \l__semantex_leftreturn_arg_temp
\semantex_data_tl_put_left:nnx { #1 } { symbol }
@@ -2177,15 +2177,15 @@
{
\semantex_arg_pre_return:n { #1 }
\semantex_data_tl_clear:nn { #1 } { arg }
- \semantex_data_tl_clear:nn { #1 } { prearg }
- \semantex_data_tl_clear:nn { #1 } { postarg }
- \semantex_data_int_clear:nn { #1 } { numberofarguments }
- \semantex_data_bool_set_false:nn { #1 } { nextargwithsep }
+ \semantex_data_tl_clear:nn { #1 } { pre~arg }
+ \semantex_data_tl_clear:nn { #1 } { post~arg }
+ \semantex_data_int_clear:nn { #1 } { number~of~arguments }
+ \semantex_data_bool_set_false:nn { #1 } { next~arg~with~sep }
}
\cs_new_protected:Npn\semantex_arg_pre_return:n#1
{
- \semantex_data_bool_get:nnTF { #1 } { leftargument }
+ \semantex_data_bool_get:nnTF { #1 } { left~argument }
{
\_semantex_arg_return_store:nN { #1 } \l__semantex_leftreturn_arg_temp
\semantex_data_tl_put_left:nnx { #1 } { symbol }
@@ -2207,7 +2207,7 @@
{
\semantex_data_bool_get:nnTF { #1 } { par }
{
- \semantex_data_int_if_positive:nnTF { #1 } { numberofarguments }
+ \semantex_data_int_if_positive:nnTF { #1 } { number~of~arguments }
{
\semantex_parentheses_store:nN { #1 } #2
}
@@ -2216,14 +2216,14 @@
}
}
{
- \semantex_data_bool_get:nnTF { #1 } { flexpar }
+ \semantex_data_bool_get:nnTF { #1 } { flex~par }
{
- \semantex_data_int_if_greater_than_one:nnTF { #1 } { numberofarguments }
+ \semantex_data_int_if_greater_than_one:nnTF { #1 } { number~of~arguments }
{
\semantex_parentheses_store:nN { #1 } #2
}
{
- \semantex_data_int_if_positive:nnTF { #1 } { numberofarguments }
+ \semantex_data_int_if_positive:nnTF { #1 } { number~of~arguments }
{
\semantex_no_parentheses_store:nN { #1 } #2
}
@@ -2233,7 +2233,7 @@
}
}
{
- \semantex_data_int_if_positive:nnTF { #1 } { numberofarguments }
+ \semantex_data_int_if_positive:nnTF { #1 } { number~of~arguments }
{
\semantex_no_parentheses_store:nN { #1 } #2
}
@@ -2259,16 +2259,16 @@
\semantex_return:n { #1 }
\tl_if_blank:nTF { #2 }
{
- \semantex_data_tl_get_store:nnN { #1 } { sparsize }
- \l__semantex_spar_sparsize_temp_tl
+ \semantex_data_tl_get_store:nnN { #1 } { spar~size }
+ \l__semantex_spar_spar_size_temp_tl
}
{
- \tl_set:Nn \l__semantex_spar_sparsize_temp_tl { #2 }
+ \tl_set:Nn \l__semantex_spar_spar_size_temp_tl { #2 }
}
\__semantex_symbol_parentheses_store:xxxxN
- { \exp_not:V\l__semantex_spar_sparsize_temp_tl }
- { \semantex_data_tl_get_exp_not:nn { #1 } { leftspar } }
- { \semantex_data_tl_get_exp_not:nn { #1 } { rightspar } }
+ { \exp_not:V\l__semantex_spar_spar_size_temp_tl }
+ { \semantex_data_tl_get_exp_not:nn { #1 } { left~spar } }
+ { \semantex_data_tl_get_exp_not:nn { #1 } { right~spar } }
{ \semantex_data_tl_get_exp_not:nn { #1 } { symbol } }
\l__semantex_spar_temp_tl
\semantex_data_tl_set:nnx { #1 } { symbol }
@@ -2276,16 +2276,16 @@
\exp_not:V \l__semantex_spar_temp_tl
}
\semantex_spar_set_height_phantom_to_parentheses_size:nx { #1 }
- { \exp_not:V \l__semantex_spar_sparsize_temp_tl }
+ { \exp_not:V \l__semantex_spar_spar_size_temp_tl }
}
\cs_new_protected:Npn\semantex_other_spar:nnn#1#2#3
{
\semantex_return:n { #1 }
- \semantex_data_tl_get_store:nnN { #1 } { sparsize }
- \l__semantex_other_spar_sparsize_temp_tl
+ \semantex_data_tl_get_store:nnN { #1 } { spar~size }
+ \l__semantex_other_spar_spar_size_temp_tl
\__semantex_symbol_parentheses_store:xxxxN
- { \exp_not:V \l__semantex_other_spar_sparsize_temp_tl }
+ { \exp_not:V \l__semantex_other_spar_spar_size_temp_tl }
{ \exp_not:n { #2 } }
{ \exp_not:n { #3 } }
{ \semantex_data_tl_get_exp_not:nn { #1 } { symbol } }
@@ -2295,7 +2295,7 @@
\exp_not:V \l__semantex_other_spar_temp_tl
}
\semantex_spar_set_height_phantom_to_parentheses_size:nx { #1 }
- { \exp_not:V \l__semantex_other_spar_sparsize_temp_tl }
+ { \exp_not:V \l__semantex_other_spar_spar_size_temp_tl }
}
\cs_new_protected:Npn\semantex_other_spar_with_size:nnnn#1#2#3#4
@@ -2322,23 +2322,23 @@
\str_case:nnF { #2 }
{
{ normal } {
- \semantex_data_tl_set:nnn { #1 } { heightphantom } { \vert }
+ \semantex_data_tl_set:nnn { #1 } { height~phantom } { \vert }
}
{ auto } {
- \semantex_data_tl_set:nnx { #1 } { heightphantom }
+ \semantex_data_tl_set:nnx { #1 } { height~phantom }
{
\semantex_data_tl_get_exp_not:nn { #1 } { symbol }
}
}
{ * } {
- \semantex_data_tl_set:nnx { #1 } { heightphantom }
+ \semantex_data_tl_set:nnx { #1 } { height~phantom }
{
\semantex_data_tl_get_exp_not:nn { #1 } { symbol }
}
}
}
{
- \semantex_data_tl_set:nnx { #1 } { heightphantom }
+ \semantex_data_tl_set:nnx { #1 } { height~phantom }
{
\exp_not:n { #2 \vert }
}
@@ -3053,6 +3053,246 @@
\cs_generate_variant:Nn \__semantex_singlekey_x:nnn { fnn }
+\cs_new_protected:Npn\semantex_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } { ##1 } { ##2 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_singlekey_store:nnN#1#2#3
+{
+ % Stores the content of the singlekey
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_singlekey_#1_\tl_trim_spaces:n{#2}:n }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_singlekey_#1_\tl_trim_spaces:n{#2}:n } { ##1 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_singlekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_singlekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_two_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn } { ##1 } { ##2 } { ##3 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_two_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_two_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_three_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn } { ##1 } { ##2 } { ##3 } { ##4 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_three_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_three_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_four_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_four_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_four_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_five_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_five_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_five_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_six_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_six_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_six_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_seven_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_seven_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_seven_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_eight_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_eight_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_eight_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_nine_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_nine_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_nine_valuekey_store:nnN { fnN }
+
+
\cs_new_protected:Npn\semantex_arg_valuekey:nnn#1#2#3
{
% Takes care of argument valuekeys,
@@ -3146,12 +3386,251 @@
{
% Sets the argument (no keyval interface allowed)
\semantex_data_tl_put_right:nnn { #1 } { arg } { #2 }
- \semantex_data_int_incr:nn { #1 } { numberofarguments }
- \semantex_data_bool_set_true:nn { #1 } { nextargwithsep }
+ \semantex_data_int_incr:nn { #1 } { number~of~arguments }
+ \semantex_data_bool_set_true:nn { #1 } { next~arg~with~sep }
}
\cs_generate_variant:Nn \semantex_arg_without_keyval:nn { nx }
+\cs_new_protected:Npn\semantex_arg_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the argument valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } { ##1 } { ##2 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_arg_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_arg_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_arg_singlekey_store:nnN#1#2#3
+{
+ % Stores the content of the argument singlekey
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_arg_singlekey_#1_\tl_trim_spaces:n{#2}:n }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_singlekey_#1_\tl_trim_spaces:n{#2}:n } { ##1 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_arg_singlekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_arg_singlekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_arg_two_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the argument valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_arg_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn } { ##1 } { ##2 } { ##3 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_arg_two_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_arg_two_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_arg_three_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the argument valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_arg_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn } { ##1 } { ##2 } { ##3 } { ##4 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_arg_three_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_arg_three_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_arg_four_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the argument valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_arg_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_arg_four_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_arg_four_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_arg_five_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the argument valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_arg_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_arg_five_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_arg_five_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_arg_six_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the argument valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_arg_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_arg_six_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_arg_six_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_arg_seven_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the argument valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_arg_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_arg_seven_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_arg_seven_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_arg_eight_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the argument valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_arg_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_arg_eight_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_arg_eight_valuekey_store:nnN { fnN }
+
+\cs_new_protected:Npn\semantex_arg_nine_valuekey_store:nnN#1#2#3
+{
+ % Stores the content of the argument valuekey
+ % i.e. keys taking a value
+ % #1 = register
+ % #2 = name of the key
+ % #3 = command to store the content in
+ \cs_if_exist:cTF { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+ {
+ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 } }
+ }
+ {
+ \str_if_eq:nnTF { #1 } { class_SemantexBaseObject }
+ {
+ \tl_set:Nn #3 {}
+ }
+ {
+ \semantex_arg_nine_valuekey_store:fnN { \semantex_data_parent_get:n { #1 } } { #2 } #3
+ }
+ }
+}
+
+\cs_generate_variant:Nn \semantex_arg_nine_valuekey_store:nnN { fnN }
+
% NOW SOME KEYS FOR DEFINING NEW KEYS:
% First, we define the central commands for preprocessing keys
@@ -3183,6 +3662,7 @@
\semantex_singlekey:nn { #1 } { #2 }
}
}
+
\cs_new_protected:Npn\__semantex_preprocess_valuekey:nnnN#1#2#3#4
{
\str_case:nnF { #2 }
@@ -3190,46 +3670,61 @@
{ execute }{
\tl_put_right:Nn #4 { #3 }
}
- { setkeys }{
+ { set~keys }{
\semantex_preprocess_keys:nN { #3 } #4
}
- { keysset }{
+ { keys~set }{
\semantex_preprocess_keys:nN { #3 } #4
}
- { setkeysx }{
+ { set~keys~x }{
\semantex_preprocess_keys_x:nN { #3 } #4
}
- { keyssetx }{
+ { keys~set~x }{
\semantex_preprocess_keys_x:nN { #3 } #4
}
- { setargkeys }{
+ { set~arg~keys }{
\semantex_preprocess_arg_keys:nN { #3 } #4
}
- { argkeysset }{
+ { arg~keys~set }{
\semantex_preprocess_arg_keys:nN { #3 } #4
}
- { setargkeysx }{
+ { set~arg~keys~x }{
\semantex_preprocess_arg_keys_x:nN { #3 } #4
}
- { argkeyssetx }{
+ { arg~keys~set~x }{
\semantex_preprocess_arg_keys_x:nN { #3 } #4
}
- { setargsinglekeys }{
+ { set~arg~single~keys }{
\semantex_preprocess_arg_singlekeys:nN { #3 } #4
}
- { argsinglekeysset }{
+ { arg~single~keys~set }{
\semantex_preprocess_arg_singlekeys:nN { #3 } #4
}
- { setargsinglekeysx }{
+ { set~arg~single~keys~x }{
\semantex_preprocess_arg_singlekeys_x:nN { #3 } #4
}
- { argsinglekeyssetx }{
+ { arg~single~keys~set~x }{
\semantex_preprocess_arg_singlekeys_x:nN { #3 } #4
}
- { parseoptions }{
+ { parse~options }{
+ \tl_put_right:Nn#4
+ {
+ \semantex_append_singlekey_with_raw_code:nnn { #1 } { parse~code }
+ }
+ \group_begin:
+ \tl_set:Nn\l__semantex_preprocess_valuekey_keys_temp_tl {}
+ \semantex_preprocess_keys:nN { #3 } \l__semantex_preprocess_valuekey_keys_temp_tl
+ \exp_args:NNNx
+ \group_end:
+ \tl_put_right:Nn#4
+ {
+ { \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
+ }
+ }
+ { pre~parse~options }{
\tl_put_right:Nn#4
{
- \semantex_add_raw_commands_to_parse_options:nn { #1 }
+ \semantex_pre_append_singlekey_with_raw_code:nnn { #1 } { parse~code }
}
\group_begin:
\tl_set:Nn\l__semantex_preprocess_valuekey_keys_temp_tl {}
@@ -3241,21 +3736,21 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- { outputoptions }{
+ { output~options }{
\tl_put_right:Nn#4
{
- \semantex_add_raw_commands_to_output_options:nn { #1 }
+ \semantex_add_raw_code_to_output_options:nn { #1 }
}
\group_begin:
\tl_set:Nn\l__semantex_preprocess_valuekey_keys_pre_temp_tl {}
\semantex_preprocess_keys:nN { #3 } \l__semantex_preprocess_valuekey_keys_pre_temp_tl
- \cs_set:Npo\l__semantex_preprocess_valuekey_keys_temp_cs:nn##1##2
+ \cs_set:Npo\l__semantex_preprocess_valuekey_keys_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9
{
\l__semantex_preprocess_valuekey_keys_pre_temp_tl
}
\tl_set:No\l__semantex_preprocess_valuekey_keys_temp_tl
{
- \l__semantex_preprocess_valuekey_keys_temp_cs:nn { ###1 } { ##2 }
+ \l__semantex_preprocess_valuekey_keys_temp_cs:nnnnnnnnn { ###1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
}
\exp_args:NNNx
\group_end:
@@ -3264,8 +3759,31 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- { boolifTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_boolifTF_temp_cs:nTF##1##2##3
+ { pre~output~options }{
+ \tl_put_right:Nn#4
+ {
+ \semantex_add_raw_code_to_the_left_of_output_options:nn { #1 }
+ }
+ \group_begin:
+ \tl_set:Nn\l__semantex_preprocess_valuekey_keys_pre_temp_tl {}
+ \semantex_preprocess_keys:nN { #3 } \l__semantex_preprocess_valuekey_keys_pre_temp_tl
+ \cs_set:Npo\l__semantex_preprocess_valuekey_keys_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9
+ {
+ \l__semantex_preprocess_valuekey_keys_pre_temp_tl
+ }
+ \tl_set:No\l__semantex_preprocess_valuekey_keys_temp_tl
+ {
+ \l__semantex_preprocess_valuekey_keys_temp_cs:nnnnnnnnn { ###1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+ }
+ \exp_args:NNNx
+ \group_end:
+ \tl_put_right:Nn#4
+ {
+ { \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
+ }
+ }
+ { bool~if~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_bool_if_TF_temp_cs:nTF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3290,10 +3808,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_boolifTF_temp_cs:nTF #3
+ \l__semantex_preprocess_valuekey_bool_if_TF_temp_cs:nTF #3
}
- { boolifT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_boolifT_temp_cs:nT##1##2
+ { bool~if~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_bool_if_T_temp_cs:nT##1##2
{
\tl_put_right:Nn#4
{
@@ -3310,10 +3828,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_boolifT_temp_cs:nT #3
+ \l__semantex_preprocess_valuekey_bool_if_T_temp_cs:nT #3
}
- { boolifF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_boolifF_temp_cs:nF##1##2
+ { bool~if~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_bool_if_F_temp_cs:nF##1##2
{
\tl_put_right:Nn#4
{
@@ -3330,10 +3848,10 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_boolifF_temp_cs:nF #3
+ \l__semantex_preprocess_valuekey_bool_if_F_temp_cs:nF #3
}
- { ifblankTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_ifblankTF_temp_cs:nTF##1##2##3
+ { if~blank~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_if_blank_TF_temp_cs:nTF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3358,10 +3876,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_ifblankTF_temp_cs:nTF #3
+ \l__semantex_preprocess_valuekey_if_blank_TF_temp_cs:nTF #3
}
- { ifblankT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_ifblankT_temp_cs:nT##1##2
+ { if~blank~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_if_blank_T_temp_cs:nT##1##2
{
\tl_put_right:Nn#4
{
@@ -3378,10 +3896,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_ifblankT_temp_cs:nT #3
+ \l__semantex_preprocess_valuekey_if_blank_T_temp_cs:nT #3
}
- { ifblankF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_ifblankF_temp_cs:nF##1##2
+ { if~blank~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_if_blank_F_temp_cs:nF##1##2
{
\tl_put_right:Nn#4
{
@@ -3398,10 +3916,10 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_ifblankF_temp_cs:nF #3
+ \l__semantex_preprocess_valuekey_if_blank_F_temp_cs:nF #3
}
- { strifeqTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_strifeqTF_temp_cs:nnTF##1##2##3##4
+ { str~if~eq~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_str_if_eq_TF_temp_cs:nnTF##1##2##3##4
{
\tl_put_right:Nn#4
{
@@ -3426,10 +3944,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_strifeqTF_temp_cs:nnTF #3
+ \l__semantex_preprocess_valuekey_str_if_eq_TF_temp_cs:nnTF #3
}
- { strifeqT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_strifeqT_temp_cs:nnT##1##2##3
+ { str~if~eq~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_str_if_eq_T_temp_cs:nnT##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3446,10 +3964,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_strifeqT_temp_cs:nnT #3
+ \l__semantex_preprocess_valuekey_str_if_eq_T_temp_cs:nnT #3
}
- { strifeqF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_strifeqF_temp_cs:nnF##1##2##3
+ { str~if~eq~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_str_if_eq_F_temp_cs:nnF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3466,10 +3984,10 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_strifeqF_temp_cs:nnF #3
+ \l__semantex_preprocess_valuekey_str_if_eq_F_temp_cs:nnF #3
}
- { intifgreaterTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifgreaterTF_temp_cs:nnTF##1##2##3##4
+ { int~if~greater~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_greater_TF_temp_cs:nnTF##1##2##3##4
{
\tl_put_right:Nn#4
{
@@ -3494,10 +4012,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intifgreaterTF_temp_cs:nnTF #3
+ \l__semantex_preprocess_valuekey_int_if_greater_TF_temp_cs:nnTF #3
}
- { intifgreaterT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifgreaterT_temp_cs:nnT##1##2##3
+ { int~if~greater~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_greater_T_temp_cs:nnT##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3514,10 +4032,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_intifgreaterT_temp_cs:nnT #3
+ \l__semantex_preprocess_valuekey_int_if_greater_T_temp_cs:nnT #3
}
- { intifgreaterF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifgreaterF_temp_cs:nnF##1##2##3
+ { int~if~greater~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_greater_F_temp_cs:nnF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3534,10 +4052,10 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intifgreaterF_temp_cs:nnF #3
+ \l__semantex_preprocess_valuekey_int_if_greater_F_temp_cs:nnF #3
}
- { intifeqTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifeqTF_temp_cs:nnTF##1##2##3##4
+ { int~if~eq~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_eq_TF_temp_cs:nnTF##1##2##3##4
{
\tl_put_right:Nn#4
{
@@ -3562,10 +4080,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intifeqTF_temp_cs:nnTF #3
+ \l__semantex_preprocess_valuekey_int_if_eq_TF_temp_cs:nnTF #3
}
- { intifeqT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifeqT_temp_cs:nnT##1##2##3
+ { int~if~eq~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_eq_T_temp_cs:nnT##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3582,10 +4100,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_intifeqT_temp_cs:nnT #3
+ \l__semantex_preprocess_valuekey_int_if_eq_T_temp_cs:nnT #3
}
- { intifeqF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifeqF_temp_cs:nnF##1##2##3
+ { int~if~eq~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_eq_F_temp_cs:nnF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3602,10 +4120,10 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intifeqF_temp_cs:nnF #3
+ \l__semantex_preprocess_valuekey_int_if_eq_F_temp_cs:nnF #3
}
- { intiflessTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intiflessTF_temp_cs:nnTF##1##2##3##4
+ { int~if~less~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_less_TF_temp_cs:nnTF##1##2##3##4
{
\tl_put_right:Nn#4
{
@@ -3630,10 +4148,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intiflessTF_temp_cs:nnTF #3
+ \l__semantex_preprocess_valuekey_int_if_less_TF_temp_cs:nnTF #3
}
- { intiflessT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intiflessT_temp_cs:nnT##1##2##3
+ { int~if~less~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_less_T_temp_cs:nnT##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3650,10 +4168,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_intiflessT_temp_cs:nnT #3
+ \l__semantex_preprocess_valuekey_int_if_less_T_temp_cs:nnT #3
}
- { intiflessF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intiflessF_temp_cs:nnF##1##2##3
+ { int~if~less~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_less_F_temp_cs:nnF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3670,7 +4188,7 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intiflessF_temp_cs:nnF #3
+ \l__semantex_preprocess_valuekey_int_if_less_F_temp_cs:nnF #3
}
}
{
@@ -3717,46 +4235,61 @@
#3
}
}
- { setkeys }{
+ { set~keys }{
\semantex_preprocess_keys:nN { #3 } #4
}
- { keysset }{
+ { keys~set }{
\semantex_preprocess_keys:nN { #3 } #4
}
- { setkeysx }{
+ { set~keys~x }{
\semantex_preprocess_keys_x:nN { #3 } #4
}
- { keyssetx }{
+ { keys~set~x }{
\semantex_preprocess_keys_x:nN { #3 } #4
}
- { setargkeys }{
+ { set~arg~keys }{
\semantex_preprocess_arg_keys:nN { #3 } #4
}
- { argkeysset }{
+ { arg~keys~set }{
\semantex_preprocess_arg_keys:nN { #3 } #4
}
- { setargkeysx }{
+ { set~arg~keys~x }{
\semantex_preprocess_arg_keys_x:nN { #3 } #4
}
- { argkeyssetx }{
+ { arg~keys~set~x }{
\semantex_preprocess_arg_keys_x:nN { #3 } #4
}
- { setargsinglekeys }{
+ { set~arg~single~keys }{
\semantex_preprocess_arg_singlekeys:nN { #3 } #4
}
- { argsinglekeysset }{
+ { arg~single~keys~set }{
\semantex_preprocess_arg_singlekeys:nN { #3 } #4
}
- { setargsinglekeysx }{
+ { set~arg~single~keys~x }{
\semantex_preprocess_arg_singlekeys_x:nN { #3 } #4
}
- { argsinglekeyssetx }{
+ { arg~single~keys~set~x }{
\semantex_preprocess_arg_singlekeys_x:nN { #3 } #4
}
- { parseoptions }{
+ { parse~options }{
+ \tl_put_right:Nn#4
+ {
+ \semantex_append_singlekey_with_raw_code:nnn { #1 } { parse~code }
+ }
+ \group_begin:
+ \tl_set:Nn\l__semantex_preprocess_valuekey_keys_temp_tl {}
+ \semantex_preprocess_keys_x:nN { #3 } \l__semantex_preprocess_valuekey_keys_temp_tl
+ \exp_args:NNNx
+ \group_end:
+ \tl_put_right:Nn#4
+ {
+ { \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
+ }
+ }
+ { pre~parse~options }{
\tl_put_right:Nn#4
{
- \semantex_add_raw_commands_to_parse_options:nn { #1 }
+ \semantex_pre_append_singlekey_with_raw_code:nnn { #1 } { parse~code }
}
\group_begin:
\tl_set:Nn\l__semantex_preprocess_valuekey_keys_temp_tl {}
@@ -3768,21 +4301,44 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- { outputoptions }{
+ { output~options }{
+ \tl_put_right:Nn#4
+ {
+ \semantex_add_raw_code_to_output_options:nn { #1 }
+ }
+ \group_begin:
+ \tl_set:Nn\l__semantex_preprocess_valuekey_keys_pre_temp_tl {}
+ \semantex_preprocess_keys_x:nN { #3 } \l__semantex_preprocess_valuekey_keys_pre_temp_tl
+ \cs_set:Npo\l__semantex_preprocess_valuekey_keys_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9
+ {
+ \l__semantex_preprocess_valuekey_keys_pre_temp_tl
+ }
+ \tl_set:No\l__semantex_preprocess_valuekey_keys_temp_tl
+ {
+ \l__semantex_preprocess_valuekey_keys_temp_cs:nnnnnnnnn { ###1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+ }
+ \exp_args:NNNx
+ \group_end:
+ \tl_put_right:Nn#4
+ {
+ { \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
+ }
+ }
+ { pre~output~options }{
\tl_put_right:Nn#4
{
- \semantex_add_raw_commands_to_output_options:nn { #1 }
+ \semantex_add_raw_code_to_the_left_of_output_options:nn { #1 }
}
\group_begin:
\tl_set:Nn\l__semantex_preprocess_valuekey_keys_pre_temp_tl {}
\semantex_preprocess_keys_x:nN { #3 } \l__semantex_preprocess_valuekey_keys_pre_temp_tl
- \cs_set:Npo\l__semantex_preprocess_valuekey_keys_temp_cs:nn##1##2
+ \cs_set:Npo\l__semantex_preprocess_valuekey_keys_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9
{
\l__semantex_preprocess_valuekey_keys_pre_temp_tl
}
\tl_set:No\l__semantex_preprocess_valuekey_keys_temp_tl
{
- \l__semantex_preprocess_valuekey_keys_temp_cs:nn { ###1 } { ##2 }
+ \l__semantex_preprocess_valuekey_keys_temp_cs:nnnnnnnnn { ###1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
}
\exp_args:NNNx
\group_end:
@@ -3791,8 +4347,8 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- { boolifTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_boolifTF_temp_cs:nTF##1##2##3
+ { bool~if~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_bool_if_TF_temp_cs:nTF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3817,10 +4373,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_boolifTF_temp_cs:nTF #3
+ \l__semantex_preprocess_valuekey_bool_if_TF_temp_cs:nTF #3
}
- { boolifT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_boolifT_temp_cs:nT##1##2
+ { bool~if~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_bool_if_T_temp_cs:nT##1##2
{
\tl_put_right:Nn#4
{
@@ -3837,10 +4393,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_boolifT_temp_cs:nT #3
+ \l__semantex_preprocess_valuekey_bool_if_T_temp_cs:nT #3
}
- { boolifF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_boolifF_temp_cs:nF##1##2
+ { bool~if~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_bool_if_F_temp_cs:nF##1##2
{
\tl_put_right:Nn#4
{
@@ -3857,10 +4413,10 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_boolifF_temp_cs:nF #3
+ \l__semantex_preprocess_valuekey_bool_if_F_temp_cs:nF #3
}
- { ifblankTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_ifblankTF_temp_cs:nTF##1##2##3
+ { if~blank~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_if_blank_TF_temp_cs:nTF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3885,10 +4441,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_ifblankTF_temp_cs:nTF #3
+ \l__semantex_preprocess_valuekey_if_blank_TF_temp_cs:nTF #3
}
- { ifblankT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_ifblankT_temp_cs:nT##1##2
+ { if~blank~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_if_blank_T_temp_cs:nT##1##2
{
\tl_put_right:Nn#4
{
@@ -3905,10 +4461,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_ifblankT_temp_cs:nT #3
+ \l__semantex_preprocess_valuekey_if_blank_T_temp_cs:nT #3
}
- { ifblankF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_ifblankF_temp_cs:nF##1##2
+ { if~blank~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_if_blank_F_temp_cs:nF##1##2
{
\tl_put_right:Nn#4
{
@@ -3925,10 +4481,10 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_ifblankF_temp_cs:nF #3
+ \l__semantex_preprocess_valuekey_if_blank_F_temp_cs:nF #3
}
- { strifeqTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_strifeqTF_temp_cs:nnTF##1##2##3##4
+ { str~if~eq~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_str_if_eq_TF_temp_cs:nnTF##1##2##3##4
{
\tl_put_right:Nn#4
{
@@ -3953,10 +4509,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_strifeqTF_temp_cs:nnTF #3
+ \l__semantex_preprocess_valuekey_str_if_eq_TF_temp_cs:nnTF #3
}
- { strifeqT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_strifeqT_temp_cs:nnT##1##2##3
+ { str~if~eq~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_str_if_eq_T_temp_cs:nnT##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3973,10 +4529,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_strifeqT_temp_cs:nnT #3
+ \l__semantex_preprocess_valuekey_str_if_eq_T_temp_cs:nnT #3
}
- { strifeqF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_strifeqF_temp_cs:nnF##1##2##3
+ { str~if~eq~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_str_if_eq_F_temp_cs:nnF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -3993,10 +4549,10 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_strifeqF_temp_cs:nnF #3
+ \l__semantex_preprocess_valuekey_str_if_eq_F_temp_cs:nnF #3
}
- { intifgreaterTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifgreaterTF_temp_cs:nnTF##1##2##3##4
+ { int~if~greater~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_greater_TF_temp_cs:nnTF##1##2##3##4
{
\tl_put_right:Nn#4
{
@@ -4021,10 +4577,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intifgreaterTF_temp_cs:nnTF #3
+ \l__semantex_preprocess_valuekey_int_if_greater_TF_temp_cs:nnTF #3
}
- { intifgreaterT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifgreaterT_temp_cs:nnT##1##2##3
+ { int~if~greater~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_greater_T_temp_cs:nnT##1##2##3
{
\tl_put_right:Nn#4
{
@@ -4041,10 +4597,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_intifgreaterT_temp_cs:nnT #3
+ \l__semantex_preprocess_valuekey_int_if_greater_T_temp_cs:nnT #3
}
- { intifgreaterF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifgreaterF_temp_cs:nnF##1##2##3
+ { int~if~greater~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_greater_F_temp_cs:nnF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -4061,10 +4617,10 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intifgreaterF_temp_cs:nnF #3
+ \l__semantex_preprocess_valuekey_int_if_greater_F_temp_cs:nnF #3
}
- { intifeqTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifeqTF_temp_cs:nnTF##1##2##3##4
+ { int~if~eq~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_eq_TF_temp_cs:nnTF##1##2##3##4
{
\tl_put_right:Nn#4
{
@@ -4089,10 +4645,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intifeqTF_temp_cs:nnTF #3
+ \l__semantex_preprocess_valuekey_int_if_eq_TF_temp_cs:nnTF #3
}
- { intifeqT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifeqT_temp_cs:nnT##1##2##3
+ { int~if~eq~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_eq_T_temp_cs:nnT##1##2##3
{
\tl_put_right:Nn#4
{
@@ -4109,10 +4665,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_intifeqT_temp_cs:nnT #3
+ \l__semantex_preprocess_valuekey_int_if_eq_T_temp_cs:nnT #3
}
- { intifeqF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intifeqF_temp_cs:nnF##1##2##3
+ { int~if~eq~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_eq_F_temp_cs:nnF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -4129,10 +4685,10 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intifeqF_temp_cs:nnF #3
+ \l__semantex_preprocess_valuekey_int_if_eq_F_temp_cs:nnF #3
}
- { intiflessTF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intiflessTF_temp_cs:nnTF##1##2##3##4
+ { int~if~less~TF }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_less_TF_temp_cs:nnTF##1##2##3##4
{
\tl_put_right:Nn#4
{
@@ -4157,10 +4713,10 @@
{ \exp_not:V \l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intiflessTF_temp_cs:nnTF #3
+ \l__semantex_preprocess_valuekey_int_if_less_TF_temp_cs:nnTF #3
}
- { intiflessT }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intiflessT_temp_cs:nnT##1##2##3
+ { int~if~less~T }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_less_T_temp_cs:nnT##1##2##3
{
\tl_put_right:Nn#4
{
@@ -4177,10 +4733,10 @@
{ }
}
}
- \l__semantex_preprocess_valuekey_intiflessT_temp_cs:nnT #3
+ \l__semantex_preprocess_valuekey_int_if_less_T_temp_cs:nnT #3
}
- { intiflessF }{
- \cs_set:Npn \l__semantex_preprocess_valuekey_intiflessF_temp_cs:nnF##1##2##3
+ { int~if~less~F }{
+ \cs_set:Npn \l__semantex_preprocess_valuekey_int_if_less_F_temp_cs:nnF##1##2##3
{
\tl_put_right:Nn#4
{
@@ -4197,7 +4753,7 @@
{ \exp_not:V\l__semantex_preprocess_valuekey_keys_temp_tl }
}
}
- \l__semantex_preprocess_valuekey_intiflessF_temp_cs:nnF #3
+ \l__semantex_preprocess_valuekey_int_if_less_F_temp_cs:nnF #3
}
}
{
@@ -4261,6 +4817,14 @@
}
}
+\cs_new_protected:Npn \semantex_clear_singlekey:nn#1#2
+{
+ \cs_set_protected:cpo { __semantex_data_cs_custom_singlekey_#1_\tl_trim_spaces:n{#2}:n } ##1
+ {
+ % do nothing
+ }
+}
+
\cs_new_protected:Npn\semantex_remove_singlekey:nn#1#2
{
\cs_undefine:c { __semantex_data_cs_custom_singlekey_#1_#2:n }
@@ -4448,43 +5012,653 @@
}
}
-\cs_new_protected:Npn\semantex_define_nine_valuekeys:nn#1#2
+%\cs_new_protected:Npn\semantex_define_nine_valuekeys:nn#1#2
+%{
+% % Add new valuekeys with 9 values
+% \clist_map_inline:nn { #2 }{
+% \__semantex_nine_valuekey_format_auxiliary:nnn{#1}##1
+% }
+%}
+%
+%\cs_new_protected:Npn\__semantex_nine_valuekey_format_auxiliary:nnn#1#2#3%CHECK2
+%{
+% \cs_set:Npn\l__semantex_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9 { #3 }
+% \tl_set:Nn\l__semantex_nine_valuekey_auxiliary_temp_tl{}
+% \cs_set:Npn\l__semantex_nine_valuekey_auxiliary_singlekey_temp_cs:n##1
+% {
+% \__semantex_preprocess_singlekey:nnN { \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } \l__semantex_nine_valuekey_auxiliary_temp_tl
+% }
+% \cs_set:Npn\l__semantex_nine_valuekey_auxiliary_valuekey_temp_cs:nn##1##2
+% {
+% \__semantex_preprocess_valuekey:nnnN { \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } { ##2 } \l__semantex_nine_valuekey_auxiliary_temp_tl
+% }
+% \semantex_keyval_parse:NNo
+% \l__semantex_nine_valuekey_auxiliary_singlekey_temp_cs:n
+% \l__semantex_nine_valuekey_auxiliary_valuekey_temp_cs:nn
+% {
+% \l__semantex_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+% }
+% \cs_set_protected:cpo { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##1##2##3##4##5##6##7##8##9
+% {
+% \l__semantex_nine_valuekey_auxiliary_temp_tl
+% }
+% \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+% {
+% \tl_set:Nn \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl { ##1 }
+% \use:c { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##2
+% }
+%}
+
+
+
+\cs_new_protected:Npn\semantex_append_valuekeys:nn#1#2
+{
+ % Appends keys taking one value
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_valuekeys_format_auxiliary:nnn { #1 } ##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_valuekeys_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_valuekeys_auxiliary_temp_cs:n##1 { #3 }
+ \tl_set:Nn \l__semantex_append_valuekeys_auxiliary_temp_tl {}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_append_valuekeys_auxiliary_temp_cs:n { ##2 }
+ } \l__semantex_append_valuekeys_auxiliary_temp_tl
+ \semantex_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_valuekeys_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn
+ % \cs_set_protected:cx gave us ##1 where we wanted #1
+ { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn }
+ {
+ \exp_not:V\l__semantex_append_valuekeys_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_valuekeys_auxiliary_temp_tl
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_valuekeys:nn#1#2
+{
+ % Pre-appends keys taking one value
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_valuekeys_format_auxiliary:nnn { #1 } ##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_valuekeys_format_auxiliary:nnn#1#2#3
{
- % Add new valuekeys with 9 values
+ \cs_set:Npn\l__semantex_pre_append_valuekeys_auxiliary_temp_cs:n##1 { #3 }
+ \tl_set:Nn \l__semantex_pre_append_valuekeys_auxiliary_temp_tl {}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_pre_append_valuekeys_auxiliary_temp_cs:n { ##2 }
+ } \l__semantex_pre_append_valuekeys_auxiliary_temp_tl
+ \semantex_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_valuekeys_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn
+ % \cs_set_protected:cx gave us ##1 where we wanted #1
+ { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn }
+ {
+ \exp_not:V\l__semantex_pre_append_valuekeys_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_valuekeys_auxiliary_original_temp_tl
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_singlekeys:nn#1#2
+{
+ % Appends keys taking no values
\clist_map_inline:nn { #2 }{
- \__semantex_nine_valuekey_format_auxiliary:nnn{#1}##1
+ \__semantex_append_singlekeys_format_auxiliary:nnn { #1 } ##1
}
}
-\cs_new_protected:Npn\__semantex_nine_valuekey_format_auxiliary:nnn#1#2#3
+\cs_new_protected:Npn \__semantex_append_singlekeys_format_auxiliary:nnn#1#2#3
{
- \cs_set:Npn\l__semantex_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9 { #3 }
- \tl_set:Nn\l__semantex_nine_valuekey_auxiliary_temp_tl{}
- \cs_set:Npn\l__semantex_nine_valuekey_auxiliary_singlekey_temp_cs:n##1
+ \cs_set:Npn\l__semantex_append_singlekeys_auxiliary_temp_cs: { #3 }
+ \tl_set:Nn \l__semantex_append_singlekeys_auxiliary_temp_tl {}
+ \semantex_preprocess_keys:oN
{
- \__semantex_preprocess_singlekey:nnN { \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } \l__semantex_nine_valuekey_auxiliary_temp_tl
+ \l__semantex_append_singlekeys_auxiliary_temp_cs:
+ } \l__semantex_append_singlekeys_auxiliary_temp_tl
+ \semantex_singlekey_store:nnN { #1 } { #2 } \l__semantex_append_singlekeys_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn
+ % \cs_set_protected:cx gave us ##1 where we wanted #1
+ { __semantex_data_cs_custom_singlekey_#1_\tl_trim_spaces:n{#2}:n }
+ {
+ \exp_not:V\l__semantex_append_singlekeys_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_singlekeys_auxiliary_temp_tl
}
- \cs_set:Npn\l__semantex_nine_valuekey_auxiliary_valuekey_temp_cs:nn##1##2
+}
+
+\cs_new_protected:Npn \semantex_append_singlekey_with_raw_code:nnn#1#2#3
+{
+ % Appends the key #2 with the raw code #3
+ % #1 = register
+ % #2 = key
+ % #3 = raw code
+ \tl_set:Nn \l__semantex_add_raw_code_to_singlekey_auxiliary_temp_tl { #3 }
+ \semantex_singlekey_store:nnN { #1 } { #2 } \l__semantex_append_singlekeys_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn
+ % \cs_set_protected:cx gave us ##1 where we wanted #1
+ { __semantex_data_cs_custom_singlekey_#1_\tl_trim_spaces:n{#2}:n }
{
- \__semantex_preprocess_valuekey:nnnN { \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } { ##2 } \l__semantex_nine_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_append_singlekeys_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_singlekeys_auxiliary_temp_tl
}
- \semantex_keyval_parse:NNo
- \l__semantex_nine_valuekey_auxiliary_singlekey_temp_cs:n
- \l__semantex_nine_valuekey_auxiliary_valuekey_temp_cs:nn
- {
- \l__semantex_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
- }
- \cs_set_protected:cpo { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##1##2##3##4##5##6##7##8##9
+}
+
+\cs_new_protected:Npn \semantex_pre_append_singlekey_with_raw_code:nnn#1#2#3
+{
+ % Appends the key #2 with the raw code #3
+ % #1 = register
+ % #2 = key
+ % #3 = raw code
+ \tl_set:Nn \l__semantex_add_raw_code_to_singlekey_auxiliary_temp_tl { #3 }
+ \semantex_singlekey_store:nnN { #1 } { #2 } \l__semantex_append_singlekeys_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn
+ % \cs_set_protected:cx gave us ##1 where we wanted #1
+ { __semantex_data_cs_custom_singlekey_#1_\tl_trim_spaces:n{#2}:n }
+ {
+ \exp_not:V\l__semantex_append_singlekeys_auxiliary_temp_tl
+ \exp_not:V\l__semantex_append_singlekeys_auxiliary_original_temp_tl
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_singlekeys:nn#1#2
+{
+ % Pre-appends keys taking no values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_singlekeys_format_auxiliary:nnn { #1 } ##1
+ }
+}
+
+\cs_new_protected:Npn \__semantex_pre_append_singlekeys_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_singlekeys_auxiliary_temp_cs: { #3 }
+ \tl_set:Nn \l__semantex_pre_append_singlekeys_auxiliary_temp_tl {}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_pre_append_singlekeys_auxiliary_temp_cs:
+ } \l__semantex_pre_append_singlekeys_auxiliary_temp_tl
+ \semantex_singlekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_singlekeys_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn
+ % \cs_set_protected:cx gave us ##1 where we wanted #1
+ { __semantex_data_cs_custom_singlekey_#1_\tl_trim_spaces:n{#2}:n }
+ {
+ \exp_not:V\l__semantex_pre_append_singlekeys_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_singlekeys_auxiliary_original_temp_tl
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_two_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 2 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_two_valuekey_format_auxiliary:nnn { #1 } ##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_two_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_two_valuekey_auxiliary_temp_cs:nn##1##2 { #3 }
+ \tl_set:Nn\l__semantex_append_two_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_append_two_valuekey_auxiliary_temp_cs:nn { ##2 } { ##3 }
+ } \l__semantex_append_two_valuekey_auxiliary_temp_tl
+ \semantex_two_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_two_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn }
+ {
+ \exp_not:V\l__semantex_append_two_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_two_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_two_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 2 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_two_valuekey_format_auxiliary:nnn { #1 } ##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_two_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_two_valuekey_auxiliary_temp_cs:nn##1##2 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_two_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_pre_append_two_valuekey_auxiliary_temp_cs:nn { ##2 } { ##3 }
+ } \l__semantex_pre_append_two_valuekey_auxiliary_temp_tl
+ \semantex_two_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_two_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn }
+ {
+ \exp_not:V\l__semantex_pre_append_two_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_pre_append_two_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_three_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 3 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_three_valuekey_format_auxiliary:nnn {#1} ##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_three_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_three_valuekey_auxiliary_temp_cs:nnn##1##2##3 { #3 }
+ \tl_set:Nn\l__semantex_append_three_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_append_three_valuekey_auxiliary_temp_cs:nnn { ##2 } { ##3 } { ##4 }
+ } \l__semantex_append_three_valuekey_auxiliary_temp_tl
+ \semantex_three_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_three_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn }
{
- \l__semantex_nine_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_append_three_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_three_valuekey_auxiliary_temp_tl
}
\cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
{
- \tl_set:Nn \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl { ##1 }
- \use:c { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##2
+ \use:c { __semantex_data_cs_custom_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn } { ##1 } ##2
}
}
+\cs_new_protected:Npn\semantex_pre_append_three_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 3 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_three_valuekey_format_auxiliary:nnn {#1} ##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_three_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_three_valuekey_auxiliary_temp_cs:nnn##1##2##3 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_three_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_pre_append_three_valuekey_auxiliary_temp_cs:nnn { ##2 } { ##3 } { ##4 }
+ } \l__semantex_pre_append_three_valuekey_auxiliary_temp_tl
+ \semantex_three_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_three_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_three_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_three_valuekey_auxiliary_original_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_four_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 4 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_four_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_four_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_four_valuekey_auxiliary_temp_cs:nnnn##1##2##3##4 { #3 }
+ \tl_set:Nn\l__semantex_append_four_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_append_four_valuekey_auxiliary_temp_cs:nnnn { ##2 } { ##3 } { ##4 } { ##5 }
+ } \l__semantex_append_four_valuekey_auxiliary_temp_tl
+ \semantex_four_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_four_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn }
+ {
+ \exp_not:V\l__semantex_append_four_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_four_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_four_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 4 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_four_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_four_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_four_valuekey_auxiliary_temp_cs:nnnn##1##2##3##4 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_four_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_pre_append_four_valuekey_auxiliary_temp_cs:nnnn { ##2 } { ##3 } { ##4 } { ##5 }
+ } \l__semantex_pre_append_four_valuekey_auxiliary_temp_tl
+ \semantex_four_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_four_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_four_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_four_valuekey_auxiliary_original_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_five_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 5 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_five_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_five_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_five_valuekey_auxiliary_temp_cs:nnnnn##1##2##3##4##5 { #3 }
+ \tl_set:Nn\l__semantex_append_five_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_append_five_valuekey_auxiliary_temp_cs:nnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 }
+ } \l__semantex_append_five_valuekey_auxiliary_temp_tl
+ \semantex_five_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_five_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn }
+ {
+ \exp_not:V\l__semantex_append_five_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_five_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_five_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 5 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_five_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_five_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_five_valuekey_auxiliary_temp_cs:nnnnn##1##2##3##4##5 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_five_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_pre_append_five_valuekey_auxiliary_temp_cs:nnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 }
+ } \l__semantex_pre_append_five_valuekey_auxiliary_temp_tl
+ \semantex_five_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_five_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_five_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_five_valuekey_auxiliary_original_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_six_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 6 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_six_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_six_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_six_valuekey_auxiliary_temp_cs:nnnnnn##1##2##3##4##5##6 { #3 }
+ \tl_set:Nn\l__semantex_append_six_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_append_six_valuekey_auxiliary_temp_cs:nnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 }
+ } \l__semantex_append_six_valuekey_auxiliary_temp_tl
+ \semantex_six_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_six_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn }
+ {
+ \exp_not:V\l__semantex_append_six_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_six_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_six_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 6 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_six_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_six_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_six_valuekey_auxiliary_temp_cs:nnnnnn##1##2##3##4##5##6 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_six_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_pre_append_six_valuekey_auxiliary_temp_cs:nnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 }
+ } \l__semantex_pre_append_six_valuekey_auxiliary_temp_tl
+ \semantex_six_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_six_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_six_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_pre_append_six_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_seven_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 7 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_seven_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_seven_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_seven_valuekey_auxiliary_temp_cs:nnnnnnn##1##2##3##4##5##6##7 { #3 }
+ \tl_set:Nn\l__semantex_append_seven_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_append_seven_valuekey_auxiliary_temp_cs:nnnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 }
+ } \l__semantex_append_seven_valuekey_auxiliary_temp_tl
+ \semantex_seven_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_seven_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn }
+ {
+ \exp_not:V\l__semantex_append_seven_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_seven_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_seven_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 7 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_seven_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_seven_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_seven_valuekey_auxiliary_temp_cs:nnnnnnn##1##2##3##4##5##6##7 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_seven_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_pre_append_seven_valuekey_auxiliary_temp_cs:nnnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 }
+ } \l__semantex_pre_append_seven_valuekey_auxiliary_temp_tl
+ \semantex_seven_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_seven_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_seven_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_pre_append_seven_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_eight_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 8 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_eight_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_eight_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_eight_valuekey_auxiliary_temp_cs:nnnnnnnn##1##2##3##4##5##6##7##8 { #3 }
+ \tl_set:Nn\l__semantex_append_eight_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_append_eight_valuekey_auxiliary_temp_cs:nnnnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+ } \l__semantex_append_eight_valuekey_auxiliary_temp_tl
+ \semantex_eight_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_eight_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+ {
+ \exp_not:V\l__semantex_append_eight_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_eight_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_eight_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 8 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_eight_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_eight_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_eight_valuekey_auxiliary_temp_cs:nnnnnnnn##1##2##3##4##5##6##7##8 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_eight_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:oN
+ {
+ \l__semantex_pre_append_eight_valuekey_auxiliary_temp_cs:nnnnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+ } \l__semantex_pre_append_eight_valuekey_auxiliary_temp_tl
+ \semantex_eight_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_eight_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_eight_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_eight_valuekey_auxiliary_original_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } ##2
+ }
+}
+
+%\cs_new_protected:Npn\semantex_append_nine_valuekeys:nn#1#2
+%{
+% % Appends valuekeys with 9 values
+% \clist_map_inline:nn { #2 }{
+% \__semantex_append_nine_valuekey_format_auxiliary:nnn{#1}##1
+% }
+%}
+%
+%\cs_new_protected:Npn\__semantex_append_nine_valuekey_format_auxiliary:nnn#1#2#3
+%{
+% \cs_set:Npn\l__semantex_append_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9 { #3 }
+% \tl_set:Nn\l__semantex_append_nine_valuekey_auxiliary_temp_tl{}
+% \cs_set:Npn\l__semantex_append_nine_valuekey_auxiliary_singlekey_temp_cs:n##1
+% {
+% \__semantex_preprocess_singlekey:nnN { \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } \l__semantex_append_nine_valuekey_auxiliary_temp_tl
+% }
+% \cs_set:Npn\l__semantex_append_nine_valuekey_auxiliary_valuekey_temp_cs:nn##1##2
+% {
+% \__semantex_preprocess_valuekey:nnnN { \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } { ##2 } \l__semantex_append_nine_valuekey_auxiliary_temp_tl
+% }
+% \semantex_keyval_parse:NNo
+% \l__semantex_append_nine_valuekey_auxiliary_singlekey_temp_cs:n
+% \l__semantex_append_nine_valuekey_auxiliary_valuekey_temp_cs:nn
+% {
+% \l__semantex_append_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+% }
+% \semantex_nine_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_nine_valuekey_auxiliary_original_temp_tl
+% \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+% {
+% \exp_not:V\l__semantex_append_nine_valuekey_auxiliary_original_temp_tl
+% \exp_not:V\l__semantex_append_nine_valuekey_auxiliary_temp_tl
+% }
+% \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+% {
+% \tl_set:Nn \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl { ##1 }
+% \use:c { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##2
+% }
+%}
+%
+%\cs_new_protected:Npn\semantex_pre_append_nine_valuekeys:nn#1#2
+%{
+% % Pre-appends valuekeys with 9 values
+% \clist_map_inline:nn { #2 }{
+% \__semantex_pre_append_nine_valuekey_format_auxiliary:nnn{#1}##1
+% }
+%}
+%
+%\cs_new_protected:Npn\__semantex_pre_append_nine_valuekey_format_auxiliary:nnn#1#2#3
+%{
+% \cs_set:Npn\l__semantex_pre_append_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9 { #3 }
+% \tl_set:Nn\l__semantex_pre_append_nine_valuekey_auxiliary_temp_tl{}
+% \cs_set:Npn\l__semantex_pre_append_nine_valuekey_auxiliary_singlekey_temp_cs:n##1
+% {
+% \__semantex_preprocess_singlekey:nnN { \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } \l__semantex_pre_append_nine_valuekey_auxiliary_temp_tl
+% }
+% \cs_set:Npn\l__semantex_pre_append_nine_valuekey_auxiliary_valuekey_temp_cs:nn##1##2
+% {
+% \__semantex_preprocess_valuekey:nnnN { \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } { ##2 } \l__semantex_pre_append_nine_valuekey_auxiliary_temp_tl
+% }
+% \semantex_keyval_parse:NNo
+% \l__semantex_pre_append_nine_valuekey_auxiliary_singlekey_temp_cs:n
+% \l__semantex_pre_append_nine_valuekey_auxiliary_valuekey_temp_cs:nn
+% {
+% \l__semantex_pre_append_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+% }
+% \semantex_nine_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_nine_valuekey_auxiliary_original_temp_tl
+% \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+% {
+% \exp_not:V\l__semantex_pre_append_nine_valuekey_auxiliary_temp_tl
+% \exp_not:V\l__semantex_pre_append_nine_valuekey_auxiliary_original_temp_tl
+% }
+% \cs_set_protected:cpn { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+% {
+% \tl_set:Nn \__semantex_nine_valuekey_format_auxiliary_name_of_register_temp_tl { ##1 }
+% \use:c { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##2
+% }
+%}
+
% SETTING UP THE ARGUMENT KEYVAL INTERFACE
@@ -4525,7 +5699,7 @@
}
-\cs_new_protected:Npn\__semantex_preprocess_arg_valuekey:nnnN#1#2#3#4
+\cs_new_protected:Npn\__semantex_preprocess_arg_valuekey:nnnN#1#2#3#4%CHECK4
{
\str_case:nnF { #2 }
{
@@ -4535,40 +5709,40 @@
#3
}
}
- { setkeys }{
+ { set~keys }{
\semantex_preprocess_keys:nN { #3 } #4
}
- { keysset }{
+ { keys~set }{
\semantex_preprocess_keys:nN { #3 } #4
}
- { setkeysx }{
+ { set~keys~x }{
\semantex_preprocess_keys_x:nN { #3 } #4
}
- { keyssetx }{
+ { keys~set~x }{
\semantex_preprocess_keys_x:nN { #3 } #4
}
- { setargkeys }{
+ { set~arg~keys }{
\semantex_preprocess_arg_keys:nN { #3 } #4
}
- { argkeysset }{
+ { arg~keys~set }{
\semantex_preprocess_arg_keys:nN { #3 } #4
}
- { setargkeysx }{
+ { set~arg~keys~x }{
\semantex_preprocess_arg_keys_x:nN { #3 } #4
}
- { argkeyssetx }{
+ { arg~keys~set~x }{
\semantex_preprocess_arg_keys_x:nN { #3 } #4
}
- { setargsinglekeys }{
+ { set~arg~single~keys }{
\semantex_preprocess_arg_singlekeys:nN { #3 } #4
}
- { argsinglekeysset }{
+ { arg~single~keys~set }{
\semantex_preprocess_arg_singlekeys:nN { #3 } #4
}
- { setargsinglekeysx }{
+ { set~arg~single~keys~x }{
\semantex_preprocess_arg_singlekeys_x:nN { #3 } #4
}
- { argsinglekeyssetx }{
+ { arg~single~keys~set~x }{
\semantex_preprocess_arg_singlekeys_x:nN { #3 } #4
}
}
@@ -4626,40 +5800,40 @@
#3
}
}
- { setkeys }{
+ { set~keys }{
\semantex_preprocess_keys:nN { #3 } #4
}
- { keysset }{
+ { keys~set }{
\semantex_preprocess_keys:nN { #3 } #4
}
- { setkeysx }{
+ { set~keys~x }{
\semantex_preprocess_keys_x:nN { #3 } #4
}
- { keyssetx }{
+ { keys~set~x }{
\semantex_preprocess_keys_x:nN { #3 } #4
}
- { setargkeys }{
+ { set~arg~keys }{
\semantex_preprocess_arg_keys:nN { #3 } #4
}
- { argkeysset }{
+ { arg~keys~set }{
\semantex_preprocess_arg_keys:nN { #3 } #4
}
- { setargkeysx }{
+ { set~arg~keys~x }{
\semantex_preprocess_arg_keys_x:nN { #3 } #4
}
- { argkeyssetx }{
+ { arg~keys~set~x }{
\semantex_preprocess_arg_keys_x:nN { #3 } #4
}
- { setargsinglekeys }{
+ { set~arg~single~keys }{
\semantex_preprocess_arg_singlekeys:nN { #3 } #4
}
- { argsinglekeysset }{
+ { arg~single~keys~set }{
\semantex_preprocess_arg_singlekeys:nN { #3 } #4
}
- { setargsinglekeysx }{
+ { set~arg~single~keys~x }{
\semantex_preprocess_arg_singlekeys_x:nN { #3 } #4
}
- { argsinglekeyssetx }{
+ { arg~single~keys~set~x }{
\semantex_preprocess_arg_singlekeys_x:nN { #3 } #4
}
}
@@ -4757,11 +5931,11 @@
{
% Add new argument valuekeys with 3 values
\clist_map_inline:nn { #2 }{
- \__semantex_three_arg_valuekey_format_auxiliary:nnn{#1}##1
+ \__semantex_arg_three_valuekey_format_auxiliary:nnn{#1}##1
}
}
-\cs_new_protected:Npn\__semantex_three_arg_valuekey_format_auxiliary:nnn#1#2#3
+\cs_new_protected:Npn\__semantex_arg_three_valuekey_format_auxiliary:nnn#1#2#3
{
\cs_set:Npn\l__semantex_arg_three_valuekey_auxiliary_temp_cs:nnn##1##2##3 { #3 }
\tl_set:Nn\l__semantex_arg_three_valuekey_auxiliary_temp_tl{}
@@ -4783,11 +5957,11 @@
{
% Add new argument valuekeys with 4 values
\clist_map_inline:nn { #2 }{
- \__semantex_four_arg_valuekey_format_auxiliary:nnn{#1}##1
+ \__semantex_arg_four_valuekey_format_auxiliary:nnn{#1}##1
}
}
-\cs_new_protected:Npn\__semantex_four_arg_valuekey_format_auxiliary:nnn#1#2#3
+\cs_new_protected:Npn\__semantex_arg_four_valuekey_format_auxiliary:nnn#1#2#3
{
\cs_set:Npn\l__semantex_arg_four_valuekey_auxiliary_temp_cs:nnnn##1##2##3##4 { #3 }
\tl_set:Nn\l__semantex_arg_four_valuekey_auxiliary_temp_tl{}
@@ -4809,11 +5983,11 @@
{
% Add new argument valuekeys with 5 values
\clist_map_inline:nn { #2 }{
- \__semantex_five_arg_valuekey_format_auxiliary:nnn{#1}##1
+ \__semantex_arg_five_valuekey_format_auxiliary:nnn{#1}##1
}
}
-\cs_new_protected:Npn\__semantex_five_arg_valuekey_format_auxiliary:nnn#1#2#3
+\cs_new_protected:Npn\__semantex_arg_five_valuekey_format_auxiliary:nnn#1#2#3
{
\cs_set:Npn\l__semantex_arg_five_valuekey_auxiliary_temp_cs:nnnnn##1##2##3##4##5 { #3 }
\tl_set:Nn\l__semantex_arg_five_valuekey_auxiliary_temp_tl{}
@@ -4835,11 +6009,11 @@
{
% Add new argument valuekeys with 6 values
\clist_map_inline:nn { #2 }{
- \__semantex_six_arg_valuekey_format_auxiliary:nnn{#1}##1
+ \__semantex_arg_six_valuekey_format_auxiliary:nnn{#1}##1
}
}
-\cs_new_protected:Npn\__semantex_six_arg_valuekey_format_auxiliary:nnn#1#2#3
+\cs_new_protected:Npn\__semantex_arg_six_valuekey_format_auxiliary:nnn#1#2#3
{
\cs_set:Npn\l__semantex_arg_six_valuekey_auxiliary_temp_cs:nnnnnn##1##2##3##4##5##6 { #3 }
\tl_set:Nn\l__semantex_arg_six_valuekey_auxiliary_temp_tl{}
@@ -4861,11 +6035,11 @@
{
% Add new argument valuekeys with 7 values
\clist_map_inline:nn { #2 }{
- \__semantex_seven_arg_valuekey_format_auxiliary:nnn{#1}##1
+ \__semantex_arg_seven_valuekey_format_auxiliary:nnn{#1}##1
}
}
-\cs_new_protected:Npn\__semantex_seven_arg_valuekey_format_auxiliary:nnn#1#2#3
+\cs_new_protected:Npn\__semantex_arg_seven_valuekey_format_auxiliary:nnn#1#2#3
{
\cs_set:Npn\l__semantex_arg_seven_valuekey_auxiliary_temp_cs:nnnnnnn##1##2##3##4##5##6##7 { #3 }
\tl_set:Nn\l__semantex_arg_seven_valuekey_auxiliary_temp_tl{}
@@ -4887,11 +6061,11 @@
{
% Add new argument valuekeys with 8 values
\clist_map_inline:nn { #2 }{
- \__semantex_eight_arg_valuekey_format_auxiliary:nnn{#1}##1
+ \__semantex_arg_eight_valuekey_format_auxiliary:nnn{#1}##1
}
}
-\cs_new_protected:Npn\__semantex_eight_arg_valuekey_format_auxiliary:nnn#1#2#3
+\cs_new_protected:Npn\__semantex_arg_eight_valuekey_format_auxiliary:nnn#1#2#3
{
\cs_set:Npn\l__semantex_arg_eight_valuekey_auxiliary_temp_cs:nnnnnnnn##1##2##3##4##5##6##7##8 { #3 }
\tl_set:Nn\l__semantex_arg_eight_valuekey_auxiliary_temp_tl{}
@@ -4909,75 +6083,617 @@
}
}
-\cs_new_protected:Npn\semantex_define_arg_nine_valuekeys:nn#1#2
+%\cs_new_protected:Npn\semantex_define_arg_nine_valuekeys:nn#1#2
+%{
+% % Add new argument valuekeys with 9 values
+% \clist_map_inline:nn { #2 }{
+% \__semantex_arg_nine_valuekey_format_auxiliary:nnn{#1}##1
+% }
+%}
+%
+%\cs_new_protected:Npn\__semantex_arg_nine_valuekey_format_auxiliary:nnn#1#2#3
+%{
+% \cs_set:Npn\l__semantex_arg_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9 { #3 }
+% \tl_set:Nn\l__semantex_arg_nine_valuekey_auxiliary_temp_tl{}
+% \cs_set:Npn\l__semantex_arg_nine_valuekey_auxiliary_singlekey_temp_cs:n##1
+% {
+% \__semantex_preprocess_arg_singlekey:nnN { \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } \l__semantex_arg_nine_valuekey_auxiliary_temp_tl
+% }
+% \cs_set:Npn\l__semantex_arg_nine_valuekey_auxiliary_valuekey_temp_cs:nn##1##2
+% {
+% \__semantex_preprocess_arg_valuekey:nnnN { \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } { ##2 } \l__semantex_arg_nine_valuekey_auxiliary_temp_tl
+% }
+% \semantex_keyval_parse:NNo
+% \l__semantex_arg_nine_valuekey_auxiliary_singlekey_temp_cs:n
+% \l__semantex_arg_nine_valuekey_auxiliary_valuekey_temp_cs:nn
+% {
+% \l__semantex_arg_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+% }
+% \cs_set_protected:cpo { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##1##2##3##4##5##6##7##8##9
+% {
+% \l__semantex_arg_nine_valuekey_auxiliary_temp_tl
+% }
+% \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+% {
+% \tl_set:Nn \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl { ##1 }
+% \use:c { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##2
+% }
+%}
+
+
+\cs_new_protected:Npn\semantex_append_arg_valuekeys:nn#1#2
+{
+ % Appends keys taking one value
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_arg_valuekeys_format_auxiliary:nnn { #1 } ##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_arg_valuekeys_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_arg_valuekeys_auxiliary_temp_cs:n##1 { #3 }
+ \tl_set:Nn \l__semantex_append_arg_valuekeys_auxiliary_temp_tl {}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_append_arg_valuekeys_auxiliary_temp_cs:n { ##2 }
+ } \l__semantex_append_arg_valuekeys_auxiliary_temp_tl
+ \semantex_arg_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_arg_valuekeys_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn
+ % \cs_set_protected:cx gave us ##1 where we wanted #1
+ { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn }
+ {
+ \exp_not:V\l__semantex_append_arg_valuekeys_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_arg_valuekeys_auxiliary_temp_tl
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_arg_valuekeys:nn#1#2
{
- % Add new argument valuekeys with 9 values
+ % Pre-appends keys taking one value
\clist_map_inline:nn { #2 }{
- \__semantex_nine_arg_valuekey_format_auxiliary:nnn{#1}##1
+ \__semantex_pre_append_arg_valuekeys_format_auxiliary:nnn { #1 } ##1
}
}
-\cs_new_protected:Npn\__semantex_nine_arg_valuekey_format_auxiliary:nnn#1#2#3
+\cs_new_protected:Npn\__semantex_pre_append_arg_valuekeys_format_auxiliary:nnn#1#2#3
{
- \cs_set:Npn\l__semantex_arg_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9 { #3 }
- \tl_set:Nn\l__semantex_arg_nine_valuekey_auxiliary_temp_tl{}
- \cs_set:Npn\l__semantex_arg_nine_valuekey_auxiliary_singlekey_temp_cs:n##1
+ \cs_set:Npn\l__semantex_pre_append_arg_valuekeys_auxiliary_temp_cs:n##1 { #3 }
+ \tl_set:Nn \l__semantex_pre_append_arg_valuekeys_auxiliary_temp_tl {}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_pre_append_arg_valuekeys_auxiliary_temp_cs:n { ##2 }
+ } \l__semantex_pre_append_arg_valuekeys_auxiliary_temp_tl
+ \semantex_arg_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_arg_valuekeys_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn
+ % \cs_set_protected:cx gave us ##1 where we wanted #1
+ { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn }
{
- \__semantex_preprocess_arg_singlekey:nnN { \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } \l__semantex_arg_nine_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_arg_valuekeys_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_arg_valuekeys_auxiliary_original_temp_tl
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_arg_singlekeys:nn#1#2
+{
+ % Appends keys taking no values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_arg_singlekeys_format_auxiliary:nnn { #1 } ##1
}
- \cs_set:Npn\l__semantex_arg_nine_valuekey_auxiliary_valuekey_temp_cs:nn##1##2
+}
+
+\cs_new_protected:Npn \__semantex_append_arg_singlekeys_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_arg_singlekeys_auxiliary_temp_cs: { #3 }
+ \tl_set:Nn \l__semantex_append_arg_singlekeys_auxiliary_temp_tl {}
+ \semantex_preprocess_arg_keys:oN
{
- \__semantex_preprocess_arg_valuekey:nnnN { \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } { ##2 } \l__semantex_arg_nine_valuekey_auxiliary_temp_tl
+ \l__semantex_append_arg_singlekeys_auxiliary_temp_cs:
+ } \l__semantex_append_arg_singlekeys_auxiliary_temp_tl
+ \semantex_arg_singlekey_store:nnN { #1 } { #2 } \l__semantex_append_arg_singlekeys_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn
+ % \cs_set_protected:cx gave us ##1 where we wanted #1
+ { __semantex_data_cs_custom_arg_singlekey_#1_\tl_trim_spaces:n{#2}:n }
+ {
+ \exp_not:V\l__semantex_append_arg_singlekeys_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_arg_singlekeys_auxiliary_temp_tl
}
- \semantex_keyval_parse:NNo
- \l__semantex_arg_nine_valuekey_auxiliary_singlekey_temp_cs:n
- \l__semantex_arg_nine_valuekey_auxiliary_valuekey_temp_cs:nn
- {
- \l__semantex_arg_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
- }
- \cs_set_protected:cpo { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##1##2##3##4##5##6##7##8##9
+}
+
+\cs_new_protected:Npn\semantex_pre_append_arg_singlekeys:nn#1#2
+{
+ % Pre-append_args keys taking no values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_arg_singlekeys_format_auxiliary:nnn { #1 } ##1
+ }
+}
+
+\cs_new_protected:Npn \__semantex_pre_append_arg_singlekeys_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_arg_singlekeys_auxiliary_temp_cs: { #3 }
+ \tl_set:Nn \l__semantex_pre_append_arg_singlekeys_auxiliary_temp_tl {}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_pre_append_arg_singlekeys_auxiliary_temp_cs:
+ } \l__semantex_pre_append_arg_singlekeys_auxiliary_temp_tl
+ \semantex_arg_singlekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_arg_singlekeys_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn
+ % \cs_set_protected:cx gave us ##1 where we wanted #1
+ { __semantex_data_cs_custom_arg_singlekey_#1_\tl_trim_spaces:n{#2}:n }
+ {
+ \exp_not:V\l__semantex_pre_append_arg_singlekeys_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_arg_singlekeys_auxiliary_original_temp_tl
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_arg_two_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 2 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_arg_two_valuekey_format_auxiliary:nnn { #1 } ##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_arg_two_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_arg_two_valuekey_auxiliary_temp_cs:nn##1##2 { #3 }
+ \tl_set:Nn\l__semantex_append_arg_two_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_append_arg_two_valuekey_auxiliary_temp_cs:nn { ##2 } { ##3 }
+ } \l__semantex_append_arg_two_valuekey_auxiliary_temp_tl
+ \semantex_arg_two_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_arg_two_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn }
{
- \l__semantex_arg_nine_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_append_arg_two_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_arg_two_valuekey_auxiliary_temp_tl
}
\cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
{
- \tl_set:Nn \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl { ##1 }
- \use:c { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##2
+ \use:c { __semantex_data_cs_custom_arg_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn } { ##1 } ##2
}
}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% COMMANDS HANDLING THE PARSE ROUTINE
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\cs_new_protected:Npn\semantex_pre_append_arg_two_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 2 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_arg_two_valuekey_format_auxiliary:nnn { #1 } ##1
+ }
+}
-\cs_new_protected:Npn\semantex_parse:n#1
+\cs_new_protected:Npn\__semantex_pre_append_arg_two_valuekey_format_auxiliary:nnn#1#2#3
{
- % This command runs all the keys that the user may have
- % stored via the parseoptions key
- \exp_args:NNx\cs_set_protected:Nn\l__semantex_parse_temp_cs:n
- % \cs_set:Nx gave us ##1 where we wanted #1
+ \cs_set:Npn\l__semantex_pre_append_arg_two_valuekey_auxiliary_temp_cs:nn##1##2 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_arg_two_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
{
- \semantex_data_tl_get_exp_not:nn { #1 } { parseoptions }
+ \l__semantex_pre_append_arg_two_valuekey_auxiliary_temp_cs:nn { ##2 } { ##3 }
+ } \l__semantex_pre_append_arg_two_valuekey_auxiliary_temp_tl
+ \semantex_arg_two_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_arg_two_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn }
+ {
+ \exp_not:V\l__semantex_pre_append_arg_two_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_pre_append_arg_two_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn } { ##1 } ##2
}
- \l__semantex_parse_temp_cs:n { #1 }
- \semantex_data_tl_clear:nn { #1 } { parseoptions }
}
-\cs_new_protected:Npn\semantex_add_to_parse_options:nn#1#2
+\cs_new_protected:Npn\semantex_append_arg_three_valuekeys:nn#1#2
{
- \tl_set:Nn\l__semantex_parseoptions_auxiliary_temp_tl{}
- \semantex_preprocess_keys:nN { #2 } \l__semantex_parseoptions_auxiliary_temp_tl
- \semantex_add_raw_commands_to_parse_options:no { #1 } { \l__semantex_parseoptions_auxiliary_temp_tl }
+ % Appends valuekeys with 3 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_arg_three_valuekey_format_auxiliary:nnn {#1} ##1
+ }
}
-\cs_new_protected:Npn\semantex_add_raw_commands_to_parse_options:nn#1#2
+\cs_new_protected:Npn\__semantex_append_arg_three_valuekey_format_auxiliary:nnn#1#2#3
{
- \semantex_data_tl_put_right:nnn { #1 } { parseoptions } { #2 }
+ \cs_set:Npn\l__semantex_append_arg_three_valuekey_auxiliary_temp_cs:nnn##1##2##3 { #3 }
+ \tl_set:Nn\l__semantex_append_arg_three_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_append_arg_three_valuekey_auxiliary_temp_cs:nnn { ##2 } { ##3 } { ##4 }
+ } \l__semantex_append_arg_three_valuekey_auxiliary_temp_tl
+ \semantex_arg_three_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_arg_three_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn }
+ {
+ \exp_not:V\l__semantex_append_arg_three_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_arg_three_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn } { ##1 } ##2
+ }
}
-\cs_generate_variant:Nn \semantex_add_raw_commands_to_parse_options:nn { no }
+\cs_new_protected:Npn\semantex_pre_append_arg_three_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 3 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_arg_three_valuekey_format_auxiliary:nnn {#1} ##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_arg_three_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_arg_three_valuekey_auxiliary_temp_cs:nnn##1##2##3 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_arg_three_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_pre_append_arg_three_valuekey_auxiliary_temp_cs:nnn { ##2 } { ##3 } { ##4 }
+ } \l__semantex_pre_append_arg_three_valuekey_auxiliary_temp_tl
+ \semantex_arg_three_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_arg_three_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_arg_three_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_arg_three_valuekey_auxiliary_original_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_arg_four_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 4 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_arg_four_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_arg_four_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_arg_four_valuekey_auxiliary_temp_cs:nnnn##1##2##3##4 { #3 }
+ \tl_set:Nn\l__semantex_append_arg_four_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_append_arg_four_valuekey_auxiliary_temp_cs:nnnn { ##2 } { ##3 } { ##4 } { ##5 }
+ } \l__semantex_append_arg_four_valuekey_auxiliary_temp_tl
+ \semantex_arg_four_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_arg_four_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn }
+ {
+ \exp_not:V\l__semantex_append_arg_four_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_arg_four_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_arg_four_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 4 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_arg_four_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_arg_four_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_arg_four_valuekey_auxiliary_temp_cs:nnnn##1##2##3##4 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_arg_four_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_pre_append_arg_four_valuekey_auxiliary_temp_cs:nnnn { ##2 } { ##3 } { ##4 } { ##5 }
+ } \l__semantex_pre_append_arg_four_valuekey_auxiliary_temp_tl
+ \semantex_arg_four_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_arg_four_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_arg_four_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_arg_four_valuekey_auxiliary_original_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_arg_five_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 5 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_arg_five_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_arg_five_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_arg_five_valuekey_auxiliary_temp_cs:nnnnn##1##2##3##4##5 { #3 }
+ \tl_set:Nn\l__semantex_append_arg_five_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_append_arg_five_valuekey_auxiliary_temp_cs:nnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 }
+ } \l__semantex_append_arg_five_valuekey_auxiliary_temp_tl
+ \semantex_arg_five_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_arg_five_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn }
+ {
+ \exp_not:V\l__semantex_append_arg_five_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_arg_five_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_arg_five_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 5 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_arg_five_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_arg_five_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_arg_five_valuekey_auxiliary_temp_cs:nnnnn##1##2##3##4##5 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_arg_five_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_pre_append_arg_five_valuekey_auxiliary_temp_cs:nnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 }
+ } \l__semantex_pre_append_arg_five_valuekey_auxiliary_temp_tl
+ \semantex_arg_five_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_arg_five_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_arg_five_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_arg_five_valuekey_auxiliary_original_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_arg_six_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 6 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_arg_six_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_arg_six_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_arg_six_valuekey_auxiliary_temp_cs:nnnnnn##1##2##3##4##5##6 { #3 }
+ \tl_set:Nn\l__semantex_append_arg_six_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_append_arg_six_valuekey_auxiliary_temp_cs:nnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 }
+ } \l__semantex_append_arg_six_valuekey_auxiliary_temp_tl
+ \semantex_arg_six_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_arg_six_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn }
+ {
+ \exp_not:V\l__semantex_append_arg_six_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_arg_six_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_arg_six_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 6 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_arg_six_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_arg_six_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_arg_six_valuekey_auxiliary_temp_cs:nnnnnn##1##2##3##4##5##6 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_arg_six_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_pre_append_arg_six_valuekey_auxiliary_temp_cs:nnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 }
+ } \l__semantex_pre_append_arg_six_valuekey_auxiliary_temp_tl
+ \semantex_arg_six_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_arg_six_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_arg_six_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_pre_append_arg_six_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_arg_seven_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 7 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_arg_seven_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_arg_seven_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_arg_seven_valuekey_auxiliary_temp_cs:nnnnnnn##1##2##3##4##5##6##7 { #3 }
+ \tl_set:Nn\l__semantex_append_arg_seven_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_append_arg_seven_valuekey_auxiliary_temp_cs:nnnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 }
+ } \l__semantex_append_arg_seven_valuekey_auxiliary_temp_tl
+ \semantex_arg_seven_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_arg_seven_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn }
+ {
+ \exp_not:V\l__semantex_append_arg_seven_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_arg_seven_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_arg_seven_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 7 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_arg_seven_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_arg_seven_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_arg_seven_valuekey_auxiliary_temp_cs:nnnnnnn##1##2##3##4##5##6##7 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_arg_seven_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_pre_append_arg_seven_valuekey_auxiliary_temp_cs:nnnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 }
+ } \l__semantex_pre_append_arg_seven_valuekey_auxiliary_temp_tl
+ \semantex_arg_seven_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_arg_seven_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_arg_seven_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_pre_append_arg_seven_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_append_arg_eight_valuekeys:nn#1#2
+{
+ % Appends valuekeys with 8 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_append_arg_eight_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_append_arg_eight_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_append_arg_eight_valuekey_auxiliary_temp_cs:nnnnnnnn##1##2##3##4##5##6##7##8 { #3 }
+ \tl_set:Nn\l__semantex_append_arg_eight_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_append_arg_eight_valuekey_auxiliary_temp_cs:nnnnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+ } \l__semantex_append_arg_eight_valuekey_auxiliary_temp_tl
+ \semantex_arg_eight_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_arg_eight_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+ {
+ \exp_not:V\l__semantex_append_arg_eight_valuekey_auxiliary_original_temp_tl
+ \exp_not:V\l__semantex_append_arg_eight_valuekey_auxiliary_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } ##2
+ }
+}
+
+\cs_new_protected:Npn\semantex_pre_append_arg_eight_valuekeys:nn#1#2
+{
+ % Pre-appends valuekeys with 8 values
+ \clist_map_inline:nn { #2 }{
+ \__semantex_pre_append_arg_eight_valuekey_format_auxiliary:nnn{#1}##1
+ }
+}
+
+\cs_new_protected:Npn\__semantex_pre_append_arg_eight_valuekey_format_auxiliary:nnn#1#2#3
+{
+ \cs_set:Npn\l__semantex_pre_append_arg_eight_valuekey_auxiliary_temp_cs:nnnnnnnn##1##2##3##4##5##6##7##8 { #3 }
+ \tl_set:Nn\l__semantex_pre_append_arg_eight_valuekey_auxiliary_temp_tl{}
+ \semantex_preprocess_arg_keys:oN
+ {
+ \l__semantex_pre_append_arg_eight_valuekey_auxiliary_temp_cs:nnnnnnnn { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+ } \l__semantex_pre_append_arg_eight_valuekey_auxiliary_temp_tl
+ \semantex_arg_eight_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_arg_eight_valuekey_auxiliary_original_temp_tl
+ \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+ {
+ \exp_not:V\l__semantex_pre_append_arg_eight_valuekey_auxiliary_temp_tl
+ \exp_not:V\l__semantex_pre_append_arg_eight_valuekey_auxiliary_original_temp_tl
+ }
+ \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+ {
+ \use:c { __semantex_data_cs_custom_arg_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } ##2
+ }
+}
+
+%\cs_new_protected:Npn\semantex_append_arg_nine_valuekeys:nn#1#2
+%{
+% % Appends valuekeys with 9 values
+% \clist_map_inline:nn { #2 }{
+% \__semantex_append_arg_nine_valuekey_format_auxiliary:nnn{#1}##1
+% }
+%}
+%
+%\cs_new_protected:Npn\__semantex_append_arg_nine_valuekey_format_auxiliary:nnn#1#2#3
+%{
+% \cs_set:Npn\l__semantex_append_arg_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9 { #3 }
+% \tl_set:Nn\l__semantex_append_arg_nine_valuekey_auxiliary_temp_tl{}
+% \cs_set:Npn\l__semantex_append_arg_nine_valuekey_auxiliary_singlekey_temp_cs:n##1
+% {
+% \__semantex_preprocess_arg_singlekey:nnN { \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } \l__semantex_append_arg_nine_valuekey_auxiliary_temp_tl
+% }
+% \cs_set:Npn\l__semantex_append_arg_nine_valuekey_auxiliary_valuekey_temp_cs:nn##1##2
+% {
+% \__semantex_preprocess_arg_valuekey:nnnN { \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } { ##2 } \l__semantex_append_arg_nine_valuekey_auxiliary_temp_tl
+% }
+% \semantex_keyval_parse:NNo
+% \l__semantex_append_arg_nine_valuekey_auxiliary_singlekey_temp_cs:n
+% \l__semantex_append_arg_nine_valuekey_auxiliary_valuekey_temp_cs:nn
+% {
+% \l__semantex_append_arg_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+% }
+% \semantex_arg_nine_valuekey_store:nnN { #1 } { #2 } \l__semantex_append_arg_nine_valuekey_auxiliary_original_temp_tl
+% \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+% {
+% \exp_not:V\l__semantex_append_arg_nine_valuekey_auxiliary_original_temp_tl
+% \exp_not:V\l__semantex_append_arg_nine_valuekey_auxiliary_temp_tl
+% }
+% \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+% {
+% \tl_set:Nn \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl { ##1 }
+% \use:c { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##2
+% }
+%}
+%
+%\cs_new_protected:Npn\semantex_pre_append_arg_nine_valuekeys:nn#1#2
+%{
+% % Pre-appends valuekeys with 9 values
+% \clist_map_inline:nn { #2 }{
+% \__semantex_pre_append_arg_nine_valuekey_format_auxiliary:nnn{#1}##1
+% }
+%}
+%
+%\cs_new_protected:Npn\__semantex_pre_append_arg_nine_valuekey_format_auxiliary:nnn#1#2#3
+%{
+% \cs_set:Npn\l__semantex_pre_append_arg_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn##1##2##3##4##5##6##7##8##9 { #3 }
+% \tl_set:Nn\l__semantex_pre_append_arg_nine_valuekey_auxiliary_temp_tl{}
+% \cs_set:Npn\l__semantex_pre_append_arg_nine_valuekey_auxiliary_singlekey_temp_cs:n##1
+% {
+% \__semantex_preprocess_arg_singlekey:nnN { \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } \l__semantex_pre_append_arg_nine_valuekey_auxiliary_temp_tl
+% }
+% \cs_set:Npn\l__semantex_pre_append_arg_nine_valuekey_auxiliary_valuekey_temp_cs:nn##1##2
+% {
+% \__semantex_preprocess_arg_valuekey:nnnN { \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl } { ##1 } { ##2 } \l__semantex_pre_append_arg_nine_valuekey_auxiliary_temp_tl
+% }
+% \semantex_keyval_parse:NNo
+% \l__semantex_pre_append_arg_nine_valuekey_auxiliary_singlekey_temp_cs:n
+% \l__semantex_pre_append_arg_nine_valuekey_auxiliary_valuekey_temp_cs:nn
+% {
+% \l__semantex_pre_append_arg_nine_valuekey_auxiliary_temp_cs:nnnnnnnnn { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 }
+% }
+% \semantex_arg_nine_valuekey_store:nnN { #1 } { #2 } \l__semantex_pre_append_arg_nine_valuekey_auxiliary_original_temp_tl
+% \exp_args:Nnx\cs_set_protected:cn { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn }
+% {
+% \exp_not:V\l__semantex_pre_append_arg_nine_valuekey_auxiliary_temp_tl
+% \exp_not:V\l__semantex_pre_append_arg_nine_valuekey_auxiliary_original_temp_tl
+% }
+% \cs_set_protected:cpn { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } ##1##2
+% {
+% \tl_set:Nn \__semantex_arg_nine_valuekey_format_auxiliary_name_of_register_temp_tl { ##1 }
+% \use:c { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } ##2
+% }
+%}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -5001,16 +6717,29 @@
{
\tl_set:Nn\l__semantex_output_options_auxiliary_temp_tl{}
\semantex_preprocess_keys:nN { #2 } \l__semantex_output_options_auxiliary_temp_tl
- \semantex_add_raw_commands_to_output_options:no { #1 } { \l__semantex_output_options_auxiliary_temp_tl }
+ \semantex_add_raw_code_to_output_options:no { #1 } { \l__semantex_output_options_auxiliary_temp_tl }
}
-\cs_new_protected:Npn\semantex_add_raw_commands_to_output_options:nn#1#2
+\cs_new_protected:Npn\semantex_add_raw_code_to_output_options:nn#1#2
{
- \semantex_data_tl_put_right:nnn { #1 } { outputoptions } { #2 }
+ \semantex_data_tl_put_right:nnn { #1 } { output~options } { #2 }
}
-\cs_generate_variant:Nn \semantex_add_raw_commands_to_output_options:nn { no }
+\cs_generate_variant:Nn \semantex_add_raw_code_to_output_options:nn { no }
+\cs_new_protected:Npn\semantex_add_to_the_left_of_output_options:nn#1#2
+{
+ \tl_set:Nn\l__semantex_left_of_output_options_auxiliary_temp_tl{}
+ \semantex_preprocess_keys:nN { #2 } \l__semantex_left_of_output_options_auxiliary_temp_tl
+ \semantex_add_raw_code_to_the_left_of_output_options:no { #1 } { \l__semantex_left_of_output_options_auxiliary_temp_tl }
+}
+
+\cs_new_protected:Npn\semantex_add_raw_code_to_the_left_of_output_options:nn#1#2
+{
+ \semantex_data_tl_put_left:nnn { #1 } { output~options } { #2 }
+}
+
+\cs_generate_variant:Nn \semantex_add_raw_code_to_the_left_of_output_options:nn { no }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -5229,7 +6958,7 @@
\msg_new:nnnn { semantex } { created_a_SemantexBaseObject } { Never~create~objects~of~class~\token_to_str:N\SemantexBaseObject;~create~a~new~class~yourself~instead.~You~created~the~object~#1 on~line~\msg_line_number: } {}
-\msg_new:nnnn { semantex } { SemantexThis_in_input_stream } { The~command~\token_to_str:N\SemantexThis~was~found~outside~a~class~or~object~on~line~\msg_line_number:;~did~you~forget~to~use~setkeysx={...}? } {}
+\msg_new:nnnn { semantex } { SemantexThis_in_input_stream } { The~command~\token_to_str:N\SemantexThis~was~found~outside~a~class~or~object~on~line~\msg_line_number:;~did~you~forget~to~use~set~keys~x={...}? } {}
\msg_new:nnnn { semantex } { generic_error } { #2~#1 on~line~\msg_line_number: } {}
@@ -5307,11 +7036,11 @@
\semantex_define_valuekeys:nn { \semantex_class_to_register:N \SemantexBaseObject }
{
- {definekeys[1]}{execute={ \semantex_define_valuekeys:nn { ##1 } { #1 } }},
+ {define~keys[1]}{execute={ \semantex_define_valuekeys:nn { ##1 } { #1 } }},
}
\semantex_new_simple_class:Nw \SemantexBaseObject [
- definekeys[1]={
+ define~keys[1]={
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% THE MOST BASIC KEYS, INCLUDING PROGRAMMING KEYS
@@ -5321,121 +7050,205 @@
% Yes, this really does make sense
% -- check how \semantex_define_valuekeys:nn was defined
% Keys for setting up the keyval interface
- {definekeys}{ execute={ \semantex_define_singlekeys:nn { ##1 } { #1 } } },
- {definekeys[0]}{ execute={ \semantex_define_singlekeys:nn { ##1 } { #1 } } },
- {definekeys[{0}]}{ execute={ \semantex_define_singlekeys:nn { ##1 } { #1 } } },
- {definekeys[{1}]}{ execute={ \semantex_define_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[2]}{ execute={ \semantex_define_two_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[{2}]}{ execute={ \semantex_define_two_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[3]}{ execute={ \semantex_define_three_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[{3}]}{ execute={ \semantex_define_three_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[4]}{ execute={ \semantex_define_four_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[{4}]}{ execute={ \semantex_define_four_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[5]}{ execute={ \semantex_define_five_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[{5}]}{ execute={ \semantex_define_five_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[6]}{ execute={ \semantex_define_six_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[{6}]}{ execute={ \semantex_define_six_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[7]}{ execute={ \semantex_define_seven_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[{7}]}{ execute={ \semantex_define_seven_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[8]}{ execute={ \semantex_define_eight_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[{8}]}{ execute={ \semantex_define_eight_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[9]}{ execute={ \semantex_define_nine_valuekeys:nn { ##1 } { #1 } } },
- {definekeys[{9}]}{ execute={ \semantex_define_nine_valuekeys:nn { ##1 } { #1 } } },
- {removekey}{ execute={ \semantex_remove_singlekey:nn { ##1 } { #1 } } },
- {removekey[0]}{ execute={ \semantex_remove_singlekey:nn { ##1 } { #1 } } },
- {removekey[{0}]}{ execute={ \semantex_remove_singlekey:nn { ##1 } { #1 } } },
- {removekey[1]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[{1}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[2]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[{2}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[3]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[{3}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[4]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[{5}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[6]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[{6}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[7]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[{7}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[8]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[{8}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[9]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
- {removekey[{9}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {define~keys}{ execute={ \semantex_define_singlekeys:nn { ##1 } { #1 } } },
+ {define~keys[0]}{ execute={ \semantex_define_singlekeys:nn { ##1 } { #1 } } },
+ {define~keys[{0}]}{ execute={ \semantex_define_singlekeys:nn { ##1 } { #1 } } },
+ {define~keys[{1}]}{ execute={ \semantex_define_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[2]}{ execute={ \semantex_define_two_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[{2}]}{ execute={ \semantex_define_two_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[3]}{ execute={ \semantex_define_three_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[{3}]}{ execute={ \semantex_define_three_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[4]}{ execute={ \semantex_define_four_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[{4}]}{ execute={ \semantex_define_four_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[5]}{ execute={ \semantex_define_five_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[{5}]}{ execute={ \semantex_define_five_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[6]}{ execute={ \semantex_define_six_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[{6}]}{ execute={ \semantex_define_six_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[7]}{ execute={ \semantex_define_seven_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[{7}]}{ execute={ \semantex_define_seven_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[8]}{ execute={ \semantex_define_eight_valuekeys:nn { ##1 } { #1 } } },
+ {define~keys[{8}]}{ execute={ \semantex_define_eight_valuekeys:nn { ##1 } { #1 } } },
+% {define~keys[9]}{ execute={ \semantex_define_nine_valuekeys:nn { ##1 } { #1 } } },
+% {define~keys[{9}]}{ execute={ \semantex_define_nine_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys}{ execute={ \semantex_append_singlekeys:nn { ##1 } { #1 } } },
+ {append~keys[0]}{ execute={ \semantex_append_singlekeys:nn { ##1 } { #1 } } },
+ {append~keys[{0}]}{ execute={ \semantex_append_singlekeys:nn { ##1 } { #1 } } },
+ {append~keys[1]}{ execute={ \semantex_append_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[{1}]}{ execute={ \semantex_append_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[2]}{ execute={ \semantex_append_two_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[{2}]}{ execute={ \semantex_append_two_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[3]}{ execute={ \semantex_append_three_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[{3}]}{ execute={ \semantex_append_three_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[4]}{ execute={ \semantex_append_four_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[{4}]}{ execute={ \semantex_append_four_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[5]}{ execute={ \semantex_append_five_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[{5}]}{ execute={ \semantex_append_five_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[6]}{ execute={ \semantex_append_six_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[{6}]}{ execute={ \semantex_append_six_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[7]}{ execute={ \semantex_append_seven_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[{7}]}{ execute={ \semantex_append_seven_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[8]}{ execute={ \semantex_append_eight_valuekeys:nn { ##1 } { #1 } } },
+ {append~keys[{8}]}{ execute={ \semantex_append_eight_valuekeys:nn { ##1 } { #1 } } },
+% {append~keys[9]}{ execute={ \semantex_append_nine_valuekeys:nn { ##1 } { #1 } } },
+% {append~keys[{9}]}{ execute={ \semantex_append_nine_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys}{ execute={ \semantex_pre_append_singlekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[0]}{ execute={ \semantex_pre_append_singlekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[{0}]}{ execute={ \semantex_pre_append_singlekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[1]}{ execute={ \semantex_pre_append_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[{1}]}{ execute={ \semantex_pre_append_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[2]}{ execute={ \semantex_pre_append_two_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[{2}]}{ execute={ \semantex_pre_append_two_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[3]}{ execute={ \semantex_pre_append_three_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[{3}]}{ execute={ \semantex_pre_append_three_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[4]}{ execute={ \semantex_pre_append_four_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[{4}]}{ execute={ \semantex_pre_append_four_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[5]}{ execute={ \semantex_pre_append_five_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[{5}]}{ execute={ \semantex_pre_append_five_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[6]}{ execute={ \semantex_pre_append_six_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[{6}]}{ execute={ \semantex_pre_append_six_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[7]}{ execute={ \semantex_pre_append_seven_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[{7}]}{ execute={ \semantex_pre_append_seven_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[8]}{ execute={ \semantex_pre_append_eight_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~keys[{8}]}{ execute={ \semantex_pre_append_eight_valuekeys:nn { ##1 } { #1 } } },
+% {pre~append~keys[9]}{ execute={ \semantex_pre_append_nine_valuekeys:nn { ##1 } { #1 } } },
+% {pre~append~keys[{9}]}{ execute={ \semantex_pre_append_nine_valuekeys:nn { ##1 } { #1 } } },
+ {remove~key}{ execute={ \semantex_remove_singlekey:nn { ##1 } { #1 } } },
+ {remove~key[0]}{ execute={ \semantex_remove_singlekey:nn { ##1 } { #1 } } },
+ {remove~key[{0}]}{ execute={ \semantex_remove_singlekey:nn { ##1 } { #1 } } },
+ {remove~key[1]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[{1}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[2]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[{2}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[3]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[{3}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[4]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[{5}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[6]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[{6}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[7]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[{7}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[8]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+ {remove~key[{8}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+% {remove~key[9]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
+% {remove~key[{9}]}{ execute={ \semantex_remove_valuekey:nn { ##1 } { #1 } } },
% Keys for setting up the argument keyval interface:
- {defineargkeys}{ execute={ \semantex_define_arg_singlekeys:nn { ##1 } { #1 } } },
- {defineargkeys[0]}{ execute={ \semantex_define_arg_singlekeys:nn { ##1 } { #1 } } },
- {defineargkeys[{0}]}{ execute={ \semantex_define_arg_singlekeys:nn { ##1 } { #1 } } },
- {defineargkeys[1]}{ execute={ \semantex_define_arg_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[{1}]}{ execute={ \semantex_define_arg_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[2]}{ execute={ \semantex_define_arg_two_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[{2}]}{ execute={ \semantex_define_arg_two_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[3]}{ execute={ \semantex_define_arg_three_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[{3}]}{ execute={ \semantex_define_arg_three_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[4]}{ execute={ \semantex_define_arg_four_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[{4}]}{ execute={ \semantex_define_arg_four_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[5]}{ execute={ \semantex_define_arg_five_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[{5}]}{ execute={ \semantex_define_arg_five_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[6]}{ execute={ \semantex_define_arg_six_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[{6}]}{ execute={ \semantex_define_arg_six_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[7]}{ execute={ \semantex_define_arg_seven_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[{7}]}{ execute={ \semantex_define_arg_seven_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[8]}{ execute={ \semantex_define_arg_eight_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[{8}]}{ execute={ \semantex_define_arg_eight_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[9]}{ execute={ \semantex_define_arg_nine_valuekeys:nn { ##1 } { #1 } } },
- {defineargkeys[{9}]}{ execute={ \semantex_define_arg_nine_valuekeys:nn { ##1 } { #1 } } },
- {removeargkey}{ execute={ \semantex_remove_arg_singlekey:nn { ##1 } { #1 } } },
- {removeargkey[0]}{ execute={ \semantex_remove_arg_singlekey:nn { ##1 } { #1 } } },
- {removeargkey[{0}]}{ execute={ \semantex_remove_arg_singlekey:nn { ##1 } { #1 } } },
- {removeargkey[1]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[{1}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[2]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[{2}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[3]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[{3}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[4]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[{5}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[6]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[{6}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[7]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[{7}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[8]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[{8}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[9]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
- {removeargkey[{9}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {define~arg~keys}{ execute={ \semantex_define_arg_singlekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[0]}{ execute={ \semantex_define_arg_singlekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[{0}]}{ execute={ \semantex_define_arg_singlekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[1]}{ execute={ \semantex_define_arg_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[{1}]}{ execute={ \semantex_define_arg_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[2]}{ execute={ \semantex_define_arg_two_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[{2}]}{ execute={ \semantex_define_arg_two_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[3]}{ execute={ \semantex_define_arg_three_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[{3}]}{ execute={ \semantex_define_arg_three_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[4]}{ execute={ \semantex_define_arg_four_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[{4}]}{ execute={ \semantex_define_arg_four_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[5]}{ execute={ \semantex_define_arg_five_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[{5}]}{ execute={ \semantex_define_arg_five_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[6]}{ execute={ \semantex_define_arg_six_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[{6}]}{ execute={ \semantex_define_arg_six_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[7]}{ execute={ \semantex_define_arg_seven_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[{7}]}{ execute={ \semantex_define_arg_seven_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[8]}{ execute={ \semantex_define_arg_eight_valuekeys:nn { ##1 } { #1 } } },
+ {define~arg~keys[{8}]}{ execute={ \semantex_define_arg_eight_valuekeys:nn { ##1 } { #1 } } },
+% {define~arg~keys[9]}{ execute={ \semantex_define_arg_nine_valuekeys:nn { ##1 } { #1 } } },
+% {define~arg~keys[{9}]}{ execute={ \semantex_define_arg_nine_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys}{ execute={ \semantex_append_arg_singlekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[0]}{ execute={ \semantex_append_arg_singlekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[{0}]}{ execute={ \semantex_append_arg_singlekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[1]}{ execute={ \semantex_append_arg_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[{1}]}{ execute={ \semantex_append_arg_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[2]}{ execute={ \semantex_append_arg_two_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[{2}]}{ execute={ \semantex_append_arg_two_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[3]}{ execute={ \semantex_append_arg_three_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[{3}]}{ execute={ \semantex_append_arg_three_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[4]}{ execute={ \semantex_append_arg_four_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[{4}]}{ execute={ \semantex_append_arg_four_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[5]}{ execute={ \semantex_append_arg_five_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[{5}]}{ execute={ \semantex_append_arg_five_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[6]}{ execute={ \semantex_append_arg_six_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[{6}]}{ execute={ \semantex_append_arg_six_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[7]}{ execute={ \semantex_append_arg_seven_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[{7}]}{ execute={ \semantex_append_arg_seven_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[8]}{ execute={ \semantex_append_arg_eight_valuekeys:nn { ##1 } { #1 } } },
+ {append~arg~keys[{8}]}{ execute={ \semantex_append_arg_eight_valuekeys:nn { ##1 } { #1 } } },
+% {append~arg~keys[9]}{ execute={ \semantex_append_arg_nine_valuekeys:nn { ##1 } { #1 } } },
+% {append~arg~keys[{9}]}{ execute={ \semantex_append_arg_nine_valuekeys:nn { ##1 } { #1 } } },%
+ {pre~append~arg~keys}{ execute={ \semantex_pre_append_arg_singlekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[0]}{ execute={ \semantex_pre_append_arg_singlekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[{0}]}{ execute={ \semantex_pre_append_arg_singlekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[1]}{ execute={ \semantex_pre_append_arg_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[{1}]}{ execute={ \semantex_pre_append_arg_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[2]}{ execute={ \semantex_pre_append_arg_two_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[{2}]}{ execute={ \semantex_pre_append_arg_two_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[3]}{ execute={ \semantex_pre_append_arg_three_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[{3}]}{ execute={ \semantex_pre_append_arg_three_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[4]}{ execute={ \semantex_pre_append_arg_four_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[{4}]}{ execute={ \semantex_pre_append_arg_four_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[5]}{ execute={ \semantex_pre_append_arg_five_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[{5}]}{ execute={ \semantex_pre_append_arg_five_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[6]}{ execute={ \semantex_pre_append_arg_six_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[{6}]}{ execute={ \semantex_pre_append_arg_six_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[7]}{ execute={ \semantex_pre_append_arg_seven_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[{7}]}{ execute={ \semantex_pre_append_arg_seven_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[8]}{ execute={ \semantex_pre_append_arg_eight_valuekeys:nn { ##1 } { #1 } } },
+ {pre~append~arg~keys[{8}]}{ execute={ \semantex_pre_append_arg_eight_valuekeys:nn { ##1 } { #1 } } },
+% {pre~append~arg~keys[9]}{ execute={ \semantex_pre_append_arg_nine_valuekeys:nn { ##1 } { #1 } } },
+% {pre~append~arg~keys[{9}]}{ execute={ \semantex_pre_append_arg_nine_valuekeys:nn { ##1 } { #1 } } },
+ {remove~arg~key}{ execute={ \semantex_remove_arg_singlekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[0]}{ execute={ \semantex_remove_arg_singlekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[{0}]}{ execute={ \semantex_remove_arg_singlekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[1]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[{1}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[2]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[{2}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[3]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[{3}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[4]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[{5}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[6]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[{6}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[7]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[{7}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[8]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+ {remove~arg~key[{8}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+% {remove~arg~key[9]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
+% {remove~arg~key[{9}]}{ execute={ \semantex_remove_arg_valuekey:nn { ##1 } { #1 } } },
% Keys for programming:
- {dataprovide}{ execute={ \semantex_data_tl_provide:nn { ##1 } { \tl_trim_spaces:n { #1 } } } },
- {dataclear}{
+ {data~provide}{ execute={ \semantex_data_tl_provide:nn { ##1 } { \tl_trim_spaces:n { #1 } } } },
+ {data~clear}{
execute={ \semantex_data_tl_clear:nn { ##1 } { \tl_trim_spaces:n { #1 } } },
},
- {keysset}{ execute={ \semantex_keys_set:nn { ##1 } { #1 } } },
- {setkeys}{ execute={ \semantex_keys_set:nn { ##1 } { #1 } } },
- {keyssetx}{ execute={ \semantex_keys_set_x:nn { ##1 } { #1 } } },
- {setkeysx}{ execute={ \semantex_keys_set_x:nn { ##1 } { #1 } } },
- {boolprovide}{
+ {keys~set}{ execute={ \semantex_keys_set:nn { ##1 } { #1 } } },
+ {set~keys}{ execute={ \semantex_keys_set:nn { ##1 } { #1 } } },
+ {keys~set~x}{ execute={ \semantex_keys_set_x:nn { ##1 } { #1 } } },
+ {set~keys~x}{ execute={ \semantex_keys_set_x:nn { ##1 } { #1 } } },
+ {bool~provide}{
execute={
\semantex_data_bool_provide:nn { ##1 } { \tl_trim_spaces:n { #1 } }
},
},
- {boolsettrue}{
+ {bool~set~true}{
execute={
\semantex_data_bool_set_true:nn { ##1 } { \tl_trim_spaces:n { #1 } }
},
},
- {boolsetfalse}{
+ {bool~set~false}{
execute={
\semantex_data_bool_set_false:nn { ##1 } { \tl_trim_spaces:n { #1 } }
},
},
- {intprovide}{
+ {int~provide}{
execute={
\semantex_data_int_provide:nn { ##1 } { \tl_trim_spaces:n { #1 } }
},
},
- {intclear}{
+ {int~clear}{
execute={
\semantex_data_int_clear:nn { ##1 } { \tl_trim_spaces:n { #1 } }
},
},
- {intincr}{
+ {int~incr}{
execute={
\semantex_data_int_incr:nn { ##1 } { \tl_trim_spaces:n { #1 } }
},
@@ -5446,52 +7259,52 @@
},
},
},
- definekeys[2]={
- {dataset}{
+ define~keys[2]={
+ {data~set}{
execute={
\semantex_data_tl_set:nnn { ##1 } { \tl_trim_spaces:n { #1 } } { #2 }
},
},
- {datasetx}{
+ {data~set~x}{
execute={
\semantex_data_tl_set:nnx { ##1 } { \tl_trim_spaces:n { #1 } } { #2 }
},
},
- {dataputright}{
+ {data~put~right}{
execute={
\semantex_data_tl_put_right:nnn { ##1 } { \tl_trim_spaces:n { #1 } } { #2 }
},
},
- {dataputrightx}{
+ {data~put~right~x}{
execute={
\semantex_data_tl_put_right:nnx { ##1 } { \tl_trim_spaces:n { #1 } } { #2 }
},
},
- {dataputleft}{
+ {data~put~left}{
execute={
\semantex_data_tl_put_left:nnn { ##1 } { \tl_trim_spaces:n { #1 } } { #2 }
},
},
- {dataputleftx}{
+ {data~put~left~x}{
execute={
\semantex_data_tl_put_left:nnx { ##1 } { \tl_trim_spaces:n { #1 } } { #2 }
},
},
- {ifblankT}{
+ {if~blank~T}{
execute={
\tl_if_blank:xTF { #1 }
{ \semantex_keys_set:nn { ##1 } { #2 } }
{ }
},
},
- {ifblankF}{
+ {if~blank~F}{
execute={
\tl_if_blank:xTF { #1 }
{ }
{ \semantex_keys_set:nn { ##1 } { #2 } }
},
},
- {boolifT}{
+ {bool~if~T}{
execute={
\semantex_data_bool_get:nnTF { ##1 }
{ \tl_trim_spaces:n { #1 } }
@@ -5499,7 +7312,7 @@
{ }
},
},
- {boolifF}{
+ {bool~if~F}{
execute={
\semantex_data_bool_get:nnTF { ##1 }
{ \tl_trim_spaces:n { #1 } }
@@ -5507,45 +7320,45 @@
{ \semantex_keys_set:nn { ##1 } { #2 } }
},
},
- {intset}{
+ {int~set}{
execute={
\semantex_data_int_set:nnn { ##1 } { \tl_trim_spaces:n { #1 } } { #2 }
},
},
- {ERRORkeyvaluenotfound}{
+ {ERROR~key~value~not~found}{
execute={
\semantex_error_key_value_not_found:nnn { ##1 } { #1 } { #2 }
},
},
- {ERRORargkeyvaluenotfound}{
+ {ERROR~arg~key~value~not~found}{
execute={
\semantex_error_arg_key_value_not_found:nnn { ##1 } { #1 } { #2 }
},
},
},
- definekeys[3]={
- {strifeqT}{
+ define~keys[3]={
+ {str~if~eq~T}{
execute={
\str_if_eq:xxTF { #1 } { #2 }
{ \semantex_keys_set:nn { ##1 } { #3 } }
{ }
},
},
- {strifeqF}{
+ {str~if~eq~F}{
execute={
\str_if_eq:xxTF { #1 } { #2 }
{ }
{ \semantex_keys_set:nn { ##1 } { #3 } }
},
},
- {ifblankTF}{
+ {if~blank~TF}{
execute={
\tl_if_blank:xTF { #1 }
{ \semantex_keys_set:nn { ##1 } { #2 } }
{ \semantex_keys_set:nn { ##1 } { #3 } }
},
},
- {boolifTF}{
+ {bool~if~TF}{
execute={
\semantex_data_bool_get:nnTF { ##1 }
{ \tl_trim_spaces:n { #1 } }
@@ -5553,42 +7366,42 @@
{ \semantex_keys_set:nn { ##1 } { #3 } }
},
},
- {intifgreaterT}{
+ {int~if~greater~T}{
execute={
\int_compare:nNnTF { #1 } > { #2 }
{ \semantex_keys_set:nn { ##1 } { #3 } }
{ }
},
},
- {intifgreaterF}{
+ {int~if~greater~F}{
execute={
\int_compare:nNnTF { #1 } > { #2 }
{ }
{ \semantex_keys_set:nn { ##1 } { #3 } }
},
},
- {intifeqT}{
+ {int~if~eq~T}{
execute={
\int_compare:nNnTF { #1 } = { #2 }
{ \semantex_keys_set:nn { ##1 } { #3 } }
{ }
},
},
- {intifeqF}{
+ {int~if~eq~F}{
execute={
\int_compare:nNnTF { #1 } = { #2 }
{ }
{ \semantex_keys_set:nn { ##1 } { #3 } }
},
},
- {intiflessT}{
+ {int~if~less~T}{
execute={
\int_compare:nNnTF { #1 } < { #2 }
{ \semantex_keys_set:nn { ##1 } { #3 } }
{ }
},
},
- {intiflessF}{
+ {int~if~less~F}{
execute={
\int_compare:nNnTF { #1 } < { #2 }
{ }
@@ -5596,29 +7409,29 @@
},
},
},
- definekeys[4]={
- {strifeqTF}{
+ define~keys[4]={
+ {str~if~eq~TF}{
execute={
\str_if_eq:xxTF { #1 } { #2 }
{ \semantex_keys_set:nn { ##1 } { #3 } }
{ \semantex_keys_set:nn { ##1 } { #4 } }
},
},
- {intifgreaterTF}{
+ {int~if~greater~TF}{
execute={
\int_compare:nNnTF { #1 } > { #2 }
{ \semantex_keys_set:nn { ##1 } { #3 } }
{ \semantex_keys_set:nn { ##1 } { #4 } }
},
},
- {intifeqTF}{
+ {int~if~eq~TF}{
execute={
\int_compare:nNnTF { #1 } = { #2 }
{ \semantex_keys_set:nn { ##1 } { #3 } }
{ \semantex_keys_set:nn { ##1 } { #4 } }
},
},
- {intiflessTF}{
+ {int~if~less~TF}{
execute={
\int_compare:nNnTF { #1 } < { #2 }
{ \semantex_keys_set:nn { ##1 } { #3 } }
@@ -5631,1644 +7444,1661 @@
% THE COLLECTION OF SLIGHTLY LESS FUNDAMENTAL KEYS
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- dataprovide=symbol,
- boolprovide=uppergrading,
- boolsettrue=uppergrading,
- boolprovide=output,
- dataprovide=outputoptions,
- boolprovide=par,
- boolsettrue=par,
- boolprovide=flexpar,
- dataprovide=parseoptions,
- dataprovide=mathclass,
- boolprovide=leftargument,
- dataprovide=heightphantom,
- dataprovide=slantingphantom,
- execute={ \semantex_data_seq_provide:nn { \semantex_this: } { commands_sequence } },
- definekeys[1]={
+ data~provide=symbol,
+ bool~provide=upper~grading,
+ bool~set~true=upper~grading,
+ bool~provide=output,
+ data~provide=output~options,
+ bool~provide=par,
+ bool~set~true=par,
+ bool~provide=flex~par,
+ data~provide=math~class,
+ bool~provide=left~argument,
+ data~provide=height~phantom,
+ data~provide=slanting~phantom,
+ execute={ \semantex_data_seq_provide:nn { \semantex_this: } { commands~sequence } },
+ define~keys[1]={
{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 } } },
- {mathclass}{ execute={ \semantex_data_tl_set:nnn { ##1 } { mathclass } { #1 } } },
+ {math~class}{ execute={ \semantex_data_tl_set:nnn { ##1 } { math~class } { #1 } } },
{symbol}{
execute={
\semantex_data_tl_set:nnn { ##1 } { symbol } { #1 }
- \semantex_data_tl_set:nnn { ##1 } { heightphantom } { #1 }
- \semantex_data_tl_set:nnn { ##1 } { slantingphantom } { #1 }
+ \semantex_data_tl_set:nnn { ##1 } { height~phantom } { #1 }
+ \semantex_data_tl_set:nnn { ##1 } { slanting~phantom } { #1 }
}
},
- {symbolputright}{ execute={ \semantex_data_tl_put_right:nnn { ##1 } { symbol } { #1 } } },
- {symbolputleft}{ execute={ \semantex_data_tl_put_left:nnn { ##1 } { symbol } { #1 } } },
- {heightphantom}{ execute={ \semantex_data_tl_set:nnn { ##1 } { heightphantom } { #1 } } },
- {slantingphantom}{ execute={ \semantex_data_tl_set:nnn { ##1 } { slantingphantom } { #1 } } },
- {parseoptions}{ execute={ \semantex_add_to_parse_options:nn { ##1 } { #1 } } },
- {command}{ execute={ \semantex_data_seq_put_right:nnn { ##1 } { commands_sequence } { #1 } } },
+ {symbol~put~right}{ execute={ \semantex_data_tl_put_right:nnn { ##1 } { symbol } { #1 } } },
+ {symbol~put~left}{ execute={ \semantex_data_tl_put_left:nnn { ##1 } { symbol } { #1 } } },
+ {height~phantom}{ execute={ \semantex_data_tl_set:nnn { ##1 } { height~phantom } { #1 } } },
+ {slanting~phantom}{ execute={ \semantex_data_tl_set:nnn { ##1 } { slanting~phantom } { #1 } } },
+ {parse~options}{ append~keys={ {parse~code}{#1} } },
+ {pre~parse~options}{ pre~append~keys={ {parse~code}{#1} } },
+ {command}{ execute={ \semantex_data_seq_put_right:nnn { ##1 } { commands~sequence } { #1 } } },
{output}{ execute={ \semantex_set_output:nn { ##1 } { #1 } } },
- {outputoptions}{ execute={ \semantex_add_to_output_options:nn { ##1 } { #1 } } },
- {dooutput}{
- strifeqTF={#1}{true}
+ {output~options}{ execute={ \semantex_add_to_output_options:nn { ##1 } { #1 } } },
+ {pre~output~options}{ execute={ \semantex_add_to_the_left_of_output_options:nn { ##1 } { #1 } } },
+ {do~output}{
+ str~if~eq~TF={#1}{true}
{
- boolsettrue={output},
+ bool~set~true={output},
}
{
- strifeqTF={#1}{false}
+ str~if~eq~TF={#1}{false}
{
- boolsetfalse={output},
+ bool~set~false={output},
}
{
- ERRORkeyvaluenotfound={dooutput}{#1},
+ ERROR~key~value~not~found={do~output}{#1},
}
},
},
- {gradingposition}{
- strifeqTF={#1}{upper}
+ {grading~position}{
+ str~if~eq~TF={#1}{upper}
{
- boolsettrue={uppergrading},
+ bool~set~true={upper~grading},
}
{
- strifeqTF={#1}{lower}
+ str~if~eq~TF={#1}{lower}
{
- boolsetfalse={uppergrading},
+ bool~set~false={upper~grading},
}
{
- ERRORkeyvaluenotfound={gradingposition}{#1},
+ ERROR~key~value~not~found={grading~position}{#1},
},
},
},
- {gradingpos}{
- strifeqTF={#1}{upper}
+ {grading~pos}{
+ str~if~eq~TF={#1}{upper}
{
- boolsettrue={uppergrading},
+ bool~set~true={upper~grading},
}
{
- strifeqTF={#1}{lower}
+ str~if~eq~TF={#1}{lower}
{
- boolsetfalse={uppergrading},
+ bool~set~false={upper~grading},
}
{
- ERRORkeyvaluenotfound={gradingpos}{#1},
+ ERROR~key~value~not~found={grading~pos}{#1},
},
},
},
- {default}{sepi={#1}},
- {degreedefault}{sepd={#1}},
+ {default}{sep~i={#1}},
+ {degree~default}{sep~d={#1}},
{arg}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } },
- {*withothersep}{
- d*withothersep={#1},
+ {*~with~other~sep}{
+ d~*~with~other~sep={#1},
},
- {**withothersep}{
- d**withothersep={#1},
+ {**~with~other~sep}{
+ d~**~with~other~sep={#1},
},
},
output=\SemantexBaseObject,
- definekeys={
+ define~keys={
{return}{ execute={ \semantex_return:n { ##1 } } },
- {innerreturn}{ execute={ \semantex_inner_return:n { ##1 } } },
- {rightreturn}{ execute={ \semantex_right_return:n { ##1 } } },
- {leftreturn}{ execute={ \semantex_left_return:n { ##1 } } },
- {rightindexreturn}{ execute={ \semantex_right_index_return:n { ##1 } } },
- {leftindexreturn}{ execute={ \semantex_left_index_return:n { ##1 } } },
- {indexreturn}{ leftindexreturn, rightindexreturn },
- {rightargreturn}{ execute={ \semantex_right_arg_return:n { ##1 } } },
- {leftargreturn}{ execute={ \semantex_left_arg_return:n { ##1 } } },
- {argreturn}{ execute={ \semantex_arg_return:n { ##1 } } },
- {parse}{ execute={ \semantex_parse:n { ##1 } } },
- {clearcommand}{ execute={ \semantex_data_seq_clear:nn { ##1 } { commands_sequence } } },
- {dots}{sepidots},
+ {inner~return}{ execute={ \semantex_inner_return:n { ##1 } } },
+ {right~return}{ execute={ \semantex_right_return:n { ##1 } } },
+ {left~return}{ execute={ \semantex_left_return:n { ##1 } } },
+ {right~index~return}{ execute={ \semantex_right_index_return:n { ##1 } } },
+ {left~index~return}{ execute={ \semantex_left_index_return:n { ##1 } } },
+ {index~return}{ left~index~return, right~index~return },
+ {right~arg~return}{ execute={ \semantex_right_arg_return:n { ##1 } } },
+ {left~arg~return}{ execute={ \semantex_left_arg_return:n { ##1 } } },
+ {arg~return}{ execute={ \semantex_arg_return:n { ##1 } } },
+ {parse}{ parse~code, execute={ \semantex_clear_singlekey:nn { ##1 } { parse~code } } },
+ {parse~code}{ },
+ {clear~command}{ execute={ \semantex_data_seq_clear:nn { ##1 } { commands~sequence } } },
+ {dots}{sep~i~dots},
{...}{dots},
- {slot}{sepislot},
+ {slot}{sep~i~slot},
{-}{slot},
- {*}{sepd*},
- {**}{sepd**},
+ {*}{sep~d~*},
+ {**}{sep~d~**},
},
% The "spar" routine:
- definekeys={
+ define~keys={
{spar}{spar=},
},
- definekeys[1]={
+ define~keys[1]={
{spar}{ execute={ \semantex_spar:nn { ##1 } { #1 } } },
- {sparsize}{ execute={ \semantex_data_tl_set:nnn { ##1 } { sparsize } { #1 } } },
- {leftspar}{ execute={ \semantex_data_tl_set:nnn { ##1 } { leftspar } { #1 } } },
- {rightspar}{ execute={ \semantex_data_tl_set:nnn { ##1 } { rightspar } { #1 } } },
+ {spar~size}{ execute={ \semantex_data_tl_set:nnn { ##1 } { spar~size } { #1 } } },
+ {left~spar}{ execute={ \semantex_data_tl_set:nnn { ##1 } { left~spar } { #1 } } },
+ {right~spar}{ execute={ \semantex_data_tl_set:nnn { ##1 } { right~spar } { #1 } } },
},
- definekeys[2]={
- {otherspar}{ execute={ \semantex_other_spar:nnn { ##1 } { #1 } { #2 } } },
+ define~keys[2]={
+ {other~spar}{ execute={ \semantex_other_spar:nnn { ##1 } { #1 } { #2 } } },
},
- definekeys[3]={
- {Otherspar}{ execute={ \semantex_other_spar_with_size:nnnn { ##1 } { #1 } { #2 } { #3 } } },
+ define~keys[3]={
+ {Other~spar}{ execute={ \semantex_other_spar_with_size:nnnn { ##1 } { #1 } { #2 } { #3 } } },
},
- leftspar=(,
- rightspar=),
- sparsize=normal,
+ left~spar=(,
+ right~spar=),
+ spar~size=normal,
% The argument:
- dataprovide=arg,
- boolprovide=nextargwithsep,
- intprovide=numberofarguments,
- dataprovide=prearg,
- dataprovide=postarg,
- definekeys={
- {argdots}{setargkeys={...}},
- {arg...}{setargkeys={dots}},
- {commaargdots}{setargkeys={commadots}},
- {commaarg...}{setargkeys={comma...}},
- {argslot}{setargkeys={slot}},
- {arg-}{setargkeys={-}},
- {commaargslot}{setargkeys={commaslot}},
- {commaarg-}{setargkeys={comma-}},
- {cleararg}{ execute={
+ data~provide=arg,
+ bool~provide=next~arg~with~sep,
+ int~provide=number~of~arguments,
+ data~provide=pre~arg,
+ data~provide=post~arg,
+ define~keys={
+ {arg~dots}{set~arg~keys={...}},
+ {arg~...}{set~arg~keys={dots}},
+ {comma~arg~dots}{set~arg~keys={comma~dots}},
+ {comma~arg~...}{set~arg~keys={comma~...}},
+ {arg~slot}{set~arg~keys={slot}},
+ {arg-}{set~arg~keys={-}},
+ {comma~arg~slot}{set~arg~keys={comma~slot}},
+ {comma~arg~-}{set~arg~keys={comma~-}},
+ {clear~arg}{ execute={
\semantex_data_tl_clear:nn { ##1 } { arg }
- \semantex_data_int_clear:nn { ##1 } { numberofarguments }
- \semantex_data_bool_set_false:nn { ##1 } { nextargwithsep }
+ \semantex_data_int_clear:nn { ##1 } { number~of~arguments }
+ \semantex_data_bool_set_false:nn { ##1 } { next~arg~with~sep }
}
},
- {clearprearg}{ execute={ \semantex_data_tl_clear:nn { ##1 } { prearg } } },
- {clearpostarg}{ execute={ \semantex_data_tl_clear:nn { ##1 } { postarg } } },
+ {clear~pre~arg}{ execute={ \semantex_data_tl_clear:nn { ##1 } { pre~arg } } },
+ {clear~post~arg}{ execute={ \semantex_data_tl_clear:nn { ##1 } { post~arg } } },
},
- definekeys[1]={
- {setargkeys}{ execute={ \semantex_arg_keys_set:nn { ##1 } { #1 } } },
- {argkeysset}{ execute={ \semantex_arg_keys_set:nn { ##1 } { #1 } } },
- {setargkeysx}{ execute={ \semantex_arg_keys_set_x:nn { ##1 } { #1 } } },
- {argkeyssetx}{ execute={ \semantex_arg_keys_set_x:nn { ##1 } { #1 } } },
- {setargsinglekeys}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } },
- {argsinglekeysset}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } },
- {setargsinglekeysx}{ execute={ \semantex_arg_singlekeys_set_x:nn { ##1 } { #1 } } },
- {argsinglekeyssetx}{ execute={ \semantex_arg_singlekeys_set_x:nn { ##1 } { #1 } } },
- {setoneargsinglekey}{ execute={ \semantex_arg_singlekey:nn { ##1 } { #1 } } },
- {oneargsinglekeyset}{ execute={ \semantex_arg_singlekey:nn { ##1 } { #1 } } },
- {setoneargsinglekeyx}{ execute={ \semantex_arg_singlekey_x:nn { ##1 } { #1 } } },
- {oneargsinglekeysetx}{ execute={ \semantex_arg_singlekey_x:nn { ##1 } { #1 } } },
- {setargwithoutkeyval}{ execute={ \semantex_arg_without_keyval:nn { ##1 } { #1 } } },
- {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 } } },
- {prearg}{ execute={ \semantex_data_tl_put_right:nnn { ##1 } { prearg } { #1 } } },
- {postarg}{ execute={ \semantex_data_tl_put_left:nnn { ##1 } { postarg } { #1 } } },
- {setargsep}{ execute={ \semantex_data_tl_set:nnn { ##1 } { argsep } { #1 } } },
- {setargslot}{ execute={ \semantex_data_tl_set:nnn { ##1 } { argslot } { #1 } } },
- {setargdots}{ execute={ \semantex_data_tl_set:nnn { ##1 } { argdots } { #1 } } },
- {argkeyval}{
- strifeqTF={#1}{true}
- {
- definekeys[1]={
+ define~keys[1]={
+ {set~arg~keys}{ execute={ \semantex_arg_keys_set:nn { ##1 } { #1 } } },
+ {arg~keys~set}{ execute={ \semantex_arg_keys_set:nn { ##1 } { #1 } } },
+ {set~arg~keys~x}{ execute={ \semantex_arg_keys_set_x:nn { ##1 } { #1 } } },
+ {arg~keys~set~x}{ execute={ \semantex_arg_keys_set_x:nn { ##1 } { #1 } } },
+ {set~arg~single~keys}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } },
+ {arg~single~keys~set}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } },
+ {set~arg~single~keys~x}{ execute={ \semantex_arg_singlekeys_set_x:nn { ##1 } { #1 } } },
+ {arg~single~keys~set~x}{ execute={ \semantex_arg_singlekeys_set_x:nn { ##1 } { #1 } } },
+ {set~one~arg~single~key}{ execute={ \semantex_arg_singlekey:nn { ##1 } { #1 } } },
+ {one~arg~single~key~set}{ execute={ \semantex_arg_singlekey:nn { ##1 } { #1 } } },
+ {set~one~arg~single~key~x}{ execute={ \semantex_arg_singlekey_x:nn { ##1 } { #1 } } },
+ {one~arg~single~key~set~x}{ execute={ \semantex_arg_singlekey_x:nn { ##1 } { #1 } } },
+ {set~arg~without~keyval}{ execute={ \semantex_arg_without_keyval:nn { ##1 } { #1 } } },
+ {arg~without~keyval~set}{ execute={ \semantex_arg_without_keyval:nn { ##1 } { #1 } } },
+ {set~arg~without~keyval~x}{ execute={ \semantex_arg_without_keyval:nx { ##1 } { #1 } } },
+ {arg~without~keyval~set~x}{ execute={ \semantex_arg_without_keyval:nx { ##1 } { #1 } } },
+ {pre~arg}{ execute={ \semantex_data_tl_put_right:nnn { ##1 } { pre~arg } { #1 } } },
+ {post~arg}{ execute={ \semantex_data_tl_put_left:nnn { ##1 } { post~arg } { #1 } } },
+ {set~arg~sep}{ execute={ \semantex_data_tl_set:nnn { ##1 } { arg~sep } { #1 } } },
+ {set~arg~slot}{ execute={ \semantex_data_tl_set:nnn { ##1 } { arg~slot } { #1 } } },
+ {set~arg~dots}{ execute={ \semantex_data_tl_set:nnn { ##1 } { arg~dots } { #1 } } },
+ {arg~keyval}{
+ str~if~eq~TF={#1}{true}
+ {
+ define~keys[1]={
{arg}{execute={ \semantex_arg_keys_set:nn { ########1 } { ####1 } }},
},
}
{
- strifeqTF={#1}{false}
+ str~if~eq~TF={#1}{false}
{
- definekeys[1]={
+ define~keys[1]={
{arg}{ execute={ \semantex_arg_without_keyval:nn { ########1 } { ####1 } } },
},
}
{
- strifeqTF={#1}{singlekeys}
+ str~if~eq~TF={#1}{single~keys}
{
- definekeys[1]={
+ define~keys[1]={
{arg}{ execute={ \semantex_arg_singlekeys_set:nn { ########1 } { ####1 } } },
},
}
{
- strifeqTF={#1}{onesinglekey}
+ str~if~eq~TF={#1}{one~single~key}
{
- definekeys[1]={
+ define~keys[1]={
{arg}{ execute={ \semantex_arg_singlekey:nn { ########1 } { ####1 } } },
},
}
{
- ERRORkeyvaluenotfound={argkeyval}{#1},
+ ERROR~key~value~not~found={arg~keyval}{#1},
},
},
},
},
},
- {argposition}{
- strifeqTF={#1}{left}
+ {arg~position}{
+ str~if~eq~TF={#1}{left}
+ {
+ bool~set~true=left~argument,
+ }
+ {
+ str~if~eq~TF={#1}{right}
+ {
+ bool~set~false=left~argument,
+ }
+ {
+ ERROR~key~value~not~found={arg~position}{#1},
+ },
+ },
+ },
+ {arg~pos}{
+ str~if~eq~TF={#1}{left}
{
- boolsettrue={leftargument},
+ bool~set~true=left~argument,
}
{
- strifeqTF={#1}{right}
+ str~if~eq~TF={#1}{right}
{
- boolsetfalse={leftargument},
+ bool~set~false=left~argument,
}
{
- ERRORkeyvaluenotfound={argposition}{#1},
+ ERROR~key~value~not~found={arg~pos}{#1},
},
},
},
- {nextargwithsep}{
- strifeqTF={#1}{true}
+ {next~arg~with~sep}{
+ str~if~eq~TF={#1}{true}
{
- boolsettrue={nextargwithsep},
+ bool~set~true=next~arg~with~sep,
}
{
- strifeqTF={#1}{false}
+ str~if~eq~TF={#1}{false}
{
- boolsetfalse={nextargwithsep},
+ bool~set~false=next~arg~with~sep,
}
{
- ERRORkeyvaluenotfound={nextargwithsep}{#1},
+ ERROR~key~value~not~found={next~arg~with~sep}{#1},
},
},
},
- {separg}{setargkeys={sep={#1}}},
- {commaarg}{setargkeys={comma={#1}}},
- {argdotswithothersep}{setargkeys={dotswithothersep={#1}}},
- {arg...withothersep}{setargkeys={dotswithothersep={#1}}},
- {argslotwithothersep}{setargkeys={slotwithothersep={#1}}},
- {arg-withothersep}{setargkeys={slotwithothersep={#1}}},
+ {sep~arg}{set~arg~keys={sep={#1}}},
+ {comma~arg}{set~arg~keys={comma={#1}}},
+ {arg~dots~with~other~sep}{set~arg~keys={dots~with~other~sep={#1}}},
+ {arg~...~with~other~sep}{set~arg~keys={dots~with~other~sep={#1}}},
+ {arg~slot~with~other~sep}{set~arg~keys={slot~with~other~sep={#1}}},
+ {arg~-~with~other~sep}{set~arg~keys={slot~with~other~sep={#1}}},
},
- definekeys[2]={
- {argwithothersep}{setargkeys={othersep={#1}{#2}}},
+ define~keys[2]={
+ {arg~with~other~sep}{set~arg~keys={other~sep={#1}{#2}}},
},
- setargsep={,},
- setargslot={ {-} },
- setargdots={ \dots },
+ set~arg~sep={,},
+ set~arg~slot={ {-} },
+ set~arg~dots={ \dots },
% Parentheses:
- definekeys={
- {par}{usepar=true},
- {neverpar}{usepar=never},
- {nopar}{usepar=false},
+ define~keys={
+ {par}{use~par=true},
+ {never~par}{use~par=never},
+ {no~par}{use~par=false},
},
- definekeys[1]={
+ define~keys[1]={
{par}{
execute={
- \semantex_data_tl_set:nnn { ##1 } { parsize } { #1 }
+ \semantex_data_tl_set:nnn { ##1 } { par~size } { #1 }
\semantex_data_bool_set_true:nn { ##1 } { par }
},
},
- {parsize}{
+ {par~size}{
execute={
- \semantex_data_tl_set:nnn { ##1 } { parsize } { #1 }
+ \semantex_data_tl_set:nnn { ##1 } { par~size } { #1 }
},
},
- {leftpar}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { leftpar } { #1 } },
+ {left~par}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { left~par } { #1 } },
},
- {rightpar}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { rightpar } { #1 } },
+ {right~par}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { right~par } { #1 } },
},
- {usepar}{
- strifeqTF={#1}{true}
+ {use~par}{
+ str~if~eq~TF={#1}{true}
{
- boolsettrue={par},
- boolsetfalse={flexpar},
+ bool~set~true=par,
+ bool~set~false=flex~par,
}
{
- strifeqTF={#1}{false}
+ str~if~eq~TF={#1}{false}
{
- boolsetfalse={par},
- boolsettrue={flexpar},
+ bool~set~false=par,
+ bool~set~true=flex~par,
}
{
- strifeqTF={#1}{never}
+ str~if~eq~TF={#1}{never}
{
- boolsetfalse={par},
- boolsetfalse={flexpar},
+ bool~set~false=par,
+ bool~set~false=flex~par,
}
{
- ERRORkeyvaluenotfound={usepar}{#1},
+ ERROR~key~value~not~found={use~par}{#1},
},
},
},
},
},
- leftpar=(,
- rightpar=),
+ left~par=(,
+ right~par=),
par=normal,
% Accents, primes, bullets, etc.:
- definekeys={
- {smash}{command=\smash},
- {prime}{upper={\prime},nextupperwithsep=false},
+ define~keys={
+ {smash}{return,command=\smash},
+ {prime}{upper={\prime},next~upper~with~sep=false},
{'}{prime},
{''}{prime,prime},
{'''}{prime,prime,prime},
},
% Upper indices:
- dataprovide=upper,
- boolprovide=nextupperwithsep,
- intprovide=numberofupperindices,
- dataprovide=preupper,
- dataprovide=postupper,
- definekeys={
- {upperslot}{ setkeysx={ upper=\semantex_data_tl_get_exp_not:nn { ##1 } { upperslot } } },
- {upper-}{upperslot},
- {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},
- {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}{
+ data~provide=upper,
+ bool~provide=next~upper~with~sep,
+ int~provide=number~of~upper~indices,
+ data~provide=pre~upper,
+ data~provide=post~upper,
+ define~keys={
+ {upper~slot}{ set~keys~x={ upper=\semantex_data_tl_get_exp_not:nn { ##1 } { upper~slot } } },
+ {upper~-}{upper~slot},
+ {sep~upper~slot}{ set~keys~x={ sep~upper=\semantex_data_tl_get_exp_not:nn { ##1 } { upper~slot } } },
+ {sep~upper~-}{sep~upper~slot},
+ {comma~upper~slot}{ set~keys~x={ comma~upper=\semantex_data_tl_get_exp_not:nn { ##1 } { upper~slot } } },
+ {comma~upper~-}{comma~upper~slot},
+ {upper~dots}{ set~keys~x={ upper=\semantex_data_tl_get_exp_not:nn { ##1 } { upper~dots } } },
+ {upper~...}{upper~dots},
+ {sep~upper~dots}{ set~keys~x={ sep~upper=\semantex_data_tl_get_exp_not:nn { ##1 } { upper~dots } } },
+ {sep~upper~...}{sep~upper~dots},
+ {comma~upper~dots}{ set~keys~x={ comma~upper=\semantex_data_tl_get_exp_not:nn { ##1 } { upper~dots } } },
+ {comma~upper~...}{comma~upper~dots},
+ {clear~upper}{
execute={
\semantex_data_tl_clear:nn { ##1 } { upper }
- \semantex_data_bool_set_false:nn { ##1 } { nextupperwithsep }
- \semantex_data_int_clear:nn { ##1 } { numberofupperindices }
+ \semantex_data_bool_set_false:nn { ##1 } { next~upper~with~sep }
+ \semantex_data_int_clear:nn { ##1 } { number~of~upper~indices }
},
},
- {clearpreupper}{
- execute={ \semantex_data_tl_clear:nn { ##1 } { preupper } },
+ {clear~pre~upper}{
+ execute={ \semantex_data_tl_clear:nn { ##1 } { pre~upper } },
},
- {clearpostupper}{
- execute={ \semantex_data_tl_clear:nn { ##1 } { postupper } },
+ {clear~post~upper}{
+ execute={ \semantex_data_tl_clear:nn { ##1 } { post~upper } },
},
- {upper*}{upper=\SemantexBullet},
- {upper**}{upper=\SemantexDoubleBullet},
- {sepupper*}{sepupper=\SemantexBullet},
- {sepupper**}{sepupper=\SemantexDoubleBullet},
- {commaupper*}{commaupper=\SemantexBullet},
- {commaupper**}{commaupper=\SemantexDoubleBullet},
+ {upper~*}{upper=\SemantexBullet},
+ {upper~**}{upper=\SemantexDoubleBullet},
+ {sep~upper~*}{sep~upper=\SemantexBullet},
+ {sep~upper~**}{sep~upper=\SemantexDoubleBullet},
+ {comma~upper~*}{comma~upper=\SemantexBullet},
+ {comma~upper~**}{comma~upper=\SemantexDoubleBullet},
},
- definekeys[1]={
+ define~keys[1]={
{upper}{
execute={
\tl_if_blank:nF { #1 }
{
\semantex_data_tl_put_right:nnn { ##1 } { upper } { #1 }
- \semantex_data_bool_set_true:nn { ##1 } { nextupperwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberofupperindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~upper~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~upper~indices }
}
},
},
- {sepupper}{
+ {sep~upper}{
execute={
\tl_if_blank:nF { #1 }
{
- \semantex_data_bool_get:nnTF { ##1 } { nextupperwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~upper~with~sep }
{
\semantex_data_tl_put_right:nnx { ##1 } { upper }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { uppersep } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { upper~sep } }
\semantex_data_tl_put_right:nnn { ##1 } { upper } { #1 }
}
{
\semantex_data_tl_put_right:nnn { ##1 } { upper } { #1 }
}
- \semantex_data_bool_set_true:nn { ##1 } { nextupperwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberofupperindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~upper~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~upper~indices }
}
},
},
- {commaupper}{
+ {comma~upper}{
execute={
\tl_if_blank:nF{#1}
{
- \semantex_data_bool_get:nnTF { ##1 } { nextupperwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~upper~with~sep }
{
\semantex_data_tl_put_right:nnn { ##1 } { upper } { , #1 }
}
{
\semantex_data_tl_put_right:nnn { ##1 } { upper } { #1 }
}
- \semantex_data_bool_set_true:nn { ##1 } { nextupperwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberofupperindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~upper~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~upper~indices }
}
}
},
- {preupper}{
+ {pre~upper}{
execute={
\tl_if_blank:nF{#1}{
- \semantex_data_tl_put_right:nnn { ##1 } { preupper } { #1 }
+ \semantex_data_tl_put_right:nnn { ##1 } { pre~upper } { #1 }
}
},
},
- {postupper}{
+ {post~upper}{
execute={
\tl_if_blank:nF{#1}{
- \semantex_data_tl_put_left:nnn { ##1 } { postupper } { #1 }
+ \semantex_data_tl_put_left:nnn { ##1 } { post~upper } { #1 }
}
},
},
- {upperputleft}{
+ {upper~put~left}{
execute={
\tl_if_blank:nF { #1 }
{
\semantex_data_tl_put_left:nnn { ##1 } { upper } { #1 }
- \semantex_data_bool_set_true:nn { ##1 } { nextupperwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberofupperindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~upper~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~upper~indices }
}
},
},
- {setupperslot}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { upperslot } { #1 } },
+ {set~upper~slot}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { upper~slot } { #1 } },
},
- {upperslotwithothersep}{
+ {upper~slot~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { upperwithothersep }
+ \semantex_valuekey:nnx { ##1 } { upper~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { upperslot } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { upper~slot } }
}
},
},
- {upper-withothersep}{
+ {upper~-~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { upperwithothersep }
+ \semantex_valuekey:nnx { ##1 } { upper~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { upperslot } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { upper~slot } }
}
},
},
- {setupperdots}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { upperdots } { #1 } },
+ {set~upper~dots}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { upper~dots } { #1 } },
},
- {upperdotswithothersep}{
+ {upper~dots~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { upperwithothersep }
+ \semantex_valuekey:nnx { ##1 } { upper~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { upperdots } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { upper~dots } }
}
},
},
- {upper...withothersep}{
+ {upper~...~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { upperwithothersep }
+ \semantex_valuekey:nnx { ##1 } { upper~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { upperdots } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { upper~dots } }
}
},
},
- {upper*withothersep}{upperwithothersep={#1}{\SemantexBullet}},
- {upper**withothersep}{upperwithothersep={#1}{\SemantexDoubleBullet}},
- {setuppersep}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { uppersep } { #1 } },
+ {upper~*~with~other~sep}{upper~with~other~sep={#1}{\SemantexBullet}},
+ {upper~**~with~other~sep}{upper~with~other~sep={#1}{\SemantexDoubleBullet}},
+ {set~upper~sep}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { upper~sep } { #1 } },
},
- {nextupperwithsep}{
- strifeqTF={#1}{false}
+ {next~upper~with~sep}{
+ str~if~eq~TF={#1}{false}
{
- boolsetfalse={nextupperwithsep},
+ bool~set~false={next~upper~with~sep},
}
{
- strifeqTF={#1}{true}
+ str~if~eq~TF={#1}{true}
{
- boolsettrue={nextupperwithsep},
+ bool~set~true={next~upper~with~sep},
}
{
- ERRORkeyvaluenotfound={nextupperwithsep}{#1},
+ ERROR~key~value~not~found={next~upper~with~sep}{#1},
},
},
},
},
- definekeys[2]={
- {upperwithothersep}{
+ define~keys[2]={
+ {upper~with~other~sep}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { nextupperwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~upper~with~sep }
{ \semantex_data_tl_put_right:nnn { ##1 } { upper } { #1 #2 } }
{ \semantex_data_tl_put_right:nnn { ##1 } { upper } { #2 } }
- \semantex_data_bool_set_true:nn { ##1 } { nextupperwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberofupperindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~upper~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~upper~indices }
},
},
},
- setuppersep={ , },
- setupperdots={ \dots },
- setupperslot={ {-} },
+ set~upper~sep={ , },
+ set~upper~dots={ \dots },
+ set~upper~slot={ {-} },
% Lower indices:
- dataprovide=lower,
- boolprovide=nextlowerwithsep,
- intprovide=numberoflowerindices,
- dataprovide=prelower,
- dataprovide=postlower,
- definekeys={
- {lowerslot}{ setkeysx={ lower=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerslot } } },
- {lower-}{lowerslot},
- {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},
- {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}{
+ data~provide=lower,
+ bool~provide=next~lower~with~sep,
+ int~provide=number~of~lower~indices,
+ data~provide=pre~lower,
+ data~provide=post~lower,
+ define~keys={
+ {lower~slot}{ set~keys~x={ lower=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~slot } } },
+ {lower~-}{lower~slot},
+ {sep~lower~slot}{ set~keys~x={ sep~lower=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~slot } } },
+ {sep~lower~-}{sep~lower~slot},
+ {comma~lower~slot}{ set~keys~x={ comma~lower=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~slot } } },
+ {comma~lower~-}{comma~lower~slot},
+ {lower~dots}{ set~keys~x={ lower=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~dots } } },
+ {lower~...}{lower~dots},
+ {sep~lower~dots}{ set~keys~x={ sep~lower=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~dots } } },
+ {sep~lower~...}{sep~lower~dots},
+ {comma~lower~dots}{ set~keys~x={ comma~lower=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~dots } } },
+ {comma~lower~...}{comma~lower~dots},
+ {clear~lower}{
execute={
\semantex_data_tl_clear:nn { ##1 } { lower }
- \semantex_data_bool_set_false:nn { ##1 } { nextlowerwithsep }
- \semantex_data_int_clear:nn { ##1 } { numberoflowerindices }
+ \semantex_data_bool_set_false:nn { ##1 } { next~lower~with~sep }
+ \semantex_data_int_clear:nn { ##1 } { number~of~lower~indices }
},
},
- {clearprelower}{
- execute={ \semantex_data_tl_clear:nn { ##1 } { prelower } },
+ {clear~pre~lower}{
+ execute={ \semantex_data_tl_clear:nn { ##1 } { pre~lower } },
},
- {clearpostlower}{
- execute={ \semantex_data_tl_clear:nn { ##1 } { postlower } },
+ {clear~post~lower}{
+ execute={ \semantex_data_tl_clear:nn { ##1 } { post~lower } },
},
- {lower*}{lower=\SemantexBullet},
- {lower**}{lower=\SemantexDoubleBullet},
- {seplower*}{seplower=\SemantexBullet},
- {seplower**}{seplower=\SemantexDoubleBullet},
- {commalower*}{commalower=\SemantexBullet},
- {commalower**}{commalower=\SemantexDoubleBullet},
+ {lower~**}{lower=\SemantexBullet},
+ {lower~***}{lower=\SemantexDoubleBullet},
+ {sep~lower~**}{sep~lower=\SemantexBullet},
+ {sep~lower~***}{sep~lower=\SemantexDoubleBullet},
+ {comma~lower~**}{comma~lower=\SemantexBullet},
+ {comma~lower~***}{comma~lower=\SemantexDoubleBullet},
},
- definekeys[1]={
+ define~keys[1]={
{lower}{
execute={
\tl_if_blank:nF{#1}{
\semantex_data_tl_put_right:nnn { ##1 } { lower } { #1 }
- \semantex_data_bool_set_true:nn { ##1 } { nextlowerwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberoflowerindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~lower~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~lower~indices }
}
},
},
- {seplower}{
+ {sep~lower}{
execute={
\tl_if_blank:nF { #1 }
{
- \semantex_data_bool_get:nnTF { ##1 } { nextlowerwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~lower~with~sep }
{
\semantex_data_tl_put_right:nnx { ##1 } { lower }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { lowersep } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~sep } }
\semantex_data_tl_put_right:nnn { ##1 } { lower } { #1 }
}
{
\semantex_data_tl_put_right:nnn { ##1 } { lower } { #1 }
}
- \semantex_data_bool_set_true:nn { ##1 } { nextlowerwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberoflowerindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~lower~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~lower~indices }
}
},
},
- {commalower}{
+ {comma~lower}{
execute={
\tl_if_blank:nF{#1}
{
- \semantex_data_bool_get:nnTF { ##1 } { nextlowerwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~lower~with~sep }
{
\semantex_data_tl_put_right:nnn { ##1 } { lower } { , #1 }
}
{
\semantex_data_tl_put_right:nnn { ##1 } { lower } { #1 }
}
- \semantex_data_bool_set_true:nn { ##1 } { nextlowerwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberoflowerindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~lower~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~lower~indices }
}
}
},
- {prelower}{
+ {pre~lower}{
execute={
\tl_if_blank:nF{#1}{
- \semantex_data_tl_put_right:nnn { ##1 } { prelower } { #1 }
+ \semantex_data_tl_put_right:nnn { ##1 } { pre~lower } { #1 }
}
},
},
- {postlower}{
+ {post~lower}{
execute={
\tl_if_blank:nF{#1}{
- \semantex_data_tl_put_left:nnn { ##1 } { postlower } { #1 }
+ \semantex_data_tl_put_left:nnn { ##1 } { post~lower } { #1 }
}
},
},
- {lowerputleft}{
+ {lower~put~left}{
execute={
\tl_if_blank:nF { #1 }
{
\semantex_data_tl_put_left:nnn { ##1 } { lower } { #1 }
- \semantex_data_bool_set_true:nn { ##1 } { nextlowerwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberoflowerindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~lower~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~lower~indices }
}
},
},
- {setlowerslot}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { lowerslot } { #1 } },
+ {set~lower~slot}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { lower~slot } { #1 } },
},
- {lowerslotwithothersep}{
+ {lower~slot~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { lowerwithothersep }
+ \semantex_valuekey:nnx { ##1 } { lower~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { lowerslot } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~slot } }
}
},
},
- {lower-withothersep}{
+ {lower~-~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { lowerwithothersep }
+ \semantex_valuekey:nnx { ##1 } { lower~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { lowerslot } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~slot } }
}
},
},
- {setlowerdots}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { lowerdots } { #1 } },
+ {set~lower~dots}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { lower~dots } { #1 } },
},
- {lowerdotswithothersep}{
+ {lower~dots~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { lowerwithothersep }
+ \semantex_valuekey:nnx { ##1 } { lower~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { lowerdots } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~dots } }
}
},
},
- {lower...withothersep}{
+ {lower~...~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { lowerwithothersep }
+ \semantex_valuekey:nnx { ##1 } { lower~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { lowerdots } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~dots } }
}
},
},
- {lower*withothersep}{lowerwithothersep={#1}{\SemantexBullet}},
- {lower**withothersep}{lowerwithothersep={#1}{\SemantexDoubleBullet}},
- {setlowersep}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { lowersep } { #1 } },
+ {lower~**~with~other~sep}{lower~with~other~sep={#1}{\SemantexBullet}},
+ {lower~***~with~other~sep}{lower~with~other~sep={#1}{\SemantexDoubleBullet}},
+ {set~lower~sep}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { lower~sep } { #1 } },
},
- {nextlowerwithsep}{
- strifeqTF={#1}{false}
+ {next~lower~with~sep}{
+ str~if~eq~TF={#1}{false}
{
- boolsetfalse={nextlowerwithsep},
+ bool~set~false={next~lower~with~sep},
}
{
- strifeqTF={#1}{true}
+ str~if~eq~TF={#1}{true}
{
- boolsettrue={nextlowerwithsep},
+ bool~set~true={next~lower~with~sep},
}
{
- ERRORkeyvaluenotfound={nextlowerwithsep}{#1},
+ ERROR~key~value~not~found={next~lower~with~sep}{#1},
},
},
},
},
- definekeys[2]={
- {lowerwithothersep}{
+ define~keys[2]={
+ {lower~with~other~sep}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { nextlowerwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~lower~with~sep }
{ \semantex_data_tl_put_right:nnn { ##1 } { lower } { #1 #2 } }
{ \semantex_data_tl_put_right:nnn { ##1 } { lower } { #2 } }
- \semantex_data_bool_set_true:nn { ##1 } { nextlowerwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberoflowerindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~lower~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~lower~indices }
},
},
},
- setlowersep={ , },
- setlowerdots={ \dots },
- setlowerslot={ {-} },
+ set~lower~sep={ , },
+ set~lower~dots={ \dots },
+ set~lower~slot={ {-} },
% Upper left indices:
- dataprovide=upperleft,
- intprovide=nextupperleftwithsep,
- intprovide=numberofupperleftindices,
- dataprovide=preupperleft,
- dataprovide=postupperleft,
- definekeys={
- {upperleftslot}{ setkeysx={ upperleft=\semantex_data_tl_get_exp_not:nn { ##1 } { upperleftslot } } },
- {upperleft-}{upperleftslot},
- {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},
- {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}{
+ data~provide=upper~left,
+ int~provide=next~upper~left~with~sep,
+ int~provide=number~of~upper~left~indices,
+ data~provide=pre~upper~left,
+ data~provide=post~upper~left,
+ define~keys={
+ {upper~left~slot}{ set~keys~x={ upper~left=\semantex_data_tl_get_exp_not:nn { ##1 } { upper~left~slot } } },
+ {upper~left~-}{upper~left~slot},
+ {sep~upper~left~slot}{ set~keys~x={ sep~upper~left=\semantex_data_tl_get_exp_not:nn { ##1 } { upper~left~slot } } },
+ {sep~upper~left~-}{sep~upper~left~slot},
+ {comma~upper~left~slot}{ set~keys~x={ comma~upper~left=\semantex_data_tl_get_exp_not:nn { ##1 } { upper~left~slot } } },
+ {comma~upper~left~-}{comma~upper~left~slot},
+ {lower~left~dots}{ set~keys~x={ upper~left=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~dots } } },
+ {upper~left~...}{lower~left~dots},
+ {sep~lower~left~dots}{ set~keys~x={ sep~upper~left=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~dots } } },
+ {sep~upper~left~...}{sep~lower~left~dots},
+ {comma~lower~left~dots}{ set~keys~x={ comma~upper~left=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~dots } } },
+ {comma~upper~left~...}{comma~lower~left~dots},
+ {clear~upper~left}{
execute={
- \semantex_data_tl_clear:nn { ##1 } { upperleft }
- \semantex_data_bool_set_false:nn { ##1 } { nextupperleftwithsep }
- \semantex_data_int_clear:nn { ##1 } { numberofupperleftindices }
+ \semantex_data_tl_clear:nn { ##1 } { upper~left }
+ \semantex_data_bool_set_false:nn { ##1 } { next~upper~left~with~sep }
+ \semantex_data_int_clear:nn { ##1 } { number~of~upper~left~indices }
},
},
- {clearpreupperleft}{
- execute={ \semantex_data_tl_clear:nn { ##1 } { preupperleft } },
+ {clear~pre~upper~left}{
+ execute={ \semantex_data_tl_clear:nn { ##1 } { pre~upper~left } },
},
- {clearpostupperleft}{
- execute={ \semantex_data_tl_clear:nn { ##1 } { postupperleft } },
+ {clear~post~upper~left}{
+ execute={ \semantex_data_tl_clear:nn { ##1 } { post~upper~left } },
},
- {upperleft*}{upperleft=\SemantexBullet},
- {upperleft**}{upperleft=\SemantexDoubleBullet},
- {sepupperleft*}{sepupperleft=\SemantexBullet},
- {sepupperleft**}{sepupperleft=\SemantexDoubleBullet},
- {commaupperleft*}{commaupperleft=\SemantexBullet},
- {commaupperleft**}{commaupperleft=\SemantexDoubleBullet},
+ {upper~left~*}{upper~left=\SemantexBullet},
+ {upper~left~**}{upper~left=\SemantexDoubleBullet},
+ {sep~upper~left~*}{sep~upper~left=\SemantexBullet},
+ {sep~upper~left~**}{sep~upper~left=\SemantexDoubleBullet},
+ {comma~upper~left~*}{comma~upper~left=\SemantexBullet},
+ {comma~upper~left~**}{comma~upper~left=\SemantexDoubleBullet},
},
- definekeys[1]={
- {upperleft}{
+ define~keys[1]={
+ {upper~left}{
execute={
\tl_if_blank:nF{#1}{
- \semantex_data_tl_put_left:nnn { ##1 } { upperleft } { #1 }
- \semantex_data_bool_set_true:nn { ##1 } { nextupperleftwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberofupperleftindices }
+ \semantex_data_tl_put_left:nnn { ##1 } { upper~left } { #1 }
+ \semantex_data_bool_set_true:nn { ##1 } { next~upper~left~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~upper~left~indices }
}
},
},
- {sepupperleft}{
+ {sep~upper~left}{
execute={
\tl_if_blank:nF { #1 }
{
- \semantex_data_bool_get:nnTF { ##1 } { nextupperleftwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~upper~left~with~sep }
{
- \semantex_data_tl_put_left:nnx { ##1 } { upperleft }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { upperleftsep } }
- \semantex_data_tl_put_left:nnn { ##1 } { upperleft } { #1 }
+ \semantex_data_tl_put_left:nnx { ##1 } { upper~left }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { upper~left~sep } }
+ \semantex_data_tl_put_left:nnn { ##1 } { upper~left } { #1 }
}
{
- \semantex_data_tl_put_left:nnn { ##1 } { upperleft } { #1 }
+ \semantex_data_tl_put_left:nnn { ##1 } { upper~left } { #1 }
}
- \semantex_data_bool_set_true:nn { ##1 } { nextupperleftwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberofupperleftindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~upper~left~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~upper~left~indices }
}
},
},
- {commaupperleft}{
+ {comma~upper~left}{
execute={
\tl_if_blank:nF{#1}
{
- \semantex_data_bool_get:nnTF { ##1 } { nextupperleftwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~upper~left~with~sep }
{
- \semantex_data_tl_put_left:nnn { ##1 } { upperleft } { , #1 }
+ \semantex_data_tl_put_left:nnn { ##1 } { upper~left } { , #1 }
}
{
- \semantex_data_tl_put_left:nnn { ##1 } { upperleft } { #1 }
+ \semantex_data_tl_put_left:nnn { ##1 } { upper~left } { #1 }
}
- \semantex_data_bool_set_true:nn { ##1 } { nextupperleftwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberofupperleftindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~upper~left~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~upper~left~indices }
}
}
},
- {preupperleft}{
+ {pre~upper~left}{
execute={
\tl_if_blank:nF{#1}{
- \semantex_data_tl_put_right:nnn { ##1 } { preupperleft } { #1 }
+ \semantex_data_tl_put_right:nnn { ##1 } { pre~upper~left } { #1 }
}
},
},
- {postupperleft}{
+ {post~upper~left}{
execute={
\tl_if_blank:nF{#1}{
- \semantex_data_tl_put_left:nnn { ##1 } { postupperleft } { #1 }
+ \semantex_data_tl_put_left:nnn { ##1 } { post~upper~left } { #1 }
}
},
},
- {upperleftputright}{
+ {upper~left~put~right}{
execute={
\tl_if_blank:nF { #1 }
{
- \semantex_data_tl_put_right:nnn { ##1 } { upperleft } { #1 }
- \semantex_data_bool_set_true:nn { ##1 } { nextupperleftwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberofupperleftindices }
+ \semantex_data_tl_put_right:nnn { ##1 } { upper~left } { #1 }
+ \semantex_data_bool_set_true:nn { ##1 } { next~upper~left~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~upper~left~indices }
}
},
},
- {setupperleftslot}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { upperleftslot } { #1 } },
+ {set~upper~left~slot}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { upper~left~slot } { #1 } },
},
- {upperleftslotwithothersep}{
+ {upper~left~slot~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { upperleftwithothersep }
+ \semantex_valuekey:nnx { ##1 } { upper~left~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { upperleftslot } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { upper~left~slot } }
}
},
},
- {upperleft-withothersep}{
+ {upper~left~-~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { upperleftwithothersep }
+ \semantex_valuekey:nnx { ##1 } { upper~left~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { upperleftslot } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { upper~left~slot } }
}
},
},
- {setupperleftdots}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { upperleftdots } { #1 } },
+ {set~lower~left~dots}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { lower~left~dots } { #1 } },
},
- {upperleftdotswithothersep}{
+ {lower~left~dots~with~other~sep}{
execute={
- \semantex_valuekey:nnx { upperleftwithothersep }
+ \semantex_valuekey:nnx { upper~left~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { upperleftdots } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~dots } }
}
},
},
- {upperleft...withothersep}{
+ {upper~left~...~with~other~sep}{
execute={
- \semantex_valuekey:nnx { upperleftwithothersep }
+ \semantex_valuekey:nnx { upper~left~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { upperleftdots } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~dots } }
}
},
},
- {upperleft*withothersep}{upperleftwithothersep={#1}{\SemantexBullet}},
- {upperleft**withothersep}{upperleftwithothersep={#1}{\SemantexDoubleBullet}},
- {setupperleftsep}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { upperleftsep } { #1 } },
+ {upper~left~*~with~other~sep}{upper~left~with~other~sep={#1}{\SemantexBullet}},
+ {upper~left~**~with~other~sep}{upper~left~with~other~sep={#1}{\SemantexDoubleBullet}},
+ {set~upper~left~sep}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { upper~left~sep } { #1 } },
},
- {nextupperleftwithsep}{
- strifeqTF={#1}{false}
+ {next~upper~left~with~sep}{
+ str~if~eq~TF={#1}{false}
{
- boolsetfalse={nextupperleftwithsep},
+ bool~set~false=next~upper~left~with~sep,
}
{
- strifeqTF={#1}{true}
+ str~if~eq~TF={#1}{true}
{
- boolsettrue={nextupperleftwithsep},
+ bool~set~true=next~upper~left~with~sep,
}
{
- ERRORkeyvaluenotfound={nextupperleftwithsep}{#1},
+ ERROR~key~value~not~found={next~upper~left~with~sep}{#1},
},
},
},
},
- definekeys[2]={
- {upperleftwithothersep}{
+ define~keys[2]={
+ {upper~left~with~other~sep}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { nextupperleftwithsep }
- { \semantex_data_tl_put_left:nnn { ##1 } { upperleft } { #2 #1 } }
- { \semantex_data_tl_put_left:nnn { ##1 } { upperleft } { #2 } }
- \semantex_data_bool_set_true:nn { ##1 } { nextupperleftwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberofupperleftindices }
+ \semantex_data_bool_get:nnTF { ##1 } { next~upper~left~with~sep }
+ { \semantex_data_tl_put_left:nnn { ##1 } { upper~left } { #2 #1 } }
+ { \semantex_data_tl_put_left:nnn { ##1 } { upper~left } { #2 } }
+ \semantex_data_bool_set_true:nn { ##1 } { next~upper~left~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~upper~left~indices }
},
},
},
- setupperleftsep={ , },
- setupperleftdots={ \dots },
- setupperleftslot={ {-} },
+ set~upper~left~sep={ , },
+ set~lower~left~dots={ \dots },
+ set~upper~left~slot={ {-} },
% Lower left indices:
- dataprovide=lowerleft,
- boolprovide=nextlowerleftwithsep,
- intprovide=numberoflowerleftindices,
- dataprovide=prelowerleft,
- dataprovide=postlowerleft,
- definekeys={
- {lowerleftslot}{ setkeysx={ lowerleft=\semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftslot } } },
- {lowerleft-}{lowerleftslot},
- {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},
- {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}{
+ data~provide=lower~left,
+ bool~provide=next~lower~left~with~sep,
+ int~provide=number~of~lower~left~indices,
+ data~provide=pre~lower~left,
+ data~provide=post~lower~left,
+ define~keys={
+ {lower~left~slot}{ set~keys~x={ lower~left=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~slot } } },
+ {lower~left~-}{lower~left~slot},
+ {sep~lower~left~slot}{ set~keys~x={ sep~lower~left=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~slot } } },
+ {sep~lower~left~-}{sep~lower~left~slot},
+ {comma~lower~left~slot}{ set~keys~x={ comma~lower~left=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~slot } } },
+ {comma~lower~left~-}{comma~lower~left~slot},
+ {lower~left~dots}{ set~keys~x={ lower~left=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~dots } } },
+ {lower~left~...}{lower~left~dots},
+ {sep~lower~left~dots}{ set~keys~x={ sep~lower~left=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~dots } } },
+ {sep~lower~left~...}{sep~lower~left~dots},
+ {comma~lower~left~dots}{ set~keys~x={ comma~lower~left=\semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~dots } } },
+ {comma~lower~left~...}{comma~lower~left~dots},
+ {clear~lower~left}{
execute={
- \semantex_data_tl_clear:nn { ##1 } { lowerleft }
- \semantex_data_bool_set_false:nn { ##1 } { nextlowerleftwithsep }
- \semantex_data_int_clear:nn { ##1 } { numberoflowerleftindices }
+ \semantex_data_tl_clear:nn { ##1 } { lower~left }
+ \semantex_data_bool_set_false:nn { ##1 } { next~lower~left~with~sep }
+ \semantex_data_int_clear:nn { ##1 } { number~of~lower~left~indices }
},
},
- {clearprelowerleft}{
- execute={ \semantex_data_tl_clear:nn { ##1 } { prelowerleft } },
+ {clear~pre~lower~left}{
+ execute={ \semantex_data_tl_clear:nn { ##1 } { pre~lower~left } },
},
- {clearpostlowerleft}{
- execute={ \semantex_data_tl_clear:nn { ##1 } { postlowerleft } },
+ {clear~post~lower~left}{
+ execute={ \semantex_data_tl_clear:nn { ##1 } { post~lower~left } },
},
- {lowerleft*}{lowerleft=\SemantexBullet},
- {lowerleft**}{lowerleft=\SemantexDoubleBullet},
- {seplowerleft*}{seplowerleft=\SemantexBullet},
- {seplowerleft**}{seplowerleft=\SemantexDoubleBullet},
- {commalowerleft*}{commalowerleft=\SemantexBullet},
- {commalowerleft**}{commalowerleft=\SemantexDoubleBullet},
+ {lower~left~*}{lower~left=\SemantexBullet},
+ {lower~left~**}{lower~left=\SemantexDoubleBullet},
+ {sep~lower~left~*}{sep~lower~left=\SemantexBullet},
+ {sep~lower~left~**}{sep~lower~left=\SemantexDoubleBullet},
+ {comma~lower~left~*}{comma~lower~left=\SemantexBullet},
+ {comma~lower~left~**}{comma~lower~left=\SemantexDoubleBullet},
},
- definekeys[1]={
- {lowerleft}{
+ define~keys[1]={
+ {lower~left}{
execute={
\tl_if_blank:nF{#1}{
- \semantex_data_tl_put_left:nnn { ##1 } { lowerleft } { #1 }
- \semantex_data_bool_set_true:nn { ##1 } { nextlowerleftwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberoflowerleftindices }
+ \semantex_data_tl_put_left:nnn { ##1 } { lower~left } { #1 }
+ \semantex_data_bool_set_true:nn { ##1 } { next~lower~left~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~lower~left~indices }
}
},
},
- {seplowerleft}{
+ {sep~lower~left}{
execute={
\tl_if_blank:nF { #1 }
{
- \semantex_data_bool_get:nnTF { ##1 } { nextlowerleftwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~lower~left~with~sep }
{
- \semantex_data_tl_put_left:nnx { ##1 } { lowerleft }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftsep } }
- \semantex_data_tl_put_left:nnn { ##1 } { lowerleft } { #1 }
+ \semantex_data_tl_put_left:nnx { ##1 } { lower~left }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~sep } }
+ \semantex_data_tl_put_left:nnn { ##1 } { lower~left } { #1 }
}
{
- \semantex_data_tl_put_left:nnn { ##1 } { lowerleft } { #1 }
+ \semantex_data_tl_put_left:nnn { ##1 } { lower~left } { #1 }
}
- \semantex_data_bool_set_true:nn { ##1 } { nextlowerleftwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberoflowerleftindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~lower~left~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~lower~left~indices }
}
},
},
- {commalowerleft}{
+ {comma~lower~left}{
execute={
\tl_if_blank:nF{#1}
{
- \semantex_data_bool_get:nnTF { ##1 } { nextlowerleftwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~lower~left~with~sep }
{
- \semantex_data_tl_put_left:nnn { ##1 } { lowerleft } { , #1 }
+ \semantex_data_tl_put_left:nnn { ##1 } { lower~left } { , #1 }
}
{
- \semantex_data_tl_put_left:nnn { ##1 } { lowerleft } { #1 }
+ \semantex_data_tl_put_left:nnn { ##1 } { lower~left } { #1 }
}
- \semantex_data_bool_set_true:nn { ##1 } { nextlowerleftwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberoflowerleftindices }
+ \semantex_data_bool_set_true:nn { ##1 } { next~lower~left~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~lower~left~indices }
}
}
},
- {prelowerleft}{
+ {pre~lower~left}{
execute={
\tl_if_blank:nF{#1}{
- \semantex_data_tl_put_right:nnn { ##1 } { prelowerleft } { #1 }
+ \semantex_data_tl_put_right:nnn { ##1 } { pre~lower~left } { #1 }
}
},
},
- {postlowerleft}{
+ {post~lower~left}{
execute={
\tl_if_blank:nF{#1}{
- \semantex_data_tl_put_left:nnn { ##1 } { postlowerleft } { #1 }
+ \semantex_data_tl_put_left:nnn { ##1 } { post~lower~left } { #1 }
}
},
},
- {lowerleftputright}{
+ {lower~left~put~right}{
execute={
\tl_if_blank:nF { #1 }
{
- \semantex_data_tl_put_right:nnn { ##1 } { lowerleft } { #1 }
- \semantex_data_bool_set_true:nn { ##1 } { nextlowerleftwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberoflowerleftindices }
+ \semantex_data_tl_put_right:nnn { ##1 } { lower~left } { #1 }
+ \semantex_data_bool_set_true:nn { ##1 } { next~lower~left~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~lower~left~indices }
}
},
},
- {setlowerleftslot}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { lowerleftslot } { #1 } },
+ {set~lower~left~slot}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { lower~left~slot } { #1 } },
},
- {lowerleftslotwithothersep}{
+ {lower~left~slot~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { lowerleftwithothersep }
+ \semantex_valuekey:nnx { ##1 } { lower~left~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftslot } },
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~slot } },
}
},
},
- {lowerleft-withothersep}{
+ {lower~left~-~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { lowerleftwithothersep }
+ \semantex_valuekey:nnx { ##1 } { lower~left~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftslot } },
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~slot } },
}
},
},
- {setlowerleftdots}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { lowerleftdots } { #1 } },
+ {set~lower~left~dots}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { lower~left~dots } { #1 } },
},
- {lowerleftdotswithothersep}{
+ {lower~left~dots~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { lowerleftwithothersep }
+ \semantex_valuekey:nnx { ##1 } { lower~left~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftdots } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~dots } }
}
},
},
- {lowerleft...withothersep}{
+ {lower~left~...~with~other~sep}{
execute={
- \semantex_valuekey:nnx { ##1 } { lowerleftwithothersep }
+ \semantex_valuekey:nnx { ##1 } { lower~left~with~other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { lowerleftdots } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { lower~left~dots } }
}
},
},
- {lowerleft*withothersep}{lowerleftwithothersep={#1}{\SemantexBullet}},
- {lowerleft**withothersep}{lowerleftwithothersep={#1}{\SemantexDoubleBullet}},
- {setlowerleftsep}{
- execute={ \semantex_data_tl_set:nnn { ##1 } { lowerleftsep } { #1 } },
+ {lower~left~*~with~other~sep}{lower~left~with~other~sep={#1}{\SemantexBullet}},
+ {lower~left~**~with~other~sep}{lower~left~with~other~sep={#1}{\SemantexDoubleBullet}},
+ {set~lower~left~sep}{
+ execute={ \semantex_data_tl_set:nnn { ##1 } { lower~left~sep } { #1 } },
},
- {nextlowerleftwithsep}{
- strifeqTF={#1}{false}
+ {next~lower~left~with~sep}{
+ str~if~eq~TF={#1}{false}
{
- boolsetfalse={nextlowerleftwithsep},
+ bool~set~false=next~lower~left~with~sep,
}
{
- strifeqTF={#1}{true}
+ str~if~eq~TF={#1}{true}
{
- boolsettrue={nextlowerleftwithsep},
+ bool~set~true=next~lower~left~with~sep,
}
{
- ERRORkeyvaluenotfound={nextlowerleftwithsep}{#1},
+ ERROR~key~value~not~found={next~lower~left~with~sep}{#1},
},
},
},
},
- definekeys[2]={
- {lowerleftwithothersep}{
+ define~keys[2]={
+ {lower~left~with~other~sep}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { nextlowerleftwithsep }
- { \semantex_data_tl_put_left:nnn { ##1 } { lowerleft } { #2 #1 } }
- { \semantex_data_tl_put_left:nnn { ##1 } { lowerleft } { #2 } }
- \semantex_data_bool_set_true:nn { ##1 } { nextlowerleftwithsep }
- \semantex_data_int_incr:nn { ##1 } { numberoflowerleftindices }
+ \semantex_data_bool_get:nnTF { ##1 } { next~lower~left~with~sep }
+ { \semantex_data_tl_put_left:nnn { ##1 } { lower~left } { #2 #1 } }
+ { \semantex_data_tl_put_left:nnn { ##1 } { lower~left } { #2 } }
+ \semantex_data_bool_set_true:nn { ##1 } { next~lower~left~with~sep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~lower~left~indices }
},
},
},
- setlowerleftsep={ , },
- setlowerleftdots={ \dots },
- setlowerleftslot={ {-} },
+ set~lower~left~sep={ , },
+ set~lower~left~dots={ \dots },
+ set~lower~left~slot={ {-} },
% The "d" index:
- definekeys={
- {dslot}{
- boolifTF={uppergrading}
- { upperslot }
- { lowerslot },
- },
- {d-}{dslot},
- {sepdslot}{
- boolifTF={uppergrading}
- { sepupperslot }
- { seplowerslot },
- },
- {sepd-}{sepdslot},
- {commadslot}{
- boolifTF={uppergrading}
- { commaupperslot }
- { commalowerslot },
- },
- {commad-}{commadslot},
- {ddots}{
- boolifTF={uppergrading}
- { upperdots }
- { lowerdots },
- },
- {d...}{ddots},
- {sepddots}{
- boolifTF={uppergrading}
- { sepupperdots }
- { seplowerdots },
- },
- {sepd...}{sepddots},
- {commaddots}{
- boolifTF={uppergrading}
- { commaupperdots }
- { commalowerdots },
- },
- {commad...}{commaddots},
- {cleard}{
- boolifTF={uppergrading}
- { clearupper }
- { clearlower },
- },
- {clearpred}{
- boolifTF={uppergrading}
- { clearpreupper }
- { clearprelower },
- },
- {clearpostd}{
- boolifTF={uppergrading}
- { clearpostupper }
- { clearpostlower },
- },
- {d*}{
- boolifTF={uppergrading}
- { upper* }
- { lower* },
- },
- {d**}{
- boolifTF={uppergrading}
- { upper** }
- { lower** },
- },
- {sepd*}{
- boolifTF={uppergrading}
- { sepupper* }
- { seplower* },
- },
- {sepd**}{
- boolifTF={uppergrading}
- { sepupper** }
- { seplower** },
- },
- {commad*}{
- boolifTF={uppergrading}
- { commaupper* }
- { commalower* },
- },
- {commad**}{
- boolifTF={uppergrading}
- { commaupper** }
- { commalower** },
+ define~keys={
+ {d~slot}{
+ bool~if~TF={upper~grading}
+ { upper~slot }
+ { lower~slot },
+ },
+ {d~-}{d~slot},
+ {sep~d~slot}{
+ bool~if~TF={upper~grading}
+ { sep~upper~slot }
+ { sep~lower~slot },
+ },
+ {sep~d~-}{sep~d~slot},
+ {comma~d~slot}{
+ bool~if~TF={upper~grading}
+ { comma~upper~slot }
+ { comma~lower~slot },
+ },
+ {comma~d~-}{comma~d~slot},
+ {d~dots}{
+ bool~if~TF={upper~grading}
+ { upper~dots }
+ { lower~dots },
+ },
+ {d~...}{d~dots},
+ {sep~d~dots}{
+ bool~if~TF={upper~grading}
+ { sep~upper~dots }
+ { sep~lower~dots },
+ },
+ {sep~d~...}{sep~d~dots},
+ {comma~d~dots}{
+ bool~if~TF={upper~grading}
+ { comma~upper~dots }
+ { comma~lower~dots },
+ },
+ {comma~d~...}{comma~d~dots},
+ {clear~d}{
+ bool~if~TF={upper~grading}
+ { clear~upper }
+ { clear~lower },
+ },
+ {clear~pre~d}{
+ bool~if~TF={upper~grading}
+ { clear~pre~upper }
+ { clear~pre~lower },
+ },
+ {clear~post~d}{
+ bool~if~TF={upper~grading}
+ { clear~post~upper }
+ { clear~post~lower },
+ },
+ {d~*}{
+ bool~if~TF={upper~grading}
+ { upper~* }
+ { lower~** },
+ },
+ {d~**}{
+ bool~if~TF={upper~grading}
+ { upper~** }
+ { lower~*** },
+ },
+ {sep~d~*}{
+ bool~if~TF={upper~grading}
+ { sep~upper~* }
+ { sep~lower~** },
+ },
+ {sep~d~**}{
+ bool~if~TF={upper~grading}
+ { sep~upper~** }
+ { sep~lower~*** },
+ },
+ {comma~d~*}{
+ bool~if~TF={upper~grading}
+ { comma~upper~* }
+ { comma~lower~** },
+ },
+ {comma~d~**}{
+ bool~if~TF={upper~grading}
+ { comma~upper~** }
+ { comma~lower~*** },
},
},
- definekeys[1]={
+ define~keys[1]={
{d}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { uppergrading }
+ \semantex_data_bool_get:nnTF { ##1 } { upper~grading }
{ \semantex_valuekey:nnn { ##1 } { upper } { #1 } }
{ \semantex_valuekey:nnn { ##1 } { lower } { #1 } }
},
},
- {sepd}{
+ {sep~d}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { uppergrading }
- { \semantex_valuekey:nnn { ##1 } { sepupper } { #1 } }
- { \semantex_valuekey:nnn { ##1 } { seplower } { #1 } }
+ \semantex_data_bool_get:nnTF { ##1 } { upper~grading }
+ { \semantex_valuekey:nnn { ##1 } { sep~upper } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { sep~lower } { #1 } }
},
},
- {commad}{
+ {comma~d}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { uppergrading }
- { \semantex_valuekey:nnn { ##1 } { commaupper } { #1 } }
- { \semantex_valuekey:nnn { ##1 } { commalower } { #1 } }
+ \semantex_data_bool_get:nnTF { ##1 } { upper~grading }
+ { \semantex_valuekey:nnn { ##1 } { comma~upper } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { comma~lower } { #1 } }
},
},
- {pred}{
- boolifTF={uppergrading}
+ {pre~d}{
+ bool~if~TF={upper~grading}
{
- preupper={#1},
+ pre~upper={#1},
}
{
- prelower={#1},
+ pre~lower={#1},
},
},
- {postd}{
- boolifTF={uppergrading}
+ {post~d}{
+ bool~if~TF={upper~grading}
{
- postupper={#1},
+ post~upper={#1},
}
{
- postlower={#1},
+ post~lower={#1},
},
},
- {dputleft}{
- boolifTF={uppergrading}
+ {d~put~left}{
+ bool~if~TF={upper~grading}
{
- upperputleft={#1},
+ upper~put~left={#1},
}
{
- lowerputleft={#1},
+ lower~put~left={#1},
},
},
- {setdslot}{
- boolifTF={uppergrading}
+ {set~d~slot}{
+ bool~if~TF={upper~grading}
{
- setupperslot={#1},
+ set~upper~slot={#1},
}
{
- setlowerslot={#1},
+ set~lower~slot={#1},
}
},
- {dslotwithothersep}{
- boolifTF={uppergrading}
+ {d~slot~with~other~sep}{
+ bool~if~TF={upper~grading}
{
- upperslotwithothersep={#1},
+ upper~slot~with~other~sep={#1},
}
{
- lowerslotwithothersep={#1},
+ lower~slot~with~other~sep={#1},
},
},
- {d-withothersep}{
- dslotwithothersep={#1},
+ {d~-~with~other~sep}{
+ d~slot~with~other~sep={#1},
},
- {setddots}{
- boolifTF={uppergrading}
+ {set~d~dots}{
+ bool~if~TF={upper~grading}
{
- setupperdots={#1},
+ set~upper~dots={#1},
}
{
- setlowerdots={#1},
+ set~lower~dots={#1},
}
},
- {ddotswithothersep}{
- boolifTF={uppergrading}
+ {d~dots~with~other~sep}{
+ bool~if~TF={upper~grading}
{
- upperdotswithothersep={#1},
+ upper~dots~with~other~sep={#1},
}
{
- lowerdotswithothersep={#1},
+ lower~dots~with~other~sep={#1},
},
},
- {d...withothersep}{
- ddotswithothersep={#1},
+ {d~...~with~other~sep}{
+ d~dots~with~other~sep={#1},
},
- {d*withothersep}{
- boolifTF={uppergrading}
- { upper*withothersep={#1} }
- { lower*withothersep={#1} },
+ {d~*~with~other~sep}{
+ bool~if~TF={upper~grading}
+ { upper~*~with~other~sep={#1} }
+ { lower~**~with~other~sep={#1} },
},
- {d**withothersep}{
- boolifTF={uppergrading}
- { upper**withothersep={#1} }
- { lower**withothersep={#1} },
+ {d~**~with~other~sep}{
+ bool~if~TF={upper~grading}
+ { upper~**~with~other~sep={#1} }
+ { lower~***~with~other~sep={#1} },
},
- {setdsep}{
- boolifTF={uppergrading}
+ {set~d~sep}{
+ bool~if~TF={upper~grading}
{
- setuppersep={#1},
+ set~upper~sep={#1},
}
{
- setlowersep={#1},
+ set~lower~sep={#1},
},
},
- {nextdwithsep}{
- strifeqTF={#1}{true}
+ {next~d~with~sep}{
+ str~if~eq~TF={#1}{true}
{
- boolifTF={uppergrading}
+ bool~if~TF={upper~grading}
{
- nextupperwithsep=true,
+ next~upper~with~sep=true,
}
{
- nextlowerwithsep=true,
+ next~lower~with~sep=true,
},
}
{
- strifeqTF={#1}{false}
+ str~if~eq~TF={#1}{false}
{
- boolifTF={uppergrading}
+ bool~if~TF={upper~grading}
{
- nextupperwithsep=false,
+ next~upper~with~sep=false,
}
{
- nextlowerwithsep=false,
+ next~lower~with~sep=false,
},
}
{
- ERRORkeyvaluenotfound={nextdwithothersep}{#1},
+ ERROR~key~value~not~found={next~d~with~other~sep}{#1},
},
},
},
},
- definekeys[2]={
- {dwithothersep}{
- boolifTF={uppergrading}
+ define~keys[2]={
+ {d~with~other~sep}{
+ bool~if~TF={upper~grading}
{
- upperwithothersep={#1}{#2},
+ upper~with~other~sep={#1}{#2},
}
{
- lowerwithothersep={#1}{#2},
+ lower~with~other~sep={#1}{#2},
},
},
},
% The "i" index:
- definekeys={
- {islot}{
- boolifTF={uppergrading}
- { lowerslot }
- { upperslot },
- },
- {i-}{islot},
- {sepislot}{
- boolifTF={uppergrading}
- { seplowerslot }
- { sepupperslot },
- },
- {sepi-}{sepislot},
- {commaislot}{
- boolifTF={uppergrading}
- { commalowerslot }
- { commaupperslot },
- },
- {commai-}{commaislot},
- {idots}{
- boolifTF={uppergrading}
- { lowerdots }
- { upperdots },
- },
- {i...}{idots},
- {sepidots}{
- boolifTF={uppergrading}
- { seplowerdots }
- { sepupperdots },
- },
- {sepi...}{sepidots},
- {commaidots}{
- boolifTF={uppergrading}
- { commalowerdots }
- { commaupperdots },
- },
- {commai...}{commaidots},
- {cleari}{
- boolifTF={uppergrading}
- { clearlower }
- { clearupper },
- },
- {clearprei}{
- boolifTF={uppergrading}
- { clearprelower }
- { clearpreupper },
- },
- {clearposti}{
- boolifTF={uppergrading}
- { clearpostlower }
- { clearpostupper },
- },
- {i*}{
- boolifTF={uppergrading}
- { lower* }
- { upper* },
- },
- {i**}{
- boolifTF={uppergrading}
- { lower** }
- { upper** },
- },
- {sepi*}{
- boolifTF={uppergrading}
- { seplower* }
- { sepupper* },
- },
- {sepi**}{
- boolifTF={uppergrading}
- { seplower** }
- { sepupper** },
- },
- {commai*}{
- boolifTF={uppergrading}
- { commalower* }
- { commaupper* },
- },
- {commai**}{
- boolifTF={uppergrading}
- { commalower** }
- { commaupper** },
+ define~keys={
+ {i~slot}{
+ bool~if~TF={upper~grading}
+ { lower~slot }
+ { upper~slot },
+ },
+ {i~-}{i~slot},
+ {sep~i~slot}{
+ bool~if~TF={upper~grading}
+ { sep~lower~slot }
+ { sep~upper~slot },
+ },
+ {sep~i~-}{sep~i~slot},
+ {comma~i~slot}{
+ bool~if~TF={upper~grading}
+ { comma~lower~slot }
+ { comma~upper~slot },
+ },
+ {comma~i~-}{comma~i~slot},
+ {i~dots}{
+ bool~if~TF={upper~grading}
+ { lower~dots }
+ { upper~dots },
+ },
+ {i~...}{i~dots},
+ {sep~i~dots}{
+ bool~if~TF={upper~grading}
+ { sep~lower~dots }
+ { sep~upper~dots },
+ },
+ {sep~i~...}{sep~i~dots},
+ {comma~i~dots}{
+ bool~if~TF={upper~grading}
+ { comma~lower~dots }
+ { comma~upper~dots },
+ },
+ {comma~i~...}{comma~i~dots},
+ {clear~i}{
+ bool~if~TF={upper~grading}
+ { clear~lower }
+ { clear~upper },
+ },
+ {clear~pre~i}{
+ bool~if~TF={upper~grading}
+ { clear~pre~lower }
+ { clear~pre~upper },
+ },
+ {clear~post~i}{
+ bool~if~TF={upper~grading}
+ { clear~post~lower }
+ { clear~post~upper },
+ },
+ {i~*}{
+ bool~if~TF={upper~grading}
+ { lower~** }
+ { upper~* },
+ },
+ {i~**}{
+ bool~if~TF={upper~grading}
+ { lower~*** }
+ { upper~** },
+ },
+ {sep~i~*}{
+ bool~if~TF={upper~grading}
+ { sep~lower~** }
+ { sep~upper~* },
+ },
+ {sep~i~**}{
+ bool~if~TF={upper~grading}
+ { sep~lower~*** }
+ { sep~upper~** },
+ },
+ {comma~i~*}{
+ bool~if~TF={upper~grading}
+ { comma~lower~** }
+ { comma~upper~* },
+ },
+ {comma~i~**}{
+ bool~if~TF={upper~grading}
+ { comma~lower~*** }
+ { comma~upper~** },
},
},
- definekeys[1]={
+ define~keys[1]={
{i}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { uppergrading }
+ \semantex_data_bool_get:nnTF { ##1 } { upper~grading }
{ \semantex_valuekey:nnn { ##1 } { lower } { #1 } }
{ \semantex_valuekey:nnn { ##1 } { upper } { #1 } }
},
},
- {sepi}{
+ {sep~i}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { uppergrading }
- { \semantex_valuekey:nnn { ##1 } { seplower } { #1 } }
- { \semantex_valuekey:nnn { ##1 } { sepupper } { #1 } }
+ \semantex_data_bool_get:nnTF { ##1 } { upper~grading }
+ { \semantex_valuekey:nnn { ##1 } { sep~lower } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { sep~upper } { #1 } }
},
},
- {commai}{
+ {comma~i}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { uppergrading }
- { \semantex_valuekey:nnn { ##1 } { commalower } { #1 } }
- { \semantex_valuekey:nnn { ##1 } { commaupper } { #1 } }
+ \semantex_data_bool_get:nnTF { ##1 } { upper~grading }
+ { \semantex_valuekey:nnn { ##1 } { comma~lower } { #1 } }
+ { \semantex_valuekey:nnn { ##1 } { comma~upper } { #1 } }
},
},
- {prei}{
- boolifTF={uppergrading}
+ {pre~i}{
+ bool~if~TF={upper~grading}
{
- prelower={#1},
+ pre~lower={#1},
}
{
- preupper={#1},
+ pre~upper={#1},
},
},
- {posti}{
- boolifTF={uppergrading}
+ {post~i}{
+ bool~if~TF={upper~grading}
{
- postlower={#1},
+ post~lower={#1},
}
{
- postupper={#1},
+ post~upper={#1},
},
},
- {iputleft}{
- boolifTF={uppergrading}
+ {i~put~left}{
+ bool~if~TF={upper~grading}
{
- lowerputleft={#1},
+ lower~put~left={#1},
}{
- upperputleft={#1},
+ upper~put~left={#1},
},
},
- {setislot}{
- boolifTF={uppergrading}
+ {set~i~slot}{
+ bool~if~TF={upper~grading}
{
- setlowerslot={#1},
+ set~lower~slot={#1},
}
{
- setupperslot={#1},
+ set~upper~slot={#1},
}
},
- {islotwithothersep}{
- boolifTF={uppergrading}
+ {i~slot~with~other~sep}{
+ bool~if~TF={upper~grading}
{
- lowerslotwithothersep={#1},
+ lower~slot~with~other~sep={#1},
}
{
- upperslotwithothersep={#1},
+ upper~slot~with~other~sep={#1},
},
},
- {i-withothersep}{
- islotwithothersep={#1},
+ {i~-~with~other~sep}{
+ i~slot~with~other~sep={#1},
},
- {setidots}{
- boolifTF={uppergrading}
+ {set~i~dots}{
+ bool~if~TF={upper~grading}
{
- setlowerdots={#1},
+ set~lower~dots={#1},
}
{
- setupperdots={#1},
+ set~upper~dots={#1},
}
},
- {idotswithothersep}{
- boolifTF={uppergrading}
+ {i~dots~with~other~sep}{
+ bool~if~TF={upper~grading}
{
- lowerdotswithothersep={#1},
+ lower~dots~with~other~sep={#1},
}
{
- upperdotswithothersep={#1},
+ upper~dots~with~other~sep={#1},
},
},
- {i...withothersep}{
- idotswithothersep={#1},
+ {i~...~with~other~sep}{
+ i~dots~with~other~sep={#1},
},
- {i*withothersep}{
- boolifTF={uppergrading}
- { lower*withothersep={#1} }
- { upper*withothersep={#1} },
+ {i~*~with~other~sep}{
+ bool~if~TF={upper~grading}
+ { lower~**~with~other~sep={#1} }
+ { upper~*~with~other~sep={#1} },
},
- {i**withothersep}{
- boolifTF={uppergrading}
- { lower**withothersep={#1} }
- { upper**withothersep={#1} },
+ {i~**~with~other~sep}{
+ bool~if~TF={upper~grading}
+ { lower~***~with~other~sep={#1} }
+ { upper~**~with~other~sep={#1} },
},
- {setisep}{
- boolifTF={uppergrading}
+ {set~i~sep}{
+ bool~if~TF={upper~grading}
{
- setlowersep={#1},
+ set~lower~sep={#1},
}
{
- setuppersep={#1},
+ set~upper~sep={#1},
},
},
- {nextiwithsep}{
- strifeqTF={#1}{true}
+ {next~i~with~sep}{
+ str~if~eq~TF={#1}{true}
{
- boolifTF={uppergrading}
+ bool~if~TF={upper~grading}
{
- nextlowerwithsep={#1},
+ next~lower~with~sep={#1},
}
{
- nextupperwithsep={#1},
+ next~upper~with~sep={#1},
},
}
{
- strifeqTF={#1}{false}
+ str~if~eq~TF={#1}{false}
{
- boolifTF={uppergrading}
+ bool~if~TF={upper~grading}
{
- nextupperwithsep={#1},
+ next~upper~with~sep={#1},
}
{
- nextlowerwithsep={#1},
+ next~lower~with~sep={#1},
},
}
{
- ERRORkeyvaluenotfound={nextiwithothersep}{#1},
+ ERROR~key~value~not~found={next~i~with~other~sep}{#1},
},
},
},
},
- definekeys[2]={
- {iwithothersep}{
+ define~keys[2]={
+ {i~with~other~sep}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { uppergrading }
- { \semantex_valuekey:nnn { ##1 } { lowerwithothersep } { { #1 } { #2 } } }
- { \semantex_valuekey:nnn { ##1 } { upperwithothersep } { { #1 } { #2 } } }
+ \semantex_data_bool_get:nnTF { ##1 } { upper~grading }
+ { \semantex_valuekey:nnn { ##1 } { lower~with~other~sep } { { #1 } { #2 } } }
+ { \semantex_valuekey:nnn { ##1 } { upper~with~other~sep } { { #1 } { #2 } } }
},
},
},
% Argument keyval interface
- defineargkeys[1]={
+ define~arg~keys[1]={
{execute}{execute={#1}},
- {setkeys}{ execute={ \semantex_keys_set:nn { ##1 } { #1 } } },
- {keysset}{ execute={ \semantex_keys_set:nn { ##1 } { #1 } } },
- {setkeysx}{ execute={ \semantex_keys_set_x:nn { ##1 } { #1 } } },
- {keyssetx}{ execute={ \semantex_keys_set_x:nn { ##1 } { #1 } } },
- {setargkeys}{ execute={ \semantex_arg_keys_set:nn { ##1 } { #1 } } },
- {argkeysset}{ execute={ \semantex_arg_keys_set:nn { ##1 } { #1 } } },
- {setargkeysx}{ execute={ \semantex_arg_keys_set_x:nn { ##1 } { #1 } } },
- {argkeyssetx}{ execute={ \semantex_arg_keys_set_x:nn { ##1 } { #1 } } },
- {setargsinglekeys}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } },
- {argsinglekeysset}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } },
- {setargsinglekeysx}{ execute={ \semantex_arg_singlekeys_set_x:nn { ##1 } { #1 } } },
- {argsinglekeyssetx}{ execute={ \semantex_arg_singlekeys_set_x:nn { ##1 } { #1 } } },
- {setoneargsinglekey}{ execute={ \semantex_arg_singlekey:nn { ##1 } { #1 } } },
- {oneargsinglekeyset}{ execute={ \semantex_arg_singlekey:nn { ##1 } { #1 } } },
- {setoneargsinglekeyx}{ execute={ \semantex_arg_singlekey_x:nn { ##1 } { #1 } } },
- {oneargsinglekeysetx}{ execute={ \semantex_arg_singlekey_x:nn { ##1 } { #1 } } },
- {setargwithoutkeyval}{ execute={ \semantex_arg_without_keyval:nn { ##1 } { #1 } } },
- {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 } } },
+ {set~keys}{ execute={ \semantex_keys_set:nn { ##1 } { #1 } } },
+ {keys~set}{ execute={ \semantex_keys_set:nn { ##1 } { #1 } } },
+ {set~keys~x}{ execute={ \semantex_keys_set_x:nn { ##1 } { #1 } } },
+ {keys~set~x}{ execute={ \semantex_keys_set_x:nn { ##1 } { #1 } } },
+ {set~arg~keys}{ execute={ \semantex_arg_keys_set:nn { ##1 } { #1 } } },
+ {arg~keys~set}{ execute={ \semantex_arg_keys_set:nn { ##1 } { #1 } } },
+ {set~arg~keys~x}{ execute={ \semantex_arg_keys_set_x:nn { ##1 } { #1 } } },
+ {arg~keys~set~x}{ execute={ \semantex_arg_keys_set_x:nn { ##1 } { #1 } } },
+ {set~arg~single~keys}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } },
+ {arg~single~keys~set}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } },
+ {set~arg~single~keys~x}{ execute={ \semantex_arg_singlekeys_set_x:nn { ##1 } { #1 } } },
+ {arg~single~keys~set~x}{ execute={ \semantex_arg_singlekeys_set_x:nn { ##1 } { #1 } } },
+ {set~one~arg~single~key}{ execute={ \semantex_arg_singlekey:nn { ##1 } { #1 } } },
+ {one~arg~single~key~set}{ execute={ \semantex_arg_singlekey:nn { ##1 } { #1 } } },
+ {set~one~arg~single~key~x}{ execute={ \semantex_arg_singlekey_x:nn { ##1 } { #1 } } },
+ {one~arg~single~key~set~x}{ execute={ \semantex_arg_singlekey_x:nn { ##1 } { #1 } } },
+ {set~arg~without~keyval}{ execute={ \semantex_arg_without_keyval:nn { ##1 } { #1 } } },
+ {arg~without~keyval~set}{ execute={ \semantex_arg_without_keyval:nn { ##1 } { #1 } } },
+ {set~arg~without~keyval~x}{ execute={ \semantex_arg_without_keyval:nx { ##1 } { #1 } } },
+ {arg~without~keyval~set~x}{ execute={ \semantex_arg_without_keyval:nx { ##1 } { #1 } } },
{default}{sep={#1}},
- {-withothersep}{slotwithothersep={#1}},
- {...withothersep}{dotswithothersep={#1}},
+ {-~with~other~sep}{slot~with~other~sep={#1}},
+ {...~with~other~sep}{dots~with~other~sep={#1}},
{sep}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { nextargwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~arg~with~sep }
{
\semantex_data_tl_put_right:nnx { ##1 } { arg }
{
- \semantex_data_tl_get_exp_not:nn { ##1 } { argsep }
+ \semantex_data_tl_get_exp_not:nn { ##1 } { arg~sep }
}
}
{
% do nothing
}
\semantex_data_tl_put_right:nnn { ##1 } { arg } { #1 }
- \semantex_data_int_incr:nn { ##1 } { numberofarguments }
- \semantex_data_bool_set_true:nn { ##1 } { nextargwithsep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~arguments }
+ \semantex_data_bool_set_true:nn { ##1 } { next~arg~with~sep }
}
},
{comma}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { nextargwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~arg~with~sep }
{
\semantex_data_tl_put_right:nnn { ##1 } { arg } { , #1 }
}
{
\semantex_data_tl_put_right:nnn { ##1 } { arg } { #1 }
}
- \semantex_data_int_incr:nn { ##1 } { numberofarguments }
- \semantex_data_bool_set_true:nn { ##1 } { nextargwithsep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~arguments }
+ \semantex_data_bool_set_true:nn { ##1 } { next~arg~with~sep }
}
},
- {dotswithothersep}{
+ {dots~with~other~sep}{
execute={
- \semantex_arg_valuekey:nnx { ##1 } { othersep }
+ \semantex_arg_valuekey:nnx { ##1 } { other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { argdots } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { arg~dots } }
}
},
},
- {slotwithothersep}{
+ {slot~with~other~sep}{
execute={
- \semantex_arg_valuekey:nnx { ##1 } { othersep }
+ \semantex_arg_valuekey:nnx { ##1 } { other~sep }
{
{ \exp_not:n { #1 } }
- { \semantex_data_tl_get_exp_not:nn { ##1 } { argslot } }
+ { \semantex_data_tl_get_exp_not:nn { ##1 } { arg~slot } }
}
},
},
},
- defineargkeys={
+ define~arg~keys={
{dots}{
execute={
\semantex_arg_valuekey:nnx { ##1 } { sep }
{
- \semantex_data_tl_get_exp_not:nn { ##1 } { argdots }
+ \semantex_data_tl_get_exp_not:nn { ##1 } { arg~dots }
}
},
},
{...}{dots},
- {commadots}{
+ {comma~dots}{
execute={
\semantex_arg_valuekey:nnx { ##1 } { comma }
{
- \semantex_data_tl_get_exp_not:nn { ##1 } { argdots }
+ \semantex_data_tl_get_exp_not:nn { ##1 } { arg~dots }
}
},
},
- {comma...}{commadots},
+ {comma~...}{comma~dots},
{slot}{
execute={
\semantex_arg_valuekey:nnx { ##1 } { sep }
{
- \semantex_data_tl_get_exp_not:nn { ##1 } { argslot }
+ \semantex_data_tl_get_exp_not:nn { ##1 } { arg~slot }
}
},
},
{-}{slot},
- {commaslot}{
+ {comma~slot}{
execute={
\semantex_arg_valuekey:nnx { ##1 } { comma }
{
- \semantex_data_tl_get_exp_not:nn { ##1 } { argslot }
+ \semantex_data_tl_get_exp_not:nn { ##1 } { arg~slot }
}
},
},
- {comma-}{commaslot},
+ {comma~-}{comma~slot},
},
- defineargkeys[2]={
- {othersep}{
+ define~arg~keys[2]={
+ {other~sep}{
execute={
- \semantex_data_bool_get:nnTF { ##1 } { nextargwithsep }
+ \semantex_data_bool_get:nnTF { ##1 } { next~arg~with~sep }
{
\semantex_data_tl_put_right:nnn { ##1 } { arg } { #1 #2 }
}
{
\semantex_data_tl_put_right:nnn { ##1 } { arg } { #2 }
}
- \semantex_data_int_incr:nn { ##1 } { numberofarguments }
- \semantex_data_bool_set_true:nn { ##1 } { nextargwithsep }
+ \semantex_data_int_incr:nn { ##1 } { number~of~arguments }
+ \semantex_data_bool_set_true:nn { ##1 } { next~arg~with~sep }
},
},
},