summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-02-23 03:02:04 +0000
committerNorbert Preining <norbert@preining.info>2021-02-23 03:02:04 +0000
commit22774c08f9f3ee390346355cda22d5e5fa667d78 (patch)
tree56d36c8ba18cc0ca447e119d99a66409f5e7d3b6 /macros/latex
parent1c74c0d7614ec471bea05b5919b68e67a05dd6c1 (diff)
CTAN sync 202102230302
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/csquotes/csq-compat.def2
-rw-r--r--macros/latex/contrib/csquotes/csquotes.def2
-rw-r--r--macros/latex/contrib/csquotes/csquotes.pdfbin292262 -> 294724 bytes
-rw-r--r--macros/latex/contrib/csquotes/csquotes.sty8
-rw-r--r--macros/latex/contrib/csquotes/csquotes.tex12
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.pdfbin439492 -> 420606 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex526
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.dtx998
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.pdfbin1131373 -> 1133328 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/README.md14
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdfbin574086 -> 574086 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdfbin621765 -> 621765 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdfbin578288 -> 578290 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdfbin583234 -> 583234 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdfbin589034 -> 589935 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdfbin653814 -> 647667 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdfbin558963 -> 558963 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdfbin676235 -> 677083 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdfbin550561 -> 550354 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdfbin586772 -> 586772 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdfbin645504 -> 645357 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex16
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex9
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudabeamer.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.def6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaexercise.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudafonts.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaletter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaposter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudapub.cls12
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudarules.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasciposter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudathesis.cfg6
-rw-r--r--macros/latex/required/babel/base/README.md46
-rw-r--r--macros/latex/required/babel/base/babel.dtx464
-rw-r--r--macros/latex/required/babel/base/babel.ins2
-rw-r--r--macros/latex/required/babel/base/babel.pdfbin815772 -> 818447 bytes
-rw-r--r--macros/latex/required/babel/base/bbcompat.dtx2
67 files changed, 1265 insertions, 1046 deletions
diff --git a/macros/latex/contrib/csquotes/csq-compat.def b/macros/latex/contrib/csquotes/csq-compat.def
index b8ad344c1d..aafc40fdd4 100644
--- a/macros/latex/contrib/csquotes/csq-compat.def
+++ b/macros/latex/contrib/csquotes/csq-compat.def
@@ -1,5 +1,5 @@
\ProvidesFile{csq-compat.def}
- [2021-01-04 v5.2k csquotes backwards compatibility (JAW)]
+ [2021-02-22 v5.2l csquotes backwards compatibility (JAW)]
\def\csq@getversion#1{%
\expandafter\csq@getversion@i
diff --git a/macros/latex/contrib/csquotes/csquotes.def b/macros/latex/contrib/csquotes/csquotes.def
index 12197c3ee8..0b7104a2b7 100644
--- a/macros/latex/contrib/csquotes/csquotes.def
+++ b/macros/latex/contrib/csquotes/csquotes.def
@@ -1,5 +1,5 @@
\ProvidesFile{csquotes.def}
- [2021-01-04 v5.2k csquotes generic definitions (JAW)]
+ [2021-02-22 v5.2l csquotes generic definitions (JAW)]
% Set defaults
diff --git a/macros/latex/contrib/csquotes/csquotes.pdf b/macros/latex/contrib/csquotes/csquotes.pdf
index 4f48bfb8a9..d58bed53f6 100644
--- a/macros/latex/contrib/csquotes/csquotes.pdf
+++ b/macros/latex/contrib/csquotes/csquotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/csquotes/csquotes.sty b/macros/latex/contrib/csquotes/csquotes.sty
index 72bc9ba031..fbd4a2dda5 100644
--- a/macros/latex/contrib/csquotes/csquotes.sty
+++ b/macros/latex/contrib/csquotes/csquotes.sty
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{csquotes}
- [2021-01-04 v5.2k context-sensitive quotations (JAW)]
+ [2021-02-22 v5.2l context-sensitive quotations (JAW)]
%% Compatibility and requirements
@@ -2237,9 +2237,9 @@
\newrobustcmd*{\textdel}{%
\mktextdel}
-\newcommand{\mktextelp}{[\textellipsis\unkern]}
-\newcommand{\mktextelpins}[1]{[\textellipsis\unkern] [#1]}
-\newcommand{\mktextinselp}[1]{[#1] [\textellipsis\unkern]}
+\newcommand{\mktextelp}{[\textellipsis\unkern]\@}
+\newcommand{\mktextelpins}[1]{[\textellipsis\unkern]\@ [#1]}
+\newcommand{\mktextinselp}[1]{[#1] [\textellipsis\unkern]\@}
\newcommand{\mktextins}[1]{[#1]}
\newcommand{\mktextmod}[1]{[#1]}
\newcommand{\mktextdel}[1]{[]}
diff --git a/macros/latex/contrib/csquotes/csquotes.tex b/macros/latex/contrib/csquotes/csquotes.tex
index b37a5737b9..31434cf342 100644
--- a/macros/latex/contrib/csquotes/csquotes.tex
+++ b/macros/latex/contrib/csquotes/csquotes.tex
@@ -18,8 +18,8 @@
url={http://www.ctan.org/pkg/csquotes/},
author={Philipp Lehman, Joseph Wright},
email={joseph.wright@morningstar2.co.uk},
- revision={v5.2k},
- date={2021-01-04}}
+ revision={v5.2l},
+ date={2021-02-22}}
\hypersetup{%
pdftitle={The csquotes Package},
@@ -1543,12 +1543,20 @@ Note that the initialization hooks for the respective quotation style are not ex
The scope of these hooks must always be confined to a group.
+\section{Bug reports}
+
+Bugs may be reported at \url{https://github.com/josephwright/csquotes/issues}.
+
\section{Revision History}
This revision history is a list of changes relevant to users of this package. Changes of a more technical nature which do not affect the user interface or the behavior of the package are not included in the list. If an entry in the revision history states that a feature has been \emph{extended}, this indicates a syntactically backwards compatible modification, such as the addition of an optional argument to an existing command. Entries stating that a feature has been \emph{modified}, \emph{renamed}, or \emph{removed} demand attention. They indicate a modification which may require changes to existing documents in some, hopefully rare, cases. The \opt{version} option from \secref{opt:opt} may be helpful in this case. The numbers on the right indicate the relevant section of this manual.
\begin{changelog}
+\begin{release}{5.2j}{2021-02-13}
+\item Fix spacing with \cmd{mktextelp}
+\end{release}
+
\begin{release}{5.2j}{2019-12-04}
\item Fix issue with some combinations of language and document class
\item Added support for Latin quotations
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
index b5ce89cab3..7c58a0449c 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex
index ef0cd4123b..75a1954df9 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -117,9 +117,18 @@ dans le répertoire courant ou dans une arborescence |texmf|. Le mieux reste né
avec une distribution TeX comme MiKTeX ou TeXlive.
\bigskip
-Cette extension peut être utilisée avec |xelatex|, |lualatex| et |pdflatex| mais aussi avec le cheminement
-classique |latex|-|dvips|-|ps2pdf| (ou Adobe Distiller). \textsl{Néanmoins, le fichier nicematrix-french.tex de la présente documentation
-ne peut être compilé qu'avec XeLaTeX.}
+\emph{Remarque} : Si vous utilisez un service LaTeX via Internet (ex. :
+Overleaf) vous pouvez télécharger le fichier |nicematrix.sty| dans le dossier de
+votre projet pour bénéficier de la dernière version de
+\pkg{nicematrix}.\footnote{La dernière version de \verb|nicematrix.sty| peut
+ être téléchargée sur le serveur \textsc{svn} de TeXLive : \newline \small
+ \url{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}}
+
+\bigskip
+Cette extension peut être utilisée avec |xelatex|, |lualatex| et |pdflatex| mais
+aussi avec le cheminement classique |latex|-|dvips|-|ps2pdf| (ou Adobe
+Distiller). \textsl{Néanmoins, le fichier nicematrix-french.tex de la présente
+ documentation ne peut être compilé qu'avec XeLaTeX.}
\bigskip
Cette extension nécessite et charge les extensions \pkg{l3keys2e}, \pkg{array},
@@ -145,21 +154,6 @@ Une commande|\NiceMatrixOptions| est fournie pour régler les options (la porté
commande est le groupe TeX courant : elles sont semi-globales).
-\bigskip
-{\bfseries \color{red} Important
-
-Depuis la version 5.0 de \pkg{nicematrix}, on doit utiliser les lettres |l|, |c| et
-|r| dans les préambules des environnements et non plus les lettres |L|, |C| et
-|R|.
-
-Pour assurer la compatibilité avec les versions précédentes, \pkg{nicematrix}
-doit être chargée avec l'option |define-L-C-R|.
-\begin{Verbatim}
-\usepackage[define-L-C-R]{nicematrix}
-\end{Verbatim}
-}
-
-
\newpage
\section{Les environnements de cette extension}
@@ -238,7 +232,7 @@ l'extension \pkg{nicematrix} propose deux clés |cell-space-top-limit| et
|cell-space-bottom-limit| qui sont similaires aux deux paramètres
|\cellspacetoplimit| et |\cellspacebottomlimit| proposés par \pkg{cellspace}.
-\colorbox{yellow!50}{\textbf{Nouveau 5.9}}\enskip Il existe aussi une clé
+\colorbox{yellow!30}{Nouveau 5.9}\enskip Il existe aussi une clé
|cell-space-limits| pour régler simultanément les deux paramètres.
La valeur initiale de ces paramètres est $0$~pt pour que les environnements de
@@ -716,9 +710,7 @@ classiques.
Dans les environnements de \pkg{nicematrix}, les filets verticaux spécifiés par
\verb+|+ dans le préambule des environnements ne sont jamais coupés, même en cas
de ligne incomplète ou de double filet horizontal spécifié par |\hline\hline|
-(il n'y a pas besoin d'utiliser \pkg{hhline}).\footnote{Il s'agit là du comportement depuis la version 5.1 de
- \pkg{nicematrix}. Dans les versions précédentes, le comportement était
- le comportement par défaut de \pkg{array}.}
+(il n'y a pas besoin d'utiliser \pkg{hhline}).
\bigskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
@@ -845,7 +837,7 @@ A&B&C&D \\
Les environnements de \pkg{nicematrix} proposent une clé |rules/width| pour
fixer la largeur (en fait l'épaisseur) des filets dans l'environnement. En fait,
-cette clé ne fait que fixer la valeur de |\arrayrulewidth|.
+cette clé ne fait que fixer la valeur du paramètre dimensionnel |\arrayrulewidth|.
\smallskip
On sait que \pkg{colortbl} propose la commande |\arrayrulecolor| pour spécifier
@@ -1162,7 +1154,9 @@ compilations successives.
L'extension \pkg{nicematrix} fournit une clé |code-before| pour du code qui sera
exécuté avant le tracé du tableau. De nouvelles commandes y sont disponibles :
|\cellcolor|, |\rectanglecolor|, |\rowcolor|, |\columncolor|, |\rowcolors| et
-|\chessboardcolors|.
+|\chessboardcolors|.\footnote{On pourra remarquer que, dans le
+ \verb|code-before|, des nœuds PGF/Tikz correspondant à la position des filets
+ éventuels sont également accessibles : cf. p.~\pageref{noeuds-i}.}
\label{code-before}
\medskip
@@ -1274,13 +1268,12 @@ a_{10} & b_{10} & c_{10} \\
\bigskip
\item La commande |\rowcolors| (avec un \emph{s}) doit son nom à la commande
|\rowcolors| de \pkg{xcolor}\footnote{La commande |\rowcolors| de \pkg{xcolor}
- est disponible quand \pkg{xcolor} est chargé avec l'option |table|.}. Le
-\emph{s} rappelle qu'il y a deux couleurs. Elle colorie alternativement les
-rangées avec les deux couleurs à partir de la rangée dont le numéro est donné en
-premier argument (obligatoire), comme le fait la commande |\rowcolors| de
-\pkg{xcolor}.
+ est disponible quand \pkg{xcolor} est chargé avec l'option |table|. Cett
+ option charge également l'extension \pkg{colortbl}.}. Le \emph{s} rappelle
+qu'il y a deux couleurs. Elle colorie alternativement les rangées avec les deux
+couleurs à partir de la rangée dont le numéro est donné en premier argument
+(obligatoire), comme le fait la commande |\rowcolors| de \pkg{xcolor}.
-\colorbox{yellow!30}{Nouveau 5.8}\enskip
En fait, le premier argument (obligatoire) peut, plus généralement, contenir
une liste d'intervalles correspondant à l'ensemble des rangées sur lesquelles
portera l'effet de |\rowcolors| (un intervalle de la forme $i$ désigne en fait
@@ -1293,20 +1286,19 @@ optionnel en dernière position (l'argument optionel en première position
correspond à l'espace colorimétrique). Les clés disponibles sont |cols|,
|restart| et |respect-blocks|.
\begin{itemize}
-\item \colorbox{yellow!30}{Nouveau 5.8}\enskip
-La clé |cols| décrit un ensemble de colonnes sur lesquelles portera
+\item La clé |cols| décrit un ensemble de colonnes sur lesquelles portera
l'effet de |\rowcolors|. Cet ensemble de colonnes est une liste d'intervalles de
la forme $i$|-|$j$.
-\item \colorbox{yellow!30}{Nouveau 5.8}\enskip Avec la clé |restart|, chacun
-des intervalles de rangées spécifié par le premier argument de |\rowcolors|
-recommence avec la même couleur.\footnote{Autrement, la couleur d'une rangée ne
- dépend que de la partié de son numéro.}
+\item Avec la clé |restart|, chacun des intervalles de rangées spécifié par le
+premier argument de |\rowcolors| recommence avec la même
+couleur.\footnote{Autrement, la couleur d'une rangée ne dépend que de la parité
+ de son numéro.}
\item Avec la clé |respect-blocks|, qui est de type booléen, les ``rangées''
colorées alternativement peuvent s'étendre sur plusieurs rangées réelles du
-tableau pour englober les blocs (créés par la commande |\Block|).
+tableau pour englober les blocs (créés par la commande |\Block| : cf.~p.~\pageref{Block}).
\end{itemize}
@@ -1405,7 +1397,8 @@ droite (cf. p.~\pageref{key-R}).
\bigskip
On remarquera que ces commandes sont compatibles avec les commandes de
-\pkg{booktabs} (|\toprule|, |\midrule|, |\bottomrule|, etc).
+\pkg{booktabs} (|\toprule|, |\midrule|, |\bottomrule|, etc). Néanmoins,
+l'extension \pkg{booktabs} n'est pas chargée par \pkg{nicematrix}.
\medskip
\begin{scope}
@@ -1455,19 +1448,21 @@ On a utilisé le type de colonne |S| de \pkg{siunitx}.
\label{colortbl-like}
On peut accéder aux outils de coloriage précédents avec une syntaxe proche de
-celle proposée par \pkg{colortbl}. On doit pour cela utiliser la clé
-|colortbl-like| dans l'environnement concerné.\footnote{Pour le moment, cette
- clé n'est pas disponible dans |\NiceMatrixOptions|.}
+celle proposée par \pkg{colortbl} (même si \pkg{colortbl} n'est pas chargé). On
+doit pour cela utiliser la clé |colortbl-like| dans l'environnement
+concerné.\footnote{Pour le moment, cette clé n'est \emph{pas} disponible dans
+ |\NiceMatrixOptions|.}
On a alors accès aux trois commandes suivantes :
\begin{itemize}
\item |\cellcolor| qui colorie la case courante ;
\item |\rowcolor| à utiliser dans une case et qui colorie le reste de la rangée
;
-\item |\columncolor| à utiliser dans le préambule de la même manière que la
-commande éponyme de \pkg{colortbl} (néanmoins, contrairement à la commande
-|\columncolor| de \pkg{colortbl}, celle-ci peut apparaître à l'intérieur d'une
-autre commande, elle-même utilisée dans le préambule).
+\item |\columncolor| à utiliser dans le préambule du tableau de la même manière
+que la commande éponyme de \pkg{colortbl} (néanmoins, contrairement à la
+commande |\columncolor| de \pkg{colortbl}, celle de \pkg{nicematrix} peut
+apparaître à l'intérieur d'une autre commande, elle-même utilisée dans le
+préambule).
\end{itemize}
\medskip
@@ -1673,18 +1668,21 @@ L_4 & a_{41} & a_{42} & a_{43} & a_{44} & L_4 \\
\end{pNiceMatrix}\]
\medskip
-Les lignes pointillées ont été tracées avec les outils présentés p.~\pageref{Cdots}.
+Les lignes pointillées ont été tracées avec les outils qui seront présentés p.~\pageref{Cdots}.
\bigskip
Il y a plusieurs remarques à formuler.
%
\begin{itemize}[beginpenalty=10000]
-\item Si on utilise un environnement avec préambule explicite (c'est-à-dire
+\item Si on utilise un environnement avec préambule explicite (|{NiceTabular}|,
|{NiceArray}| ou l'une de ses variantes), on ne doit pas mettre dans ce
préambule de spécification de colonne pour les éventuelles première et dernière
-colonne : ce sera automatiquement (et nécessairement) une colonne |R| pour la
-première colonne et une colonne |L| pour la dernière.
+colonne : ce sera automatiquement (et nécessairement) une colonne |r| pour la
+première colonne et une colonne |l| pour la dernière.\footnote{Si on souhaite
+ une colonne extérieure avec un autre type d'alignement, on aura intérêt à
+ considérer la commande \verb|\SubMatrix| disponible dans le \verb|\CodeAfter|
+ (cf. p.~\pageref{sub-matrix}).}
\item On peut se demander comment \pkg{nicematrix} détermine le nombre de rangées et de colonnes nécessaires à la
composition de la «dernière rangée» et de la «dernière colonne».
@@ -1725,7 +1723,7 @@ au début de chaque case de la rangée ou de la colonne considérée.
~emphase#code-for-first-col@ = \color{blue},
~emphase#code-for-last-row@ = \color{green},
~emphase#code-for-last-col@ = \color{magenta}}
-$\begin{pNiceArray}{cc|cc}[first-row,last-row=6,first-col,last-col,nullify-dots]
+$\begin{pNiceArray}{cc|cc}[first-row,last-row=5,first-col,last-col,nullify-dots]
& C_1 & \Cdots & & C_4 & \\
L_1 & a_{11} & a_{12} & a_{13} & a_{14} & L_1 \\
\Vdots & a_{21} & a_{22} & a_{23} & a_{24} & \Vdots \\
@@ -1771,8 +1769,10 @@ commande |\OnlyMainNiceMatrix| décrite p.~\pageref{OnlyMainNiceMatrix}.
p.~\pageref{width}) ne s'applique pas à la «première colonne» ni à la «dernière
colonne».
\item Pour des raisons techniques, il n'est pas possible d'utiliser l'option de
-la commande |\\| après la «première rangée» ou avant la «dernière rangée» (le
-placement des délimiteurs serait erroné).
+la commande |\\| après la «première rangée» ou avant la «dernière rangée». Le
+placement des délimiteurs serait erroné. Pour contourner cette restriction, on
+pourra envisager d'utiliser la commande |\SubMatrix| dans le |\CodeAfter| (cf.
+p.~\pageref{sub-matrix}).
\end{itemize}
@@ -1785,7 +1785,7 @@ placement des délimiteurs serait erroné).
À l'intérieur des environnements de l'extension \pkg{nicematrix}, de nouvelles
commandes sont définies : |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, et |\Iddots|.
Ces commandes sont conçues pour être utilisées à la place de |\dots|, |\cdots|,
-|\vdots|, |\ddots| et |\iddots|.\footnote{La commande |\iddots|, définie dans
+|\vdots|, |\ddots| et |\iddots|.\footnote{La commande |\iddots|, définie par
\pkg{nicematrix}, est une variante de |\ddots| avec les points allant vers le
haut. Si \pkg{mathdots} est chargée, la version de \pkg{mathdots} est
utilisée. Elle correspond à la commande |\adots| de \pkg{unicode-math}.}
@@ -2040,10 +2040,12 @@ $\begin{pNiceMatrix}
\end{pNiceMatrix}$
\medskip
-Remarque : Contrairement à la commande |\hdotsfor| de \pkg{amsmath}, la commande
-|\Hdotsfor| est utilisable lorsque l'extension \pkg{colortbl} est chargée (mais
-vous risquez d'avoir des problèmes si vous utilisez |\rowcolor| sur la même
-rangée que |\Hdotsfor|).
+\emph{Remarque} : Contrairement à la commande |\hdotsfor| de \pkg{amsmath}, la
+commande |\Hdotsfor| est utilisable même lorsque l'extension
+\pkg{colortbl}\footnote{On rappelle que lorsque l'extension \pkg{xcolor} est
+ chargée avec l'option \verb|table|, l'extension \pkg{colortbl} est chargée.}
+est chargée (mais vous risquez d'avoir des problèmes si vous utilisez
+|\rowcolor| sur la même rangée que |\Hdotsfor|).
\bigskip
L'extension \pkg{nicematrix} propose aussi une commande |\Vdotsfor| similaire à
@@ -2175,9 +2177,9 @@ options (que l'on met entre crochets après la commande) :
\item |line-style|.
\end{itemize}
-Ces options peuvent aussi être fixées avec |\NiceMatrixOptions| ou bien au
-niveau d'un environnement mais elles doivent alors être préfixées par |xdots|,
-ce qui fait que leurs noms deviennent :
+Ces options peuvent aussi être fixées avec |\NiceMatrixOptions|, comme options
+de |\CodeAfter|, ou bien au niveau d'un environnement mais elles doivent alors
+être préfixées par |xdots|, ce qui fait que leurs noms deviennent :
%
\begin{itemize}
\item |xdots/color| ;
@@ -2303,11 +2305,18 @@ sera exécuté après la construction du tableau.
\medskip
Pour améliorer la lisibilité du code, une syntaxe alternative est proposée : on
peut spécifier les instructions du |code-after| à la fin de l'environnement,
-après le mot-clé |\CodeAfter|.
+après le mot-clé |\CodeAfter|. Bien que ce soit un mot-clé, |\CodeAfter| accepte
+quand même un argument optionnel (entre crochets). Les clés autorisées forment
+un sous-ensemble des clés acceptées par |\NiceMatrixOptions|.
+
+\medskip
+Les utilisateurs expérimentés peuvent, en particulier, utiliser les nœuds
+PGF/Tikz créés par \pkg{nicematrix} dans le |\CodeAfter|. Ces nœuds sont décrits
+à partir de la page \pageref{PGF-nodes}.
\medskip
-Deux commandes spéciales sont disponibles dans le |\CodeAfter| : |\line| et
-|\SubMatrix|.
+Par ailleurs, deux commandes spéciales sont disponibles dans le |\CodeAfter| :
+|\line| et |\SubMatrix|.
\subsection{La commande \textbackslash line dans le \textbackslash CodeAfter}
@@ -2341,14 +2350,19 @@ I & 0 & \Cdots &0 \\
\end{pNiceMatrix}$
\end{scope}
+\medskip
+Les options disponibles pour personnaliser les lignes pointillées créées par
+|\Cdots|, |\Vdots|, etc. peuvent aussi être passées à cette commande (cf.
+p.~\pageref{customization}).
+
\subsection{La commande \textbackslash SubMatrix dans le \textbackslash CodeAfter}
\label{sub-matrix}
\colorbox{yellow!50}{\textbf{Nouveau 5.10}}\enskip
La commande |\SubMatrix| permet de positionner des délimiteurs sur une partie du
-tableau considérée comme une sous-matrice. La commande |\SubMatrix| prend cinq
-arguments :
+tableau, partie qui est considérée comme une sous-matrice. La commande
+|\SubMatrix| prend cinq arguments :
\begin{itemize}
\item le premier argument est le délimiteur gauche qui peut être n'importe
quel délimiteur extensible de LaTeX : |(|, |[|, |\{|, |\langle|, |\lgroup|,
@@ -2370,10 +2384,10 @@ colonne avec |@{\hspace{1.5em}}| dans le préambule du tableau.
\medskip
\begin{scope}
+\hfuzz=15cm
\fvset{commandchars=\~\#\+}%
\begin{BVerbatim}[boxwidth=11cm,baseline=c]
-\[\begin{NiceArray}{ccc~emphase#@{\hspace{1.5em}}+c}%
- [cell-space-limits=2pt,~emphase#margin+]
+\[\begin{NiceArray}{ccc~emphase#@{\hspace{1.5em}}+c}[cell-space-limits=2pt,~emphase#margin+]
1 & 1 & 1 & x \\
\dfrac{1}{4} & \dfrac{1}{2} & \dfrac{1}{4} & y \\
1 & 2 & 3 & z
@@ -2401,7 +2415,7 @@ Les options de la commande |\SubMatrix| sont les suivantes :
clés) ;
\item |extra-height| ajoute une quantité à la hauteur totale des délimiteurs
(hauteur~|\ht| + profondeur |\dp|) ;
-\item |delimiters-color| permet de fixer la couleur des délimiteurs (cette clé
+\item |delimiters/color| permet de fixer la couleur des délimiteurs (cette clé
est également disponible dans |\NiceMatrixOptions| et au niveau des
environnements à délimiteurs ou comme option de |\CodeAfter|) ;
\item |slim| qui est une clé booléenne : lorsqu'elle est utilisée la position
@@ -2417,6 +2431,7 @@ préfixe |sub-matrix|, c'est-à-dire qu'elles sont alors nommées
\bigskip
\begin{scope}
+\hfuzz=12cm
\fvset{commandchars=\~\#\!}%
\begin{BVerbatim}[baseline=c,boxwidth=11cm]
$\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
@@ -2431,8 +2446,7 @@ c & d & \frac12c+\frac14d \\
\end{NiceArray}$
\end{BVerbatim}
\end{scope}
-$\begin{NiceArray}{cc@{\hspace{5mm}}l}%
- [cell-space-limits=2pt]
+$\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
& & \frac12 \\
& & \frac14 \\[1mm]
a & b & \frac12a+\frac14b \\
@@ -2448,10 +2462,10 @@ Voici le même exemple avec la clé |slim| pour l'une des sous-matrices.
\medskip
\begin{scope}
+\hfuzz=12cm
\fvset{commandchars=\~\#\!}%
\begin{BVerbatim}[baseline=c,boxwidth=11cm]
-$\begin{NiceArray}{cc@{\hspace{5mm}}l}%
- [cell-space-limits=2pt]
+$\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
& & \frac12 \\
& & \frac14 \\[1mm]
a & b & \frac12a+\frac14b \\
@@ -2564,28 +2578,6 @@ Dupont & Chantal & 15 janvier 1998 \\
\end{center}
-\begin{table}
-\setlength{\belowcaptionskip}{1ex}
-\centering
-\caption{Utilisation de \texttt{\textbackslash tabularnote}\tabularnote{On peut
- mettre une note dans le titre.}}
-\label{t:tabularnote}
-\begin{NiceTabular}{@{}llc@{}}%
- [notes/bottomrule, tabularnote = Un peu de texte avant les notes.]
-\toprule
-Nom & Prénom & Durée de vie \\
-\midrule
-Barrère & Bertrand & 86\\
-Nightingale\tabularnote{Souvent considérée comme la première
- infirmière.}\tabularnote{Surnommée «la Dame à la Lampe».}
-& Florence & 90 \\
-Schœlcher & Victor & 89\tabularnote{L'appel de note déborde à droite.}\\
-Touchet & Marie & 89 \\
-Wallis & John & 87 \\
-\bottomrule
-\end{NiceTabular}
-\end{table}
-
\bigskip
\begin{itemize}
@@ -2622,7 +2614,7 @@ remarques illustrées. Cette table a été composée avec le code suivant.
\begin{center}
\fvset{commandchars=\~\#\!}
-\begin{BVerbatim}[formatcom=\small\color{gray}]
+\begin{Verbatim}[formatcom=\small\color{gray}]
\begin{table}
\setlength{\belowcaptionskip}{1ex}
\centering
@@ -2645,9 +2637,33 @@ Wallis & John & 87 \\
\bottomrule
\end{NiceTabular}
\end{table}
-\end{BVerbatim}
+\end{Verbatim}
\end{center}
+\begin{table}[hb]
+\setlength{\belowcaptionskip}{1ex}
+\centering
+\caption{Utilisation de \texttt{\textbackslash tabularnote}\tabularnote{On peut
+ mettre une note dans le titre.}}
+\label{t:tabularnote}
+\begin{NiceTabular}{@{}llc@{}}%
+ [notes/bottomrule, tabularnote = Un peu de texte avant les notes.]
+\toprule
+Nom & Prénom & Durée de vie \\
+\midrule
+Barrère & Bertrand & 86\\
+Nightingale\tabularnote{Souvent considérée comme la première
+ infirmière.}\tabularnote{Surnommée «la Dame à la Lampe».}
+& Florence & 90 \\
+Schœlcher & Victor & 89\tabularnote{L'appel de note déborde à droite.}\\
+Touchet & Marie & 89 \\
+Wallis & John & 87 \\
+\bottomrule
+\end{NiceTabular}
+\end{table}
+
+
+
\subsection{Personnalisation des notes de tableau}
@@ -2690,6 +2706,9 @@ paires \textsl{clé=valeur} où le nom des clés n'a plus à être préfixé par
\end{center}
+
+
+
\bigskip
On détaille maintenant ces clés.
@@ -3090,16 +3109,16 @@ d'éléments en verbatim (avec par exemple la commande
Pour les environnements avec délimiteurs (|{pNiceArray}|, |{pNiceMatrix}|,
etc.), il est possible de changer la couleur des délimiteurs avec la clé
-|delimiters-color|.
+|delimiters/color|.
\medskip
\begin{BVerbatim}[boxwidth=12cm,baseline=c]
-$\begin{bNiceMatrix}[delimiters-color=red]
+$\begin{bNiceMatrix}[delimiters/color=red]
1 & 2 \\
3 & 4
\end{bNiceMatrix}$
\end{BVerbatim}
-$\begin{bNiceMatrix}[delimiters-color=red]
+$\begin{bNiceMatrix}[delimiters/color=red]
1 & 2 \\
3 & 4
\end{bNiceMatrix}$
@@ -3136,7 +3155,8 @@ $\begin{NiceArrayWithDelims}
\section{Utilisation de Tikz avec nicematrix}
-\label{name}
+\label{name}\label{PGF-nodes}
+
\subsection{Les nœuds correspondant aux contenus des cases}
@@ -3464,14 +3484,18 @@ noix & noisette & brugnon
-\subsection{Les nœuds «row» et «col»}
+\subsection{Les nœuds indiquant la position des filets}
+
+\label{noeuds-i}
-L'extension \pkg{nicematrix} crée un nœud PGF-Tikz indiquant la position
-potentielle de chaque filet horizontal (avec les noms |row-|$i$) et de chaque
-filet vertical (avec les noms |col-|$j$), comme décrit sur la figure ci-dessous.
-Ces nœuds sont accessibles dans le |code-before| et dans le |\CodeAfter|.
+\colorbox{yellow!50}{\textbf{Nouveau 5.11}}\enskip L'extension \pkg{nicematrix}
+crée un nœud PGF-Tikz nommé simplement $i$ (précédé du préfixe habituel) à
+l'intersection du filet horizontal de numéro $i$ et du filet vertical de
+numéro~$j$ (ou plutôt la position potentielle de ces filets car ils ne sont
+peut-être pas tracés). Ces nœuds sont accessibles dans le |\CodeAfter| mais
+aussi dans le |code-before|.
\begin{center}
-\begin{NiceTabular}{ccc}[hvlines,rules/width=1pt,rules/color=gray]
+\begin{NiceTabular}{ccc}[hvlines,rules={width=1pt,color=gray}]
rose & tulipe & lys \\
arum & iris & violette \\
muguet & dahlia & souci
@@ -3480,13 +3504,8 @@ muguet & dahlia & souci
\begin{tikzpicture}
\foreach \i in {1,2,3,4}
{
- \fill [red] (row-\i) circle (0.5mm) ;
- \node [red,anchor=east] at (row-\i) {row-\i} ;
- }
-\foreach \j in {1,2,3,4}
- {
- \fill [blue] (col-\j) circle (0.5mm) ;
- \node [blue,anchor=north] at (col-\j) {col-\j} ;
+ \fill [red] (\i) circle (0.5mm) ;
+ \node [red,above right] at (\i) {\i} ;
}
\end{tikzpicture}
\end{NiceTabular}
@@ -3494,10 +3513,10 @@ muguet & dahlia & souci
\bigskip
-Si on utilise Tikz (on rappelle que \pkg{nicematrix} ne charge pas Tikz par
-défaut), on peut donc accéder (dans le |code-before| et le |\CodeAfter|) à
-l'intersection du filet horizontal~$i$ et du filet vertical~$j$ avec la syntaxe
-|(row-|$i$\verb+-|col-+$j$|)|.
+Si on utilise Tikz (on rappelle que \pkg{nicematrix} ne charge pas Tikz mais
+uniquement \textsc{pgf} qui est une sous-couche de Tikz), on peut donc accéder
+(dans le |\CodeAfter| mais aussi dans le |code-before|) à l'intersection du filet
+horizontal~$i$ et du filet vertical~$j$ avec la syntaxe |(|$i$\verb+-|+$j$|)|.
\medskip
@@ -3506,8 +3525,7 @@ l'intersection du filet horizontal~$i$ et du filet vertical~$j$ avec la syntaxe
code-before =
{
~emphase# \tikz \draw [fill = red!15] @
-~emphase# (row-7-|col-4) -- (row-8-|col-4) -- (row-8-|col-5) -- @
-~emphase# (row-9-|col-5) -- (row-9-|col-6) |- cycle ; @
+~emphase# (7-|4) -- (8-|4) -- (8-|5) -- (9-|5) -- (9-|6) |- cycle ; @
}
]
1 \\
@@ -3526,8 +3544,7 @@ l'intersection du filet horizontal~$i$ et du filet vertical~$j$ avec la syntaxe
code-before =
{
\tikz \draw [fill = red!15]
- (row-7-|col-4) -- (row-8-|col-4) -- (row-8-|col-5) --
- (row-9-|col-5) -- (row-9-|col-6) |- cycle ;
+ (7-|4) -- (8-|4) -- (8-|5) -- (9-|5) -- (9-|6) |- cycle ;
}
]
1 \\
@@ -3546,6 +3563,7 @@ l'intersection du filet horizontal~$i$ et du filet vertical~$j$ avec la syntaxe
\label{node-sub-matrix}
+\colorbox{yellow!50}{\textbf{Nouveau 5.10}}\enskip
La commande |\SubMatrix| disponible dans le |\CodeAfter| a été présentée
p.~\pageref{sub-matrix}.
@@ -3616,70 +3634,56 @@ bibliothèque Tikz \pkg{patterns} : |\usetikzlibrary{patterns}|).
\fvset{commandchars=\§\¤\μ}
\begin{Verbatim}
\ExplSyntaxOn
-\cs_new_protected:Nn \__pantigny_hatchcell:nnn
+\cs_new_protected:Nn \__pantigny_hatch:nnn
{
\begin { tikzpicture }
\fill [ pattern = north~west~lines , pattern~color = #3 ]
- ( row - #1 -| col - #2)
- rectangle
- ( row - \int_eval:n { #1 + 1 } -| col - \int_eval:n { #2 + 1 } ) ;
+ ( #1 -| #2) rectangle ( \int_eval:n { #1 + 1 } -| \int_eval:n { #2 + 1 } ) ;
\end { tikzpicture }
}
\NewDocumentCommand \hatchcell { ! O { black } }
{
\tl_gput_right:Nx §emphase¤\g_nicematrix_code_before_tlμ
- {
- \__pantigny_hatchcell:nnn
- { \int_use:c { c@iRow } }
- { \int_use:c { c@jCol } }
- { #1 }
- }
+ { \__pantigny_hatch:nnn { \arabic { iRow } } { \arabic { jCol } } { #1 } }
}
\ExplSyntaxOff
\end{Verbatim}
\end{scope}
-
\ExplSyntaxOn
-\cs_new_protected:Nn \__pantigny_hatchcell:nnn
+\cs_new_protected:Nn \__pantigny_hatch:nnn
{
\begin { tikzpicture }
\fill [ pattern = north~west~lines , pattern~color = #3 ]
- ( row - #1 -| col - #2)
- rectangle
- ( row - \int_eval:n { #1 + 1 } -| col - \int_eval:n { #2 + 1 } ) ;
+ ( #1 -| #2 ) rectangle ( \int_eval:n { #1 + 1 } -| \int_eval:n { #2 + 1 } ) ;
\end { tikzpicture }
}
\NewDocumentCommand \hatchcell { ! O { black } }
{
\tl_gput_right:Nx \g_nicematrix_code_before_tl
- {
- \__pantigny_hatchcell:nnn
- { \int_use:c { c@iRow } }
- { \int_use:c { c@jCol } }
- { #1 }
- }
+ { \__pantigny_hatch:nnn { \arabic { iRow } } { \arabic { jCol } } { #1 } }
}
\ExplSyntaxOff
+
\bigskip
Voici un exemple d'utilisation.
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=9cm]
\begin{NiceTabular}{ccc}[hvlines]
-Tokyo & Paris & London \\
-Roma & ~emphase#\hatchcell[blue!30]@Oslo & Miami \\
-Los Angeles & Madrid & Roma
+Tokyo & Paris & Londres \\
+Lima & ~emphase#\hatchcell[blue!30]@Oslo & Miami \\
+Los Angeles & Madrid & Rome
\end{NiceTabular}
\end{BVerbatim}
\begin{NiceTabular}{ccc}[hvlines]
-Tokyo & Paris & London \\
+Tokyo & Paris & Londres \\
Lima & \hatchcell[blue!30]Oslo & Miami \\
-Los Angeles & Madrid & Roma
+Los Angeles & Madrid & Rome
\end{NiceTabular}
@@ -4001,101 +4005,6 @@ Dupont & Chantal & 15 janvier 1998 \\
\subsection{Lignes en pointillés}
-
-Une matrice de permutation.\par\nobreak
-
-À titre d'exemple, on a augmenté la valeur du paramètre
-|xdots/shorten|.\par\nobreak
-
-
-\bigskip
-\begin{BVerbatim}[baseline=c]
-$\begin{pNiceMatrix}[~emphase#xdots/shorten=6em@]
-0 & 1 & 0 & & \Cdots & 0 \\
-\Vdots & & & \Ddots & & \Vdots \\
- & & & \Ddots & & \\
- & & & \Ddots & & 0 \\
-0 & 0 & & & & 1 \\
-1 & 0 & & \Cdots & & 0
-\end{pNiceMatrix}$
-\end{BVerbatim}
-\hspace{2.5cm}
-$\begin{pNiceMatrix}[xdots/shorten=0.6em]
-0 & 1 & 0 & & \Cdots & 0 \\
-\Vdots & & & \Ddots & & \Vdots \\
- & & & \Ddots & & \\
- & & & \Ddots & & 0 \\
-0 & 0 & & & & 1 \\
-1 & 0 & & \Cdots & & 0
-\end{pNiceMatrix}$
-
-\vspace{2cm}
-
-Un exemple avec |\Iddots|. On a augmenté encore davantage la valeur de |xdots/shorten|.\par\nobreak
-\bigskip
-\begin{BVerbatim}[baseline=c]
-$\begin{pNiceMatrix}[~emphase#xdots/shorten = 0.9em@]
-1 & \Cdots & & 1 \\
-\Vdots & & & 0 \\
- & ~emphase#\Iddots@ & ~emphase#\Iddots@ & \Vdots \\
-1 & 0 & \Cdots & 0
-\end{pNiceMatrix}$
-\end{BVerbatim}
-\hspace{4cm}
-$\begin{pNiceMatrix}[xdots/shorten = 0.9em]
-1 & \Cdots & & 1 \\
-\Vdots & & & 0 \\
- & \Iddots & \Iddots & \Vdots \\
-1 & 0 & \Cdots & 0
-\end{pNiceMatrix}$
-
-
-\vspace{2cm}
-Un exemple avec |\multicolumn|:\par\nobreak
-\bigskip
-\begin{BVerbatim}
-\begin{BNiceMatrix}[nullify-dots]
-1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\\
-1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\\
-\Cdots & & ~emphase#\multicolumn{6}{c}{10 \text{ autres lignes}}@ & \Cdots \\
-1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10
-\end{BNiceMatrix}
-\end{BVerbatim}
-
-\bigskip
-\[\begin{BNiceMatrix}[nullify-dots]
-1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\\
-1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\\
-\Cdots & & \multicolumn{6}{c}{10 \text{ autres lignes}} & \Cdots \\
-1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10
-\end{BNiceMatrix}\]
-
-\vspace{2cm}
-Un exemple avec |\Hdotsfor|:\par\nobreak
-
-\bigskip
-\begin{BVerbatim}[baseline=c,boxwidth=11cm]
-\begin{pNiceMatrix}[nullify-dots]
-0 & 1 & 1 & 1 & 1 & 0 \\
-0 & 1 & 1 & 1 & 1 & 0 \\
-\Vdots & ~emphase#\Hdotsfor{4}@ & \Vdots \\
- & ~emphase#\Hdotsfor{4}@ & \\
- & ~emphase#\Hdotsfor{4}@ & \\
- & ~emphase#\Hdotsfor{4}@ & \\
-0 & 1 & 1 & 1 & 1 & 0
-\end{pNiceMatrix}
-\end{BVerbatim}
-$\begin{pNiceMatrix}[nullify-dots]
-0 & 1 & 1 & 1 & 1 & 0 \\
-0 & 1 & 1 & 1 & 1 & 0 \\
-\Vdots & \Hdotsfor{4} & \Vdots \\
- & \Hdotsfor{4} & \\
- & \Hdotsfor{4} & \\
- & \Hdotsfor{4} & \\
-0 & 1 & 1 & 1 & 1 & 0
-\end{pNiceMatrix}$
-
-\vspace{2cm}
Un exemple pour le résultant de deux polynômes :
\par\nobreak
\bigskip
@@ -4160,6 +4069,57 @@ L'option |line-style| permet de changer le style des lignes tracées par
|\Ldots|, |\Cdots|, etc. On peut de ce fait tracer des lignes qui ne sont plus
pointillées.
+
+
+
+\begin{Verbatim}[formatcom=\small\color{gray}]
+\NiceMatrixOptions{code-for-first-row = \scriptstyle,code-for-first-col = \scriptstyle }
+\setcounter{MaxMatrixCols}{12}
+\newcommand{\blue}{\color{blue}}
+\[\begin{pNiceMatrix}[last-row,last-col,nullify-dots,xdots/line-style={dashed,blue}]
+1& & & \Vdots & & & & \Vdots \\
+& \Ddots[line-style=standard] \\
+& & 1 \\
+\Cdots[color=blue,line-style=dashed]& & & \blue 0 &
+\Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
+& & & & 1 \\
+& & &\Vdots & & \Ddots[line-style=standard] & & \Vdots \\
+& & & & & & 1 \\
+\Cdots & & & \blue 1 & \Cdots & & \Cdots & \blue 0 & & & \Cdots & \blue \leftarrow j \\
+& & & & & & & & 1 \\
+& & & & & & & & & \Ddots[line-style=standard] \\
+& & & \Vdots & & & & \Vdots & & & 1 \\
+& & & \blue \overset{\uparrow}{i} & & & & \blue \overset{\uparrow}{j} \\
+\end{pNiceMatrix}\]
+\end{Verbatim}
+
+
+\begin{scope}
+\NiceMatrixOptions{code-for-first-row = \scriptstyle,code-for-first-col = \scriptstyle }
+\setcounter{MaxMatrixCols}{12}
+\newcommand{\blue}{\color{blue}}
+\[\begin{pNiceMatrix}[last-row,last-col,nullify-dots,xdots/line-style={dashed,blue}]
+1& & & \Vdots & & & & \Vdots \\
+& \Ddots[line-style=standard] \\
+& & 1 \\
+\Cdots[color=blue,line-style=dashed]& & & \blue 0 &
+\Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
+& & & & 1 \\
+& & &\Vdots & & \Ddots[line-style=standard] & & \Vdots \\
+& & & & & & 1 \\
+\Cdots & & & \blue 1 & \Cdots & & \Cdots & \blue 0 & & & \Cdots & \blue \leftarrow j \\
+& & & & & & & & 1 \\
+& & & & & & & & & \Ddots[line-style=standard] \\
+& & & \Vdots & & & & \Vdots & & & 1 \\
+& & & \blue \overset{\uparrow}{i} & & & & \blue \overset{\uparrow}{j} \\
+\end{pNiceMatrix}\]
+\end{scope}
+
+
+
+\interitem
+On peut même tracer des lignes continues.
+
\begin{Verbatim}
\NiceMatrixOptions
{nullify-dots,code-for-first-col = \color{blue},code-for-first-col=\color{blue}}
@@ -4321,14 +4281,38 @@ matrice.\footnote{Pour la commande |\cline|, voir la remarque
\vspace{1cm}
Il est possible de colorier une rangée avec |\rowcolor| dans le |code-before|
(ou avec |\rowcolor| dans la première case de la rangée si on utilise la clé
-|colortbl-like|). Les possibilités de réglages sont néanmoins limitées. C'est
+|colortbl-like| − même si \pkg{colortbl} n'est pas chargé).
+
+
+\begin{Verbatim}
+\begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,colortbl-like]
+ ~emphase#\rowcolor{red!15}@A_{11} & A_{12} & A_{13} & A_{14} \\
+ A_{21} & ~emphase#\rowcolor{red!15}@A_{22} & A_{23} & A_{24} \\
+ A_{31} & A_{32} & ~emphase#\rowcolor{red!15}@A_{33} & A_{34} \\
+ A_{41} & A_{42} & A_{43} & ~emphase#\rowcolor{red!15}@A_{44}
+\end{pNiceArray}
+\end{Verbatim}
+
+
+
+\[\begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,colortbl-like]
+ \rowcolor{red!15}A_{11} & A_{12} & A_{13} & A_{14} \\
+ A_{21} & \rowcolor{red!15}A_{22} & A_{23} & A_{24} \\
+ A_{31} & A_{32} & \rowcolor{red!15}A_{33} & A_{34} \\
+ A_{41} & A_{42} & A_{43} & \rowcolor{red!15}A_{44}
+\end{pNiceArray}\]
+
+
+\medskip
+Les possibilités de réglages sont néanmoins limitées. C'est
pourquoi nous présentons ici une autre méthode pour surligner une rangée d'une
matrice.
\medskip
Cet exemple et les suivants nécessitent d'avoir chargé Tikz (\pkg{nicematrix} ne
-charge que \textsc{pgf}) ainsi que la bibliothèque Tikz |fit|, ce qui peut se
-faire avec les deux instructions suivantes dans le préambule du document :
+charge que \textsc{pgf}, qui est une sous-couche de Tikz) ainsi que la
+bibliothèque Tikz |fit|, ce qui peut se faire avec les deux instructions
+suivantes dans le préambule du document :
\begin{verbatim}
\usepackage{tikz}
@@ -4336,12 +4320,14 @@ faire avec les deux instructions suivantes dans le préambule du document :
\end{verbatim}
\medskip
-Nous créons un nœud Tikz rectangulaire qui englobe les nœuds de la
-deuxième rangée en utilisant les outils de la bibliothèque Tikz \pkg{fit}. Ce
-nœud est rempli après la construction de la matrice. Pour que l'on puisse voir
-le texte \emph{sous} le nœud, nous devons utiliser la transparence avec le
-|blend mode| égal à |multiply|.
-
+Nous créons un nœud Tikz rectangulaire qui englobe les nœuds de la deuxième
+rangée en utilisant les outils de la bibliothèque Tikz \pkg{fit}. Ce nœud est
+rempli après la construction de la matrice. Pour que l'on puisse voir le texte
+\emph{sous} le nœud, nous devons utiliser la transparence avec le |blend mode|
+égal à |multiply|. \textbf{Attention} : Certains lecteurs de \textsc{pdf}
+n'affichent pas la transparence.\footnote{Dans Overleaf, the lecteur de
+ \textsc{PDF} «intégré» n'affiche pas la transparence. On peut sélectionner le
+ lecteur «natif» dans ce cas-là.}
\tikzset{highlight/.style={rectangle,
fill=red!15,
@@ -4504,43 +4490,6 @@ a & a & a & L_3 \\
\end{pNiceArray}\]
-\vspace{1cm}
-
-Dans l'exemple suivant, on utilise les «nœuds larges» pour surligner une zone de
-la matrice.\par\nobreak
-\begin{Verbatim}
-\begin{pNiceArray}{>{\strut}cccc}[create-large-nodes,margin,extra-margin=2pt]
- A_{11} & A_{12} & A_{13} & A_{14} \\
- A_{21} & A_{22} & A_{23} & A_{24} \\
- A_{31} & A_{32} & A_{33} & A_{34} \\
- A_{41} & A_{42} & A_{43} & A_{44}
-\CodeAfter
- \tikz \path [~emphase#name suffix = -large@,fill = red!15, blend mode = multiply]
- (1-1.north west)
- |- (2-2.north west)
- |- (3-3.north west)
- |- (4-4.north west)
- |- (4-4.south east)
- |- (1-1.north west) ;
-\end{pNiceArray}
-\end{Verbatim}
-
-
-\[\begin{pNiceArray}{>{\strut}cccc}[create-large-nodes,margin,extra-margin=2pt]
- A_{11} & A_{12} & A_{13} & A_{14} \\
- A_{21} & A_{22} & A_{23} & A_{24} \\
- A_{31} & A_{32} & A_{33} & A_{34} \\
- A_{41} & A_{42} & A_{43} & A_{44}
-\CodeAfter
- \tikz \path [name suffix = -large,fill = red!15, blend mode = multiply]
- (1-1.north west)
- |- (2-2.north west)
- |- (3-3.north west)
- |- (4-4.north west)
- |- (4-4.south east)
- |- (1-1.north west) ;
-\end{pNiceArray}\]
-
\subsection{Utilisation directe des nœuds Tikz}
@@ -4671,7 +4620,6 @@ TeXLive sont disponibles sur le serveur \textsc{svn} de TeXLive :
% Local Variables:
% TeX-fold-mode: t
% TeX-fold-preserve-comments: nil
-% flyspell-mode: true
% fill-column: 80
% End:
diff --git a/macros/latex/contrib/nicematrix/nicematrix.dtx b/macros/latex/contrib/nicematrix/nicematrix.dtx
index 3b7f4d278e..24732c133c 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.dtx
+++ b/macros/latex/contrib/nicematrix/nicematrix.dtx
@@ -15,8 +15,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{5.10}
-\def\myfiledate{2021/02/05}
+\def\myfileversion{5.11}
+\def\myfiledate{2021/02/22}
%
%
%<*batchfile>
@@ -95,7 +95,8 @@ version 2005/12/01 or later.
\cs_set_protected:Npn}
\DoNotIndex{\bool_if:NTF,\bool_new:N,\bool_set_false:N,\bool_set_true:N,\l_tmpa_bool}
\DoNotIndex{\group_begin:,\group_end:,\c_math_toggle_token}
-\DoNotIndex{\tl_set:Nn,\l_tmpa_tl}
+\DoNotIndex{\tl_set:Nn,\l_tmpa_tl,\l_tmpb_tl}
+\DoNotIndex{\tl_gput_left:Nn,\tl_gput_right:Nn}
\ExplSyntaxOff
\makeatother
@@ -160,6 +161,16 @@ version 2005/12/01 or later.
% distribution as MiKTeX or TeXlive.
%
% \bigskip
+% \emph{Remark}: If you use LaTeX via Internet with, for example, Overleaf, you
+% can upload the file |nicematrix.sty| in the repertory of your
+% project in order to take full advantage of the latest version de
+% \pkg{nicematrix}.\footnote{The latest version of the file
+% \verb|nicematrix.sty| may be downloaded from the \textsc{svn} server of
+% TeXLive:\newline
+% \small
+% \url{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}}
+%
+% \bigskip
% This package can be used with |xelatex|, |lualatex|, |pdflatex| but also by
% the classical workflow |latex|-|dvips|-|ps2pdf| (or Adobe Distiller).
% \textsl{However, the file nicematrix.dtx of the present documentation should
@@ -191,19 +202,6 @@ version 2005/12/01 or later.
% semi-global).
%
%
-% \bigskip
-% {\bfseries \color{red} Important
-%
-% Since the version 5.0 of \pkg{nicematrix}, one must use the letters |l|, |c| and
-% |r| in the preambles of the environments and no longer the letters |L|, |C| and
-% |R|.
-%
-% For sake of compatibility with the previous versions, there exists an option
-% |define-L-C-R| which must be used when loading \pkg{nicematrix}.
-% \begin{Verbatim}
-% \usepackage[define-L-C-R]{nicematrix}
-% \end{Verbatim}
-% }
%
% \newpage
%
@@ -281,8 +279,8 @@ version 2005/12/01 or later.
% |cell-space-bottom-limit| similar to the parameters |\cellspacetoplimit| and
% |\cellspacebottomlimit| of \pkg{cellspace}.
%
-% \colorbox{yellow!50}{\bfseries{New 5.9}}\enskip
-% There is also a key |cell-space-limits| to set both parameters at once.
+% \colorbox{yellow!30}{New 5.9}\enskip There is also a key |cell-space-limits|
+% to set both parameters at once.
%
% The initial value of these parameters is $0$~pt in order to have for the
% environments of \pkg{nicematrix} the same behaviour as those of \pkg{array}
@@ -747,9 +745,7 @@ version 2005/12/01 or later.
% In the environments of \pkg{nicematrix}, the vertical rules specified by
% \verb+|+ in the preambles of the environments are never broken, even by an
% incomplete row or by a double horizontal rule specified by |\hline\hline|
-% (there is no need to use \pkg{hhline}). \footnote{This is the behaviour since
-% the version 5.1 of \pkg{nicematrix}. Prior to that version, the behaviour was
-% the standard behaviour of \pkg{array}.}
+% (there is no need to use \pkg{hhline}).
%
% \bigskip
% \begin{BVerbatim}[baseline=c,boxwidth=10cm]
@@ -1170,7 +1166,9 @@ version 2005/12/01 or later.
% The extension \pkg{nicematrix} provides a key |code-before| for some code that
% will be executed before the drawing of the tabular. In this |code-before|, new
% commands are available: |\cellcolor|, |\rectanglecolor|, |\rowcolor|,
-% |\columncolor|, |\rowcolors| and |\chessboardcolors|.
+% |\columncolor|, |\rowcolors| and |\chessboardcolors|.\footnote{Remark that, in
+% the \verb|code-before|, some PGF/Tikz nodes corresponding to the position to
+% the potential rules are available: cf.~p.~\pageref{nodes-i}.}
% \label{code-before}
%
% \medskip
@@ -1183,8 +1181,8 @@ version 2005/12/01 or later.
% \pkg{colortbl}.
%
% This command takes in as mandatory arguments a color and a list of cells, each
-% of which with the format $i$-$j$ where $i$ is the number of row and $j$ the
-% number of colummn of the cell.
+% of which with the format $i$-$j$ where $i$ is the number of the row and $j$ the
+% number of the colummn of the cell.
%
%
% \medskip
@@ -1282,17 +1280,17 @@ version 2005/12/01 or later.
% \bigskip
% \item The command |\rowcolors| (with a \emph{s}) takes its name from the
% command |\rowcolors| of \pkg{xcolor}\footnote{The command |\rowcolors| of
-% \pkg{xcolor} is available when \pkg{xcolor} is loaded with the
-% option~|table|.}. The \emph{s} emphasizes the fact that there is \emph{two}
-% colors. This command colors alternately the rows of the tabular with the
-% tow colors (provided in second and third argument), beginning
-% with the row whose number is given in first (mandatory) argument.
+% \pkg{xcolor} is available when \pkg{xcolor} is loaded with the option~|table|.
+% That option also loads the package \pkg{colortbl}.}. The \emph{s} emphasizes
+% the fact that there is \emph{two} colors. This command colors alternately the
+% rows of the tabular with the tow colors (provided in second and third
+% argument), beginning with the row whose number is given in first (mandatory)
+% argument.
%
-% \colorbox{yellow!30}{New 5.8}\enskip In fact, the first (mandatory)
-% argument is, more generally, a comma separated list of intervals describing
-% the rows involved in the action of |\rowcolors| (an interval of the form
-% $i$|-| describes in fact the interval of all the rows of the tabular,
-% beginning with the row~$i$).
+% In fact, the first (mandatory) argument is, more generally, a comma separated
+% list of intervals describing the rows involved in the action of |\rowcolors|
+% (an interval of the form $i$|-| describes in fact the interval of all the rows
+% of the tabular, beginning with the row~$i$).
%
%
%
@@ -1301,15 +1299,15 @@ version 2005/12/01 or later.
% optional argument in the first position corresponds to the colorimetric
% space). The available keys are |cols|, |restart| and |respect-blocks|.
% \begin{itemize}
-% \item \colorbox{yellow!30}{New 5.8}\enskip The key |cols| describes a
-% set of columns. The command |\rowcolors| will color only the cells of these
-% columns. The value is a comma-separated list of intervals of the form $i$-$j$.
-% \item \colorbox{yellow!30}{New 5.8}\enskip With the key |restart|,
-% each interval of rows (specified by the first mandatory argument) begins with
-% the same color.\footnote{Otherwise, the color of a given row relies only upon the
-% parity of its number.}
+% \item The key |cols| describes a set of columns. The command |\rowcolors| will
+% color only the cells of these columns. The value is a comma-separated list of
+% intervals of the form $i$-$j$.
+% \item With the key |restart|, each interval of rows (specified by the first
+% mandatory argument) begins with the same color.\footnote{Otherwise, the color
+% of a given row relies only upon the parity of its number.}
% \item With the key |respect-blocks| the ``rows'' alternately colored may extend over
-% several rows if they have to incorporate blocks (created with the command |\Block|).
+% several rows if they have to incorporate blocks (created with the command
+% |\Block|: cf.~p.~\pageref{Block}).
% \end{itemize}
%
% \medskip
@@ -1402,7 +1400,8 @@ version 2005/12/01 or later.
%
% \bigskip
% One should remark that these commands are compatible with the commands of
-% \pkg{booktabs} (|\toprule|, |\midrule|, |\bottomrule|, etc).
+% \pkg{booktabs} (|\toprule|, |\midrule|, |\bottomrule|, etc). However,
+% \pkg{booktabs} is not loaded by \pkg{nicematrix}.
%
% \medskip
% \begin{scope}
@@ -1451,7 +1450,7 @@ version 2005/12/01 or later.
%
% It's possible to access the preceding tools with a syntax close to the syntax
% of \pkg{colortbl}. For that, one must use the key |colortbl-like| in the
-% current environment.\footnote{As of now, this key is not available in |\NiceMatrixOptions|.}
+% current environment.\footnote{As for now, this key is \emph{not} available in |\NiceMatrixOptions|.}
%
% There are three commands available (they are inspired by \pkg{colortbl} but
% are \emph{independent} of \pkg{colortbl}):
@@ -1463,7 +1462,7 @@ version 2005/12/01 or later.
% with the same syntax as the corresponding command of
% \pkg{colortbl} (however, unlike the command |\columncolor| of \pkg{colortbl},
% this command |\columncolor| can appear within another command, itself used in the
-% preamble).
+% preamble of the array).
% \end{itemize}
%
% \medskip
@@ -1673,10 +1672,13 @@ version 2005/12/01 or later.
% \bigskip
% We have several remarks to do.
% \begin{itemize}[beginpenalty=10000]
-% \item For the environments with an explicit preamble (i.e. |{NiceArray}| and
-% its variants), no letter must be given in that preamble for the potential
-% first column and the potential last column: they will automatically (and
-% necessarily) be of type |r| for the first column and |l| for the last one.
+% \item For the environments with an explicit preamble (i.e. |{NiceTabular}|,
+% |{NiceArray}| and its variants), no letter must be given in that preamble for
+% the potential first column and the potential last column: they will
+% automatically (and necessarily) be of type |r| for the first column and |l|
+% for the last one.\footnote{The users wishing exteriors columns with another
+% type of alignment should consider the command |\SubMatrix| available in the
+% |\CodeAfter| (cf.~p.~\pageref{sub-matrix}).}
% \item One may wonder how \pkg{nicematrix} determines the number of rows and
% columns which are needed for the composition of the ``last row'' and ``last
% column''.
@@ -1705,9 +1707,8 @@ version 2005/12/01 or later.
% \bigskip
% It's possible to control the appearance of these rows and columns with options
% |code-for-first-row|, |code-for-last-row|, |code-for-first-col| and
-% |code-for-last-col|. These options
-% specify tokens that will be inserted before each cell of the corresponding row
-% or column.
+% |code-for-last-col|. These options specify tokens that will be inserted before
+% each cell of the corresponding row or column.
%
%
% \begin{Verbatim}
@@ -1761,9 +1762,12 @@ version 2005/12/01 or later.
%
% \item Logically, the potential option |columns-width| (described
% p.~\pageref{width}) doesn't apply to the ``first column'' and ``last column''.
+%
% \item For technical reasons, it's not possible to use the option of the
-% command |\\| after the ``first row'' or before the ``last row'' (the placement
-% of the delimiters would be wrong).
+% command |\\| after the ``first row'' or before the ``last row''. The placement
+% of the delimiters would be wrong. If you are looking for a workaround,
+% consider the command |\SubMatrix| in the |\CodeAfter| described
+% p.~\pageref{sub-matrix}.
% \end{itemize}
%
%
@@ -1793,7 +1797,7 @@ version 2005/12/01 or later.
% with the option |color|.\footnote{It's also possible to change the color of
% all theses dotted lines with the option |xdots/color| (\textsl{xdots} to
% remind that it works for |\Cdots|, |\Ldots|, |\Vdots|, etc.): cf. p.
-% \pageref{customization}.}\par\nobreak
+% \pageref{customisation}.}\par\nobreak
%
% \bigskip
% \begin{BVerbatim}[baseline=c,boxwidth=10cm]
@@ -2028,10 +2032,12 @@ version 2005/12/01 or later.
% 1 & 2 & 3 & 4 & 5
% \end{pNiceMatrix}$
%
-%
+% \medskip
% Remark: Unlike the command |\hdotsfor| of \pkg{amsmath}, the command
-% |\Hdotsfor| may be used when the package \pkg{colortbl} is loaded (but you
-% might have problem if you use |\rowcolor| on the same row as |\Hdotsfor|).
+% |\Hdotsfor| may be used even when the package \pkg{colortbl}\footnote{We
+% recall that when \pkg{xcolor} is loaded with the option \verb|table|, the
+% package \pkg{colortbl} is loaded.} is loaded (but you might have problem if
+% you use |\rowcolor| on the same row as |\Hdotsfor|).
%
% \bigskip
% The package \pkg{nicematrix} also provides a command |\Vdotsfor| similar to
@@ -2145,9 +2151,9 @@ version 2005/12/01 or later.
% 0 & & 1
% \end{bNiceMatrix}$
%
-% \subsection{Customization of the dotted lines}
+% \subsection{Customisation of the dotted lines}
%
-% \label{customization}
+% \label{customisation}
% The dotted lines drawn by |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots|
% and |\Hdotsfor| (and by the command |\line| in the |\CodeAfter| which is described
% p.~\pageref{line-in-code-after}) may be customized by three options (specified
@@ -2158,9 +2164,9 @@ version 2005/12/01 or later.
% \item |line-style|.
% \end{itemize}
%
-% These options may also be fixed with |\NiceMatrixOptions| or at the level of a
-% given environment but, in those cases, they must be prefixed by |xdots|, and,
-% thus have for names:
+% These options may also be fixed with |\NiceMatrixOptions|, as options of
+% |\CodeAfter| or at the level of a given environment but, in those cases, they
+% must be prefixed by |xdots|, and, thus have for names:
% \begin{itemize}
% \item |xdots/color|;
% \item |xdots/shorten|;
@@ -2280,18 +2286,27 @@ version 2005/12/01 or later.
% \medskip
% For the legibility of the code, an alternative syntax is provided: it's
% possible to give the instructions of the |\code-after| at the end of the
-% environment, after the keyword |\CodeAfter|.
+% environment, after the keyword |\CodeAfter|. Although |\CodeAfter| is a
+% keyword, it takes in an optional argument (between square brackets). The keys
+% accepted form a subset of the keys of the command |\WithArrowsOptions|.
%
+%
+% \medskip
+% The experienced users may use, for instance, the PGF/Tikz nodes created by
+% \pkg{nicematrix} in the |\CodeAfter|. These nodes are described further
+% beginning on p.~\pageref{PGF-nodes}.
+%
% \medskip
-% Two special commands are available in the |\CodeAfter|: |line| and
+% Moreover, two special commands are available in the |\CodeAfter|: |line| and
% |\SubMatrix|.
%
% \subsection{The command \textbackslash line in the \textbackslash CodeAfter}
%
-% The command |\line|draws directly dotted lines between nodes. It takes two
-% arguments for the two cells to rely, both of the form $i$-$j$ where is the
-% number of row and $j$ is the number of column. It may be used, for example, to
-% draw a dotted line between two adjacent cells. \label{line-in-code-after}
+% The command |\line| draws directly dotted lines between nodes. It takes in two
+% arguments for the two cells to link, both of the form $i$-$j$ where is the
+% number of the row and $j$ is the number of the column. It may be used, for
+% example, to draw a dotted line between two adjacent
+% cells. \label{line-in-code-after}
%
% \medskip
% \begin{BVerbatim}[baseline=c,boxwidth=11cm]
@@ -2315,13 +2330,18 @@ version 2005/12/01 or later.
% \end{pNiceMatrix}$
% \end{scope}
%
+% \medskip
+% The options available for the customisation of the dotted lines created by
+% |\Cdots|, |\Vdots|, etc. are also available for this command (cf.
+% p.~\pageref{customisation}).
+%
%
% \subsection{The command \textbackslash SubMatrix in the \textbackslash CodeAfter}
%
% \label{sub-matrix}
%
% \colorbox{yellow!50}{\textbf{New 5.10}}\enskip
-% The command |\SubMatrix| provides a way to put delimiters on an portion
+% The command |\SubMatrix| provides a way to put delimiters on a portion
% of the array considered as a submatrix. The command |\SubMatrix| takes in five
% arguments:
% \begin{itemize}
@@ -2343,10 +2363,10 @@ version 2005/12/01 or later.
%
% \medskip
% \begin{scope}
+% \hfuzz=15cm
% \fvset{commandchars=\~\#\+}%
% \begin{BVerbatim}[boxwidth=11cm,baseline=c]
-% \[\begin{NiceArray}{ccc~emphase#@{\hspace{1.5em}}+c}%
-% [cell-space-limits=2pt,~emphase#margin+]
+% \[\begin{NiceArray}{ccc~emphase#@{\hspace{1.5em}}+c}[cell-space-limits=2pt,~emphase#margin+]
% 1 & 1 & 1 & x \\
% \dfrac{1}{4} & \dfrac{1}{2} & \dfrac{1}{4} & y \\
% 1 & 2 & 3 & z
@@ -2372,7 +2392,7 @@ version 2005/12/01 or later.
% exists also the key |xshift| which fixes both parameters);
% \item |extra-height| adds a quantity to the total height of the delimiters
% (height |\ht| + depth |\dp|);
-% \item |delimiters-color| fixes the color of the delimiters (also
+% \item |delimiters/color| fixes the color of the delimiters (also
% available in |\NiceMatrixOptions|, in the environments with delimiters and as
% option of the command |\CodeAfter|);
% \item |slim| is a boolean key: when that key is in force, the horizontal
@@ -2390,10 +2410,10 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{scope}
+% \hfuzz=12cm
% \fvset{commandchars=\~\#\!}%
% \begin{BVerbatim}[baseline=c,boxwidth=11cm]
-% $\begin{NiceArray}{cc@{\hspace{5mm}}l}%
-% [cell-space-limits=2pt]
+% $\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
% & & \frac12 \\
% & & \frac14 \\[1mm]
% a & b & \frac12a+\frac14b \\
@@ -2421,10 +2441,10 @@ version 2005/12/01 or later.
%
% \medskip
% \begin{scope}
+% \hfuzz=12cm
% \fvset{commandchars=\~\#\!}%
% \begin{BVerbatim}[baseline=c,boxwidth=11cm]
-% $\begin{NiceArray}{cc@{\hspace{5mm}}l}%
-% [cell-space-limits=2pt]
+% $\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
% & & \frac12 \\
% & & \frac14 \\[1mm]
% a & b & \frac12a+\frac14b \\
@@ -2450,7 +2470,7 @@ version 2005/12/01 or later.
%
% \bigskip
% There is also a key |name| which gives a name to the submatrix created by
-% |\SubMatrix|. That name is used to created PGF/Tiks nodes: cf
+% |\SubMatrix|. That name is used to created PGF/Tikz nodes: cf
% p.~\pageref{node-sub-matrix}.
%
% \section{The notes in the tabulars}
@@ -2570,7 +2590,7 @@ version 2005/12/01 or later.
%
% \begin{center}
% \fvset{commandchars=\~\#\!}
-% \begin{BVerbatim}[formatcom=\small\color{gray}]
+% \begin{Verbatim}[formatcom=\small\color{gray}]
% \begin{table}
% \setlength{\belowcaptionskip}{1ex}
% \centering
@@ -2592,11 +2612,11 @@ version 2005/12/01 or later.
% \bottomrule
% \end{NiceTabular}
% \end{table}
-% \end{BVerbatim}
+% \end{Verbatim}
% \end{center}
%
%
-% \begin{table}
+% \begin{table}[hb]
% \setlength{\belowcaptionskip}{1ex}
% \centering
% \caption{Use of \texttt{\textbackslash tabularnote}\tabularnote{It's possible
@@ -2745,7 +2765,7 @@ version 2005/12/01 or later.
% Initial value:\quad |afterlabel = \nobreak, itemjoin = \quad|
%
%
-% \item The key |notes/code-before| est une token list inserted by \pkg{nicematrix}
+% \item The key |notes/code-before| is a token list inserted by \pkg{nicematrix}
% just before the composition of the notes at the end of the tabular.
%
% Initial value: \textsl{empty}
@@ -2762,7 +2782,7 @@ version 2005/12/01 or later.
%
%
% \bigskip
-% For an example of customization of the tabular notes, see p.~\pageref{ex:notes}.
+% For an example of customisation of the tabular notes, see p.~\pageref{ex:notes}.
%
%
% \subsection{Use of \{NiceTabular\} with threeparttable}
@@ -3055,16 +3075,17 @@ version 2005/12/01 or later.
%
% For the environements with delimiters (|{pNiceArray}|, |{pNiceMatrix}|, etc.),
% it's possible to change the color of the delimiters with the key
-% |delimiters-color|.
+% |delimiters/color|.\footnote{\verb|delimiters-color| is a synonymous
+% (deprecated) for |delimiters/color|.}
%
% \medskip
% \begin{BVerbatim}[boxwidth=12cm,baseline=c]
-% $\begin{bNiceMatrix}[delimiters-color=red]
+% $\begin{bNiceMatrix}[delimiters/color=red]
% 1 & 2 \\
% 3 & 4
% \end{bNiceMatrix}$
% \end{BVerbatim}
-% $\begin{bNiceMatrix}[delimiters-color=red]
+% $\begin{bNiceMatrix}[delimiters/color=red]
% 1 & 2 \\
% 3 & 4
% \end{bNiceMatrix}$
@@ -3098,7 +3119,8 @@ version 2005/12/01 or later.
%
% \section{Use of Tikz with nicematrix}
%
-% \label{name}
+% \label{name}\label{PGF-nodes}
+%
% \subsection{The nodes corresponding to the contents of the cells}
%
% The package \pkg{nicematrix} creates a PGF/Tikz node for each (non-empty) cell
@@ -3419,12 +3441,15 @@ version 2005/12/01 or later.
%
%
%
-% \subsection{The ``row-nodes'' and the ``col-nodes''}
+% \subsection{The nodes which indicate the position of the rules}
%
-% The package \pkg{nicematrix} creates a PGF/Tikz node indicating the potential
-% position of each horizontal rule (with the names |row-|$i$) and each vertical
-% rule (with the names |col-|$j$), as described in the following figure. These
-% nodes are available in the |code-before| and the |\CodeAfter|.
+% \label{nodes-i}
+% \colorbox{yellow!50}{\textbf{New 5.11}}\enskip The package \pkg{nicematrix}
+% creates a PGF/Tikz node merely called $i$ (with the classical prefix) at the
+% intersection of the horizontal rule of number~$i$ and the vertical rule of
+% number~$j$ (more specifically the potential position of those rules because
+% maybe there are not actually drawn). These nodes are available in the
+% |code-before| and the |\CodeAfter|.
% \begin{center}
% \begin{NiceTabular}{ccc}[hvlines,rules/width=1pt,rules/color=gray]
% rose & tulipe & lys \\
@@ -3435,23 +3460,18 @@ version 2005/12/01 or later.
% \begin{tikzpicture}
% \foreach \i in {1,2,3,4}
% {
-% \fill [red] (row-\i) circle (0.5mm) ;
-% \node [red,anchor=east] at (row-\i) {row-\i} ;
-% }
-% \foreach \j in {1,2,3,4}
-% {
-% \fill [blue] (col-\j) circle (0.5mm) ;
-% \node [blue,anchor=north] at (col-\j) {col-\j} ;
+% \fill [red] (\i) circle (0.5mm) ;
+% \node [red,above right] at (\i) {\i} ;
% }
% \end{tikzpicture}
% \end{NiceTabular}
% \end{center}
%
% \bigskip
-% If we use Tikz (we remind that \pkg{nicematrix} does not load Tikz by
-% default), we can access (in the |code-before| and the |\CodeAfter|) to the
-% intersection of the horizontal rule~$i$ and the vertical rule~$j$ with the
-% syntax |(row-|$i$\verb+-|col-+$j$|)|.
+% If we use Tikz (we remind that \pkg{nicematrix} does not load Tikz by default,
+% by only \textsc{pgf}, which is a sub-layer of Tikz), we can access, in the
+% |\CodeAfter| but also in the |code-before|) to the intersection of the horizontal
+% rule~$i$ and the vertical rule~$j$ with the syntax |(|$i$\verb+-|+$j$|)|.
%
% \medskip
% \begin{Verbatim}
@@ -3459,8 +3479,7 @@ version 2005/12/01 or later.
% code-before =
% {
% ~emphase# \tikz \draw [fill = red!15] @
-% ~emphase# (row-7-|col-4) -- (row-8-|col-4) -- (row-8-|col-5) -- @
-% ~emphase# (row-9-|col-5) -- (row-9-|col-6) |- cycle ; @
+% ~emphase# (7-|4) -- (8-|4) -- (8-|5) -- (9-|5) -- (9-|6) |- cycle ; @
% }
% ]
% 1 \\
@@ -3478,8 +3497,7 @@ version 2005/12/01 or later.
% code-before =
% {
% \tikz \draw [fill = red!15]
-% (row-7-|col-4) -- (row-8-|col-4) -- (row-8-|col-5) --
-% (row-9-|col-5) -- (row-9-|col-6) |- cycle ;
+% (7-|4) -- (8-|4) -- (8-|5) -- (9-|5) -- (9-|6) |- cycle ;
% }
% ]
% 1 \\
@@ -3497,8 +3515,9 @@ version 2005/12/01 or later.
%
% \label{node-sub-matrix}
%
+% \colorbox{yellow!50}{\textbf{New 5.10}}\enskip
% The command |\SubMatrix| available in the |\CodeAfter| has been described
-% p.~\pageref{sub-matrix}.
+% p.~\pageref{sub-matrix}.
%
% \smallskip
% If a command |\SubMatrix| has been used with the key |name| with an expression
@@ -3567,51 +3586,37 @@ version 2005/12/01 or later.
% \fvset{commandchars=\§\¤\μ}
% \begin{Verbatim}
%\ExplSyntaxOn
-% \cs_new_protected:Nn \__pantigny_hatchcell:nnn
+% \cs_new_protected:Nn \__pantigny_hatch:nnn
% {
% \begin { tikzpicture }
% \fill [ pattern = north~west~lines , pattern~color = #3 ]
-% ( row - #1 -| col - #2)
-% rectangle
-% ( row - \int_eval:n { #1 + 1 } -| col - \int_eval:n { #2 + 1 } ) ;
+% ( #1 -| #2) rectangle ( \int_eval:n { #1 + 1 } -| \int_eval:n { #2 + 1 } ) ;
% \end { tikzpicture }
% }
%
% \NewDocumentCommand \hatchcell { ! O { black } }
% {
% \tl_gput_right:Nx §emphase¤\g_nicematrix_code_before_tlμ
-% {
-% \__pantigny_hatchcell:nnn
-% { \int_use:c { c@iRow } }
-% { \int_use:c { c@jCol } }
-% { #1 }
-% }
+% { \__pantigny_hatch:nnn { \arabic { iRow } } { \arabic { jCol } } { #1 } }
% }
% \ExplSyntaxOff
% \end{Verbatim}
% \end{scope}
%
%
-%\ExplSyntaxOn
-% \cs_new_protected:Nn \__pantigny_hatchcell:nnn
+% \ExplSyntaxOn
+% \cs_new_protected:Nn \__pantigny_hatch:nnn
% {
% \begin { tikzpicture }
% \fill [ pattern = north~west~lines , pattern~color = #3 ]
-% ( row - #1 -| col - #2)
-% rectangle
-% ( row - \int_eval:n { #1 + 1 } -| col - \int_eval:n { #2 + 1 } ) ;
+% ( #1 -| #2 ) rectangle ( \int_eval:n { #1 + 1 } -| \int_eval:n { #2 + 1 } ) ;
% \end { tikzpicture }
% }
%
% \NewDocumentCommand \hatchcell { ! O { black } }
% {
% \tl_gput_right:Nx \g_nicematrix_code_before_tl
-% {
-% \__pantigny_hatchcell:nnn
-% { \int_use:c { c@iRow } }
-% { \int_use:c { c@jCol } }
-% { #1 }
-% }
+% { \__pantigny_hatch:nnn { \arabic { iRow } } { \arabic { jCol } } { #1 } }
% }
% \ExplSyntaxOff
%
@@ -3623,7 +3628,7 @@ version 2005/12/01 or later.
% \begin{BVerbatim}[baseline=c,boxwidth=9cm]
% \begin{NiceTabular}{ccc}[hvlines]
% Tokyo & Paris & London \\
-% Roma & ~emphase#\hatchcell[blue!30]@Oslo & Miami \\
+% Lima & ~emphase#\hatchcell[blue!30]@Oslo & Miami \\
% Los Angeles & Madrid & Roma
% \end{NiceTabular}
% \end{BVerbatim}
@@ -3643,7 +3648,7 @@ version 2005/12/01 or later.
% The package \pkg{nicematrix} provides the command |\OnlyMainNiceMatrix|
% which is meant to be used in definitions of new column types. Its argument is
% evaluated if and only if we are in the main part of the array, that is to say
-% not in an potential exterior row.
+% not in a potential exterior row.
%
% For example, one may wish to define a new column type |?| in order to draw a
% (black) heavy rule of width 1~pt. The following definition will do the
@@ -3832,7 +3837,7 @@ version 2005/12/01 or later.
% \end{Verbatim}
%
% \bigskip
-% As of now, the package \pkg{nicematrix} is not compatible with
+% As for now, the package \pkg{nicematrix} is not compatible with
% \cls{aastex63}. If you want to use \pkg{nicematrix} with \cls{aastex63}, send
% me an email and I will try to solve the incompatibilies.
%
@@ -3942,103 +3947,7 @@ version 2005/12/01 or later.
%
% \subsection{Dotted lines}
%
-%
-% A permutation matrix (as an example, we have raised the value of
-% |xdots/shorten|).
-%
-% \label{permutation}
-% \bigskip
-% \begin{BVerbatim}[baseline=c]
-% $\begin{pNiceMatrix}[~emphase#xdots/shorten=0.6em@]
-% 0 & 1 & 0 & & \Cdots & 0 \\
-% \Vdots & & & \Ddots & & \Vdots \\
-% & & & \Ddots & & \\
-% & & & \Ddots & & 0 \\
-% 0 & 0 & & & & 1 \\
-% 1 & 0 & & \Cdots & & 0
-% \end{pNiceMatrix}$
-% \end{BVerbatim}
-% \hspace{2.5cm}
-% $\begin{pNiceMatrix}[xdots/shorten=0.6em]
-% 0 & 1 & 0 & & \Cdots & 0 \\
-% \Vdots & & & \Ddots & & \Vdots \\
-% & & & \Ddots & & \\
-% & & & \Ddots & & 0 \\
-% 0 & 0 & & & & 1 \\
-% 1 & 0 & & \Cdots & & 0
-% \end{pNiceMatrix}$
-%
-% \vspace{2cm}
-%
-% An example with |\Iddots| (we have raised again the value of
-% |xdots/shorten|).\par\nobreak
-%
-% \bigskip
-% \begin{BVerbatim}[baseline=c]
-% $\begin{pNiceMatrix}[xdots/shorten=0.9em]
-% 1 & \Cdots & & 1 \\
-% \Vdots & & & 0 \\
-% & ~emphase#\Iddots@ & ~emphase#\Iddots@ & \Vdots \\
-% 1 & 0 & \Cdots & 0
-% \end{pNiceMatrix}$
-% \end{BVerbatim}
-% \hspace{4cm}
-% $\begin{pNiceMatrix}[xdots/shorten=0.9em]
-% 1 & \Cdots & & 1 \\
-% \Vdots & & & 0 \\
-% & \Iddots & \Iddots & \Vdots \\
-% 1 & 0 & \Cdots & 0
-% \end{pNiceMatrix}$
-%
-%
-% \vspace{2cm}
-% An example with |\multicolumn|:\par\nobreak
-%
-% \bigskip
-% \begin{BVerbatim}
-% \begin{BNiceMatrix}[nullify-dots]
-% 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\\
-% 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\\
-% \Cdots & & ~emphase#\multicolumn{6}{C}{10 \text{ other rows}}@ & \Cdots \\
-% 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10
-% \end{BNiceMatrix}
-% \end{BVerbatim}
-%
-% \bigskip
-% \[\begin{BNiceMatrix}[nullify-dots]
-% 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\\
-% 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\\
-% \Cdots & & \multicolumn{6}{c}{10 \text{ other rows}} & \Cdots \\
-% 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10
-% \end{BNiceMatrix}\]
-%
-% \vspace{2cm}
-% An example with |\Hdotsfor|:\par\nobreak
-%
-% \bigskip
-% \begin{BVerbatim}[baseline=c,boxwidth=11cm]
-% \begin{pNiceMatrix}[nullify-dots]
-% 0 & 1 & 1 & 1 & 1 & 0 \\
-% 0 & 1 & 1 & 1 & 1 & 0 \\
-% \Vdots & ~emphase#\Hdotsfor{4}@ & \Vdots \\
-% & ~emphase#\Hdotsfor{4}@ & \\
-% & ~emphase#\Hdotsfor{4}@ & \\
-% & ~emphase#\Hdotsfor{4}@ & \\
-% 0 & 1 & 1 & 1 & 1 & 0
-% \end{pNiceMatrix}
-% \end{BVerbatim}
-% $\begin{pNiceMatrix}[nullify-dots]
-% 0 & 1 & 1 & 1 & 1 & 0 \\
-% 0 & 1 & 1 & 1 & 1 & 0 \\
-% \Vdots & \Hdotsfor{4} & \Vdots \\
-% & \Hdotsfor{4} & \\
-% & \Hdotsfor{4} & \\
-% & \Hdotsfor{4} & \\
-% 0 & 1 & 1 & 1 & 1 & 0
-% \end{pNiceMatrix}$
-%
-% \vspace{2cm}
-% An example for the resultant of two polynoms:\par\nobreak
+% An example with the resultant of two polynoms:\par\nobreak
%
% \bigskip
% \begin{BVerbatim}
@@ -4100,6 +4009,54 @@ version 2005/12/01 or later.
% The option |line-style| controls the style of the lines drawn by |\Ldots|,
% |\Cdots|, etc. Thus, it's possible with these commands to draw lines which are
% not longer dotted.
+%
+%
+% \begin{Verbatim}[formatcom=\small\color{gray}]
+% \NiceMatrixOptions{code-for-first-row = \scriptstyle,code-for-first-col = \scriptstyle }
+% \setcounter{MaxMatrixCols}{12}
+% \newcommand{\blue}{\color{blue}}
+% \[\begin{pNiceMatrix}[last-row,last-col,nullify-dots,xdots/line-style={dashed,blue}]
+% 1& & & \Vdots & & & & \Vdots \\
+% & \Ddots[line-style=standard] \\
+% & & 1 \\
+% \Cdots[color=blue,line-style=dashed]& & & \blue 0 &
+% \Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
+% & & & & 1 \\
+% & & &\Vdots & & \Ddots[line-style=standard] & & \Vdots \\
+% & & & & & & 1 \\
+% \Cdots & & & \blue 1 & \Cdots & & \Cdots & \blue 0 & & & \Cdots & \blue \leftarrow j \\
+% & & & & & & & & 1 \\
+% & & & & & & & & & \Ddots[line-style=standard] \\
+% & & & \Vdots & & & & \Vdots & & & 1 \\
+% & & & \blue \overset{\uparrow}{i} & & & & \blue \overset{\uparrow}{j} \\
+% \end{pNiceMatrix}\]
+% \end{Verbatim}
+%
+%
+% \begin{scope}
+% \NiceMatrixOptions{code-for-first-row = \scriptstyle,code-for-first-col = \scriptstyle }
+% \setcounter{MaxMatrixCols}{12}
+% \newcommand{\blue}{\color{blue}}
+% \[\begin{pNiceMatrix}[last-row,last-col,nullify-dots,xdots/line-style={dashed,blue}]
+% 1& & & \Vdots & & & & \Vdots \\
+% & \Ddots[line-style=standard] \\
+% & & 1 \\
+% \Cdots[color=blue,line-style=dashed]& & & \blue 0 &
+% \Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
+% & & & & 1 \\
+% & & &\Vdots & & \Ddots[line-style=standard] & & \Vdots \\
+% & & & & & & 1 \\
+% \Cdots & & & \blue 1 & \Cdots & & \Cdots & \blue 0 & & & \Cdots & \blue \leftarrow j \\
+% & & & & & & & & 1 \\
+% & & & & & & & & & \Ddots[line-style=standard] \\
+% & & & \Vdots & & & & \Vdots & & & 1 \\
+% & & & \blue \overset{\uparrow}{i} & & & & \blue \overset{\uparrow}{j} \\
+% \end{pNiceMatrix}\]
+% \end{scope}
+%
+% \interitem
+% In fact, it's even possible to draw solid lines with the commands |\Cdots|,
+% |\Vdots|, etc.
%
% \begin{Verbatim}
% \NiceMatrixOptions
@@ -4260,7 +4217,29 @@ version 2005/12/01 or later.
%
% \vspace{1cm}
% It's possible to color a row with |\rowcolor| in the |code-before| (or with
-% |\rowcolor| in the first cell of the row if the key |colortbl-like| is used).
+% |\rowcolor| in the first cell of the row if the key |colortbl-like| is
+% used−even when \pkg{colortbl} is not loaded).
+%
+% \medskip
+% \begin{Verbatim}
+% \begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,colortbl-like]
+% ~emphase#\rowcolor{red!15}@A_{11} & A_{12} & A_{13} & A_{14} \\
+% A_{21} & ~emphase#\rowcolor{red!15}@A_{22} & A_{23} & A_{24} \\
+% A_{31} & A_{32} & ~emphase#\rowcolor{red!15}@A_{33} & A_{34} \\
+% A_{41} & A_{42} & A_{43} & ~emphase#\rowcolor{red!15}@A_{44}
+% \end{pNiceArray}
+% \end{Verbatim}
+%
+%
+%
+% \[\begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,colortbl-like]
+% \rowcolor{red!15}A_{11} & A_{12} & A_{13} & A_{14} \\
+% A_{21} & \rowcolor{red!15}A_{22} & A_{23} & A_{24} \\
+% A_{31} & A_{32} & \rowcolor{red!15}A_{33} & A_{34} \\
+% A_{41} & A_{42} & A_{43} & \rowcolor{red!15}A_{44}
+% \end{pNiceArray}\]
+%
+% \bigskip
% However, it's not possible to do a fine tuning. That's why we describe now a
% method to highlight a row of the matrix. We create a rectangular Tikz node
% which encompasses the nodes of the second row with the Tikz library \pkg{fit}.
@@ -4268,11 +4247,16 @@ version 2005/12/01 or later.
% the text \emph{under} this node, we have to use transparency with the
% |blend mode| equal to |multiply|.
%
+% \medskip
+% \textbf{Caution} : Some \textsc{pdf} readers are not able to show
+% transparency.\footnote{In Overleaf, the ``built-in'' \textsc{pdf} viewer does
+% not show transparency. You can switch to the ``native'' viewer in that case.}
+%
%
% \medskip
% That example and the following ones require Tikz (by default, \pkg{nicematrix}
-% only loads \textsc{pgf}) and the Tikz library |fit|. The following lines in
-% the preamble of your document do the job:
+% only loads \textsc{pgf}, which is a sub-layer of Tikz) and the Tikz library
+% |fit|. The following lines in the preamble of your document do the job:
% \begin{verbatim}
% \usepackage{tikz}
% \usetikzlibrary{fit}
@@ -4439,44 +4423,6 @@ version 2005/12/01 or later.
% a & a & a & L_3
% \end{pNiceArray}\]
%
-%
-%
-% \vspace{1cm}
-%
-% In the following example, we use the ``large nodes'' to highlight a zone of
-% the matrix.\par\nobreak
-% \begin{Verbatim}
-% \begin{pNiceArray}{>{\strut}cccc}[create-large-nodes,margin,extra-margin=2pt]
-% A_{11} & A_{12} & A_{13} & A_{14} \\
-% A_{21} & A_{22} & A_{23} & A_{24} \\
-% A_{31} & A_{32} & A_{33} & A_{34} \\
-% A_{41} & A_{42} & A_{43} & A_{44}
-% \CodeAfter
-% \tikz \path [~emphase#name suffix = -large@,fill = red!15, blend mode = multiply]
-% (1-1.north west)
-% |- (2-2.north west)
-% |- (3-3.north west)
-% |- (4-4.north west)
-% |- (4-4.south east)
-% |- (1-1.north west) ;
-% \end{pNiceArray}
-% \end{Verbatim}
-%
-%
-% \[\begin{pNiceArray}{>{\strut}cccc}[create-large-nodes,margin,extra-margin=2pt]
-% A_{11} & A_{12} & A_{13} & A_{14} \\
-% A_{21} & A_{22} & A_{23} & A_{24} \\
-% A_{31} & A_{32} & A_{33} & A_{34} \\
-% A_{41} & A_{42} & A_{43} & A_{44}
-% \CodeAfter
-% \tikz \path [name suffix = -large,fill = red!15, blend mode = multiply]
-% (1-1.north west)
-% |- (2-2.north west)
-% |- (3-3.north west)
-% |- (4-4.north west)
-% |- (4-4.south east)
-% |- (1-1.north west) ;
-% \end{pNiceArray}\]
%
% \subsection{Direct use of the Tikz nodes}
%
@@ -4607,9 +4553,9 @@ version 2005/12/01 or later.
% \smallskip
% Of course, the package \pkg{nicematrix} uses the features of the package
% \pkg{array}. It tries to be independent of its implementation. Unfortunately,
-% it was not possible to be strictly independent: the package \pkg{nicematrix}
-% relies upon the fact that the package |{array}| uses |\ialign| to begin the
-% |\halign|.
+% it was not possible to be strictly independent. For example, the package
+% \pkg{nicematrix} relies upon the fact that the package |{array}| uses
+% |\ialign| to begin the |\halign|.
%
%
% \bigskip
@@ -4647,8 +4593,9 @@ version 2005/12/01 or later.
% this package for technical reasons.
%
% \bigskip
-% We load some packages.
+% We load some packages. The package \pkg{xparse} is still loaded for use on Overleaf.
% \begin{macrocode}
+\RequirePackage { xparse }
\RequirePackage { array }
\RequirePackage { amsmath }
% \end{macrocode}
@@ -4725,7 +4672,7 @@ version 2005/12/01 or later.
%
% We test whether the current class is \cls{revtex4-1} (deprecated) or
% \cls{revtex4-2} because these classes redefines |\array| (of \pkg{array}) in a
-% way incompatible with our programmation. As of january 2021, the current
+% way incompatible with our programmation. At the date January 2021, the current
% version \cls{revtex4-2} is 4.2e (compatible with \pkg{booktabs}).
%
% \begin{macrocode}
@@ -4792,7 +4739,7 @@ version 2005/12/01 or later.
\cs_set_eq:NN \@@_old_pgfutil@check@rerun \pgfutil@check@rerun
% \end{macrocode}
% The new version of |\pgfutil@check@rerun| will not check the PGF nodes whose
-% names start with |nm-| (which is the prefix for the nodes creates by
+% names start with |nm-| (which is the prefix for the nodes created by
% \pkg{nicematrix}).
% \begin{macrocode}
\cs_set_protected:Npn \pgfutil@check@rerun ##1 ##2
@@ -4816,7 +4763,7 @@ version 2005/12/01 or later.
% \end{macrocode}
% The command |\CT@arc@| is a command of \pkg{colortbl} which sets the color of
% the rules in the array. We will use it to store the instruction of color for
-% the rules even if \pkg{colortbl} is not loaded. Idem for
+% the rules even if \pkg{colortbl} is not loaded.
% \begin{macrocode}
\cs_set_protected:Npn \CT@arc@ { }
\cs_set:Npn \arrayrulecolor #1 # { \CT@arc { #1 } }
@@ -5092,7 +5039,7 @@ version 2005/12/01 or later.
% |\pgfsyspdfmark| in the |aux| file. If he changes its mind and no longer loads
% \pkg{nicematrix}, an error may occur at the next compilation because of
% remanent instructions |\pgfsyspdfmark| in the |aux| file. With the following
-% code, we avoid that situation.
+% code, we try to avoid that situation.
% \begin{macrocode}
\cs_new_protected:Npn \@@_provide_pgfsyspdfmark:
{
@@ -5109,10 +5056,10 @@ version 2005/12/01 or later.
%
% \subsection*{Parameters}
%
-% \bigskip
+% \bigskip
% For compatibility with versions prior to 5.0, we provide a load-time option
-% |define_L_C_R|. With this option, it's possible the letters |L|, |C| and |R|
-% instead of |l|, |c| and |r| in the preamble of the environments of
+% |define_L_C_R|. With this option, it's possible to use the letters |L|, |C|
+% and |R| instead of |l|, |c| and |r| in the preamble of the environments of
% \pkg{nicematrix} as it was mandatory before version~5.0.
% \begin{macrocode}
\bool_new:N \c_@@_define_L_C_R_bool
@@ -5198,7 +5145,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% Idem pour the blocks mono-row.
+% Idem pour the mono-row blocks.
% \begin{macrocode}
\dim_new:N \g_@@_blocks_ht_dim
\dim_new:N \g_@@_blocks_dp_dim
@@ -5214,7 +5161,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% We want to know if we are in an environment of \pkg{nicematrix} because we
+% We want to know whether we are in an environment of \pkg{nicematrix} because we
% will raise an error if the user tries to use nested environments.
% \begin{macrocode}
\bool_new:N \l_@@_in_env_bool
@@ -5265,9 +5212,22 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+% \bigskip
+% The letter used for the vlines which will be drawn only in the sub-matrices.
+% |vlism| stands for \emph{vertical lines in sub-matrices}.
+% \begin{macrocode}
+\tl_new:N \l_@@_letter_vlism_tl
+% \end{macrocode}
+%
+% The list of the columns where vertical lines in sub-matrices (vlism) must be
+% drawn. Of course, the actual value of this sequence will be known after the
+% analyse of the preamble of the array.
+% \begin{macrocode}
+\seq_new:N \g_@@_cols_vlism_seq
+% \end{macrocode}
%
% \bigskip
-% The following colors will be used to memorize le color of the potential ``first
+% The following colors will be used to memorize the color of the potential ``first
% col'' and the potential ``first row''.
% \begin{macrocode}
\colorlet { nicematrix-last-col } { . }
@@ -5315,7 +5275,7 @@ version 2005/12/01 or later.
% |\g_nicematrix_code_after_tl| but it is used internally by \pkg{nicematrix}.
% In fact, we have to distinguish between |\g_nicematrix_code_after_tl| and
% |\g_@@_internal_code_after_tl| because we must take care of the order in which
-% instructions stored in that paremeters are executed.
+% instructions stored in that parameters are executed.
% \begin{macrocode}
\tl_new:N \g_@@_internal_code_after_tl
% \end{macrocode}
@@ -5394,7 +5354,7 @@ version 2005/12/01 or later.
%
% \bigskip
% \pkg{expl3} provides scratch dimensions |\l_tmpa_dim| and |\l_tmpb_dim|. We
-% creates two other in the same spirit (if they don't exist yet: that's why we
+% creates two more in the same spirit (if they don't exist yet: that's why we
% use |\dim_zero_new:N|).
% \begin{macrocode}
\dim_zero_new:N \l_tmpc_dim
@@ -5408,12 +5368,6 @@ version 2005/12/01 or later.
\bool_new:N \g_@@_empty_cell_bool
% \end{macrocode}
%
-% \bigskip
-% The following dimension will be used to save the current value of
-% |\arraycolsep|.
-% \begin{macrocode}
-\dim_new:N \@@_old_arraycolsep_dim
-% \end{macrocode}
%
% \bigskip
% The following dimensions will be used internally to compute the width of the
@@ -5426,7 +5380,7 @@ version 2005/12/01 or later.
% \bigskip
% The following sequence will contain the characteristics of the blocks of the
% array, specified by the command |\Block|. Each block is represented by 6
-% components surrounded by braces:
+% components surrounded by curly braces:
%
% |{|\textsl{imin}|}{|\textsl{jmin}|}{|\textsl{imax}|}{|\textsl{jmax}|}{|\textsl{options}|}{|\textsl{contents}|}|.
%
@@ -5461,7 +5415,7 @@ version 2005/12/01 or later.
%
% \medskip
% The final user may decide to ``stroke'' a block (using, for example, the key
-% |color=red!15| when using the command |\Block|). In that case, the rules
+% |draw=red!15| when using the command |\Block|). In that case, the rules
% specified, for instance, by |hvlines| must not be drawn around the block.
% That's why we keep the information of all that stroken blocks in the following
% sequence.
@@ -5471,13 +5425,14 @@ version 2005/12/01 or later.
%
%
% \medskip
-% The list of the names of the potential |\SubMatrix| in the |code-after| of an
+% The list of the names of the potential |\SubMatrix| in the |\CodeAfter| of an
% environment. Unfortunately, that list has to be global (we have to use it
% inside the group for the options of a given |\SubMatrix|).
% \begin{macrocode}
\seq_new:N \g_@@_submatrix_names_seq
% \end{macrocode}
-%
+%
+%
% \medskip
% We are able to determine the number of columns specified in the preamble (for
% the environments with explicit preamble, of course and without the potential
@@ -5531,6 +5486,17 @@ version 2005/12/01 or later.
% \begin{macrocode}
\int_new:N \g_@@_block_box_int
% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\dim_new:N \l_@@_submatrix_extra_height_dim
+\dim_new:N \l_@@_submatrix_left_xshift_dim
+\dim_new:N \l_@@_submatrix_right_xshift_dim
+\clist_new:N \l_@@_submatrix_hlines_clist
+\clist_new:N \l_@@_submatrix_vlines_clist
+% \end{macrocode}
+%
+%
%
% \bigskip
% \textbf{Variables for the exterior rows and columns}\par\nobreak
@@ -5853,7 +5819,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \medskip
-% The command |\@@_pgf_rect_node:nnn| is a variant of |\@@_pgr_rect_node:nnnn|:
+% The command |\@@_pgf_rect_node:nnn| is a variant of |\@@_pgf_rect_node:nnnn|:
% it takes two \textsc{pgf} points as arguments instead of the four dimensions
% which are the coordinates.
% \begin{macrocode}
@@ -6097,7 +6063,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% The following token list corresponds to the key |delimiters-color|.
+% The following token list corresponds to the key |delimiters/color|.
% \begin{macrocode}
\tl_new:N \l_@@_delimiters_color_tl
% \end{macrocode}
@@ -6150,7 +6116,7 @@ version 2005/12/01 or later.
% construction of the array and not when we draw the dotted lines).
% \begin{macrocode}
draw-first .code:n = \prg_do_nothing: ,
- unknown .code:n = \@@_error:n { Unknown~option~for~xdots }
+ unknown .code:n = \@@_error:n { Unknown~key~for~xdots }
}
% \end{macrocode}
%
@@ -6174,6 +6140,8 @@ version 2005/12/01 or later.
% \begin{macrocode}
\keys_define:nn { NiceMatrix / Global }
{
+ rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
+ rules .value_required:n = true ,
standard-cline .bool_set:N = \l_@@_standard_cline_bool ,
standard-cline .default:n = true ,
cell-space-top-limit .dim_set:N = \l_@@_cell_space_top_limit_dim ,
@@ -6206,6 +6174,13 @@ version 2005/12/01 or later.
code-for-last-row .value_required:n = true ,
hlines .bool_set:N = \l_@@_hlines_bool ,
vlines .bool_set:N = \l_@@_vlines_bool ,
+ vlines-in-sub-matrix .code:n =
+ {
+ \tl_if_single_token:nTF { #1 }
+ { \tl_set:Nn \l_@@_letter_vlism_tl { #1 } }
+ { \@@_error:n { One~letter~allowed } }
+ } ,
+ vlines-in-sub-matrix .value_required:n = true ,
hvlines .code:n =
{
\bool_set_true:N \l_@@_vlines_bool
@@ -6369,6 +6344,7 @@ version 2005/12/01 or later.
NiceMatrixOptions / rules .inherit:n = NiceMatrix / rules ,
NiceMatrixOptions / notes .inherit:n = NiceMatrix / notes ,
NiceMatrixOptions / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
+ SubMatrix / rules .inherit:n = NiceMatrix / rules ,
CodeAfter / xdots .inherit:n = NiceMatrix / xdots ,
NiceMatrix .inherit:n =
{
@@ -6409,6 +6385,8 @@ version 2005/12/01 or later.
% \begin{macrocode}
\keys_define:nn { NiceMatrix / NiceMatrixOptions }
{
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
delimiters-color .tl_set:N = \l_@@_delimiters_color_tl ,
delimiters-color .value_required:n = true ,
last-col .code:n = \tl_if_empty:nF { #1 }
@@ -6478,7 +6456,7 @@ version 2005/12/01 or later.
{
\tl_if_single_token:nTF { #1 }
{ \str_set:Nx \l_@@_letter_for_dotted_lines_str { #1 } }
- { \@@_error:n { Bad~value~for~letter~for~dotted~lines } }
+ { \@@_error:n { One~letter~allowed } }
} ,
letter-for-dotted-lines .value_required:n = true ,
notes .code:n = \keys_set:nn { NiceMatrix / notes } { #1 } ,
@@ -6523,6 +6501,8 @@ version 2005/12/01 or later.
r .code:n = \tl_set:Nn \l_@@_type_of_col_tl r ,
small .bool_set:N = \l_@@_small_bool ,
small .value_forbidden:n = true ,
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
delimiters-color .tl_set:N = \l_@@_delimiters_color_tl ,
delimiters-color .value_required:n = true ,
unknown .code:n = \@@_error:n { Unknown~option~for~NiceMatrix }
@@ -6557,6 +6537,8 @@ version 2005/12/01 or later.
tabularnote .value_required:n = true ,
delimiters-color .tl_set:N = \l_@@_delimiters_color_tl ,
delimiters-color .value_required:n = true ,
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
unknown .code:n = \@@_error:n { Unknown~option~for~NiceArray }
}
% \end{macrocode}
@@ -6795,7 +6777,7 @@ version 2005/12/01 or later.
% \item we test the existence of these nodes in order to determine whether a
% cell is empty when we search the extremities of a dotted line.
% \end{itemize}
-% However, it's very difficult to determine whether a cell is empty. As of now,
+% However, it's very difficult to determine whether a cell is empty. As for now,
% we use the following technic:
% \begin{itemize}
% \item if the width of the box |\l_@@_cell_box| (created with the content of
@@ -6805,7 +6787,7 @@ version 2005/12/01 or later.
% \item the cells with a command |\Ldots| or |\Cdots|, |\Vdots|, etc.,
% should also be considered as empty; if |nullify-dots| is in force, there would
% be nothing to do (in this case the previous commands only write an instruction
-% in a kind of |code-after|); however, if |nullify-dots| is not in force, a
+% in a kind of |\CodeAfter|); however, if |nullify-dots| is not in force, a
% phantom of |\ldots|, |\cdots|, |\vdots| is inserted and its width is not equal
% to zero; that's why these commands raise a boolean |\g_@@_empty_cell_bool| and
% we begin by testing this boolean.
@@ -6897,11 +6879,6 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_instruction_of_type:nnn #1 #2 #3
{
-% \end{macrocode}
-% It's important to use a |\tl_gput_right:cx| and not a |\tl_gput_left:cx|
-% because we want the |\Ddots| lines to be drawn in the order of appearance
-% in the array (for parallelisation).
-% \begin{macrocode}
\bool_if:nTF { #1 } \tl_gput_left:cx \tl_gput_right:cx
{ g_@@_ #2 _ lines _ tl }
{
@@ -7414,7 +7391,7 @@ version 2005/12/01 or later.
{
% \end{macrocode}
% First, we give values to the LaTeX counters |iRow| and |jCol|. We remind that,
-% in the |code-before| (and in the |code-after|) they represent the numbers of
+% in the |code-before| (and in the |\CodeAfter|) they represent the numbers of
% rows and columns of the array (without the potential last row and last column).
% \begin{macrocode}
\int_zero_new:N \c@iRow
@@ -7464,6 +7441,15 @@ version 2005/12/01 or later.
{ \pgfpointdiff \@@_picture_position: \@@_node_position: }
}
\endpgfpicture
+% \end{macrocode}
+% Now, you create the diagonal nodes by using the |row| nodes and the |col| nodes.
+% \begin{macrocode}
+ \@@_create_diag_nodes:
+% \end{macrocode}
+%
+% \medskip
+% Now, yet another settings before the executation of the |code-before|.
+% \begin{macrocode}
\group_begin:
\bool_if:NT \c_@@_tikz_loaded_bool
{
@@ -7898,6 +7884,12 @@ version 2005/12/01 or later.
}
{ \tl_gclear:N \g_@@_preamble_tl }
% \end{macrocode}
+% The sequence |\g_@@_cols_vlsim_seq| will contain the numbers of the columns
+% where you will to have to draw vertical lines in the potential sub-matrices
+% (hence the name |vlism|).
+% \begin{macrocode}
+ \seq_clear:N \g_@@_cols_vlism_seq
+% \end{macrocode}
% The counter |\l_tmpa_int| will count the number of consecutive occurrences
% of the symbol \verb+|+.
% \begin{macrocode}
@@ -7957,8 +7949,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\dim_compare:nNnT \l_@@_tabular_width_dim = \c_zero_dim
{
- \tl_gput_right:Nn
- \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_preamble_tl
{ > { \@@_error_too_much_cols: } l }
}
% \end{macrocode}
@@ -8004,15 +7995,25 @@ version 2005/12/01 or later.
{
\str_if_eq:VnTF \l_@@_letter_for_dotted_lines_str { #1 }
{ \@@_patch_preamble_xi:n #1 }
- {
- \bool_lazy_and:nnTF
- { \str_if_eq_p:nn { : } { #1 } }
- \c_@@_arydshln_loaded_bool
- {
- \tl_gput_right:Nn \g_@@_preamble_tl { : }
+ {
+ \str_if_eq:VnTF \l_@@_letter_vlism_tl { #1 }
+ {
+ \seq_gput_right:Nx \g_@@_cols_vlism_seq
+ { \int_eval:n { \c@jCol + 1 } }
+ \tl_gput_right:Nx \g_@@_preamble_tl
+ { \exp_not:N ! { \skip_horizontal:N \arrayrulewidth } }
\@@_patch_preamble:n
}
- { \@@_fatal:nn { unknown~column~type } { #1 } }
+ {
+ \bool_lazy_and:nnTF
+ { \str_if_eq_p:nn { : } { #1 } }
+ \c_@@_arydshln_loaded_bool
+ {
+ \tl_gput_right:Nn \g_@@_preamble_tl { : }
+ \@@_patch_preamble:n
+ }
+ { \@@_fatal:nn { unknown~column~type } { #1 } }
+ }
}
}
}
@@ -8102,11 +8103,15 @@ version 2005/12/01 or later.
\@@_Cell:
\begin { minipage } [ #1 ] { #3 }
\mode_leave_vertical:
- \arraybackslash % added in the version 5.8
- \box_use:N \@arstrutbox
+ \arraybackslash
+ \vrule height \box_ht:N \@arstrutbox depth 0 pt width 0 pt % v. 5.11
}
c
- < { \box_use:N \@arstrutbox \end { minipage } \@@_end_Cell: }
+ < {
+ \vrule height 0 pt depth \box_dp:N \@arstrutbox width 0 pt % v. 5.11
+ \end { minipage }
+ \@@_end_Cell:
+ }
}
% \end{macrocode}
% We increment the counter of columns, and then we test for the presence of a |<|.
@@ -8603,7 +8608,7 @@ version 2005/12/01 or later.
{ \@@_fatal:n { double-backslash~in~light-syntax } }
}
% \end{macrocode}
-% Now, you extract the |code-after| of the body of the environment. Maybe, there
+% Now, you extract the |\CodeAfter| of the body of the environment. Maybe, there
% is no command |\CodeAfter| in the body. That's why you put a marker
% |\CodeAfter| after |#1|. If there is yet a |\CodeAfter| in |#1|, this second
% (or third...) |\CodeAfter| will be catched in the value of
@@ -8884,6 +8889,12 @@ version 2005/12/01 or later.
{
>
{
+% \end{macrocode}
+% At the beginning of the cell, we link |\CodeAfter| to a command which do
+% \emph{not} begin with |\omit| (whereas the standard version of |\CodeAfter|
+% begins with |\omit|).
+% \begin{macrocode}
+ \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:n
\bool_gset_true:N \g_@@_after_col_zero_bool
\@@_begin_of_row:
% \end{macrocode}
@@ -8955,6 +8966,12 @@ version 2005/12/01 or later.
>
{
% \end{macrocode}
+% At the beginning of the cell, we link |\CodeAfter| to a command which do
+% \emph{not} begin with |\omit| (whereas the standard version of |\CodeAfter|
+% begins with |\omit|).
+% \begin{macrocode}
+ \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i:n
+% \end{macrocode}
% With the flag |\g_@@_last_col_found_bool|, we will know that the ``last
% column'' is really used.
% \begin{macrocode}
@@ -9259,7 +9276,17 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
-%
+% \medskip
+% \begin{macrocode}
+ \@@_create_diag_nodes:
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfnodealias { \l_@@_name_str - ##1 } { \@@_env: - ##1 }
+ \endpgfpicture
+ }
+% \end{macrocode}
%
% By default, the diagonal lines will be parallelized\footnote{It's possible to
% use the option |parallelize-diags| to disable this parallelization.}. There
@@ -9363,7 +9390,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% Now, the |code-after|.
+% Now, the |\CodeAfter|.
% \begin{macrocode}
\bool_if:NT \c_@@_tikz_loaded_bool
{
@@ -9389,11 +9416,11 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% We clear the list of the names of the potential |\SubMatrix| that will appear
-% in the |code-after| (unfortunately, that list has to be global).
+% in the |\CodeAfter| (unfortunately, that list has to be global).
% \begin{macrocode}
\seq_gclear:N \g_@@_submatrix_names_seq
% \end{macrocode}
-% And here's the |code-after|. Since the |code-after| may begin with an
+% And here's the |\CodeAfter|. Since the |\CodeAfter| may begin with an
% ``argument'' between square brackets of the options, we extract and treat that
% potential ``argument'' with the command |\@@_CodeAfter_keys:|.
% \begin{macrocode}
@@ -9450,7 +9477,7 @@ version 2005/12/01 or later.
%
% \bigskip
% The following command will extract the potential options (between square
-% brackets) at the beginning of the |code-after| (that is to say, when
+% brackets) at the beginning of the |\CodeAfter| (that is to say, when
% |\CodeAfter| is used, the options of that ``command'' |\CodeAfter|).
% \begin{macrocode}
\NewDocumentCommand \@@_CodeAfter_keys: { O { } }
@@ -9541,6 +9568,26 @@ version 2005/12/01 or later.
%
%
% \bigskip
+% The following command creates the diagonal nodes (in fact, if the matrix is
+% not a square matrix, not all the nodes are on the diagonal).
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_create_diag_nodes:
+ {
+ \int_step_inline:nn { \int_max:nn \c@iRow \c@jCol + 1 }
+ {
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \@@_qpoint:n { row - \int_min:nn { ##1 } { \c@iRow + 1 } }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { col - \int_min:nn { ##1 } { \c@jCol + 1 } }
+ \pgfcoordinate { \@@_env: - ##1 } { \pgfpoint \pgf@x \l_tmpa_dim }
+ \endpgfpicture
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
% \subsection*{We draw the dotted lines}
%
% A dotted line will be said \emph{open} in one of its extremities when it stops
@@ -11025,7 +11072,7 @@ version 2005/12/01 or later.
% \bigskip
% \subsection*{The command \textbackslash line accessible in code-after}
%
-% In the |code-after|, the command |\@@_line:nn| will be linked to |\line|. This
+% In the |\CodeAfter|, the command |\@@_line:nn| will be linked to |\line|. This
% command takes two arguments which are the specifications of two cells in the
% array (in the format $i$-$j$) and draws a dotted line between these cells.
%
@@ -11033,7 +11080,7 @@ version 2005/12/01 or later.
% First, we write a command with an argument of the format $i$-$j$ and applies
% the command |\int_eval:n| to $i$ and~$j$ ; this must \emph{not} be protected
% (and is, of course fully expandable).\footnote{Indeed, we want that the user
-% may use the command |\line| in |code-after| with LaTeX counters in the
+% may use the command |\line| in |\CodeAfter| with LaTeX counters in the
% arguments --- with the command |\value|.}
% \begin{macrocode}
\cs_new:Npn \@@_double_int_eval:n #1-#2 \q_stop
@@ -11079,7 +11126,7 @@ version 2005/12/01 or later.
\cs_if_free_p:c { pgf @ sh @ ns @ \@@_env: - #2 }
}
{
- \@@_error:nnn { unknown~cell~for~line~in~code-after } { #1 } { #2 }
+ \@@_error:nnn { unknown~cell~for~line~in~CodeAfter } { #1 } { #2 }
}
{ \@@_draw_line_ii:nn { #1 } { #2 } }
}
@@ -11341,7 +11388,7 @@ version 2005/12/01 or later.
cols .tl_set:N = \l_@@_cols_tl ,
restart .bool_set:N = \l_@@_rowcolors_restart_bool ,
restart .default:n = true ,
- unknown .code:n = \@@_error:n { Unknown~option~for~rowcolors }
+ unknown .code:n = \@@_error:n { Unknown~key~for~rowcolors }
}
% \end{macrocode}
%
@@ -11655,7 +11702,7 @@ version 2005/12/01 or later.
}
% \end{macrocode}
% This definition may seem complicated by we must remind that the number of row
-% |\c@iRow| is incremented in the first cell of the row, \emph{after} an
+% |\c@iRow| is incremented in the first cell of the row, \emph{after} a
% potential vertical rule on the left side of the first cell.
%
% \smallskip
@@ -11675,8 +11722,8 @@ version 2005/12/01 or later.
%
% \bigskip
% The following command will be executed in the |internal-code-after|. The rule
-% will be drawn \emph{before} the column |#1|. |#2| is the number of consecutive
-% occurrences of \verb+|+.
+% will be drawn \emph{before} the column |#1| (that is to say on the left side).
+% |#2| is the number of consecutive occurrences of \verb+|+.
% \begin{macrocode}
\cs_new_protected:Npn \@@_vline:nn #1 #2
{
@@ -11715,11 +11762,11 @@ version 2005/12/01 or later.
% \begin{macrocode}
\bool_gset_true:N \g_tmpa_bool
\seq_map_inline:Nn \g_@@_pos_of_blocks_seq
- { \@@_test_if_vline_in_block:nnnn ##1 }
+ { \@@_test_vline_in_block:nnnn ##1 }
\seq_map_inline:Nn \g_@@_pos_of_xdots_seq
- { \@@_test_if_vline_in_block:nnnn ##1 }
+ { \@@_test_vline_in_block:nnnn ##1 }
\seq_map_inline:Nn \g_@@_pos_of_stroken_blocks_seq
- { \@@_test_if_vline_in_stroken_block:nnnn ##1 }
+ { \@@_test_vline_in_stroken_block:nnnn ##1 }
\clist_if_empty:NF \l_@@_except_corners_clist
\@@_test_in_corner_v:
\bool_if:NTF \g_tmpa_bool
@@ -11785,7 +11832,7 @@ version 2005/12/01 or later.
%
% \bigskip
% |#1| is the number of the column; |#2| is the number of vertical rules to
-% draw (with potentially a color between); |#3| and |#4| are the number of the
+% draw (with potentially a color between); |#3| and |#4| are the numbers of the
% rows between which the rule has to be drawn.
% \begin{macrocode}
\cs_new_protected:Npn \@@_vline_ii:nnnn #1 #2 #3 #4
@@ -11831,8 +11878,8 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% The following draws a complete vertical rule in the column |#1| (|#2| is the
-% number of consecutive rules specified by the number of \verb+|+ in the
+% The following command draws a complete vertical rule in the column |#1| (|#2|
+% is the number of consecutive rules specified by the number of \verb+|+ in the
% preamble). This command will be used if there is no block in the array (and
% the key |except-corners| is not used).
% \begin{macrocode}
@@ -11875,7 +11922,7 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_hline_i:nn #1 #2
{
% \end{macrocode}
-% |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. Whe,
+% |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. When
% we have found a column corresponding to a rule to draw, we note its number in
% |\l_tmpc_tl|.
% \begin{macrocode}
@@ -11892,11 +11939,11 @@ version 2005/12/01 or later.
% \begin{macrocode}
\bool_gset_true:N \g_tmpa_bool
\seq_map_inline:Nn \g_@@_pos_of_blocks_seq
- { \@@_test_if_hline_in_block:nnnn ##1 }
+ { \@@_test_hline_in_block:nnnn ##1 }
\seq_map_inline:Nn \g_@@_pos_of_xdots_seq
- { \@@_test_if_hline_in_block:nnnn ##1 }
+ { \@@_test_hline_in_block:nnnn ##1 }
\seq_map_inline:Nn \g_@@_pos_of_stroken_blocks_seq
- { \@@_test_if_hline_in_stroken_block:nnnn ##1 }
+ { \@@_test_hline_in_stroken_block:nnnn ##1 }
\clist_if_empty:NF \l_@@_except_corners_clist \@@_test_in_corner_h:
\bool_if:NTF \g_tmpa_bool
{
@@ -12064,13 +12111,13 @@ version 2005/12/01 or later.
% \subsection*{The key hvlines}
%
%
-% The following command tests wether the current position in the array (given by
-% |\l_tmpa_tl| for the row and |\l_tmpb_tl| for the col) would provide an
+% The following command tests whether the current position in the array (given by
+% |\l_tmpa_tl| for the row and |\l_tmpb_tl| for the column) would provide an
% horizontal rule towards the right in the block delimited by the four arguments
% |#1|, |#2|, |#3| and |#4|. If this rule would be in the block (it must not be
% drawn), the boolean |\l_tmpa_bool| is set to |false|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_if_hline_in_block:nnnn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_test_hline_in_block:nnnn #1 #2 #3 #4
{
\bool_lazy_all:nT
{
@@ -12085,7 +12132,7 @@ version 2005/12/01 or later.
%
% The same for vertical rules.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_if_vline_in_block:nnnn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_test_vline_in_block:nnnn #1 #2 #3 #4
{
\bool_lazy_all:nT
{
@@ -12099,7 +12146,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_if_hline_in_stroken_block:nnnn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_test_hline_in_stroken_block:nnnn #1 #2 #3 #4
{
\bool_lazy_all:nT
{
@@ -12113,7 +12160,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_if_vline_in_stroken_block:nnnn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_test_vline_in_stroken_block:nnnn #1 #2 #3 #4
{
\bool_lazy_all:nT
{
@@ -12332,7 +12379,7 @@ version 2005/12/01 or later.
%
%
% \medskip
-% The command |\@@_hdottedline:n| is the command written in the |code-after|
+% The command |\@@_hdottedline:n| is the command written in the |\CodeAfter|
% that will actually draw the dotted line. Its argument is the number of the row
% \emph{before} which we will draw the row.
% \begin{macrocode}
@@ -12446,16 +12493,14 @@ version 2005/12/01 or later.
% bracket. The correction by |0.5 \l_@@_inter_dots_dim| is \emph{ad hoc} for a
% better result.
% \begin{macrocode}
- \tl_set:Nn \l_tmpa_tl { ( }
- \tl_if_eq:NNF \l_@@_left_delim_tl \l_tmpa_tl
+ \tl_if_eq:NnF \l_@@_left_delim_tl (
{ \dim_gadd:Nn \l_@@_x_initial_dim { 0.5 \l_@@_inter_dots_dim } }
- \tl_set:Nn \l_tmpa_tl { ) }
- \tl_if_eq:NNF \l_@@_right_delim_tl \l_tmpa_tl
+ \tl_if_eq:NnF \l_@@_right_delim_tl )
{ \dim_gsub:Nn \l_@@_x_final_dim { 0.5 \l_@@_inter_dots_dim } }
% \end{macrocode}
%
% \medskip
-% As of now, we have no option to control the style of the lines drawn by
+% As for now, we have no option to control the style of the lines drawn by
% |\hdottedline| and the specifier ``|:|'' in the preamble. That's why we impose
% the style |standard|.
% \begin{macrocode}
@@ -12523,7 +12568,7 @@ version 2005/12/01 or later.
\@@_qpoint:n { row - \@@_succ:n \c@iRow }
\dim_set:Nn \l_@@_y_final_dim { \pgf@y + 0.5 \l_@@_inter_dots_dim }
% \end{macrocode}
-% As of now, we have no option to control the style of the lines drawn by
+% As for now, we have no option to control the style of the lines drawn by
% |\hdottedline| and the specifier ``|:|'' in the preamble. That's why we impose
% the style |standard|.
% \begin{macrocode}
@@ -12544,7 +12589,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% As of now, there is only one option available for the environment
+% As for now, there is only one option available for the environment
% |{NiceMatrixBlock}|.
% \begin{macrocode}
\keys_define:nn { NiceMatrix / NiceMatrixBlock }
@@ -13293,7 +13338,7 @@ version 2005/12/01 or later.
% replaced by the line which is commented.
% \begin{macrocode}
color .code:n =
- \@@_error:n { Key~color~for~Block }
+ \@@_fatal:n { Key~color~for~Block }
\tl_set:Nn \l_@@_fill_tl { #1 } ,
% color .code:n = \color { #1 } \tl_set:Nn \l_@@_draw_tl { #1 } ,
color .value_required:n = true ,
@@ -13347,10 +13392,8 @@ version 2005/12/01 or later.
\int_compare:nNnTF { #4 } > { 99 }
{ \int_set_eq:NN \l_@@_last_col_int \c@jCol }
{ \int_set:Nn \l_@@_last_col_int { #4 } }
- \bool_lazy_or:nnTF
- { \int_compare_p:nNn \l_@@_last_row_int > \g_@@_row_total_int }
- { \int_compare_p:nNn \l_@@_last_col_int > \g_@@_col_total_int }
- {
+ \int_compare:nNnTF \l_@@_last_col_int > \g_@@_col_total_int
+ {
\int_compare:nTF
{ \l_@@_last_col_int <= \g_@@_static_num_of_col_int }
{
@@ -13361,9 +13404,13 @@ version 2005/12/01 or later.
\@@_msg_redirect_name:nn { columns~not~used } { none }
\group_end:
}
+ { \msg_error:nnnn { nicematrix } { Block~too~large~1 } { #1 } { #2 } }
+ }
+ {
+ \int_compare:nNnTF \l_@@_last_row_int > \g_@@_row_total_int
{ \msg_error:nnnn { nicematrix } { Block~too~large~1 } { #1 } { #2 } }
+ { \@@_Block_v:nnnnnn { #1 } { #2 } { #3 } { #4 } { #5 } { #6 } }
}
- { \@@_Block_v:nnnnnn { #1 } { #2 } { #3 } { #4 } { #5 } { #6 } }
}
% \end{macrocode}
%
@@ -13979,17 +14026,20 @@ version 2005/12/01 or later.
% \subsection*{The keyword \textbackslash CodeAfter}
%
%
-% The |code-after| (inserted with the key |code-after| or after the keyword
-% |\CodeAfter| can always begin with a list of pairs \emph{key-value} between
-% square brackets). Here the corresponding set of keys.
+% The |\CodeAfter| (inserted with the key |code-after| or after the keyword
+% |\CodeAfter|) may always begin with a list of pairs \emph{key-value} between
+% square brackets. Here is the corresponding set of keys.
% \begin{macrocode}
+\keys_define:nn { NiceMatrix }
+ { CodeAfter / rules .inherit:n = NiceMatrix / rules }
\keys_define:nn { NiceMatrix / CodeAfter }
{
- sub-matrix .code:n =
- \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
+ sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
sub-matrix .value_required:n = true ,
- delimiters-color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters-color .value_required:n = true ,
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
+ rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
+ rules .value_required:n = true ,
unknown .code:n = \@@_error:n { Unknown~key~for~CodeAfter }
}
% \end{macrocode}
@@ -14034,8 +14084,7 @@ version 2005/12/01 or later.
% If this is really the end of the current environment (of \pkg{nicematrix}), we
% put back the command |\end| and its argument in the TeX flow.
% \begin{macrocode}
- \str_if_eq:eeTF \@currenvir { #1 }
- { \end { #1 } }
+ \str_if_eq:eeTF \@currenvir { #1 } { \end { #1 } }
% \end{macrocode}
% If this is not the |\end| we are looking for, we put those tokens in
% |\g_nicematrix_code_after_tl| and we go on searching for the next command
@@ -14147,7 +14196,7 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
-% \subsection*{The command SubMatrix}
+% \subsection*{The command \textbackslash SubMatrix}
%
%
% \begin{macrocode}
@@ -14161,15 +14210,15 @@ version 2005/12/01 or later.
right-xshift .value_required:n = true ,
xshift .meta:n = { left-xshift = #1, right-xshift = #1 } ,
xshift .value_required:n = true ,
- delimiters-color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters-color .value_required:n = true ,
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
slim .bool_set:N = \l_@@_submatrix_slim_bool ,
slim .default:n = true ,
}
\keys_define:nn { NiceMatrix }
{
- SubMatrix .inherit:n = NiceMatrix /sub-matrix ,
- CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix
+ SubMatrix .inherit:n = NiceMatrix / sub-matrix ,
+ CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
}
% \end{macrocode}
%
@@ -14179,6 +14228,10 @@ version 2005/12/01 or later.
% \begin{macrocode}
\keys_define:nn { NiceMatrix / SubMatrix }
{
+ hlines .clist_set:N = \l_@@_submatrix_hlines_clist ,
+ hlines .default:n = all ,
+ vlines .clist_set:N = \l_@@_submatrix_vlines_clist ,
+ vlines .default:n = all ,
name .code:n =
\tl_if_empty:nTF { #1 }
{ \@@_error:n { Invalid~name~format } }
@@ -14194,6 +14247,8 @@ version 2005/12/01 or later.
}
{ \@@_error:n { Invalid~name~format } }
} ,
+ rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
+ rules .value_required:n = true ,
name .value_required:n = true ,
unknown .code:n = \@@_error:n { Unknown~key~for~SubMatrix }
}
@@ -14205,7 +14260,7 @@ version 2005/12/01 or later.
% \begin{itemize}
% \item |#1| is the left delimiter;
% \item |#2| is the upper-left cell of the matrix with the format $i$-$j$;
-% \item |#2| is the lower-right cell of the matrix with the format $i$-$j$;
+% \item |#3| is the lower-right cell of the matrix with the format $i$-$j$;
% \item |#4| is the right delimiter;
% \item |#5| is the list of options of the command.
% \end{itemize}
@@ -14229,9 +14284,6 @@ version 2005/12/01 or later.
{ \int_compare_p:nNn \l_tmpd_tl > \g_@@_col_total_int }
{ \@@_error:n { SubMatrix~too~large } }
{
- \dim_zero_new:N \l_@@_submatrix_extra_height_dim
- \dim_zero_new:N \l_@@_submatrix_left_xshift_dim
- \dim_zero_new:N \l_@@_submatrix_right_xshift_dim
\str_clear_new:N \l_@@_submatrix_name_str
\keys_set:nn { NiceMatrix / SubMatrix } { #5 }
\pgfpicture
@@ -14293,6 +14345,109 @@ version 2005/12/01 or later.
\dim_set_eq:NN \nulldelimiterspace \c_zero_dim
% \end{macrocode}
%
+% \bigskip
+% We will draw the rules in the |\SubMatrix|.
+% \begin{macrocode}
+ \group_begin:
+ \pgfsetlinewidth { 1.1 \arrayrulewidth }
+ \tl_if_empty:NF \l_@@_rules_color_tl
+ { \exp_after:wN \@@_set_CT@arc@: \l_@@_rules_color_tl \q_stop }
+ \CT@arc@
+% \end{macrocode}
+% Now, we draw the potential vertical rules specified in the preamble of the
+% environments with the letter fixed with the key |vlines-in-sub-matrix|. The
+% list of the columns where there is such rule to draw is in |\g_@@_cols_vlism_seq|.
+% \begin{macrocode}
+ \seq_map_inline:Nn \g_@@_cols_vlism_seq
+ {
+ \int_compare:nNnT \l_tmpb_tl < { ##1 }
+ {
+ \int_compare:nNnT { ##1 } < { \int_eval:n { \l_tmpd_tl + 1 } }
+ {
+% \end{macrocode}
+% First, we extract the value of the abscissa of the rule we have to draw.
+% \begin{macrocode}
+ \@@_qpoint:n { col - ##1 }
+ \pgfpathmoveto { \pgfpoint \pgf@x \l_@@_y_initial_dim }
+ \pgfpathlineto { \pgfpoint \pgf@x \l_@@_y_final_dim }
+ \pgfusepathqstroke
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \medskip
+% Now, we draw the vertical rules specified in the key |vlines| of |\SubMatrix|.
+% The last argument of |\int_step_inline:nn| or |\clist_map_inline:Nn| is given
+% by curryfication.
+% \begin{macrocode}
+ \tl_if_eq:NnTF \l_@@_submatrix_vlines_clist { all }
+ { \int_step_inline:nn { \l_tmpd_tl - \l_tmpb_tl } }
+ { \clist_map_inline:Nn \l_@@_submatrix_vlines_clist }
+ {
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn { ##1 } > 0 }
+ { \int_compare_p:nNn { ##1 } < { \l_tmpd_tl - \l_tmpb_tl + 1 } }
+ {
+ \@@_qpoint:n { col - \int_eval:n { ##1 + \l_tmpb_tl } }
+ \pgfpathmoveto { \pgfpoint \pgf@x \l_@@_y_initial_dim }
+ \pgfpathlineto { \pgfpoint \pgf@x \l_@@_y_final_dim }
+ \pgfusepathqstroke
+ }
+ { \@@_error:nnn { Wrong~line~in~SubMatrix } { vertical } { ##1 } }
+ }
+% \end{macrocode}
+%
+% \medskip
+% Now, we draw the horizontal rules specified in the key |hlines| of
+% |\SubMatrix|.
+% The last argument of |\int_step_inline:nn| or |\clist_map_inline:Nn| is given
+% by curryfication.
+% \begin{macrocode}
+ \tl_if_eq:NnTF \l_@@_submatrix_hlines_clist { all }
+ { \int_step_inline:nn { \l_tmpc_tl - \l_tmpa_tl } }
+ { \clist_map_inline:Nn \l_@@_submatrix_hlines_clist }
+ {
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn { ##1 } > 0 }
+ { \int_compare_p:nNn { ##1 } < { \l_tmpc_tl - \l_tmpa_tl + 1 } }
+ {
+ \@@_qpoint:n { row - \int_eval:n { ##1 + \l_tmpa_tl } }
+% \end{macrocode}
+% We use a group to protect |\l_tmpa_dim| and |\l_tmpb_dim|.
+% \begin{macrocode}
+ \group_begin:
+% \end{macrocode}
+% We compute in |\l_tmpa_dim| the $x$-value of the left end of the rule.
+% \begin{macrocode}
+ \dim_set:Nn \l_tmpa_dim
+ { \l_@@_x_initial_dim - \l_@@_submatrix_left_xshift_dim }
+ \str_case:nn { #1 }
+ {
+ ( { \dim_sub:Nn \l_tmpa_dim { 0.9 mm } }
+ [ { \dim_sub:Nn \l_tmpa_dim { 0.2 mm } }
+ \{ { \dim_sub:Nn \l_tmpa_dim { 0.9 mm } }
+ }
+ \pgfpathmoveto { \pgfpoint \l_tmpa_dim \pgf@y }
+% \end{macrocode}
+% We compute in |\l_tmpb_dim| the $x$-value of the right end of the rule.
+% \begin{macrocode}
+ \dim_set:Nn \l_tmpb_dim
+ { \l_@@_x_final_dim + \l_@@_submatrix_right_xshift_dim }
+ \str_case:nn { #4 }
+ {
+ ) { \dim_add:Nn \l_tmpb_dim { 0.9 mm } }
+ ] { \dim_add:Nn \l_tmpb_dim { 0.2 mm } }
+ \} { \dim_add:Nn \l_tmpb_dim { 0.9 mm } }
+ }
+ \pgfpathlineto { \pgfpoint \l_tmpb_dim \pgf@y }
+ \pgfusepathqstroke
+ \group_end:
+ }
+ { \@@_error:nnn { Wrong~line~in~SubMatrix } { horizontal } { ##1 } }
+ }
+% \end{macrocode}
+%
% \medskip
% If the key |name| has been used for the command |\SubMatrix|, we create a PGF
% node with that name for the submatrix (this node does not take into account
@@ -14304,7 +14459,9 @@ version 2005/12/01 or later.
\l_@@_x_initial_dim \l_@@_y_initial_dim
\l_@@_x_final_dim \l_@@_y_final_dim
}
+ \group_end:
% \end{macrocode}
+% The group was for |\CT@arc@| (the color of the rules).
%
% \medskip
% Now, we deal with the left delimiter. Of course, the environment
@@ -14405,6 +14562,9 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+%
+%
+%
% \bigskip
% \subsection*{We process the options at package loading}
%
@@ -14420,7 +14580,6 @@ version 2005/12/01 or later.
% instruction is executed.
%
% \medskip
-%% \medskip
% The boolean |\g_@@_footnotehyper_bool| will indicate if the option
% |footnotehyper| is used.
% \begin{macrocode}
@@ -14692,18 +14851,18 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\@@_msg_new:nn { Unknown~option~for~xdots }
+\@@_msg_new:nn { Unknown~key~for~xdots }
{
- As~for~now~there~is~only~three~key~available~here:~'color',~'line-style'~
+ As~for~now,~there~is~only~three~key~available~here:~'color',~'line-style'~
and~'shorten'~(and~you~try~to~use~'\l_keys_key_str').~If~you~go~on,~
this~key~will~be~ignored.
}
% \end{macrocode}
%
% \begin{macrocode}
-\@@_msg_new:nn { Unknown~option~for~rowcolors }
+\@@_msg_new:nn { Unknown~key~for~rowcolors }
{
- As~for~now~there~is~only~two~keys~available~here:~'cols'~and~'respect-blocks'~
+ As~for~now,~there~is~only~two~keys~available~here:~'cols'~and~'respect-blocks'~
(and~you~try~to~use~'\l_keys_key_str').~If~you~go~on,~
this~key~will~be~ignored.
}
@@ -14714,8 +14873,8 @@ version 2005/12/01 or later.
{
The~key~'color'~for~the~command~\token_to_str:N \Block\
is~deprecated:~you~should~use~'fill'~instead.\\
- You~can~go~on~for~this~time~but~remember~that~that~key~
- will~be~deleted~in~a~future~version.
+ This~error~is~fatal.
+
}
% \end{macrocode}
%
@@ -14782,6 +14941,15 @@ version 2005/12/01 or later.
If~you~go~on,~this~key~will~be~ignored.
}
% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Wrong~line~in~SubMatrix }
+ {
+ You~try~to~draw~a~#1~line~of~number~'#2'~in~a~
+ \token_to_str:N \SubMatrix\ of~your~\@@_full_name_env:\ but~that~
+ number~is~not~valid.~If~you~go~on,~it~will~be~ignored.
+ }
+% \end{macrocode}
%
% \begin{macrocode}
\@@_msg_new:nn { empty~environment }
@@ -14798,7 +14966,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\@@_msg_new:nn { unknown~cell~for~line~in~code-after }
+\@@_msg_new:nn { unknown~cell~for~line~in~CodeAfter }
{
Your~command~\token_to_str:N\line\{#1\}\{#2\}~in~the~'code-after'~
can't~be~executed~because~a~cell~doesn't~exist.\\
@@ -14947,7 +15115,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\@@_msg_new:nn { Bad~value~for~letter~for~dotted~lines }
+\@@_msg_new:nn { One~letter~allowed }
{
The~value~of~key~'\l_keys_key_str'~must~be~of~length~1.\\
If~you~go~on,~it~will~be~ignored.
@@ -14978,7 +15146,8 @@ version 2005/12/01 or later.
}
{
The~available~keys~are~(in~alphabetic~order):~
- delimiters-color,~
+ delimiters/color,~
+ rules~(with~the~subkeys~'color'~and~'width'),~
sub-matrix~(several~subkeys)~
and~xdots~(several~subkeys).~
The~latter~is~for~the~command~\token_to_str:N \line.
@@ -14986,12 +15155,25 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\@@_msg_new:nn { Unknown~key~for~SubMatrix }
+\@@_msg_new:nnn { Unknown~key~for~SubMatrix }
{
The~key~'\l_keys_key_str'~is~unknown.\\
- The~only~keys~available~here~are~'delimiters-color',~'extra-height',~
- 'left-xshift',~'name',~'right-xshift',~'slim'~and~'xshift'.\\
If~you~go~on,~this~key~will~be~ignored. \\
+ For~a~list~of~the~available~keys~in~\token_to_str:N
+ \SubMatrix,~type~H~<return>.
+ }
+ {
+ The~available~keys~are~(in~alphabetic~order):~
+ 'delimiters/color',~
+ 'extra-height',~
+ 'hlines',~
+ 'left-xshift',~
+ 'name',~
+ 'right-xshift',~
+ 'rules'~(with~the~subkeys~'color'~and~'width'),~
+ 'slim',~
+ 'vlines'~and~'xshift'~(which~set~both~'left-xshift'~
+ and~'right-xshift').\\
}
% \end{macrocode}
%
@@ -15037,7 +15219,7 @@ version 2005/12/01 or later.
create-extra-nodes,~
create-medium-nodes,~
create-large-nodes,~
- delimiters-color,~
+ delimiters/color,~
end-of-row,~
first-col,~
first-row,~
@@ -15054,6 +15236,7 @@ version 2005/12/01 or later.
renew-dots,~
renew-matrix,~
right-margin,~
+ rules~(with~the~subkeys~'color'~and~'width'),~
small,~
sub-matrix~(several~subkeys),
vlines,~
@@ -15087,7 +15270,7 @@ version 2005/12/01 or later.
create-extra-nodes,~
create-medium-nodes,~
create-large-nodes,~
- delimiters-color,~
+ delimiters/color,~
extra-left-margin,~
extra-right-margin,~
first-col,~
@@ -15105,8 +15288,7 @@ version 2005/12/01 or later.
nullify-dots,~
renew-dots,~
right-margin,~
- rules/color,~
- rules/width,~
+ rules~(with~the~subkeys~'color'~and~'width'),~
small,~
t,~
vlines,~
@@ -15146,7 +15328,7 @@ version 2005/12/01 or later.
create-extra-nodes,~
create-medium-nodes,~
create-large-nodes,~
- delimiters-color,~
+ delimiters/color,~
extra-left-margin,~
extra-right-margin,~
first-col,~
@@ -15164,8 +15346,7 @@ version 2005/12/01 or later.
r,~
renew-dots,~
right-margin,~
- rules/color,~
- rules/width,~
+ rules~(with~the~subkeys~'color'~and~'width'),~
small,~
t,~
vlines,~
@@ -15218,8 +15399,7 @@ version 2005/12/01 or later.
nullify-dots,~
renew-dots,~
right-margin,~
- rules/color,~
- rules/width,~
+ rules~(with~the~subkeys~'color'~and~'width'),~
t,~
vlines,~
xdots/color,~
@@ -15523,7 +15703,7 @@ version 2005/12/01 or later.
%
% The option |dotted-lines-margin| has been renamed in |xdots/shorten| and the
% options |xdots/color| and |xdots/line-style| have been added for a complete
-% customization of the dotted lines.
+% customisation of the dotted lines.
%
% In the environments without preamble (|{NiceMatrix}|, |{pNiceMatrix}|, etc.),
% it's possible to use the options |l| (=|L|) or |r| (=|R|) to specify the type
@@ -15615,8 +15795,8 @@ version 2005/12/01 or later.
%
% The variable |\g_nicematrix_code_before_tl| is now public.
%
-% The key |baseline| can take in as value of the form \textsl{line-i} to align
-% the |\hline| in the row \textsl{i}.
+% The key |baseline| may take in as value an expression of the form
+% \textsl{line-i} to align the |\hline| in the row \textsl{i}.
%
% The key |hvlines-except-corners| may take in as value a list of corners (eg: NW,SE).
%
@@ -15679,6 +15859,12 @@ version 2005/12/01 or later.
% A (non fatal) error is raised when the key |transparent|, which is
% deprecated, is used.
%
+% \subsection*{Changes between versions 5.10 and 5.11}
+%
+% It's now possible, in the |code-before| and in the |\CodeAfter|, to use the
+% syntax \verb+|(i-|j)+ for the Tikz node at the intersection of the (potential)
+% horizontal rule number~$i$ and the (potential) vertical rule number~$j$.
+%
% \PrintIndex
%
% \tableofcontents
diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf
index 12843620c0..a8e3ae524e 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/README.md b/macros/latex/contrib/tuda-ci/README.md
index 6449aa4218..31d5d32a43 100644
--- a/macros/latex/contrib/tuda-ci/README.md
+++ b/macros/latex/contrib/tuda-ci/README.md
@@ -2,7 +2,7 @@
Copyright (C) Marei Peischl <marei@peitex.de>, 2018–2021
- tuda-ci 2021/02/05 v3.10
+ tuda-ci 2021/02/22 v3.11
***************************************************************************
@@ -25,9 +25,10 @@ Derzeit existieren diese Templates nur in Deutscher Sprache.
## Verwendungshinweis
Die Richtlinien des Corporate Designs (https://www.intern.tu-darmstadt.de/media/medien_stabsstelle_km/services/medien_cd/das_bild_der_tu_darmstadt.pdf), sowie die Anforderungen der Universitätsbibliothek erfordern einige spezielle Konfigurationen. Beispielsweise ist für wissenschaftliche Veröffentlichungen und Abschlussarbeiten die Erzeugung einer archivierbaren PDF-Datei (PDF/A) vorgesehen.
-Dies ist mit aktuellen LaTeX-Paketen und dem Compiler LuaLaTeX deutlich konsequenter umzusetzen.
-Aus diesem Grund wird empfohlen, die verwendete Distribution vorab zu aktualisieren und LuaLaTeX zu verwenden.
-Weitere Hinweise finden sich in den Beispieldateien dokumentiert. Diese sind auch als kompilierte PDFs unter http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc oder – falls das Paket installiert ist – im ensprechenden Doku-Verzeichnis (<Pfad zu Ihrer LaTeX-Installation>/doc/latex/tuda-ci) verfügbar.
+Dies ist mit aktuellen LaTeX-Paketen und dem Compiler LuaLaTeX deutlich besser umzusetzen, als mit älteren Formaten.
+Aus diesem Grund sollten Sie vor der Verwendung von TUDa-CI Ihre TeX-Distribution aktualisieren und nach Möglichkeit LuaLaTeX als Compiler verwenden.
+Die Nutzung anderer Kompilierungsprogramme ist grundsätzlich möglich, allerdings werden dann ggf. nicht alle Funktionen unterstützt. Es kann sogar notwendig sein, die Erzeugung von PDF/A zu unterbinden.
+Weitere Hinweise finden sich in den Beispieldateien dokumentiert. Diese sind auch als kompilierte PDFs unter http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc oder – falls das Paket installiert ist – im ensprechenden Doku-Verzeichnis (<Pfad zu Ihrer LaTeX-Installation>/doc/latex/tuda-ci) verfügbar.
## Abhängigkeiten
Das Bundle verwendet Pakete der Standard-LaTeX-Distributionen. Bei der Verwendung von paketierten Versionen über die Linux-Paketverwaltung kann dies ggf. zu Schwierigkeiten führen.
@@ -225,4 +226,7 @@ leaflets | DEMO-TUDaLeaflet.tex | tudaleaflet.cls
* v3.10 (2021-02-05)
- fix \thanks for titlepage=false
- extend support for all CreativeCommons 4.0 Licenses
- - improve documentation \ No newline at end of file
+ - improve documentation
+ * v3.11 (2021-02-22)
+ - Support CMYK in PDF/A
+ - Add Info for DVI-Outputs \ No newline at end of file
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
index a7c7b78b11..da8696355a 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
index d1270e8b44..a8e69acf8b 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
index 05e4a5f36d..bc28181a5a 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
index dbfddf45dd..a8d45fdf6a 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
index f736d21be9..a8ba6cf044 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
index e5cdb52c8f..6423283633 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
index 1e543dabe8..5a7f54cf32 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
index a23df0332f..9feffcb80b 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
index 6e5319f17d..a16b5d5d0d 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
index 008e6dbff9..25c368f0a1 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
index c636d73341..86ba29c9c8 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
index c06c6549f2..2b964a5a43 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaAnnouncement.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaAnnouncement.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
index 3fdd31e5af..6195e2ebc1 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBeamer.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaBeamer.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
index 96c2a0eb0b..633ced3b24 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBibliography.bib' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaBibliography.bib' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
index 8ec128cf81..e283b74a65 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaExercise.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaExercise.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
index 1bf5af516e..464d6c44b0 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaFromaddress.lco' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaFromaddress.lco' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
index 0366d25f33..633aabc7e8 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLeaflet.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaLeaflet.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
index a8baf3cf51..c41676bd00 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLetter.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaLetter.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
@@ -43,7 +43,7 @@
% textwidth=narrow,% Verhindert die Anpassung der Textbreite nach der ersten Seite
]{tudaletter}
-% Der folgende Block ist nur für die Kompatibilität mit pdfTeX Versionen vor April 2018 notwendig
+% Der folgende Block ist nur für die Kompatibilität mit pdfTeX Versionen vor April 2018 notwendig.
\usepackage{iftex}
\ifPDFTeX
\usepackage[utf8]{inputenc}
@@ -84,14 +84,14 @@ Zusätzliche Optionen sind im Folgenden aufgelistet:\\
\end{description}
}
-Für Wiederverwendung der Absenderadresse wurde die Datei \enquote{DEMO"=TUDaFromaddress.lco} angelegt. Sie wird wie bei \KOMAScript{} üblich über
-geladen. Sämtliche dort gesetzten Werte können innerhalb der Briefdatei überschrieben werden.
+Für Wiederverwendung der Absenderadresse wurde die Datei \enquote{DEMO"=TUDaFromaddress.lco} angelegt. Sie wird, wie bei \KOMAScript{} üblich, über
+\verb+\LoadLetterOption+ geladen. Sämtliche dort gesetzten Werte können innerhalb der Briefdatei überschrieben werden.
-Die Adressdatei wird üblicherweise lokal im System installiert, um sie nicht immer mit allen anderen Dateien kopieren zu müssen. Falls Sie dies dürchführen möchten, findet sich eine entsprechende Erklärung am Ende der DEMO"=TUDaFromaddress.lco"=Datei
+Die Adressdatei wird üblicherweise lokal im System installiert, um sie nicht immer mit allen anderen Dateien kopieren zu müssen. Falls Sie dies durchführen möchten, findet sich eine entsprechende Erklärung am Ende der DEMO"=TUDaFromaddress.lco"=Datei.
-Eine Besonderheit der Klasse tudaletter, stellt der Unterschied in der Zeilenlänge zwischen der ersten und den folgenden Seiten dar. Da \LaTeX{} grundsätzlich keine Änderung der Zeilenlänge innerhalb eines Absatzes unterstützt, ist hier eine komplexe Implementierung nötig. In einigen speziellen Fällen, kann dieser Mechanismus fehlschlagen. Eine Sammlung an Soderfällen ist bereits implementiert, sollten Sie jedoch auf weiter stoßen, werden wir uns um eine Erweiterung der Implementierung bemühen.
+Eine Besonderheit der Klasse tudaletter stellt der Unterschied in der Zeilenlänge zwischen der ersten und den folgenden Seiten dar. Da \LaTeX{} grundsätzlich keine Änderung der Zeilenlänge innerhalb eines Absatzes unterstützt, ist hier eine komplexe Implementierung nötig. In einigen speziellen Fällen kann dieser Mechanismus fehlschlagen. Eine Sammlung an Soderfällen ist bereits implementiert. Sollten Sie jedoch auf weitere stoßen, werden wir uns um eine Erweiterung der Implementierung bemühen.
-Der einfachste Fall um solche Schwierigkeiten zu beheben ist in diesem Beispiel mithilfe der parbox um die Auflistung gezeigt.
+Der einfachste Fall, um solche Schwierigkeiten zu beheben, ist in diesem Beispiel mithilfe des Befehls parbox bei der Auflistung gezeigt.
\closing{Herzliche Grüße}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
index 9dbf82e98f..d00f0d1705 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPhD.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaPhD.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
index 5e507a8d3f..f958e2eec5 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPoster.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaPoster.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
index be5897affd..09697ccdae 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPub.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaPub.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
@@ -256,7 +256,7 @@ keywords={TU Darmstadt \sep Corporate Design \sep LaTeX}
\end{verbatim}
Wenn der Eintrag selbst Kommata enthalten könnte, dann ist eine Gruppierung um den Eintrag notwendig. Sonst wird der Text nach dem Komma als nächstes Keyword interpretiert.
-\minisec{Möglich Probleme mit älteren Systemen:}
+\minisec{Mögliche Probleme mit älteren Systemen:}
Bei älteren \TeX-Distributionen kann es vorkommen, dass die Farbprofile nicht vorinstalliert sind. In diesem Fall wird eine Fehlermeldung im folgenden Sinn erzeugt:
\begin{verbatim}
@@ -411,6 +411,9 @@ Beispiele für typische Modifikationen, die auch im Rahmen des Corporate Design
Das Paket \pck{pdfx}, über welches die PDF/A Kompatibilität erzeugt wird, hat nur einen begrenzten Support für \hologo{XeLaTeX}.
Es wird eine entsprechende Warnung erzeugt, allerdings kann es bei älteren \hologo{XeLaTeX}-Versionen passieren, dass \pck{pdfx} bereits Fehlermeldungen erzeugt. Abhilfe wird in diesem Fall durch eine Compiler-Wechsel auf \hologo{LuaLaTeX} (welcher ohnehin empfohlen wird) oder durch Abschalten des PDF/A-Modus (\code{pdfa=false}) geschaffen.
+\subsection{DVI-Ausgabe}
+Aufgrund der Voreinstellung zur Erzeugung einer PDF/A-Datei ist es nicht möglich TUDa-CI in Standardeinstellungen zur Erzeugung einer DVI-Datei zu nutzen. Ein Großteil der Funktionalität kann jedoch durch Deaktivierung der \code{pdfa}-Option genutzt werden.
+
\subsection{Geschachtelte Akzente (Inkompatibilität zwischen pdfx und amsmath)}
Es ist nach aktuellem Paketstatus (v3.04) nicht möglich beide Pakete in Kombination ohne weitere Anpassungen so zu verwenden, dass eine Schachtelung von Akzenten möglich ist. Das folgende Beispiel wirft Fehler, sobald \pck{amsmath} direkt oder indirekt geladen wird.
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
index fc9b4efe7f..aa50ba7d9c 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaReport.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaReport.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
index ea8cd6ab05..ae700c3957 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaSciPoster.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaSciPoster.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
index f9d2b852d8..bfd519cabd 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaThesis.tex' version 3.10 (2021/02/05),
+%% This is file `DEMO-TUDaThesis.tex' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,7 +25,7 @@
%% Please use the issue tracker for feedback!
%%
%% If you need a compiled version of this document, have a look at
-%% http://mirror.ctan.org/tex-archive/macros/latex/contrib/tuda-ci/doc
+%% http://mirror.ctan.org/macros/latex/contrib/tuda-ci/doc
%% or at the documentation directory of this package (if installed)
%% <path to your LaTeX distribution>/doc/latex/tuda-ci
%% ============================================================================
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
index 00ddfe3e5d..19cc8d4de9 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa.sty' version 3.10 (2021/02/05),
+%% This is file `beamercolorthemeTUDa.sty' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
index 3b37cab7fd..b92e330783 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa.sty' version 3.10 (2021/02/05),
+%% This is file `beamerfontthemeTUDa.sty' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerfontthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
index 7f601653e8..1b530ac662 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa.sty' version 3.10 (2021/02/05),
+%% This is file `beamerinnerthemeTUDa.sty' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{beamerinnerthemeTUDa}{\filedate}{\fileversion}{Inner~beamer~theme~of~tuda-ci}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
index c5f13e9296..28fef7810b 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa.sty' version 3.10 (2021/02/05),
+%% This is file `beamerouterthemeTUDa.sty' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{beamerouterthemeTUDa}{\filedate}{\fileversion}{Outer~beamer~theme~of~tuda-ci}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
index aaf6d668e8..2e9f46a7ba 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa-mecheng.sty' version 3.10 (2021/02/05),
+%% This is file `beamerthemeTUDa-mecheng.sty' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\RequirePackage{expl3}
\ProvidesExplPackage{beamerthemeTUDa-mecheng}{\filedate}{\fileversion}{specific tudabeamer configuration for the department of mechanical engineering}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
index c02aa76dc4..b330a9fab0 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa.sty' version 3.10 (2021/02/05),
+%% This is file `beamerthemeTUDa.sty' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthemeTUDa}
[\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt]
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
index b35377871e..c49620928f 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a0paper.clo' version 3.10 (2021/02/05),
+%% This is file `tuda-a0paper.clo' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
index d0482d01dd..81dcccc684 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a1paper.clo' version 3.10 (2021/02/05),
+%% This is file `tuda-a1paper.clo' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
index 55cb9ce12e..914e856fd8 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a2paper.clo' version 3.10 (2021/02/05),
+%% This is file `tuda-a2paper.clo' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\ProvidesExplFile{tuda-a2paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
index d9cacf1719..337e6ddf8a 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a3paper.clo' version 3.10 (2021/02/05),
+%% This is file `tuda-a3paper.clo' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\ProvidesExplFile{tuda-a3paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a3paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
index 9517e882a8..ebd934e1af 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a4paper.clo' version 3.10 (2021/02/05),
+%% This is file `tuda-a4paper.clo' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\ProvidesExplFile{tuda-a4paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a4paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
index 155fc7915b..59d522b883 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a5paper.clo' version 3.10 (2021/02/05),
+%% This is file `tuda-a5paper.clo' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\ProvidesExplFile{tuda-a5paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a5paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
index 06047ba14f..9871b594e9 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
@@ -1,4 +1,4 @@
-%% This is file `tuda-pgfplots.sty' version 3.10 (2021/02/05),
+%% This is file `tuda-pgfplots.sty' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
% Special thanks to: Sebastian Schöps Institut Theorie Elektromagnetischer Felder (TEMF), TU Darmstadt
% The original version of this file has been inspired by the colorscheme in the Metropolis beamer theme by Matthias Vogelgesang https://github.com/matze/mtheme
\ProvidesPackage{tuda-pgfplots}[\filedate\space\fileversion\space tuda-ci pgfplots color schemes]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
index 88ec0b5b88..1d97c48c7c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
@@ -1,4 +1,4 @@
-%% This is file `tudabeamer.cls' version 3.10 (2021/02/05),
+%% This is file `tudabeamer.cls' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tudabeamer}
[\filedate\space\fileversion\space]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.def b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
index 28f535c554..398c203694 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.def
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.def' version 3.10 (2021/02/05),
+%% This is file `tudacolors.def' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\ProvidesFile{tudacolors.def}
[\filedate\space\fileversion\space Color definitions for tuda-ci]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
index b9b76f849c..10db98d9bc 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.sty' version 3.10 (2021/02/05),
+%% This is file `tudacolors.sty' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudacolors}{\filedate}{\fileversion}{Color definition for TU Darmstadt's tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
index fd0dabed9c..a39fd6a782 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaexercise.cls' version 3.10 (2021/02/05),
+%% This is file `tudaexercise.cls' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudaexercise}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
index 6b02df7ce1..e0136bf889 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
@@ -1,4 +1,4 @@
-%% This is file `tudafonts.sty' version 3.10 (2021/02/05),
+%% This is file `tudafonts.sty' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudafonts}
[\filedate\space\fileversion\space
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
index 35813f97b5..1f801d7a9e 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaleaflet.cls' version 3.10 (2021/02/05),
+%% This is file `tudaleaflet.cls' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudaleaflet}{\filedate}{\fileversion}{Leaflets using the Corporate Design of TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
index 91dfdec967..109b275ddc 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaletter.cls' version 3.10 (2021/02/05),
+%% This is file `tudaletter.cls' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudaletter}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
index 4baa0d2e0e..b8f6d04c01 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudalettersize10pt.clo' version 3.10 (2021/02/05),
+%% This is file `tudalettersize10pt.clo' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
index dc824490f4..477a8144b4 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudamecheng.cfg' version 3.10 (2021/02/05),
+%% This is file `tudamecheng.cfg' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\RequirePackage{expl3}
\ProvidesExplFile{tudamecheng.cfg}
{\filedate}{\fileversion}{Special Features the department of mechanical engineering of Darmstadt's Corporate Design (tuda-ci)}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
index a5a614ceb1..29a73328c0 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaposter.cls' version 3.10 (2021/02/05),
+%% This is file `tudaposter.cls' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudapub.cls b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
index 852a87a963..a25e53aad1 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudapub.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
@@ -1,4 +1,4 @@
-%% This is file `tudapub.cls' version 3.10 (2021/02/05),
+%% This is file `tudapub.cls' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudapub}
@@ -195,12 +195,6 @@
\ProcessKeysOptions{ptxcd/pub}
-
-%Option adjustments required for valid PDF/A
-\bool_if:NT \g_ptxcd_pdfa_bool {
- \PassOptionsToPackage{RGB}{xcolor}
-}
-
\exp_args:Nx \tl_if_eq:nnT {\prop_item:Nn \g_ptxcd_clsopts_prop {fontsize}} {9pt}
{
\prop_if_in:NnF \g_ptxcd_unknown_clsopts_prop {DIV}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudarules.sty b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
index 50efbc4b85..cae04dfe93 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudarules.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
@@ -1,4 +1,4 @@
-%% This is file `tudarules.sty' version 3.10 (2021/02/05),
+%% This is file `tudarules.sty' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudarules}{\filedate}{\fileversion}{Creation of colored bars for tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
index 1ce4463ae7..97a1243c4c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudasciposter.cls' version 3.10 (2021/02/05),
+%% This is file `tudasciposter.cls' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
index bba5540d3c..0648020077 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudasize9pt.clo' version 3.10 (2021/02/05),
+%% This is file `tudasize9pt.clo' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
index 60aa5ecbc9..2e4c1b7759 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudathesis.cfg' version 3.10 (2021/02/05),
+%% This is file `tudathesis.cfg' version 3.11 (2021/02/22),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.10}
-\def\filedate{2021/02/05}
+\def\fileversion{3.11}
+\def\filedate{2021/02/22}
\RequirePackage{expl3}
\ProvidesExplFile{tudathesis.cfg}
{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Corporate Design (tuda-ci)}
diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md
index 32c5db5278..fe4414073f 100644
--- a/macros/latex/required/babel/base/README.md
+++ b/macros/latex/required/babel/base/README.md
@@ -1,4 +1,4 @@
-## Babel 3.53
+## Babel 3.54
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -7,9 +7,9 @@ lualatex out of the box. A few even work with plain formats.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 3.53 are described in:
+Changes in version 3.54 are described in:
-https://github.com/latex3/babel/wiki/What's-new-in-babel-3.53
+https://github.com/latex3/babel/wiki/What's-new-in-babel-3.54
Included is a set of ini files for about 250 languages.
@@ -43,6 +43,14 @@ respective authors.
### Latest changes
```
+3.54 2021-02-22
+ * RTL text inside \put (with pict2e) correctly rendered in
+ typical cases (lua, #98).
+ * Same for \tikz (lua).
+ * The main change in internal (loader of ini files refactored).
+ * Fixes:
+ - The tentative \foreignlanguage* stopped working.
+
3.53 2021-01-26
* Extended \setlocalecaption to allow .template (related to
#111).
@@ -55,6 +63,7 @@ respective authors.
bidi in lua.
- Parenthesis sometimes mirrored at the end of math with
bidi=basic.
+See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.53
3.52 2020-12-16
* WARNING. If you need the style for Afrikaans you must update
@@ -69,7 +78,7 @@ respective authors.
- Save size overflow with many \selectlanguage's (#109).
- Albanian: fix a typo in contents name (#104)
- Missing ‘Unused global option(s)’ warning (#110)
-https://github.com/latex3/babel/wiki/What's-new-in-babel-3.52
+See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.52
3.51 2020-10-27
* Common interface to (re)define captions (with
@@ -84,13 +93,13 @@ https://github.com/latex3/babel/wiki/What's-new-in-babel-3.52
- An error was raised with CJK and a null font (#99).
- language.tag.bcp47 and tag.ini in \localeinfo didn't work
(#102).
-https://github.com/latex3/babel/wiki/What's-new-in-babel-3.52
+See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.52
3.50 2020-10-06
* Fixes:
- main=<language> stopped working in some cases (#96).
- Footnotes were not \long with layout=footnotes.
-https://github.com/latex3/babel/wiki/What's-new-in-babel-3.50
+See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.50
3.49 2020-10-03
* BUG. This version has a severe bug with main= (fixed in 3.50).
@@ -99,7 +108,7 @@ https://github.com/latex3/babel/wiki/What's-new-in-babel-3.50
* frenchspacing is set with ini files.
* Fixes:
- layout.lists=off didn't work (#94)
-https://github.com/latex3/babel/wiki/What's-new-in-babel-3.49
+See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.49
3.48 2020-09-01
* New (tentative) tools to customize some labels (like chapters
@@ -110,7 +119,7 @@ https://github.com/latex3/babel/wiki/What's-new-in-babel-3.49
- \babelshorthand didn't work with some dialects (#91).
- \selectlanguage and otherlanguage raised an error inside
tabular.
-https://github.com/latex3/babel/wiki/What's-new-in-babel-3.48
+See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.48
3.47 2020-07-13
* Fixes:
@@ -121,7 +130,7 @@ https://github.com/latex3/babel/wiki/What's-new-in-babel-3.48
* New - \getlocaleproperty*, which doesn't raise an error.
* Basic ini+tex templates for about 500 languages in the GitHub
repository.
-https://github.com/latex3/babel/wiki/What's-new-in-babel-3.47
+See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.47
3.46 2020-07-06
* Languages can now be optionally selected with their BCP 47
@@ -137,29 +146,16 @@ https://github.com/latex3/babel/wiki/What's-new-in-babel-3.47
- Locale info was not loaded if the name had uppercase letters
in some OSs (#80).
- The [..|..] syntax in ini dates didn't recognize 'digits'.
-https://github.com/latex3/babel/wiki/What's-new-in-babel-3.46
+See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.46
3.45 2020-06-10
- * Minor fixes in Hindi, Ancient Greek, Macedonian.
- * Improvements in Kurdish, Marathi.
- * Alternative date formats with \localedate[calendar=...,
- variant=...]{y}{m}{d} (note: no calendar computations, just
- strings).
- * \today is (again) case-aware.
- * \localenumeral{digits}{..} and \localecounter{digits}{cntr}
- for native digits.
- * Fixes
- - Improved handling of math with \babelposthyphenation and
- \babelprehyphenation (it was ignoring too much).
- - An error related to \bbl@foreign@x could be raised in some
- rare cases.
See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.45
3.44 2020-05-13
-https://github.com/latex3/babel/wiki/What's-new-in-babel-3.44
+See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.44
3.43 2020-04-28
-https://github.com/latex3/babel/wiki/What's-new-in-babel-3.43
+See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.43
3.42 2020-03-22
See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.42
diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx
index 1a19d9f2d3..093a61a6f1 100644
--- a/macros/latex/required/babel/base/babel.dtx
+++ b/macros/latex/required/babel/base/babel.dtx
@@ -31,7 +31,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2021/01/26 v3.53 The Babel package]
+\ProvidesFile{babel.dtx}[2021/02/22 v3.54 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -2408,12 +2408,11 @@ Conveniently, some options allow to fill the language, and \babel{}
warns you about what to do if there is a missing string. Very likely
you will find alerts like that in the |log| file:
\begin{verbatim}
-Package babel Warning: \mylangchaptername not set. Please, define it
-(babel) after the language has been loaded (typically
-(babel) in the preamble) with the help of
-(babel) \setlocalecaption. An example is:
+Package babel Warning: \chaptername not set for 'mylang'. Please,
+(babel) define it after the language has been loaded
+(babel) (typically in the preamble) with:
(babel) \setlocalecaption{mylang}{chapter}{..}
-(babel) Reported on input line 18.
+(babel) Reported on input line 26.
\end{verbatim}
In most cases, you will only need to define a few macros. Note
@@ -3445,10 +3444,8 @@ bidirectional (with both R and L paragraphs) documents in \luatex{}.
\item[graphics] modifies the |picture| environment so that the whole
figure is L but the text is R. It \textit{does not} work with the
-standard |picture|, and \textit{pict2e} is required if you want sloped
-lines \textbf{(With recent versions of \LaTeX, this feature has
-stopped working)}. It attempts to do the same for \textsf{pgf/tikz}.
-Somewhat experimental. \New{3.32}.
+standard |picture|, and \textit{pict2e} is required. It attempts to do
+the same for \textsf{pgf/tikz}. Somewhat experimental. \New{3.32}.
\item[extras] is used for miscellaneous readjustments which do not fit into
the previous groups. Currently redefines in \luatex{} |\underline| and
@@ -4851,8 +4848,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.53>>
-%<<date=2021/01/26>>
+%<<version=3.54>>
+%<<date=2021/02/22>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -5274,7 +5271,7 @@ help from Bernd Raichle, for which I am grateful.
Babel.debug = false }%
\fi}
<@Basic macros@>
- % Temporarily repeat here the code for errors
+ % Temporarily repeat here the code for errors. TODO.
\def\bbl@error#1#2{%
\begingroup
\def\\{\MessageBreak}%
@@ -5297,16 +5294,18 @@ help from Bernd Raichle, for which I am grateful.
\def\\{\MessageBreak}%
\PackageInfo{babel}{#1}%
\endgroup}
- \def\bbl@nocaption{\protect\bbl@nocaption@i}
+\def\bbl@nocaption{\protect\bbl@nocaption@i}
+% TODO - Wrong for \today !!! Must be a separate macro.
\def\bbl@nocaption@i#1#2{% 1: text to be printed 2: caption macro \langXname
\global\@namedef{#2}{\textbf{?#1?}}%
\@nameuse{#2}%
- \bbl@warning{% TODO.
- \@backslashchar#2 not set. Please, define it\\%
- after the language has been loaded (typically\\%
- in the preamble) with the help of\\%
- \string\setlocalecaption. An example is:\\%
- \string\setlocalecaption{mylang}{chapter}{..}\\
+ \edef\bbl@tempa{#1}%
+ \bbl@sreplace\bbl@tempa{name}{}%
+ \bbl@warning{%
+ \@backslashchar#1 not set for '\languagename'. Please,\\%
+ define it after the language has been loaded\\%
+ (typically in the preamble) with\\%
+ \string\setlocalecaption{\languagename}{\bbl@tempa}{..}\\%
Reported}}
\def\bbl@tentative{\protect\bbl@tentative@i}
\def\bbl@tentative@i#1{%
@@ -7666,6 +7665,7 @@ help from Bernd Raichle, for which I am grateful.
\def\bbl@foreign@s#1#2{% TODO - \shapemode, \@setpar, ?\@@par
\begingroup
{\par}%
+ \let\bbl@select@opts\@empty
\let\BabelText\@firstofone
\foreign@language{#1}%
\bbl@usehooks{foreign*}{}%
@@ -7938,12 +7938,13 @@ help from Bernd Raichle, for which I am grateful.
\def\bbl@nocaption@i#1#2{% 1: text to be printed 2: caption macro \langXname
\global\@namedef{#2}{\textbf{?#1?}}%
\@nameuse{#2}%
- \bbl@warning{%
- \@backslashchar#2 not set. Please, define it\\%
- after the language has been loaded (typically\\%
- in the preamble) with the help of\\%
- \string\setlocalecaption. An example is\\%
- \string\setlocalecaption{mylang}{chapter}{..}\\
+ \edef\bbl@tempa{#1}%
+ \bbl@sreplace\bbl@tempa{name}{}%
+ \bbl@warning{% TODO.
+ \@backslashchar#1 not set for '\languagename'. Please,\\%
+ define it after the language has been loaded\\%
+ (typically in the preamble) with:\\%
+ \string\setlocalecaption{\languagename}{\bbl@tempa}{..}\\%
Reported}}
\def\bbl@tentative{\protect\bbl@tentative@i}
\def\bbl@tentative@i#1{%
@@ -9317,12 +9318,6 @@ help from Bernd Raichle, for which I am grateful.
% attribute being checked, and the third and fourth arguments are
% the true and false clauses.
%
-% First we need to find out if any attributes were set; if not we're
-% done. Then we need to check the list of known attributes. When
-% we're this far |\ifin@| has a value indicating if the attribute in
-% question was set or not. Just to be safe the code to be executed
-% is `thrown over the |\fi|'.
-%
% \begin{macrocode}
\def\bbl@ifattributeset#1#2#3#4{%
\ifx\bbl@known@attribs\@undefined
@@ -9334,8 +9329,7 @@ help from Bernd Raichle, for which I am grateful.
\bbl@afterelse#3%
\else
\bbl@afterfi#4%
- \fi
- }
+ \fi}
% \end{macrocode}
%
% \end{macro}
@@ -9347,9 +9341,7 @@ help from Bernd Raichle, for which I am grateful.
% is known and the \TeX-code to be executed otherwise.
%
% We first assume the attribute is unknown. Then we loop over the
-% list of known attributes, trying to find a match. When a match is
-% found the definition of |\bbl@tempa| is changed. Finally we
-% execute |\bbl@tempa|.
+% list of known attributes, trying to find a match.
%
% \begin{macrocode}
\def\bbl@ifknown@ttrib#1#2{%
@@ -9360,8 +9352,7 @@ help from Bernd Raichle, for which I am grateful.
\let\bbl@tempa\@firstoftwo
\else
\fi}%
- \bbl@tempa
-}
+ \bbl@tempa}
% \end{macrocode}
%
% \end{macro}
@@ -9451,7 +9442,10 @@ help from Bernd Raichle, for which I am grateful.
% Some languages need to have |\frenchspacing| in effect. Others
% don't want that. The command |\bbl@frenchspacing| switches it on
% when it isn't already in effect and |\bbl@nonfrenchspacing|
-% switches it off if necessary.
+% switches it off if necessary. A more refined way to switch the
+% catcodes is done with |ini| files. Here an auxiliary macro is
+% defined, but the main part is in |\babelprovide|. This new method
+% should be ideally the default one.
%
% \begin{macrocode}
\def\bbl@frenchspacing{%
@@ -9462,7 +9456,6 @@ help from Bernd Raichle, for which I am grateful.
\let\bbl@nonfrenchspacing\nonfrenchspacing
\fi}
\let\bbl@nonfrenchspacing\nonfrenchspacing
-%
\let\bbl@elt\relax
\edef\bbl@fs@chars{%
\bbl@elt{\string.}\@m{3000}\bbl@elt{\string?}\@m{3000}%
@@ -9503,7 +9496,7 @@ help from Bernd Raichle, for which I am grateful.
%
% \subsection{Hyphens}
%
-% \begin{macro}{\babelhyphenation}
+% \begin{macro}{\babelhyphenation}
%
% This macro saves hyphenation exceptions. Two macros are used to
% store them: |\bbl@hyphenation@| for the global ones and
@@ -9534,7 +9527,7 @@ help from Bernd Raichle, for which I am grateful.
\bbl@iflanguage\bbl@tempa{%
\bbl@csarg\protected@edef{hyphenation@\bbl@tempa}{%
\bbl@ifunset{bbl@hyphenation@\bbl@tempa}%
- \@empty
+ {}%
{\csname bbl@hyphenation@\bbl@tempa\endcsname\space}%
#2}}}%
\fi}}
@@ -10667,6 +10660,7 @@ help from Bernd Raichle, for which I am grateful.
\let\bbl@KVP@Alph\@nil
\let\bbl@KVP@labels\@nil
\bbl@csarg\let{KVP@labels*}\@nil
+ \global\let\bbl@inidata\@empty
\bbl@forkv{#1}{% TODO - error handling
\in@{/}{##1}%
\ifin@
@@ -10732,7 +10726,8 @@ help from Bernd Raichle, for which I am grateful.
% ==
% At this point all parameters are defined if 'import'. Now we
% execute some code depending on them. But what about if nothing was
- % imported? We just set the very basic parameters.
+ % imported? We just set the basic parameters, but still loading the
+ % whole ini file.
\bbl@load@basic{#2}%
% == script, language ==
% Override the values from ini or defines them
@@ -10974,12 +10969,10 @@ help from Bernd Raichle, for which I am grateful.
\expandafter\bbl@tempb\bbl@captionslist\@empty
\else
\ifx\bbl@initoload\relax
- \bbl@read@ini{\bbl@KVP@captions}0% Here letters cat = 11
+ \bbl@read@ini{\bbl@KVP@captions}2% % Here letters cat = 11
\else
- \bbl@read@ini{\bbl@initoload}0% Here all letters cat = 11
+ \bbl@read@ini{\bbl@initoload}2% % Same
\fi
- \bbl@after@ini
- \bbl@savestrings
\fi
\StartBabelCommands*{#1}{date}%
\ifx\bbl@KVP@import\@nil
@@ -11031,9 +11024,7 @@ help from Bernd Raichle, for which I am grateful.
\def\bbl@provide@renew#1{%
\ifx\bbl@KVP@captions\@nil\else
\StartBabelCommands*{#1}{captions}%
- \bbl@read@ini{\bbl@KVP@captions}0% Here all letters cat = 11
- \bbl@after@ini
- \bbl@savestrings
+ \bbl@read@ini{\bbl@KVP@captions}2% % Here all letters cat = 11
\EndBabelCommands
\fi
\ifx\bbl@KVP@import\@nil\else
@@ -11046,24 +11037,18 @@ help from Bernd Raichle, for which I am grateful.
\ifx\bbl@lbkflag\@empty
\bbl@provide@hyphens{#1}%
\fi}
+% \end{macrocode}
+%
% Load the basic parameters (ids, typography, counters, and a few
% more), while captions and dates are left out. But it may happen some
% data has been loaded before automatically, so we first discard the
% saved values.
-\def\bbl@linebreak@export{%
- \bbl@exportkey{lnbrk}{typography.linebreaking}{h}%
- \bbl@exportkey{hyphr}{typography.hyphenrules}{}%
- \bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}%
- \bbl@exportkey{rgthm}{typography.righthyphenmin}{3}%
- \bbl@exportkey{prehc}{typography.prehyphenchar}{}%
- \bbl@exportkey{hyotl}{typography.hyphenate.other.locale}{}%
- \bbl@exportkey{hyots}{typography.hyphenate.other.script}{}%
- \bbl@exportkey{intsp}{typography.intraspace}{}%
- \bbl@exportkey{chrng}{characters.ranges}{}}
+%
+% \begin{macrocode}
\def\bbl@load@basic#1{%
\bbl@ifunset{bbl@inidata@\languagename}{}%
{\getlocaleproperty\bbl@tempa{\languagename}{identification/load.level}%
- \ifcase\bbl@tempa\else
+ \ifcase\bbl@tempa
\bbl@csarg\let{lname@\languagename}\relax
\fi}%
\bbl@ifunset{bbl@lname@#1}%
@@ -11071,10 +11056,7 @@ help from Bernd Raichle, for which I am grateful.
\begingroup
\let\bbl@ini@captions@aux\@gobbletwo
\def\bbl@inidate ####1.####2.####3.####4\relax ####5####6{}%
- \bbl@read@ini{##1}0%
- \bbl@linebreak@export
- \bbl@exportkey{dgnat}{numbers.digits.native}{}%
- \bbl@exportkey{frspc}{typography.frenchspacing}{u}% unset
+ \bbl@read@ini{##1}1%
\ifx\bbl@initoload\relax\endinput\fi
\endgroup}%
\begingroup % boxed, to avoid extra spaces:
@@ -11126,14 +11108,10 @@ help from Bernd Raichle, for which I am grateful.
{\bbl@exp{\\\adddialect\<l@#1>\bbl@tempa}}}% found in opt list or ini
% \end{macrocode}
%
-% The reader of |ini| files. There are 3 possible cases: a section name
-% (in the form |[...]|), a comment (starting with |;|) and a
-% key/value pair.
+% The reader of |babel-...tex| files. We reset temporarily some
+% catcodes.
%
% \begin{macrocode}
-\ifx\bbl@readstream\@undefined
- \csname newread\endcsname\bbl@readstream
-\fi
\def\bbl@input@texini#1{%
\bbl@bsphack
\bbl@exp{%
@@ -11145,20 +11123,51 @@ help from Bernd Raichle, for which I am grateful.
\catcode`\\\{=\the\catcode`\{\relax
\catcode`\\\}=\the\catcode`\}\relax}%
\bbl@esphack}
-\def\bbl@inipreread#1=#2\@@{%
- \bbl@trim@def\bbl@tempa{#1}% Redundant below !!
+% \end{macrocode}
+%
+% The following macros read and store |ini| files (but don't process
+% them). For each line, there are 3 possible actions: ignore if starts
+% with |;|, switch section if starts with |[|, and store otherwise.
+% There are used in the first step of |\bbl@read@ini|.
+%
+% \begin{macrocode}
+\def\bbl@iniline#1\bbl@iniline{%
+ \@ifnextchar[\bbl@inisect{\@ifnextchar;\bbl@iniskip\bbl@inistore}#1\@@}% ]
+\def\bbl@inisect[#1]#2\@@{\def\bbl@section{#1}}%
+\def\bbl@iniskip#1\@@{}% if starts with ;
+\def\bbl@inistore#1=#2\@@{% full (default)
+ \bbl@trim@def\bbl@tempa{#1}%
\bbl@trim\toks@{#2}%
- % Move trims here ??
\bbl@ifunset{bbl@KVP@\bbl@section/\bbl@tempa}%
{\bbl@exp{%
- \\\g@addto@macro\\\bbl@inidata{%
- \\\bbl@elt{\bbl@section}{\bbl@tempa}{\the\toks@}}}%
- \expandafter\bbl@inireader\bbl@tempa=#2\@@}%
+ \\\g@addto@macro\\\bbl@inidata{%
+ \\\bbl@elt{\bbl@section}{\bbl@tempa}{\the\toks@}}}}%
{}}%
-\def\bbl@fetch@ini#1#2{%
- \bbl@exp{\def\\\bbl@inidata{%
- \\\bbl@elt{identification}{tag.ini}{#1}%
- \\\bbl@elt{identification}{load.level}{#2}}}%
+\def\bbl@inistore@min#1=#2\@@{% minimal (maybe set in \bbl@read@ini)
+ \bbl@trim@def\bbl@tempa{#1}%
+ \bbl@trim\toks@{#2}%
+ \bbl@xin@{.identification.}{.\bbl@section.}%
+ \ifin@
+ \bbl@exp{\\\g@addto@macro\\\bbl@inidata{%
+ \\\bbl@elt{identification}{\bbl@tempa}{\the\toks@}}}%
+ \fi}%
+% \end{macrocode}
+%
+% Now, the ‘main loop’, which \textbf{**must be executed inside a
+% group**}. At this point, |\bbl@inidata| may contain data declared in
+% |\babelprovide|, with ‘slashed’ keys. There are 3 steps: first read
+% the ini file and store it; then traverse the stored values, and
+% process some groups if required (date, captions, labels, counters);
+% finally, ‘export’ some values by defining global macros
+% (identification, typography, characters, numbers). The second
+% argument is 0 when called to read the minimal data for fonts; with
+% |\babelprovide| it's either 1 or 2.
+%
+% \begin{macrocode}
+\ifx\bbl@readstream\@undefined
+ \csname newread\endcsname\bbl@readstream
+\fi
+\def\bbl@read@ini#1#2{%
\openin\bbl@readstream=babel-#1.ini
\ifeof\bbl@readstream
\bbl@error
@@ -11167,12 +11176,20 @@ help from Bernd Raichle, for which I am grateful.
is not complete.}%
{Fix the name or reinstall babel.}%
\else
+ % Store ini data in \bbl@inidata
\catcode`\[=12 \catcode`\]=12 \catcode`\==12 \catcode`\&=12
\catcode`\;=12 \catcode`\|=12 \catcode`\%=14 \catcode`\-=12
\bbl@info{Importing
- \ifcase#2 \or font and identification \or basic \fi
- data for \languagename\\%
+ \ifcase#2font and identification \or basic \fi
+ data for \languagename\\%
from babel-#1.ini. Reported}%
+ \ifnum#2=\z@
+ \global\let\bbl@inidata\@empty
+ \let\bbl@inistore\bbl@inistore@min % Remember it's local
+ \fi
+ \def\bbl@section{identification}%
+ \bbl@exp{\\\bbl@inistore tag.ini=#1\\\@@}%
+ \bbl@inistore load.level=#2\@@
\loop
\if T\ifeof\bbl@readstream F\fi T\relax % Trick, because inside \loop
\endlinechar\m@ne
@@ -11182,95 +11199,70 @@ help from Bernd Raichle, for which I am grateful.
\expandafter\bbl@iniline\bbl@line\bbl@iniline
\fi
\repeat
+ % Process stored data
+ \bbl@csarg\xdef{lini@\languagename}{#1}%
+ \let\bbl@savestrings\@empty
+ \let\bbl@savetoday\@empty
+ \let\bbl@savedate\@empty
+ \def\bbl@elt##1##2##3{%
+ \def\bbl@section{##1}%
+ \in@{=date.}{=##1}% Find a better place
+ \ifin@
+ \bbl@ini@calendar{##1}%
+ \fi
+ \global\bbl@csarg\let{bbl@KVP@##1/##2}\relax
+ \bbl@ifunset{bbl@inikv@##1}{}%
+ {\csname bbl@inikv@##1\endcsname{##2}{##3}}}%
+ \bbl@inidata
+ % 'Export' data
+ \bbl@ini@exports{#2}%
+ \global\bbl@csarg\let{inidata@\languagename}\bbl@inidata
+ \global\let\bbl@inidata\@empty
+ \bbl@exp{\\\bbl@add@list\\\bbl@ini@loaded{\languagename}}%
+ \bbl@toglobal\bbl@ini@loaded
\fi}
-\def\bbl@read@ini#1#2{%
- \bbl@csarg\xdef{lini@\languagename}{#1}%
- \let\bbl@section\@empty
- \let\bbl@savestrings\@empty
- \let\bbl@savetoday\@empty
- \let\bbl@savedate\@empty
- \let\bbl@inireader\bbl@iniskip
- \bbl@fetch@ini{#1}{#2}%
- \bbl@foreach\bbl@renewlist{%
- \bbl@ifunset{bbl@renew@##1}{}{\bbl@inisec[##1]\@@}}%
- \global\let\bbl@renewlist\@empty
- % Ends last section. See \bbl@inisec
- \def\bbl@elt##1##2{\bbl@inireader##1=##2\@@}%
- \bbl@cs{renew@\bbl@section}%
- \global\bbl@csarg\let{renew@\bbl@section}\relax
- \bbl@cs{secpost@\bbl@section}%
- \bbl@csarg{\global\expandafter\let}{inidata@\languagename}\bbl@inidata
- \bbl@exp{\\\bbl@add@list\\\bbl@ini@loaded{\languagename}}%
- \bbl@toglobal\bbl@ini@loaded}
-\def\bbl@iniline#1\bbl@iniline{%
- \@ifnextchar[\bbl@inisec{\@ifnextchar;\bbl@iniskip\bbl@inipreread}#1\@@}% ]
% \end{macrocode}
%
-% The special cases for comment lines and sections are handled by the
-% two following commands. In sections, we provide the posibility to
-% take extra actions at the end or at the start. By default, key=val
-% pairs are ignored. The |secpost| ``hook'' is used only by
-% `identification', while |secpre| only by |date.gregorian.licr|.
+% A somewhat hackish tool to handle calendar sections. To be improved.
%
% \begin{macrocode}
-\def\bbl@iniskip#1\@@{}% if starts with ;
-\def\bbl@inisec[#1]#2\@@{% if starts with opening bracket
- \def\bbl@elt##1##2{%
- \expandafter\toks@\expandafter{%
- \expandafter{\bbl@section}{##1}{##2}}%
- \bbl@exp{%
- \\\g@addto@macro\\\bbl@inidata{\\\bbl@elt\the\toks@}}%
- \bbl@inireader##1=##2\@@}%
- \bbl@cs{renew@\bbl@section}%
- \global\bbl@csarg\let{renew@\bbl@section}\relax
- \bbl@cs{secpost@\bbl@section}%
- % The previous code belongs to the previous section.
- % --------------------------
- % Now start the current one.
- \in@{=date.}{=#1}%
- \ifin@
- \lowercase{\def\bbl@tempa{=#1=}}%
- \bbl@replace\bbl@tempa{=date.gregorian}{}%
- \bbl@replace\bbl@tempa{=date.}{}%
- \in@{.licr=}{#1=}%
- \ifin@
- \ifcase\bbl@engine
- \bbl@replace\bbl@tempa{.licr=}{}%
- \else
- \let\bbl@tempa\relax
- \fi
- \fi
- \ifx\bbl@tempa\relax\else
- \bbl@replace\bbl@tempa{=}{}%
- \bbl@exp{%
- \def\<bbl@inikv@#1>####1=####2\\\@@{%
- \\\bbl@inidate####1...\relax{####2}{\bbl@tempa}}}%
- \fi
- \fi
- \def\bbl@section{#1}%
- \def\bbl@elt##1##2{%
- \@namedef{bbl@KVP@#1/##1}{}}%
- \bbl@cs{renew@#1}%
- \bbl@cs{secpre@#1}% pre-section `hook'
- \bbl@ifunset{bbl@inikv@#1}%
- {\let\bbl@inireader\bbl@iniskip}%
- {\bbl@exp{\let\\\bbl@inireader\<bbl@inikv@#1>}}}
-\let\bbl@renewlist\@empty
-\def\bbl@renewinikey#1/#2\@@#3{%
- \bbl@ifunset{bbl@renew@#1}%
- {\bbl@add@list\bbl@renewlist{#1}}%
- {}%
- \bbl@csarg\bbl@add{renew@#1}{\bbl@elt{#2}{#3}}}
-% \end{macrocode}
-%
-% Reads a key=val line and stores the trimmed val in
-% |\bbl@@kv@<section>.<key>|.
+\def\bbl@ini@calendar#1{%
+ \lowercase{\def\bbl@tempa{=#1=}}%
+ \bbl@replace\bbl@tempa{=date.gregorian}{}%
+ \bbl@replace\bbl@tempa{=date.}{}%
+ \in@{.licr=}{#1=}%
+ \ifin@
+ \ifcase\bbl@engine
+ \bbl@replace\bbl@tempa{.licr=}{}%
+ \else
+ \let\bbl@tempa\relax
+ \fi
+ \fi
+ \ifx\bbl@tempa\relax\else
+ \bbl@replace\bbl@tempa{=}{}%
+ \bbl@exp{%
+ \def\<bbl@inikv@#1>####1####2{%
+ \\\bbl@inidate####1...\relax{####2}{\bbl@tempa}}}%
+ \fi}
+% \end{macrocode}
+%
+% A key with a slash in |\babelprovide| replaces the value in the |ini|
+% file (which is ignored altogether). The mechanism is simple (but
+% suboptimal): add the data to the |ini| one (at this point the |ini|
+% file has not yet been read), and define a dummy macro. When the |ini|
+% file is read, just skip the corresponding key and reset the macro (in
+% |\bbl@inistore| above).
+%
%
% \begin{macrocode}
-\def\bbl@inikv#1=#2\@@{% key=value
- \bbl@trim@def\bbl@tempa{#1}%
- \bbl@trim\toks@{#2}%
- \bbl@csarg\edef{@kv@\bbl@section.\bbl@tempa}{\the\toks@}}
+\def\bbl@renewinikey#1/#2\@@#3{%
+ \edef\bbl@tempa{\zap@space #1 \@empty}% section
+ \edef\bbl@tempb{\zap@space #2 \@empty}% key
+ \bbl@trim\toks@{#3}% value
+ \bbl@exp{%
+ \global\let\<bbl@KVP@\bbl@tempa/\bbl@tempb>\\\@empty % just a flag
+ \\\g@addto@macro\\\bbl@inidata{%
+ \\\bbl@elt{\bbl@tempa}{\bbl@tempb}{\the\toks@}}}}%
% \end{macrocode}
%
% The previous assignments are local, so we need to export them. If
@@ -11289,7 +11281,7 @@ help from Bernd Raichle, for which I am grateful.
%
% Key-value pairs are treated differently depending on the section in
% the |ini| file. The following macros are the readers for
-% |identification| and |typography|. Note |\bbl@secpost@identification|
+% |identification| and |typography|. Note |\bbl@ini@exports|
% is called always (via |\bbl@inisec|), while |\bbl@after@ini| must be
% called explicitly after |\bbl@read@ini| if necessary.
%
@@ -11301,8 +11293,8 @@ help from Bernd Raichle, for which I am grateful.
\bbl@cs{@kv@identification.warning#1}\\%
Reported }}}
%
-\let\bbl@inikv@identification\bbl@inikv
-\def\bbl@secpost@identification{%
+\def\bbl@ini@exports#1{%
+ % Identification always exported
\bbl@iniwarning{}%
\ifcase\bbl@engine
\bbl@iniwarning{.pdflatex}%
@@ -11322,15 +11314,46 @@ help from Bernd Raichle, for which I am grateful.
{\csname bbl@esname@\languagename\endcsname}}%
\bbl@exportkey{sbcp}{identification.script.tag.bcp47}{}%
\bbl@exportkey{sotf}{identification.script.tag.opentype}{DFLT}%
+ % Also maps bcp47 -> languagename
\ifbbl@bcptoname
\bbl@csarg\xdef{bcp@map@\bbl@cl{tbcp}}{\languagename}%
+ \fi
+ % Conditional
+ \ifnum#1>\z@ % 0 = only info, 1, 2 = basic, (re)new
+ \bbl@exportkey{lnbrk}{typography.linebreaking}{h}%
+ \bbl@exportkey{hyphr}{typography.hyphenrules}{}%
+ \bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}%
+ \bbl@exportkey{rgthm}{typography.righthyphenmin}{3}%
+ \bbl@exportkey{prehc}{typography.prehyphenchar}{}%
+ \bbl@exportkey{hyotl}{typography.hyphenate.other.locale}{}%
+ \bbl@exportkey{hyots}{typography.hyphenate.other.script}{}%
+ \bbl@exportkey{intsp}{typography.intraspace}{}%
+ \bbl@exportkey{chrng}{characters.ranges}{}%
+ \bbl@exportkey{dgnat}{numbers.digits.native}{}%
+ \bbl@exportkey{frspc}{typography.frenchspacing}{u}%
+ \ifnum#1=\tw@ % only (re)new
+ \bbl@exportkey{rqtex}{identification.require.babel}{}%
+ \bbl@toglobal\bbl@savetoday
+ \bbl@toglobal\bbl@savedate
+ \bbl@savestrings
+ \fi
\fi}
% \end{macrocode}
%
+% A shared handler for key=val lines to be stored in
+% |\bbl@@kv@<section>.<key>|.
+%
+% \begin{macrocode}
+\def\bbl@inikv#1#2{% key=value
+ \toks@{#2}% This hides #'s from ini values
+ \bbl@csarg\edef{@kv@\bbl@section.#1}{\the\toks@}}
+% \end{macrocode}
+%
% By default, the following sections are just read. Actions are taken
% later.
%
% \begin{macrocode}
+\let\bbl@inikv@identification\bbl@inikv
\let\bbl@inikv@typography\bbl@inikv
\let\bbl@inikv@characters\bbl@inikv
\let\bbl@inikv@numbers\bbl@inikv
@@ -11342,7 +11365,7 @@ help from Bernd Raichle, for which I am grateful.
% the ‘units’.
%
% \begin{macrocode}
-\def\bbl@inikv@counters#1=#2\@@{%
+\def\bbl@inikv@counters#1#2{%
\bbl@ifsamestring{#1}{digits}%
{\bbl@error{The counter name 'digits' is reserved for mapping\\%
decimal digits}%
@@ -11365,13 +11388,6 @@ help from Bernd Raichle, for which I am grateful.
\expandafter\bbl@buildifcase\bbl@tempb* \\ % Space after \\
\bbl@csarg{\global\expandafter\let}{cntr@#1@\languagename}\bbl@tempa
\fi}
-\def\bbl@after@ini{%
- \bbl@linebreak@export
- \bbl@exportkey{dgnat}{numbers.digits.native}{}%
- \bbl@exportkey{rqtex}{identification.require.babel}{}%
- \bbl@exportkey{frspc}{typography.frenchspacing}{u}% unset
- \bbl@toglobal\bbl@savetoday
- \bbl@toglobal\bbl@savedate}
% \end{macrocode}
%
% Now |captions| and |captions.licr|, depending on the engine. And
@@ -11381,10 +11397,10 @@ help from Bernd Raichle, for which I am grateful.
%
% \begin{macrocode}
\ifcase\bbl@engine
- \bbl@csarg\def{inikv@captions.licr}#1=#2\@@{%
+ \bbl@csarg\def{inikv@captions.licr}#1#2{%
\bbl@ini@captions@aux{#1}{#2}}
\else
- \def\bbl@inikv@captions#1=#2\@@{%
+ \def\bbl@inikv@captions#1#2{%
\bbl@ini@captions@aux{#1}{#2}}
\fi
% \end{macrocode}
@@ -11445,7 +11461,7 @@ help from Bernd Raichle, for which I am grateful.
\bbl@ifunset{bbl@map@#1@\languagename}%
{\@nameuse{#1}}%
{\@nameuse{bbl@map@#1@\languagename}}}
-\def\bbl@inikv@labels#1=#2\@@{%
+\def\bbl@inikv@labels#1#2{%
\in@{.map}{#1}%
\ifin@
\ifx\bbl@KVP@labels\@nil\else
@@ -11665,7 +11681,7 @@ help from Bernd Raichle, for which I am grateful.
% \begin{macrocode}
\def\bbl@provide@lsys#1{%
\bbl@ifunset{bbl@lname@#1}%
- {\bbl@ini@basic{#1}}%
+ {\bbl@load@info{#1}}%
{}%
\bbl@csarg\let{lsys@#1}\@empty
\bbl@ifunset{bbl@sname@#1}{\bbl@csarg\gdef{sname@#1}{Default}}{}%
@@ -11717,14 +11733,13 @@ help from Bernd Raichle, for which I am grateful.
% must be enabled. This means we must make sure a few characters are
% not active. The |ini| is not read directly, but with a proxy |tex|
% file named as the language (which means any code in it must be
-% skipped, too.
+% skipped, too).
%
% \begin{macrocode}
-\def\bbl@ini@basic#1{%
+\def\bbl@load@info#1{%
\def\BabelBeforeIni##1##2{%
\begingroup
- \bbl@add\bbl@secpost@identification{\closein\bbl@readstream }%
- \bbl@read@ini{##1}1%
+ \bbl@read@ini{##1}0%
\endinput % babel- .tex may contain onlypreamble's
\endgroup}% boxed, to avoid extra spaces:
{\bbl@input@texini{#1}}}
@@ -11850,7 +11865,7 @@ help from Bernd Raichle, for which I am grateful.
\newcommand\BabelEnsureInfo{%
\ifx\InputIfFileExists\@undefined\else
\def\bbl@ensureinfo##1{%
- \bbl@ifunset{bbl@lname@##1}{\bbl@ini@basic{##1}}{}}%
+ \bbl@ifunset{bbl@lname@##1}{\bbl@load@info{##1}}{}}%
\fi
\bbl@foreach\bbl@loaded{{%
\def\languagename{##1}%
@@ -13373,7 +13388,7 @@ help from Bernd Raichle, for which I am grateful.
\let\bbl@cjkintraspace\relax
\directlua{
Babel = Babel or {}
- require'babel-data-cjk.lua'
+ require('babel-data-cjk.lua')
Babel.cjk_enabled = true
function Babel.cjk_linebreak(head)
local GLYPH = node.id'glyph'
@@ -14276,21 +14291,86 @@ end
\ifcase\bbl@thetextdir
\let\bbl@pictresetdir\relax
\else
- \bodydir TLT
+ \ifcase#1\bodydir TLT % Remember this sets the inner boxes
+ \or\textdir TLT
+ \else\bodydir TLT \textdir TLT
+ \fi
% \(text|par)dir required in pgf:
\def\bbl@pictresetdir{\bodydir TRT\pardir TRT\textdir TRT\relax}%
\fi}%
\ifx\AddToHook\@undefined\else
- \AddToHook{env/picture/begin}{\bbl@pictsetdir\z@}%
+ \AddToHook{env/picture/begin}{\bbl@pictsetdir\tw@}%
+ \directlua{
+ Babel.get_picture_dir = true
+ Babel.picture_has_bidi = 0
+ function Babel.picture_dir (head)
+ if not Babel.get_picture_dir then return head end
+ for item in node.traverse(head) do
+ if item.id == node.id'glyph' then
+ local itemchar = item.char
+ % TODO. Copypaste pattern from Babel.bidi (-r)
+ local chardata = Babel.characters[itemchar]
+ local dir = chardata and chardata.d or nil
+ if not dir then
+ for nn, et in ipairs(Babel.ranges) do
+ if itemchar < et[1] then
+ break
+ elseif itemchar <= et[2] then
+ dir = et[3]
+ break
+ end
+ end
+ end
+ if dir and (dir == 'al' or dir == 'r') then
+ Babel.picture_has_bidi = 1
+ end
+ end
+ end
+ return head
+ end
+ luatexbase.add_to_callback("hpack_filter", Babel.picture_dir,
+ "Babel.picture_dir")
+ }%
+ \AtBeginDocument{%
+ \long\def\put(#1,#2)#3{%
+ \@killglue
+ % Try:
+ \ifx\bbl@pictresetdir\relax
+ \def\bbl@tempc{0}%
+ \else
+ \directlua{
+ Babel.get_picture_dir = true
+ Babel.picture_has_bidi = 0
+ }%
+ \setbox\z@\hb@xt@\z@{%
+ \@defaultunitsset\@tempdimc{#1}\unitlength
+ \kern\@tempdimc
+ #3\hss}%
+ \edef\bbl@tempc{\directlua{tex.print(Babel.picture_has_bidi)}}%
+ \fi
+ % Do:
+ \@defaultunitsset\@tempdimc{#2}\unitlength
+ \raise\@tempdimc\hb@xt@\z@{%
+ \@defaultunitsset\@tempdimc{#1}\unitlength
+ \kern\@tempdimc
+ {\ifnum\bbl@tempc>\z@\bbl@pictresetdir\fi#3}\hss}%
+ \ignorespaces}%
+ \MakeRobust\put}%
\fi
\AtBeginDocument
{\ifx\tikz@atbegin@node\@undefined\else
\let\bbl@OL@pgfpicture\pgfpicture
\bbl@sreplace\pgfpicture{\pgfpicturetrue}%
- {\bbl@pictsetdir\@ne\pgfpicturetrue}%
- \bbl@add\pgfsys@beginpicture{\bbl@pictsetdir\@ne}%
+ {\bbl@pictsetdir\z@\pgfpicturetrue}%
+ \bbl@add\pgfsys@beginpicture{\bbl@pictsetdir\z@}%
\bbl@add\tikz@atbegin@node{\bbl@pictresetdir}%
- \fi}}
+ \bbl@sreplace\tikz{\begingroup}%
+ {\begingroup\bbl@pictsetdir\tw@}%
+ \fi
+ \ifx\AddToHook\@undefined\else
+ \AddToHook{env/tcolorbox/begin}{\bbl@pictsetdir\@ne}%
+ \fi
+ }}
{}
% \end{macrocode}
%
diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins
index cd1597a837..73a8825c19 100644
--- a/macros/latex/required/babel/base/babel.ins
+++ b/macros/latex/required/babel/base/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2021/01/26}
+\def\filedate{2021/02/22}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/macros/latex/required/babel/base/babel.pdf b/macros/latex/required/babel/base/babel.pdf
index c51f220b88..f455a61647 100644
--- a/macros/latex/required/babel/base/babel.pdf
+++ b/macros/latex/required/babel/base/babel.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx
index 84c388a78c..bd6f5b7bfd 100644
--- a/macros/latex/required/babel/base/bbcompat.dtx
+++ b/macros/latex/required/babel/base/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2021/01/26 v3.53]
+\ProvidesFile{bbcompat.dtx}[2021/02/22 v3.54]
%</dtx>
%
%% File 'bbcompat.dtx'