From 3e6c1d9e0f4a3f6852f41547738a6b62086fda9d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 24 Aug 2021 03:02:02 +0000 Subject: CTAN sync 202108240302 --- macros/latex/contrib/cascade/README.md | 3 +- macros/latex/contrib/cascade/cascade-french.pdf | Bin 65039 -> 70833 bytes macros/latex/contrib/cascade/cascade-french.tex | 68 +++++--- macros/latex/contrib/cascade/cascade.dtx | 204 ++++++++++++++++++++---- macros/latex/contrib/cascade/cascade.ins | 4 +- macros/latex/contrib/cascade/cascade.pdf | Bin 108503 -> 119231 bytes macros/latex/contrib/polski/polski.dtx | 37 +++-- macros/latex/contrib/polski/polski.pdf | Bin 200528 -> 191131 bytes macros/latex/contrib/polski/sample-polski.pdf | Bin 86160 -> 86160 bytes macros/latex/contrib/semantex/semantex.pdf | Bin 384739 -> 385165 bytes macros/latex/contrib/semantex/semantex.sty | 160 ++++++++++++++++--- macros/latex/contrib/semantex/semantex.tex | 86 +++++++++- macros/latex/contrib/semantex/stripsemantex.sty | 2 +- 13 files changed, 461 insertions(+), 103 deletions(-) (limited to 'macros/latex/contrib') diff --git a/macros/latex/contrib/cascade/README.md b/macros/latex/contrib/cascade/README.md index a124aabb10..051fe2c0a7 100644 --- a/macros/latex/contrib/cascade/README.md +++ b/macros/latex/contrib/cascade/README.md @@ -9,8 +9,7 @@ The LaTeX extension `cascade` is distributed under the LPPL 1.3 license. ## Presentation - -The LaTeX package `cascade` provides a command `\Cascade` to do contructions to present mathematical +The LaTeX package `cascade` provides a command `\Cascade` to do constructions to present mathematical demonstrations with successive braces for the deductions. diff --git a/macros/latex/contrib/cascade/cascade-french.pdf b/macros/latex/contrib/cascade/cascade-french.pdf index 223217e4a6..964587adc6 100644 Binary files a/macros/latex/contrib/cascade/cascade-french.pdf and b/macros/latex/contrib/cascade/cascade-french.pdf differ diff --git a/macros/latex/contrib/cascade/cascade-french.tex b/macros/latex/contrib/cascade/cascade-french.tex index bc0115099c..5e265435b8 100644 --- a/macros/latex/contrib/cascade/cascade-french.tex +++ b/macros/latex/contrib/cascade/cascade-french.tex @@ -66,38 +66,39 @@ \title{L'extension LaTeX \pkg{cascade}\thanks{Ce document correspond à la -version~\myfileversion\space of \pkg{cascade}, à la date du~\myfiledate.}} +version~\myfileversion\space de \pkg{cascade}, à la date du~\myfiledate.}} \author{F. Pantigny \\ \texttt{fpantigny@wanadoo.fr}} \maketitle \begin{abstract} -L'extension LaTeX \pkg{cascade} fournit une commande |\Cascade| pour faire des -constructions qui présentent des démonstrations mathématiques avec des accolades -enchaînées pour les déductions. +L'extension LaTeX \pkg{cascade} fournit une commande |\Cascade| pour faire des constructions qui présentent des +démonstrations mathématiques avec des accolades enchaînées pour les déductions. L'extension \pkg{cascade} fournit +également une commande |\Edacsac| (\emph{cascade} à l'envers) qui construit une structure similaire mais avec des +accolades allant dans l'autre sens. \end{abstract} \vspace{1cm} -\section{Présentation} +\section{La commande \textbackslash Cascade} L'extension \pkg{cascade} fournit une commande |\Cascade| qui permet des constructions comme la suivante, où la taille de l'accolade de droite est calculée sur seulement une partie des éléments LaTeX composés à gauche. \begin{center} -\Cascade{$\det(A) = \begin{vmatrix}3&4\\ -1&7\end{vmatrix}\neq 0$}% - {et, par conséquent, $A$ est inversible}% - {}% +\Cascade{$\det(A) = \begin{vmatrix}3&4\\ -1&7\end{vmatrix}\neq 0$} + {et, par conséquent, $A$ est inversible} + {} {or $AX=Y$} donc, $X = A^{-1}Y$ \end{center} \medskip \begin{Verbatim} -~emphase#\Cascade@{$\det(A) = \begin{vmatrix}3&4\\ -1&7\end{vmatrix}\neq 0$}% - {et, par conséquent, $A$ est inversible}% - {}% +~emphase#\Cascade@{$\det(A) = \begin{vmatrix}3&4\\ -1&7\end{vmatrix}\neq 0$} + {et, par conséquent, $A$ est inversible} + {} {or $AX=Y$} donc, $X = A^{-1}Y$ \end{Verbatim} @@ -244,14 +245,47 @@ Ces options peuvent être fixées au niveau du document avec la commande |\CascadeOptions|. Dans ce cas, la portée de ces déclarations est le groupe TeX courant (ces déclarations sont, comme on dit parfois «semi-globales»). +\bigskip +\section{La commande \textbackslash Edacsac} + +La commande |\Edacsac| (\textsl{cascade} écrit à l'envers) est similaire à la commande |\Cascade| mais avec des +accolades dans l'autre sens. La clé~|t| n'est pas disponible dans cette commande. + +\begin{Verbatim} +Singularity +~emphase#\Edacsac@ + {elementary} + { + ~emphase#\Edacsac@ + {non-degenerate elementary} + {~emphase#\ShortEdacsac@{hyperbolic}{non-hyperbolic}} + {degenerate elementary} + {} + } + {non-elementary} + {~emphase#\ShortEdacsac@{Nilpotent}{Higher order}} +\end{Verbatim} + + +Singularity +\Edacsac + {elementary} + { + \Edacsac + {non-degenerate elementary} + {\ShortEdacsac{hyperbolic}{non-hyperbolic}} + {degenerate elementary} + {} + } + {non-elementary} + {\ShortEdacsac{nilpotent}{higher order}} \bigskip \section{Remarque technique} -L'extension |\Cascade| est conçue pour fournir par défaut des résultats similaires -à ceux fournis par les environnements de l'\pkg{amsmath} (et de -\pkg{mathtools}), en particulier |{aligned}|. +Les commandes de \pkg{cascade} sont conçues pour fournir par défaut des résultats similaires à ceux fournis par les +environnements de l'\pkg{amsmath} (et de \pkg{mathtools}), en particulier |{aligned}|. \bigskip @@ -278,7 +312,7 @@ L'extension \pkg{cascade} construit les accolades avec la paire habituelle |\left|-|\right| de TeX. Néanmoins, les délimiteurs extensibles, en TeX, ne peuvent pas prendre toutes les tailles. On donne, dans l'exemple suivant, les accolades obtenues en entourant des filets verticaux de $6$~mm à $17$~mm (le code -est en |expl3|). +utilise la couche programmative de LaTeX3). \begin{Verbatim} \int_step_inline:nnnn 6 1 {17} { $\left.\hbox{\vrule height ~#1 mm}\right\}$\quad } @@ -298,10 +332,6 @@ Le document |cascade.pdf| (fourni avec l'extension \pkg{cascade}) contient une t documentation ici présente, ainsi que le code source commenté et un historique des versions. - - - - \end{document} diff --git a/macros/latex/contrib/cascade/cascade.dtx b/macros/latex/contrib/cascade/cascade.dtx index 33aaa5b8a9..3112dab314 100644 --- a/macros/latex/contrib/cascade/cascade.dtx +++ b/macros/latex/contrib/cascade/cascade.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2018-2020 by F. Pantigny +% Copyright (C) 2018-2021 by F. Pantigny % ----------------------------------- % % This file may be distributed and/or modified under the @@ -15,8 +15,8 @@ % % \fi % \iffalse -\def\myfileversion{1.1} -\def\myfiledate{2020/07/05} +\def\myfileversion{1.2} +\def\myfiledate{2021/08/23} % % %<*batchfile> @@ -26,7 +26,7 @@ \usedir{tex/latex/cascade} \preamble -Copyright (C) 2018-2020 by F. Pantigny +Copyright (C) 2018-2021 by F. Pantigny ----------------------------------- This file may be distributed and/or modified under the @@ -106,30 +106,32 @@ version 2005/12/01 or later. % \begin{abstract} % The LaTeX package \pkg{cascade} provides a command |\Cascade| to do % constructions to present mathematical demonstrations with successive braces -% for the deductions. +% for the deductions. The package \pkg{cascade} provides also a command +% |\Edacsac| which creates similar structures but with +% braces going backwards. % \end{abstract} % % % % \vspace{1cm} -% \section{Presentation} +% \section{The command \textbackslash Cascade} % % The package \pkg{cascade} provides a command |\Cascade| which allows % constructions like the following where the size of the right brace is computed % on only a part of the LaTeX elements composed on the left. % \begin{center} -% \Cascade{$\det(A) = \begin{vmatrix}3&4\\ -1&7\end{vmatrix}\neq 0$}% -% {and, therefore, $A$ is inversible}% -% {}% +% \Cascade{$\det(A) = \begin{vmatrix}3&4\\ -1&7\end{vmatrix}\neq 0$} +% {and, therefore, $A$ is inversible} +% {} % {yet $AX=Y$} % hence, $X = A^{-1}Y$ % \end{center} % % \medskip % \begin{Verbatim} -% ~emphase#\Cascade@{$\det(A) = \begin{vmatrix}3&4\\ -1&7\end{vmatrix}\neq 0$}% -% {and, therefore, $A$ is inversible}% -% {}% +% ~emphase#\Cascade@{$\det(A) = \begin{vmatrix}3&4\\ -1&7\end{vmatrix}\neq 0$} +% {and, therefore, $A$ is inversible} +% {} % {yet $AX=Y$} % hence, $X = A^{-1}Y$ % \end{Verbatim} @@ -272,13 +274,49 @@ version 2005/12/01 or later. % |\CascadeOptions|. In this case, the scope of the declarations is the current % TeX group (these declarations are ``semi-global''). % +% \bigskip +% \section{The command \textbackslash Edacsac} +% +% The command |\Edacsac| (\textsl{cascade} written in reverse) is similar to the +% command |\Cascade| but with braces going backwards. The key |t| is not available in that command. +% +% \begin{Verbatim} +% Singularity +% ~emphase#\Edacsac@ +% {elementary} +% { +% ~emphase#\Edacsac@ +% {non-degenerate elementary} +% {~emphase#\ShortEdacsac@{hyperbolic}{non-hyperbolic}} +% {degenerate elementary} +% {} +% } +% {non-elementary} +% {~emphase#\ShortEdacsac@{Nilpotent}{Higher order}} +% \end{Verbatim} +% +% +% Singularity +% \Edacsac +% {elementary} +% { +% \Edacsac +% {non-degenerate elementary} +% {\ShortEdacsac{hyperbolic}{non-hyperbolic}} +% {degenerate elementary} +% {} +% } +% {non-elementary} +% {\ShortEdacsac{nilpotent}{higher order}} +% +% % % \bigskip % \section{Technical remark} % -% The package |\Cascade| is designed to provide by default results similar to the -% those given by the environments of \pkg{amsmath} --- and \pkg{mathtools} --- -% especially |{aligned}|. +% The package \pkg{cascade} is designed to provide by default results similar to +% the those given by the environments of \pkg{amsmath} --- and \pkg{mathtools} +% --- especially |{aligned}|. % % \bigskip % \begin{BVerbatim}[baseline=c,boxwidth=10cm] @@ -303,7 +341,8 @@ version 2005/12/01 or later. % The package \pkg{cascade} constructs the braces with the classical pair % |\left|-|\right| of TeX. However, the extensible delimiters, in TeX, cannot % take all sizes. We give, in the following example, the braces obtained when -% surrounding vertical rules from $6$~mm to $17$~mm (the code is in |expl3|). +% surrounding vertical rules from $6$~mm to $17$~mm (the code uses the L3 +% programming layer). % % \begin{Verbatim} % \int_step_inline:nnnn 6 1 {17} { $\left.\hbox{\vrule height ~#1 mm}\right\}$\quad } @@ -330,10 +369,6 @@ version 2005/12/01 or later. {Easy presentation of demonstrations in cascades} % \end{macrocode} % -% \interitem -% \begin{macrocode} -\RequirePackage{xparse} -% \end{macrocode} % % \interitem % \iffalse @@ -404,7 +439,7 @@ version 2005/12/01 or later. %% %% This set of options will be used by \Cascade and \ShortCascade % \fi -% The set of keys |cascade/command| will be used for the commands |\Cascade|. +% The set of keys |cascade/command| will be used by the command |\Cascade|. % \begin{macrocode} \keys_define:nn { cascade / command } { @@ -461,6 +496,19 @@ version 2005/12/01 or later. space-between .value_required:n = true } % \end{macrocode} +% +% \medskip +% \begin{macrocode} +\cs_new_protected:Npn \@@_initialisation: + { + \box_clear_new:N \l_@@_box_one + \box_clear_new:N \l_@@_box_two + \box_clear_new:N \l_@@_box_three + \box_clear_new:N \l_@@_box_four + \dim_zero_new:N \l_@@_top_dim + \dim_zero_new:N \l_@@_bottom_dim + } +% \end{macrocode} % % \medskip % \DescribeMacro{\CascadeOptions} @@ -484,7 +532,7 @@ version 2005/12/01 or later. \NewDocumentCommand \Cascade { O { } m m m m D < > { } } { \if_mode_math: - \msg_error:nn { cascade } { Cascade~in~math~mode } + \msg_error:nn { cascade } { math~mode } \fi: \mode_leave_vertical: % \end{macrocode} @@ -500,10 +548,7 @@ version 2005/12/01 or later. \spread@equation \dim_set_eq:NN \l_@@_interline_dim \l_@@_interline_all_dim \keys_set:nn { cascade / command } { #1 } - \box_clear_new:N \l_@@_box_one - \box_clear_new:N \l_@@_box_two - \box_clear_new:N \l_@@_box_three - \box_clear_new:N \l_@@_box_four + \@@_initialisation: \hbox_set:Nn \l_@@_box_one { \bool_set_true:N \l_@@_first_argument_bool @@ -524,7 +569,6 @@ version 2005/12/01 or later. % The dimension |\l_@@_top_dim| is the space that we will have to add before the % main construction to make up for the ``|\smash[t]|'' of the box |#1|. % \begin{macrocode} - \dim_zero_new:N \l_@@_top_dim \dim_set:Nn \l_@@_top_dim { \dim_max:nn @@ -535,7 +579,6 @@ version 2005/12/01 or later. % The dimension |\l_@@_bottom_dim| is the space that we will have to add after % the main construction to make up for the ``|\smash[b]|'' of the box |#3|. % \begin{macrocode} - \dim_zero_new:N \l_@@_bottom_dim \dim_set:Nn \l_@@_bottom_dim { \dim_max:nn @@ -565,6 +608,10 @@ version 2005/12/01 or later. % \begin{macrocode} \bool_if:NT \l_@@_first_argument_bool { +% \end{macrocode} +% Here, you should use |\box_ht_plus_dp:N| when TeXLive 2021 will be available +% on Overleaf. +% \begin{macrocode} \dim_set:Nn \l_tmpa_dim { \box_ht:N \l_tmpb_box + \box_dp:N \l_tmpb_box } \l_tmpa_dim = 0.5\l_tmpa_dim @@ -575,7 +622,7 @@ version 2005/12/01 or later. } % \end{macrocode} % \begin{macrocode} - \hbox:n + \hbox { \c_math_toggle_token \left . @@ -625,7 +672,7 @@ version 2005/12/01 or later. \halign { \hfil ## \cr - \hbox:n + \hbox { \tl_if_empty:nF { #1 } { @@ -637,7 +684,7 @@ version 2005/12/01 or later. } \cr \noalign { \skip_vertical:n \l_@@_interline_dim } - \hbox:n + \hbox { \tl_if_empty:nF { #2 } { @@ -654,15 +701,92 @@ version 2005/12/01 or later. } } % \end{macrocode} +% +% \bigskip +% The command |\Edacsac|. The code is simpler because we don't need the +% |\halign| and we don't have the key |t|. +% +% \begin{macrocode} +\NewDocumentCommand \Edacsac { O { } m m m m } + { + \if_mode_math: + \msg_error:nn { cascade } { math~mode } + \fi: + \mode_leave_vertical: + \group_begin: + \spread@equation + \dim_set_eq:NN \l_@@_interline_dim \l_@@_interline_all_dim + \keys_set:nn { cascade / command } { #1 } + \@@_initialisation: + \hbox_set:Nn \l_@@_box_one { #2 } + \hbox_set:Nn \l_@@_box_two { #3 } + \hbox_set:Nn \l_@@_box_three { #4 } + \hbox_set:Nn \l_@@_box_four { #5 } + \dim_set:Nn \l_@@_top_dim + { + \dim_max:nn + \c_zero_dim + { \box_ht:N \l_@@_box_two - \box_ht:N \l_@@_box_one } + } + \dim_set:Nn \l_@@_bottom_dim + { + \dim_max:nn + \c_zero_dim + { \box_dp:N \l_@@_box_four - \box_dp:N \l_@@_box_three } + } + \box_set_ht:Nn \l_@@_box_two \c_zero_dim + \box_set_dp:Nn \l_@@_box_four \c_zero_dim + \vbox + { + \skip_vertical:N \l_@@_top_dim + \vtop + { + \hbox + { + \c_math_toggle_token + \left \{ + \vcenter + { + \hbox + { + \tl_if_empty:nF { #2 } + { + \box_use_drop:N \l_@@_box_one + \skip_horizontal:n \l_@@_space_between_dim + } + \box_use_drop:N \l_@@_box_two + \strut + } + \skip_vertical:N \l_@@_interline_dim + \hbox + { + \tl_if_empty:nF { #4 } + { + \box_use_drop:N \l_@@_box_three + \skip_horizontal:n \l_@@_space_between_dim + } + \box_use_drop:N \l_@@_box_four + \strut + } + } + \right . + \c_math_toggle_token + } + \skip_vertical:N \l_@@_bottom_dim + } + } + \group_end: +} +% \end{macrocode} +% % % \bigskip % \begin{macrocode} \msg_new:nnn { cascade } - { Cascade~in~math~mode } + { math~mode } { - The~commands~\token_to_str:N \Cascade\ - and~\token_to_str:N \ShortCascade\ + The~commands~of~the~extension~'cascade'~ should~be~used~in~text~mode~only.~However,~you~can~ go~on~for~this~time. } @@ -688,6 +812,15 @@ version 2005/12/01 or later. { \Cascade [ #1 ] { } { #2 } { } { #3 } } % \end{macrocode} % +% \bigskip +% \DescribeMacro{\ShortEdacsac} +% Idem for |\ShortEdacsac| +% \begin{macrocode} +\NewDocumentCommand \ShortEdacsac { O { } m m } + { \Edacsac [ #1 ] { #2 } { } { #3 } { } } +% \end{macrocode} +% +% % \vspace{1cm} % \section{History} % @@ -695,7 +828,10 @@ version 2005/12/01 or later. % % New option |t|. % +% \subsection*{Changes between versions 1.0 and 1.1} % +% New commands |\Edacsac| and |\ShortEdacsac|. +% % % \PrintIndex % \tableofcontents diff --git a/macros/latex/contrib/cascade/cascade.ins b/macros/latex/contrib/cascade/cascade.ins index 6f7ebb3ff9..db89312250 100644 --- a/macros/latex/contrib/cascade/cascade.ins +++ b/macros/latex/contrib/cascade/cascade.ins @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2018 by F. Pantigny +%% Copyright (C) 2018-2021 by F. Pantigny %% %% %% This file may be distributed and/or modified under the @@ -17,7 +17,7 @@ \usedir{tex/latex/cascade} \preamble -Copyright (C) 2018 by F. Pantigny +Copyright (C) 2018-2021 by F. Pantigny This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either diff --git a/macros/latex/contrib/cascade/cascade.pdf b/macros/latex/contrib/cascade/cascade.pdf index b500b16171..98e5437c28 100644 Binary files a/macros/latex/contrib/cascade/cascade.pdf and b/macros/latex/contrib/cascade/cascade.pdf differ diff --git a/macros/latex/contrib/polski/polski.dtx b/macros/latex/contrib/polski/polski.dtx index 3be862dec4..dd0dcaeb28 100644 --- a/macros/latex/contrib/polski/polski.dtx +++ b/macros/latex/contrib/polski/polski.dtx @@ -2,7 +2,7 @@ % % Copyright (C) 1994 by Mariusz Olko. All rights reserved. % Copyright (C) 1997, 1998 by Mariusz Olko and Marcin Woli\'nski. -% Copyright (C) 2000, 2001, 2003, 2007, 2017 by Marcin Woli\'nski. +% Copyright (C) 2000, 2001, 2003, 2007, 2017, 2021 by Marcin Woli\'nski. % All rights reserved. % % This file is part of the package 'Polski' @@ -23,23 +23,20 @@ %% Comment next line if you want to print the code %%\OnlyDescription \def\parsedate#1/#2/#3.{\day=#3 \month=#2 \year=#1 } -\parsedate 2017/05/04. +\parsedate 2021/08/22. \author{\begin{tabular}[t]{c} - Mariusz Olko\\[4pt] - Litter\ae\\ - G\'orczewska 94\Slash96\Slash7\\ - 01--117 Warszawa\\ - \textsf{M.Olko@Litterae.com.pl}\\ - \end{tabular} -\hskip20pt -\begin{tabular}[t]{c} - Marcin Woli\'nski\\[4pt] - \textsf{wolinski@gust.org.pl}\\ -\end{tabular} + Mariusz Olko\\[4pt] + (inactive) + \end{tabular} + \hskip20pt + \begin{tabular}[t]{c} + Marcin Woli\'nski\\[4pt] + \textsf{wolinski@gust.org.pl}\\ + \end{tabular} }%\\[4pt] \title{Pakiet \textsc{Polski}\\ - wersja 1.3.4} + wersja 1.3.5} \begin{document} \maketitle @@ -51,7 +48,7 @@ % % \fi % -% \CheckSum{1206} +% \CheckSum{1210} % % \def\PostScript{\textsc{PostScript}} % \def\Polski{{\sc Polski}} @@ -283,7 +280,7 @@ % \end{macrocode} % Announce the name of the package to the world % \begin{macrocode} -\ProvidesPackage{polski}[2017/05/04 v1.3.4 Polish language package] +\ProvidesPackage{polski}[2021/08/22 v1.3.5 Polish language package] % \end{macrocode} % % \subsection{Category codes and all that} @@ -660,8 +657,10 @@ whatever should be in the place of the offending pair.}} % Polish typographical rules require to put a fixed space of .2em % around dashes and forbid breaking a line before a dash. % \begin{macrocode} -\newcommand*\pauza{\unskip\kern.2em\textemdash\hskip.2em\ignorespaces} -\newcommand*\ppauza{\unskip\kern.2em\textendash\hskip.2em\ignorespaces} +\newcommand*\pauza{\ifhmode\unskip\kern.2em\fi\textemdash\hskip.2em + \ignorespaces} +\newcommand*\ppauza{\ifhmode\unskip\kern.2em\fi\textendash\hskip.2em + \ignorespaces} % \end{macrocode} % \end{macro} % @@ -1253,7 +1252,7 @@ lub w ostatecznosci uzyj pakietu ot1patch.}{}}% % % \begin{macrocode} %<*encoding> -\ProvidesFile{ot4enc.def}[2017/05/04 v1.3.4 Output encoding for polish fonts] +\ProvidesFile{ot4enc.def}[2021/08/22 v1.3.5 Output encoding for polish fonts] % \end{macrocode} % Declare the encoding. % \begin{macrocode} diff --git a/macros/latex/contrib/polski/polski.pdf b/macros/latex/contrib/polski/polski.pdf index 01d97a7b8a..96ed5e3916 100644 Binary files a/macros/latex/contrib/polski/polski.pdf and b/macros/latex/contrib/polski/polski.pdf differ diff --git a/macros/latex/contrib/polski/sample-polski.pdf b/macros/latex/contrib/polski/sample-polski.pdf index f121fe3263..3de1ace546 100644 Binary files a/macros/latex/contrib/polski/sample-polski.pdf and b/macros/latex/contrib/polski/sample-polski.pdf differ diff --git a/macros/latex/contrib/semantex/semantex.pdf b/macros/latex/contrib/semantex/semantex.pdf index b397d48445..7bbf5313c2 100644 Binary files a/macros/latex/contrib/semantex/semantex.pdf and b/macros/latex/contrib/semantex/semantex.pdf differ diff --git a/macros/latex/contrib/semantex/semantex.sty b/macros/latex/contrib/semantex/semantex.sty index 5d7e6070a1..325f2dbec5 100644 --- a/macros/latex/contrib/semantex/semantex.sty +++ b/macros/latex/contrib/semantex/semantex.sty @@ -1,5 +1,5 @@ \RequirePackage{xparse,l3keys2e,leftindex,semtex} -\ProvidesExplPackage{semantex}{2021/08/10}{0.512}{} +\ProvidesExplPackage{semantex}{2021/08/23}{0.513}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % @@ -10,7 +10,7 @@ % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\tl_set:Nn\SemantexVersion{0.512} +\tl_set:Nn\SemantexVersion{0.513} \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 } @@ -1574,13 +1574,15 @@ \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } { lower~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { lower } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { pre~upper } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper } } + { pre~upper~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { post~upper } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper } } + { post~upper~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { pre~lower } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower } } + { pre~lower~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { post~lower } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower } } + { post~lower~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower } } + \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } + { slanting~phantom } { } % reset slanting phantom \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } { math~class } { \semantex_data_tl_get_exp_not:nn { #1 } { math~class } } \exp_not:V \l__semantex_render_output_options_temp_tl @@ -1609,13 +1611,13 @@ \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } { 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_object_associated_to_output_class_tempt_tl } - { pre~upper~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper~left } } + { pre~upper~left~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper~left } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { post~upper~left } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper~left } } + { post~upper~left~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper~left } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { pre~lower~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower~left } } + { pre~lower~left~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower~left } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { post~lower~left } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower~left } } + { post~lower~left~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower~left } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } { height~phantom } { \semantex_data_tl_get_exp_not:nn { #1 } { height~phantom } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } @@ -1651,21 +1653,21 @@ \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } { 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_object_associated_to_output_class_tempt_tl } - { pre~upper } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper } } + { pre~upper~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { post~upper } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper } } + { post~upper~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { pre~lower } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower } } + { pre~lower~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { post~lower } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower } } + { post~lower~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { pre~upper~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper~left } } + { pre~upper~left~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~upper~left } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { post~upper~left } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper~left } } + { post~upper~left~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { post~upper~left } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { pre~lower~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower~left } } + { pre~lower~left~put~left } { \semantex_data_tl_get_exp_not:nn { #1 } { pre~lower~left } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } - { post~lower~left } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower~left } } + { post~lower~left~put~right } { \semantex_data_tl_get_exp_not:nn { #1 } { post~lower~left } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } { height~phantom } { \semantex_data_tl_get_exp_not:nn { #1 } { height~phantom } } \exp_not:N\semantex_base_object_valuekey:nnn { \l__semantex_render_object_associated_to_output_class_tempt_tl } @@ -7828,8 +7830,34 @@ {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 } } }, + {pre~arg}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_right:nnn { ##1 } { pre~arg } { #1 } + } + }, + }, + {pre~arg~put~left}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_left:nnn { ##1 } { pre~arg } { #1 } + } + }, + }, + {post~arg}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_left:nnn { ##1 } { post~arg } { #1 } + } + }, + }, + {post~arg~put~right}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_right: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 } } }, @@ -8073,6 +8101,13 @@ } }, }, + {pre~upper~put~left}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_left:nnn { ##1 } { pre~upper } { #1 } + } + }, + }, {post~upper}{ execute={ \tl_if_blank:nF{#1}{ @@ -8080,6 +8115,13 @@ } }, }, + {post~upper~put~right}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_right:nnn { ##1 } { post~upper } { #1 } + } + }, + }, {upper~put~left}{ execute={ \tl_if_blank:nF { #1 } @@ -8245,6 +8287,13 @@ } }, }, + {pre~lower~put~left}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_left:nnn { ##1 } { pre~lower } { #1 } + } + }, + }, {post~lower}{ execute={ \tl_if_blank:nF{#1}{ @@ -8252,6 +8301,13 @@ } }, }, + {post~lower~put~right}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_right:nnn { ##1 } { post~lower } { #1 } + } + }, + }, {lower~put~left}{ execute={ \tl_if_blank:nF { #1 } @@ -8417,6 +8473,13 @@ } }, }, + {pre~upper~left~put~left}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_left:nnn { ##1 } { pre~upper~left } { #1 } + } + }, + }, {post~upper~left}{ execute={ \tl_if_blank:nF{#1}{ @@ -8424,6 +8487,13 @@ } }, }, + {post~upper~left~put~right}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_right:nnn { ##1 } { post~upper~left } { #1 } + } + }, + }, {upper~left~put~right}{ execute={ \tl_if_blank:nF { #1 } @@ -8589,6 +8659,13 @@ } }, }, + {pre~lower~left~put~left}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_left:nnn { ##1 } { pre~lower~left } { #1 } + } + }, + }, {post~lower~left}{ execute={ \tl_if_blank:nF{#1}{ @@ -8596,6 +8673,13 @@ } }, }, + {post~lower~left~put~right}{ + execute={ + \tl_if_blank:nF{#1}{ + \semantex_data_tl_put_right:nnn { ##1 } { post~lower~left } { #1 } + } + }, + }, {lower~left~put~right}{ execute={ \tl_if_blank:nF { #1 } @@ -8786,6 +8870,15 @@ pre~lower={#1}, }, }, + {pre~d~put~left}{ + bool~if~TF={upper~grading} + { + pre~upper~put~left={#1}, + } + { + pre~lower~put~left={#1}, + }, + }, {post~d}{ bool~if~TF={upper~grading} { @@ -8795,6 +8888,15 @@ post~lower={#1}, }, }, + {post~d~put~right}{ + bool~if~TF={upper~grading} + { + post~upper~put~right={#1}, + } + { + post~lower~put~right={#1}, + }, + }, {d~put~left}{ bool~if~TF={upper~grading} { @@ -9013,6 +9115,15 @@ pre~upper={#1}, }, }, + {pre~i~put~left}{ + bool~if~TF={upper~grading} + { + pre~lower~put~left={#1}, + } + { + pre~upper~put~left={#1}, + }, + }, {post~i}{ bool~if~TF={upper~grading} { @@ -9022,6 +9133,15 @@ post~upper={#1}, }, }, + {post~i~put~right}{ + bool~if~TF={upper~grading} + { + post~lower~put~right={#1}, + } + { + post~upper~put~right={#1}, + }, + }, {i~put~left}{ bool~if~TF={upper~grading} { diff --git a/macros/latex/contrib/semantex/semantex.tex b/macros/latex/contrib/semantex/semantex.tex index 563be874be..3b2630da08 100644 --- a/macros/latex/contrib/semantex/semantex.tex +++ b/macros/latex/contrib/semantex/semantex.tex @@ -42,7 +42,7 @@ \usepackage[nameinlink]{cleveref} -\title{Seman\!\TeX: semantic, keyval-based mathematics (v0.512)} +\title{Seman\!\TeX: semantic, keyval-based mathematics (v0.513)} \date{\today} \author{Sebastian Ørsted (\href{mailto:sorsted@gmail.com}{sorsted@gmail.com})} @@ -103,6 +103,10 @@ \usepackage{semantex} +\SemantexSetup{ + semtex file=true, +} + \usepackage{expkv} \NewVariableClass\MyVar[ @@ -2036,7 +2040,7 @@ Tuple-like commands are also possible: \NewObject\MyVar\tup[left par=(,right par=)] % tuples \NewObject\MyVar\pcoor[ % projective coordinates left par={[}, right par={]}, - set arg sep=\mathpunct{:}, + set arg sep=\mathbin{:}, % changes the argument separator to colon set arg dots=\dotsb, % changes what is inserted if you write "..." @@ -2045,7 +2049,7 @@ Tuple-like commands are also possible: \NewObject\MyVar\tup[left par=(,right par=)] % tuples \NewObject\MyVar\pcoor[ % projective coordinates left par={[}, right par={]}, - set arg sep=\mathpunct{:}, + set arg sep=\mathbin{:}, % changes the argument separator to colon set arg dots=\dotsb, % changes what is inserted if you write "..." @@ -3350,9 +3354,9 @@ In the following sections, we include the full list. Increases the \ by~\( 1 \). \item - \mylst!int if ieq TF={$\$}{$\$}{$\$}{$\$}!, \\ - \mylst!int if ieq T={$\$}{$\$}{$\$}!, \\ - \mylst!int if ieq F={$\$}{$\$}{$\$}! + \mylst!int if eq TF={$\$}{$\$}{$\$}{$\$}!, \\ + \mylst!int if eq T={$\$}{$\$}{$\$}!, \\ + \mylst!int if eq F={$\$}{$\$}{$\$}! Checks whether the integers \ and \ are equal, and runs \ or \ accordingly. @@ -3840,11 +3844,21 @@ In the following sections, we include the full list. \mylst!pre arg={$\$}! Sets the pre-argument. + + \item + \mylst!pre arg put left={$\$}! + + Adds to the left of the pre-argument. \item \mylst!post arg={$\$}! Sets the post-argument. + + \item + \mylst!post arg put right={$\$}! + + Adds to the right of the post-argument. \item \mylst!set arg sep={$\$}! @@ -3994,11 +4008,21 @@ In the following sections, we include the full list. \mylst!pre upper={$\$}! Sets the pre-upper index. + + \item + \mylst!pre upper put left={$\$}! + + Adds to the left of the pre-upper index. \item \mylst!post upper={$\$}! Sets the post-upper index. + + \item + \mylst!post upper put right={$\$}! + + Adds to the right of the post-upper index. \item \mylst!upper put left={$\$}! @@ -4192,11 +4216,21 @@ In the following sections, we include the full list. \mylst!pre lower={$\$}! Sets the pre-lower index. + + \item + \mylst!pre lower put left={$\$}! + + Adds to the left of the pre-lower index. \item \mylst!post lower={$\$}! Sets the post-lower index. + + \item + \mylst!post lower put right={$\$}! + + Adds to the right of the post-lower index. \item \mylst!lower put left={$\$}! @@ -4390,11 +4424,21 @@ In the following sections, we include the full list. \mylst!pre upper left={$\$}! Sets the pre-upper left index. + + \item + \mylst!pre upper left put left={$\$}! + + Adds to the left of the pre-upper left index. \item \mylst!post upper left={$\$}! Sets the post-upper left index. + + \item + \mylst!post upper left put right={$\$}! + + Adds to the right of the post-upper left index. \item \mylst!upper left put right={$\$}! @@ -4588,11 +4632,21 @@ In the following sections, we include the full list. \mylst!pre lower left={$\$}! Sets the pre-lower left index. + + \item + \mylst!pre lower left put left={$\$}! + + Adds to the left of the pre-lower left index. \item \mylst!post lower left={$\$}! Sets the post-lower left index. + + \item + \mylst!post lower left put right={$\$}! + + Adds to the right of the post-lower left index. \item \mylst!lower left put right={$\$}! @@ -4786,11 +4840,21 @@ In the following sections, we include the full list. \mylst!pre d={$\$}! Sets the pre-\lstinline!d!-index. + + \item + \mylst!pre d put left={$\$}! + + Adds to the left of the pre-\lstinline!d!-index. \item \mylst!post d={$\$}! Sets the post-\lstinline!d!-index. + + \item + \mylst!post d put right={$\$}! + + Adds to the right of the post-\lstinline!d!-index. \item \mylst!d put left={$\$}! @@ -4983,11 +5047,21 @@ In the following sections, we include the full list. \mylst!pre i={$\$}! Sets the pre-\lstinline!i!-index. + + \item + \mylst!pre i put left={$\$}! + + Adds to the left of the pre-\lstinline!i!-index. \item \mylst!post i={$\$}! Sets the post-\lstinline!i!-index. + + \item + \mylst!post i put right={$\$}! + + Adds to the right of the post-\lstinline!i!-index. \item \mylst!i put left={$\$}! diff --git a/macros/latex/contrib/semantex/stripsemantex.sty b/macros/latex/contrib/semantex/stripsemantex.sty index c674680d6c..4e5dafc2ee 100644 --- a/macros/latex/contrib/semantex/stripsemantex.sty +++ b/macros/latex/contrib/semantex/stripsemantex.sty @@ -1,5 +1,5 @@ \RequirePackage{xparse} -\ProvidesExplPackage{stripsemantex}{2021/08/10}{0.512}{} +\ProvidesExplPackage{stripsemantex}{2021/08/23}{0.513}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % -- cgit v1.2.3