texlive[73674] Master/texmf-dist: nicematrix (1feb25)
commits+karl at tug.org
commits+karl at tug.org
Sat Feb 1 21:42:58 CET 2025
Revision: 73674
https://tug.org/svn/texlive?view=revision&revision=73674
Author: karl
Date: 2025-02-01 21:42:57 +0100 (Sat, 01 Feb 2025)
Log Message:
-----------
nicematrix (1feb25)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-code.pdf
trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex
trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx
trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex 2025-02-01 20:42:48 UTC (rev 73673)
+++ trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex 2025-02-01 20:42:57 UTC (rev 73674)
@@ -10,7 +10,14 @@
\usepackage{nicematrix}
\usepackage{tikz}
-\usetikzlibrary{fit,patterns,arrows.meta,decorations.pathmorphing,babel}
+\usetikzlibrary
+ {
+ fit,
+ patterns,
+ arrows.meta,
+ decorations.pathreplacing,
+ babel
+ }
\usepackage{enumitem}
\usepackage{siunitx}
@@ -594,7 +601,7 @@
Les premières clés sont des outils rapides pour contrôler l'apparence du bloc :
\begin{itemize}
-\item \index{fill (clé de \texttt{\textbackslash Block})}
+\item \index{fill!clé de \texttt{\textbackslash Block}}
la clé \Definition{fill} prend en argument une couleur et remplit le bloc
avec cette couleur ;
\item \index{opacity!clé de la commande \texttt{\textbackslash Block}}
@@ -968,7 +975,57 @@
Avec la clé \Definition{j} (qui force la clé |p|), le paragraphe est composé de
manière justifiée.
+\bigskip
+On peut mettre un environnement |{itemize}| ou |{enumerate}| dans un bloc qui
+utilise la clé |p| ou la clé |j| (dans les autres cas, on a une erreur
+|Not allowed in LR mode|). Dans l'exemple suivant, on a chargé l'extension
+\pkg{enumitem} (pour pouvoir utiliser la clé |left| de l'environnement
+|{itemize}|).
+\medskip
+\begin{Code}
+\begin{NiceTabular}[hvlines]{ccc}
+un & deux deux & trois trois \\
+un &
+\Block\emph{[p,l]}{*-2}{%
+\begin{itemize}[left=0pt]
+\item un deux trois quatre cinq
+\item deux
+\item trois
+\end{itemize}%
+} \\
+un & \\
+un & \\
+un & \\
+un & \\
+un & \\
+un & \\
+\end{NiceTabular}
+\end{Code}
+
+
+\begin{center}
+\begin{NiceTabular}[hvlines]{ccc}
+un & deux deux & trois trois \\
+un &
+\Block[p,l]{*-2}{%
+\begin{itemize}[left=0pt]
+\item un deux trois quatre cinq
+\item deux
+\item trois
+\end{itemize}%
+} \\
+un & \\
+un & \\
+un & \\
+un & \\
+un & \\
+un & \\
+\end{NiceTabular}
+\end{center}
+
+
+
\subsection{Positionnement vertical du contenu des blocs}
@@ -1426,7 +1483,7 @@
une commande par-dessus la commande |\Hline|, il doit veiller à ce qu'elle
soit \emph{développable} au sens de TeX (en utilisant
|\NewExpandableDocumentCommand| de LaTeX3, |\newcommand| de LaTeX ou même
- |\def| de TeX). Exemple : |\NewDocumentCommand{\RedLine}{}{\Hline[color=red]}|}
+ |\def| de TeX). Exemple : |\NewExpandableDocumentCommand{\RedLine}{}{\Hline[color=red]}|}
De même que la commande |\Hline|, le specificateur «\verb+|+» admet entre crochets
des options qui caractérisent le filet à tracer.
@@ -2671,6 +2728,45 @@
On a utilisé le type de colonne |S| de \pkg{siunitx} (qu'il faut avoir chargé).
+\bigskip
+\index{EmptyRow@\texttt{\textbackslash EmptyRow} (commande du \texttt{\textbackslash CodeBefore})}
+\index{EmptyColumn@\texttt{\textbackslash EmptyColumn} (commande du \texttt{\textbackslash CodeBefore})}
+
+\colorbox{yellow!50}{\textbf{Nouveau 7.1}}\par\nobreak
+
+\smallskip
+On peut aussi, dans le |\CodeBefore|, utiliser les commandes
+\DefinitionCommande{EmptyColumn} et \DefinitionCommande{EmptyRow}. La commande
+|\EmptyColumn| prend en argument une liste de numéros de colonnes et impose qu'aucun
+coloriage ni tracé de filets n'aura lieu dans les colonnes correspondantes. La
+commande |\EmptyRow| est similaire.
+
+
+\medskip
+\begin{Code}[width=10cm]
+\begin{NiceTabular}{ccccc}[hvlines]
+\CodeBefore
+ \rowcolor{blue!15}{1}
+ \emph{\EmptyColumn{3}}
+\Body
+ un & deux && trois & quatre \\
+ un & \Block{}{deux\\ lignes} && trois & quatre \\
+\end{NiceTabular}
+\end{Code}
+\begin{NiceTabular}{ccccc}[hvlines]
+\CodeBefore
+ \rowcolor{blue!15}{1}
+ \EmptyColumn{3}
+\Body
+ un & deux && trois & quatre \\
+ un & \Block{}{deux\\ lignes} && trois & quatre \\
+\end{NiceTabular}
+
+
+
+
+
+
\subsection{Outils de coloriage en tableau}
\index{cellcolor@\texttt{\textbackslash cellcolor}!commande en tableau}
@@ -2742,6 +2838,8 @@
\end{NiceTabular}
\end{center}
+
+
\bigskip
Chaque utilisation de |\rowlistcolors| (et de |\rowcolors| qui en est un cas
particulier) met un terme aux éventuels schémas\footnote{On a écrit
@@ -2870,6 +2968,8 @@
La commande |\rotate| est présentée p.~\pageref{rotate}.
+
+
\section{La largeur des colonnes}
\label{width}
\index{Largeur@\textbf{Largeur des colonnes}|(}
@@ -3167,6 +3267,9 @@
\index{Largeur@\textbf{Largeur des colonnes}|)}
+
+
+
\medskip
\section{Les rangées et colonnes extérieures}
@@ -3899,6 +4002,96 @@
\end{pNiceMatrix}\]
+
+
+\subsection{Les commandes \textbackslash Hbrace et \textbackslash Vbrace}
+
+\colorbox{yellow!50}{\textbf{Nouveau 7.1}}
+
+\label{Hbrace}
+\indexcommand{Hbrace}
+\indexcommand{Vbrace}
+
+\smallskip
+Puisque, comme dit dans la partie précédente, il est possible d'utiliser, avec
+les commandes |\Cdots|, |\Ldots|, |\Vdots|, etc. n'importe quel style de ligne
+fourni par TikZ, on peut envisager de tracer des accolades avec la décoration
+|brace| fournie par la bibliothèque \pkg{decorations.pathreplacing} de TikZ.
+
+
+\smallskip
+Pour faciliter cet usage, \pkg{nicematrix} propose les deux commandes
+\DefinitionCommande{Hbrace} et \DefinitionCommande{Vbrace}.
+Celles-ci ne sont disponibles que si TikZ, ainsi que sa bibliothèque
+\pkg{decorations.pathreplacing}, ont été chargées (avant ou après le chargement
+de \pkg{nicematrix}). Si elles ne sont pas chargées, une erreur (non fatale) sera
+levée.
+\begin{Verbatim}
+\usepackage{tikz}
+\usetikzlibrary{decorations.pathreplacing}
+\end{Verbatim}
+
+\medskip
+Les commandes |\Hbrace| et |\Vbrace| ont la même syntaxe. Elles prennent trois
+arguments:
+
+\begin{itemize}
+\item un premier argument optionnel (entre crochets) pour une liste de couples
+\textsl{clé=valeur} : les clés autorisées sont |color|, |horizontal-labels|,
+|shorten|, |shorten-start| et |shorten-end|.
+
+\item un deuxième argument, obligatoire, qui est le nombre de colonnes (pour
+|\Hbrace|) ou de rangées (pour |\Vbrace|) sur lesquelles l'accolade va s'étendre.
+
+\item un troisième argument, obligatoire, qui est le label de l'accolade.
+\end{itemize}
+
+Concernant la commande |\Hbrace|, son comportement vis à vis des esperluettes
+(|&|) est le même que celui des commandes |\multicolumn|, |\hdotsfor|,
+|\Hdotsfor|, etc. : on ne doit mettre qu'une seule esperluette après la
+commande, même si l'accolade s'étend sur plusieurs colonnes.
+
+\bigskip
+\begin{Code}[width=11.2cm]
+$\begin{NiceArray}{ccccc}%
+ [ hvlines ,
+ first-row ,
+ last-row = 6,
+ first-col ,
+ last-col ,
+ xdots/horizontal-labels ]
+& \emph{\Hbrace{3}{p}} & \emph{\Hbrace{2}{q}} \\
+\emph{\Vbrace{3}{p}} & 1 & 1 & 134 & 1 & 1 & \emph{\Vbrace{3}{p}} \\
+& 1 & 1 & 134 & 1 & 1 \\
+& 1 & 1 & 13456 & 1 & 1 \\
+\emph{\Vbrace{2}{q}} & 1 & 1 & 134 & 1 & 1 & \emph{\Vbrace{2}{q}}\\
+& 1 & 1 & 134 & 1 & 1 \\
+& \emph{\Hbrace{3}{p}} & \emph{\Hbrace[color=blue]{2}{q}} \\
+\end{NiceArray}$
+\end{Code}
+$\begin{NiceArray}{ccccc}%
+ [
+ hvlines ,
+ first-row ,
+ last-row = 6,
+ first-col ,
+ last-col ,
+ xdots/horizontal-labels
+ ]
+& \Hbrace{3}{p} & \Hbrace{2}{q} \\
+\Vbrace{3}{p} & 1 & 1 & 134 & 1 & 1 & \Vbrace{3}{p} \\
+& 1 & 1 & 134 & 1 & 1 \\
+& 1 & 1 & 13456 & 1 & 1 \\
+\Vbrace{2}{q}& 1 & 1 & 134 & 1 & 1 & \Vbrace{2}{q}\\
+& 1 & 1 & 134 & 1 & 1 \\
+& \Hbrace{3}{p} & \Hbrace[color=blue]{2}{q} \\
+\end{NiceArray}$
+
+\medskip
+Pour un autre exemple d'utilisation de |\Hbrace| et |\Vbrace|, voir la partie
+«Des lignes pointillées qui ne sont plus pointillées»,
+p.~\pageref{ex:no-longer-dotted-rules}.
+
\subsection{Les lignes pointillées et les filets}
\label{dotted-and-rules}
@@ -3928,6 +4121,10 @@
\index{Pointillés@\textbf{Pointillés (lignes en ---)}|)}
+
+
+
+
\section{Délimiteurs dans le préambule de l'environnement}
\index{blkarray@\pkg{blkarray} (extension)}
@@ -3962,7 +4159,7 @@
\end{NiceArray}$
\end{Code}
-\[\begin{NiceArray}{\left\lgroup ccc\right\rgroup l}[no-cell-nodes]
+\[\begin{NiceArray}{\left\lgroup ccc\right\rgroup l}
1 & 2 & 3 & \\
4 & 1 & 6 & \\
7 & 8 & 9 & \scriptstyle L_3 \gets L_3 + L_1 + L_2
@@ -4019,7 +4216,7 @@
\end{pNiceArray}$
\end{Code}
-\[\begin{pNiceArray}{(c)(c)(c)}[no-cell-nodes]
+\[\begin{pNiceArray}{(c)(c)(c)}
a_{11} & a_{12} & a_{13} \\
a_{21} & \displaystyle \int_0^1\dfrac{1}{x^2+1}\,dx & a_{23} \\
a_{31} & a_{32} & a_{33}
@@ -4033,6 +4230,8 @@
p.~\pageref{sub-matrix}.
+
+
\section{Le \textbackslash CodeAfter}
\index{CodeAfter@\texttt{\textbackslash CodeAfter}|(}
@@ -4137,6 +4336,8 @@
\end{bNiceMatrix}\]
+
+
\subsection{La commande \textbackslash SubMatrix dans le \textbackslash
CodeAfter (et le \textbackslash CodeBefore)}
@@ -4437,6 +4638,8 @@
Comme on le voit, le tracé effectué par la commande |\MyDraw| est \emph{relatif}
à la sous-matrice à laquelle elle s'applique.
+
+
\subsection{Les commandes \textbackslash OverBrace et \textbackslash
UnderBrace dans le \textbackslash CodeAfter}
@@ -4533,6 +4736,8 @@
\end{pNiceMatrix}$
+
+
\subsection{La commande \textbackslash TikzEveryCell dans le \textbackslash CodeAfter}
\index{tikzeverycell@\texttt{\textbackslash TikzEveryCell} (commande du
@@ -4540,7 +4745,7 @@
\texttt{\textbackslash CodeBefore})|textbf}
\label{TikzEveryCell}
\index{empty (clé de \texttt{\textbackslash TikzEveryCell})}
-\index{non empty (clé de \texttt{\textbackslash TikzEveryCell})}
+\index{non-empty (clé de \texttt{\textbackslash TikzEveryCell})}
La commande \DefinitionCommande{TikzEveryCell} exécute avec TikZ le chemin
rectangulaire qui correspond à chaque case du tableau, avec comme paramètres
@@ -4566,7 +4771,6 @@
\begingroup
\bigskip
\begin{Code}[width=9cm]
-
\renewcommand{\arraystretch}{1.3}
\begin{NiceTabular}{ccc}[corners]
& \Block{1-2}{columns} \\
@@ -4633,12 +4837,11 @@
\medskip
La commande |\TikzEveryCell| est en fait aussi disponible dans le |\CodeBefore|.
+\index{CodeAfter@\texttt{\textbackslash CodeAfter}|)}
-\index{CodeAfter@\texttt{\textbackslash CodeAfter}|)}
-
\section{Les légendes et les notes dans les tableaux}
\label{s:notes}
@@ -6819,7 +7022,7 @@
serait bon aussi de changer certains paramètres du type de liste (au sens de
\pkg{enumitem}) utilisé pour composer les notes après le tableau. On demande de
composer les labels avec une largeur égale à celle du plus grand des labels. Or,
-le label le plus large est bien entendu celui avec le maximum d'astéristiques.
+le label le plus large est bien entendu celui avec le maximum d'astérisques.
On connaît ce nombre : il est égal à |\value{tabularnote}| (car |tabularnote|
est le compteur LaTeX utilisé par |\tabularnote| et il est donc égal à la fin au
nombre total de notes dans le tableau). On utilise alors la clé |widest*| de
@@ -6966,6 +7169,7 @@
\subsection{Des lignes pointillées qui ne sont plus pointillées}
+\label{ex:no-longer-dotted-rules}
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
@@ -7019,29 +7223,29 @@
\end{pNiceMatrix}\]
\end{scope}
+\pagebreak
-
\interitem
On peut même tracer des lignes continues.\footnote{Dans ce document, la
bibliothèque \pkg{arrows.meta} de TikZ a été chargée, ce qui a une incidence
sur la forme des pointes de flèches.}
-\begin{Verbatim}
+\medskip
+\begin{Code}
\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+\end{Code}
+\begin{Code}[width=11cm]
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
-\Hdotsfor{3}^{3} & \Hdotsfor{2}^{2} \\
-2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}^{3}\\
+\emph{\Hdotsfor{3}^{3}} & \emph{\Hdotsfor{2}^{2}} \\
+2 & 1 & 1 & 1 & 1 & \emph{\Vdotsfor{3}^{3}}\\
1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 \\
\Hline
-1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}^{2}\\
+1 & 1 & 1 & 1 & 1 & \emph{\Vdotsfor{2}^{2}}\\
1 & 1 & 1 & 1 & 1 \\
\end{pNiceArray}$
-\end{Verbatim}
-
-
-\begin{center}
-\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+\end{Code}
+{\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
\Hdotsfor{3}^{3} & \Hdotsfor{2}^{2} \\
2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}^{3}\\
@@ -7050,17 +7254,31 @@
\Hline
1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}^{2}\\
1 & 1 & 1 & 1 & 1 \\
-\end{pNiceArray}$
-\end{center}
+\end{pNiceArray}$}
+
\interitem
\label{ex:colon}
Si on veut mettre les labels sur les flèches, il convient d'utiliser le
-caractère spécial~«|:|» :
+caractère spécial~«|:|» au lieu de~«|^|»:
-\begin{Verbatim}
+\medskip
+\begin{Code}
\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+\end{Code}
+\begin{Code}[width=11cm]
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
+\emph{\Hdotsfor{3}:{3}} & \emph{\Hdotsfor{2}:{2}} \\
+2 & 1 & 1 & 1 & 1 & \emph{\Vdotsfor{3}:{3}} \\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \emph{\Vdotsfor{2}:{2}} \\
+1 & 1 & 1 & 1 & 1 \\
+\end{pNiceArray}$
+\end{Code}
+{\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
\Hdotsfor{3}:{3} & \Hdotsfor{2}:{2} \\
2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}:{3}\\
1 & 1 & 1 & 1 & 1 \\
@@ -7068,25 +7286,86 @@
\Hline
1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}:{2}\\
1 & 1 & 1 & 1 & 1 \\
-\end{pNiceArray}$
-\end{Verbatim}
+\end{pNiceArray}$}
-\begin{center}
-\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+\interitem
+\label{ex:hbrace}
+Si on préfère des accolades comme celles proposées par la bibliothèque
+\pkg{decorations.pathreplacing} de TikZ, le mieux est d'utiliser les commandes
+|\Hbrace| et |\Vbrace| proposées par \pkg{nicematrix} (cf.
+p.~\pageref{Hbrace}).\footnote{Ces commandes ne sont disponibles que si TikZ a
+ été chargée ainsi que la bibliothèque \pkg{decorations.pathreplacing} de TikZ.}
+
+
+\medskip
+\begin{Code}
+\NiceMatrixOptions{xdots/horizontal-labels}
+\end{Code}
+\begin{Code}[width=11cm]
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
-\Hdotsfor{3}:{3} & \Hdotsfor{2}:{2} \\
-2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}:{3}\\
+\emph{\Hbrace{3}{3}} & \emph{\Hbrace{2}{2}} \\
+2 & 1 & 1 & 1 & 1 & \emph{\Vbrace{3}{3}} \\
1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 \\
\Hline
-1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}:{2}\\
+1 & 1 & 1 & 1 & 1 & \emph{\Vbrace{2}{2}} \\
1 & 1 & 1 & 1 & 1 \\
\end{pNiceArray}$
-\end{center}
+\end{Code}
+{\NiceMatrixOptions{xdots/horizontal-labels}
+$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
+\Hbrace{3}{3} & \Hbrace{2}{2} \\
+2 & 1 & 1 & 1 & 1 & \Vbrace{3}{3}\\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \Vbrace{2}{2}\\
+1 & 1 & 1 & 1 & 1 \\
+\end{pNiceArray}$}
+\pagebreak
+Si on préfère les accolades de la fonte mathématique courante, il convient
+d'utiliser les commandes |\SubMatrix|, |\OverBrace| et |\UnderBrace| dans le
+|\CodeAfter|.
+\medskip
+\begin{Code}[width=11cm]
+$\begin{pNiceArray}{ccc|cc}[margin,last-col]
+2 & 1 & 1 & 1 & 1 & \Block{3-1}{\quad 3} \\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \Block{2-1}{\quad 2} \\
+1 & 1 & 1 & 1 & 1 \\
+\CodeAfter
+ \emph{\OverBrace[shorten,yshift=1.5mm]{1-1}{1-3}{3}}
+ \emph{\OverBrace[shorten,yshift=1.5mm]{1-4}{1-5}{2}}
+ \emph{\SubMatrix{.}{1-1}{3-5}{\rbrace}[xshift=3.5mm]}
+ \emph{\SubMatrix{.}{4-1}{5-5}{\rbrace}[xshift=3.5mm]}
+\end{pNiceArray}$
+\end{Code}
+$\begin{pNiceArray}{ccc|cc}[margin,last-col]
+2 & 1 & 1 & 1 & 1 & \Block{3-1}{\quad 3} \\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \Block{2-1}{\quad 2} \\
+1 & 1 & 1 & 1 & 1 \\
+\CodeAfter
+ \OverBrace[shorten,yshift=1.5mm]{1-1}{1-3}{3}
+ \OverBrace[shorten,yshift=1.5mm]{1-4}{1-5}{2}
+ \SubMatrix{.}{1-1}{3-5}{\}}[xshift=3.5mm]
+ \SubMatrix{.}{4-1}{5-5}{\}}[xshift=3.5mm]
+\end{pNiceArray}$
+
+
+\medskip
+Le résultat peut sembler décevant. C'est pourquoi, pour ce type d'usage, on
+recommande plutôt l'utilisation des commandes |\Hbrace| et |\Vbrace| (fournies par
+\pkg{nicematrix}), comme dans l'exemple précédent.
+
\subsection{Lignes en tiretés}
\label{tiretes}
@@ -7097,6 +7376,7 @@
en tiretés. Cet exemple nécessite que TikZ soit chargé (par
|\usepackage{tikz}|).
+\medskip
\begin{Code}
\begin{pNiceMatrix}
\emph{\Block[borders={bottom,right,tikz=dashed}]{2-2}{}}
@@ -7490,7 +7770,7 @@
\vspace{1cm}
Il est possible de colorier une rangée avec |\rowcolor| dans le |\CodeBefore|
-(ou avec |\rowcolor| dans une case de la rangée.
+(ou avec |\rowcolor| dans une case de la rangée).
\index{rowcolor@\texttt{\textbackslash rowcolor}!commande en tableau|textit}
Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex 2025-02-01 20:42:48 UTC (rev 73673)
+++ trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex 2025-02-01 20:42:57 UTC (rev 73674)
@@ -9,7 +9,13 @@
\usepackage{nicematrix}
\usepackage{tikz}
-\usetikzlibrary{fit,patterns,arrows.meta,decorations.pathmorphing}
+\usetikzlibrary
+ {
+ fit,
+ patterns,
+ arrows.meta,
+ decorations.pathreplacing
+ }
\usepackage{enumitem}
\usepackage{siunitx}
@@ -567,7 +573,7 @@
First, there are keys which are quick tools to control the apperance of the block.
\begin{itemize}
-\item \index{fill (key of \texttt{\textbackslash Block})}
+\item \index{fill!key of \texttt{\textbackslash Block}}
the key \Definition{fill} takes in as value a color and fills the block
with that color;
\item \index{opacity!key of \texttt{\textbackslash Block}}
@@ -931,6 +937,54 @@
when \pkg{ragged2e}) est chargée. With the key \Definition{j} (which inforces
the key |p|), the paragraph is justified.
+\bigskip
+It's possible to put an environment |{itemize}| or |{enumerate}| in a block
+which uses the key~|p| or |j| (in the other case, you have a LaTeX error
+|Not allowed in LR mode|). For the following example, we have loaded the package
+\pkg{enumitem} (for the key |left| of the environment |{itemize}|).
+
+\begin{Code}
+\begin{NiceTabular}[hvlines]{ccc}
+one & two two & three three \\
+one &
+\Block\emph{[p]}{*-2}{%
+\begin{itemize}[left=0pt]
+\item one two three four five
+\item two
+\item three
+\end{itemize}
+} \\
+one & \\
+one & \\
+one & \\
+one & \\
+one & \\
+one & \\
+\end{NiceTabular}
+\end{Code}
+
+
+\begin{center}
+\begin{NiceTabular}[hvlines]{ccc}
+one & two two & three three \\
+one &
+\Block[p]{*-2}{%
+\begin{itemize}[left=0pt]
+\item one two three four five
+\item two
+\item three
+\end{itemize}
+} \\
+one & \\
+one & \\
+one & \\
+one & \\
+one & \\
+one & \\
+\end{NiceTabular}
+\end{center}
+
+
\subsection{Vertical position of the content of the block}
\label{vertical-pos-block}
@@ -1371,7 +1425,7 @@
shall be ensured that this new command is expandable in the TeX sens (by
using, for instance, |\NewExpandableDocumentCommand| of LaTeX3, |\newcommand|
of LaTeX or |\def| of TeX). Example:
- |\NewDocumentCommand{\RedLine}{}{\Hline[color=red]}|}
+ |\NewExpandableDocumentCommand}{}{\Hline[color=red]}|}
\bigskip
@@ -2596,9 +2650,46 @@
\index{S (the columns S of \pkg{siunitx})|textit}
\medskip
-We have used the type of column |S| of \pkg{siunitx}.
+We have used the type of column |S| of \pkg{siunitx} (which should be loaded by
+the user).
+\bigskip
+\index{EmptyRow@\texttt{\textbackslash EmptyRow} (command of \texttt{\textbackslash CodeBefore})}
+\index{EmptyColumn@\texttt{\textbackslash EmptyColumn} (command of \texttt{\textbackslash CodeBefore})}
+
+\colorbox{yellow!50}{\textbf{New 7.1}}\par\nobreak
+
+\smallskip
+It's also possible, in the |\CodeBefore|, to use the commands
+\DefinitionCommand{EmptyColumn} and \DefinitionCommand{EmptyRow}. The command
+|\EmptyColumn| takes in as argument a (comma-separated) list of numbers of
+columns and requires that no rules nor backbround colors will be drawn in the
+corresponding columns. The command |\EmptyRow| is similar for the rows.
+
+\medskip
+\begin{Code}[width=10cm]
+\begin{NiceTabular}{ccccc}[hvlines]
+\CodeBefore
+ \rowcolor{blue!15}{1}
+ \emph{\EmptyColumn{3}}
+\Body
+ one & two && three & four \\
+ one & \Block{}{two\\ rows} && three & four \\
+\end{NiceTabular}
+\end{Code}
+\begin{NiceTabular}{ccccc}[hvlines]
+\CodeBefore
+ \rowcolor{blue!15}{1}
+ \EmptyColumn{3}
+\Body
+ one & two && three & four \\
+ one & \Block{}{two\\ rows} && three & four \\
+\end{NiceTabular}
+
+
+
+
\subsection{Color tools to be used inside the tabular}
\index{cellcolor@\texttt{\textbackslash cellcolor}!command in tabular}
@@ -3798,6 +3889,97 @@
\end{pNiceMatrix}\]
+
+\subsection{The commands \textbackslash Hbrace and \textbackslash Vbrace}
+
+\colorbox{yellow!50}{\textbf{New 7.1}}
+
+\indexcommand{Hbrace}
+\indexcommand{Vbrace}
+\index{tikz-braces (key at load-tome of \texttt{nicematrix)}}
+\label{Hbrace}
+
+
+\smallskip
+Since, as said in the previous part, it's possible to use, with the commands
+|\Cdots|, |\Ldots|, |\Vdots|, etc. all the styles of lines provided by TikZ, one
+may wish to use those commands to draw braces with the decoration |brace|
+provided by the library \pkg{decorations.pathreplacing} of TikZ.
+
+\smallskip
+In order to facilitate that use, \pkg{nicematrix} provides two commands
+\DefinitionCommand{Hbrace} and \DefinitionCommand{Vbrace}. Those commands are
+available only if TikZ has been loaded with its library
+\pkg{decorations.pathreplacing} (before or after the loading of
+\pkg{nicematrix}). Otherwise, a (non-fatal) error will be raised.
+\begin{Verbatim}
+\usepackage{tikz}
+\usetikzlibrary{decorations.pathreplacing}
+\end{Verbatim}
+
+\medskip
+The commands |\Hbrace| and |\Vbrace| have the same syntax. Both commands take in
+three arguments:
+\begin{itemize}
+\item an optional argument, between square brackets, which contains a list of
+\textsl{key=value} pairs: the keys allowed are |color|, |horizontal-labels|,
+|shorten|, |shorten-start| and |shorten-end|.
+
+\item a mandatory argument which is the number of columns (for |\Hbrace|) or the
+number of rows (for |\Vbrace|) over which the command applies;
+
+\item an mandatory argument which is the label of the curly brace.
+\end{itemize}
+
+As regards the ampersands (|&|), |\Hbrace| has the same behavior as the commands
+|\multicolumn|, |\hdotsfor|, |\Hdotsfor|, etc.: only one ampersand must be
+inserted, even if the brace that will be drawn will extend on several columns.
+
+
+\bigskip
+\begin{Code}[width=11.2cm]
+$\begin{NiceArray}{ccccc}%
+ [ hvlines ,
+ first-row ,
+ last-row = 6,
+ first-col ,
+ last-col ,
+ xdots/horizontal-labels ]
+& \emph{\Hbrace{3}{p}} & \emph{\Hbrace{2}{q}} \\
+\emph{\Vbrace{3}{p}} & 1 & 1 & 134 & 1 & 1 & \emph{\Vbrace{3}{p}} \\
+& 1 & 1 & 134 & 1 & 1 \\
+& 1 & 1 & 13456 & 1 & 1 \\
+\emph{\Vbrace{2}{q}} & 1 & 1 & 134 & 1 & 1 & \emph{\Vbrace{2}{q}}\\
+& 1 & 1 & 134 & 1 & 1 \\
+& \emph{\Hbrace{3}{p}} & \emph{\Hbrace[color=blue]{2}{q}} \\
+\end{NiceArray}$
+\end{Code}
+$\begin{NiceArray}{ccccc}%
+ [
+ hvlines ,
+ first-row ,
+ last-row = 6,
+ first-col ,
+ last-col ,
+ xdots/horizontal-labels
+ ]
+& \Hbrace{3}{p} & \Hbrace{2}{q} \\
+\Vbrace{3}{p} & 1 & 1 & 134 & 1 & 1 & \Vbrace{3}{p} \\
+& 1 & 1 & 134 & 1 & 1 \\
+& 1 & 1 & 13456 & 1 & 1 \\
+\Vbrace{2}{q}& 1 & 1 & 134 & 1 & 1 & \Vbrace{2}{q}\\
+& 1 & 1 & 134 & 1 & 1 \\
+& \Hbrace{3}{p} & \Hbrace[color=blue]{2}{q} \\
+\end{NiceArray}$
+
+
+\medskip
+For another example of use of |\Hbrace| and |\Vbrace|, see
+the section ``Dotted lines that are no longer dotted'',
+p.~\pageref{ex:no-longer-dotted-rules}.
+
+
+
\subsection{The dotted lines and the rules}
\label{dotted-and-rules}
@@ -6818,6 +7000,8 @@
\subsection{Dotted lines which are no longer dotted}
+\label{ex:no-longer-dotted-rules}
+
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 (TikZ should be loaded).
@@ -6868,27 +7052,27 @@
\end{pNiceMatrix}\]
\end{scope}
-\interitem
+\pagebreak
In fact, it's even possible to draw solid lines with the commands |\Cdots|,
|\Vdots|, etc.\footnote{In this document, the TikZ library \pkg{arrows.meta}
has been loaded, which impacts the shape of the arrow tips.}
-\begin{Verbatim}
+\medskip
+\begin{Code}
\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+\end{Code}
+\begin{Code}[width=11cm]
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
-\Hdotsfor{3}^{3} & \Hdotsfor{2}^{2} \\
-2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}^{3}\\
+\emph{\Hdotsfor{3}^{3}} & \emph{\Hdotsfor{2}^{2}} \\
+2 & 1 & 1 & 1 & 1 & \emph{\Vdotsfor{3}^{3}}\\
1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 \\
\Hline
-1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}^{2}\\
+1 & 1 & 1 & 1 & 1 & \emph{\Vdotsfor{2}^{2}} \\
1 & 1 & 1 & 1 & 1 \\
\end{pNiceArray}$
-\end{Verbatim}
-
-
-\begin{center}
-\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+\end{Code}
+{\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
\Hdotsfor{3}^{3} & \Hdotsfor{2}^{2} \\
2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}^{3}\\
@@ -6897,16 +7081,31 @@
\Hline
1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}^{2}\\
1 & 1 & 1 & 1 & 1 \\
-\end{pNiceArray}$
-\end{center}
+\end{pNiceArray}$}
+
\interitem
\label{ex:colon}
-If you want the label \emph{on the line}, you should use the special token~``|:|'':
+If you want the label \emph{on the line}, you should use the special
+token~``|:|'' instead of~``|^|'':
-\begin{Verbatim}
+\medskip
+\begin{Code}
\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+\end{Code}
+\begin{Code}[width=11cm]
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
+\emph{\Hdotsfor{3}:{3}} & \emph{\Hdotsfor{2}:{2}} \\
+2 & 1 & 1 & 1 & 1 & \emph{\Vdotsfor{3}:{3}} \\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \emph{\Vdotsfor{2}:{2}} \\
+1 & 1 & 1 & 1 & 1 \\
+\end{pNiceArray}$
+\end{Code}
+{\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
\Hdotsfor{3}:{3} & \Hdotsfor{2}:{2} \\
2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}:{3}\\
1 & 1 & 1 & 1 & 1 \\
@@ -6914,26 +7113,82 @@
\Hline
1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}:{2}\\
1 & 1 & 1 & 1 & 1 \\
-\end{pNiceArray}$
-\end{Verbatim}
+\end{pNiceArray}$}
-\begin{center}
-\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
+
+\interitem
+If one prefers the braces of the library \pkg{decorations.pathreplacing} of TikZ, the
+best way is to use the commands |\Hbrace| and |\Vbrace| provided by
+\pkg{nicematrix} (cf. p.~\pageref{Hbrace}).\footnote{Those commands are
+available only if TikZ has been loaded with the library \pkg{decorations.pathreplacing}.}
+
+\medskip
+\begin{Code}[width=11cm]
+\NiceMatrixOptions{xdots/horizontal-labels}
$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
-\Hdotsfor{3}:{3} & \Hdotsfor{2}:{2} \\
-2 & 1 & 1 & 1 & 1 & \Vdotsfor{3}:{3}\\
+\emph{\Hbrace{3}{3}} & \emph{\Hbrace{2}{2}} \\
+2 & 1 & 1 & 1 & 1 & \emph{\Vbrace{3}{3}} \\
1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 \\
\Hline
-1 & 1 & 1 & 1 & 1 & \Vdotsfor{2}:{2}\\
+1 & 1 & 1 & 1 & 1 & \emph{\Vbrace{2}{2}} \\
1 & 1 & 1 & 1 & 1 \\
\end{pNiceArray}$
-\end{center}
+\end{Code}
+{\NiceMatrixOptions{xdots/horizontal-labels}
+$\begin{pNiceArray}{ccc|cc}[first-row,last-col,margin]
+\Hbrace{3}{3} & \Hbrace{2}{2} \\
+2 & 1 & 1 & 1 & 1 & \Vbrace{3}{3}\\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \Vbrace{2}{2}\\
+1 & 1 & 1 & 1 & 1 \\
+\end{pNiceArray}$}
+\pagebreak
+If one prefers the curly braces of the current mathematical font of LaTeX, one
+should use the commands |\SubMatrix|, |\OverBrace| and |\UnderBrace| in the
+|\CodeAfter|.
+\medskip
+\begin{Code}[width=11cm]
+$\begin{pNiceArray}{ccc|cc}[margin,last-col]
+2 & 1 & 1 & 1 & 1 & \Block{3-1}{\quad 3} \\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \Block{2-1}{\quad 2} \\
+1 & 1 & 1 & 1 & 1 \\
+\CodeAfter
+ \emph{\OverBrace[shorten,yshift=1.5mm]{1-1}{1-3}{3}}
+ \emph{\OverBrace[shorten,yshift=1.5mm]{1-4}{1-5}{2}}
+ \emph{\SubMatrix{.}{1-1}{3-5}{\rbrace}[xshift=3.5mm]}
+ \emph{\SubMatrix{.}{4-1}{5-5}{\rbrace}[xshift=3.5mm]}
+\end{pNiceArray}$
+\end{Code}
+{$\begin{pNiceArray}{ccc|cc}[margin,last-col]
+2 & 1 & 1 & 1 & 1 & \Block{3-1}{\quad 3} \\
+1 & 1 & 1 & 1 & 1 \\
+1 & 1 & 1 & 1 & 1 \\
+\Hline
+1 & 1 & 1 & 1 & 1 & \Block{2-1}{\quad 2} \\
+1 & 1 & 1 & 1 & 1 \\
+\CodeAfter
+ \OverBrace[shorten,yshift=1.5mm]{1-1}{1-3}{3}
+ \OverBrace[shorten,yshift=1.5mm]{1-4}{1-5}{2}
+ \SubMatrix{.}{1-1}{3-5}{\rbrace}[xshift=3.5mm]
+ \SubMatrix{.}{4-1}{5-5}{\rbrace}[xshift=3.5mm]
+\end{pNiceArray}$}
+\medskip
+Or course, the output may seem disappointing. That's why, for this type of use,
+we recommend the use of the commands |\Hbrace| and |\Vbrace| (provided by
+\pkg{nicematrix}), as shown in the previous example.
+
+
\subsection{Dashed rules}
\label{dashed}
\index{tikzz at tikz!key of ``borders'' de \texttt{\textbackslash Block}|textit}
@@ -7650,6 +7905,18 @@
\nolinkurl{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}
}
+
+\subsection*{Changes between version 7.0 and 7.1}
+
+New commands |\Hbrace| and |\Vbrace|.
+
+New commands |\EmptyColumn| and |\EmptyRow| in the |\CodeBefore|.
+
+\subsection*{Changes between version 6.29 and 7.0}
+
+The package \pkg{nicematrix} is now compatible (for the tabulars) with the
+Tagging Project.
+
\subsection*{Changes between version 6.28 and 6.29}
Modification in order to be compatible with the next version of \pkg{array}
@@ -7854,178 +8121,6 @@
Key |\color| for the command |\RowStyle|.
-\subsection*{Changes between versions 5.19 and 6.0}
-
-Columns |X| and environment |{NiceTabularX}|.
-
-Command |\rowlistcolors| available in the |\CodeBefore|.
-
-In columns with fixed width, the blocks are composed as paragraphs (wrapping
-of the lines).
-
-The key |define-L-C-R| has been deleted.
-
-\subsection*{Changes between versions 5.18 and 5.19}
-
-New key |tikz| for the command |\Block|.
-
-\subsection*{Changes between versions 5.17 and 5.18}
-
-New command |\RowStyle|
-
-\subsection*{Changes between versions 5.16 and 5.17}
-
-The key |define-L-C-R| (only available at load-time) now raises a (non fatal)
-error.
-
-Keys |L|, |C| and |R| for the command |\Block|.
-
-Key |hvlines-except-borders|.
-
-It's now possible to use a key |l|, |r| or |c| with the command
-|\pAutoNiceMatrix| (and the similar ones).
-
-\subsection*{Changes between versions 5.15 and 5.16}
-
-It's now possible to use the cells corresponding to the contents of the nodes
-(of the form |i-j|) in the |\CodeBefore| when the key |create-cell-nodes| of
-that |\CodeBefore| is used. The medium and the large nodes are also available
-if the corresponding keys are used.
-
-\subsection*{Changes between versions 5.14 and 5.15}
-
-Key |hvlines| for the command |\Block|.
-
-The commands provided by \pkg{nicematrix} to color cells, rows and columns
-don't color the cells which are in the ``corners'' (when the key |corner| is
-used).
-
-It's now possible to specify delimiters for submatrices in the preamble of an
-environment.
-
-The version 5.15b is compatible with the version 3.0+ of \pkg{siunitx}
-(previous versions were not).
-
-\subsection*{Changes between versions 5.13 and 5.14}
-
-Nodes of the form |(1.5)|, |(2.5)|, |(3.5)|, etc.
-
-Keys |t| and |b| for the command |\Block|.
-
-Key |corners|.
-
-\subsection*{Changes between versions 5.12 and 5.13}
-
-New command |\arraycolor| in the |\CodeBefore| (with its key
-|except-corners|).
-
-New key |borders| for the command |\Block|.
-
-New command |\Hline| (for horizontal rules not drawn in the blocks).
-
-The keys |vlines| and |hlines| takes in as value a (comma-separated) list of
-numbers (for the rules to draw).
-
-\subsection*{Changes between versions 5.11 and 5.12}
-
-Keywords |\CodeBefore| and |\Body| (alternative syntax to the key
-|code-before|).
-
-New key |delimiters/max-width|.
-
-New keys |hlines|, |vlines| and |hvlines| for the command |\SubMatrix| in the
-|\CodeAfter|.
-
-New key |rounded-corners| for the command |\Block|.
-
-\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$.
-
-\subsection*{Changes between versions 5.9 and 5.10}
-
-New command |\SubMatrix| available in the |\CodeAfter|.
-
-It's possible to provide options (between brackets) to the keyword |\CodeAfter|.
-
-\subsection*{Changes between versions 5.8 and 5.9}
-
-Correction of a bug: in the previous versions, it was not possible to use the
-key |line-style| for the continuous dotted lines when the TikZ library |babel|
-was loaded.
-
-New key |cell-space-limits|.
-
-\subsection*{Changes between versions 5.7 and 5.8}
-
-Keys |cols| and |restart| of the command |\rowcolors| in the |code-before|.
-
-Modification of the behaviour of |\\| in the columns of type |p|, |m| or |b|
-(for a behaviour similar to the environments of \pkg{array}).
-
-Better error messages for the command |\Block|.
-
-\subsection*{Changes between versions 5.6 and 5.7}
-
-New key |delimiters-color|
-
-Keys |fill|, |draw| and |line-width| for the command |\Block|.
-
-\subsection*{Changes between versions 5.5 and 5.6}
-
-Different behaviour for the mono-row blocks.
-
-New command |\NotEmpty|.
-
-\subsection*{Changes between versions 5.4 and 5.5}
-
-The user must never put |\omit| before |\CodeAfter|.
-
-Correction of a bug: the tabular notes |\tabularnotes| were not composed when
-present in a block (except a mono-column block).
-
-\subsection*{Changes between versions 5.3 and 5.4}
-
-Key |tabularnote|.
-
-Different behaviour for the mono-column blocks.
-
-\subsection*{Changes between versions 5.2 and 5.3}
-
-Keys |c|, |r| and |l| for the command |\Block|.
-
-It's possible to use the key |draw-first| with |\Ddots| and |\Iddots| to
-specify which dotted line will be drawn first (the other lines will be drawn
-parallel to that one if parallelization is activated).
-
-\subsection*{Changes between versions 5.1 and 5.2}
-
-The vertical rules specified by \verb+|+ or \verb+||+ in the preamble respect
-the blocks.
-
-Key |respect-blocks| for |\rowcolors| (with a \emph{s}) in the |code-before|.
-
-The variable |\g_nicematrix_code_before_tl| is now public.
-
-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).
-
-\subsection*{Changes between versions 5.0 and 5.1}
-
-The vertical rules specified by \verb+|+ in the preamble are not broken by
-|\hline\hline| (and other).
-
-Environment |{NiceTabular*}|
-
-Command |\Vdotsfor| similar to |\Hdotsfor|
-
-The variable |\g_nicematrix_code_after_tl| is now public.
-
-
\cleardoublepage
\phantomsection
Modified: trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx 2025-02-01 20:42:48 UTC (rev 73673)
+++ trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx 2025-02-01 20:42:57 UTC (rev 73674)
@@ -17,8 +17,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{7.0b}
-\def\myfiledate{2025/01/20}
+\def\myfileversion{7.1}
+\def\myfiledate{2025/02/01}
%
%
%<*batchfile>
@@ -1101,8 +1101,8 @@
%
%
% \bigskip
-% The following parameter will be raised when a block content a |&| in its
-% content (=label).
+% The following parameter will be raised when a block contains an ampersand
+% (|&|) in its content (=label).
% \begin{macrocode}
\bool_new:N \l_@@_ampersand_bool
% \end{macrocode}
@@ -1182,7 +1182,7 @@
% \end{macrocode}
%
% \bigskip
-% The use of |\l_@@_code_before_tl| is not clear. Maybe that with the evolutions
+% The use of |\l_@@_code_before_tl| is not clear. Maybe that, with the evolutions
% of \pkg{nicematrix}, it has become obsolete. We should have a look at that.
% \begin{macrocode}
\tl_new:N \l_@@_code_before_tl
@@ -2484,7 +2484,7 @@
no-cell-nodes .code:n =
\bool_set_true:N \l_@@_no_cell_nodes_bool
\cs_set_protected:Npn \@@_node_for_cell:
- { \box_use_drop:N \l_@@_cell_box } ,
+ { \set at color \box_use_drop:N \l_@@_cell_box } ,
no-cell-nodes .value_forbidden:n = true ,
rounded-corners .dim_set:N = \l_@@_tab_rounded_corners_dim ,
rounded-corners .default:n = 4 pt ,
@@ -3861,6 +3861,8 @@
\cs_set_eq:NN \MidRule \@@_MidRule
\cs_set_eq:NN \BottomRule \@@_BottomRule
\cs_set_eq:NN \RowStyle \@@_RowStyle:n
+ \cs_set_eq:NN \Hbrace \@@_Hbrace
+ \cs_set_eq:NN \Vbrace \@@_Vbrace
\seq_map_inline:Nn \l_@@_custom_line_commands_seq
{ \cs_set_eq:cc { ##1 } { nicematrix - ##1 } }
\cs_set_eq:NN \cellcolor \@@_cellcolor_tabular
@@ -4033,7 +4035,9 @@
% array.
% \begin{macrocode}
\seq_gset_eq:NN \g_@@_pos_of_blocks_seq \g_@@_future_pos_of_blocks_seq
+ \seq_gclear:N \g_@@_future_pos_of_blocks_seq
% \end{macrocode}
+%
% Idem for other sequences written on the |aux| file.
% \begin{macrocode}
\seq_gclear_new:N \g_@@_multicolumn_cells_seq
@@ -10208,6 +10212,11 @@
{ \int_compare:nNnT { \c at iRow } < { #1 } { #2 } }
% \end{macrocode}
%
+% \begin{macrocode}
+\cs_new:Npn \@@_if_col_greater_than:nn #1 #2
+ { \int_compare:nNnF { \c at jCol } < { #1 } { #2 } }
+% \end{macrocode}
+%
% \bigskip
% |\@@_put_in_row_style| will be used several times in |\RowStyle|.
% \begin{macrocode}
@@ -10227,7 +10236,12 @@
% The |\scan_stop:| is mandatory (for ex. for the case where |\rotate| is used
% in the argument of |\RowStyle|).
% \begin{macrocode}
- { \exp_not:n { #1 } \scan_stop: }
+ {
+ \exp_not:N
+ \@@_if_col_greater_than:nn
+ { \int_eval:n { \c at jCol } }
+ { \exp_not:n { #1 } \scan_stop: }
+ }
}
}
% \end{macrocode}
@@ -14858,8 +14872,9 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_vlines_block:nnn #1 #2 #3
{
- \dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
+ \group_begin:
\keys_set_known:nn { nicematrix / BlockBorders } { #1 }
+ \dim_set_eq:NN \arrayrulewidth \l_@@_line_width_dim
\@@_cut_on_hyphen:w #2 \q_stop
\tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
\tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
@@ -14879,11 +14894,13 @@
}
}
}
+ \group_end:
}
\cs_new_protected:Npn \@@_hlines_block:nnn #1 #2 #3
{
- \dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
+ \group_begin:
\keys_set_known:nn { nicematrix / BlockBorders } { #1 }
+ \dim_set_eq:NN \arrayrulewidth \l_@@_line_width_dim
\@@_cut_on_hyphen:w #2 \q_stop
\tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
\tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
@@ -14903,6 +14920,7 @@
}
}
}
+ \group_end:
}
% \end{macrocode}
%
@@ -16377,6 +16395,187 @@
% \end{macrocode}
%
% \bigskip
+% \section{The commands HBrace et VBrace}
+%
+%
+% \bigskip
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \cs_if_exist:cT { tikz at library@decorations.pathreplacing at loaded }
+ {
+ \tikzset
+ {
+ nicematrix~normal~brace / .style =
+ {
+ decoration = brace ,
+ decorate ,
+ outer~sep = 0.25 em
+ } ,
+ nicematrix~mirrored~brace / .style =
+ {
+ decoration = { brace , mirror } ,
+ decorate ,
+ outer~sep = 0.25 em
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following set of keys will be used only for security since the keys will
+% be sent to the command |\Ldots| or |\Vdots|.
+% \begin{macrocode}
+\keys_define:nn { nicematrix / Hbrace }
+ {
+ color .code:n = ,
+ horizontal-labels .code:n = ,
+ shorten .code:n = ,
+ shorten-start .code:n = ,
+ shorten-end .code:n = ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~Hbrace }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Here we need an ``fully expandable'' command.
+% \begin{macrocode}
+\NewExpandableDocumentCommand { \@@_Hbrace } { O { } m m }
+ {
+ \cs_if_exist:cTF { tikz at library@decorations.pathreplacing at loaded }
+ { \@@_hbrace:nnn { #1 } { #2 } { #3 } }
+ { \@@_error:n { Hbrace~not~allowed } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% The following command must \emph{not} be protected.
+% \begin{macrocode}
+\cs_new:Npn \@@_hbrace:nnn #1 #2 #3
+ {
+ \int_compare:nNnTF \c at iRow < 1
+ {
+% \end{macrocode}
+% We recall that |\str_if_eq:nnTF| is ``fully expandable''.
+% \begin{macrocode}
+ \str_if_eq:nnTF { #2 } { * }
+ {
+ \NiceMatrixOptions{nullify-dots}
+ \Ldots
+ [
+ line-style = nicematrix~normal~brace ,
+ #1 ,
+ up =
+ \bool_if:NT \l_@@_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ }
+ {
+ \Hdotsfor
+ [
+ line-style = nicematrix~normal~brace ,
+ #1 ,
+ up =
+ \bool_if:NT \l_@@_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ { #2 }
+ }
+ }
+ {
+ \str_if_eq:nnTF { #2 } { * }
+ {
+ \NiceMatrixOptions{nullify-dots}
+ \Ldots
+ [
+ line-style = nicematrix~mirrored~brace ,
+ #1 ,
+ down =
+ \bool_if:NT \l_@@_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ }
+ {
+ \Hdotsfor
+ [
+ line-style = nicematrix~mirrored~brace ,
+ #1 ,
+ down =
+ \bool_if:NT \l_@@_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ { #2 }
+ }
+ }
+ \keys_set:nn { nicematrix / Hbrace } { #1 }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Here we need an ``fully expandable'' command.
+% \begin{macrocode}
+\NewExpandableDocumentCommand { \@@_Vbrace } { O { } m m }
+ {
+ \cs_if_exist:cTF { tikz at library@decorations.pathreplacing at loaded }
+ { \@@_vbrace:nnn { #1 } { #2 } { #3 } }
+ { \@@_error:n { Vbrace~not~allowed } }
+ }
+% \end{macrocode}
+%
+%
+% The following command must \emph{not} be protected.
+% \begin{macrocode}
+\cs_new:Npn \@@_vbrace:nnn #1 #2 #3
+ {
+ \int_compare:nNnTF \c at jCol = 0
+ {
+ \str_if_eq:nnTF { #2 } { * }
+ {
+ \NiceMatrixOptions{nullify-dots}
+ \Vdots
+ [
+ line-style = nicematrix~mirrored~brace ,
+ #1 ,
+ down =
+ \bool_if:NT \l_@@_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ }
+ {
+ \Vdotsfor
+ [
+ line-style = nicematrix~mirrored~brace ,
+ #1 ,
+ down =
+ \bool_if:NT \l_@@_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ { #2 }
+ }
+ }
+ {
+ \str_if_eq:nnTF { #2 } { * }
+ {
+ \NiceMatrixOptions{nullify-dots}
+ \Vdots
+ [
+ line-style = nicematrix~normal~brace ,
+ #1 ,
+ up =
+ \bool_if:NT \l_@@_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ }
+ {
+ \Vdotsfor
+ [
+ line-style = nicematrix~normal~brace ,
+ #1 ,
+ up =
+ \bool_if:NT \l_@@_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ { #2 }
+ }
+ }
+ \keys_set:nn { nicematrix / Hbrace } { #1 }
+ }
+% \end{macrocode}
+%
+% \bigskip
% \section{The command TikzEveryCell}
%
% \begin{macrocode}
@@ -16628,14 +16827,6 @@
%
%
% \begin{macrocode}
-\@@_msg_new:nn { no-test-for-array }
- {
- The~key~'no-test-for-array'~has~been~deprecated~and~will~be~
- deleted~in~a~future~version~of~nicematrix.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
\keys_define:nn { nicematrix / Package }
{
renew-dots .bool_set:N = \l_@@_renew_dots_bool ,
@@ -16645,16 +16836,12 @@
messages-for-Overleaf .bool_set:N = \g_@@_messages_for_Overleaf_bool ,
footnote .bool_set:N = \g_@@_footnote_bool ,
footnotehyper .bool_set:N = \g_@@_footnotehyper_bool ,
-% \end{macrocode}
-% The test for a potential modification of \pkg{array} has been deleted. We
-% keep the following key only for compatibility but maybe we will delete it.
-% \begin{macrocode}
- no-test-for-array .code:n = \@@_warning:n { no-test-for-array } ,
unknown .code:n = \@@_error:n { Unknown~key~for~package }
}
\ProcessKeysOptions { nicematrix / Package }
% \end{macrocode}
%
+%
% \bigskip
% \begin{macrocode}
\@@_msg_new:nn { footnote~with~footnotehyper~package }
@@ -17052,6 +17239,18 @@
% \end{macrocode}
%
% \begin{macrocode}
+\@@_msg_new:nn { Unknown~key~for~Hbrace }
+ {
+ Unknown~key.\\
+ You~have~used~the~key~'\l_keys_key_str'~but~the~only~
+ keys~allowed~for~the~commands~\token_to_str:N \Hbrace\
+ and~\token_to_str:N \Vbrace\ are:~'color',~
+ 'horizontal-labels',~'shorten'~'shorten-end'~
+ and~'shorten-start'.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
\@@_msg_new:nn { Unknown~key~for~TikzEveryCell }
{
Unknown~key.\\
@@ -17234,6 +17433,32 @@
% \end{macrocode}
%
% \begin{macrocode}
+\@@_msg_new:nn { Hbrace~not~allowed }
+ {
+ Command~not~allowed.\\
+ You~can't~use~the~command~\token_to_str:N \Hbrace\
+ because~you~have~not~loaded~TikZ~
+ and~the~TikZ~library~'decorations.pathreplacing'.\\
+ Use:~\token_to_str:N \usepackage\{tikz\}~
+ \token_to_str:N \usetikzlibrary \{ decorations.pathreplacing \} \\
+ That~command~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@@_msg_new:nn { Vbrace~not~allowed }
+ {
+ Command~not~allowed.\\
+ You~can't~use~the~command~\token_to_str:N \Vbrace\
+ because~you~have~not~loaded~TikZ~
+ and~the~TikZ~library~'decorations.pathreplacing'.\\
+ Use:~\token_to_str:N \usepackage\{tikz\}~
+ \token_to_str:N \usetikzlibrary \{ decorations.pathreplacing \} \\
+ That~command~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
\@@_msg_new:nn { Wrong~line~in~SubMatrix }
{
Wrong~line.\\
@@ -17640,7 +17865,7 @@
% \begin{macrocode}
\@@_msg_new:nnn { Unknow~key~for~RulesBis }
{
- Unkown~key.\\
+ Unknown~key.\\
Your~key~'\l_keys_key_str'~is~unknown~for~a~rule.\\
\c_@@_available_keys_str
}
Modified: trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty 2025-02-01 20:42:48 UTC (rev 73673)
+++ trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty 2025-02-01 20:42:57 UTC (rev 73674)
@@ -18,8 +18,8 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-\def\myfileversion{7.0b}
-\def\myfiledate{2025/01/20}
+\def\myfileversion{7.1}
+\def\myfiledate{2025/02/01}
\RequirePackage{pgfcore}
\usepgfmodule{shapes}
\RequirePackage{l3keys2e}
@@ -832,7 +832,7 @@
no-cell-nodes .code:n =
\bool_set_true:N \l__nicematrix_no_cell_nodes_bool
\cs_set_protected:Npn \__nicematrix_node_for_cell:
- { \box_use_drop:N \l__nicematrix_cell_box } ,
+ { \set at color \box_use_drop:N \l__nicematrix_cell_box } ,
no-cell-nodes .value_forbidden:n = true ,
rounded-corners .dim_set:N = \l__nicematrix_tab_rounded_corners_dim ,
rounded-corners .default:n = 4 pt ,
@@ -1630,6 +1630,8 @@
\cs_set_eq:NN \MidRule \__nicematrix_MidRule
\cs_set_eq:NN \BottomRule \__nicematrix_BottomRule
\cs_set_eq:NN \RowStyle \__nicematrix_RowStyle:n
+ \cs_set_eq:NN \Hbrace \__nicematrix_Hbrace
+ \cs_set_eq:NN \Vbrace \__nicematrix_Vbrace
\seq_map_inline:Nn \l__nicematrix_custom_line_commands_seq
{ \cs_set_eq:cc { ##1 } { nicematrix - ##1 } }
\cs_set_eq:NN \cellcolor \__nicematrix_cellcolor_tabular
@@ -1700,6 +1702,7 @@
\seq_gclear:N \g__nicematrix_submatrix_seq
\bool_if:NT \l__nicematrix_code_before_bool \__nicematrix_exec_code_before:
\seq_gset_eq:NN \g__nicematrix_pos_of_blocks_seq \g__nicematrix_future_pos_of_blocks_seq
+ \seq_gclear:N \g__nicematrix_future_pos_of_blocks_seq
\seq_gclear_new:N \g__nicematrix_multicolumn_cells_seq
\seq_gclear_new:N \g__nicematrix_multicolumn_sizes_seq
\int_gset:Nn \g__nicematrix_last_row_node_int { -2 }
@@ -5350,6 +5353,8 @@
}
\cs_new:Npn \__nicematrix_if_row_less_than:nn #1 #2
{ \int_compare:nNnT { \c at iRow } < { #1 } { #2 } }
+\cs_new:Npn \__nicematrix_if_col_greater_than:nn #1 #2
+ { \int_compare:nNnF { \c at jCol } < { #1 } { #2 } }
\cs_generate_variant:Nn \__nicematrix_put_in_row_style:n { e }
\cs_set_protected:Npn \__nicematrix_put_in_row_style:n #1
{
@@ -5358,7 +5363,12 @@
\exp_not:N
\__nicematrix_if_row_less_than:nn
{ \int_eval:n { \c at iRow + \l__nicematrix_key_nb_rows_int } }
- { \exp_not:n { #1 } \scan_stop: }
+ {
+ \exp_not:N
+ \__nicematrix_if_col_greater_than:nn
+ { \int_eval:n { \c at jCol } }
+ { \exp_not:n { #1 } \scan_stop: }
+ }
}
}
\keys_define:nn { nicematrix / RowStyle }
@@ -8173,8 +8183,9 @@
}
\cs_new_protected:Npn \__nicematrix_vlines_block:nnn #1 #2 #3
{
- \dim_set_eq:NN \l__nicematrix_line_width_dim \arrayrulewidth
+ \group_begin:
\keys_set_known:nn { nicematrix / BlockBorders } { #1 }
+ \dim_set_eq:NN \arrayrulewidth \l__nicematrix_line_width_dim
\__nicematrix_cut_on_hyphen:w #2 \q_stop
\tl_set_eq:NN \l__nicematrix_tmpc_tl \l_tmpa_tl
\tl_set_eq:NN \l__nicematrix_tmpd_tl \l_tmpb_tl
@@ -8194,11 +8205,13 @@
}
}
}
+ \group_end:
}
\cs_new_protected:Npn \__nicematrix_hlines_block:nnn #1 #2 #3
{
- \dim_set_eq:NN \l__nicematrix_line_width_dim \arrayrulewidth
+ \group_begin:
\keys_set_known:nn { nicematrix / BlockBorders } { #1 }
+ \dim_set_eq:NN \arrayrulewidth \l__nicematrix_line_width_dim
\__nicematrix_cut_on_hyphen:w #2 \q_stop
\tl_set_eq:NN \l__nicematrix_tmpc_tl \l_tmpa_tl
\tl_set_eq:NN \l__nicematrix_tmpd_tl \l_tmpb_tl
@@ -8218,6 +8231,7 @@
}
}
}
+ \group_end:
}
\cs_new_protected:Npn \__nicematrix_stroke_borders_block:nnn #1 #2 #3
{
@@ -9171,6 +9185,150 @@
{ }
{ }
}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \cs_if_exist:cT { tikz at library@decorations.pathreplacing at loaded }
+ {
+ \tikzset
+ {
+ nicematrix~normal~brace / .style =
+ {
+ decoration = brace ,
+ decorate ,
+ outer~sep = 0.25 em
+ } ,
+ nicematrix~mirrored~brace / .style =
+ {
+ decoration = { brace , mirror } ,
+ decorate ,
+ outer~sep = 0.25 em
+ }
+ }
+ }
+ }
+\keys_define:nn { nicematrix / Hbrace }
+ {
+ color .code:n = ,
+ horizontal-labels .code:n = ,
+ shorten .code:n = ,
+ shorten-start .code:n = ,
+ shorten-end .code:n = ,
+ unknown .code:n = \__nicematrix_error:n { Unknown~key~for~Hbrace }
+ }
+\NewExpandableDocumentCommand { \__nicematrix_Hbrace } { O { } m m }
+ {
+ \cs_if_exist:cTF { tikz at library@decorations.pathreplacing at loaded }
+ { \__nicematrix_hbrace:nnn { #1 } { #2 } { #3 } }
+ { \__nicematrix_error:n { Hbrace~not~allowed } }
+ }
+\cs_new:Npn \__nicematrix_hbrace:nnn #1 #2 #3
+ {
+ \int_compare:nNnTF \c at iRow < 1
+ {
+ \str_if_eq:nnTF { #2 } { * }
+ {
+ \NiceMatrixOptions{nullify-dots}
+ \Ldots
+ [
+ line-style = nicematrix~normal~brace ,
+ #1 ,
+ up =
+ \bool_if:NT \l__nicematrix_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ }
+ {
+ \Hdotsfor
+ [
+ line-style = nicematrix~normal~brace ,
+ #1 ,
+ up =
+ \bool_if:NT \l__nicematrix_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ { #2 }
+ }
+ }
+ {
+ \str_if_eq:nnTF { #2 } { * }
+ {
+ \NiceMatrixOptions{nullify-dots}
+ \Ldots
+ [
+ line-style = nicematrix~mirrored~brace ,
+ #1 ,
+ down =
+ \bool_if:NT \l__nicematrix_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ }
+ {
+ \Hdotsfor
+ [
+ line-style = nicematrix~mirrored~brace ,
+ #1 ,
+ down =
+ \bool_if:NT \l__nicematrix_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ { #2 }
+ }
+ }
+ \keys_set:nn { nicematrix / Hbrace } { #1 }
+ }
+\NewExpandableDocumentCommand { \__nicematrix_Vbrace } { O { } m m }
+ {
+ \cs_if_exist:cTF { tikz at library@decorations.pathreplacing at loaded }
+ { \__nicematrix_vbrace:nnn { #1 } { #2 } { #3 } }
+ { \__nicematrix_error:n { Vbrace~not~allowed } }
+ }
+\cs_new:Npn \__nicematrix_vbrace:nnn #1 #2 #3
+ {
+ \int_compare:nNnTF \c at jCol = 0
+ {
+ \str_if_eq:nnTF { #2 } { * }
+ {
+ \NiceMatrixOptions{nullify-dots}
+ \Vdots
+ [
+ line-style = nicematrix~mirrored~brace ,
+ #1 ,
+ down =
+ \bool_if:NT \l__nicematrix_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ }
+ {
+ \Vdotsfor
+ [
+ line-style = nicematrix~mirrored~brace ,
+ #1 ,
+ down =
+ \bool_if:NT \l__nicematrix_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ { #2 }
+ }
+ }
+ {
+ \str_if_eq:nnTF { #2 } { * }
+ {
+ \NiceMatrixOptions{nullify-dots}
+ \Vdots
+ [
+ line-style = nicematrix~normal~brace ,
+ #1 ,
+ up =
+ \bool_if:NT \l__nicematrix_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ }
+ {
+ \Vdotsfor
+ [
+ line-style = nicematrix~normal~brace ,
+ #1 ,
+ up =
+ \bool_if:NT \l__nicematrix_tabular_bool \text { \exp_not:n { #3 } }
+ ]
+ { #2 }
+ }
+ }
+ \keys_set:nn { nicematrix / Hbrace } { #1 }
+ }
\bool_new:N \l__nicematrix_not_empty_bool
\bool_new:N \l__nicematrix_empty_bool
@@ -9371,11 +9529,6 @@
renew-dots,~and~
renew-matrix.
}
-\__nicematrix_msg_new:nn { no-test-for-array }
- {
- The~key~'no-test-for-array'~has~been~deprecated~and~will~be~
- deleted~in~a~future~version~of~nicematrix.
- }
\keys_define:nn { nicematrix / Package }
{
renew-dots .bool_set:N = \l__nicematrix_renew_dots_bool ,
@@ -9385,7 +9538,6 @@
messages-for-Overleaf .bool_set:N = \g__nicematrix_messages_for_Overleaf_bool ,
footnote .bool_set:N = \g__nicematrix_footnote_bool ,
footnotehyper .bool_set:N = \g__nicematrix_footnotehyper_bool ,
- no-test-for-array .code:n = \__nicematrix_warning:n { no-test-for-array } ,
unknown .code:n = \__nicematrix_error:n { Unknown~key~for~package }
}
\ProcessKeysOptions { nicematrix / Package }
@@ -9644,6 +9796,15 @@
There~is~only~two~keys~available~here:~width~and~color.\\
Your~key~'\l_keys_key_str'~will~be~ignored.
}
+\__nicematrix_msg_new:nn { Unknown~key~for~Hbrace }
+ {
+ Unknown~key.\\
+ You~have~used~the~key~'\l_keys_key_str'~but~the~only~
+ keys~allowed~for~the~commands~\token_to_str:N \Hbrace\
+ and~\token_to_str:N \Vbrace\ are:~'color',~
+ 'horizontal-labels',~'shorten'~'shorten-end'~
+ and~'shorten-start'.
+ }
\__nicematrix_msg_new:nn { Unknown~key~for~TikzEveryCell }
{
Unknown~key.\\
@@ -9775,6 +9936,26 @@
A~name~must~be~accepted~by~the~regular~expression~[A-Za-z][A-Za-z0-9]*.\\
This~key~will~be~ignored.
}
+\__nicematrix_msg_new:nn { Hbrace~not~allowed }
+ {
+ Command~not~allowed.\\
+ You~can't~use~the~command~\token_to_str:N \Hbrace\
+ because~you~have~not~loaded~TikZ~
+ and~the~TikZ~library~'decorations.pathreplacing'.\\
+ Use:~\token_to_str:N \usepackage\{tikz\}~
+ \token_to_str:N \usetikzlibrary \{ decorations.pathreplacing \} \\
+ That~command~will~be~ignored.
+ }
+\__nicematrix_msg_new:nn { Vbrace~not~allowed }
+ {
+ Command~not~allowed.\\
+ You~can't~use~the~command~\token_to_str:N \Vbrace\
+ because~you~have~not~loaded~TikZ~
+ and~the~TikZ~library~'decorations.pathreplacing'.\\
+ Use:~\token_to_str:N \usepackage\{tikz\}~
+ \token_to_str:N \usetikzlibrary \{ decorations.pathreplacing \} \\
+ That~command~will~be~ignored.
+ }
\__nicematrix_msg_new:nn { Wrong~line~in~SubMatrix }
{
Wrong~line.\\
@@ -10064,7 +10245,7 @@
}
\__nicematrix_msg_new:nnn { Unknow~key~for~RulesBis }
{
- Unkown~key.\\
+ Unknown~key.\\
Your~key~'\l_keys_key_str'~is~unknown~for~a~rule.\\
\c__nicematrix_available_keys_str
}
More information about the tex-live-commits
mailing list.