From 12076ff67b851c936ad4f5d47a8d054a497cb7fb Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Wed, 10 Mar 2021 22:21:00 +0000
Subject: nicematrix (10mar21)

git-svn-id: svn://tug.org/texlive/trunk@58257 c570f23f-e606-0410-a88d-b1316a301751
---
 .../doc/latex/nicematrix/nicematrix-french.tex     | 652 +++++++++++++--------
 1 file changed, 396 insertions(+), 256 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 75a1954df9b..9ae1a3a8abd 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
@@ -232,8 +232,8 @@ l'extension \pkg{nicematrix} propose deux clés |cell-space-top-limit| et
 |cell-space-bottom-limit| qui sont similaires aux deux paramètres
 |\cellspacetoplimit| et |\cellspacebottomlimit| proposés par \pkg{cellspace}. 
 
-\colorbox{yellow!30}{Nouveau 5.9}\enskip Il existe aussi une clé
-|cell-space-limits| pour régler simultanément les deux paramètres.
+Il existe aussi une clé |cell-space-limits| pour régler simultanément les deux
+paramètres. 
 
 La valeur initiale de ces paramètres est $0$~pt pour que les environnements de
 \pkg{nicematrix} aient par défaut le même comportement que ceux de \pkg{array}
@@ -409,7 +409,7 @@ Dans les environnements de \pkg{nicematrix}, on peut utiliser la commande
 |\Block| pour placer un élément au centre d'un rectangle de cases fusionnées. 
 
 La commande |\Block| doit être utilisée dans la case supérieure gauche du bloc
-avec deux arguments. 
+avec deux arguments obligatoires.
 
 \begin{itemize}
 \item Le premier argument est la taille de ce bloc avec la syntaxe $i$-$j$ où
@@ -500,10 +500,34 @@ $\begin{bNiceArray}{ccc|c}[margin]
 \end{bNiceArray}$
 
 
+
+\interitem 
+La commande |\Block| accepte en fait en premier argument optionnel (entre
+crochets) une liste de couples clé-valeur. Les clés sont les suivantes :
+\begin{itemize}
+\item les clés |l|, |c| et |r| réglent le positionnement horizontal comme dit
+précédemment ;
+\item la clé |fill| prend en argument une couleur et remplit le bloc avec cette
+couleur ;
+\item la clé |draw| prend en argument une couleur et trace le cadre avec cette
+couleur (la valeur par défaut de cette clé est la couleur courante des filets du
+tableau) ;
+\item la clé |color| prend en argument une couleur et l'applique au contenu et
+trace également le cadre avec cette couleur.
+\item la clé |line-width| fixe la largeur des filets servant pour le cadre (n'a
+d'intérêt que si |draw| est utilisée) ;
+\item \colorbox{yellow!50}{\textbf{Nouveau 5.12}}\enskip la clé
+|rounded-corners| impose des coins arrondis (pour le cadre dessiné par |draw| et
+le fond dessiné par |fill|) avec un rayon égal à la valeur de cette clé (la
+valeur par défaut est 4~pt\footnote{Cette valeur par défaut est la valeur
+  initiale des \emph{rounded corners} de Tikz.}).
+\end{itemize}
+
+
 \interitem
 \textbf{On doit remarquer que, par défaut, les blocs ne créent pas d'espace}. Il
 n'y a exception que pour les blocs mono-rangée et les blocs mono-colonne comme
-expliqué juste après.
+expliqué plus loin.
 
 
 \medskip
@@ -512,10 +536,11 @@ construction |wc{...}| de \pkg{array}).
 
 \medskip
 \begin{BVerbatim}
-\begin{NiceTabular}~emphase#{cwc{2cm}wc{3cm}c}@
+\begin{NiceTabular}{cwc{2cm}wc{3cm}c}
 rose      & tulipe & marguerite & dahlia \\
 violette  
-& \Block[draw=red,fill=red!15]{2-2}{\LARGE De très jolies fleurs}  & & souci \\
+& ~emphase#\Block[draw=red,fill=red!15,rounded-corners]{2-2}{\LARGE De très jolies fleurs}@  
+   & & souci \\
 pervenche & & & lys \\
 arum      & iris & jacinthe & muguet 
 \end{NiceTabular}
@@ -526,20 +551,13 @@ arum      & iris & jacinthe & muguet
 \begin{center}
 \begin{NiceTabular}{cwc{2cm}wc{3cm}c}
 rose      & tulipe & marguerite & dahlia \\
-violette  & \Block[draw=red,fill=red!15]{2-2}{\LARGE De très jolies fleurs} & & souci \\
+violette  & \Block[draw=red,fill=red!15,rounded-corners]{2-2}
+  {\LARGE De très jolies fleurs} & & souci \\
 pervenche & & & lys \\
 arum      & iris & jacinthe & muguet 
 \end{NiceTabular}
 \end{center}
 
-\medskip
-Comme on le voit sur cet exemple, on peut fixer la couleur de fond avec la clé
-|fill| et la couleur du cadre avec la clé |draw|\footnote{Si la clé |draw| est
-  utilisée sans valeur, c'est la couleur par défaut des filets de tableaux qui
-  est utilisée.}. On peut aussi fixer l'épaisseur du trait avec la clé
-|line-width|.
-
-
 
 \subsection{Les blocs mono-colonne}
 
@@ -616,7 +634,8 @@ bloc sur plusieurs lignes.
 la consigne générale donnée dans le préambule pour cette colonne.
 
 \item On peut tracer un cadre autour du bloc avec la clé |draw| de la commande
-|\Block|.\footnote{Pour colorier le fond d'une case, il n'y a pas besoin
+|\Block| ou colorier le fond avec des bords arrondis avec les clés |fill| et
+|rounded-corners|.\footnote{Pour colorier simplement le fond d'une case, il n'y a pas besoin
   d'utiliser un bloc mono-case : on peut utiliser la commande |\cellcolor| si la
   clé |colortbl-like| est utilisée : voir p.~\pageref{colortbl-like}.}
 \end{itemize}
@@ -885,11 +904,11 @@ p.~\pageref{OnlyMainNiceMatrix}.
 \subsection{Les clés hlines et vlines}
 
 La clé |hlines| demande un tracé de tous les filets horizontaux et la clé
-|vlines| demande un tracé de tous les filets verticaux (sauf dans les blocs et
-dans les blocs virtuels déterminés par des lignes en pointillés). En fait, dans les
-environnements avec délimiteurs (comme |{pNiceMatrix}| ou |{bNiceArray}|), les
-filets extérieurs ne sont pas tracés (ce qui est le comportement certainement
-attendu).
+|vlines| demande un tracé de tous les filets verticaux (sauf dans les blocs,
+créés par |\Block| et dans les blocs virtuels déterminés par des lignes en
+pointillés : |\Cdots|, |\Vdots|, etc.). En fait, dans les environnements avec
+délimiteurs (comme |{pNiceMatrix}| ou |{bNiceArray}|), les filets extérieurs ne
+sont pas tracés (ce qui est le comportement certainement attendu).
 
 
 \medskip
@@ -1143,16 +1162,33 @@ inconvénients.
 
 \subsection{Les outils de nicematrix dans le code-before}
 
-L'extension \pkg{nicematrix} proposent des outils (indépendants de
-\pkg{colortbl}) pour tracer d'abord les rectangles colorés, puis le contenu des
-cases et les filets. Cette manière de faire est plus dans l'esprit du «modèle du
-peintre» des formats PostScript et \textsc{pdf} et convient donc mieux aux
-lecteurs de \textsc{pdf}. L'inconvénient est qu'elle nécessite plusieurs
-compilations successives.
+L'extension \pkg{nicematrix} propose des outils (indépendants de \pkg{colortbl})
+pour tracer d'abord les rectangles colorés, puis le contenu des cases et les
+filets. Cette manière de faire est plus dans l'esprit du «modèle du peintre» des
+formats PostScript et \textsc{pdf} et convient donc mieux aux lecteurs de
+\textsc{pdf}. L'inconvénient est qu'elle nécessite plusieurs compilations
+successives.
 
 \medskip
 L'extension \pkg{nicematrix} fournit une clé |code-before| pour du code qui sera
-exécuté avant le tracé du tableau. De nouvelles commandes y sont disponibles :
+exécuté avant le tracé du tableau. 
+
+\smallskip
+\colorbox{yellow!50}{\textbf{Nouveau 5.12}}\enskip Une syntaxe alternative est
+proposée : on peut placer le contenu de ce |code-before| entre les mots-clés
+|\CodeBefore| et |\Body| juste au début de l'environnement.
+
+\begin{Verbatim}
+\begin{pNiceArray}{~textsl#preamble@}
+~emphase#\CodeBefore@
+~textsl#instructions du code-before@
+~emphase#\Body@
+~textsl#contenu de l'environnement@
+\end{pNiceArray}
+\end{Verbatim}
+
+\smallskip
+De nouvelles commandes sont disponibles dans ce |\CodeBefore| :
 |\cellcolor|, |\rectanglecolor|, |\rowcolor|, |\columncolor|, |\rowcolors| et
 |\chessboardcolors|.\footnote{On pourra remarquer que, dans le
   \verb|code-before|, des nœuds PGF/Tikz correspondant à la position des filets
@@ -1176,14 +1212,20 @@ format $i$-$j$ où $i$ est le numéro de ligne et $j$ le numéro de colonne.
 \begin{scope}
 \hfuzz=10cm
 \begin{BVerbatim}[boxwidth=10cm,baseline=c]
-\begin{NiceTabular}{|c|c|c|}[code-before = ~emphase#\cellcolor{red!15}{3-1,2-2,1-3}@]
+\begin{NiceTabular}{|c|c|c|}
+\CodeBefore
+  ~emphase#\cellcolor{red!15}{3-1,2-2,1-3}@
+\Body
 \hline
 a & b & c \\ \hline
 e & f & g \\ \hline
 h & i & j \\ \hline
 \end{NiceTabular}
 \end{BVerbatim}
-\begin{NiceTabular}{|c|c|c|}[code-before = \cellcolor{red!15}{3-1,2-2,1-3}]
+\begin{NiceTabular}{|c|c|c|}
+\CodeBefore
+  \cellcolor{red!15}{3-1,2-2,1-3}
+\Body
 \hline
 a & b & c \\ \hline
 e & f & g \\ \hline
@@ -1201,14 +1243,20 @@ et la case en bas à droite du rectangle.
 \begin{scope}
 \hfuzz=10cm
 \begin{BVerbatim}[boxwidth=10cm,baseline=c]
-\begin{NiceTabular}{|c|c|c|}[code-before = ~emphase#\rectanglecolor{blue!15}{2-2}{3-3}@]
+\begin{NiceTabular}{|c|c|c|}
+\CodeBefore
+  ~emphase#\rectanglecolor{blue!15}{2-2}{3-3}@
+\Body
 \hline
 a & b & c \\ \hline
 e & f & g \\ \hline
 h & i & j \\ \hline
 \end{NiceTabular}
 \end{BVerbatim}
-\begin{NiceTabular}{|c|c|c|}[code-before = \rectanglecolor{blue!15}{2-2}{3-3}]
+\begin{NiceTabular}{|c|c|c|}
+\CodeBefore
+  \rectanglecolor{blue!15}{2-2}{3-3}
+\Body
 \hline
 a & b & c \\ \hline
 e & f & g \\ \hline
@@ -1230,7 +1278,10 @@ partir de la rangée~$a$).
 \begin{scope}
 \hfuzz=10cm
 \begin{BVerbatim}[boxwidth=9cm,baseline=c]
-$\begin{NiceArray}{lll}[hvlines, ~emphase#code-before = \rowcolor{red!15}{1,3-5,8-}@]
+$\begin{NiceArray}{lll}[hvlines] 
+\CodeBefore
+  ~emphase#\rowcolor{red!15}{1,3-5,8-}@
+\Body
 a_1 & b_1 & c_1 \\
 a_2 & b_2 & c_2 \\
 a_3 & b_3 & c_3 \\
@@ -1244,8 +1295,10 @@ a_{10} & b_{10} & c_{10} \\
 \end{NiceArray}$
 \end{BVerbatim}
 %
-$\begin{NiceArray}{lll}%
-[baseline=4,hvlines, code-before = \rowcolor{red!15}{1,3-5,8-}]
+$\begin{NiceArray}{lll}[baseline=4,hvlines]
+\CodeBefore
+  \rowcolor{red!15}{1,3-5,8-}
+\Body
 a_1 & b_1 & c_1 \\
 a_2 & b_2 & c_2 \\
 a_3 & b_3 & c_3 \\
@@ -1281,7 +1334,7 @@ l'intervalle constitué de toutes les rangées du tableau à partir de la rangé
 
 
 \bigskip
-La commande |\rowcolors| accepte une liste de paires clé-valeur comme argument
+La commande |\rowcolors| accepte une liste de couples clé-valeur comme argument
 optionnel en dernière position (l'argument optionel en première position
 correspond à l'espace colorimétrique). Les clés disponibles sont |cols|,
 |restart| et |respect-blocks|.
@@ -1306,8 +1359,10 @@ tableau pour englober les blocs (créés par la commande |\Block| : cf.~p.~\page
 \begin{scope}
 \hfuzz=10cm
 \begin{BVerbatim}[baseline=c,boxwidth=9cm]
-\begin{NiceTabular}{clr}%
- [hvlines,code-before = ~emphase#{\rowcolors{2}{blue!10}{}[cols=2-3,restart]}@]
+\begin{NiceTabular}{clr}[hvlines]
+\CodeBefore
+  ~emphase#{\rowcolors{2}{blue!10}{}[cols=2-3,restart]}@
+\Body
 \Block{1-*}{Résultats} \\
 \Block{2-1}{A}& Pierre & 12 \\
               & Jacques & 8 \\
@@ -1317,8 +1372,10 @@ tableau pour englober les blocs (créés par la commande |\Block| : cf.~p.~\page
               & Estelle & 15 
 \end{NiceTabular}
 \end{BVerbatim}
-\begin{NiceTabular}{clr}[hvlines,
-  code-before = {\rowcolors{2}{blue!10}{}[cols=2-3,restart]},baseline=2]
+\begin{NiceTabular}{clr}[hvlines,baseline=2]
+\CodeBefore
+  \rowcolors{2}{blue!10}{}[cols=2-3,restart]
+\Body
 \Block{1-*}{Résultats} \\
 \Block{2-1}{A}& Pierre & 12 \\
               & Jacques & 8 \\
@@ -1335,8 +1392,10 @@ tableau pour englober les blocs (créés par la commande |\Block| : cf.~p.~\page
 \begin{scope}
 \hfuzz=10cm
 \begin{BVerbatim}[baseline=c,boxwidth=11cm]
-\begin{NiceTabular}{lr}[hvlines,code-before =
-~emphase#\rowcolors{1}{blue!10}{}[respect-blocks]@]
+\begin{NiceTabular}{lr}[hvlines]
+\CodeBefore
+  ~emphase#\rowcolors{1}{blue!10}{}[respect-blocks]@
+\Body
 \Block{2-1}{Pierre}    & 12 \\
                        & 13 \\
 Jacques                &  8 \\
@@ -1349,8 +1408,10 @@ Henri                  & 14 \\
                        & 19
 \end{NiceTabular}
 \end{BVerbatim}
-\begin{NiceTabular}{lr}[hvlines,code-before =
-\rowcolors{1}{blue!10}{}[respect-blocks],baseline=c]
+\begin{NiceTabular}{lr}[hvlines,baseline=c]
+\CodeBefore
+  \rowcolors{1}{blue!10}{}[respect-blocks]
+\Body
 \Block{2-1}{Pierre}    & 12 \\
                        & 13 \\
 Jacques                &  8 \\
@@ -1376,14 +1437,19 @@ couleurs et colorie les cases en quinconces avec les deux couleurs.
 \begin{scope}
 \hfuzz=10cm
 \begin{BVerbatim}[baseline=c,boxwidth=9cm]
-$\begin{pNiceMatrix}[r,margin, ~emphase#code-before=\chessboardcolors{red!15}{blue!15}@]
+$\begin{pNiceMatrix}[r,margin] 
+\CodeBefore
+  ~emphase#code-before=\chessboardcolors{red!15}{blue!15}@
+\Body
 1 & -1 & 1 \\
 -1 & 1 & -1 \\
 1 & -1 & 1 
 \end{pNiceMatrix}$
 \end{BVerbatim}
-$\begin{pNiceMatrix}%
-[baseline=1, r, margin, code-before = \chessboardcolors{red!15}{blue!15}]
+$\begin{pNiceMatrix}[baseline=1, r, margin]
+\CodeBefore
+  \chessboardcolors{red!15}{blue!15}
+\Body
 1 & -1 & 1 \\
 -1 & 1 & -1 \\
 1 & -1 & 1 
@@ -1404,8 +1470,11 @@ l'extension \pkg{booktabs} n'est pas chargée par \pkg{nicematrix}.
 \begin{scope}
 \hfuzz=10cm
 \begin{BVerbatim}[baseline=c,boxwidth=8.5cm]
-\begin{NiceTabular}{lSSSS}%
-[code-before = \rowcolor{red!15}{1-2} \rowcolors{3}{blue!15}{}]
+\begin{NiceTabular}{lSSSS}
+\CodeBefore
+  \rowcolor{red!15}{1-2} 
+  \rowcolors{3}{blue!15}{}
+\Body
 ~emphase#\toprule@
 \Block{2-1}{Produit} &
 \Block{1-3}{dimensions (cm)} & & & 
@@ -1421,8 +1490,11 @@ spécial  & 12  & 12   & 0.5 & 70    \\
 ~emphase#\bottomrule@
 \end{NiceTabular}
 \end{BVerbatim}
-\begin{NiceTabular}[c]{lSSSS}%
-[code-before = \rowcolor{red!15}{1-2} \rowcolors{3}{blue!15}{}]
+\begin{NiceTabular}[c]{lSSSS}
+\CodeBefore
+  \rowcolor{red!15}{1-2} 
+  \rowcolors{3}{blue!15}{}
+\Body
 \toprule
 \Block{2-1}{Produit} & 
 \Block{1-3}{dimensions (cm)} & & & 
@@ -2062,7 +2134,7 @@ C[a_1,a_1] & \Cdots & C[a_1,a_n]
   & ~emphase#\Hdotsfor{1}@ & \Vdots & \Ddots & \Vdots \\ 
 C[a_n,a_1] & \Cdots & C[a_n,a_n] 
   & & C[a_n,a_1^{(p)}] & \Cdots & C[a_n,a_n^{(p)}] \\
-\rule{0pt}{15mm} & ~emphase#\Vdotsfor{1}@ & & \Ddots & & ~emphase#\Vdotsfor{1}@ \\
+\rule{0pt}{15mm}\NotEmpty  & ~emphase#\Vdotsfor{1}@ & & \Ddots & & ~emphase#\Vdotsfor{1}@ \\
 C[a_1^{(p)},a_1] & \Cdots & C[a_1^{(p)},a_n] 
   & & C[a_1^{(p)},a_1^{(p)}] & \Cdots & C[a_1^{(p)},a_n^{(p)}] \\
 \Vdots & \Ddots & \Vdots 
@@ -2077,7 +2149,7 @@ C[a_n^{(p)},a_1] & \Cdots & C[a_n^{(p)},a_n]
 C[a_1,a_1] & \Cdots & C[a_1,a_n] & \hspace*{20mm} & C[a_1,a_1^{(p)}] & \Cdots & C[a_1,a_n^{(p)}] \\
 \Vdots & \Ddots & \Vdots & \Hdotsfor{1} &  \Vdots & \Ddots & \Vdots \\ 
 C[a_n,a_1] & \Cdots & C[a_n,a_n] & & C[a_n,a_1^{(p)}] & \Cdots & C[a_n,a_n^{(p)}] \\
-\rule{0pt}{15mm} & \Vdotsfor{1} & & \Ddots & & \Vdotsfor{1} \\
+\rule{0pt}{15mm}\NotEmpty & \Vdotsfor{1} & & \Ddots & & \Vdotsfor{1} \\
 C[a_1^{(p)},a_1] & \Cdots & C[a_1^{(p)},a_n] & & C[a_1^{(p)},a_1^{(p)}] & \Cdots & C[a_1^{(p)},a_n^{(p)}] \\
 \Vdots & \Ddots & \Vdots & \Hdotsfor{1} & \Vdots & \Ddots & \Vdots \\ 
 C[a_n^{(p)},a_1] & \Cdots & C[a_n^{(p)},a_n] & & C[a_n^{(p)},a_1^{(p)}] & \Cdots & C[a_n^{(p)},a_n^{(p)}]
@@ -2359,7 +2431,7 @@ p.~\pageref{customization}).
 
 \label{sub-matrix}
 
-\colorbox{yellow!50}{\textbf{Nouveau 5.10}}\enskip 
+\colorbox{yellow!30}{Nouveau 5.10}\enskip 
 La commande |\SubMatrix| permet de positionner des délimiteurs sur une partie du
 tableau, partie qui est considérée comme une sous-matrice. La commande
 |\SubMatrix| prend cinq arguments :
@@ -2373,7 +2445,11 @@ la syntaxe $i$|-|$j$ où $i$ est le numéro de rangée et $j$ le numéro de colo
 \item le troisième argument est le coin inférieur droit avec la même syntaxe ;
 \item la quatrième argument est le délimiteur droit ;
 \item le cinquième argument, optionnel, entre crochets, est une liste de couples
-clé-valeur. 
+clé-valeur.\footnote{Il n'y a pas d'argument optionnel entre crochets en première
+position car un crochet ouvrant juste après \verb|\SubMatrix| doit pouvoir être
+interprété comme le premier argument (obligatoire) de \verb|\SubMatrix|: ce
+crochet est alors le délimiteur gauche de la sous-matrice (ex. :
+\verb|\SubMatrix[{2-2}{4-7}]|).}
 \end{itemize}
 
 On remarquera que la commande |\SubMatrix| trace les délimiteurs après la
@@ -2392,8 +2468,8 @@ colonne avec |@{\hspace{1.5em}}| dans le préambule du tableau.
 \dfrac{1}{4} & \dfrac{1}{2} & \dfrac{1}{4} & y \\
  1           & 2            & 3            & z 
 \CodeAfter
-~emphase#\SubMatrix({1-1}{3-3})+
-~emphase#\SubMatrix({1-4}{3-4})+
+  ~emphase#\SubMatrix({1-1}{3-3})+
+  ~emphase#\SubMatrix({1-4}{3-4})+
 \end{NiceArray}\]
 \end{BVerbatim}
 \end{scope}
@@ -2402,8 +2478,8 @@ $\begin{NiceArray}{ccc@{\hspace{1.5em}}c}[cell-space-limits=2pt,margin]
 \dfrac{1}{4} & \dfrac{1}{2} & \dfrac{1}{4} & y \\
  1          & 2           & 3           & z 
 \CodeAfter
-\SubMatrix({1-1}{3-3})
-\SubMatrix({1-4}{3-4})
+  \SubMatrix({1-1}{3-3})
+  \SubMatrix({1-4}{3-4})
 \end{NiceArray}$
 
 \bigskip
@@ -2429,6 +2505,21 @@ environnements de \pkg{nicematrix} ou comme option de |\CodeAfter| avec le
 préfixe |sub-matrix|, c'est-à-dire qu'elles sont alors nommées
 |sub-matrix/left-xshift|, |sub-matrix/right-xshift|, |sub-matrix/xshift|, etc.
 
+\medskip
+\colorbox{yellow!50}{\textbf{Nouveau 5.12}}\enskip Il y a aussi les clés
+suivantes, qui ne sont accessibles que pour une commande |\SubMatrix|
+individuelle : 
+%
+\begin{itemize}
+\item |vlines| contient une liste de numéros de filets verticaux à tracer dans
+la sous-matrice (si cette clé est utilisée sans valeur, tous les filets
+verticaux sont tracés) ;
+\item |hlines| est similaire à |vlines| mais pour les filets horizontaux ;
+\item |hvlines|, qui s'utilise sans valeur, trace tous les filets dans la sous-matrice.
+\end{itemize}
+On remarquera que tous ces filets sont dessinés après la construction du tableau
+principal : les colonnes et les rangées ne sont pas écartées.
+
 \bigskip
 \begin{scope}
 \hfuzz=12cm
@@ -2440,9 +2531,9 @@ $\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
 a & b & \frac12a+\frac14b \\
 c & d & \frac12c+\frac14d \\
 \CodeAfter 
-\SubMatrix({1-3}{2-3}) 
-\SubMatrix({3-1}{4-2}) 
-\SubMatrix({3-3}{4-3})
+  \SubMatrix({1-3}{2-3}) 
+  \SubMatrix({3-1}{4-2}) 
+  \SubMatrix({3-3}{4-3})
 \end{NiceArray}$
 \end{BVerbatim}
 \end{scope}
@@ -2452,9 +2543,9 @@ $\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
 a & b & \frac12a+\frac14b \\
 c & d & \frac12c+\frac14d \\
 \CodeAfter
-\SubMatrix({1-3}{2-3})
-\SubMatrix({3-1}{4-2})
-\SubMatrix({3-3}{4-3})
+  \SubMatrix({1-3}{2-3})
+  \SubMatrix({3-1}{4-2})
+  \SubMatrix({3-3}{4-3})
 \end{NiceArray}$
 
 \medskip
@@ -2471,9 +2562,9 @@ $\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
 a & b & \frac12a+\frac14b \\
 c & d & \frac12c+\frac14d \\
 \CodeAfter
-\SubMatrix({1-3}{2-3})[~emphase#slim!]
-\SubMatrix({3-1}{4-2})
-\SubMatrix({3-3}{4-3})
+  \SubMatrix({1-3}{2-3})[~emphase#slim!]
+  \SubMatrix({3-1}{4-2})
+  \SubMatrix({3-3}{4-3})
 \end{NiceArray}$
 \end{BVerbatim}
 \end{scope}
@@ -2484,9 +2575,9 @@ $\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
 a & b & \frac12a+\frac14b \\
 c & d & \frac12c+\frac14d \\
 \CodeAfter
-\SubMatrix({1-3}{2-3})[slim]
-\SubMatrix({3-1}{4-2})
-\SubMatrix({3-3}{4-3})
+  \SubMatrix({1-3}{2-3})[slim]
+  \SubMatrix({3-1}{4-2})
+  \SubMatrix({3-3}{4-3})
 \end{NiceArray}$
 
 
@@ -3488,7 +3579,7 @@ noix & noisette & brugnon
 
 \label{noeuds-i}
 
-\colorbox{yellow!50}{\textbf{Nouveau 5.11}}\enskip L'extension \pkg{nicematrix}
+\colorbox{yellow!30}{Nouveau 5.11}\enskip L'extension \pkg{nicematrix}
 crée un nœud PGF-Tikz nommé simplement $i$ (précédé du préfixe habituel) à
 l'intersection du filet horizontal de numéro $i$ et du filet vertical de
 numéro~$j$ (ou plutôt la position potentielle de ces filets car ils ne sont
@@ -3521,13 +3612,10 @@ horizontal~$i$ et du filet vertical~$j$ avec la syntaxe |(|$i$\verb+-|+$j$|)|.
 
 \medskip
 \begin{Verbatim}
-\[\begin{NiceMatrix}[
-  code-before = 
-    { 
-~emphase#      \tikz \draw [fill = red!15] @
-~emphase#         (7-|4) -- (8-|4) -- (8-|5) -- (9-|5) -- (9-|6) |- cycle ; @
-    }
-]
+\begin{NiceMatrix}
+\CodeBefore
+~emphase#\tikz \draw [fill=red!15] (7-|4) |- (8-|5) |- (9-|6) |- cycle ;@
+\Body
 1 \\
 1 & 1 \\
 1 & 2 &  1 \\
@@ -3537,16 +3625,13 @@ horizontal~$i$ et du filet vertical~$j$ avec la syntaxe |(|$i$\verb+-|+$j$|)|.
 1 & 6 & 15 & 20 & 15 &  6 &  1 \\
 1 & 7 & 21 & 35 & 35 & 21 &  7 & 1 \\
 1 & 8 & 28 & 56 & 70 & 56 & 28 & 8 & 1
-\end{NiceMatrix}\]
+\end{NiceMatrix}
 \end{Verbatim}
 % 
-\[\begin{NiceMatrix}[
-  code-before = 
-    { 
-      \tikz \draw [fill = red!15] 
-         (7-|4) -- (8-|4) -- (8-|5) -- (9-|5) -- (9-|6) |- cycle ;  
-    }
-]
+\[\begin{NiceMatrix}
+\CodeBefore
+\tikz \draw [fill=red!15] (7-|4) |- (8-|5) |- (9-|6) |- cycle ;
+\Body
 1 \\
 1 & 1 \\
 1 & 2 &  1 \\
@@ -3563,7 +3648,7 @@ horizontal~$i$ et du filet vertical~$j$ avec la syntaxe |(|$i$\verb+-|+$j$|)|.
 
 \label{node-sub-matrix}
 
-\colorbox{yellow!50}{\textbf{Nouveau 5.10}}\enskip 
+\colorbox{yellow!30}{Nouveau 5.10}\enskip 
 La commande |\SubMatrix| disponible dans le |\CodeAfter| a été présentée
 p.~\pageref{sub-matrix}. 
 
@@ -3636,10 +3721,8 @@ bibliothèque Tikz \pkg{patterns} : |\usetikzlibrary{patterns}|).
 \ExplSyntaxOn
 \cs_new_protected:Nn \__pantigny_hatch:nnn
   {
-    \begin { tikzpicture }
-    \fill [ pattern = north~west~lines , pattern~color = #3 ]
-    ( #1 -| #2) rectangle ( \int_eval:n { #1 + 1 } -| \int_eval:n { #2 + 1 } ) ;
-    \end { tikzpicture }
+    \tikz \fill [ pattern = north~west~lines , pattern~color = #3 ]
+       ( #1 -| #2) rectangle ( \int_eval:n { #1 + 1 } -| \int_eval:n { #2 + 1 } ) ;
   }
 
 \NewDocumentCommand \hatchcell { ! O { black } }
@@ -3654,10 +3737,8 @@ bibliothèque Tikz \pkg{patterns} : |\usetikzlibrary{patterns}|).
 \ExplSyntaxOn
 \cs_new_protected:Nn \__pantigny_hatch:nnn
   {
-    \begin { tikzpicture }
-    \fill [ pattern = north~west~lines , pattern~color = #3 ]
-    ( #1 -| #2 ) rectangle ( \int_eval:n { #1 + 1 } -| \int_eval:n { #2 + 1 } ) ;
-    \end { tikzpicture }
+    \tikz \fill [ pattern = north~west~lines , pattern~color = #3 ]
+          ( #1 -| #2 ) rectangle ( \int_eval:n { #1 + 1 } -| \int_eval:n { #2 + 1 } ) ;
   }
 
 \NewDocumentCommand \hatchcell { ! O { black } }
@@ -4150,96 +4231,224 @@ $\begin{pNiceMatrix}[first-row,first-col]
 
 
 
-\subsection{Largeur des colonnes}
+\subsection{Empilements de matrices}
+
+On a souvent besoin de présetner des matrices empilées les unes au-dessus des
+autres (par exemple pour la résolutiond de systèmes linéaires).
+
 
 \medskip
-Dans l'exemple suivant, nous utilisons |{NiceMatrixBlock}| avec l'option
-|auto-columns-width| parce que nous voulons la même largeur (automatique) pour
-toutes les colonnes.
+Pour avoir les colonnes alignées les unes sous les autres, on peut imposer une
+largeur commune à toutes les colonnes, ce que l'on fait dans l'exemple suivant
+avec l'environnement |{NiceMatrixBlock}| et l'option |auto-columns-width|.
 
-\bigskip
-\begin{BVerbatim}
+\begin{Verbatim}[formatcom=\small\color{gray}]
 ~emphase#\begin{NiceMatrixBlock}[auto-columns-width]@
 \NiceMatrixOptions
- { last-col,code-for-last-col = \color{blue}\scriptstyle,light-syntax}
+  { 
+    light-syntax,
+    last-col, code-for-last-col = \color{blue} \scriptstyle,
+  }
 \setlength{\extrarowheight}{1mm}
-$\begin{pNiceArray}{cccc:c}
-  1  1  1   1   1 { } ;
-  2  4  8  16   9 ;
-  3  9 27  81  36 ;
-  4 16 64 256 100 
+
+$\begin{pNiceArray}{rrrr|r}
+12  -8  7  5   3 {} ;
+ 3 -18 12  1   4    ;
+-3 -46 29 -2 -15    ;
+ 9  10 -5  4   7 
 \end{pNiceArray}$
-\medskip
-$\begin{pNiceArray}{cccc:c}
-  1  1  1   1  1 ;
-  0  2  6  14  7        { L_2 \gets -2 L_1 + L_2 } ;
-  0  6 24  78 33        { L_3 \gets -3 L_1 + L_3 } ;
-  0 12 60 252 96        { L_4 \gets -4 L_1 + L_4 } 
+
+\smallskip
+$\begin{pNiceArray}{rrrr|r}
+12  -8   7  5   3                          ;
+0   64 -41  1  19  { L_2 \gets L_1-4L_2  } ;
+0 -192 123 -3 -57  { L_3 \gets L_1+4L_3  } ;
+0 -64   41 -1 -19  { L_4 \gets 3L_1-4L_4 } ;
 \end{pNiceArray}$
-...
+
+\smallskip
+$\begin{pNiceArray}{rrrr|r}
+12 -8   7 5  3 ;
+0  64 -41 1 19 ;
+0   0   0 0  0 { L_3 \gets 3 L_2 + L_3 } 
+\end{pNiceArray}$
+
+\smallskip
+$\begin{pNiceArray}{rrrr|r}
+12 -8   7 5  3 {} ;
+0  64 -41 1 19    ;
+\end{pNiceArray}$
+
 ~emphase#\end{NiceMatrixBlock}@
-\end{BVerbatim}
+\end{Verbatim}
 
 \bigskip
-
-\begin{multicols}{2}
 \begin{NiceMatrixBlock}[auto-columns-width]
-\NiceMatrixOptions{last-col,code-for-last-col = \color{blue}\scriptstyle,light-syntax}
+\NiceMatrixOptions
+  { 
+    light-syntax,
+    last-col, code-for-last-col = \color{blue} \scriptstyle ,
+  }
 \setlength{\extrarowheight}{1mm}
 
-\enskip $\begin{pNiceArray}{cccc:c}
-1  1  1   1   1 { } ;
-2  4  8  16   9 ;
-3  9 27  81  36 ;
-4 16 64 256 100 
+\quad $\begin{pNiceArray}{rrrr|r}
+12  -8  7  5   3 {} ;
+ 3 -18 12  1   4    ;
+-3 -46 29 -2 -15    ;
+ 9  10 -5  4   7 
 \end{pNiceArray}$
 
-\medskip
-
-\enskip $\begin{pNiceArray}{cccc:c}
-1  1  1   1  1 ;
-0  2  6  14  7 { L_2 \gets -2 L_1 + L_2 } ;
-0  6 24  78 33 { L_3 \gets -3 L_1 + L_3 } ;
-0 12 60 252 96 { L_4 \gets -4 L_1 + L_4 } 
+\smallskip
+\quad $\begin{pNiceArray}{rrrr|r}
+12  -8   7  5   3                          ;
+0   64 -41  1  19  { L_2 \gets L_1-4L_2  } ;
+0 -192 123 -3 -57  { L_3 \gets L_1+4L_3  } ;
+0 -64   41 -1 -19  { L_4 \gets 3L_1-4L_4 } ;
 \end{pNiceArray}$
 
-\medskip
+\smallskip
+\quad $\begin{pNiceArray}{rrrr|r}
+12 -8   7 5  3 ;
+0  64 -41 1 19 ;
+0   0   0 0  0 { L_3 \gets 3 L_2 + L_3 } 
+\end{pNiceArray}$
 
-\enskip $\begin{pNiceArray}{cccc:c}
-1 1  1  1 1 ;
-0 1  3  7 \frac72    { L_2 \gets \frac12 L_2 } ;
-0 3 12 39 \frac{33}2 { L_3 \gets \frac12 L_3 } ;
-0 1  5 21 8          { L_4 \gets \frac1{12} L_4 }
+\smallskip
+\quad $\begin{pNiceArray}{rrrr|r}
+12 -8   7 5  3 {} ;
+0  64 -41 1 19    ;
 \end{pNiceArray}$
+\end{NiceMatrixBlock}
+
+\bigskip
+On constate que la dernière matrice n'est pas parfaitement alignée avec les
+précédentes. C'est que les parenthèses, en LaTeX, n'ont pas toutes la même
+largeur suivant leur taille.
 
 \medskip
+\colorbox{yellow!50}{\textbf{Nouveau 5.12}}\enskip Pour résoudre ce problème, on
+peut demander que les délimiteurs soient composés avec leur largeur maximale
+grâce à la clé booléenne |delimiters/max-width|.
+
+\begin{Verbatim}[formatcom=\small\color{gray}]
+~emphase#\begin{NiceMatrixBlock}[auto-columns-width]@
+\NiceMatrixOptions
+  { 
+    ~emphase#delimiters/max-width@,
+    light-syntax,
+    last-col, code-for-last-col = \color{blue}\scriptstyle,
+  }
+\setlength{\extrarowheight}{1mm}
 
-\enskip $\begin{pNiceArray}{cccc:c}
-1 1  1   1 1       ;
-0 1  3   7 \frac72 ;
-0 0  3  18 6        { L_3 \gets -3 L_2 + L_3 } ;
-0 0 -2 -14 -\frac92 { L_4 \gets L_2 - L_4 }
+$\begin{pNiceArray}{rrrr|r}
+12  -8  7  5   3 {} ;
+ 3 -18 12  1   4    ;
+-3 -46 29 -2 -15    ;
+ 9  10 -5  4   7 
 \end{pNiceArray}$
 
-\medskip
+...
+~emphase#\end{NiceMatrixBlock}@
+\end{Verbatim}
 
-\enskip $\begin{pNiceArray}{cccc:c}
-1 1  1   1 1       ;
-0 1  3   7 \frac72 ;
-0 0  1   6 2        { L_3 \gets \frac13 L_3 } ;
-0 0 -2 -14 -\frac92 
+\bigskip
+\begin{NiceMatrixBlock}[auto-columns-width]
+\NiceMatrixOptions
+  { 
+    delimiters/max-width,
+    light-syntax,
+    last-col, code-for-last-col = \color{blue}\scriptstyle,
+  }
+\setlength{\extrarowheight}{1mm}
+
+\quad $\begin{pNiceArray}{rrrr|r}
+12  -8  7  5   3 {} ;
+ 3 -18 12  1   4    ;
+-3 -46 29 -2 -15    ;
+ 9  10 -5  4   7 
 \end{pNiceArray}$
 
-\medskip
+\smallskip
+\quad $\begin{pNiceArray}{rrrr|r}
+12  -8   7  5   3                      ;
+0   64 -41  1  19  { L_2 \gets L_1-4L_2  } ;
+0 -192 123 -3 -57  { L_3 \gets L_1+4L_3  } ;
+0 -64   41 -1 -19  { L_4 \gets 3L_1-4L_4 } ;
+\end{pNiceArray}$
 
-\enskip $\begin{pNiceArray}{cccc:c}
-1 1 1  1 1       ;
-0 1 3  7 \frac72 ;
-0 0 1  6 2       ;
-0 0 0 -2 -\frac12   { L_4 \gets L_3 + L_4 }
+\smallskip
+\quad $\begin{pNiceArray}{rrrr|r}
+12 -8   7 5  3 ;
+0  64 -41 1 19 ;
+0   0   0 0  0 { L_3 \gets 3 L_2 + L_3 } 
 \end{pNiceArray}$
+
+\smallskip
+\quad $\begin{pNiceArray}{rrrr|r}
+12 -8   7 5  3 {} ;
+0  64 -41 1 19    ;
+\end{pNiceArray}$
+
 \end{NiceMatrixBlock}
-\end{multicols}
+
+
+\interitem
+Si on souhaite un alignement des colonnes des différentes matrices sans imposer
+la même largeur à toutes les colonnes, on peut utiliser un grand tableau unique
+et placer les parenthèses avec des commandes |\SubMatrix| dans le |\CodeAfter|.
+Bien sûr, ce tableau ne pourra pas être coupé par un saut de page.
+
+\medskip
+\begin{Verbatim}
+\setlength{\extrarowheight}{1mm}
+\[\begin{NiceMatrix}%
+  [ r, last-col=6, code-for-last-col = \scriptstyle \color{blue} ]
+12 &  -8  &  7 & 5 &  3 \\
+ 3 & -18  & 12 & 1 &  4 \\
+-3 & -46  & 29 &-2 &-15 \\
+ 9 & 10   &-5  &4  & 7 \\[1mm]
+12 & -8   & 7  &5  & 3 \\
+0  & 64   &-41 & 1 & 19 & L_2 \gets L_1-4L_2  \\
+0  & -192 &123 &-3 &-57 & L_3 \gets L_1+4L_3  \\
+0  & -64  & 41 &-1 &-19 & L_4 \gets 3L_1-4L_4 \\[1mm]
+12 & -8   &7   &5  & 3 \\
+0  & 64   &-41 &1  &19 \\
+0  &  0   &0   &0  & 0 & L_3 \gets 3L_2+L_3 \\[1mm]
+12 & -8   &7   &5  & 3 \\
+0  & 64   &-41 & 1 & 19 \\
+~emphase#\CodeAfter@ 
+~emphase#   \SubMatrix({1-1}{4-5})[vlines=4]@
+~emphase#   \SubMatrix({5-1}{8-5})[vlines=4]@
+~emphase#   \SubMatrix({9-1}{11-5})[vlines=4]@
+~emphase#   \SubMatrix({12-1}{13-5})[vlines=4]@
+\end{NiceMatrix}\]
+\end{Verbatim}
+
+\medskip
+\begin{scope}
+\setlength{\extrarowheight}{1mm}
+\[\begin{NiceMatrix}%
+  [ r, last-col=6, code-for-last-col = \scriptstyle \color{blue} ]
+12 &  -8  &  7 & 5 &  3 \\
+ 3 & -18  & 12 & 1 &  4 \\
+-3 & -46  & 29 &-2 &-15 \\
+ 9 & 10   &-5  &4  & 7 \\[1mm]
+12 & -8   & 7  &5  & 3 \\
+0  & 64   &-41 & 1 & 19 & L_2 \gets L_1-4L_2  \\
+0  & -192 &123 &-3 &-57 & L_3 \gets L_1+4L_3  \\
+0  & -64  & 41 &-1 &-19 & L_4 \gets 3L_1-4L_4 \\[1mm]
+12 & -8   &7   &5  & 3 \\
+0  & 64   &-41 &1  &19 \\
+0  &  0   &0   &0  & 0 & L_3 \gets 3L_2+L_3 \\[1mm]
+12 & -8   &7   &5  & 3 \\
+0  & 64   &-41 & 1 & 19 \\
+\CodeAfter 
+   \SubMatrix({1-1}{4-5})[vlines=4]
+   \SubMatrix({5-1}{8-5})[vlines=4]
+   \SubMatrix({9-1}{11-5})[vlines=4]
+   \SubMatrix({12-1}{13-5})[vlines=4]
+\end{NiceMatrix}\]
+\end{scope}
 
 
 \subsection{Comment surligner les cases d'une matrice}
@@ -4280,7 +4489,7 @@ matrice.\footnote{Pour la commande |\cline|, voir la remarque
 
 \vspace{1cm} 
 Il est possible de colorier une rangée avec |\rowcolor| dans le |code-before|
-(ou avec |\rowcolor| dans la première case de la rangée si on utilise la clé
+(ou avec |\rowcolor| dans une case de la rangée si on utilise la clé
 |colortbl-like| − même si \pkg{colortbl} n'est pas chargé). 
 
 
@@ -4491,112 +4700,43 @@ a & a     & a         & L_3 \\
 
                           
 
-\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 |{NiceMatrixBlock}| avec l'option |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}
+\subsection{Utilisation de \textbackslash SubMatrix dans le code-before}
 
-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}
+Dans l'exemple suivant, on illustre le produit mathématique de deux matrices. 
 
-La matrice $B$ a une «première rangée» (pour $C_j$) d'où l'option |first-row|.
-\begin{Verbatim}
-\begin{bNiceArray}{c>{\strut}cccc}[name=B,first-row]
-       &          & ~emphase#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}
+L'ensemble de la figure est un environnement |{NiceArray}| et les trois paires
+de parenthèses ont été rajoutées avec |\SubMatrix| dans le |code-before|.
 
-La matrice $A$ a une «première colonne» (pour $L_i$) d'où l'option |first-col|.
-\begin{Verbatim}
-\begin{bNiceArray}{cc>{\strut}ccc}[name=A,first-col]
+Ceux qui sont intéressés par le code correspondant le trouveront dans le fichier
+source de ce document.
+%
+%
+%
+\[\begin{NiceArray}{*{6}{c}@{\hspace{6mm}}*{5}{c}}[nullify-dots]
+\CodeBefore
+  \SubMatrix({2-7}{6-11})
+  \SubMatrix({7-2}{11-6})
+  \SubMatrix({7-7}{11-11})
+\Body
+    &        &        &        &        &        &        &        & \color{blue}\scriptstyle C_j \\
+    &        &        &        &        &        & b_{11} & \Cdots & b_{1j} & \Cdots & b_{1n} \\
+    &        &        &        &        &        & \Vdots &        & \Vdots &        & \Vdots \\
+    &        &        &        &        &        &        &        & b_{kj} \\
+    &        &        &        &        &        &        &        & \Vdots \\
+    &        &        &        &        &        & b_{n1} & \Cdots & b_{nj} & \Cdots & b_{nn} \\[3mm]
     & a_{11} & \Cdots &        &        & a_{1n} \\
+    & \Vdots &        &        &        & \Vdots &        &        & \Vdots \\
+\color{blue}\scriptstyle L_i 
+    & a_{i1} & \Cdots & a_{ik} & \Cdots & a_{in} & \Cdots &        & c_{ij} \\
     & \Vdots &        &        &        & \Vdots \\
-~emphase#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 = (A-3-1) (A-3-5) ] {} ; 
- \node [highlight = (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_{1n} \\
-    & \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 = (A-3-1) (A-3-5) ] {} ; 
- \node [highlight = (B-1-3) (B-5-3) ] {} ; 
- \draw [color = gray] (A-3-3) to [bend left] (B-3-3) ; 
+    & a_{n1} & \Cdots &        &        & a_{nn}  \\
+\CodeAfter
+\begin{tikzpicture}
+\node [highlight = (9-2) (9-6)] { } ; 
+\node [highlight = (2-9) (6-9)] { } ;
+\draw [gray,shorten > = 1mm, shorten < = 1mm] (9-4.north) to [bend left] (4-9.west) ;
 \end{tikzpicture}
+\end{NiceArray}\]
 
 
 
-- 
cgit v1.2.3

