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