summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-08-24 03:02:02 +0000
committerNorbert Preining <norbert@preining.info>2021-08-24 03:02:02 +0000
commit3e6c1d9e0f4a3f6852f41547738a6b62086fda9d (patch)
treea0d6d6bfcb399b7e898130cb38a31eab349eab79 /macros/latex/contrib
parent0ef3dfaccca426fb0f3b06fc106ef9b5b0423dad (diff)
CTAN sync 202108240302
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/cascade/README.md3
-rw-r--r--macros/latex/contrib/cascade/cascade-french.pdfbin65039 -> 70833 bytes
-rw-r--r--macros/latex/contrib/cascade/cascade-french.tex68
-rw-r--r--macros/latex/contrib/cascade/cascade.dtx204
-rw-r--r--macros/latex/contrib/cascade/cascade.ins4
-rw-r--r--macros/latex/contrib/cascade/cascade.pdfbin108503 -> 119231 bytes
-rw-r--r--macros/latex/contrib/polski/polski.dtx37
-rw-r--r--macros/latex/contrib/polski/polski.pdfbin200528 -> 191131 bytes
-rw-r--r--macros/latex/contrib/polski/sample-polski.pdfbin86160 -> 86160 bytes
-rw-r--r--macros/latex/contrib/semantex/semantex.pdfbin384739 -> 385165 bytes
-rw-r--r--macros/latex/contrib/semantex/semantex.sty160
-rw-r--r--macros/latex/contrib/semantex/semantex.tex86
-rw-r--r--macros/latex/contrib/semantex/stripsemantex.sty2
13 files changed, 461 insertions, 103 deletions
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
--- a/macros/latex/contrib/cascade/cascade-french.pdf
+++ b/macros/latex/contrib/cascade/cascade-french.pdf
Binary files 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
--- a/macros/latex/contrib/cascade/cascade.pdf
+++ b/macros/latex/contrib/cascade/cascade.pdf
Binary files 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 @@
%<driver>% Comment next line if you want to print the code
%<driver>%\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
--- a/macros/latex/contrib/polski/polski.pdf
+++ b/macros/latex/contrib/polski/polski.pdf
Binary files differ
diff --git a/macros/latex/contrib/polski/sample-polski.pdf b/macros/latex/contrib/polski/sample-polski.pdf
index f121fe3263..3de1ace546 100644
--- a/macros/latex/contrib/polski/sample-polski.pdf
+++ b/macros/latex/contrib/polski/sample-polski.pdf
Binary files differ
diff --git a/macros/latex/contrib/semantex/semantex.pdf b/macros/latex/contrib/semantex/semantex.pdf
index b397d48445..7bbf5313c2 100644
--- a/macros/latex/contrib/semantex/semantex.pdf
+++ b/macros/latex/contrib/semantex/semantex.pdf
Binary files differ
diff --git a/macros/latex/contrib/semantex/semantex.sty b/macros/latex/contrib/semantex/semantex.sty
index 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 \<integer\> by~\( 1 \).
\item
- \mylst!int if ieq TF={$\<integer\num{1}\>$}{$\<integer\num{2}\>$}{$\<if true\>$}{$\<if false\>$}!, \\
- \mylst!int if ieq T={$\<integer\num{1}\>$}{$\<integer\num{2}\>$}{$\<if true\>$}!, \\
- \mylst!int if ieq F={$\<integer\num{1}\>$}{$\<integer\num{2}\>$}{$\<if false\>$}!
+ \mylst!int if eq TF={$\<integer\num{1}\>$}{$\<integer\num{2}\>$}{$\<if true\>$}{$\<if false\>$}!, \\
+ \mylst!int if eq T={$\<integer\num{1}\>$}{$\<integer\num{2}\>$}{$\<if true\>$}!, \\
+ \mylst!int if eq F={$\<integer\num{1}\>$}{$\<integer\num{2}\>$}{$\<if false\>$}!
Checks whether the integers \<integer\num{1}\> and \<integer\num{2}\> are equal,
and runs \<if~true\> or \<if~false\> accordingly.
@@ -3840,11 +3844,21 @@ In the following sections, we include the full list.
\mylst!pre arg={$\<value\>$}!
Sets the pre-argument.
+
+ \item
+ \mylst!pre arg put left={$\<value\>$}!
+
+ Adds to the left of the pre-argument.
\item
\mylst!post arg={$\<value\>$}!
Sets the post-argument.
+
+ \item
+ \mylst!post arg put right={$\<value\>$}!
+
+ Adds to the right of the post-argument.
\item
\mylst!set arg sep={$\<value\>$}!
@@ -3994,11 +4008,21 @@ In the following sections, we include the full list.
\mylst!pre upper={$\<value\>$}!
Sets the pre-upper index.
+
+ \item
+ \mylst!pre upper put left={$\<value\>$}!
+
+ Adds to the left of the pre-upper index.
\item
\mylst!post upper={$\<value\>$}!
Sets the post-upper index.
+
+ \item
+ \mylst!post upper put right={$\<value\>$}!
+
+ Adds to the right of the post-upper index.
\item
\mylst!upper put left={$\<value\>$}!
@@ -4192,11 +4216,21 @@ In the following sections, we include the full list.
\mylst!pre lower={$\<value\>$}!
Sets the pre-lower index.
+
+ \item
+ \mylst!pre lower put left={$\<value\>$}!
+
+ Adds to the left of the pre-lower index.
\item
\mylst!post lower={$\<value\>$}!
Sets the post-lower index.
+
+ \item
+ \mylst!post lower put right={$\<value\>$}!
+
+ Adds to the right of the post-lower index.
\item
\mylst!lower put left={$\<value\>$}!
@@ -4390,11 +4424,21 @@ In the following sections, we include the full list.
\mylst!pre upper left={$\<value\>$}!
Sets the pre-upper left index.
+
+ \item
+ \mylst!pre upper left put left={$\<value\>$}!
+
+ Adds to the left of the pre-upper left index.
\item
\mylst!post upper left={$\<value\>$}!
Sets the post-upper left index.
+
+ \item
+ \mylst!post upper left put right={$\<value\>$}!
+
+ Adds to the right of the post-upper left index.
\item
\mylst!upper left put right={$\<value\>$}!
@@ -4588,11 +4632,21 @@ In the following sections, we include the full list.
\mylst!pre lower left={$\<value\>$}!
Sets the pre-lower left index.
+
+ \item
+ \mylst!pre lower left put left={$\<value\>$}!
+
+ Adds to the left of the pre-lower left index.
\item
\mylst!post lower left={$\<value\>$}!
Sets the post-lower left index.
+
+ \item
+ \mylst!post lower left put right={$\<value\>$}!
+
+ Adds to the right of the post-lower left index.
\item
\mylst!lower left put right={$\<value\>$}!
@@ -4786,11 +4840,21 @@ In the following sections, we include the full list.
\mylst!pre d={$\<value\>$}!
Sets the pre-\lstinline!d!-index.
+
+ \item
+ \mylst!pre d put left={$\<value\>$}!
+
+ Adds to the left of the pre-\lstinline!d!-index.
\item
\mylst!post d={$\<value\>$}!
Sets the post-\lstinline!d!-index.
+
+ \item
+ \mylst!post d put right={$\<value\>$}!
+
+ Adds to the right of the post-\lstinline!d!-index.
\item
\mylst!d put left={$\<value\>$}!
@@ -4983,11 +5047,21 @@ In the following sections, we include the full list.
\mylst!pre i={$\<value\>$}!
Sets the pre-\lstinline!i!-index.
+
+ \item
+ \mylst!pre i put left={$\<value\>$}!
+
+ Adds to the left of the pre-\lstinline!i!-index.
\item
\mylst!post i={$\<value\>$}!
Sets the post-\lstinline!i!-index.
+
+ \item
+ \mylst!post i put right={$\<value\>$}!
+
+ Adds to the right of the post-\lstinline!i!-index.
\item
\mylst!i put left={$\<value\>$}!
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}{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %