summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-08-15 20:22:51 +0000
committerKarl Berry <karl@freefriends.org>2019-08-15 20:22:51 +0000
commite2c2e92594542226ff8816e672ef05dc43a41217 (patch)
tree201487cd69cc72915391c269952fb6eb8637e34a /Master/texmf-dist/doc/latex
parent3c4740bffef244eff176af0d3aa8a93eb1225953 (diff)
nicematrix (15aug19)
git-svn-id: svn://tug.org/texlive/trunk@51885 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex')
-rw-r--r--Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdfbin286330 -> 300142 bytes
-rw-r--r--Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex857
-rw-r--r--Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdfbin559454 -> 621774 bytes
3 files changed, 471 insertions, 386 deletions
diff --git a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
index 8ea0c2f6433..e0d14dea9c1 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
index b3dbc988161..70064ad807c 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
@@ -7,15 +7,30 @@
\usepackage{amsmath}
\usepackage{color}
-\usepackage{colortbl}
\usepackage{array}
-\usepackage{arydshln}
-\usepackage{verbatim}
+\usepackage{colortbl}
\usepackage{nicematrix}
+
+
\usepackage{siunitx}
+\newbox\ExampleOne
+
+\setbox\ExampleOne\hbox{%
+$\begin{NiceArray}{|*{4}{C|}}[hlines,first-row,first-col]
+ & e & a & b & c \\
+e & e & a & b & c \\
+a & a & e & c & b \\
+b & b & c & e & a \\
+c & c & b & a & e
+\end{NiceArray}$}
+
+\usepackage{arydshln}
+\usepackage{verbatim}
+
+
\usepackage{fancyvrb}
\fvset{commandchars=\~\#\@,formatcom={\color{gray}}}
@@ -33,6 +48,14 @@
\usepackage[hyperfootnotes = false]{hyperref}
+\hypersetup{
+ pdfinfo = {
+ Title = { L’extension nicematrix },
+ Subject = { Une extension LaTeX } ,
+ Author = { F. Pantigny }
+ }
+}
+
\NewDocumentEnvironment {scope} {} {} {}
@@ -83,21 +106,22 @@ suivantes :
\texttt{draft} est utilisée, ces lignes en pointillés ne sont pas tracées pour
accélérer la compilation.} ;
-\textbullet\ une première rangée et une dernière colonne pour les labels ;
+\textbullet\ des rangées et colonnes extérieures pour les labels ;
\textbullet\ un contrôle sur la largeur des colonnes.
\end{minipage}
\end{savenotes}
\hspace{1.4cm}
-$\begin{bNiceArrayRC}{CCCC}[code-for-last-col=\color{blue}\scriptstyle,
- code-for-first-row=\color{blue}\scriptstyle,
- columns-width = auto]
-C_1 & C_2 & \Cdots & C_n \\
-a_{11} & a_{12} & \Cdots & a_{1n} & L_1 \\
-a_{21} & a_{22} & \Cdots & a_{2n} & L_2 \\
-\Vdots & \Vdots & \Ddots & \Vdots & \Vdots \\
-a_{n1} & a_{n2} & \Cdots & a_{nn} & L_n
-\end{bNiceArrayRC}$
+$\begin{bNiceArray}{CCCC}[first-row,first-col,
+ code-for-first-col=\color{blue}\scriptstyle,
+ code-for-first-row=\color{blue}\scriptstyle,
+ columns-width = auto]
+ & C_1 & C_2 & \Cdots & C_n \\
+L_1 & a_{11} & a_{12} & \Cdots & a_{1n} \\
+L_2 & a_{21} & a_{22} & \Cdots & a_{2n} \\
+\Vdots & \Vdots & \Vdots & \Ddots & \Vdots\\
+L_n & a_{n1} & a_{n2} & \Cdots & a_{nn}
+\end{bNiceArray}$
@@ -164,18 +188,17 @@ L'extension \pkg{nicematrix} définit les nouveaux environnements suivants :
\begin{ttfamily}
\setlength{\tabcolsep}{3mm}
\begin{tabular}{llll}
-\{NiceMatrix\} & \{NiceArray\} & \{pNiceArrayC\} & \{pNiceArrayRC\} \\
-\{pNiceMatrix\} & & \{bNiceArrayC\} & \{bNiceArrayRC\} \\
-\{bNiceMatrix\} & & \{BNiceArrayC\} & \{BNiceArrayRC\} \\
-\{BNiceMatrix\} & & \{vNiceArrayC\} & \{vNiceArrayRC\} \\
-\{vNiceMatrix\} & & \{VNiceArrayC\} & \{VNiceArrayRC\} \\
-\{VNiceMatrix\} & & \{NiceArrayCwithDelims\} & \{NiceArrayRCwithDelims\} \\
+\{NiceMatrix\} & \{NiceArray\} & \{pNiceArray\} \\
+\{pNiceMatrix\} & & \{bNiceArray\} \\
+\{bNiceMatrix\} & & \{BNiceArray\} \\
+\{BNiceMatrix\} & & \{vNiceArray\} \\
+\{vNiceMatrix\} & & \{VNiceArray\} \\
+\{VNiceMatrix\} & & \{NiceArrayWithDelims\} \\
\end{tabular}
\end{ttfamily}
-
\medskip
Par défaut, les environnements \verb|{NiceMatrix}|, \verb|{pNiceMatrix}|, \verb|{bNiceMatrix}|, \verb|{BNiceMatrix}|,
\verb|{vNiceMatrix}| et \verb|{VNiceMatrix}| se comportent quasiment comme les environnements correspondants de
@@ -187,23 +210,12 @@ Par défaut, les environnements \verb|{NiceMatrix}|, \verb|{pNiceMatrix}|, \verb
L'environnement \verb|{NiceArray}| est similaire à l'environnement \verb|{array}| de l'extension \verb|{array}|.
Néanmoins, pour des raisons techniques, dans le préambule de l'environnement \verb|{NiceArray}|, l'utilisateur doit
utiliser les lettres \verb|L|, \verb|C| et~\verb|R| au lieu de \verb|l|, \verb|c| et \verb|r|. Il est possible
-d'utiliser les constructions \verb|w{...}{...}|, \verb|W{...}{...}|, \verb+|+, \verb|>{...}|, \verb|<{...}|,
+d'utiliser les constructions \verb|w{...}{...}|, \verb|W{...}{...}|\footnote{Pour les colonnes de type \verb|w| et
+ \verb|W|, les cases sont composées en mode mathématique (dans les environnements de \pkg{nicematrix}) alors que
+ dans \verb|{array}| de \pkg{array}, elles sont composées en mode texte.}, \verb+|+, \verb|>{...}|, \verb|<{...}|,
\verb|@{...}|, \verb|!{...}| et \verb|*{n}{...}| mais les lettres \verb|p|, \verb|m| et \verb|b| ne doivent pas
-être employées. Voir p.~\pageref{NiceArray} la partie concernant \verb|{NiceArray}|.
-
-\medskip
-Les environnements avec un \verb|C| à la fin de leur nom, \verb|{pNiceArrayC}|, \verb|{bNiceArrayC}|,
-\verb|{BNiceArrayC}|, \verb|{vNiceArrayC}| et \verb|{VNiceArrayC}| sont similaires aux environnements
-\verb|{NiceArray}| (en particulier les lettres spéciales \verb|L|, \verb|C| et \verb|R|) mais créent une colonne
-extérieure (à droite du délimiteur). Voir p.~\pageref{pNiceArrayC} la partie concernant \verb|{pNiceArrayC}|.
-
-\medskip
-Les environnements dont le nom se termine par \verb|RC| (\verb|{pNiceArrayRC}|, \verb|{bNiceArrayRC}|, \verb|{BNiceArrayRC}|,
-\verb|{vNiceArrayRC}| et \verb|{VNiceArrayRC}|) sont similaires à l'environnement \verb|{NiceArray}| mais créent une
-rangée extérieure (au-dessus de la matrice principale) et une colonne extérieure. Voir p.~\pageref{pNiceArrayRC} la
-partie concernant \verb|{pNiceArrayRC}|.
-
-
+être employées. L'environnement \verb|{NiceArray}| et ses variantes fournissent des options qui permettent de
+tracer des rangées et colonnes extérieures. Voir p.~\pageref{NiceArray} la partie concernant \verb|{NiceArray}|.
\section{Les lignes en pointillés continues}
@@ -213,6 +225,8 @@ partie concernant \verb|{pNiceArrayRC}|.
commande \verb|\iddots|, définie dans \pkg{nicematrix}, est une variante de \verb|\ddots| avec les points allant
vers le haut : \smash{$\iddots$}. Si \pkg{mathdots} est chargée, la version de \pkg{mathdots} est utilisée. Elle
correspond à la commande \verb|\adots| de \pkg{unicode-math}.}
+\newcounter{fniddots}
+\setcounter{fniddots}{\thefootnote}
\smallskip
Chacune de ces commandes doit être utilisée seule dans la case du tableau et elle trace une ligne en pointillés
@@ -227,7 +241,7 @@ a_1 & \Cdots & & & a_1 \\
\Vdots & a_2 & \Cdots & & a_2 \\
& \Vdots & \Ddots \\
\\
-a_1 & a_2 & & & a_n \\
+a_1 & a_2 & & & a_n
\end{bNiceMatrix}
\end{BVerbatim}
$\begin{bNiceMatrix}
@@ -235,7 +249,7 @@ a_1 & \Cdots & & & a_1 \\
\Vdots & a_2 & \Cdots & & a_2 \\
& \Vdots & \Ddots \\
\\
-a_1 & a_2 & & & a_n \\
+a_1 & a_2 & & & a_n
\end{bNiceMatrix}$
\interitem
@@ -306,7 +320,7 @@ $\begin{bNiceMatrix}
\bigskip
En fait, dans cet exemple, il aurait été possible de tracer la même matrice
-sans commandes étoilées avec le codage suivant :\par\nobreak
+sans commande étoilée avec le codage suivant :\par\nobreak
\bigskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
\begin{bNiceMatrix}
@@ -324,17 +338,15 @@ $\begin{bNiceMatrix}
\end{bNiceMatrix}$
\bigskip
-Il y a aussi d'autres moyens de changer la taille d'une matrice. On pourrait
-vouloir utiliser l'argument optionnel de la commande~\verb|\\| pour l'espacement
-vertical et la commande~\verb|\hspace*| dans une case pour l'espacement
-horizontal.\footnote{Le meilleur moyen de régler la largeur des colonnes est,
-de toutes manières, d'utiliser l'environnement \verb|{NiceArray}| avec une colonne
-de type~\verb|w| ou \verb|W|.}
-
-Toutefois, une commande~\verb|\hspace*| pourrait interférer dans la construction
-des lignes en pointillés. C'est pourquoi l'extension \pkg{nicematrix} fournit
-une commande~\verb|\Hspace| qui est une variante de \verb|\hspace| transparente pour la
-construction des lignes en pointillés de \pkg{nicematrix}.\par\nobreak
+Il y a aussi d'autres moyens de changer la taille d'une matrice. On pourrait vouloir utiliser l'argument optionnel
+de la commande~\verb|\\| pour l'espacement vertical et la commande~\verb|\hspace*| dans une case pour l'espacement
+horizontal.\footnote{Le meilleur moyen de régler la largeur des colonnes est, de toutes manières, d'utiliser
+ l'environnement \verb|{NiceArray}| (ou une de ses variantes) avec une colonne de type~\verb|w| ou \verb|W|: cf.
+ p.~\pageref{width}}
+
+Toutefois, une commande~\verb|\hspace*| pourrait interférer dans la construction des lignes en pointillés. C'est
+pourquoi l'extension \pkg{nicematrix} fournit une commande~\verb|\Hspace| qui est une variante de \verb|\hspace|
+transparente pour la construction des lignes en pointillés de \pkg{nicematrix}.\par\nobreak
\bigskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
\begin{bNiceMatrix}
@@ -472,14 +484,14 @@ $\begin{pNiceMatrix}
1 & 2 & 3 & 4 & 5 \\
1 & ~emphase#\Hdotsfor{3}@ & 5 \\
1 & 2 & 3 & 4 & 5 \\
-1 & 2 & 3 & 4 & 5 \\
+1 & 2 & 3 & 4 & 5
\end{pNiceMatrix}$
\end{BVerbatim}
$\begin{pNiceMatrix}
1 & 2 & 3 & 4 & 5 \\
1 & \Hdotsfor{3} & 5 \\
1 & 2 & 3 & 4 & 5 \\
-1 & 2 & 3 & 4 & 5 \\
+1 & 2 & 3 & 4 & 5
\end{pNiceMatrix}$
\bigskip
@@ -499,7 +511,7 @@ $\begin{pNiceMatrix}
1 & 2 & 3 & 4 & 5 \\
& \Hdotsfor{3} \\
1 & 2 & 3 & 4 & 5 \\
-1 & 2 & 3 & 4 & 5 \\
+1 & 2 & 3 & 4 & 5
\end{pNiceMatrix}$
\bigskip
@@ -509,7 +521,8 @@ consécutifs. Par homogénéité, \verb|\Hdotsfor| prend aussi un argument optio
mais cet argument est écarté silencieusement.
Remarque : Contrairement à la commande \verb|\hdotsfor| de \pkg{amsmath}, la commande \verb|\Hdotsfor| est
-compatible avec l'extension \pkg{colortbl}.
+utilisable lorsque l'extension \pkg{colortbl} est chargée (mais vous risquez d'avoir des problèmes si vous utilisez
+\verb|\rowcolor| sur la même rangée que \verb|\Hdotsfor|).
\subsection{Comment créer les lignes en pointillés de manière transparente}
@@ -523,12 +536,10 @@ En fait, cette option est un alias pour la conjonction de deux options : \verb|r
\begin{itemize}
\item L'option \verb|renew-dots|\par\nobreak Avec cette option, les commandes \verb|\ldots|, \verb|\cdots|,
-\verb|\vdots|, \verb|\ddots|, \verb|\iddots|\footnote{La commande \verb|\iddots| n'est pas une commande de LaTeX mais
- est définie dans l'extension \pkg{nicematrix}. Si \pkg{mathdots} est chargée, la version de \pkg{mathdots} est
- utilisée.} et \verb|\hdotsfor| sont redéfinies dans les environnements de \pkg{nicematrix} et agissent comme
-\verb|\Ldots|, \verb|\Cdots|, \verb|\Vdots|, \verb|\Ddots|, \verb|\Iddots| et \verb|\Hdotsfor| ; la commande
-\verb|\dots| (points de suspension «automatiques» de \verb|amsmath|) est aussi redéfinie et se comporte comme
-\verb|\Ldots|.
+\verb|\vdots|, \verb|\ddots|, \verb|\iddots|\footnotemark[\thefniddots] et \verb|\hdotsfor| sont redéfinies dans
+les environnements de \pkg{nicematrix} et agissent comme \verb|\Ldots|, \verb|\Cdots|, \verb|\Vdots|,
+\verb|\Ddots|, \verb|\Iddots| et \verb|\Hdotsfor| ; la commande \verb|\dots| (points de suspension «automatiques»
+de \verb|amsmath|) est aussi redéfinie et se comporte comme \verb|\Ldots|.
\item L'option \verb|renew-matrix|\par\nobreak
Avec cette option, l'environnement \verb|{matrix}| est redéfini et
@@ -574,7 +585,7 @@ et $j$ les numéros de ligne et de colonne de la case considérée.
$\begin{pNiceMatrix}[name=~emphase#ma-matrice@]
1 & 2 & 3 \\
4 & 5 & 6 \\
-7 & 8 & 9 \\
+7 & 8 & 9
\end{pNiceMatrix}$
\tikz[remember picture,overlay]
\draw ~emphase#(ma-matrice-2-2)@ circle (2mm) ;
@@ -582,7 +593,7 @@ $\begin{pNiceMatrix}[name=~emphase#ma-matrice@]
$\begin{pNiceMatrix}[name=ma-matrice]
1 & 2 & 3 \\
4 & 5 & 6 \\
-7 & 8 & 9 \\
+7 & 8 & 9
\end{pNiceMatrix}$
\tikz[remember picture,overlay]
\draw (ma-matrice-2-2) circle (2mm) ;
@@ -638,8 +649,8 @@ a & a & a
\medskip
Les noms des «nœuds larges» s'obtiennent en ajoutant le suffixe «\verb|-large|» au nom des nœuds normaux. Dans l'exemple
suivant, on a surligné tous les «nœuds larges». Nous considérons que cet exemple se suffit à lui-même comme
-définition de ces nœuds.\footnote{Dans les environnements du type de \verb|{pNiceArrayC}| et \verb|{pNiceArrayRC}|, il
- n'y a pas de «nœuds larges» créés dans la rangée supplémentaire et la colonne supplémentaire.}
+définition de ces nœuds.\footnote{Il n'y a pas de «nœuds larges» créés dans les lignes et colonnes extérieures
+ (pour ces lignes et colonnes, voir p.~\pageref{exterior}).}
\[\begin{pNiceMatrix}[
create-extra-nodes,
@@ -692,7 +703,7 @@ a & a & a
\end{pNiceMatrix}\]
\medskip
-Il est aussi possible d'ajouter de l'espace des deux côtés du tableau avec les options
+Il est aussi possible d'ajouter de l'espace sur les côtés du tableau avec les options
\verb|extra-left-margin| et \verb|extra-right-margin|. Ces marges ne sont pas incorporées dans les «nœuds larges».
Dans l'exemple suivant, nous avons utilisé \verb|extra-left-margin| et \verb|extra-right-margin| avec la valeur $3$~pt.
\[\begin{pNiceMatrix}[
@@ -759,13 +770,13 @@ entre les nœuds).
$\begin{pNiceMatrix}[~emphase#code-after = {\line {1-1} {3-3}}@]
0 & 0 & 0 \\
0 & & 0 \\
-0 & 0 & 0 \\
+0 & 0 & 0
\end{pNiceMatrix}$
\end{BVerbatim}
$\begin{pNiceMatrix}[code-after = {\line {1-1} {3-3}}]
0 & 0 & 0 \\
0 & & 0 \\
-0 & 0 & 0 \\
+0 & 0 & 0
\end{pNiceMatrix}$
@@ -799,219 +810,158 @@ $\left[\begin{NiceArray}{CCCC|C}
a_1 & ? & \Cdots & ? & ? \\
0 & & \Ddots & \Vdots & \Vdots\\
\Vdots & \Ddots & \Ddots & ? \\
-0 & \Cdots & 0 & a_n & ? \\
+0 & \Cdots & 0 & a_n & ?
\end{NiceArray}\right]$
\end{BVerbatim}
$\left[\begin{NiceArray}{CCCC|C}
a_1 & ? & \Cdots & ? & ? \\
0 & & \Ddots & \Vdots & \Vdots\\
\Vdots & \Ddots & \Ddots & ? \\
-0 & \Cdots & 0 & a_n & ? \\
+0 & \Cdots & 0 & a_n & ?
\end{NiceArray}\right]$
\vspace{1cm}
-Un exemple où on utilise \verb|{NiceArray}| parce que l'on veut utiliser les types de colonne \verb|L| et
-\verb|R| :
+Il existe également des variantes pour l'environnement \verb|{NiceArray}|:
+\verb|{pNiceArray}|, \verb|{bNiceArray}|, \verb|{BNiceArray}|, \verb|{vNiceArray}| et
+\verb|{VNiceArray}|.
+
+
+Dans l'exemple suivant, on utilise un environnment \verb|{pNiceArray}| (on n'utilise pas \verb|{pNiceMatrix}| car
+on souhaite utiliser les types de colonne \verb|L| et \verb|R| --- avec \verb|{pNiceMatrix}|, toutes les
+colonnes sont de type \verb|C|).
+
\bigskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
-$\left(\begin{NiceArray}{LCR}
+$\begin{pNiceArray}{LCR}
a_{11} & \Cdots & a_{1n} \\
a_{21} & & a_{2n} \\
\Vdots & & \Vdots \\
-a_{n-1,1} & \Cdots & a_{n-1,n} \\
-\end{NiceArray}\right)$
+a_{n-1,1} & \Cdots & a_{n-1,n}
+\end{pNiceArray}$
\end{BVerbatim}
-$\left(\begin{NiceArray}{LCR}
+$\begin{pNiceArray}{LCR}
a_{11} & \Cdots & a_{1n} \\
a_{21} & & a_{2n} \\
\Vdots & & \Vdots \\
-a_{n-1,1} & \Cdots & a_{n-1,n} \\
-\end{NiceArray}\right)$
-
+a_{n-1,1} & \Cdots & a_{n-1,n}
+\end{pNiceArray}$
+\vspace{1cm}
+L'environnement \verb|{NiceArray}| et ses variantes permettent de composer des rangées et des colonnes «extérieures» grâce aux options
+\verb|first-row|, \verb|last-row|, \verb|first-col| et \verb|last-col|.
+\label{exterior}
+Il n'y a pas de spécification de colonne à fournir pour l'éventuelle «première colonne» (qui sera automatiquement
+une colonne de type \verb|R|) ou pour l'éventuelle «dernière colonne» (qui sera automatiquement de type \verb|L|).
-\section{L'environnement \{pNiceArrayC\} et ses variantes}
-\label{pNiceArrayC}
-L'environnement \verb|{pNiceArrayC}| compose une matrice avec une colonne extérieure.
+\begin{Verbatim}
+$\begin{pNiceArray}{CCCC}[~emphase#first-row,last-row,first-col,last-col@]
+ & C_1 & C_2 & C_3 & C_4 & \\
+L_1 & a_{11} & a_{12} & a_{13} & a_{14} & L_1 \\
+L_2 & a_{21} & a_{22} & a_{23} & a_{24} & L_2 \\
+L_3 & a_{31} & a_{32} & a_{33} & a_{34} & L_3 \\
+L_4 & a_{41} & a_{42} & a_{43} & a_{44} & L_4 \\
+ & C_1 & C_2 & C_3 & C_4 &
+\end{pNiceArray}$
+\end{Verbatim}
+%
+\[\begin{pNiceArray}{CCCC}[first-row,last-row,first-col,last-col]
+ & C_1 & C_2 & C_3 & C_4 & \\
+L_1 & a_{11} & a_{12} & a_{13} & a_{14} & L_1 \\
+L_2 & a_{21} & a_{22} & a_{23} & a_{24} & L_2 \\
+L_3 & a_{31} & a_{32} & a_{33} & a_{34} & L_3 \\
+L_4 & a_{41} & a_{42} & a_{43} & a_{44} & L_4 \\
+ & C_1 & C_2 & C_3 & C_4 &
+\end{pNiceArray}\]
-L'environnement \verb|{pNiceArrayC}| prend un argument obligatoire qui est le préambule du tableau.
-Les types de colonne disponibles sont les mêmes que pour l'environnement \verb|{NiceArray}|. Néanmoins, aucune
-spécification de colonne ne doit être donnée pour la dernière colonne. Ce sera automatiquement (et obligatoirement)
-une colonne de type \verb|L|.
+\bigskip
-Une option spéciale, nommée \verb|code-for-last-col|, permet d'indiquer des tokens qui seront insérés au début de
-chaque case de la dernière colonne. L'option \verb|columns-width| ne s'applique pas à la colonne extérieure.
+Néanmoins, il y a une particularité avec l'option \verb|last-row| : quand LaTeX compose un tableau \verb|{array}|
+(via une commande \verb|\halign| de TeX), il le compose rangée par rangée et il n'y a pas de moyen direct de savoir
+que l'on est arrivé à la dernière rangée avant la composition de celle-ci. Pour remédier à ce problème,
+\pkg{nicematrix} écrit dans le fichier \verb|aux| le nombre de rangées du tableau pour pouvoir l'utiliser à la
+compilation suivante. Il est néanmoins également possible de passer directement le nombre de rangées en argument de
+l'option \verb|last-row| et, ainsi, \pkg{nicematrix} le connaîtra dès la première compilation.
\bigskip
+On peut contrôler l'apparence de ces rangées et colonnes avec les options \verb|code-for-first-row|,
+\verb|code-for-last-row|, \verb|code-for-first-col| et \verb|code-for-last-col|. Ces options sont des listes de
+tokens qui seront insérées au début de chaque case de la rangée ou de la colonne considérée.
\begin{Verbatim}
-$\begin{pNiceArrayC}{*6C|C}[nullify-dots,~emphase#code-for-last-col={\scriptstyle}@]
-1 & 1 & 1 &\Cdots & & 1 & 0 & \\
-0 & 1 & 0 &\Cdots & & 0 & & L_2 \gets L_2-L_1 \\
-0 & 0 & 1 &\Ddots & & \Vdots & & L_3 \gets L_3-L_1 \\
- & & &\Ddots & & & \Vdots & \Vdots \\
-\Vdots & & &\Ddots & & 0 & \\
-0 & & &\Cdots & 0 & 1 & 0 & L_n \gets L_n-L_1
-\end{pNiceArrayC}$
+\NiceMatrixOptions{~emphase#code-for-first-row@ = \color{red},
+ ~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=5,first-col,last-col]
+ & C_1 & C_2 & C_3 & C_4 & \\
+L_1 & a_{11} & a_{12} & a_{13} & a_{14} & L_1 \\
+L_2 & a_{21} & a_{22} & a_{23} & a_{24} & L_2 \\
+\hline
+L_3 & a_{31} & a_{32} & a_{33} & a_{34} & L_3 \\
+L_4 & a_{41} & a_{42} & a_{43} & a_{44} & L_4 \\
+ & C_1 & C_2 & C_3 & C_4 &
+\end{pNiceArray}$
\end{Verbatim}
+%
+\begin{scope}
+\NiceMatrixOptions{code-for-first-row = \color{red},
+ code-for-first-col = \color{blue},
+ code-for-last-row = \color{green},
+ code-for-last-col = \color{magenta}}
+\[\begin{pNiceArray}{CC|CC}[first-row,last-row=5,first-col,last-col]
+ & C_1 & \multicolumn1C{C_2} & C_3 & C_4 & \\
+L_1 & a_{11} & a_{12} & a_{13} & a_{14} & L_1 \\
+L_2 & a_{21} & a_{22} & a_{23} & a_{24} & L_2 \\
+\hline
+L_3 & a_{31} & a_{32} & a_{33} & a_{34} & L_3 \\
+L_4 & a_{41} & a_{42} & a_{43} & a_{44} & L_4 \\
+ & C_1 & \multicolumn1C{C_2} & C_3 & C_4 &
+\end{pNiceArray}\]
+\end{scope}
-\[\begin{pNiceArrayC}{*6C|C}[nullify-dots,code-for-last-col={\scriptstyle}]
-1 & 1 & 1 &\Cdots & & 1 & 0 & \\
-0 & 1 & 0 &\Cdots & & 0 & & L_2 \gets L_2-L_1 \\
-0 & 0 & 1 &\Ddots & & \Vdots & & L_3 \gets L_3-L_1 \\
- & & &\Ddots & & & \Vdots & \Vdots \\
-\Vdots & & &\Ddots & & 0 & \\
-0 & & &\Cdots & 0 & 1 & 0 & L_n \gets L_n-L_1
-\end{pNiceArrayC}\]
-
-
-
-\bigskip
-On remarquera qu'un trait horizontal tracé avec \verb|\hline| ne s'étend \emph{pas} dans la dernière colonne.
-\medskip
-\begin{BVerbatim}[baseline=c,boxwidth=11cm]
-$\begin{pNiceArrayC}
-a_{11} & a_{12} & a_{13} \\
-a_{21} & a_{22} & a_{23} \\
-a_{31} & a_{32} & a_{33} \\
-~emphase#\hline@
-S_1 & S_2 & S_3
-\end{pNiceArrayC}$
-\end{BVerbatim}
-$\begin{pNiceArrayC}{CCC}
-a_{11} & a_{12} & a_{13} & L_1 \\
-a_{21} & a_{22} & a_{23} & L_2 \\
-a_{31} & a_{32} & a_{33} & L_3 \\
-\hline
-S_1 & S_2 & S_3
-\end{pNiceArrayC}$
+\emph{Remarques}
+\begin{itemize}
+\item Comme on peut le voir dans l'exemple précédent, un filet horizontal (tracé avec \verb|\hline|) ne s'étend pas
+dans les colonnes extérieures et un filet vertical (spécifié par un caractère «\verb+|+» dans le préambule du
+tableau) ne s'étend pas dans les rangées extérieures.\footnote{Ce dernier point n'est pas valable si on a chargé,
+ en plus de \pkg{nicematrix}, l'extension \pkg{arydshln}. Les extensions \pkg{nicematrix} et \pkg{arydshln} ne
+ sont pas parfaitement compatibles car \pkg{arydshln} redéfinit beaucoup de structures internes à \pkg{array}.}
+\item La «première rangée» d'un environnement \verb|{pNiceArray}| porte le numéro $0$, et non $1$ (de même pour la
+«première colonne»). Ce numéro est utilisé, par exemple, pour les noms des nœuds Tikz (les noms de ces nœuds sont
+utilisés, par exemple, par la commande \verb|\line| dans le \verb|code-after|).
+\item Sans surprise, une éventuelle option \verb|columns-width| (décrite 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 \verb|\\| après la
+«première rangée» ou avant la «dernière rangée» (le placement des délimiteurs serait erroné).
+\end{itemize}
\bigskip
-En fait, l'environnement \verb|{pNiceArrayC}| et ses variantes sont fondés sur un environnement plus général, appelé
-\verb|{NiceArrayCwithDelims}|. Les deux premiers arguments obligatoires de cet environnement sont les délimiteurs
+En fait, l'environnement \verb|{pNiceArray}| et ses variantes sont fondés sur un environnement plus général, appelé
+\verb|{NiceArrayWithDelims}|. Les deux premiers arguments obligatoires de cet environnement sont les délimiteurs
gauche et droit qui seront utilisés dans la construction de la matrice. Il est possible d'utiliser
-\verb|{NiceArrayCwithDelims}| si on a besoin de délimiteurs atypiques.
+\verb|{NiceArrayWithDelims}| si on a besoin de délimiteurs atypiques.
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=11cm]
-$\begin{NiceArrayCwithDelims}
- {\downarrow}{\downarrow}{CCC}
+$\begin{~emphase#NiceArrayWithDelims@}
+ {\downarrow}{\downarrow}{CCC}[last-col]
1 & 2 & 3 & L_1 \\
4 & 5 & 6 & L_2 \\
7 & 8 & 9 & L_3
-\end{NiceArrayCwithDelims}$
+\end{~emphase#NiceArrayWithDelims@}$
\end{BVerbatim}
-$\begin{NiceArrayCwithDelims}
- {\downarrow}{\downarrow}{CCC}
+$\begin{NiceArrayWithDelims}
+ {\downarrow}{\downarrow}{CCC}[last-col]
1 & 2 & 3 & L_1 \\
4 & 5 & 6 & L_2 \\
7 & 8 & 9 & L_3
-\end{NiceArrayCwithDelims}$
-
-
-
-
-\section{L'environnement \{pNiceArrayRC\} et ses variantes}
-\label{pNiceArrayRC}
-
-L'environnement \verb|{pNiceArrayRC}| compose une matrice avec une rangée extérieure et une colonne extérieure.
-
-Cet environnement \verb|{pNiceArrayRC}| prend un argument obligatoire qui est le préambule du tableau. Comme pour
-l'environnement \verb|{pNiceArrayC}|, aucune spécification ne doit être fournie pour la dernière colonne qui sera
-automatiquement une colonne de type \verb|L|.
-
-Une option spéciale, appelée \verb|code-for-first-row|, permet d'indiquer des tokens qui seront insérés au début de
-chaque case de la rangée extérieure.
-
-
-\bigskip
-\begin{BVerbatim}[baseline=c,boxwidth=11cm]
-$\begin{pNiceArrayRC}{CCC}% (ici, % est obligatoire)
- [columns-width = auto,
- code-for-first-row = \color{blue},
- code-for-last-col = \color{blue}]
-C_1 & C_2 & C_3 \\
-1 & 2 & 3 & L_1\\
-4 & 5 & 6 & L_2\\
-7 & 8 & 9 & L_3\\
-\end{pNiceArrayRC}$
-\end{BVerbatim}
-$\begin{pNiceArrayRC}{CCC}[columns-width=auto,
- code-for-first-row = \color{blue},
- code-for-last-col = \color{blue}]
-C_1 & C_2 & C_3 \\
-1 & 2 & 3 & L_1 \\
-4 & 5 & 6 & L_2 \\
-7 & 8 & 9 & L_3 \\
-\end{pNiceArrayRC}$
-
-
-\bigskip
-La première rangée d'un environnement \verb|{pNiceArrayRC}| a le numéro $0$, et non~$1$. Ce numéro est utilisé pour
-les noms des nœuds Tikz (les noms de ces nœuds sont utilisés, par exemple, par la commande \verb|\line| dans le \verb|code-after|).
-
-Pour des raisons techniques, il n'est pas possible d'utiliser l'option de la commande \verb|\\| après la première
-rangée (le placement des délimiteurs serait erroné).
-
-
-\bigskip
-
-\bigskip
-Si on veut écrire un système linéaire, on peut utiliser le code suivant, avec un préambule \verb"CCC|C":\par\nobreak
-
-\medskip
-\begin{BVerbatim}[baseline=c,boxwidth=11cm]
-$\begin{pNiceArrayRC}{~emphase#CCC|C@}
-C_1 & \Cdots & C_n \\
-a_{11} & \Cdots & a_{1n} & b_1 \\
-\Vdots & & \Vdots & \Vdots \\
-a_{n1} & \Cdots & a_{nn} & b_n \\
-\end{pNiceArrayRC}$
-\end{BVerbatim}
-$\begin{pNiceArrayRC}{CCC|C}
-C_1 & \Cdots & \multicolumn1C{C_n} \\
-a_{11} & \Cdots & a_{1n} & b_1 \\
-\Vdots & & \Vdots & \Vdots \\
-a_{n1} & \Cdots & a_{nn} & b_n \\
-\end{pNiceArrayRC}$
-
-\medskip
-On remarquera que le trait vertical ne s'étend pas dans la première rangée.\footnote{Il s'agit d'une
- caractéristique apparue dans la version 2.3 de \pkg{nicematrix}. Dans les versions antérieures, le trait
- s'étendait dans la première rangée. On doit remarquer que si \pkg{arydshln} est chargé, le trait va se prolonger
- dans la première rangée (c'est parce que \pkg{arydshln} redéfinit de nombreuses macros internes de \pkg{array}).}
-
-
-\bigskip
-En fait, l'environnement \verb|{pNiceArrayRC}| et ses variantes sont fondés sur un environnement plus général, appelé
-\verb|{NiceArrayRCwithDelims}|. Les deux premiers arguments obligatoires de cet environnement sont les délimiteurs
-gauche et droit qui seront utilisés dans la construction de la matrice. Il est possible d'utiliser
-\verb|{NiceArrayRCwithDelims}| si on a besoin de délimiteurs atypiques.
-
-
-\medskip
-\begin{BVerbatim}[baseline=c,boxwidth=11cm]
-$\begin{NiceArrayRCwithDelims}
- {\downarrow}{\downarrow}{CCC}[columns-width=auto]
-C_1 & C_2 & C_3 \\
-1 & 2 & 3 \\
-4 & 5 & 6 \\
-7 & 8 & 9
-\end{NiceArrayRCwithDelims}$
-\end{BVerbatim}
-$\begin{NiceArrayRCwithDelims}
- {\downarrow}{\downarrow}{CCC}[columns-width=auto]
-C_1 & C_2 & C_3 \\
-1 & 2 & 3 \\
-4 & 5 & 6 \\
-7 & 8 & 9
-\end{NiceArrayRCwithDelims}$
+\end{NiceArrayWithDelims}$
@@ -1019,9 +969,9 @@ C_1 & C_2 & C_3 \\
\section[Les lignes en pointillés pour séparer les rangées et les colonnes]{Les lignes en pointillés pour séparer les rangées\\ et les colonnes}
-Dans les environnements \pkg{nicematrix}, il est possible d'utiliser la commande
-\verb|\hdottedline| (fournie par \pkg{nicematrix}) qui est l'équivalent pour les pointillés des commandes
-\verb|\hline| et \verb|\hdashline| (de \pkg{arydshln}).
+Dans les environnements de \pkg{nicematrix}, il est possible d'utiliser la commande \verb|\hdottedline| (fournie
+par \pkg{nicematrix}) qui est l'équivalent pour les pointillés des commandes \verb|\hline| et \verb|\hdashline|
+(cette dernière étant une commande de \pkg{arydshln}).
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=9.5cm]
@@ -1041,103 +991,106 @@ $\begin{pNiceMatrix}
\bigskip
-Dans les environnements avec un préambule explicite (comme
-\verb|{NiceArray}|, etc.), il est possible de dessiner un trait vertical en pointillés avec le spécificateur
-«\verb|:|».
+Dans les environnements avec un préambule explicite (comme \verb|{NiceArray}|, \verb|{pNiceArray}|, etc.), il est
+possible de dessiner un trait vertical en pointillés avec le spécificateur «\verb|:|».
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=9.5cm]
-\left(\begin{NiceArray}{CCCC~emphase#:@C}
+\begin{pNiceArray}{CCCC~emphase#:@C}
1 & 2 & 3 & 4 & 5 \\
6 & 7 & 8 & 9 & 10 \\
11 & 12 & 13 & 14 & 15
-\end{NiceArray}\right)
+\end{pNiceArray}
\end{BVerbatim}
-$\left(\begin{NiceArray}{CCCC:C}
+$\begin{pNiceArray}{CCCC:C}
1 & 2 & 3 & 4 & 5 \\
6 & 7 & 8 & 9 & 10 \\
11 & 12 & 13 & 14 & 15
-\end{NiceArray}\right)$
+\end{pNiceArray}$
\bigskip
-Ces lignes en pointillés ne s'étendent \emph{pas} dans la première rangée et la dernière colonne des environnements
-qui proposent ces fonctionnalités (par ex. \verb|{pNiceArrayRC}|).
+Ces lignes en pointillés ne s'étendent pas dans les rangées et colonnes extérieures.
+
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=9.5cm]
-$\begin{pNiceArrayRC}{CCC:C}%
- [ code-for-first-row = \color{blue}\scriptstyle,
- code-for-last-col = \color{blue}\scriptstyle ]
+$\begin{pNiceArray}{CCC:C}%
+ [first-row,last-col,
+ code-for-first-row = \color{blue}\scriptstyle,
+ code-for-last-col = \color{blue}\scriptstyle ]
C_1 & C_2 & C_3 & C_4 \\
1 & 2 & 3 & 4 & L_1 \\
5 & 6 & 7 & 8 & L_2 \\
9 & 10 & 11 & 12 & L_3 \\
\hdottedline
13 & 14 & 15 & 16 & L_4
-\end{pNiceArrayRC}$
+\end{pNiceArray}$
\end{BVerbatim}
-$\begin{pNiceArrayRC}{CCC:C}[ code-for-first-row = \color{blue}\scriptstyle,
- code-for-last-col = \color{blue}\scriptstyle ]
+$\begin{pNiceArray}{CCC:C}%
+ [first-row,last-col,
+ code-for-first-row = \color{blue}\scriptstyle,
+ code-for-last-col = \color{blue}\scriptstyle ]
C_1 & C_2 & C_3 & C_4 \\
1 & 2 & 3 & 4 & L_1 \\
5 & 6 & 7 & 8 & L_2 \\
9 & 10 & 11 & 12 & L_3 \\
\hdottedline
13 & 14 & 15 & 16 & L_4
-\end{pNiceArrayRC}$
+\end{pNiceArray}$
\bigskip
-Il est possible de changer dans
-\pkg{nicematrix} la lettre utilisée pour indiquer dans le préambule un trait vertical en pointillés
-avec l'option \verb|letter-for-dotted-lines| disponible dans \verb|\NiceMatrixOptions|.
-Par exemple, dans ce document, nous avons chargé l'extension \pkg{arydshln} qui utilise la lettre «\verb|:|»
-pour indiquer un trait vertical en tiretés. Par conséquent, en utilisant l'option \verb|letter-for-dotted-lines|,
-on peut utiliser les traits verticaux fournis à la fois par \pkg{arydshln} et par \pkg{nicematrix}.
+Il est possible de changer dans \pkg{nicematrix} la lettre utilisée pour indiquer dans le préambule un trait
+vertical en pointillés avec l'option \verb|letter-for-dotted-lines| disponible dans \verb|\NiceMatrixOptions|. Par
+exemple, dans ce document, nous avons chargé l'extension \pkg{arydshln} qui utilise la lettre «\verb|:|» pour
+indiquer un trait vertical en tiretés. Par conséquent, en utilisant l'option \verb|letter-for-dotted-lines|, on
+peut utiliser les traits verticaux fournis à la fois par \pkg{arydshln} et par \pkg{nicematrix}.
+
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=9.5cm]
\NiceMatrixOptions{letter-for-dotted-lines = V}
-\left(\begin{NiceArray}{~emphase#C|C:CVC@}
+\begin{pNiceArray}{~emphase#C|C:CVC@}
1 & 2 & 3 & 4 \\
5 & 6 & 7 & 8 \\
9 & 10 & 11 & 12
-\end{NiceArray}\right)
+\end{pNiceArray}
\end{BVerbatim}
\begin{scope}
\NiceMatrixOptions{letter-for-dotted-lines = V}
-$\left(\begin{NiceArray}{C|C:CVC}
+$\begin{pNiceArray}{C|C:CVC}
1 & 2 & 3 & 4 \\
5 & 6 & 7 & 8 \\
9 & 10 & 11 & 12
-\end{NiceArray}\right)$
+\end{pNiceArray}$
\end{scope}
\section{La largeur des colonnes}
\label{width}
-Dans les environnements avec un préambule explicite
-(comme \verb|{NiceArray}|, \verb|{pNiceArrayC}|, etc.), il est possible
-de fixer la largeur d'une colonne avec les lettres classiques \verb|w| et \verb|W| de l'extension \pkg{array}.
+Dans les environnements avec un préambule explicite (comme \verb|{NiceArray}|, \verb|{pNiceArray}|, etc.), il est
+possible de fixer la largeur d'une colonne avec les lettres classiques \verb|w| et \verb|W| de l'extension
+\pkg{array}. Dans les environnements de \pkg{nicematrix}, les cases des colonnes de ce type sont composées en mode
+mathématique (alors que dans \verb|{array}| de \pkg{array}, elles sont composées en mode texte).
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
-$\left(\begin{NiceArray}{~emphase#wc{1cm}@CC}
+$\begin{pNiceArray}{~emphase#Wc{1cm}@CC}
1 & 12 & -123 \\
12 & 0 & 0 \\
4 & 1 & 2
-\end{NiceArray}\right)$
+\end{pNiceArray}$
\end{BVerbatim}
-$\left(\begin{NiceArray}{wc{1cm}CC}
+$\begin{pNiceArray}{Wc{1cm}CC}
1 & 12 & -123 \\
12 & 0 & 0 \\
4 & 1 & 2
-\end{NiceArray}\right)$
+\end{pNiceArray}$
\bigskip
-Il est aussi possible de fixer la largeur de toutes les colonnes de la matrice directement avec l'option
-\verb|columns-width| (disponible dans tous les environnements de \pkg{nicematrix}).
+Avec \pkg{nicematrix}, il est aussi possible de fixer la largeur de toutes les colonnes de la matrice directement
+avec l'option \verb|columns-width| (disponible dans tous les environnements de \pkg{nicematrix}).
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
@@ -1160,7 +1113,7 @@ possible de le supprimer en mettant \verb|\arraycolsep| à~$0$).
\bigskip
Il est possible de donner la valeur \verb|auto| à l'option \verb|columns-width| : toutes les colonnes du tableau
auront alors une largeur égale à la largeur de la case la plus large du tableau. \textbf{Deux ou trois
- compilations peuvent être nécessaires.}\par\nobreak
+ compilations successives peuvent être nécessaires.}\par\nobreak
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
@@ -1183,23 +1136,23 @@ document avec la commande \verb|\NiceMatrixOptions|.\par\nobreak
\begin{BVerbatim}[baseline=c,boxwidth=8.5cm]
~emphase#\NiceMatrixOptions{columns-width=10mm}@
$\begin{pNiceMatrix}
-a & b \\ c & d \\
+a & b \\ c & d
\end{pNiceMatrix}
=
\begin{pNiceMatrix}
-1 & 1245 \\ 345 & 2 \\
+1 & 1245 \\ 345 & 2
\end{pNiceMatrix}$
\end{BVerbatim}
\begin{scope}
\NiceMatrixOptions{columns-width=10mm}
$\begin{pNiceMatrix}
a & b \\
-c & d \\
+c & d
\end{pNiceMatrix}
=
\begin{pNiceMatrix}
1 & 1245 \\
-345 & 2 \\
+345 & 2
\end{pNiceMatrix}$
\end{scope}
@@ -1214,72 +1167,69 @@ utilise l'environnement \verb|{NiceMatrixBlock}| avec l'option \verb|auto-column
\begin{BVerbatim}[baseline=c,boxwidth=8.5cm]
~emphase#\begin{NiceMatrixBlock}[auto-columns-width]@
$\begin{pNiceMatrix}
-a & b \\ c & d \\
+a & b \\ c & d
\end{pNiceMatrix}
=
\begin{pNiceMatrix}
-1 & 1245 \\ 345 & 2 \\
+1 & 1245 \\ 345 & 2
\end{pNiceMatrix}$
~emphase#\end{NiceMatrixBlock}@
\end{BVerbatim}
\begin{NiceMatrixBlock}[auto-columns-width]
$\begin{pNiceMatrix}
-a & b \\ c & d \\
+a & b \\ c & d
\end{pNiceMatrix}
=
\begin{pNiceMatrix}
-1 & 1245 \\ 345 & 2 \\
+1 & 1245 \\ 345 & 2
\end{pNiceMatrix}$
\end{NiceMatrixBlock}
\section{L'option hlines}
-Il est bien entendu possible d'ajouter des filets horizontaux entre les lignes avec la commande~\verb|\hline| dans les
-environnements de \pkg{nicematrix} mais il est aussi possible de demander que tous les filets horizontaux soient
-tracés avec l'option \verb|hlines|.
-
+Dans les environnements de \pkg{nicematrix}, on peut bien entendu ajouter des filets horizontaux entre les lignes
+avec la commande~\verb|\hline|. Par souci de commodité, l'extension \pkg{nicemarix} fournit l'option \verb|hlines|
+qui impose directement que tous les filets horizontaux soient tracés (à l'exception, très naturelle, du
+filet avant l'éventuelle «première rangée» et après l'éventuelle «dernière rangée»).
\medskip
-\begin{BVerbatim}[baseline=c,boxwidth=8.5cm]
-$\begin{NiceArray}{|*{4}{C|}}[~emphase#hlines@]
-e & a & b & c \\
-a & e & c & b \\
-b & c & e & a \\
-c & b & a & e
+\begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
+$\begin{NiceArray}{|*{4}{C|}}[~emphase#hlines@,first-row,first-col]
+ & e & a & b & c \\
+e & e & a & b & c \\
+a & a & e & c & b \\
+b & b & c & e & a \\
+c & c & b & a & e
\end{NiceArray}$
\end{BVerbatim}
-$\begin{NiceArray}{|*{4}{C|}}[hlines]
-e & a & b & c \\
-a & e & c & b \\
-b & c & e & a \\
-c & b & a & e
-\end{NiceArray}$
+\raisebox{-5mm}{\box\ExampleOne}
\section{Utilisation du type de colonne S de siunitx}
Si l'extension \pkg{siunitx} est chargée (avant ou après \pkg{nicematrix}), il est possible d'utiliser les colonnes
de type \verb|S| de \pkg{siunitx} dans les environnements de \pkg{nicematrix}. L'implémentation n'utilise
-explicitement aucune macro privée de \pkg{siunitx}.
+explicitement aucune macro privée de \pkg{siunitx}. Les colonnes \verb|d| de \pkg{dcolumn} ne sont pas prises en
+charge par \pkg{nicematrix}.
\medskip
\begin{BVerbatim}[baseline = c, boxwidth = 10.5cm]
-$\begin{pNiceArrayRC}{~emphase#S@Cwc{1cm}C}[nullify-dots]
+$\begin{pNiceArray}{~emphase#S@CWc{1cm}C}[nullify-dots,first-row]
{C_1} & \Cdots & & C_n \\
2.3 & 0 & \Cdots & 0 \\
12.4 & \Vdots & & \Vdots \\
1.45 \\
7.2 & 0 & \Cdots & 0
-\end{pNiceArrayRC}$
+\end{pNiceArray}$
\end{BVerbatim}
-$\begin{pNiceArrayRC}{SCwc{1cm}C}[nullify-dots]
+$\begin{pNiceArray}{SCWc{1cm}C}[nullify-dots,first-row]
{C_1} & \Cdots & & C_n \\
2.3 & 0 & \Cdots & 0 \\
12.4 & \Vdots & & \Vdots \\
1.45 \\
7.2 & 0 & \Cdots & 0
-\end{pNiceArrayRC}$
+\end{pNiceArray}$
\section{Remarques techniques}
@@ -1418,7 +1368,7 @@ Néanmoins, l'utilisateur peut changer ce comportement avec l'option
Cette option est seulement pour la «compatibilité» puisque l'extension \pkg{nicematrix}
fournit un contrôle plus précis avec les options \verb|left-margin|,
-\verb|right-margin|, \verb|extra-left-margin| et \verb|extra-right-margin|.
+\verb|extra-left-margin|, etc.
\subsection{L'option de classe draft}
@@ -1434,7 +1384,7 @@ C'est pourquoi, avec l'option de classe \verb|draft|, les lignes en pointillés
pour accélérer la compilation.
-\subsection{Un problème technique ave l'argument de \textbackslash\textbackslash}
+\subsection{Un problème technique avec l'argument de \textbackslash\textbackslash}
Pour des raisons techniques, si vous utilisez l'argument optionnel de la commande \verb|\\|,
@@ -1499,6 +1449,25 @@ a & \multicolumn1C{\frac AB} \\[2mm]
b & c
\end{pNiceMatrix}$
+\subsection{Environnements obsolètes}
+
+La version 3.0 de \pkg{nicematrix} a introduit l'environnement
+\verb|{pNiceArray}| (et ses variantes) avec les options \verb|first-row|, \verb|last-row|,
+\verb|first-col| et \verb|last-col|.
+
+Par conséquent, les environnements suivants, présents dans les versions précédentes de \pkg{nicematrix} sont devenus
+obsolètes :
+%
+\begin{itemize}
+\item \verb|{NiceArrayCwithDelims}| ;
+\item \verb|{pNiceArrayC}|, \verb|{bNiceArrayC}|, \verb|{BNiceArrayC}|, \verb|{vNiceArrayC}|,
+\verb|{VNiceArrayC}| ;
+\item \verb|{NiceArrayRCwithDelims}| ;
+\item \verb|{pNiceArrayRC}|, \verb|{bNiceArrayRC}|, \verb|{BNiceArrayRC}|, \verb|{vNiceArrayRC}|,
+\verb|{VNiceArrayRC}|.
+\end{itemize}
+
+Ils seront peut-être supprimés dans une version future de \pkg{nicematrix}.
\section{Exemples}
@@ -1579,21 +1548,21 @@ $\begin{pNiceMatrix}
Un exemple avec \verb|\multicolumn|:\par\nobreak
\bigskip
\begin{BVerbatim}
-\begin{pNiceMatrix}[nullify-dots]
+\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{pNiceMatrix}
+\end{BNiceMatrix}
\end{BVerbatim}
\bigskip
-\[\begin{pNiceMatrix}[nullify-dots]
+\[\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{pNiceMatrix}\]
+\end{BNiceMatrix}\]
\vspace{2cm}
Un exemple avec \verb|\Hdotsfor|:\par\nobreak
@@ -1625,32 +1594,56 @@ Un exemple pour le résultant de deux polynômes :
\bigskip
\begin{BVerbatim}
\setlength{\extrarowheight}{1mm}
-\[\begin{NiceArray}{|CCCC:CCC|}[columns-width=6mm]
+\[\begin{vNiceArray}{CCCC:CCC}[columns-width=6mm]
a_0 & && &b_0 & & \\
a_1 &\Ddots&& &b_1 &\Ddots& \\
\Vdots&\Ddots&& &\Vdots &\Ddots&b_0 \\
a_p & &&a_0 & & &b_1 \\
&\Ddots&&a_1 &b_q & &\Vdots\\
& &&\Vdots & &\Ddots& \\
- & &&a_p & & &b_q \\
-\end{NiceArray}\]
+ & &&a_p & & &b_q
+\end{vNiceArray}\]
\end{BVerbatim}
\bigskip
\begin{scope}
\setlength{\extrarowheight}{1mm}
-\[\begin{NiceArray}{|CCCC:CCC|}[columns-width=6mm]
+\[\begin{vNiceArray}{CCCC:CCC}[columns-width=6mm]
a_0 & && &b_0 & & \\
a_1 &\Ddots&& &b_1 &\Ddots& \\
\Vdots&\Ddots&& &\Vdots &\Ddots&b_0 \\
a_p & &&a_0 & & &b_1 \\
&\Ddots&&a_1 &b_q & &\Vdots\\
& &&\Vdots & &\Ddots& \\
- & &&a_p & & &b_q \\
-\end{NiceArray}\]
+ & &&a_p & & &b_q
+\end{vNiceArray}\]
\end{scope}
+\vspace{2cm}
+Un exemple avec un système linéaire:\par\nobreak
+
+\begin{Verbatim}
+$\begin{pNiceArray}{*6C|C}[nullify-dots,last-col,code-for-last-col={\scriptstyle}]
+1 & 1 & 1 &\Cdots & & 1 & 0 & \\
+0 & 1 & 0 &\Cdots & & 0 & & L_2 \gets L_2-L_1 \\
+0 & 0 & 1 &\Ddots & & \Vdots & & L_3 \gets L_3-L_1 \\
+ & & &\Ddots & & & \Vdots & \Vdots \\
+\Vdots & & &\Ddots & & 0 & \\
+0 & & &\Cdots & 0 & 1 & 0 & L_n \gets L_n-L_1
+\end{pNiceArray}$
+\end{Verbatim}
+
+\[\begin{pNiceArray}{*6C|C}[nullify-dots,last-col,code-for-last-col={\scriptstyle}]
+1 & 1 & 1 &\Cdots & & 1 & 0 & \\
+0 & 1 & 0 &\Cdots & & 0 & & L_2 \gets L_2-L_1 \\
+0 & 0 & 1 &\Ddots & & \Vdots & & L_3 \gets L_3-L_1 \\
+ & & &\Ddots & & & \Vdots & \Vdots \\
+\Vdots & & &\Ddots & & 0 & \\
+0 & & &\Cdots & 0 & 1 & 0 & L_n \gets L_n-L_1
+\end{pNiceArray}\]
+
+
\subsection{Largeur des colonnes}
@@ -1664,12 +1657,12 @@ nous voulons la même largeur (automatique) pour toutes les colonnes.
~emphase#\begin{NiceMatrixBlock}[auto-columns-width]@
\NiceMatrixOptions{code-for-last-col = \color{blue}\scriptstyle}
\setlength{\extrarowheight}{1mm}
-\quad $\begin{pNiceArrayC}{CCCC:C}
+\quad $\begin{pNiceArray}{CCCC:C}[last-col]
1&1&1&1&1&\\
2&4&8&16&9&\\
3&9&27&81&36&\\
-4&16&64&256&100&\\
-\end{pNiceArrayC}$
+4&16&64&256&100&
+\end{pNiceArray}$
...
~emphase#\end{NiceMatrixBlock}@
\end{BVerbatim}
@@ -1681,63 +1674,61 @@ nous voulons la même largeur (automatique) pour toutes les colonnes.
\NiceMatrixOptions{code-for-last-col = \color{blue}\scriptstyle}
\setlength{\extrarowheight}{1mm}
-\quad $\begin{pNiceArrayC}{CCCC:C}
+\quad $\begin{pNiceArray}{CCCC:C}[last-col]
1&1&1&1&1&\\
2&4&8&16&9&\\
3&9&27&81&36&\\
-4&16&64&256&100&\\
-\end{pNiceArrayC}$
+4&16&64&256&100&
+\end{pNiceArray}$
\medskip
-\quad $\begin{pNiceArrayC}{CCCC:C}
+\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
1&1&1&1&1&\\
0&2&6&14&7&L_2\gets-2L_1+L_2 \\
0&6&24&78&33&L_3\gets-3L_1+L_3 \\
-0&12&60&252&96&L_4\gets-4L_1+L_4 \\
-\end{pNiceArrayC}$
+0&12&60&252&96&L_4\gets-4L_1+L_4
+\end{pNiceArray}$
\medskip
-\quad $\begin{pNiceArrayC}{CCCC:C}
+\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
1&1&1&1&1&\\
0&1&3&7&\frac72&L_2\gets\frac12L_2\\
0&3&12&39&\frac{33}2&L_3\gets\frac12L_3 \\
-0&1&5&21&8&L_4\gets\frac1{12}L_4 \\
-\end{pNiceArrayC}$
+0&1&5&21&8&L_4\gets\frac1{12}L_4
+\end{pNiceArray}$
\medskip
-\quad $\begin{pNiceArrayC}{CCCC:C}
+\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
1&1&1&1&1&\\
0&1&3&7&\frac72&\\
0&0&3&18&6&L_3 \gets -3L_2+L_3 \\
-0&0&-2&-14&-\frac92&L_4 \gets L_2-L_4 \\
-\end{pNiceArrayC}$
+0&0&-2&-14&-\frac92&L_4 \gets L_2-L_4
+\end{pNiceArray}$
\medskip
-\quad $\begin{pNiceArrayC}{CCCC:C}
+\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
1&1&1&1&1&\\
0&1&3&7&\frac72&\\
0&0&1&6&2&L_3 \gets \frac13L_3\\
-0&0&-2&-14&-\frac92&\\
-\end{pNiceArrayC}$
+0&0&-2&-14&-\frac92&
+\end{pNiceArray}$
\medskip
-\quad $\begin{pNiceArrayC}{CCCC:C}
+\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
1&1&1&1&1&\\
0&1&3&7&\frac72&\\
0&0&1&6&2& \\
-0&0&0&-2&-\frac12 & L_4 \gets 2L_3+L_4 \\
-\end{pNiceArrayC}$
+0&0&0&-2&-\frac12 & L_4 \gets 2L_3+L_4
+\end{pNiceArray}$
\end{NiceMatrixBlock}
\end{multicols}
-
-
\subsection{Comment surligner les cases}
\label{highlight}
@@ -1749,8 +1740,8 @@ moyen» ou le «nœud large»). Dans l'exemple suivant, on utilise les «nœuds
des lignes, on doit fixer \verb|inner sep = -\pgflinewidth/2|.
\begin{Verbatim}
-$\left(\,\begin{NiceArray}{>{\strut}CCCC}%
- [create-extra-nodes,left-margin,right-margin,
+$\begin{pNiceArray}{>{\strut}CCCC}%
+ [create-extra-nodes,margin,extra-margin=2pt,
code-after = {\begin{tikzpicture}
[~emphase#name suffix = -large@,
every node/.style = {draw,
@@ -1764,12 +1755,12 @@ 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}
-\end{NiceArray}\,\right)$
+\end{pNiceArray}$
\end{Verbatim}
-\[\left(\,\begin{NiceArray}{>{\strut}CCCC}[
- create-extra-nodes,left-margin,right-margin,
+\[\begin{pNiceArray}{>{\strut}CCCC}[
+ create-extra-nodes,margin,extra-margin=2pt,
code-after = {\begin{tikzpicture}[name suffix = -large,
every node/.style = {draw,
inner sep = -\pgflinewidth/2}]
@@ -1782,35 +1773,19 @@ 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}
-\end{NiceArray}\,\right)\]
+\end{pNiceArray}\]
\vspace{1cm}
-L'extension \pkg{nicematrix} est construite au-dessus de l'environnement \verb|{array}| et, par conséquent, il est
-possible d'utiliser l'extension \pkg{colortbl} dans les environnements de \pkg{nicematrix}.
-
-\medskip
-\begin{BVerbatim}[baseline=c]
-$\begin{bNiceMatrix}
-0 & \Cdots & 0 \\
-~emphase#\rowcolor{red!15}@ 1 & \Cdots & 1 \\
-0 & \Cdots & 0 \\
-\end{bNiceMatrix}$
-\end{BVerbatim}
-\hspace{2cm}
-$\begin{bNiceMatrix}
-0 & \Cdots & 0 \\
-\rowcolor{red!15} 1 & \Cdots & 1 \\
-0 & \Cdots & 0 \\
-\end{bNiceMatrix}$
-\medskip
-Le résultat peut paraître décevant. C'est pourquoi nous proposons une autre méthode pour surligner une rangée de la
-matrice. Nous créons un nœud Tikz rectangulaire qui englobe les nœuds de la deuxième rangée en uitlisant 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 \verb|blend mode| égal à \verb|multiply|.
-Attention : certains lecteurs de \textsc{pdf} ne sont pas capables de rendre la transparence correctement.
+L'extension \pkg{nicematrix} est construite au-dessus de l'environnement \verb|{array}| et, par conséquent, il est
+possible d'utiliser l'extension \pkg{colortbl} dans les environnements de \pkg{nicematrix}. Les possibilités de
+réglage de \pkg{colortbl} sont néanmoins assez limitées. C'est pourquoi nous proposons une autre méthode pour
+surligner une rangée de la matrice. 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
+\verb|blend mode| égal à \verb|multiply|. Attention : certains lecteurs de \textsc{pdf} ne sont pas capables de
+rendre la transparence correctement.
\tikzset{highlight/.style={rectangle,
@@ -1830,14 +1805,14 @@ Attention : certains lecteurs de \textsc{pdf} ne sont pas capables de rendre la
$\begin{bNiceMatrix}[~emphase#code-after = {\tikz \node[highlight, fit = (2-1) (2-3)] {} ;}@]
0 & \Cdots & 0 \\
1 & \Cdots & 1 \\
-0 & \Cdots & 0 \\
+0 & \Cdots & 0
\end{bNiceMatrix}$
\end{Verbatim}
\[\begin{bNiceMatrix}[code-after = {\tikz \node[highlight, fit = (2-1) (2-3)] {} ;}]
0 & \Cdots & 0 \\
1 & \Cdots & 1 \\
-0 & \Cdots & 0 \\
+0 & \Cdots & 0
\end{bNiceMatrix}\]
@@ -1869,18 +1844,18 @@ On considère maintenant la matrice suivante que l'on a appelée \verb|exemple|.
\medskip
\begin{Verbatim}
-$\begin{pNiceArrayC}{CCC}[~emphase#name=exemple@,create-extra-nodes]
-a & a + b & a + b + c & L_1\\
+$\begin{pNiceArray}{CCC}[~emphase#name=exemple@,create-extra-nodes,last-col]
+a & a + b & a + b + c & L_1 \\
a & a & a + b & L_2 \\
a & a & a & L_3
-\end{pNiceArrayC}$
+\end{pNiceArray}$
\end{Verbatim}
-\[\begin{pNiceArrayC}{CCC}
-a & a + b & a + b + c & L_1\\
+\[\begin{pNiceArray}{CCC}[last-col]
+a & a + b & a + b + c & L_1 \\
a & a & a + b & L_2 \\
a & a & a & L_3
-\end{pNiceArrayC}\]
+\end{pNiceArray}\]
\bigskip
Si on veut surligner chaque rangée de la matrice, on peut utiliser la technique précédente trois fois.
@@ -1914,7 +1889,8 @@ Si on veut surligner chaque rangée de la matrice, on peut utiliser la technique
\medskip
On obtient la matrice suivante.
-\[\begin{pNiceArrayC}{CCC}[
+\[\begin{pNiceArray}{CCC}[
+ last-col,
create-extra-nodes,
code-after = {\begin{tikzpicture}[every node/.style = {fill = red!15,
blend mode = multiply,
@@ -1923,10 +1899,10 @@ On obtient la matrice suivante.
\node [fit = (2-1) (2-3)] {} ;
\node [fit = (3-1) (3-3)] {} ;
\end{tikzpicture}}]
-a & a + b & a + b + c & L_1\\
+a & a + b & a + b + c & L_1 \\
a & a & a + b & L_2 \\
a & a & a & L_3
-\end{pNiceArrayC}\]
+\end{pNiceArray}\]
\medskip
Le résultat peut paraître décevant. On peut l'améliorer en utilisant les «nœuds moyens» au lieu des «nœuds normaux».
@@ -1942,7 +1918,8 @@ Le résultat peut paraître décevant. On peut l'améliorer en utilisant les «n
\medskip
On obtient la matrice suivante.
-\[\begin{pNiceArrayC}{CCC}[
+\[\begin{pNiceArray}{CCC}[
+ last-col,
create-extra-nodes,
code-after = {\begin{tikzpicture}[every node/.style = {fill = red!15,
blend mode = multiply,
@@ -1952,10 +1929,10 @@ On obtient la matrice suivante.
\node [fit = (2-1) (2-3)] {} ;
\node [fit = (3-1) (3-3)] {} ;
\end{tikzpicture}}]
-a & a + b & a + b + c & L_1\\
+a & a + b & a + b + c & L_1 \\
a & a & a + b & L_2 \\
a & a & a & L_3
-\end{pNiceArrayC}\]
+\end{pNiceArray}\]
\vspace{1cm}
@@ -1998,6 +1975,114 @@ A_{41} & A_{42} & A_{43} & A_{44}
\end{NiceArray}\,\right)\]
+\subsection{Utilisation directe des nœuds Tikz}
+
+Dans l'exemple suivant, on souhaite illustrer le produit mathématique de deux matrices.
+
+\medskip
+L'utilisation de \verb|{NiceMatrixBlock}| avec l'option \verb|auto-columns-width| va permettre que toutes les
+colonnes aient la même largeur ce qui permettra un alignement des deux matrices superposées.
+\begin{Verbatim}
+\begin{NiceMatrixBlock}[auto-columns-width]
+\end{Verbatim}
+
+\begin{Verbatim}
+\NiceMatrixOptions{nullify-dots}
+\end{Verbatim}
+
+Les trois matrices vont être disposées les unes par rapport aux autres grâce à un tableau de LaTeX.
+\begin{Verbatim}
+$\begin{array}{cc}
+&
+\end{Verbatim}
+
+La matrice $B$ a une ``première rangée'' (pour $C_j$) d'où l'option \verb|first-row|.
+\begin{Verbatim}
+\begin{bNiceArray}{C>{\strut}CCCC}[name=B,first-row]
+ & & C_j \\
+b_{11} & \Cdots & b_{1j} & \Cdots & b_{1n} \\
+\Vdots & & \Vdots & & \Vdots \\
+ & & b_{kj} \\
+ & & \Vdots \\
+ b_{n1} & \Cdots & b_{nj} & \Cdots & b_{nn}
+\end{bNiceArray} \\ \\
+\end{Verbatim}
+
+La matrice $A$ a une ``première colonne'' (pour $L_i$) d'où l'option \verb|first-col|.
+\begin{Verbatim}
+\begin{bNiceArray}{CC>{\strut}CCC}[name=A,first-col]
+ & a_{11} & \Cdots & & & a_{nn} \\
+ & \Vdots & & & & \Vdots \\
+L_i & a_{i1} & \Cdots & a_{ik} & \Cdots & a_{in} \\
+ & \Vdots & & & & \Vdots \\
+ & a_{n1} & \Cdots & & & a_{nn} \\
+\end{bNiceArray}
+&
+\end{Verbatim}
+
+Dans la matrice produit, on remarquera que les lignes en pointillés sont «semi-ouvertes».
+\begin{Verbatim}
+\begin{bNiceArray}{CC>{\strut}CCC}
+ & & & & \\
+ & & \Vdots \\
+\Cdots & & c_{ij} \\
+\\
+\\
+\end{bNiceArray}
+\end{array}$
+
+\end{NiceMatrixBlock}
+\end{Verbatim}
+
+\begin{Verbatim}
+\begin{tikzpicture}[remember picture, overlay]
+ \node [highlight, fit = (A-3-1) (A-3-5) ] {} ;
+ \node [highlight, fit = (B-1-3) (B-5-3) ] {} ;
+ \draw [color = gray] (A-3-3) to [bend left] (B-3-3) ;
+\end{tikzpicture}
+\end{Verbatim}
+
+
+\begin{NiceMatrixBlock}[auto-columns-width]
+\NiceMatrixOptions{nullify-dots}
+$\begin{array}{cc}
+&
+\begin{bNiceArray}{C>{\strut}CCCC}[name=B,first-row]
+ & & C_j \\
+b_{11} & \Cdots & b_{1j} & \Cdots & b_{1n} \\
+\Vdots & & \Vdots & & \Vdots \\
+ & & b_{kj} \\
+ & & \Vdots \\
+ b_{n1} & \Cdots & b_{nj} & \Cdots & b_{nn}
+\end{bNiceArray} \\ \\
+\begin{bNiceArray}{CC>{\strut}CCC}[name=A,first-col]
+ & a_{11} & \Cdots & & & a_{nn} \\
+ & \Vdots & & & & \Vdots \\
+L_i & a_{i1} & \Cdots & a_{ik} & \Cdots & a_{in} \\
+ & \Vdots & & & & \Vdots \\
+ & a_{n1} & \Cdots & & & a_{nn} \\
+\end{bNiceArray}
+&
+\begin{bNiceArray}{CC>{\strut}CCC}
+ & & & & \\
+ & & \Vdots \\
+\Cdots & & c_{ij} \\
+\\
+\\
+\end{bNiceArray}
+\end{array}$
+
+\end{NiceMatrixBlock}
+
+\begin{tikzpicture}[remember picture, overlay]
+ \node [highlight, fit = (A-3-1) (A-3-5) ] {} ;
+ \node [highlight, fit = (B-1-3) (B-5-3) ] {} ;
+ \draw [color = gray] (A-3-3) to [bend left] (B-3-3) ;
+\end{tikzpicture}
+
+
+
+
\subsection{Matrices par blocs}
\medskip
@@ -2005,8 +2090,8 @@ Dans l'exemple suivant, on utilise les «nœuds larges» pour construire une mat
ont été tracées avec \pkg{arydshln}).
\begin{Verbatim}
\NiceMatrixOptions{letter-for-dotted-lines = V}
-\left(\begin{NiceArray}{CC:CC}%
- [create-extra-nodes,
+\begin{pNiceArray}{CC:CC}% ici, % est obligatoire
+ [create-extra-nodes,
~emphase#code-after = { \tikz \node [fit = (1-1-large) (2-2-large), inner sep = 0 pt]@
~emphase# {$0_{22}$} ; }@ ]
& & a_{13} & a_{14} \\
@@ -2014,14 +2099,14 @@ ont été tracées avec \pkg{arydshln}).
\hdashline
a_{31} & a_{32} & a_{33} & a_{34} \\
a_{41} & a_{42} & a_{34} & a_{44}
-\end{NiceArray}\right)
+\end{pNiceArray}
\end{Verbatim}
\begin{scope}
\NiceMatrixOptions{letter-for-dotted-lines = V}
-\[D = \left(\begin{NiceArray}{CC:CC}[
- create-extra-nodes,
+\[D = \begin{pNiceArray}{CC:CC}%
+ [create-extra-nodes,
code-after = { \tikz \node [fit = (1-1-large) (2-2-large), inner sep = 0 pt]
{$0_{22}$} ; } ]
& & a_{13} & a_{14} \\
@@ -2029,7 +2114,7 @@ a_{41} & a_{42} & a_{34} & a_{44}
\hdashline
a_{31} & a_{32} & a_{33} & a_{34} \\
a_{41} & a_{42} & a_{34} & a_{44}
-\end{NiceArray}\right)\]
+\end{pNiceArray}\]
\end{scope}
diff --git a/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf b/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
index c52a61126fd..35745735051 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
Binary files differ