From e2c2e92594542226ff8816e672ef05dc43a41217 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Thu, 15 Aug 2019 20:22:51 +0000
Subject: nicematrix (15aug19)

git-svn-id: svn://tug.org/texlive/trunk@51885 c570f23f-e606-0410-a88d-b1316a301751
---
 .../doc/latex/nicematrix/nicematrix-french.tex     | 857 +++++++++++----------
 1 file changed, 471 insertions(+), 386 deletions(-)

(limited to 'Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex')

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}
 
 
-- 
cgit v1.2.3

