From 92e358816d81f23b2ff53fb04a1029b39482adb8 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sat, 6 Feb 2021 22:32:56 +0000
Subject: nicematrix (6feb21)

git-svn-id: svn://tug.org/texlive/trunk@57649 c570f23f-e606-0410-a88d-b1316a301751
---
 .../doc/latex/nicematrix/nicematrix-french.tex     | 480 +++++++++++++++------
 1 file changed, 341 insertions(+), 139 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 ca8beb88fc0..ef0cd4123bd 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
@@ -1,4 +1,4 @@
-% -*- coding: utf-8 ; -*-
+% -*- coding: utf-8 ; -*- 
 \documentclass[dvipsnames]{article}% dvipsnames is for xcolor (loaded by Tikz, loaded by nicematrix)
 \usepackage{xltxtra}
 \usepackage[french]{babel}
@@ -122,9 +122,10 @@ classique |latex|-|dvips|-|ps2pdf| (ou Adobe Distiller). \textsl{Néanmoins, le
 ne peut être compilé qu'avec XeLaTeX.}
 
 \bigskip
-Cette extension nécessite et charge les extensions \pkg{l3keys2e}, \pkg{xparse}, \pkg{array}, \pkg{amsmath} et
-\pkg{pgfcore} ainsi que le module \pkg{shapes} de \textsc{pgf} (l'extension \pkg{tikz}, qui est une surcouche de
-\textsc{pgf}, n'est \emph{pas} chargée). L'utilisateur final n'a qu'à charger l'extension \pkg{nicematrix} avec
+Cette extension nécessite et charge les extensions \pkg{l3keys2e}, \pkg{array},
+\pkg{amsmath} et \pkg{pgfcore} ainsi que le module \pkg{shapes} de \textsc{pgf}
+(l'extension \pkg{tikz}, qui est une surcouche de \textsc{pgf}, n'est \emph{pas}
+chargée). L'utilisateur final n'a qu'à charger l'extension \pkg{nicematrix} avec
 l'instruction habituelle : |\usepackage{nicematrix}|.
 
 
@@ -215,7 +216,7 @@ doit être chargé avec l'option |define-L-C-R|.
 
 \section{L'espace vertical entre les rangées}
 
-Il est bien connu que certaines rangées des tableaux créés par défault avec
+Il est bien connu que certaines rangées des tableaux créés par défaut avec
 LaTeX sont trop proches l'une de l'autre. On en donne ci-dessous un exemple
 classique.
 
@@ -538,11 +539,11 @@ arum      & iris & jacinthe & muguet
 \end{center}
 
 \medskip
-\colorbox{yellow!30}{Nouveau 5.7}\enskip 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|.
+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|.
 
 
 
@@ -1087,7 +1088,9 @@ $\begin{pNiceArray}{cccc:c}
 \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
-|letter-for-dotted-lines| disponible dans |\NiceMatrixOptions|.
+|letter-for-dotted-lines| disponible dans |\NiceMatrixOptions|. 
+Ainsi libérée, la lettre «|:|» peut être utilisée par ailleurs (par exemple par 
+l'extension \pkg{arydshln}).
 
 
 \bigskip
@@ -1097,7 +1100,7 @@ insère rendent le tableau plus large ou plus long d'une quantité égale à la
 largeur du trait\footnote{En fait, cela est vrai pour |\hline| et «\verb+|+»
   mais pas pour |\cline| : cf. p.~\pageref{remark-cline}}. Avec
 \pkg{nicematrix}, les lignes en pointillés tracées par |\hdottedline| et «|:|»
-ont le même effet.
+ont ce même effet.
 
 
 
@@ -1142,7 +1145,7 @@ Concernant ce phénomène, Adobe Reader donne de meilleurs résultats que
 MuPDF.
 \end{itemize}
 
-L'extension \pkg{nicematrix} proposent des outils qui permettent d'éviter ces
+L'extension \pkg{nicematrix} propose des outils qui permettent d'éviter ces
 inconvénients. 
 \end{itemize}
 
@@ -1277,11 +1280,11 @@ rangées avec les deux couleurs à partir de la rangée dont le numéro est donn
 premier argument (obligatoire), comme le fait la commande |\rowcolors| de
 \pkg{xcolor}.
 
-\colorbox{yellow!50}{\textbf{Nouveau 5.8}}\enskip
+\colorbox{yellow!30}{Nouveau 5.8}\enskip
 En fait, le premier argument (obligatoire) peut, plus généralement, contenir 
 une liste d'intervalles correspondant à l'ensemble des rangées sur lesquelles
 portera l'effet de |\rowcolors| (un intervalle de la forme $i$ désigne en fait
-l'intervalle constitué de toutes les rangées du tableau à partir de de la rangée~$i$).
+l'intervalle constitué de toutes les rangées du tableau à partir de la rangée~$i$).
 
 
 \bigskip
@@ -1290,12 +1293,12 @@ optionnel en dernière position (l'argument optionel en première position
 correspond à l'espace colorimétrique). Les clés disponibles sont |cols|,
 |restart| et |respect-blocks|.
 \begin{itemize}
-\item \colorbox{yellow!50}{\textbf{Nouveau 5.8}}\enskip
+\item \colorbox{yellow!30}{Nouveau 5.8}\enskip
 La clé |cols| décrit un ensemble de colonnes sur lesquelles portera
 l'effet de |\rowcolors|. Cet ensemble de colonnes est une liste d'intervalles de
 la forme $i$|-|$j$.
 
-\item \colorbox{yellow!50}{\textbf{Nouveau 5.8}}\enskip Avec la clé |restart|, chacun
+\item \colorbox{yellow!30}{Nouveau 5.8}\enskip Avec la clé |restart|, chacun
 des intervalles de rangées spécifié par le premier argument de |\rowcolors|
 recommence avec la même couleur.\footnote{Autrement, la couleur d'une rangée ne
   dépend que de la partié de son numéro.}
@@ -1373,7 +1376,8 @@ Henri                  & 14 \\
 
 
 \bigskip
-\item La commande |\chessboardcolors| prend en arguments obligatoires deux
+\item \label{chessboardcolors}%
+La commande |\chessboardcolors| prend en arguments obligatoires deux
 couleurs et colorie les cases en quinconces avec les deux couleurs.
 
 \medskip
@@ -2137,7 +2141,7 @@ $\begin{pmatrix}
 \subsection{Les labels des lignes en pointillés}
 
 Les commandes |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots| et |\Hdotsfor|
-(ainsi que la commande |\line| dans le |code-after| décrite
+(ainsi que la commande |\line| dans le |\CodeAfter| décrite
 p.~\pageref{line-in-code-after}) peuvent en fait prendre deux arguments
 optionnels spécifiés par les caractères |_| et |^| pour des labels situés
 au-dessous et au-dessus de la ligne. Les arguments sont composés en mode
@@ -2161,7 +2165,7 @@ $\begin{bNiceMatrix}
 
 \label{customization}
 Les lignes pointillées tracées par |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|,
-|\Iddots| et |\Hdotsfor| (ainsi que par la commande |\line| dans le |code-after|
+|\Iddots| et |\Hdotsfor| (ainsi que par la commande |\line| dans le |\CodeAfter|
 décrite p.~\pageref{line-in-code-after}) peuvent être paramétrées par trois
 options (que l'on met entre crochets après la commande) :
 %
@@ -2289,47 +2293,193 @@ $\begin{bNiceMatrix}[margin,hvlines]
 \end{bNiceMatrix}$
 
 
-\section{Le code-after}
+\section{Le \textbackslash CodeAfter}
 
 \label{code-after}
+On a présenté p.~\pageref{code-before} la clé |code-before|. Il existe en fait
+une clé similaire |code-after| qui peut être utilisée pour indiquer du code qui
+sera exécuté après la construction du tableau.
 
-L'option |code-after| peut être utilisée pour indiquer du code qui sera exécuté
-après la construction de la matrice.\footnote{Il existe aussi une clé
-  |code-before| décrite p.~\pageref{code-before}.}
+\medskip
+Pour améliorer la lisibilité du code, une syntaxe alternative est proposée : on
+peut spécifier les instructions du |code-after| à la fin de l'environnement,
+après le mot-clé |\CodeAfter|.
+ 
+\medskip
+Deux commandes spéciales sont disponibles dans le |\CodeAfter| : |\line| et
+|\SubMatrix|. 
 
-Une commande spéciale, nommée |\line| est disponible pour tracer directement des
-lignes en pointillés entre les cases. Elle prend deux arguments correspondant
-aux deux cases à relier, chacun de la forme $i$-$j$ où $i$ est le numéro de
-ligne et $j$ est le numéro de colonne. Elle peut par exemple être utilisée pour
-tracer une ligne entre deux cases adjacentes comme dans l'exemple suivant.
+
+\subsection{La commande \textbackslash line dans le \textbackslash CodeAfter}
+
+La commande |\line| permet de tracer directement des lignes en pointillés entre
+les cases. Elle prend deux arguments correspondant aux deux cases à relier,
+chacun de la forme $i$-$j$ où $i$ est le numéro de ligne et $j$ est le numéro de
+colonne. Elle peut par exemple être utilisée pour tracer une ligne entre deux
+cases adjacentes comme dans l'exemple suivant.
 \label{line-in-code-after}
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=11cm]
 \NiceMatrixOptions{xdots/shorten = 0.6 em}
-\begin{pNiceMatrix}[~emphase#code-after=\line{2-2}{3-3}@]
+\begin{pNiceMatrix}
 I       & 0      & \Cdots  &0     \\
 0       & I      & \Ddots  &\Vdots\\
 \Vdots  &\Ddots  & I       &0     \\
 0       &\Cdots  & 0       &I
+~emphase#\CodeAfter \line{2-2}{3-3}@
 \end{pNiceMatrix}
 \end{BVerbatim}
 \begin{scope}
 \NiceMatrixOptions{xdots/shorten = 0.6 em}
-$\begin{pNiceMatrix}[code-after=\line{2-2}{3-3}]
+$\begin{pNiceMatrix}
 I       & 0      & \Cdots  &0     \\
 0       & I      & \Ddots  &\Vdots\\
 \Vdots  &\Ddots  & I       &0     \\
 0       &\Cdots  & 0       &I
+\CodeAfter \line{2-2}{3-3}
 \end{pNiceMatrix}$
 \end{scope}
 
+\subsection{La commande \textbackslash SubMatrix dans le \textbackslash CodeAfter}
+
+\label{sub-matrix}
+
+\colorbox{yellow!50}{\textbf{Nouveau 5.10}}\enskip 
+La commande |\SubMatrix| permet de positionner des délimiteurs sur une partie du
+tableau considérée comme une sous-matrice. La commande |\SubMatrix| prend cinq
+arguments :
+\begin{itemize}
+\item le premier argument est le délimiteur gauche qui peut être n'importe
+quel délimiteur extensible de LaTeX : |(|, |[|, |\{|, |\langle|, |\lgroup|,
+|\lfloor|, etc. mais aussi le délimiteur nul |.| ;
+\item le deuxième argument est le coin supérieur gauche de la sous-matrice avec
+la syntaxe $i$|-|$j$ où $i$ est le numéro de rangée et $j$ le numéro de colonne
+;
+\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. 
+\end{itemize}
+
+On remarquera que la commande |\SubMatrix| trace les délimiteurs après la
+construction de la matrice : aucun espace n'est inséré par la commande
+|\SubMatrix|. C'est pourquoi, dans l'exemple suivant, on a utilisé la clé
+|margin| et on a inséré à la main de l'espace entre la troisième et la quatrième
+colonne avec |@{\hspace{1.5em}}| dans le préambule du tableau.
+
 \medskip
-Pour améliorer la lisibilité du code, une syntaxe alternative est proposée : on
-peut spécifier les instructions du |code-after| à la fin de l'environnement,
-après le mot-clé |\CodeAfter| (pour un exemple, voir page
-\pageref{exemple-CodeAfter}). 
+\begin{scope}
+\fvset{commandchars=\~\#\+}%
+\begin{BVerbatim}[boxwidth=11cm,baseline=c]
+\[\begin{NiceArray}{ccc~emphase#@{\hspace{1.5em}}+c}%
+   [cell-space-limits=2pt,~emphase#margin+]
+ 1           & 1            & 1            & x \\
+\dfrac{1}{4} & \dfrac{1}{2} & \dfrac{1}{4} & y \\
+ 1           & 2            & 3            & z 
+\CodeAfter
+~emphase#\SubMatrix({1-1}{3-3})+
+~emphase#\SubMatrix({1-4}{3-4})+
+\end{NiceArray}\]
+\end{BVerbatim}
+\end{scope}
+$\begin{NiceArray}{ccc@{\hspace{1.5em}}c}[cell-space-limits=2pt,margin]
+ 1          & 1           & 1           & x \\
+\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})
+\end{NiceArray}$
 
+\bigskip
+Les options de la commande |\SubMatrix| sont les suivantes :
+%
+\begin{itemize}
+\item |left-xshift| et |right-xshift| déplacent horizontalement les délimiteurs
+(il existe aussi la clé |xshift| qui permet de régler simultanément ces deux
+clés) ;
+\item |extra-height| ajoute une quantité à la hauteur totale des délimiteurs
+(hauteur~|\ht| + profondeur |\dp|) ;
+\item |delimiters-color| permet de fixer la couleur des délimiteurs (cette clé
+est également disponible dans |\NiceMatrixOptions| et au niveau des
+environnements à délimiteurs ou comme option de |\CodeAfter|) ;
+\item |slim| qui est une clé booléenne : lorsqu'elle est utilisée la position
+horizontale des délimiteurs est calculée uniquement sur le contenu des cases
+de la sous-matrice alors, que, dans le cas général, elle est calculée sur le
+contenu des cases des colonnes mises en jeu (voir exemple ci-dessous).
+\end{itemize}
+
+Ces clés sont aussi accessibles dans |\NiceMatrixOptions|, au niveau des
+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.
+
+\bigskip
+\begin{scope}
+\fvset{commandchars=\~\#\!}%
+\begin{BVerbatim}[baseline=c,boxwidth=11cm]
+$\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
+  &   & \frac12 \\
+  &   & \frac14 \\[1mm]
+a & b & \frac12a+\frac14b \\
+c & d & \frac12c+\frac14d \\
+\CodeAfter 
+\SubMatrix({1-3}{2-3}) 
+\SubMatrix({3-1}{4-2}) 
+\SubMatrix({3-3}{4-3})
+\end{NiceArray}$
+\end{BVerbatim}
+\end{scope}
+$\begin{NiceArray}{cc@{\hspace{5mm}}l}%
+   [cell-space-limits=2pt]
+         &   & \frac12 \\
+         &      & \frac14 \\[1mm]
+a & b & \frac12a+\frac14b \\
+c & d & \frac12c+\frac14d \\
+\CodeAfter
+\SubMatrix({1-3}{2-3})
+\SubMatrix({3-1}{4-2})
+\SubMatrix({3-3}{4-3})
+\end{NiceArray}$
+
+\medskip
+Voici le même exemple avec la clé |slim| pour l'une des sous-matrices.
+
+\medskip
+\begin{scope}
+\fvset{commandchars=\~\#\!}%
+\begin{BVerbatim}[baseline=c,boxwidth=11cm]
+$\begin{NiceArray}{cc@{\hspace{5mm}}l}%
+   [cell-space-limits=2pt]
+  &   & \frac12 \\
+  &   & \frac14 \\[1mm]
+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})
+\end{NiceArray}$
+\end{BVerbatim}
+\end{scope}
+% 
+$\begin{NiceArray}{cc@{\hspace{5mm}}l}[cell-space-limits=2pt]
+         &   & \frac12 \\
+         &      & \frac14 \\[1mm]
+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})
+\end{NiceArray}$
+
+
+\bigskip
+Il existe aussi une clé |name| qui permet de donner un nom à une sous-matrice
+créée par une commande |\SubMatrix|. Ce nom est utilisé pour créer des nœuds
+PGF/Tikz : voir p.~\pageref{node-sub-matrix}.
 
 
 \section{Les notes dans les tableaux}
@@ -2654,7 +2804,7 @@ Pour un exemple de personnalisation des notes de tableau, voir p.~\pageref{ex:no
 \subsection{Utilisation de \{NiceTabular\} avec threeparttable}
 
 
-Si vous souhaitez utiliser l'environnement |{NiceTabular}| ou |{NiceTAbular*}|
+Si vous souhaitez utiliser l'environnement |{NiceTabular}| ou |{NiceTabular*}|
 dans un environnement |{threeparttable}| de l'extension éponyme, vous devez
 patcher |{threeparttable}| avec le code suivant (avec une version de LaTeX
 postérieure à 2020/10/01).
@@ -2836,7 +2986,7 @@ colonne courante\footnote{On rappelle que le numéro de la «première rangée»
   existe) est $0$ également.}. Bien entendu, l'utilisateur ne doit pas modifier
 les valeurs de ces compteurs qui sont utilisés en interne par \pkg{nicematrix}.
 
-Dans le |code-before| (cf. p. \pageref{code-before}) et dans le |code-after|
+Dans le |code-before| (cf. p. \pageref{code-before}) et dans le |\CodeAfter|
 (cf. p. \pageref{code-after}), |iRow| représente le nombre total de rangées
 (hors éventuelles rangées extérieures) et |jCol| le nombre total de colonnes
 (hors potentielles colonnes extérieures).
@@ -3024,7 +3174,7 @@ sont accessibles à travers les noms «\textsl{nom}-$i$-$j$» où \textsl{nom} e
 le nom donné au tableau et $i$ et $j$ les numéros de rangée et de colonne de la
 case considérée. On peut les utiliser avec \textsc{pgf} mais l'utilisateur final
 préférera sans doute utiliser Tikz (qui est une sur-couche de \textsc{pgf}). Il
-faut néanmoins se souvenir que \pkg{nicematrix} ne charge pas Tikz par défault.
+faut néanmoins se souvenir que \pkg{nicematrix} ne charge pas Tikz par défaut.
 Dans les exemples qui suivent, on suppose que Tikz a été chargé par
 l'utilisateur. 
 
@@ -3051,7 +3201,7 @@ Ne pas oublier les options |remember picture| et |overlay|.
 
 
 \bigskip
-Dans le |code-after|, et si Tikz est chargé, les choses sont plus simples. On
+Dans le |\CodeAfter|, et si Tikz est chargé, les choses sont plus simples. On
 peut (et on doit) désigner les nœuds sous la forme $i$-$j$ : il n'y a pas à
 préciser l'environnement qui est évidemment l'environnement courant.
 
@@ -3118,33 +3268,33 @@ seconds avec l'option |create-large-nodes|.\footnote{Il existe aussi l'option
   |create-medium-nodes| et |create-large-nodes|.}
 
 \medskip
-Ces nœuds ne sont pas utilisés par défault par \pkg{nicematrix}.
+Ces nœuds ne sont pas utilisés par défaut par \pkg{nicematrix}.
 
 \medskip
 Les noms des «nœuds moyens» s'obtiennent en ajoutant le suffixe «|-medium|» au
 nom des nœuds normaux. Dans l'exemple suivant, on a surligné tous les «nœuds
 moyens». Nous considérons que cet exemple se suffit à lui-même comme définition
 de ces nœuds.
-\[\begin{pNiceMatrix}[
- create-medium-nodes,
- code-after = {\begin{tikzpicture}
-                  [every node/.style = {fill = red!15,
-                                        blend mode = multiply,
-                                        inner sep = 0 pt},
-                   name suffix = -medium]
-               \node [fit = (1-1)] {} ;
-               \node [fit = (1-2)] {} ;
-               \node [fit = (1-3)] {} ;
-               \node [fit = (2-1)] {} ;
-               \node [fit = (2-2)] {} ;
-               \node [fit = (2-3)] {} ;
-               \node [fit = (3-1)] {} ;
-               \node [fit = (3-2)] {} ;
-               \node [fit = (3-3)] {} ;
-               \end{tikzpicture}}]
+\[\begin{pNiceMatrix}[create-medium-nodes]
 a & a + b & a + b + c \\
 a & a     & a + b  \\
 a & a     & a 
+\CodeAfter
+\begin{tikzpicture}
+   [every node/.style = {fill = red!15,
+                         blend mode = multiply,
+                         inner sep = 0 pt},
+    name suffix = -medium]
+\node [fit = (1-1)] {} ;
+\node [fit = (1-2)] {} ;
+\node [fit = (1-3)] {} ;
+\node [fit = (2-1)] {} ;
+\node [fit = (2-2)] {} ;
+\node [fit = (2-3)] {} ;
+\node [fit = (3-1)] {} ;
+\node [fit = (3-2)] {} ;
+\node [fit = (3-3)] {} ;
+\end{tikzpicture}
 \end{pNiceMatrix}\]
 
 
@@ -3156,25 +3306,25 @@ de ces nœuds.\footnote{Il n'y a pas de «nœuds larges» créés dans les rang
   colonnes extérieures (pour ces rangées et colonnes, voir
   p.~\pageref{exterior}).}
 
-\[\begin{pNiceMatrix}[
- create-large-nodes,
- code-after = {\begin{tikzpicture}
-                  [every node/.style = {blend mode = multiply,
-                                        inner sep = 0 pt},
-                   name suffix = -large]
-               \node [fit = (1-1),fill = red!15] {} ;
-               \node [fit = (1-3),fill = red!15] {} ;
-               \node [fit = (2-2),fill = red!15] {} ;
-               \node [fit = (3-1),fill = red!15] {} ;
-               \node [fit = (3-3),fill = red!15] {} ;
-               \node [fit = (1-2),fill = blue!15] {} ;
-               \node [fit = (2-1),fill = blue!15] {} ;
-               \node [fit = (2-3),fill = blue!15] {} ;
-               \node [fit = (3-2),fill = blue!15] {} ;
-               \end{tikzpicture}}]
+\[\begin{pNiceMatrix}[create-large-nodes]
 a & a + b & a + b + c \\
 a & a     & a + b  \\
 a & a     & a 
+\CodeAfter
+\begin{tikzpicture}
+   [every node/.style = {blend mode = multiply,
+                         inner sep = 0 pt},
+    name suffix = -large]
+\node [fit = (1-1),fill = red!15] {} ;
+\node [fit = (1-3),fill = red!15] {} ;
+\node [fit = (2-2),fill = red!15] {} ;
+\node [fit = (3-1),fill = red!15] {} ;
+\node [fit = (3-3),fill = red!15] {} ;
+\node [fit = (1-2),fill = blue!15] {} ;
+\node [fit = (2-1),fill = blue!15] {} ;
+\node [fit = (2-3),fill = blue!15] {} ;
+\node [fit = (3-2),fill = blue!15] {} ;
+\end{tikzpicture}
 \end{pNiceMatrix}\]
 
 
@@ -3189,25 +3339,25 @@ utilisé les options |left-margin| et |right-margin|.\footnote{Les options
   aucune valeur n'est donnée, c'est la valeur par défaut qui est utilisée et
   elle est égale à |\arraycolsep| (valeur initiale : 5~pt). Il existe aussi une
   option |margin| pour fixer à la fois |left-margin| et |right-margin|.}
-\[\begin{pNiceMatrix}[
- create-large-nodes,left-margin,right-margin,
- code-after = {\begin{tikzpicture}
-                  [every node/.style = {blend mode = multiply,
-                                        inner sep = 0 pt},
-                   name suffix = -large]
-               \node [fit = (1-1),fill = red!15] {} ;
-               \node [fit = (1-3),fill = red!15] {} ;
-               \node [fit = (2-2),fill = red!15] {} ;
-               \node [fit = (3-1),fill = red!15] {} ;
-               \node [fit = (3-3),fill = red!15] {} ;
-               \node [fit = (1-2),fill = blue!15] {} ;
-               \node [fit = (2-1),fill = blue!15] {} ;
-               \node [fit = (2-3),fill = blue!15] {} ;
-               \node [fit = (3-2),fill = blue!15] {} ;
-               \end{tikzpicture}}]
+\[\begin{pNiceMatrix}[create-large-nodes,left-margin,right-margin]
 a & a + b & a + b + c \\
 a & a     & a + b  \\
 a & a     & a 
+\CodeAfter
+\begin{tikzpicture}
+   [every node/.style = {blend mode = multiply,
+                         inner sep = 0 pt},
+    name suffix = -large]
+\node [fit = (1-1),fill = red!15] {} ;
+\node [fit = (1-3),fill = red!15] {} ;
+\node [fit = (2-2),fill = red!15] {} ;
+\node [fit = (3-1),fill = red!15] {} ;
+\node [fit = (3-3),fill = red!15] {} ;
+\node [fit = (1-2),fill = blue!15] {} ;
+\node [fit = (2-1),fill = blue!15] {} ;
+\node [fit = (2-3),fill = blue!15] {} ;
+\node [fit = (3-2),fill = blue!15] {} ;
+\end{tikzpicture}
 \end{pNiceMatrix}\]
 
 \medskip
@@ -3215,25 +3365,26 @@ Il est aussi possible d'ajouter de l'espace sur les côtés du tableau avec les
 options |extra-left-margin| et |extra-right-margin|. Ces marges ne sont pas
 incorporées dans les «nœuds larges». Dans l'exemple suivant, nous avons utilisé
 |extra-left-margin| et |extra-right-margin| avec la valeur $3$~pt.
-\[\begin{pNiceMatrix}[
- create-large-nodes,left-margin,right-margin,extra-right-margin=3pt,extra-left-margin=3pt,
- code-after = {\begin{tikzpicture}
-                  [every node/.style = {blend mode = multiply,
-                                        inner sep = 0 pt},
-                   name suffix = -large]
-               \node [fit = (1-1),fill = red!15] {} ;
-               \node [fit = (1-3),fill = red!15] {} ;
-               \node [fit = (2-2),fill = red!15] {} ;
-               \node [fit = (3-1),fill = red!15] {} ;
-               \node [fit = (3-3),fill = red!15] {} ;
-               \node [fit = (1-2),fill = blue!15] {} ;
-               \node [fit = (2-1),fill = blue!15] {} ;
-               \node [fit = (2-3),fill = blue!15] {} ;
-               \node [fit = (3-2),fill = blue!15] {} ;
-               \end{tikzpicture}}]
+\[\begin{pNiceMatrix}%
+   [create-large-nodes,left-margin,right-margin,extra-right-margin=3pt,extra-left-margin=3pt]
 a & a + b & a + b + c \\
 a & a     & a + b  \\
 a & a     & a 
+\CodeAfter
+\begin{tikzpicture}
+   [every node/.style = {blend mode = multiply,
+                         inner sep = 0 pt},
+    name suffix = -large]
+\node [fit = (1-1),fill = red!15] {} ;
+\node [fit = (1-3),fill = red!15] {} ;
+\node [fit = (2-2),fill = red!15] {} ;
+\node [fit = (3-1),fill = red!15] {} ;
+\node [fit = (3-3),fill = red!15] {} ;
+\node [fit = (1-2),fill = blue!15] {} ;
+\node [fit = (2-1),fill = blue!15] {} ;
+\node [fit = (2-3),fill = blue!15] {} ;
+\node [fit = (3-2),fill = blue!15] {} ;
+\end{tikzpicture}
 \end{pNiceMatrix}\]
 
 
@@ -3267,7 +3418,8 @@ noix & noisette & brugnon
 
 \vspace{1cm}
 \begin{minipage}[c]{7cm}
-Ci-contre, on a colorié toutes les cases de ce tableau avec |\chessboardcolors|.
+Ci-contre, on a colorié toutes les cases de ce tableau avec
+|\chessboardcolors| (cf.~p.~\pageref{chessboardcolors}).
 \end{minipage}
 \hspace{1.5cm}
 \begin{scope}
@@ -3288,25 +3440,25 @@ Voici maintenant tous les «nœuds larges» de ce tableau (sans utilisation de
 \hspace{1.5cm}
 \begin{scope}
 \large
-\begin{NiceTabular}[c]{w{l}{2cm}ll}[hvlines,
- create-large-nodes,
- code-after = {\begin{tikzpicture}
-                  [every node/.style = {blend mode = multiply,
-                                        inner sep = 0 pt},
-                   name suffix = -large]
-               \node [fit = (1-1),fill = red!15] {} ;
-               \node [fit = (1-3),fill = red!15] {} ;
-               \node [fit = (2-2),fill = red!15] {} ;
-               \node [fit = (3-1),fill = red!15] {} ;
-               \node [fit = (3-3),fill = red!15] {} ;
-               \node [fit = (1-2),fill = blue!15] {} ;
-               \node [fit = (2-1),fill = blue!15] {} ;
-               \node [fit = (2-3),fill = blue!15] {} ;
-               \node [fit = (3-2),fill = blue!15] {} ;
-               \end{tikzpicture}}]
+\begin{NiceTabular}[c]{w{l}{2cm}ll}[hvlines,create-large-nodes]
 fraise & amande & abricot \\
 prune & pêche & poire  \\[1ex]
 noix & noisette & brugnon
+\CodeAfter
+\begin{tikzpicture}
+   [every node/.style = {blend mode = multiply,
+                         inner sep = 0 pt},
+    name suffix = -large]
+\node [fit = (1-1),fill = red!15] {} ;
+\node [fit = (1-3),fill = red!15] {} ;
+\node [fit = (2-2),fill = red!15] {} ;
+\node [fit = (3-1),fill = red!15] {} ;
+\node [fit = (3-3),fill = red!15] {} ;
+\node [fit = (1-2),fill = blue!15] {} ;
+\node [fit = (2-1),fill = blue!15] {} ;
+\node [fit = (2-3),fill = blue!15] {} ;
+\node [fit = (3-2),fill = blue!15] {} ;
+\end{tikzpicture}
 \end{NiceTabular}
 \end{scope}
 
@@ -3317,7 +3469,7 @@ noix & noisette & brugnon
 L'extension \pkg{nicematrix} crée un nœud PGF-Tikz indiquant la position
 potentielle de chaque filet horizontal (avec les noms |row-|$i$) et de chaque
 filet vertical (avec les noms |col-|$j$), comme décrit sur la figure ci-dessous.
-Ces nœuds sont accessibles dans le |code-before| et dans le |code-after|.
+Ces nœuds sont accessibles dans le |code-before| et dans le |\CodeAfter|.
 \begin{center}
 \begin{NiceTabular}{ccc}[hvlines,rules/width=1pt,rules/color=gray]
 rose & tulipe & lys \\
@@ -3343,7 +3495,7 @@ muguet & dahlia & souci
 
 \bigskip
 Si on utilise Tikz (on rappelle que \pkg{nicematrix} ne charge pas Tikz par
-défaut), on peut donc accéder (dans le |code-before| et le |code-after|) à
+défaut), on peut donc accéder (dans le |code-before| et le |\CodeAfter|) à
 l'intersection du filet horizontal~$i$ et du filet vertical~$j$ avec la syntaxe
 |(row-|$i$\verb+-|col-+$j$|)|.
 
@@ -3390,6 +3542,45 @@ l'intersection du filet horizontal~$i$ et du filet vertical~$j$ avec la syntaxe
 \end{NiceMatrix}\]
 
 
+\subsection{Les nœuds correspondant aux commandes \textbackslash SubMatrix}
+
+\label{node-sub-matrix}
+
+La commande |\SubMatrix| disponible dans le |\CodeAfter| a été présentée
+p.~\pageref{sub-matrix}. 
+
+\smallskip
+Si une commande |\SubMatrix| est utilisée avec la clé |name| sous la forme
+|name=|\textsl{\ttfamily MonNom}, trois nœuds PGF/Tikz sont créés avec les noms
+\textsl{\ttfamily MonNom}|-left|, \textsl{\ttfamily MonNom} et \textsl{\ttfamily
+  MonNom}|-right|.
+
+\smallskip
+Les nœuds \textsl{\ttfamily MonNom}|-left| et \textsl{\ttfamily MonNom}|-right| correspondent aux
+délimiteurs gauche et droit et le nœud \textsl{\ttfamily MonNom} correspond à la
+sous-matrice elle-même.
+
+\medskip
+Dans l'exemple suivant, on a surligné ces trois nœuds (la sous-matrice elle-même
+a été créée avec |\SubMatrix\{{2-2}{3-3}\}|).
+%
+\[\begin{pNiceMatrix}
+121 & 23 & 345 & 345\\
+45 & 346 & 863 & 444\\
+3462 & 38458 & 34 & 294 \\
+34 & 7 & 78 & 309 \\
+\CodeAfter
+\SubMatrix\{{2-2}{3-3}\}[name=A]
+\begin{tikzpicture}
+   [every node/.style = {blend mode = multiply,
+                         inner sep = 0 pt}]
+\node [fit = (A),fill = red!15] {} ;
+\node [fit = (A-left),fill = blue!15] {} ;
+\node [fit = (A-right),fill = blue!15] {} ;
+\end{tikzpicture}
+\end{pNiceMatrix}\]
+
+
 \section{API pour les développeurs}
 
 L'extension \pkg{nicematrix} fournit deux variables internes mais publiques\footnote{Conformément aux conventions de LaTeX3,
@@ -3550,7 +3741,7 @@ est sans effet.
 
 Par défaut, toutes les lignes diagonales\footnote{On parle des lignes créées par
   |\Ddots| et non des lignes créées par une commande |\line| dans le
-  |code-after|.} d'un même tableau sont «parallélisées». Cela signifie que la
+  |\CodeAfter|.} d'un même tableau sont «parallélisées». Cela signifie que la
 première diagonale est tracée et que, ensuite, les autres lignes sont tracées
 parallèlement à la première (par rotation autour de l'extrémité la plus à gauche
 de la ligne). C'est pourquoi la position des instructions |\Ddots| dans un
@@ -3692,6 +3883,18 @@ environnements de l'extension \pkg{nicematrix} ne sont pas affectés).
 L'extension \pkg{nicematrix} n'est pas parfaitement compatible avec l'extension \pkg{arydshln} (parce que cette
 extension redéfinit de nombreuses commandes internes de \pkg{array}).
 
+Pour pouvoir utiliser \pkg{arydshln}, il faut, de toutes manières, au préalable,
+libérer la lettre «|:|» en choisissant une autre lettre pour les filets verticaux
+pointillés de \pkg{nicematrix} :
+
+\begin{Verbatim}
+\NiceMatrixOptions{letter-for-dotted-lines=;}
+\end{Verbatim}
+
+\bigskip
+L'extension \pkg{nicematrix} n'est pas compatible avec la classe \cls{aastex63}.
+Si vous souhaitez utiliser \pkg{nicematrix} with \cls{aastex63}, envoyez-moi un
+courrier électronique et j'essaierai de résoudre les incompatibilités.
 
 \section{Exemples}
 
@@ -4087,7 +4290,7 @@ $\begin{pNiceArray}{cccc:c}
 Pour mettre en évidence une case d'une matrice, il est possible de «dessiner»
 cette case avec la clé |draw| de la commande |\Block| (c'est l'un des usages des
 blocs mono-case\footnote{On rappelle que si le premier argument obligatoire de
-la commande |\Block| est laissé vide, le bloc est considéré comme mono-case}).
+la commande |\Block| est laissé vide, le bloc est considéré comme mono-case.}).
 
 \label{exemple-CodeAfter}
 
@@ -4284,21 +4487,20 @@ moyens» au lieu des «nœuds normaux».
 \medskip
 On obtient la matrice suivante.
 
-\[\begin{pNiceArray}{ccc}[
-     last-col,
-     create-medium-nodes,
-     code-after = {\begin{tikzpicture}[highlight/.style = {fill = red!15,
-                                                           blend mode = multiply,
-                                                           inner sep = 0pt,
-                                                           fit = #1},
-                                       name suffix = -medium]
-                   \node [highlight = (1-1) (1-3)] {} ;
-                   \node [highlight = (2-1) (2-3)] {} ;
-                   \node [highlight = (3-1) (3-3)] {} ;
-                   \end{tikzpicture}}]
+\[\begin{pNiceArray}{ccc}[last-col,create-medium-nodes]
 a & a + b & a + b + c & L_1 \\
 a & a     & a + b     & L_2 \\
-a & a     & a         & L_3
+a & a     & a         & L_3 \\
+\CodeAfter
+\begin{tikzpicture}[highlight/.style = {fill = red!15,
+                                        blend mode = multiply,
+                                        inner sep = 0pt,
+                                        fit = #1},
+                    name suffix = -medium]
+\node [highlight = (1-1) (1-3)] {} ;
+\node [highlight = (2-1) (2-3)] {} ;
+\node [highlight = (3-1) (3-3)] {} ;
+\end{tikzpicture}
 \end{pNiceArray}\]
 
                           
-- 
cgit v1.2.3

