From ef3242e48c3652c1a7641d6d304f45fed40159a9 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 18 Jul 2021 20:25:16 +0000 Subject: semantex (18jul21) git-svn-id: svn://tug.org/texlive/trunk@59981 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/semantex/semantex.pdf | Bin 384087 -> 385078 bytes Master/texmf-dist/doc/latex/semantex/semantex.tex | 24 +- Master/texmf-dist/tex/latex/semantex/semantex.sty | 327 ++++++++++++++++++--- .../tex/latex/semantex/stripsemantex.sty | 2 +- 4 files changed, 307 insertions(+), 46 deletions(-) diff --git a/Master/texmf-dist/doc/latex/semantex/semantex.pdf b/Master/texmf-dist/doc/latex/semantex/semantex.pdf index 71b9241a809..006182bf852 100644 Binary files a/Master/texmf-dist/doc/latex/semantex/semantex.pdf and b/Master/texmf-dist/doc/latex/semantex/semantex.pdf differ diff --git a/Master/texmf-dist/doc/latex/semantex/semantex.tex b/Master/texmf-dist/doc/latex/semantex/semantex.tex index 2d8e6457aea..124296a291d 100644 --- a/Master/texmf-dist/doc/latex/semantex/semantex.tex +++ b/Master/texmf-dist/doc/latex/semantex/semantex.tex @@ -42,7 +42,7 @@ \usepackage[nameinlink]{cleveref} -\title{Seman\!\TeX: semantic, keyval-based mathematics (v0.507)} +\title{Seman\!\TeX: semantic, keyval-based mathematics (v0.508)} \date{\today} \author{Sebastian Ørsted (\href{mailto:sorsted@gmail.com}{sorsted@gmail.com})} @@ -3120,6 +3120,17 @@ the keys that can be used inside the command~\lstinline!\SemantexSetup! are: Another interesting possibility is the command~\lstinline!\ekvparse! from the package~\lstinline!expkv!. This choice will only affect keys for objects and classes, \emph{not} keys for use inside~\lstinline!\SemantexSetup!. + \item \mylst!single key parser={$\$}! + + Sets the single key parser function to~\. + The single key parser is the command that parses the content of the argument + when you have applied the setting \mylst!arg keyval=single keys!. + The \ must take two arguments: + \mylst!$\\${$\$}!. + The \ must take one argument and will be applied + to each entry in the \. + By default, this key has been set to the \LaTeX3 command~\mylst!\clist_map_function:nN! (but with the arguments in reverse order). + \item \mylst!semtex file={$\values\$}! When turned on, a \lstinline!.semtex! file will be created while processing the document. @@ -3540,12 +3551,19 @@ In the following sections, we include the full list. \item \mylst!parse options={$\$}! - Adds the \ to the parse options. + Adds the \ to the parse options, i.e.~adds it to the key \mylst!parse code!. \item \mylst!parse! - Invokes the parse routine. + Invokes the parse routine, i.e.~runs the key \mylst!parse code! and then empties + the contents of that key. + + \item + \mylst!parse code! + + The key where the parse options are stored. It is emptied when the parse + routine is invoked. \item \mylst!math class={$\$}! diff --git a/Master/texmf-dist/tex/latex/semantex/semantex.sty b/Master/texmf-dist/tex/latex/semantex/semantex.sty index b026a840230..cfc39416661 100644 --- a/Master/texmf-dist/tex/latex/semantex/semantex.sty +++ b/Master/texmf-dist/tex/latex/semantex/semantex.sty @@ -1,5 +1,5 @@ \RequirePackage{xparse,l3keys2e,leftindex,semtex} -\ProvidesExplPackage{semantex}{2021/07/04}{0.507}{} +\ProvidesExplPackage{semantex}{2021/07/18}{0.508}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % @@ -12,11 +12,15 @@ \cs_set_eq:NN \semantex_keyval_parse:NNn \keyval_parse:NNn +\cs_set:Npn \semantex_singlekey_parse:Nn#1#2 { \clist_map_function:nN { #2 } #1 } + \keys_define:nn { semantex } { keyval~parser .code:n = \cs_set_eq:NN \semantex_keyval_parse:NNn #1, keyval~parser .value_required:n = true, + single~key~parser .code:n = \cs_set_eq:NN \semantex_singlekey_parse:Nn #1, + single~key~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:, @@ -2879,6 +2883,7 @@ \cs_new_protected:Npn \semantex_keys_set_x:nn#1#2 { + % This key should no longer be used. \cs_set_eq:NN\l__semantex_keys_set_old_this_temp_cs:\semantex_this: \cs_set:Nn\semantex_this:{#1} % The central command for doing expanded keyval setup @@ -2904,6 +2909,7 @@ \cs_new_protected:Npn \semantex_arg_keys_set_x:nn#1#2 { + % This key should no longer be used. % The central command for doing expanded keyval setup for the argument % #1 = object % #2 = keys @@ -2913,14 +2919,22 @@ { #2 } } -\cs_generate_variant:Nn \clist_map_function:nN { nc } +\cs_generate_variant:Nn \semantex_singlekey_parse:Nn { cn } \cs_new_protected:Npn \semantex_arg_singlekeys_set:nn#1#2 { % This command is necessary because you sometimes want to only allow singlekeys % and not valuekeys in arguments (for instance, if you allow valuekeys, anything % containing an equality sign will die horribly in the argument of any object) - \clist_map_function:nc {#2} { __semantex_data_cs_#1_arg_singlekey:n } + \semantex_singlekey_parse:cn { __semantex_data_cs_#1_arg_singlekey:n } { #2 } +} + +\cs_new_protected:Npn \semantex_arg_singlekeys_set_x:nn#1#2 +{ + % This command is necessary because you sometimes want to only allow singlekeys + % and not valuekeys in arguments (for instance, if you allow valuekeys, anything + % containing an equality sign will die horribly in the argument of any object) + \semantex_singlekey_parse:cn { __semantex_data_cs_#1_arg_singlekey_x:n } {#2} } \DeclareDocumentCommand\SetupClass{mm}{ % a user-level command for setting up the object @@ -3692,7 +3706,7 @@ \semantex_preprocess_arg_keys_x:nN { #3 } #4 } { arg~keys~set~x }{ - \semantex_preprocess_arg_keys_x:nN { #3 } #4\textbf{} + \semantex_preprocess_arg_keys_x:nN { #3 } #4 } { set~arg~single~keys }{ \semantex_preprocess_arg_singlekeys:nN { #3 } #4 @@ -4851,6 +4865,7 @@ \cs_new_protected:Npn \semantex_clear_singlekey:nn#1#2 { + % Note that this is strictly different from undefining the key. \cs_set_protected:cpo { __semantex_data_cs_custom_singlekey_#1_\tl_trim_spaces:n{#2}:n } ##1 { % do nothing @@ -5718,7 +5733,7 @@ { \__semantex_preprocess_arg_singlekey:nnN { ####1 } { ##1 } #2 } - \clist_map_function:nN { #1 } \l__semantex_preprocess_arg_singlekey_temp_cs:n + \semantex_singlekey_parse:Nn \l__semantex_preprocess_arg_singlekey_temp_cs:n { #1 } } @@ -5810,7 +5825,7 @@ { \__semantex_preprocess_arg_singlekey_x:nnN { ####1 } { ##1 } #2 } - \clist_map_function:nN { #1 } \l__semantex_preprocess_arg_singlekey_x_temp_cs:n + \semantex_singlekey_parse:Nn \l__semantex_preprocess_arg_singlekey_x_temp_cs:n { #1 } } @@ -6809,18 +6824,78 @@ \cs_new:Npn\SemantexDataGet#1{\semantex_data_tl_get:nn{\semantex_this:}{\tl_trim_spaces:n{#1}}} \cs_new:Npn\SemantexDataGetExpNot#1{\semantex_data_tl_get_exp_not:nn{\semantex_this:}{\tl_trim_spaces:n{#1}}} \cs_new_protected:Npn\SemantexDataClear#1{\semantex_data_tl_clear:nn{\semantex_this:}{\tl_trim_spaces:n{#1}}} -\cs_new_protected:Npn\SemantexSetKeys#1{\semantex_keys_set:on{\semantex_this:}{#1}} -\cs_new_protected:Npn\SemantexKeysSet#1{\semantex_keys_set:on{\semantex_this:}{#1}} -\cs_new_protected:Npn\SemantexSetKeysx#1{\semantex_keys_set_x:on{\semantex_this:}{#1}} -\cs_new_protected:Npn\SemantexKeysSetx#1{\semantex_keys_set_x:on{\semantex_this:}{#1}} -\cs_new_protected:Npn\SemantexSetArgKeys#1{\semantex_arg_keys_set:nn { \semantex_this: } { #1 }} -\cs_new_protected:Npn\SemantexArgKeysSet#1{\semantex_arg_keys_set:nn { \semantex_this: } { #1 }} -\cs_new_protected:Npn\SemantexSetArgKeysx#1{\semantex_arg_keys_set_x:nn { \semantex_this: } { #1 }} -\cs_new_protected:Npn\SemantexArgKeysSetx#1{\semantex_arg_keys_set_x:nn { \semantex_this: } { #1 }} -\cs_new_protected:Npn\SemantexSetArgSingleKeys#1{\semantex_arg_singlekeys_set:nn { \semantex_this: } { #1 } } -\cs_new_protected:Npn\SemantexArgSingleKeysSet#1{\semantex_arg_singlekeys_set:nn { \semantex_this: } { #1 } } -\cs_new_protected:Npn\SemantexSetArgSingleKeysx#1{\semantex_arg_singlekeys_set_x:nn { \semantex_this: } { #1 } } -\cs_new_protected:Npn\SemantexArgSingleKeysSetx#1{\semantex_arg_singlekeys_set_x:nn { \semantex_this: } { #1 } } +\cs_new_protected:Npn\SemantexSetKeys#1{ + \tl_set:Nn\l__semantex_keys_set_temp_tl{} + \semantex_preprocess_keys:nN { #1 } \l__semantex_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_temp_cs:n{\l__semantex_keys_set_temp_tl} + \l__semantex_keys_set_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexKeysSet#1{ + \tl_set:Nn\l__semantex_keys_set_temp_tl{} + \semantex_preprocess_keys:nN { #1 } \l__semantex_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_temp_cs:n{\l__semantex_keys_set_temp_tl} + \l__semantex_keys_set_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexSetKeysx#1{ + \tl_set:Nn\l__semantex_keys_set_x_temp_tl{} + \semantex_preprocess_keys_x:nN { #1 } \l__semantex_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_x_temp_cs:n{\l__semantex_keys_set_x_temp_tl} + \l__semantex_keys_set_x_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexKeysSetx#1{ + \tl_set:Nn\l__semantex_keys_set_x_temp_tl{} + \semantex_preprocess_keys_x:nN { #1 } \l__semantex_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_x_temp_cs:n{\l__semantex_keys_set_x_temp_tl} + \l__semantex_keys_set_x_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexSetArgKeys#1{ + \tl_set:Nn\l__semantex_arg_keys_set_temp_tl{} + \semantex_preprocess_arg_keys:nN { #1 } \l__semantex_arg_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_temp_cs:n{\l__semantex_arg_keys_set_temp_tl} + \l__semantex_arg_keys_set_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexArgKeysSet#1{ + \tl_set:Nn\l__semantex_arg_keys_set_temp_tl{} + \semantex_preprocess_arg_keys:nN { #1 } \l__semantex_arg_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_temp_cs:n{\l__semantex_arg_keys_set_temp_tl} + \l__semantex_arg_keys_set_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexSetArgKeysx#1{ + \tl_set:Nn\l__semantex_arg_keys_set_x_temp_tl{} + \semantex_preprocess_arg_keys_x:nN { #1 } \l__semantex_arg_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_x_temp_cs:n{\l__semantex_arg_keys_set_x_temp_tl} + \l__semantex_arg_keys_set_x_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexArgKeysSetx#1{ + \tl_set:Nn\l__semantex_arg_keys_set_x_temp_tl{} + \semantex_preprocess_arg_keys_x:nN { #1 } \l__semantex_arg_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_x_temp_cs:n{\l__semantex_arg_keys_set_x_temp_tl} + \l__semantex_arg_keys_set_x_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexSetArgSingleKeys#1{ + \tl_set:Nn\l__semantex_arg_singlekeys_set_temp_tl{} + \semantex_preprocess_arg_singlekeys:nN { #1 } \l__semantex_arg_singlekeys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_temp_cs:n{\l__semantex_arg_singlekeys_set_temp_tl} + \l__semantex_arg_singlekeys_set_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexArgSingleKeysSet#1{ + \tl_set:Nn\l__semantex_arg_singlekeys_set_temp_tl{} + \semantex_preprocess_arg_singlekeys:nN { #1 } \l__semantex_arg_singlekeys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_temp_cs:n{\l__semantex_arg_singlekeys_set_temp_tl} + \l__semantex_arg_singlekeys_set_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexSetArgSingleKeysx#1{ + \tl_set:Nn\l__semantex_arg_singlekeys_set_x_temp_tl{} + \semantex_preprocess_arg_singlekeys_x:nN { #1 } \l__semantex_arg_singlekeys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_x_temp_cs:n{\l__semantex_arg_singlekeys_set_x_temp_tl} + \l__semantex_arg_singlekeys_set_x_temp_cs:n { \semantex_this: } +} +\cs_new_protected:Npn\SemantexArgSingleKeysSetx#1{ + \tl_set:Nn\l__semantex_arg_singlekeys_set_x_temp_tl{} + \semantex_preprocess_arg_singlekeys_x:nN { #1 } \l__semantex_arg_singlekeys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_x_temp_cs:n{\l__semantex_arg_singlekeys_set_x_temp_tl} + \l__semantex_arg_singlekeys_set_x_temp_cs:n { \semantex_this: } +} \cs_new_protected:Npn\SemantexSetOneArgSingleKey#1{\semantex_arg_singlekey:nn { \semantex_this: } { #1 } } \cs_new_protected:Npn\SemantexOneSingleArgKeySet#1{\semantex_arg_singlekey:nn { \semantex_this: } { #1 } } \cs_new_protected:Npn\SemantexSetOneArgSingleKeyx#1{\semantex_arg_singlekey_x:nn { \semantex_this: } { #1 } } @@ -7251,10 +7326,38 @@ {data~clear}{ execute={ \semantex_data_tl_clear:nn { ##1 } { \tl_trim_spaces:n { #1 } } }, }, - {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 } } }, + {keys~set}{ + execute={ + \tl_set:Nn\l__semantex_keys_set_temp_tl{} + \semantex_preprocess_keys:nN { #1 } \l__semantex_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_temp_cs:n{\l__semantex_keys_set_temp_tl} + \l__semantex_keys_set_temp_cs:n { ##1 } + }, + }, + {set~keys}{ + execute={ + \tl_set:Nn\l__semantex_keys_set_temp_tl{} + \semantex_preprocess_keys:nN { #1 } \l__semantex_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_temp_cs:n{\l__semantex_keys_set_temp_tl} + \l__semantex_keys_set_temp_cs:n { ##1 } + }, + }, + {keys~set~x}{ + execute={ + \tl_set:Nn\l__semantex_keys_set_x_temp_tl{} + \semantex_preprocess_keys_x:nN { #1 } \l__semantex_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_x_temp_cs:n{\l__semantex_keys_set_x_temp_tl} + \l__semantex_keys_set_x_temp_cs:n { ##1 } + }, + }, + {set~keys~x}{ + execute={ + \tl_set:Nn\l__semantex_keys_set_x_temp_tl{} + \semantex_preprocess_keys_x:nN { #1 } \l__semantex_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_x_temp_cs:n{\l__semantex_keys_set_x_temp_tl} + \l__semantex_keys_set_x_temp_cs:n { ##1 } + }, + }, {bool~provide}{ execute={ \semantex_data_bool_provide:nn { ##1 } { \tl_trim_spaces:n { #1 } } @@ -7632,14 +7735,70 @@ {clear~post~arg}{ execute={ \semantex_data_tl_clear:nn { ##1 } { post~arg } } }, }, 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~arg~keys}{ + execute={ + \tl_set:Nn\l__semantex_arg_keys_set_temp_tl{} + \semantex_preprocess_arg_keys:nN { #1 } \l__semantex_arg_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_temp_cs:n{\l__semantex_arg_keys_set_temp_tl} + \l__semantex_arg_keys_set_temp_cs:n { ##1 } + }, + }, + {arg~keys~set}{ + execute={ + \tl_set:Nn\l__semantex_arg_keys_set_temp_tl{} + \semantex_preprocess_arg_keys:nN { #1 } \l__semantex_arg_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_temp_cs:n{\l__semantex_arg_keys_set_temp_tl} + \l__semantex_arg_keys_set_temp_cs:n { ##1 } + }, + }, + {set~arg~keys~x}{ + execute={ + \tl_set:Nn\l__semantex_arg_keys_set_x_temp_tl{} + \semantex_preprocess_arg_keys_x:nN { #1 } \l__semantex_arg_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_x_temp_cs:n{\l__semantex_arg_keys_set_x_temp_tl} + \l__semantex_arg_keys_set_x_temp_cs:n { ##1 } + }, + }, + {arg~keys~set~x}{ + execute={ + \tl_set:Nn\l__semantex_arg_keys_set_x_temp_tl{} + \semantex_preprocess_arg_keys_x:nN { #1 } \l__semantex_arg_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_x_temp_cs:n{\l__semantex_arg_keys_set_x_temp_tl} + \l__semantex_arg_keys_set_x_temp_cs:n { ##1 } + }, + }, + {set~arg~single~keys}{ + execute={ + \tl_set:Nn\l__semantex_arg_singlekeys_set_temp_tl{} + \semantex_preprocess_arg_singlekeys:nN { #1 } \l__semantex_arg_singlekeys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_temp_cs:n{\l__semantex_arg_singlekeys_set_temp_tl} + \l__semantex_arg_singlekeys_set_temp_cs:n { ##1 } + }, + }, + {arg~single~keys~set}{ + execute={ + \tl_set:Nn\l__semantex_arg_singlekeys_set_temp_tl{} + \semantex_preprocess_arg_singlekeys:nN { #1 } \l__semantex_arg_singlekeys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_temp_cs:n{\l__semantex_arg_singlekeys_set_temp_tl} + \l__semantex_arg_singlekeys_set_temp_cs:n { ##1 } + }, + }, + {set~arg~single~keys~x}{ + execute={ + \tl_set:Nn\l__semantex_arg_singlekeys_set_x_temp_tl{} + \semantex_preprocess_arg_singlekeys_x:nN { #1 } \l__semantex_arg_singlekeys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_x_temp_cs:n{\l__semantex_arg_singlekeys_set_x_temp_tl} + \l__semantex_arg_singlekeys_set_x_temp_cs:n { ##1 } + }, + }, + {arg~single~keys~set~x}{ + execute={ + \tl_set:Nn\l__semantex_arg_singlekeys_set_x_temp_tl{} + \semantex_preprocess_arg_singlekeys_x:nN { #1 } \l__semantex_arg_singlekeys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_x_temp_cs:n{\l__semantex_arg_singlekeys_set_x_temp_tl} + \l__semantex_arg_singlekeys_set_x_temp_cs:n { ##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 } } }, @@ -9009,18 +9168,102 @@ % Argument keyval interface define~arg~keys[1]={ {execute}{execute={#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 } } }, + {keys~set}{ + execute={ + \tl_set:Nn\l__semantex_keys_set_temp_tl{} + \semantex_preprocess_keys:nN { #1 } \l__semantex_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_temp_cs:n{\l__semantex_keys_set_temp_tl} + \l__semantex_keys_set_temp_cs:n { ##1 } + }, + }, + {set~keys}{ + execute={ + \tl_set:Nn\l__semantex_keys_set_temp_tl{} + \semantex_preprocess_keys:nN { #1 } \l__semantex_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_temp_cs:n{\l__semantex_keys_set_temp_tl} + \l__semantex_keys_set_temp_cs:n { ##1 } + }, + }, + {keys~set~x}{ + execute={ + \tl_set:Nn\l__semantex_keys_set_x_temp_tl{} + \semantex_preprocess_keys_x:nN { #1 } \l__semantex_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_x_temp_cs:n{\l__semantex_keys_set_x_temp_tl} + \l__semantex_keys_set_x_temp_cs:n { ##1 } + }, + }, + {set~keys~x}{ + execute={ + \tl_set:Nn\l__semantex_keys_set_x_temp_tl{} + \semantex_preprocess_keys_x:nN { #1 } \l__semantex_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_keys_set_x_temp_cs:n{\l__semantex_keys_set_x_temp_tl} + \l__semantex_keys_set_x_temp_cs:n { ##1 } + }, + }, + {set~arg~keys}{ + execute={ + \tl_set:Nn\l__semantex_arg_keys_set_temp_tl{} + \semantex_preprocess_arg_keys:nN { #1 } \l__semantex_arg_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_temp_cs:n{\l__semantex_arg_keys_set_temp_tl} + \l__semantex_arg_keys_set_temp_cs:n { ##1 } + }, + }, + {arg~keys~set}{ + execute={ + \tl_set:Nn\l__semantex_arg_keys_set_temp_tl{} + \semantex_preprocess_arg_keys:nN { #1 } \l__semantex_arg_keys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_temp_cs:n{\l__semantex_arg_keys_set_temp_tl} + \l__semantex_arg_keys_set_temp_cs:n { ##1 } + }, + }, + {set~arg~keys~x}{ + execute={ + \tl_set:Nn\l__semantex_arg_keys_set_x_temp_tl{} + \semantex_preprocess_arg_keys_x:nN { #1 } \l__semantex_arg_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_x_temp_cs:n{\l__semantex_arg_keys_set_x_temp_tl} + \l__semantex_arg_keys_set_x_temp_cs:n { ##1 } + }, + }, + {arg~keys~set~x}{ + execute={ + \tl_set:Nn\l__semantex_arg_keys_set_x_temp_tl{} + \semantex_preprocess_arg_keys_x:nN { #1 } \l__semantex_arg_keys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_keys_set_x_temp_cs:n{\l__semantex_arg_keys_set_x_temp_tl} + \l__semantex_arg_keys_set_x_temp_cs:n { ##1 } + }, + }, + {set~arg~single~keys}{ + execute={ + \tl_set:Nn\l__semantex_arg_singlekeys_set_temp_tl{} + \semantex_preprocess_arg_singlekeys:nN { #1 } \l__semantex_arg_singlekeys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_temp_cs:n{\l__semantex_arg_singlekeys_set_temp_tl} + \l__semantex_arg_singlekeys_set_temp_cs:n { ##1 } + }, + }, + {arg~single~keys~set}{ + execute={ + \tl_set:Nn\l__semantex_arg_singlekeys_set_temp_tl{} + \semantex_preprocess_arg_singlekeys:nN { #1 } \l__semantex_arg_singlekeys_set_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_temp_cs:n{\l__semantex_arg_singlekeys_set_temp_tl} + \l__semantex_arg_singlekeys_set_temp_cs:n { ##1 } + }, + }, + {set~arg~single~keys~x}{ + execute={ + \tl_set:Nn\l__semantex_arg_singlekeys_set_x_temp_tl{} + \semantex_preprocess_arg_singlekeys_x:nN { #1 } \l__semantex_arg_singlekeys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_x_temp_cs:n{\l__semantex_arg_singlekeys_set_x_temp_tl} + \l__semantex_arg_singlekeys_set_x_temp_cs:n { ##1 } + }, + }, + {arg~single~keys~set~x}{ + execute={ + \tl_set:Nn\l__semantex_arg_singlekeys_set_x_temp_tl{} + \semantex_preprocess_arg_singlekeys_x:nN { #1 } \l__semantex_arg_singlekeys_set_x_temp_tl + \exp_args:NNo\cs_set:Nn\l__semantex_arg_singlekeys_set_x_temp_cs:n{\l__semantex_arg_singlekeys_set_x_temp_tl} + \l__semantex_arg_singlekeys_set_x_temp_cs:n { ##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 } } }, diff --git a/Master/texmf-dist/tex/latex/semantex/stripsemantex.sty b/Master/texmf-dist/tex/latex/semantex/stripsemantex.sty index 1d66144b501..1723ee1f457 100644 --- a/Master/texmf-dist/tex/latex/semantex/stripsemantex.sty +++ b/Master/texmf-dist/tex/latex/semantex/stripsemantex.sty @@ -1,5 +1,5 @@ \RequirePackage{xparse} -\ProvidesExplPackage{stripsemantex}{2021/07/04}{0.507}{} +\ProvidesExplPackage{stripsemantex}{2021/07/18}{0.508}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % -- cgit v1.2.3