texlive[52125] Master/texmf-dist: nicematrix (19sep19)

commits+karl at tug.org commits+karl at tug.org
Thu Sep 19 22:44:16 CEST 2019


Revision: 52125
          http://tug.org/svn/texlive?view=revision&revision=52125
Author:   karl
Date:     2019-09-19 22:44:15 +0200 (Thu, 19 Sep 2019)
Log Message:
-----------
nicematrix (19sep19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
    trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
    trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
    trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.dtx
    trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty

Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex	2019-09-19 20:43:29 UTC (rev 52124)
+++ trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex	2019-09-19 20:44:15 UTC (rev 52125)
@@ -1,4 +1,4 @@
-\documentclass[dvipsnames]{article}% dvipsnames is for xcolor (loaded by Tikz, loaded by nicematrix)
+\documentclass[dvipsnames]{article}% dvipsnames is for xcolor (loaded by Tikz, loaded by nicematrix)
 \usepackage{xltxtra}
 \usepackage[french]{babel}
 
@@ -8,9 +8,7 @@
 \usepackage{amsmath}
 \usepackage{color}
 \usepackage{array}
-
 \usepackage{colortbl}
-
 \usepackage{nicematrix}
 
 
@@ -30,7 +28,12 @@
 \usepackage{arydshln}
 \usepackage{verbatim}
 
+% We use \MakeShortVerb of shortvrb and not \DefineShortVrb of fancyvrb
+% because we don't want the contents of short verbatim colored in gray
+\usepackage{shortvrb}
+\MakeShortVerb{\|}
 
+
 \usepackage{fancyvrb}
 \fvset{commandchars=\~\#\@,formatcom={\color{gray}}}
 
@@ -69,29 +72,29 @@
 
 \VerbatimFootnotes
 
-\title{L'extension \pkg{nicematrix}\thanks{Ce document correspond à la version~\myfileversion\space of \pkg{nicematrix},
-en date du~\myfiledate.}} \author{F. Pantigny \\ \texttt{fpantigny at wanadoo.fr}}
+\title{L'extension \pkg{nicematrix}
+       \thanks{Ce document correspond à la version~\myfileversion\space of \pkg{nicematrix},
+               en date du~\myfiledate.}} 
+\author{F. Pantigny \\ \texttt{fpantigny at wanadoo.fr}}
 
 
 \maketitle
 
 \begin{abstract}
-L'extension LaTeX \pkg{nicematrix} fournit de nouveaux environnements
-similaires aux environnements classiques \verb|{array}| et \verb|{matrix}| mais avec des
-fonctionnalités supplémentaires. Parmi ces fonctionnalités figurent la
-possibilité de fixer la largeur des colonnes et de tracer des traits en
-pointillés continus entre les cases du tableau.
+L'extension LaTeX \pkg{nicematrix} fournit de nouveaux environnements similaires aux environnements classiques
+|{array}| et |{matrix}| mais avec des fonctionnalités supplémentaires. Parmi ces fonctionnalités figurent la
+possibilité de fixer la largeur des colonnes et de tracer des traits en pointillés continus entre les cases du
+tableau.
 \end{abstract}
 
 \vspace{1cm}
 \section{Présentation}
 
-Cette extension peut être utilisée avec \verb|xelatex|, \verb|lualatex| et \verb|pdflatex| mais
-aussi avec le cheminement classique \verb|latex|-\verb|dvips|-\verb|ps2pdf| (ou Adobe
-Distiller). Deux ou trois compilations successives peuvent être nécessaires.
-Cette extension nécessite et charge les extensions \pkg{expl3}, \pkg{l3keys2e},
-\pkg{xparse}, \pkg{array}, \pkg{amsmath} et \pkg{tikz} . Elle charge aussi la
-bibliothèque Tikz \pkg{fit}.
+Cette extension peut être utilisée avec |xelatex|, |lualatex| et |pdflatex| mais aussi avec le cheminement
+classique |latex|-|dvips|-|ps2pdf| (ou Adobe Distiller). Deux ou trois compilations successives peuvent être
+nécessaires. Cette extension nécessite et charge les extensions \pkg{expl3}, \pkg{l3keys2e}, \pkg{xparse},
+\pkg{array}, \pkg{amsmath} et \pkg{tikz} . Elle charge aussi la bibliothèque Tikz \pkg{fit}. L'utilisateur final
+n'a qu'à charger l'extension \pkg{nicematrix} avec l'instruction habituelle : |\usepackage{nicematrix}|.
 
 
 
@@ -98,17 +101,15 @@
 \medskip
 \begin{savenotes}
 \begin{minipage}{0.6\linewidth}
-Cette extension fournit quelques outils supplémentaires pour dessiner des
-matrices (au sens mathématique). Les principales caractéristiques sont les
-suivantes :
-
-\textbullet\ lignes en pointillés continues\footnote{Si l'option de classe
+Cette extension fournit quelques outils supplémentaires pour dessiner des matrices (au sens mathématique). Les
+principales caractéristiques sont les suivantes :
+\begin{itemize}\setlength{\itemsep}{0pt}
+\item des lignes en pointillés continues\footnote{Si l'option de classe
 \texttt{draft} est utilisée, ces lignes en pointillés ne sont pas tracées pour
 accélérer la compilation.} ;
-
-\textbullet\ des rangées et colonnes extérieures pour les labels ;
-
-\textbullet\ un contrôle sur la largeur des colonnes.
+\item des rangées et colonnes extérieures pour les labels ;
+\item un contrôle sur la largeur des colonnes.
+\end{itemize}
 \end{minipage}
 \end{savenotes}
 \hspace{1.4cm}
@@ -127,8 +128,8 @@
 
 
 \medskip
-Une commande\verb|\NiceMatrixOptions| est fournie pour régler les options (la
-portée des options fixées par cette commande est le groupe TeX courant).
+Une commande|\NiceMatrixOptions| est fournie pour régler les options (la portée des options fixées par cette
+commande est le groupe TeX courant).
 
 
 \bigskip
@@ -136,8 +137,7 @@
 
 \medskip
 \begin{minipage}{10cm}
-Considérons par exemple le code suivant qui utilise un environnement
-\verb|{pmatrix}| de l'extension \pkg{amsmath}.
+Considérons par exemple le code suivant qui utilise un environnement |{pmatrix}| de l'extension \pkg{amsmath}.
 
 \smallskip
 \begin{BVerbatim}
@@ -166,8 +166,8 @@
 \begin{scope}
 \NiceMatrixOptions{transparent}
 \begin{minipage}{10cm}
-Maintenant, si nous utilisons l'extension \pkg{nicematrix} avec l'option
-\verb|transparent|, le même code va donner le résultat ci-contre à droite.
+Maintenant, si nous utilisons l'extension \pkg{nicematrix} avec l'option |transparent|, le même code va donner le
+résultat ci-contre à droite.
 \end{minipage}\hspace{1cm}
 $A = \begin{pmatrix}
 1      & \cdots & \cdots & 1      \\
@@ -200,41 +200,39 @@
 
 
 \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
-\pkg{amsmath} : \verb|{matrix}|, \verb|{pmatrix}|, \verb|{bmatrix}|, \verb|{Bmatrix}|, \verb|{vmatrix}| et
-\verb|{Vmatrix}|.
+Par défaut, les environnements |{NiceMatrix}|, |{pNiceMatrix}|, |{bNiceMatrix}|, |{BNiceMatrix}|, |{vNiceMatrix}|
+et |{VNiceMatrix}| se comportent quasiment comme les environnements correspondants de \pkg{amsmath} : |{matrix}|,
+|{pmatrix}|, |{bmatrix}|, |{Bmatrix}|, |{vmatrix}| et |{Vmatrix}|.
 
 
 \medskip
-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{...}{...}|\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. 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}|. 
+L'environnement |{NiceArray}| est similaire à l'environnement |{array}| de l'extension |{array}|. Néanmoins, pour
+des raisons techniques, dans le préambule de l'environnement |{NiceArray}|, l'utilisateur doit utiliser les lettres
+|L|, |C| et~|R| au lieu de |l|, |c| et |r|. Il est possible d'utiliser les constructions |w{...}{...}|,
+|W{...}{...}|\footnote{Pour les colonnes de type |w| et |W|, les cases sont composées en mode mathématique (dans
+  les environnements de \pkg{nicematrix}) alors que dans |{array}| de \pkg{array}, elles sont composées en mode
+  texte.}, \verb+|+, |>{...}|, |<{...}|, |@{...}|, |!{...}| et |*{n}{...}| mais les lettres |p|, |m| et |b| ne
+doivent pas être employées. L'environnement |{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 |{NiceArray}|.
 
 \section{Les lignes en pointillés continues}
 
-À l'intérieur des environnements de l'extension \pkg{nicematrix}, de nouvelles commandes sont définies :
-\verb|\Ldots|, \verb|\Cdots|, \verb|\Vdots|, \verb|\Ddots|, and \verb|\Iddots|. Ces commandes sont conçues pour
-être utilisées à la place de \verb|\dots|, \verb|\cdots|, \verb|\vdots|, \verb|\ddots| et \verb|\iddots|.\footnote{La
-  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}
+À l'intérieur des environnements de l'extension \pkg{nicematrix}, de nouvelles commandes sont définies : |\Ldots|,
+|\Cdots|, |\Vdots|, |\Ddots|, and |\Iddots|. Ces commandes sont conçues pour être utilisées à la place de |\dots|,
+|\cdots|, |\vdots|, |\ddots| et |\iddots|.\footnote{La commande |\iddots|, définie dans \pkg{nicematrix}, est une
+  variante de |\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 |\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
-entre les premières cases non vides\footnote{La définition précise de ce qui est considéré comme une «case
-  vide» est donnée plus loin (cf. p.~\pageref{empty-cells}).} situées de part et d'autre de la case courante.
-Bien entendu, pour \verb|\Ldots| et \verb|\Cdots|, c'est une ligne horizontale ; pour \verb|\Vdots|, c'est une
-ligne verticale et pour \verb|\Ddots| et \verb|\Iddots|, ce sont des lignes diagonales.\par\nobreak\bigskip 
+entre les premières cases non vides\footnote{La définition précise de ce qui est considéré comme une «case vide»
+  est donnée plus loin (cf. p.~\pageref{empty-cells}).} situées de part et d'autre de la case courante. Bien
+entendu, pour |\Ldots| et |\Cdots|, c'est une ligne horizontale ; pour |\Vdots|, c'est une ligne verticale et pour
+|\Ddots| et |\Iddots|, ce sont des lignes diagonales.\par\nobreak
 
+\bigskip
 \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 \begin{bNiceMatrix}
 a_1      & \Cdots &        & & a_1 \\
@@ -253,8 +251,9 @@
 \end{bNiceMatrix}$
 
 \interitem
-Pour représenter la matrice nulle, on peut choisir d'utiliser le codage
-suivant :\par\nobreak \bigskip
+Pour représenter la matrice nulle, on peut choisir d'utiliser le codage suivant :\par\nobreak
+
+\bigskip
 \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 \begin{bNiceMatrix}
 0      & \Cdots & 0      \\
@@ -269,10 +268,11 @@
 \end{bNiceMatrix}$
 
 \bigskip
-On peut néanmoins souhaiter une matrice plus grande. Habituellement, dans un
-tel cas, les utilisateurs de LaTeX ajoutent une nouvelle ligne et une nouvelle
-colonne. Il est possible d'utiliser la même méthode avec \pkg{nicematrix}
-:\par\nobreak \bigskip 
+On peut néanmoins souhaiter une matrice plus grande. Habituellement, dans un tel cas, les utilisateurs de LaTeX
+ajoutent une nouvelle ligne et une nouvelle colonne. Il est possible d'utiliser la même méthode avec
+\pkg{nicematrix} :\par\nobreak
+
+\bigskip
 \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 \begin{bNiceMatrix}
 0      & \Cdots & \Cdots & 0      \\
@@ -289,14 +289,14 @@
 \end{bNiceMatrix}$
 
 \bigskip
-Dans la première colonne de cet exemple, il y a deux instructions \verb|\Vdots| mais
-une seule ligne en pointillés sera tracée (il n'y a pas d'objets qui se
-superposent dans le fichier \textsc{pdf} résultant\footnote{Et il n'est pas
-possible de tracer une ligne \verb|\Ldots| et une ligne \verb|\Cdots| entre les mêmes cases.}).
+Dans la première colonne de cet exemple, il y a deux instructions |\Vdots| mais une seule ligne en pointillés sera
+tracée (il n'y a pas d'objets qui se superposent dans le fichier \textsc{pdf} résultant\footnote{Et il n'est pas
+  possible de tracer une ligne |\Ldots| et une ligne |\Cdots| entre les mêmes cases.}).
 
 \bigskip
-En fait, dans cet exemple, il aurait été possible de tracer la même matrice
-plus rapidement avec le codage suivant :\par\nobreak
+En fait, dans cet exemple, il aurait été possible de tracer la même matrice plus rapidement avec le codage suivant
+:\par\nobreak
+
 \bigskip
 \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 \begin{bNiceMatrix}
@@ -315,14 +315,14 @@
 
 \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{On peut aussi régler la largeur des colonnes en utilisant
-  l'environnement \verb|{NiceArray}| (ou une de ses variantes) avec une colonne de type~\verb|w| ou \verb|W|: cf.
-  p.~\pageref{width}}
+de la commande~|\\| pour l'espacement vertical et la commande~|\hspace*| dans une case pour l'espacement
+horizontal.\footnote{On peut aussi régler la largeur des colonnes en utilisant l'environnement |{NiceArray}| (ou
+  une de ses variantes) avec une colonne de type~|w| ou |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
+Toutefois, une commande~|\hspace*| pourrait interférer dans la construction des lignes en pointillés. C'est
+pourquoi l'extension \pkg{nicematrix} fournit une commande~|\Hspace| qui est une variante de |\hspace| transparente
+pour la construction des lignes en pointillés de \pkg{nicematrix}.\par\nobreak
+
 \bigskip
 \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 \begin{bNiceMatrix}
@@ -339,8 +339,8 @@
 
 \subsection{L'option nullify-dots}
 
-Considérons la matrice suivante qui a été composée classiquement avec l'environnement 
-\verb|{pmatrix}| de \pkg{amsmath}.\par\nobreak 
+Considérons la matrice suivante qui a été composée classiquement avec l'environnement |{pmatrix}| de
+\pkg{amsmath}.\par\nobreak
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=8cm]
@@ -364,8 +364,9 @@
 
 
 \bigskip
-Si nous ajoutons des instructions \verb|\vdots| dans la seconde colonne, la
-géométrie de la matrice est modifiée.\par\nobreak
+Si nous ajoutons des instructions |\vdots| dans la seconde colonne, la géométrie de la matrice est
+modifiée.\par\nobreak
+
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=8cm]
 $B = \begin{pmatrix}
@@ -387,8 +388,9 @@
 \end{pmatrix}$
 
 \bigskip
-Par défaut, avec \pkg{nicematrix}, si nous remplaçons \verb|{pmatrix}| par \verb|{pNiceMatrix}| et \verb|\vdots| par
-\verb|\Vdots|, la géométrie de la matrice n'est pas changée.\par\nobreak
+Par défaut, avec \pkg{nicematrix}, si nous remplaçons |{pmatrix}| par |{pNiceMatrix}| et |\vdots| par |\Vdots|, la
+géométrie de la matrice n'est pas changée.\par\nobreak
+
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=8cm]
 $C = \begin{pNiceMatrix}
@@ -410,10 +412,10 @@
 \end{pNiceMatrix}$
 
 \bigskip
-On pourrait toutefois préférer la géométrie de la première matrice $A$ et
-vouloir avoir la même géométrie avec une ligne en pointillés continue dans la
-seconde colonne. C'est possible en utilisant l'option \verb|nullify-dots| (et une
-seule instruction \verb|\Vdots| suffit).\par\nobreak
+On pourrait toutefois préférer la géométrie de la première matrice $A$ et vouloir avoir la même géométrie avec une
+ligne en pointillés continue dans la seconde colonne. C'est possible en utilisant l'option |nullify-dots| (et une
+seule instruction |\Vdots| suffit).\par\nobreak
+
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=8cm]
 $D = \begin{pNiceMatrix}[~emphase#nullify-dots@]
@@ -435,23 +437,21 @@
 \end{pNiceMatrix}$
 
 \medskip
-L'option \verb|nullify-dots| «smashe» les instructions \verb|\Ldots| (et ses variantes)
-verticalement mais aussi horizontalement.
+L'option |nullify-dots| «smashe» les instructions |\Ldots| (et ses variantes) verticalement mais aussi
+horizontalement.
 
 \medskip
-{\bfseries Il doit n'y avoir aucun espace devant le crochet ouvrant (\verb|[|) des
-options de l'environnement.}
+{\bfseries Il doit n'y avoir aucun espace devant le crochet ouvrant (|[|) des options de l'environnement.}
 
 \subsection{La commande \textbackslash Hdotsfor}
 
-Certaines personnes utilisent habituellement la commande \verb|\hdotsfor| de
-l'extension \pkg{amsmath} pour tracer des lignes en pointillés horizontales
-dans une matrice. Dans les environnements de \pkg{nicematrix}, il convient
-d'utiliser \verb|\Hdotsfor| à la place pour avoir les lignes en pointillés
-similaires à toutes celles tracées par l'extension \pkg{nicematrix}.
+Certaines personnes utilisent habituellement la commande |\hdotsfor| de l'extension \pkg{amsmath} pour tracer des
+lignes en pointillés horizontales dans une matrice. Dans les environnements de \pkg{nicematrix}, il convient
+d'utiliser |\Hdotsfor| à la place pour avoir les lignes en pointillés similaires à toutes celles tracées par
+l'extension \pkg{nicematrix}.
 
-Comme avec les autres commandes de \pkg{nicematrix} (comme \verb|\Cdots|, \verb|\Ldots|, \verb|\Vdots|, etc.), la ligne
-en pointillés tracée par \verb|\Hdotsfor| s'étend jusqu'au contenu des cases de part et d'autre.
+Comme avec les autres commandes de \pkg{nicematrix} (comme |\Cdots|, |\Ldots|, |\Vdots|, etc.), la ligne en
+pointillés tracée par |\Hdotsfor| s'étend jusqu'au contenu des cases de part et d'autre.
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=7cm]
@@ -471,7 +471,7 @@
 
 \bigskip
 Néanmoins, si ces cases sont vides, la ligne en pointillés s'étend seulement dans les cases spécifiées par
-l'argument de \verb|\Hdotsfor| (par conception).
+l'argument de |\Hdotsfor| (par conception).
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=7cm]
@@ -490,40 +490,42 @@
 \end{pNiceMatrix}$
 
 \bigskip
-La commande \verb|\hdotsfor| de \pkg{amsmath} prend un argument optionnel (entre
-crochets) qui est utilisé pour un réglage fin de l'espace entre deux points
-consécutifs. Par homogénéité, \verb|\Hdotsfor| prend aussi un argument optionnel
-mais cet argument est écarté silencieusement.
+La commande |\hdotsfor| de \pkg{amsmath} prend un argument optionnel (entre crochets) qui est utilisé pour un
+réglage fin de l'espace entre deux points consécutifs. Par homogénéité, |\Hdotsfor| prend aussi un argument
+optionnel mais cet argument est écarté silencieusement.
 
-Remarque : Contrairement à la commande \verb|\hdotsfor| de \pkg{amsmath}, la commande \verb|\Hdotsfor| est
-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|).
+Remarque : Contrairement à la commande |\hdotsfor| de \pkg{amsmath}, la commande |\Hdotsfor| est utilisable lorsque
+l'extension \pkg{colortbl} est chargée (mais vous risquez d'avoir des problèmes si vous utilisez |\rowcolor| sur la
+même rangée que |\Hdotsfor|).
 
 \subsection{Comment créer les lignes en pointillés de manière transparente}
 
-L'extension \pkg{nicematrix} fournit une option appelée \verb|transparent| qui permet d'utiliser du code existant
-de manière transparente dans les environnements \verb|{matrix}|. Cette option peut être passée en option du
-\verb|\usepackage| ou bien être fixée avec la commande \verb|\NiceMatrixOptions|.
+L'extension \pkg{nicematrix} fournit une option appelée |transparent| qui permet d'utiliser du code existant de
+manière transparente dans les environnements |{matrix}|. Cette option peut être passée en option du |\usepackage|
+ou bien être fixée avec la commande |\NiceMatrixOptions|.
 
-En fait, cette option est un alias pour la conjonction de deux options : \verb|renew-dots| et \verb|renew-matrix|.
+En fait, cette option est un alias pour la conjonction de deux options : |renew-dots| et |renew-matrix|.
 
 \smallskip
 
 \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|\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 |renew-dots|\par\nobreak 
 
-\item L'option \verb|renew-matrix|\par\nobreak 
-Avec cette option, l'environnement \verb|{matrix}| est redéfini et
-se comporte comme \verb|{NiceMatrix}| et il en est de même pour les cinq variantes.
+Avec cette option, les commandes |\ldots|, |\cdots|, |\vdots|, |\ddots|, |\iddots|\footnotemark[\thefniddots] et
+|\hdotsfor| sont redéfinies dans les environnements de \pkg{nicematrix} et agissent comme |\Ldots|, |\Cdots|,
+|\Vdots|, |\Ddots|, |\Iddots| et |\Hdotsfor| ; la commande |\dots| (points de suspension «automatiques» de
+|amsmath|) est aussi redéfinie et se comporte comme |\Ldots|.
+
+\item L'option |renew-matrix|\par\nobreak 
+
+Avec cette option, l'environnement |{matrix}| est redéfini et se comporte comme |{NiceMatrix}| et il en est de même
+pour les cinq variantes.
 \end{itemize}
 
 \bigskip 
-Par conséquent, avec l'option \verb|transparent|, un code classique donne directement le résultat fourni par
+Par conséquent, avec l'option |transparent|, un code classique donne directement le résultat fourni par
 \pkg{nicematrix}.\par\nobreak
+
 \bigskip
 \begin{scope}
 \NiceMatrixOptions{transparent}
@@ -549,11 +551,11 @@
 
 \section{Les nœuds Tikz créés par l'extension nicematrix}
 
-L'extension \pkg{nicematrix} crée un nœud Tikz pour chaque case du tableau considéré. Ces nœuds sont utilisés
-pour tracer les lignes en pointillés entre les cases du tableau. Toutefois, l'utilisateur peut aussi utiliser
-directement ces nœuds. On commence par donner un nom au tableau (avec l'option \verb|name|). Cela étant fait, les
-nœuds sont accessibles à travers les noms «\textsl{nom}-$i$-$j$» où \textsl{nom} est le nom donné au tableau et $i$
-et $j$ les numéros de ligne et de colonne de la case considérée.
+L'extension \pkg{nicematrix} crée un nœud Tikz pour chaque case du tableau considéré. Ces nœuds sont utilisés pour
+tracer les lignes en pointillés entre les cases du tableau. Toutefois, l'utilisateur peut aussi utiliser
+directement ces nœuds. On commence par donner un nom au tableau (avec l'option |name|). Cela étant fait, les nœuds
+sont accessibles à travers les noms «\textsl{nom}-$i$-$j$» où \textsl{nom} est le nom donné au tableau et $i$ et
+$j$ les numéros de ligne et de colonne de la case considérée.
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=11cm]
@@ -574,7 +576,7 @@
      \draw (ma-matrice-2-2) circle (2mm) ; 
 
 \medskip
-Ne pas oublier les options \verb|remember picture| et \verb|overlay|.
+Ne pas oublier les options |remember picture| et |overlay|.
 
 \bigskip
 Dans l'exemple suivant, nous avons surligné toutes les cases de la matrice.
@@ -590,12 +592,12 @@
 
 \bigskip
 En fait, l'extension \pkg{nicematrix} peut créer des nœuds supplémentaires (\emph{extra nodes} en anglais). Ces
-nouveaux nœuds sont créés si l'option \verb|create-extra-nodes| est utilisée. Il y a deux séries de nœuds
+nouveaux nœuds sont créés si l'option |create-extra-nodes| est utilisée. Il y a deux séries de nœuds
 supplémentaires : les «nœuds moyens» (\emph{medium nodes} en anglais) et les «nœuds larges» (\emph{large nodes} en
 anglais).
 
 \medskip
-Les noms des «nœuds moyens» s'obtiennent en ajoutant le suffixe «\verb|-medium|» au nom des nœuds normaux. Dans
+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}[
@@ -622,7 +624,7 @@
 
 
 \medskip
-Les noms des «nœuds larges» s'obtiennent en ajoutant le suffixe «\verb|-large|» au nom des nœuds normaux. Dans l'exemple
+Les noms des «nœuds larges» s'obtiennent en ajoutant le suffixe «|-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{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}).}
@@ -651,12 +653,12 @@
 
 \medskip
 Les «nœuds larges» de la première colonne et de la dernière colonne peuvent apparaître trop petits pour certains
-usages. C'est pourquoi il est possible d'utiliser les options \verb|left-margin| et \verb|right-margin| pour
-ajouter de l'espace des deux côtés du tableau et aussi de l'espace dans les «nœuds larges» de la première colonne et
-de la dernière colonne. Dans l'exemple suivant, nous avons utilisé les options \verb|left-margin| et \verb|right-margin|.
-\footnote{Les options  \verb|left-margin| et \verb|right-margin| prennent des dimensions comme valeurs mais, si
-  aucune valeur n'est donnée, c'est la valeur par défaut qui est utilisée et elle est égale à \verb|\arraycolsep|
-  (par défaut, 5~pt).Il existe aussi une option \verb|margin| pour fixer à la fois \verb|left-margin| et \verb|right-margin|.}
+usages. C'est pourquoi il est possible d'utiliser les options |left-margin| et |right-margin| pour ajouter de
+l'espace des deux côtés du tableau et aussi de l'espace dans les «nœuds larges» de la première colonne et de la
+dernière colonne. Dans l'exemple suivant, nous avons utilisé les options |left-margin| et
+|right-margin|.\footnote{Les options |left-margin| et |right-margin| prennent des dimensions comme valeurs mais, si
+  aucune valeur n'est donnée, c'est la valeur par défaut qui est utilisée et elle est égale à |\arraycolsep| (par
+  défaut, 5~pt).Il existe aussi une option |margin| pour fixer à la fois |left-margin| et |right-margin|.}
 \[\begin{pNiceMatrix}[
  create-extra-nodes,left-margin,right-margin,
  code-after = {\begin{tikzpicture}
@@ -679,9 +681,9 @@
 \end{pNiceMatrix}\]
 
 \medskip
-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.
+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-extra-nodes,left-margin,right-margin,extra-right-margin=3pt,extra-left-margin=3pt,
  code-after = {\begin{tikzpicture}
@@ -704,8 +706,8 @@
 \end{pNiceMatrix}\]
 
 \medskip
-Dans le cas présent, si on veut un contrôle sur la hauteur des rangées, on peut ajouter un \verb|\strut| dans
-chaque rangée du tableau.
+Dans le cas présent, si on veut un contrôle sur la hauteur des rangées, on peut ajouter un |\strut| dans chaque
+rangée du tableau.
 \[\begin{pNiceMatrix}[
  create-extra-nodes,left-margin,right-margin,extra-right-margin=3pt,extra-left-margin=3pt,
  code-after = {\begin{tikzpicture}
@@ -732,13 +734,13 @@
 
 \section{Le code-after}
 
-L'option \verb|code-after| peut être utilisée pour indiquer du code qui sera exécuté après la construction de la
-matrice (et donc, en particulier, après la construction de tous les nœuds).
+L'option |code-after| peut être utilisée pour indiquer du code qui sera exécuté après la construction de la matrice
+(et donc, en particulier, après la construction de tous les nœuds).
 
-Dans le \verb|code-after|, les nœuds Tikz doivent être désignés sous la forme $i$-$j$ (sans le préfixe
-correspondant au nom de l'environnement).
+Dans le |code-after|, les nœuds Tikz doivent être désignés sous la forme $i$-$j$ (sans le préfixe correspondant au
+nom de l'environnement).
 
-De plus, une commande spéciale, nommée \verb|\line| est disponible pour tracer directement des lignes en pointillés
+De plus, une commande spéciale, nommée |\line| est disponible pour tracer directement des lignes en pointillés
 entre les nœuds).
 
 \medskip
@@ -759,26 +761,23 @@
 \section{L'environnement \{NiceArray\}}
 \label{NiceArray}
 
-L'environnement \verb|{NiceArray}| est similaire à l'environnement \verb|{array}|. Comme pour \verb|{array}|,
-l'argument obligatoire est le préambule du tableau. Néanmoins, pour des raisons techniques, l'utilisateur doit
-utiliser les lettres \verb|L|, \verb|C| et \verb|R|\footnote{Les types de colonnes \verb|L|, \verb|C| et \verb|R|
-  sont définis localement à l'intérieur de \verb|{NiceArray}| avec la commande \verb|\newcolumntype| de
-  \pkg{array}. Cette définition masque une éventuelle définition précédente. En fait, les types de colonnes
-  \verb|w| and \verb|W| sont également redéfinis.} au lieu de \verb|l|, \verb|c| et \verb|r|. 
+L'environnement |{NiceArray}| est similaire à l'environnement |{array}|. Comme pour |{array}|, l'argument
+obligatoire est le préambule du tableau. Néanmoins, pour des raisons techniques, l'utilisateur doit utiliser les
+lettres |L|, |C| et |R|\footnote{Les types de colonnes |L|, |C| et |R| sont définis localement à l'intérieur de
+  |{NiceArray}| avec la commande |\newcolumntype| de \pkg{array}. Cette définition masque une éventuelle définition
+  précédente. En fait, les types de colonnes |w| and |W| sont également redéfinis.} au lieu de |l|, |c| et |r|.
 
-Il est possible d'utiliser les constructions \verb|w{...}{...}|, \verb|W{...}{...}|, \verb+|+, \verb|>{...}|,
-\verb|<{...}|, \verb|@{...}|, \verb|!{...}| et \verb|*{n}{...}| mais les lettres \verb|p|, \verb|m| et \verb|b| ne 
-doivent pas être employées.\footnote{Dans une commande \verb|\multicolumn|, on doit également utiliser les lettres
-  \verb|L|, \verb|C| et 
-  \verb|R|.}
+Il est possible d'utiliser les constructions |w{...}{...}|, |W{...}{...}|, \verb+|+, |>{...}|, |<{...}|, |@{...}|,
+|!{...}| et |*{n}{...}| mais les lettres |p|, |m| et |b| ne doivent pas être employées.\footnote{Dans une commande
+  |\multicolumn|, on doit également utiliser les lettres |L|, |C| et |R|.}
 
 \medskip
-L'environnement \verb|{NiceArray}| accepte les options classiques \verb|t|, \verb|c| et \verb|b| de \verb|{array}|
-mais aussi d'autres options définies par \pkg{nicematrix} (\verb|renew-dots|, \verb|columns-width|, etc.).
+L'environnement |{NiceArray}| accepte les options classiques |t|, |c| et |b| de |{array}| mais aussi d'autres
+options définies par \pkg{nicematrix} (|renew-dots|, |columns-width|, etc.).
 
 
 \vspace{1cm}
-Un exemple avec un système linéaire (on a besoin de \verb|{NiceArray}| pour le trait vertical)
+Un exemple avec un système linéaire (on a besoin de |{NiceArray}| pour le trait vertical)
 
 \bigskip
 \begin{BVerbatim}[baseline=c,boxwidth=10cm]
@@ -788,7 +787,7 @@
 \Vdots & \Ddots & \Ddots & ? \\ 
 0      & \Cdots & 0      & a_n     & ?     
 \end{NiceArray}\right]$
-\end{BVerbatim}
+\end{BVerbatim} 
 $\left[\begin{NiceArray}{CCCC|C}
 a_1    & ?      & \Cdots & ?       & ?     \\
 0      &        & \Ddots & \Vdots  & \Vdots\\
@@ -797,14 +796,12 @@
 \end{NiceArray}\right]$
 
 \vspace{1cm}
-Il existe également des variantes pour l'environnement \verb|{NiceArray}|:
-\verb|{pNiceArray}|, \verb|{bNiceArray}|, \verb|{BNiceArray}|, \verb|{vNiceArray}| et
-\verb|{VNiceArray}|.  
+Il existe également des variantes pour l'environnement |{NiceArray}| : |{pNiceArray}|, |{bNiceArray}|,
+|{BNiceArray}|, |{vNiceArray}| et |{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|).
+Dans l'exemple suivant, on utilise un environnment |{pNiceArray}| (on n'utilise pas |{pNiceMatrix}| car on souhaite
+utiliser les types de colonne |L| et |R| --- avec |{pNiceMatrix}|, toutes les colonnes sont de type |C|).
 
 
 \bigskip
@@ -824,12 +821,12 @@
 \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|.
+L'environnement |{NiceArray}| et ses variantes permettent de composer des rangées et des colonnes «extérieures» grâce aux options
+|first-row|, |last-row|, |first-col| et |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|).
+une colonne de type |R|) ou pour l'éventuelle «dernière colonne» (qui sera automatiquement de type |L|).
 
 
 \begin{Verbatim}
@@ -853,18 +850,17 @@
 \end{pNiceArray}\]
 
 \bigskip
+Néanmoins, il y a une particularité avec l'option |last-row| : quand LaTeX compose un tableau |{array}| (via une
+commande |\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 |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 |last-row| et,
+ainsi, \pkg{nicematrix} le connaîtra dès la première compilation.
 
-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. 
+On peut contrôler l'apparence de ces rangées et colonnes avec les options |code-for-first-row|,
+|code-for-last-row|, |code-for-first-col| et |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}
 \NiceMatrixOptions{~emphase#code-for-first-row@ = \color{red},
@@ -887,7 +883,8 @@
                    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]
+\begin{displaymath}
+\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 \\
@@ -895,7 +892,8 @@
 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{pNiceArray}
+\end{displaymath}
 \end{scope}
 
 
@@ -902,28 +900,28 @@
 
 \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
+\item Comme on peut le voir dans l'exemple précédent, un filet horizontal (tracé avec |\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}. Par
 ailleurs, si on veut vraiment un filet qui s'étende dans la première et la dernière rangée, on peut utiliser
-\verb|!{\vline}| dans le préambule à la place de \verb+|+.}
-\item La «première rangée» d'un environnement \verb|{pNiceArray}| porte le numéro $0$, et non $1$ (de même pour la
+|!{\vline}| dans le préambule à la place de \verb+|+.}
+\item La «première rangée» d'un environnement |{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
+utilisés, par exemple, par la commande |\line| dans le |code-after|).
+\item Sans surprise, une éventuelle option |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
+\item Pour des raisons techniques, il n'est pas possible d'utiliser l'option de la commande |\\| 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|{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|{NiceArrayWithDelims}| si on a besoin de délimiteurs atypiques.
+En fait, l'environnement |{pNiceArray}| et ses variantes sont fondés sur un environnement plus général, appelé
+|{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 |{NiceArrayWithDelims}|
+si on a besoin de délimiteurs atypiques.
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=11cm]
@@ -947,8 +945,8 @@
 \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 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|
+Dans les environnements de \pkg{nicematrix}, il est possible d'utiliser la commande |\hdottedline| (fournie
+par \pkg{nicematrix}) qui est l'équivalent pour les pointillés des commandes |\hline| et |\hdashline|
 (cette dernière étant une commande de \pkg{arydshln}).
 
 \medskip
@@ -969,8 +967,8 @@
 
 
 \bigskip
-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|:|».
+Dans les environnements avec un préambule explicite (comme |{NiceArray}|, |{pNiceArray}|, etc.), il est possible de
+dessiner un trait vertical en pointillés avec le spécificateur «|:|».
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=9.5cm]
@@ -1019,10 +1017,10 @@
 
 \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}.
+vertical en pointillés avec l'option |letter-for-dotted-lines| disponible dans |\NiceMatrixOptions|. Par exemple,
+dans ce document, nous avons chargé l'extension \pkg{arydshln} qui utilise la lettre «|:|» pour indiquer un trait
+vertical en tiretés. Par conséquent, en utilisant l'option |letter-for-dotted-lines|, on peut utiliser les traits
+verticaux fournis à la fois par \pkg{arydshln} et par \pkg{nicematrix}.
 
 
 \medskip
@@ -1046,10 +1044,10 @@
 \section{La largeur des colonnes}
 \label{width}
 
-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).
+Dans les environnements avec un préambule explicite (comme |{NiceArray}|, |{pNiceArray}|, etc.), il est possible de
+fixer la largeur d'une colonne avec les lettres classiques |w| et |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 |{array}| de \pkg{array}, elles sont composées en mode texte).
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=10cm]
@@ -1068,7 +1066,7 @@
 
 \bigskip
 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}).
+avec l'option |columns-width| (disponible dans tous les environnements de \pkg{nicematrix}).
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=10cm]
@@ -1085,11 +1083,11 @@
 \end{pNiceMatrix}$
 
 \medskip
-Noter que l'espace inséré entre deux colonnes (égal à 2 \verb|\arraycolsep|) n'est pas supprimé (il est évidemment
-possible de le supprimer en mettant \verb|\arraycolsep| à~$0$).
+Noter que l'espace inséré entre deux colonnes (égal à 2 |\arraycolsep|) n'est pas supprimé (il est évidemment
+possible de le supprimer en mettant |\arraycolsep| à~$0$).
 
 \bigskip
-Il est possible de donner la valeur \verb|auto| à l'option \verb|columns-width| : toutes les colonnes du tableau
+Il est possible de donner la valeur |auto| à l'option |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 successives peuvent être nécessaires.}\par\nobreak
 
@@ -1109,7 +1107,8 @@
 
 \bigskip
 Il est possible de fixer la largeur de toutes les colonnes de toutes les matrices dans une certaine portion de
-document avec la commande \verb|\NiceMatrixOptions|.\par\nobreak
+document avec la commande |\NiceMatrixOptions|.\par\nobreak
+
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=8.5cm]
 ~emphase#\NiceMatrixOptions{columns-width=10mm}@
@@ -1137,9 +1136,9 @@
 
 \bigskip
 Mais il est aussi possible de fixer une zone dans laquelle toutes les matrices auront leurs colonnes de la même
-largeur, égale à la largeur de la case la plus large de toutes les matrices de la zone. Cette construction
-utilise l'environnement \verb|{NiceMatrixBlock}| avec l'option \verb|auto-columns-width|.\footnote{Pour le moment,
-  c'est le seul usage de l'environnement \verb|{NiceMatrixBlock}| mais il pourrait y en avoir davantage dans le futur.}
+largeur, égale à la largeur de la case la plus large de toutes les matrices de la zone. Cette construction utilise
+l'environnement |{NiceMatrixBlock}| avec l'option |auto-columns-width|.\footnote{Pour le moment, c'est le seul
+  usage de l'environnement |{NiceMatrixBlock}| mais il pourrait y en avoir davantage dans le futur.}
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=8.5cm]
@@ -1155,22 +1154,22 @@
 \end{BVerbatim}
 \begin{NiceMatrixBlock}[auto-columns-width]
 $\begin{pNiceMatrix}
-a & b \\ c & d 
-\end{pNiceMatrix}
+ a & b \\ c & d 
+ \end{pNiceMatrix}
 = 
-\begin{pNiceMatrix}
-1   & 1245 \\  345 & 2 
-\end{pNiceMatrix}$
+ \begin{pNiceMatrix}
+ 1   & 1245 \\  345 & 2 
+ \end{pNiceMatrix}$
 \end{NiceMatrixBlock}
 
 \section{Les matrices par blocs}
 
-Dans les environnements de \pkg{nicematrix}, on peut utiliser la commande \verb|\Block| pour placer un élément au
-centre d'un rectangle de cellules fusionnées.
+Dans les environnements de \pkg{nicematrix}, on peut utiliser la commande |\Block| pour placer un élément au centre
+d'un rectangle de cellules fusionnées.
 
-La commande \verb|\Block| doit être utilisée dans la cellule supérieure gauche du bloc avec deux arguments. Le
-premier argument est la taille de ce bloc avec la syntaxe $i$\verb|-|$j$ où $i$ est le nombre de rangées et $j$ le
-nombre de colonnes du bloc. Le deuxième argument, est, sans surprise, le contenu du bloc (en mode mathématique).
+La commande |\Block| doit être utilisée dans la cellule supérieure gauche du bloc avec deux arguments. Le premier
+argument est la taille de ce bloc avec la syntaxe $i$-$j$ où $i$ est le nombre de rangées et $j$ le nombre de
+colonnes du bloc. Le deuxième argument, est, sans surprise, le contenu du bloc (en mode mathématique).
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
@@ -1198,9 +1197,9 @@
 
 \bigskip
 On peut souhaiter agrandir la taille du «$A$» placé dans le bloc de l'exemple précédent. Comme il est composé en
-mode mathématique, on ne peut pas directement utiliser une commande comme \verb|\large|, \verb|\Large| ou 
-\verb|\LARGE|. C'est pourquoi une option à mettre entre chevrons est proposée par \verb|\Block| pour spécifier du
-code LaTeX qui sera inséré \emph{avant} le début du mode mathématique.
+mode mathématique, on ne peut pas directement utiliser une commande comme |\large|, |\Large| ou |\LARGE|. C'est
+pourquoi une option à mettre entre chevrons est proposée par |\Block| pour spécifier du code LaTeX qui sera inséré
+\emph{avant} le début du mode mathématique.
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
@@ -1228,16 +1227,59 @@
 
 
 \medskip
-Pour des raisons techniques, il n'est pas possible d'écrire \verb|\Block{|$i$\verb|-|$j$\verb|}{<}|  
-(mais on peut écrire \verb|\Block{|$i$\verb|-|$j$\verb|}<>{<}| avec le résultat attendu).
+Pour des raisons techniques, il n'est pas possible d'écrire |\Block{|$i$|-|$j$|}{<}|  
+(mais on peut écrire |\Block{|$i$|-|$j$|}<>{<}| avec le résultat attendu).
 
 
+
+\section{L'option small}
+
+Avec l'option |small|, les environnements de l'extension \pkg{nicematrix} sont composés d'une manière proche de ce
+que propose l'environnement |{smallmatrix}| de l'\pkg{amsmath} (et les environnements |{psmallmatrix}|,
+|{bsmallmatrix}|, etc. de \pkg{mathtools}).
+
+\bigskip
+\begin{Verbatim}
+$\begin{bNiceArray}{CCCC|C}[~emphase#small@, 
+                            last-col, 
+                            code-for-last-col = \scriptscriptstyle, 
+                            columns-width = 3mm ] 
+1 & -2 & 3 & 4 & 5 \\
+0 & 3  & 2 & 1 & 2 & L_2 \gets 2 L_1 - L_2 \\
+0 & 1  & 1 & 2 & 3 & L_3 \gets L_1 + L_3 \\
+\end{bNiceArray}$
+\end{Verbatim}
+%
+\[\begin{bNiceArray}{CCCC|C}[small, last-col, code-for-last-col = \scriptscriptstyle, columns-width=3mm]
+1 & -2 & 3 & 4 & 5 \\
+0 & 3  & 2 & 1 & 2 & L_2 \gets 2 L_1 - L_2 \\
+0 & 1  & 1 & 2 & 3 & L_3 \gets L_1 + L_3 \\
+\end{bNiceArray}\]
+
+
+
+\bigskip
+On remarquera néanmoins que l'environnement |{NiceMatrix}| avec l'option |small| ne prétend pas être composé
+exactement comme l'environnement |{smallmatrix}|. C'est que les environnements de \pkg{nicematrix} sont tous fondés
+sur |{array}| (de \pkg{array}) alors que ce n'est pas le cas de |{smallmatrix}| (fondé directement sur un |\halign|
+de TeX).
+
+\medskip
+En fait, l'option |small| correspond aux réglages suivants :
+\begin{itemize}
+\item les composantes du tableau sont composées en |\scriptstyle| ; 
+\item |\arraystretch| est fixé à $0.47$ ; 
+\item |\arraycolsep| est fixé à $1.45$~pt ; 
+\item les caractéristiques des lignes en pointillés sont également modifiées.
+\end{itemize}
+
+
 \section{L'option 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»).
+avec la commande~|\hline|. Par souci de commodité, l'extension \pkg{nicematrix} fournit l'option |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=10.6cm]
@@ -1255,9 +1297,9 @@
 \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}. Les colonnes \verb|d| de l'extension \pkg{dcolumn} ne sont pas
-prises en charge par \pkg{nicematrix}.
+de type |S| de \pkg{siunitx} dans les environnements de \pkg{nicematrix}. L'implémentation n'utilise explicitement
+aucune macro privée de \pkg{siunitx}. Les colonnes |d| de l'extension \pkg{dcolumn} ne sont pas prises en charge
+par \pkg{nicematrix}.
 
 \medskip
 \begin{BVerbatim}[baseline = c, boxwidth = 10.5cm]
@@ -1282,15 +1324,15 @@
 
 \subsection{Intersection des lignes pointillées}
 
-Depuis la version 3.1 de \pkg{nicematrix}, les lignes en pointillées créées par \verb|\Cdots|, \verb|\Ldots|,
-\verb|\Vdots|, etc. ne peuvent pas se croiser entre elles.\footnote{En revanche, les lignes créées par
-  \verb|\hdottedline|, la lettre ``\verb|:|'' dans le préambule de la matrice et la commande \verb|\line| dans le
-  \verb|code-after| peuvent croiser une autre ligne en pointillés.}
+Depuis la version 3.1 de \pkg{nicematrix}, les lignes en pointillées créées par |\Cdots|, |\Ldots|, |\Vdots|, etc.
+ne peuvent pas se croiser entre elles.\footnote{En revanche, les lignes créées par |\hdottedline|, la lettre
+  ``|:|'' dans le préambule de la matrice et la commande |\line| dans le |code-after| peuvent croiser une autre
+  ligne en pointillés.}
 
 Cela signifie qu'une ligne en pointillés créée par l'une des ces commandes s'arrête automatiquement quand elle
-arrive à une autre ligne pointillée déjà tracée par l'une de ces commandes. Par conséquent, l'ordre dans lequel
-les lignes sont tracées a son importance pour le résultat final. Voici cet ordre (c'est à dessein qu'il a été
-choisi ainsi) : \verb|\Hdotsfor|, \verb|\Vdots|, \verb|\Ddots|, \verb|\Iddots|, \verb|\Cdots| and \verb|\Ldots|. 
+arrive à une autre ligne pointillée déjà tracée par l'une de ces commandes. Par conséquent, l'ordre dans lequel les
+lignes sont tracées a son importance pour le résultat final. Voici cet ordre (c'est à dessein qu'il a été choisi
+ainsi) : |\Hdotsfor|, |\Vdots|, |\Ddots|, |\Iddots|, |\Cdots| and |\Ldots|.
 
 De ce fait, on peut tracer la matrice suivante :
 
@@ -1318,14 +1360,14 @@
 
 \subsection{Lignes diagonales} 
 
-Par défaut, toutes les lignes diagonales\footnote{On parle des lignes créées par \verb|\Ddots| et non des lignes
-  créées par une commande \verb|\line| dans le \verb|code-after|.} 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 \verb|\Ddots| dans
-un tableau peut avoir un effet marqué sur le résultat final.
+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
+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 tableau peut avoir un effet marqué sur le résultat final.
 
 \medskip
-Dans les exemples suivants, la première instruction \verb|\Ddots| est marquée en couleur :
+Dans les exemples suivants, la première instruction |\Ddots| est marquée en couleur :
 
 \medskip
 \begin{scope}
@@ -1367,8 +1409,7 @@
 \end{pNiceMatrix}$
 
 \bigskip
-Il est possible de désactiver la parallélisation avec l'option
-\verb|parallelize-diags| mise à \verb|false|: \par\nobreak
+Il est possible de désactiver la parallélisation avec l'option |parallelize-diags| mise à |false|: \par\nobreak
 
 \medskip
 \NiceMatrixOptions{parallelize-diags=false}%
@@ -1388,11 +1429,10 @@
 \subsection{Les cases «vides»}
 
 \label{empty-cells}
-Une instruction comme 
-\verb|\Ldots|, \verb|\Cdots|, etc. essaye de déterminer la première case vide de part et d'autre de la case
-considérée. Néanmoins, une case vide n'est pas nécessairement sans contenu dans le codage TeX (c'est-à-dire sans
-aucun token entre les deux esperluettes~\verb|&|). En effet, une case dont le contenu est \verb|\hspace*{1cm}| peut
-être considérée comme vide. 
+Une instruction comme |\Ldots|, |\Cdots|, etc. essaye de déterminer la première case vide de part et d'autre de la
+case considérée. Néanmoins, une case vide n'est pas nécessairement sans contenu dans le codage TeX (c'est-à-dire
+sans aucun token entre les deux esperluettes~|&|). En effet, une case dont le contenu est |\hspace*{1cm}| peut être
+considérée comme vide.
 
 \interitem
 Pour \pkg{nicematrix}, les règles précises sont les suivantes :
@@ -1413,16 +1453,15 @@
 \item Chaque case avec un rendu par TeX de largeur inférieure à 0.5~pt est vide.
 
 \medskip
-\item Une case qui contient une commande \verb|\Ldots|, \verb|\Cdots|, \verb|\Vdots|, \verb|\Ddots|
-ou \verb|\Iddots| est vide. On rappelle que ces commandes doivent être employées seules dans une case. 
+\item Une case qui contient une commande |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots| ou |\Iddots| est vide. On rappelle
+que ces commandes doivent être employées seules dans une case.
 
 
 \medskip
-\item Une case avec une commande \verb|\Hspace| (ou \verb|\Hspace*|) est vide. Cette commande
-\verb|\Hspace| est une commande définie par l'extension  \pkg{nicematrix} avec la même signification
-que \verb|\hspace| excepté que la case où cette commande est utilisée est considérée comme vide.
-Cette commande peut être utilisée pour fixer la largeur des colonnes sans interférer avec le tracé des lignes en
-pointillés par \pkg{nicematrix}.
+\item Une case avec une commande |\Hspace| (ou |\Hspace*|) est vide. Cette commande |\Hspace| est une commande
+définie par l'extension \pkg{nicematrix} avec la même signification que |\hspace| excepté que la case où cette
+commande est utilisée est considérée comme vide. Cette commande peut être utilisée pour fixer la largeur des
+colonnes sans interférer avec le tracé des lignes en pointillés par \pkg{nicematrix}.
 
 \end{itemize}
 
@@ -1429,47 +1468,41 @@
 
 \subsection{L'option exterior-arraycolsep}
 
-L'environnement \verb|{array}| insère un espace horizontal égal à \verb|\arraycolsep|
-avant et après chaque colonne. En particulier, il y a un espace égal à
-\verb|\arraycolsep| avant et après le tableau. Cette caractéristique de l'environnement \verb|{array}|
-n'était probablement pas une bonne idée.\footnote{Dans la documentation de
-\verb|{amsmath}|, on peut lire : {\itshape The extra space of \verb|\arraycolsep| that
-\pkg{array} adds on each side is a waste so we remove it [in \verb|{matrix}|]
-(perhaps we should instead remove it from array in general, but that's a
-harder task).} Il est possible de supprimer les espaces pour un environnement \verb|{array}| donné par une
-construction du type \verb|\begin{array}{@{}ccccc@{}}|.}
+L'environnement |{array}| insère un espace horizontal égal à |\arraycolsep| avant et après chaque colonne. En
+particulier, il y a un espace égal à |\arraycolsep| avant et après le tableau. Cette caractéristique de
+l'environnement |{array}| n'était probablement pas une bonne idée.\footnote{Dans la documentation de |{amsmath}|,
+  on peut lire : {\itshape The extra space of |\arraycolsep| that \pkg{array} adds on each side is a waste so we
+    remove it [in |{matrix}|] (perhaps we should instead remove it from array in general, but that's a harder
+    task).} Il est possible de supprimer les espaces pour un environnement |{array}| donné par une construction du
+  type |\begin{array}{@{}ccccc@{}}|.} % \end{array}
 
-L'environnement \verb|{matrix}| et ses variantes (\verb|{pmatrix}|, \verb|{vmatrix}|, etc.)
-de \pkg{amsmath} prefèrent supprimer ces espaces avec des instructions explicites
-\verb|\hskip -\arraycolsep| et \verb|{NiceArray}| agit de même.
+L'environnement |{matrix}| et ses variantes (|{pmatrix}|, |{vmatrix}|, etc.) de \pkg{amsmath} prefèrent supprimer
+ces espaces avec des instructions explicites |\hskip -\arraycolsep| et |{NiceArray}| agit de même.
 
-Néanmoins, l'utilisateur peut changer ce comportement avec l'option
-\verb|exterior-arraycolsep| de la commande \verb|\NiceMatrixOptions|. Avec cette option,
-\verb|{NiceArray}| va insérer le même espacement horizontal que \verb|{array}|.  
+Néanmoins, l'utilisateur peut changer ce comportement avec l'option |exterior-arraycolsep| de la commande
+|\NiceMatrixOptions|. Avec cette option, |{NiceArray}| va insérer le même espacement horizontal que |{array}|.
 
-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|extra-left-margin|, etc.
+Cette option est seulement pour la «compatibilité» puisque l'extension \pkg{nicematrix} fournit un contrôle plus
+précis avec les options |left-margin|, |extra-left-margin|, etc.
 
 
 \subsection{L'option de classe draft}
 
-L'extension \pkg{nicematrix} est relativement lente pour tracer les lignes en pointillés
-(créées par \verb|\Cdots|, \verb|\Ldots|, \verb|\Ddots|, etc. mais aussi par le spécificateur
-«\verb|:|»).\footnote{La principale raison est que nous voulons des lignes
-                                           en pointillés avec des points ronds et non carrés. Pour atteindre ce
-                                           but, il a fallu construire notre propre système de lignes en pointillés.}
+L'extension \pkg{nicematrix} est relativement lente pour tracer les lignes en pointillés (créées par |\Cdots|,
+|\Ldots|, |\Ddots|, etc. mais aussi par le spécificateur «|:|»).\footnote{La principale raison est que nous voulons
+  des lignes en pointillés avec des points ronds et non carrés. Pour atteindre ce but, il a fallu construire notre
+  propre système de lignes en pointillés.}
 
 
-C'est pourquoi, avec l'option de classe \verb|draft|, les lignes en pointillés ne sont pas tracées, 
-pour accélérer la compilation.
+C'est pourquoi, avec l'option de classe |draft|, les lignes en pointillés ne sont pas tracées, pour accélérer la
+compilation.
 
 
 \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|\\|,
-l'espace vertical sera aussi ajouté au nœud («normal») correspondant à la case précédente.
+Pour des raisons techniques, si vous utilisez l'argument optionnel de la commande |\\|, l'espace vertical sera
+aussi ajouté au nœud («normal») correspondant à la case précédente.
 
 
 \medskip
@@ -1490,7 +1523,7 @@
 
 \bigskip
 Il y a deux solutions pour résoudre ce problème. La première solution est d'utiliser une commande TeX pour insérer
-    l'espace entre les deux rangées.
+l'espace entre les deux rangées.
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=11cm]
@@ -1512,7 +1545,7 @@
 
 
 \bigskip
-L'autre solution est d'utiliser la commande \verb|\multicolumn| dans la case précédente :
+L'autre solution est d'utiliser la commande |\multicolumn| dans la case précédente :
 
 \medskip
 \begin{BVerbatim}[baseline=c,boxwidth=11cm]
@@ -1532,20 +1565,19 @@
 
 \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|. 
+La version 3.0 de \pkg{nicematrix} a introduit l'environnement |{pNiceArray}| (et ses variantes) avec les options
+|first-row|, |last-row|, |first-col| et |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}|.
+\item |{NiceArrayCwithDelims}| ;
+\item |{pNiceArrayC}|, |{bNiceArrayC}|, |{BNiceArrayC}|, |{vNiceArrayC}|,
+|{VNiceArrayC}| ;
+\item |{NiceArrayRCwithDelims}| ;
+\item |{pNiceArrayRC}|, |{bNiceArrayRC}|, |{BNiceArrayRC}|, |{vNiceArrayRC}|,
+|{VNiceArrayRC}|.
 \end{itemize}
 
 Ils seront peut-être supprimés dans une version future de \pkg{nicematrix}.
@@ -1606,7 +1638,7 @@
 
 \vspace{2cm}
 
-Un exemple avec \verb|\Iddots|: \par\nobreak
+Un exemple avec |\Iddots|: \par\nobreak
 \bigskip
 \begin{BVerbatim}[baseline=c]
 $\begin{pNiceMatrix}
@@ -1626,7 +1658,7 @@
 
 
 \vspace{2cm}
-Un exemple avec \verb|\multicolumn|:\par\nobreak
+Un exemple avec |\multicolumn|:\par\nobreak
 \bigskip
 \begin{BVerbatim}
 \begin{BNiceMatrix}[nullify-dots]
@@ -1646,7 +1678,8 @@
 \end{BNiceMatrix}\]
 
 \vspace{2cm}
-Un exemple avec \verb|\Hdotsfor|:\par\nobreak
+Un exemple avec |\Hdotsfor|:\par\nobreak
+
 \bigskip
 \begin{BVerbatim}[baseline=c,boxwidth=11cm]
 \begin{pNiceMatrix}[nullify-dots]
@@ -1733,9 +1766,8 @@
 \subsection{Largeur des colonnes}
 
 \medskip
-Dans l'exemple suivant, nous utilisons
-\verb|{NiceMatrixBlock}| avec l'option \verb|auto-columns-width| parce que 
-nous voulons la même largeur (automatique) pour toutes les colonnes.
+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.
 
 \bigskip
 \begin{BVerbatim}
@@ -1819,10 +1851,10 @@
 \label{highlight}
 
 \medskip
-Pour mettre en évidence une case, il est possible de «dessiner» l'un des nœuds (le «nœud normal», le «nœud
-moyen» ou le «nœud large»). Dans l'exemple suivant, on utilise les «nœuds larges» de la diagonale de la matrice
-(avec la clé de Tikz «\verb|name suffix|», il est facile d'utiliser les «nœuds larges»). Pour avoir la continuité
-des lignes, on doit fixer \verb|inner sep = -\pgflinewidth/2|.
+Pour mettre en évidence une case, il est possible de «dessiner» l'un des nœuds (le «nœud normal», le «nœud moyen»
+ou le «nœud large»). Dans l'exemple suivant, on utilise les «nœuds larges» de la diagonale de la matrice (avec la
+clé de Tikz «|name suffix|», il est facile d'utiliser les «nœuds larges»). Pour avoir la continuité des lignes, on
+doit fixer |inner sep = -\pgflinewidth/2|.
 
 \begin{Verbatim}
 $\begin{pNiceArray}{>{\strut}CCCC}%
@@ -1863,14 +1895,14 @@
 
 \vspace{1cm}
 
-L'extension \pkg{nicematrix} est construite au-dessus de l'environnement \verb|{array}| et, par conséquent, il est
+L'extension \pkg{nicematrix} est construite au-dessus de l'environnement |{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. 
+|blend mode| égal à |multiply|. Attention : certains lecteurs de \textsc{pdf} ne sont pas capables de rendre la
+transparence correctement.
 
 
 \tikzset{highlight/.style={rectangle,
@@ -1902,30 +1934,29 @@
 
 
 \bigskip
-Ce code échoue avec 
-\verb|latex|-\verb|dvips|-\verb|ps2pdf| parce que Tikz pour \verb|dvips|, pour le moment, ne prend pas en charge
-les \emph{blend modes}. Néanmoins, le code suivant, dans le préambule du document LaTeX, devrait activer les \emph{blend modes}
-pour ce mode de compilation.
+Ce code échoue avec |latex|-|dvips|-|ps2pdf| parce que Tikz pour |dvips|, pour le moment, ne prend pas en charge
+les \emph{blend modes}. Néanmoins, le code suivant, dans le préambule du document LaTeX, devrait activer les
+\emph{blend modes} pour ce mode de compilation.
 
 
 \begin{scope} \small
-\verb|\ExplSyntaxOn|
+|\ExplSyntaxOn|
 
-\verb|\makeatletter|
+|\makeatletter|
 
-\verb|\tl_set:Nn \l_tmpa_tl {pgfsys-dvips.def}|
+|\tl_set:Nn \l_tmpa_tl {pgfsys-dvips.def}|
 
-\verb|\tl_if_eq:NNT \l_tmpa_tl \pgfsysdriver|
+|\tl_if_eq:NNT \l_tmpa_tl \pgfsysdriver|
 
-\verb|  {\cs_set:Npn\pgfsys at blend@mode#1{\special{ps:~/\tl_upper_case:n #1~.setblendmode}}}|
+|  {\cs_set:Npn\pgfsys at blend@mode#1{\special{ps:~/\tl_upper_case:n #1~.setblendmode}}}|
 
-\verb|\makeatother|
+|\makeatother|
 
-\verb|\ExplSyntaxOff|
+|\ExplSyntaxOff|
 \end{scope}
 
 \vspace{1cm}
-On considère maintenant la matrice suivante que l'on a appelée \verb|exemple|.
+On considère maintenant la matrice suivante que l'on a appelée |exemple|.
 
 \medskip
 \begin{Verbatim}
@@ -2065,8 +2096,8 @@
 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.
+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}
@@ -2081,7 +2112,7 @@
 & 
 \end{Verbatim}
 
-La matrice $B$ a une «première rangée» (pour $C_j$) d'où l'option \verb|first-row|.
+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]
       &        & C_j \\
@@ -2093,7 +2124,7 @@
 \end{bNiceArray} \\ \\
 \end{Verbatim}
 
-La matrice $A$ a une «première colonne» (pour $L_i$) d'où l'option \verb|first-col|.
+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]
     & a_{11} & \Cdots &  &  & a_{nn} \\
@@ -2166,3 +2197,4 @@
 \end{tikzpicture}
 
 \end{document}
+

Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.dtx	2019-09-19 20:43:29 UTC (rev 52124)
+++ trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.dtx	2019-09-19 20:44:15 UTC (rev 52125)
@@ -1,4 +1,4 @@
-% \iffalse meta-comment
+% \iffalse meta-comment
 %
 % Copyright (C) 2018-2019 by F. Pantigny
 % -----------------------------------
@@ -15,8 +15,8 @@
 %
 % \fi
 % \iffalse
-\def\myfileversion{3.1}
-\def\myfiledate{2019/09/04}
+\def\myfileversion{3.2}
+\def\myfiledate{2019/09/19}
 %
 %
 %<*batchfile>
@@ -112,24 +112,23 @@
 %
 % This package can be used with |xelatex|, |lualatex|, |pdflatex| but also by
 % the classical workflow |latex|-|dvips|-|ps2pdf| (or Adobe Distiller). Two or
-% three compilations may be necessary. This package requires and loads the
+% three compilations may be necessary. This package requires and \textbf{loads} the
 % packages \pkg{expl3}, \pkg{l3keys2e}, \pkg{xparse}, \pkg{array}, \pkg{amsmath}
-% and \pkg{tikz}. It also loads the Tikz library \pkg{fit}.
+% and \pkg{tikz}. It also loads the Tikz library \pkg{fit}. The final user only
+% has to load the extension with |\usepackage{nicematrix}|.
 %
 %
-%
 % \medskip
 % \begin{savenotes}
 % \begin{minipage}{0.6\linewidth}
 % This package provides some new tools to draw mathematical matrices. The main
 % features are the following:
-% 
-% \textbullet\ continuous dotted lines\footnote{If the class option |draft| is
+% \begin{itemize}\setlength{\itemsep}{0pt}
+% \item continuous dotted lines\footnote{If the class option |draft| is
 % used, these dotted lines will not be drawn for a faster compilation.};
-%
-% \textbullet\ exterior row and columns for labels;
-%
-% \textbullet\ a control of the width of the columns.
+% \item exterior rows and columns for labels;
+% \item a control of the width of the columns.
+% \end{itemize}
 % \end{minipage}
 % \end{savenotes}
 % \hspace{1.4cm}
@@ -144,9 +143,9 @@
 % L_n    & a_{n1}  & a_{n2}  & \Cdots & a_{nn} 
 % \end{bNiceArray}$
 % 
-% \medskip
-% A command |\NiceMatrixOptions| is provided to fix the options (the scope of
-% the options fixed by this command is the current TeX group).
+% \medskip 
+% A command |\NiceMatrixOptions| is provided to fix the options (the
+% scope of the options fixed by this command is the current TeX group).
 %
 % 
 % \bigskip
@@ -182,8 +181,8 @@
 % \begin{scope}
 % \NiceMatrixOptions{transparent}
 % \begin{minipage}{10cm}
-% Now, if we use the package \pkg{nicematrix} with the option\\ |transparent|, the
-% same code will give the result on the right.
+% Now, if we use the package \pkg{nicematrix} with the option \\ 
+% |transparent|, the same code will give the result on the right.
 % \end{minipage}\hspace{1cm}
 % $A = \begin{pmatrix}
 % 1      & \cdots & \cdots & 1      \\
@@ -210,8 +209,8 @@
 % \{VNiceMatrix\} &               & \{NiceArrayWithDelims\} \\
 % \end{tabular}
 % \end{ttfamily}
+%b
 %
-%
 % \medskip
 % By default, the environments |{NiceMatrix}|, |{pNiceMatrix}|, |{bNiceMatrix}|,
 % |{BNiceMatrix}|, |{vNiceMatrix}| and |{VNiceMatrix}| behave almost exactly as
@@ -251,7 +250,9 @@
 % ``non-empty cell'' is given below (cf. p.~\pageref{empty-cells}).} on both
 % sides of the current cell. Of course, for |\Ldots| and |\Cdots|, it's an
 % horizontal line; for |\Vdots|, it's a vertical line and for |\Ddots| and
-% |\Iddots| diagonal ones.\par\nobreak \bigskip
+% |\Iddots| diagonal ones.\par\nobreak 
+%
+% \bigskip
 % \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 % \begin{bNiceMatrix}
 % a_1      & \Cdots &        & & a_1 \\
@@ -269,9 +270,11 @@
 % a_1      & a_2    &        & & a_n 
 % \end{bNiceMatrix}$
 % 
-% \interitem
+% \interitem 
 % In order to represent the null matrix, one can use the following
-% codage:\par\nobreak \bigskip
+% codage:\par\nobreak
+%
+% \bigskip
 % \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 % \begin{bNiceMatrix}
 % 0      & \Cdots & 0      \\
@@ -288,7 +291,9 @@
 % \bigskip
 % However, one may want a larger matrix. Usually, in such a case, the users of
 % LaTeX add a new row and a new column. It's possible to use the same method
-% with \pkg{nicematrix}:\par\nobreak \bigskip
+% with \pkg{nicematrix}:\par\nobreak 
+%
+% \bigskip
 % \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 % \begin{bNiceMatrix}
 % 0      & \Cdots & \Cdots & 0      \\
@@ -313,6 +318,7 @@
 % \bigskip
 % In fact, in this example, it would be possible to draw the same matrix more
 % easily with the following code:\par\nobreak
+%
 % \bigskip
 % \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 % \begin{bNiceMatrix}
@@ -341,6 +347,7 @@
 % dotted lines. That's why the package \pkg{nicematrix} provides a
 % command~|\Hspace| which is a variant of |\hspace| transparent for the dotted
 % lines of \pkg{nicematrix}.\par\nobreak
+%
 % \bigskip
 % \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 % \begin{bNiceMatrix}
@@ -384,6 +391,7 @@
 % \bigskip
 % If we add |\vdots| instructions in the second column, the geometry of the
 % matrix is modified.\par\nobreak
+%
 % \medskip
 % \begin{BVerbatim}[baseline=c,boxwidth=8cm]
 % $B = \begin{pmatrix}
@@ -408,6 +416,7 @@
 % By default, with \pkg{nicematrix}, if we replace |{pmatrix}| by
 % |{pNiceMatrix}| and |\vdots| by |\Vdots|, the geometry of the matrix is not
 % changed.\par\nobreak 
+%
 % \medskip
 % \begin{BVerbatim}[baseline=c,boxwidth=8cm]
 % $C = \begin{pNiceMatrix}
@@ -433,6 +442,7 @@
 % have such a geometry with a dotted line in the second column. It's possible by
 % using the option |nullify-dots| (and only one instruction |\Vdots| is
 % necessary).\par\nobreak 
+%
 % \medskip
 % \begin{BVerbatim}[baseline=c,boxwidth=8cm]
 % $D = \begin{pNiceMatrix}[~emphase#nullify-dots@]
@@ -511,7 +521,7 @@
 %
 % \bigskip
 % The command |\hdotsfor| of \pkg{amsmath} takes an optional argument (between
-% square brackets) which is used for fine tuning of the space beetween two
+% square brackets) which is used for fine tuning of the space between two
 % consecutive dots. For homogeneity, |\Hdotsfor| has also an optional argument
 % but this argument is discarded silently.
 %
@@ -533,6 +543,7 @@
 %
 % \begin{itemize}
 % \item The option |renew-dots|\par\nobreak
+%
 % With this option, the commands |\ldots|, |\cdots|, |\vdots|, |\ddots|,
 % |\iddots|\footnotemark[\thefniddots] and |\hdotsfor| are redefined within the environments
 % provided by \pkg{nicematrix} and behave like |\Ldots|, |\Cdots|, |\Vdots|,
@@ -540,6 +551,7 @@
 % of |amsmath|) is also redefined to behave like |\Ldots|.
 %
 % \item The option |renew-matrix|\par\nobreak 
+%
 % With this option, the environment |{matrix}| is redefined and behave like
 % |{NiceMatrix}|, and so on for the five variants.
 % \end{itemize}
@@ -547,6 +559,7 @@
 % \bigskip 
 % Therefore, with the option |transparent|, a classical code gives directly the
 % ouput of \pkg{nicematrix}.\par\nobreak
+%
 % \bigskip
 % \begin{scope}
 % \NiceMatrixOptions{transparent}
@@ -1133,6 +1146,7 @@
 % It's possible to give the value |auto| to the option |columns-width|: all the
 % columns of the array will have a width equal to the widest cell of the array.
 % \textbf{Two or three compilations may be necessary.}\par\nobreak
+%
 % \medskip
 % \begin{BVerbatim}[baseline=c,boxwidth=10cm]
 % $\begin{pNiceMatrix}[~emphase#columns-width = auto@]
@@ -1150,6 +1164,7 @@
 % \bigskip
 % It's possible to fix the width of the columns of all the matrices of a current
 % scope with the command |\NiceMatrixOptions|.\par\nobreak
+%
 % \medskip
 % \begin{BVerbatim}[baseline=c,boxwidth=8.5cm]
 % ~emphase#\NiceMatrixOptions{columns-width=10mm}@
@@ -1244,7 +1259,7 @@
 % One may wish raise the size of the ``$A$'' placed in the block of the previous 
 % example. Since this element is composed in math mode, it's not possible to use
 % directly a command like |\large|, |\Large| and |\LARGE|. That's why the command
-% |\Block| provides an option beetween angle brackets to specificy some TeX code
+% |\Block| provides an option between angle brackets to specificy some TeX code
 % which will be inserted before the beginning of the math mode.
 %
 % \medskip
@@ -1276,6 +1291,51 @@
 % write |\Block{|$i$|-|$j$|}<>{<}| with the expected result.
 % 
 % 
+%
+% \section{The option small}
+%
+% With the option |small|, the environments of the extension \pkg{nicematrix}
+% are composed in a way similar to the environment |{smallmatrix}| of the
+% extension \pkg{amsmath} (and the environments |{psmallmatrix}|,
+% |{bsmallmatrix}|, etc. of the extension \pkg{mathtools}).
+%
+% \bigskip
+% \begin{Verbatim}
+% $\begin{bNiceArray}{CCCC|C}[~emphase#small@, 
+%                             last-col, 
+%                             code-for-last-col = \scriptscriptstyle, 
+%                             columns-width = 3mm ] 
+% 1 & -2 & 3 & 4 & 5 \\
+% 0 & 3  & 2 & 1 & 2 & L_2 \gets 2 L_1 - L_2 \\
+% 0 & 1  & 1 & 2 & 3 & L_3 \gets L_1 + L_3 \\
+% \end{bNiceArray}$
+% \end{Verbatim}
+% %
+% \[\begin{bNiceArray}{CCCC|C}[small, last-col, 
+%                      code-for-last-col = \scriptscriptstyle, columns-width=3mm]
+% 1 & -2 & 3 & 4 & 5 \\
+% 0 & 3  & 2 & 1 & 2 & L_2 \gets 2 L_1 - L_2 \\
+% 0 & 1  & 1 & 2 & 3 & L_3 \gets L_1 + L_3 \\
+% \end{bNiceArray}\]
+%
+%
+%
+% \bigskip
+% One should note that the environment |{NiceMatrix}| with the option |small| is
+% not composed \emph{exactly} as the environment |{smallmatrix}|. Indeed, all the
+% environments of \pkg{nicematrix} are constructed upon |{array}| (of the
+% extension \pkg{array}) whereas the environment |{smallmatrix}| is constructed
+% directly with an |\halign| of TeX.
+%
+% \medskip
+% In fact, the option |small| corresponds to the following tuning:
+% \begin{itemize}
+% \item the cells of the array are composed with \verb|\scriptstyle| ; 
+% \item \verb|\arraystretch| is set to $0.47$ ; 
+% \item \verb|\arraycolsep| is set to $1.45$~pt ; 
+% \item the characteristics of the dotted lines are also modified.
+% \end{itemize}
+%
 % \section{The option hlines}
 % 
 % You can add horizontal rules between rows in the environments of
@@ -1656,6 +1716,7 @@
 % \vspace{2cm}
 %
 % An example with |\Iddots|: \par\nobreak
+%
 % \bigskip
 % \begin{BVerbatim}[baseline=c]
 % $\begin{pNiceMatrix}
@@ -1676,6 +1737,7 @@
 %
 % \vspace{2cm}
 % An example with |\multicolumn|:\par\nobreak
+%
 % \bigskip
 % \begin{BVerbatim}
 % \begin{BNiceMatrix}[nullify-dots]
@@ -1696,6 +1758,7 @@
 % 
 % \vspace{2cm}
 % An example with |\Hdotsfor|:\par\nobreak
+%
 % \bigskip
 % \begin{BVerbatim}[baseline=c,boxwidth=11cm]
 % \begin{pNiceMatrix}[nullify-dots]
@@ -1720,6 +1783,7 @@
 %
 % \vspace{2cm}
 % An example for the resultant of two polynoms:\par\nobreak
+%
 % \bigskip
 % \begin{BVerbatim}
 % \setlength{\extrarowheight}{1mm}
@@ -2451,6 +2515,27 @@
 %    \end{macrocode}
 % 
 % \bigskip
+% The length |\l_@@_inter_dots_dim| is the distance between two dots for the
+% dotted lines. The default value is 0.45~em but it will be changed if the
+% option |small| is used.
+%    \begin{macrocode}
+\dim_new:N \l_@@_inter_dots_dim
+\dim_set:Nn \l_@@_inter_dots_dim { 0.45 em }
+%    \end{macrocode}
+% The length |\l_@@_radius_dim| is the radius of the dots for the dotted lines.
+% The default value is 0.34~pt but it will changed if the option |small| is used.
+%    \begin{macrocode}
+\dim_new:N \l_@@_radius_dim
+\dim_set:Nn \l_@@_radius_dim { 0.53 pt }
+%    \end{macrocode}
+%
+% \bigskip
+% The name of the current environment (will be used only in the error messages).
+%    \begin{macrocode}
+\str_new:N \g_@@_type_env_str
+%    \end{macrocode}
+% 
+% \bigskip
 % \subsubsection{Variables for the exterior rows and columns}
 %
 % The keys for the exterior rows and columns are |first-row|, |first-col|,
@@ -2487,7 +2572,7 @@
 % as specified by the key |last-row|. A value of $-2$ means that there is no
 % ``last row''. A value of $-1$ means that there is a ``last row'' but we don't
 % know the number of that row (the key |last-row| has been used without value
-% and has not still been read in the |aux|).
+% and the actual value has not still been read in the |aux| file).
 %    \begin{macrocode}
 \int_new:N \l_@@_last_row_int 
 \int_set:Nn \l_@@_last_row_int { -2 }
@@ -2768,7 +2853,6 @@
 % 
 %
 %
-%
 % \bigskip
 % First, we define a set of keys ``|NiceMatrix / Global|'' which will be used
 % (with the mechanism of |.inherit:n|) by other sets of keys.
@@ -2775,9 +2859,9 @@
 %    \begin{macrocode}
 \keys_define:nn { NiceMatrix / Global }
   {
+    small .bool_set:N = \l_@@_small_bool ,
     hlines .bool_set:N = \l_@@_hlines_bool ,
     parallelize-diags .bool_set:N = \l_@@_parallelize_diags_bool ,
-    parallelize-diags .default:n = true ,
 %    \end{macrocode}
 %
 % \bigskip
@@ -2786,9 +2870,7 @@
 % |\Vdots| and |\Ddots|. 
 %    \begin{macrocode}
     renew-dots .bool_set:N = \l_@@_renew_dots_bool ,
-    renew-dots .default:n = true ,
     nullify-dots .bool_set:N = \l_@@_nullify_dots_bool ,
-    nullify-dots .default:n = true ,
 %    \end{macrocode}
 %
 % \bigskip
@@ -2799,7 +2881,6 @@
 % the |w|~node is used instead of the ``medium'' node.} 
 %    \begin{macrocode}
     create-extra-nodes .bool_set:N = \l_@@_extra_nodes_bool ,
-    create-extra-nodes .default:n = true,
     left-margin .dim_set:N = \l_@@_left_margin_dim ,
     left-margin .default:n = \arraycolsep ,
     right-margin .dim_set:N = \l_@@_right_margin_dim ,
@@ -2815,7 +2896,7 @@
 %
 % \bigskip
 % The following set of keys concerns the options to \emph{customize} the
-% exterior columns, that is to say the options |code-for-first-row|, etc.
+% exterior rows and columns, that is to say the options |code-for-first-row|, etc.
 %    \begin{macrocode}     
 \keys_define:nn { NiceMatrix / Code }
   {
@@ -2916,7 +2997,6 @@
 % those who want to have for |{NiceArray}| the same behaviour as |{array}|.
 %    \begin{macrocode}
     exterior-arraycolsep .bool_set:N = \l_@@_exterior_arraycolsep_bool ,
-    exterior-arraycolsep .default:n  = true ,
 %    \end{macrocode}
 %
 % \bigskip
@@ -3061,6 +3141,7 @@
 %    \begin{macrocode}
     \hbox_set:Nw \l_tmpa_box 
     \c_math_toggle_token
+    \bool_if:NT \l_@@_small_bool \scriptstyle 
     \int_compare:nNnTF \g_@@_row_int = \c_zero_int 
       \l_@@_code_for_first_row_tl   
       {
@@ -3366,6 +3447,18 @@
 \cs_new_protected:Npn \@@_pre_array:
   { 
 %    \end{macrocode}
+% If the option |small| is used, we have to do some tuning. In particular, we
+% change the value of |\arraystretch| (this parameter is used in the
+% construction of |\@arstrutbox| in the beginning of |{array}|).
+%    \begin{macrocode}
+    \bool_if:NT \l_@@_small_bool
+      {
+%    \end{macrocode}
+%    \begin{macrocode}
+        \cs_set:Npn \arraystretch { 0.47 }
+        \dim_set:Nn \arraycolsep { 1.45 pt }
+      }
+%    \end{macrocode}
 %
 % If the user requires all the columns to have a width equal to the widest cell
 % of the array, we read this length in the file |.aux| (of, course, this is
@@ -3417,16 +3510,11 @@
     \bool_gset_eq:NN \g_@@_NiceArray_bool \l_@@_NiceArray_bool
     \bool_gset_eq:NN \g_@@_last_row_without_value_bool 
       \l_@@_last_row_without_value_bool
+    \bool_gset_eq:NN \g_@@_small_bool \l_@@_small_bool
 %    \end{macrocode}
-% The environment |{array}| uses internally the command |\ialign| and, in
-% particular, this command |\ialign| sets |\everycr| to |{}|. However, we want
-% to use |\everycr| in our array. The solution is to give to |\ialign| a new
-% definition (giving to |\everycr| the value we want) that will revert
-% automatically to its default definition after the first
-% utilisation.\footnote{With this programmation, we will have, in the cells of
-% the array, a clean version of |\ialign|. That's necessary: the user will
-% probably not employ directly |\ialign| in the array...  but more likely
-% environments that utilize |\ialign| internally (e.g.: |{substack}|)} 
+% The environment |{array}| uses internally the command |\ialign|. We change the
+% definition of |\ialign| for several reasons. In particular, |\ialign| sets
+% |\everycr| to |{ }|. However, we have to change the value of |\everycr|.
 %    \begin{macrocode}
     \cs_set:Npn \ialign 
       { 
@@ -3440,6 +3528,37 @@
           }
           { \everycr { \@@_everycr: } }
         \tabskip = \c_zero_skip
+%    \end{macrocode}
+% The box |\@arstrutbox| is a box constructed in the beginning of the
+% environment |{array}|. The construction of that box takes into account the
+% current values of |\arraystretch|\footnote{The option |small| of
+% \pkg{nicematrix} changes (among other) the value of |\arraystretch|. This is
+% done, of course, before the call of |{array}|.} and |\extrarowheight| (of
+% \pkg{array}). That box is inserted (via |\@arstrut|) in the beginning of each
+% row of the array. That's why we use the dimensions of that box to initialize
+% the variables which will be the dimensions of the potential first and last row
+% of the environment. This initialization must be done after the creation of
+% |\@arstrutbox| and that's why we do it in the |\ialign|.
+%    \begin{macrocode}
+        \dim_gzero_new:N \g_@@_dp_row_zero_dim
+        \dim_gset:Nn \g_@@_dp_row_zero_dim { \box_dp:N \@arstrutbox }
+        \dim_gzero_new:N \g_@@_ht_row_zero_dim
+        \dim_gset:Nn \g_@@_ht_row_zero_dim { \box_ht:N \@arstrutbox }
+        \dim_gzero_new:N \g_@@_ht_row_one_dim
+        \dim_gset:Nn \g_@@_ht_row_one_dim { \box_ht:N \@arstrutbox }
+        \dim_gzero_new:N \g_@@_dp_ante_last_row_dim
+        \dim_gset:Nn \g_@@_dp_ante_last_row_dim { \box_dp:N \@arstrutbox }
+        \dim_gzero_new:N \g_@@_ht_last_row_dim
+        \dim_gset:Nn \g_@@_ht_last_row_dim { \box_ht:N \@arstrutbox }
+        \dim_gzero_new:N \g_@@_dp_last_row_dim
+        \dim_gset:Nn \g_@@_dp_last_row_dim { \box_dp:N \@arstrutbox }
+%    \end{macrocode}
+% After its first utilisation, the definition of |\ialign| will revert
+% automatically to its default definition. With this programmation, we will
+% have, in the cells of the array, a clean version of |\ialign|.\footnote{The user will
+% probably not employ directly |\ialign| in the array...  but more likely
+% environments that utilize |\ialign| internally (e.g.: |{substack}|).} 
+%    \begin{macrocode}
         \cs_set:Npn \ialign 
            { 
              \everycr { } 
@@ -3542,12 +3661,6 @@
     \cs_set_eq:NN \NC at find@W \relax
     \@@_renewcolumntype:nn w { }
     \@@_renewcolumntype:nn W { \cs_set_eq:NN \hss \hfil }
-    \dim_gzero_new:N \g_@@_dp_row_zero_dim
-    \dim_gzero_new:N \g_@@_ht_row_zero_dim
-    \dim_gzero_new:N \g_@@_ht_row_one_dim
-    \dim_gzero_new:N \g_@@_dp_ante_last_row_dim
-    \dim_gzero_new:N \g_@@_ht_last_row_dim
-    \dim_gzero_new:N \g_@@_dp_last_row_dim
 %    \end{macrocode}
 %                               
 % \bigskip
@@ -3629,6 +3742,8 @@
 %    \begin{macrocode}
 \NewDocumentEnvironment { NiceArrayWithDelims } { m m O { } m ! O { } }
   { 
+    \str_if_empty:NT \g_@@_type_env_str 
+      { \str_gset:Nn \g_@@_type_env_str { NiceArrayWithDelims } }
     \@@_adapt_S_column:
     \@@_test_if_math_mode:
     \bool_if:NT \l_@@_in_env_bool { \@@_fatal:n { Yet~in~env } } 
@@ -3686,7 +3801,7 @@
       {
         \bool_set_true:N \l_@@_last_row_without_value_bool
 %    \end{macrocode}
-% A value based the name is more reliable than a value based on the number of
+% A value based on the name is more reliable than a value based on the number of
 % the environment.
 %    \begin{macrocode}
         \str_if_empty:NTF \g_@@_name_str
@@ -3786,7 +3901,7 @@
     \c_math_toggle_token
 %    \end{macrocode}
 % Here is the call to |\array| (we have a dedicated macro |\@@_array:| because
-% of compatibility with \cls{revtex4-1} and \cls{revtex4-2}).
+% of compatibility with the classes \cls{revtex4-1} and \cls{revtex4-2}).
 %    \begin{macrocode}
     \exp_args:NV \@@_array: \l_tmpa_tl
   }
@@ -3824,21 +3939,13 @@
 % row'' above the array (when the key |first-row| is used).
 %    \begin{macrocode}
     \int_compare:nNnTF \l_@@_first_row_int = \c_zero_int
-      {
-        \dim_compare:nNnTF
-          { \g_@@_ht_row_one_dim + \g_@@_dp_row_zero_dim + \lineskiplimit } 
-            > \baselineskip
+      { 
+        \dim_set:Nn \l_tmpa_dim
           { 
-            \dim_set:Nn \l_tmpa_dim
-              { 
-                \g_@@_ht_row_one_dim + \g_@@_dp_row_zero_dim + \lineskip 
-                + \g_@@_ht_row_zero_dim - \g_@@_ht_row_one_dim 
-              } 
+            \g_@@_ht_row_one_dim + \g_@@_dp_row_zero_dim 
+            + \lineskip 
+            + \g_@@_ht_row_zero_dim - \g_@@_ht_row_one_dim 
           }
-          {
-            \dim_set:Nn \l_tmpa_dim
-             { \baselineskip + \g_@@_ht_row_zero_dim - \g_@@_ht_row_one_dim } 
-          }
       }
       { \dim_zero:N \l_tmpa_dim }
 %    \end{macrocode}
@@ -3851,25 +3958,11 @@
 %    \begin{macrocode}
     \int_compare:nNnTF \l_@@_last_row_int > { -2 }
       {
-        \dim_compare:nNnTF
+        \dim_set:Nn \l_tmpb_dim
           { 
-            \g_@@_ht_last_row_dim + \g_@@_dp_ante_last_row_dim + \lineskiplimit
-          } 
-          >
-          \baselineskip
-          {
-            \dim_set:Nn \l_tmpb_dim
-              { 
-                \g_@@_ht_last_row_dim + \g_@@_dp_ante_last_row_dim + \lineskip
-                + \g_@@_dp_last_row_dim - \g_@@_dp_ante_last_row_dim
-              }
-          } 
-          {
-            \dim_set:Nn \l_tmpb_dim
-              { 
-                \baselineskip 
-                + \g_@@_dp_last_row_dim - \g_@@_dp_ante_last_row_dim 
-              } 
+            \g_@@_ht_last_row_dim + \g_@@_dp_ante_last_row_dim 
+            + \lineskip
+            + \g_@@_dp_last_row_dim - \g_@@_dp_ante_last_row_dim
           }
       }
       { \dim_zero:N \l_tmpb_dim }
@@ -3981,6 +4074,7 @@
 %    \begin{macrocode}
         \hbox_set:Nw \l_tmpa_box 
         \c_math_toggle_token
+        \bool_if:NT \l_@@_small_bool \scriptstyle
         \l_@@_code_for_first_col_tl
       }
     l
@@ -4062,6 +4156,7 @@
 %    \begin{macrocode}
         \hbox_set:Nw \l_tmpa_box 
           \c_math_toggle_token
+          \bool_if:NT \l_@@_small_bool \scriptstyle 
           \l_@@_code_for_last_col_tl
       }
     l
@@ -4131,6 +4226,8 @@
 \NewDocumentEnvironment { NiceArray } { }
   { 
     \bool_set_true:N \l_@@_NiceArray_bool
+    \str_if_empty:NT \g_@@_type_env_str 
+      { \str_gset:Nn \g_@@_type_env_str { NiceArray } }
 %    \end{macrocode}
 % We put . and . for the delimiters but, in fact, that doesn't matter because
 % these arguments won't be used in |{NiceArrayWithDelims}| (because the flag
@@ -4149,6 +4246,7 @@
 %   \begin{macrocode}
 \NewDocumentEnvironment { pNiceArray } { }
   {
+    \str_gset:Nn \g_@@_type_env_str { pNiceArray }
     \@@_test_if_math_mode:
     \NiceArrayWithDelims ( )
   }
@@ -4158,6 +4256,7 @@
 %   \begin{macrocode}
 \NewDocumentEnvironment { bNiceArray } { }
   {
+    \str_gset:Nn \g_@@_type_env_str { bNiceArray }
     \@@_test_if_math_mode:
     \NiceArrayWithDelims [ ]
   }
@@ -4167,6 +4266,7 @@
 %   \begin{macrocode}
 \NewDocumentEnvironment { BNiceArray } { }
   {
+    \str_gset:Nn \g_@@_type_env_str { BNiceArray }
     \@@_test_if_math_mode:
     \NiceArrayWithDelims \{ \}
   }
@@ -4176,6 +4276,7 @@
 %   \begin{macrocode}
 \NewDocumentEnvironment { vNiceArray } { }
   {
+    \str_gset:Nn \g_@@_type_env_str { vNiceArray }
     \@@_test_if_math_mode:
     \NiceArrayWithDelims | |
   }
@@ -4185,6 +4286,7 @@
 %   \begin{macrocode}
 \NewDocumentEnvironment { VNiceArray } { }
   {
+    \str_gset:Nn \g_@@_type_env_str { VNiceArray }
     \@@_test_if_math_mode:
     \NiceArrayWithDelims \| \|
   }
@@ -4205,8 +4307,8 @@
 % 
 % That's why in the definition of |{NiceMatrix}|, we have to use |\array| and
 % not |\begin{array}|. This command |\array| is in |\@@_array:| (we have written
-% this command because of the redefinition of |\array| done in \cls{revtex4-1}
-% and \cls{revtex4-2}).
+% this command because of the redefinition of |\array| done in the classes
+% \cls{revtex4-1} and \cls{revtex4-2}).
 %
 % In order to execute code after the array, we use a command
 % |\group_insert_after:N|. 
@@ -4216,6 +4318,8 @@
 %    \begin{macrocode}
 \NewDocumentEnvironment { NiceMatrix } { ! O { } }
   { 
+    \str_if_empty:NT \g_@@_type_env_str 
+      { \str_gset:Nn \g_@@_type_env_str { NiceMatrix } }
     \@@_test_if_math_mode:
     \bool_if:NT \l_@@_in_env_bool { \@@_fatal:n { Yet~in~env } } 
     \bool_set_true:N \l_@@_in_env_bool
@@ -4264,47 +4368,52 @@
 % We create the variants of the environment |{NiceMatrix}|.
 %    \begin{macrocode}
 \NewDocumentEnvironment { pNiceMatrix } { }
-   { 
-     \@@_test_if_math_mode: 
-     \left( \begin{NiceMatrix} 
-   }
-   { \end{NiceMatrix} \right) }
+  { 
+    \str_gset:Nn \g_@@_type_env_str { pNiceMatrix }
+    \@@_test_if_math_mode: 
+    \left( \begin{NiceMatrix} 
+  }
+  { \end{NiceMatrix} \right) }
 %    \end{macrocode}
 %
 %    \begin{macrocode}
 \NewDocumentEnvironment { bNiceMatrix } { }
-   { 
-     \@@_test_if_math_mode: 
-     \left[ \begin{NiceMatrix} 
-   }
-   { \end{NiceMatrix} \right] }
+  { 
+    \str_gset:Nn \g_@@_type_env_str { bNiceMatrix }
+    \@@_test_if_math_mode: 
+    \left[ \begin{NiceMatrix} 
+  }
+  { \end{NiceMatrix} \right] }
 %    \end{macrocode}
 %
 %    \begin{macrocode}
 \NewDocumentEnvironment { BNiceMatrix } { }
-   { 
-     \@@_test_if_math_mode: 
-     \left\{ \begin{NiceMatrix} 
-   }
-   { \end{NiceMatrix} \right\} }
+  { 
+    \str_gset:Nn \g_@@_type_env_str { BNiceMatrix }
+    \@@_test_if_math_mode: 
+    \left\{ \begin{NiceMatrix} 
+  }
+  { \end{NiceMatrix} \right\} }
 %    \end{macrocode}
 %
 %    \begin{macrocode}
 \NewDocumentEnvironment { vNiceMatrix } { }
-   { 
-     \@@_test_if_math_mode: 
-     \left\lvert \begin{NiceMatrix} 
-   }
-   { \end{NiceMatrix} \right\rvert }
+  { 
+    \str_gset:Nn \g_@@_type_env_str { vNiceMatrix }
+    \@@_test_if_math_mode: 
+    \left\lvert \begin{NiceMatrix} 
+  }
+  { \end{NiceMatrix} \right\rvert }
 %    \end{macrocode}
 %
 %    \begin{macrocode}
 \NewDocumentEnvironment { VNiceMatrix } { }
-   { 
-     \@@_test_if_math_mode: 
-     \left\lVert \begin{NiceMatrix} 
-   }
-   { \end{NiceMatrix} \right\rVert }
+  { 
+    \str_gset:Nn \g_@@_type_env_str { VNiceMatrix }
+    \@@_test_if_math_mode: 
+    \left\lVert \begin{NiceMatrix} 
+  }
+  { \end{NiceMatrix} \right\rVert }
 %    \end{macrocode}
 %
 %
@@ -4450,9 +4559,8 @@
 % 
 % \subsection{After the construction of the array}
 %
-% The macro |\@@_after_array:| is called (via 
-% |\group_insert_after:N|) in |{NiceArrayWithDelims}| and
-% |{NiceMatrix}|. 
+% The macro |\@@_after_array:| is called (via |\group_insert_after:N|) in
+% |{NiceArrayWithDelims}| and |{NiceMatrix}|. 
 %
 %    \begin{macrocode}
 \cs_new_protected:Nn \@@_after_array:
@@ -4561,6 +4669,16 @@
     \bool_set_false:N \l_@@_final_open_bool
 %    \end{macrocode}
 %
+% If the option |small| is used, the values |\l_@@_radius_dim| and
+% |\l_@@_inter_dots_dim| (used to draw the dotted lines) are changed.
+%    \begin{macrocode}     
+    \bool_if:NT \g_@@_small_bool 
+      { 
+        \dim_set:Nn \l_@@_radius_dim { 0.37 pt }
+        \dim_set:Nn \l_@@_inter_dots_dim { 0.25 em } 
+      }
+%    \end{macrocode}
+%
 % \bigskip
 % Now, we really draw the lines. The code to draw the lines has been constructed
 % in the token lists |\g_@@_Vdots_lines_tl|, etc.
@@ -4589,6 +4707,7 @@
     \g_@@_code_after_tl 
     \tl_gclear:N \g_@@_code_after_tl
     \group_end:
+    \str_gclear:N \g_@@_type_env_str
   }
 %    \end{macrocode}
 %
@@ -4649,7 +4768,7 @@
 %    \begin{macrocode}         
     \cs_set:cpn { @@ _ dotted _ #1 - #2 } { }
 %    \end{macrocode}
-% Initialisation of variables.
+% Initialization of variables.
 %    \begin{macrocode}
     \int_set:Nn \l_@@_initial_i_int { #1 }
     \int_set:Nn \l_@@_initial_j_int { #2 }
@@ -5226,11 +5345,11 @@
             \bool_if:NTF \l_@@_final_open_bool
               { 
                 \int_set:Nn \l_tmpa_int 
-                  { \dim_ratio:nn \l_@@_l_dim { 0.45 em } }
+                  { \dim_ratio:nn \l_@@_l_dim \l_@@_inter_dots_dim }
               }
               { 
                 \int_set:Nn \l_tmpa_int 
-                  { \dim_ratio:nn { \l_@@_l_dim - 0.3 em } { 0.45 em } }
+                  { \dim_ratio:nn { \l_@@_l_dim - 0.3 em } \l_@@_inter_dots_dim }
               }
           }
           { 
@@ -5237,11 +5356,11 @@
             \bool_if:NTF \l_@@_final_open_bool
               { 
                 \int_set:Nn \l_tmpa_int 
-                  { \dim_ratio:nn { \l_@@_l_dim - 0.3 em } { 0.45 em } }
+                  { \dim_ratio:nn { \l_@@_l_dim - 0.3 em } \l_@@_inter_dots_dim }
               }
               { 
                 \int_set:Nn \l_tmpa_int 
-                  { \dim_ratio:nn { \l_@@_l_dim - 0.6 em } { 0.45 em }}
+                  { \dim_ratio:nn { \l_@@_l_dim - 0.6 em } \l_@@_inter_dots_dim}
               }
           }
 %    \end{macrocode}
@@ -5251,12 +5370,12 @@
         \dim_set:Nn \l_tmpa_dim 
           { 
             ( \g_@@_x_final_dim - \g_@@_x_initial_dim ) *
-            \dim_ratio:nn { 0.45 em } \l_@@_l_dim 
+            \dim_ratio:nn \l_@@_inter_dots_dim \l_@@_l_dim 
           }
         \dim_set:Nn \l_tmpb_dim 
           { 
             ( \g_@@_y_final_dim - \g_@@_y_initial_dim ) *
-            \dim_ratio:nn { 0.45 em } \l_@@_l_dim
+            \dim_ratio:nn \l_@@_inter_dots_dim \l_@@_l_dim
           }
 %    \end{macrocode}
 %
@@ -5283,7 +5402,7 @@
           {  
             ( \g_@@_x_final_dim - \g_@@_x_initial_dim ) *
             \dim_ratio:nn 
-              { \l_@@_l_dim - 0.45 em * \l_tmpa_int } { \l_@@_l_dim * 2 } *
+              { \l_@@_l_dim - \l_@@_inter_dots_dim * \l_tmpa_int } { \l_@@_l_dim * 2 } *
             \l_tmpb_int
           }
 %    \end{macrocode}
@@ -5294,7 +5413,7 @@
           {   
             ( \g_@@_y_final_dim - \g_@@_y_initial_dim ) * 
             \dim_ratio:nn 
-              { \l_@@_l_dim - 0.45 em * \l_tmpa_int } 
+              { \l_@@_l_dim - \l_@@_inter_dots_dim * \l_tmpa_int } 
               { \l_@@_l_dim * 2 } * 
             \l_tmpb_int
           }
@@ -5303,7 +5422,7 @@
             { 
               \pgfpathcircle 
                 { \pgfpoint { \g_@@_x_initial_dim } { \g_@@_y_initial_dim } }
-                { 0.53 pt }
+                { \l_@@_radius_dim }
               \pgfusepath { fill }
               \dim_gadd:Nn \g_@@_x_initial_dim \l_tmpa_dim
               \dim_gadd:Nn \g_@@_y_initial_dim \l_tmpb_dim 
@@ -5431,7 +5550,7 @@
 % The command |\@@_Hdotsfor| will be linked to |\Hdotsfor| in |{NiceArray}|.
 % This command uses an optional argument like |\hdotsfor| but this argument is
 % discarded (in |\hdotsfor|, this argument is used for fine tuning of the space
-% beetween two consecutive dots). Tikz nodes are created for all the cells of
+% between two consecutive dots). Tikz nodes are created for all the cells of
 % the array, even the implicit cells of the |\Hdotsfor|. 
 %
 % \medskip
@@ -5591,7 +5710,24 @@
   {
     \cs_set:Npn \@@_dotfill:
       { 
-        \cleaders \hbox_to_wd:nn { .44 em } { \hss . \hss } \hfill 
+%    \end{macrocode}
+% If the option |small| is used, we change the space between two dots (we can't
+% use |\l_@@_inter_dots_dim| which will be set after the construction of the
+% array). We can't put the |\bool_if:NT| in the first argument of
+% |\hbox_to_wd:nn| because |\cleaders| is a special TeX primitive.
+%    \begin{macrocode}
+        \bool_if:NT \l_@@_small_bool
+          { \dim_set:Nn \l_@@_inter_dots_dim { 0.25 em } }
+        \cleaders 
+        \hbox_to_wd:nn 
+          { \l_@@_inter_dots_dim }
+          { 
+            \c_math_toggle_token
+            \bool_if:NT \l_@@_small_bool \scriptstyle 
+            \hss . \hss 
+            \c_math_toggle_token
+          } 
+        \hfill 
         \skip_horizontal:n \c_zero_dim
       }
   }
@@ -6287,10 +6423,10 @@
 \@@_msg_new:nn { Wrong~last~row }
   { 
     You~have~used~'last-row=\int_use:N \g_@@_last_row_int'~but~your~environment~
-    \{\@currenvir\}~seems~to~have~\int_use:N \g_@@_row_int\ 
-    rows~(remark~that~you~can~use~'last-row'~without~value).~If~you~go~on,
-    ~the~value~of~\int_use:N \g_@@_row_int\ 
-    will~be~used~for~last~row. 
+    \{\g_@@_type_env_str\}~seems~to~have~\int_use:N \g_@@_row_int\ 
+    rows.~If~you~go~on,~the~value~of~\int_use:N \g_@@_row_int\ 
+    will~be~used~for~last~row.~You~can~avoid~this~problem~by~using~'last-row'~
+    without~value~(more~compilations~might~be~necessary).
   }
 %    \end{macrocode}     
 %
@@ -6311,7 +6447,7 @@
 %    \begin{macrocode}
 \@@_msg_new:nn { Outside~math~mode }
   {
-    The~environment~\{\@currenvir\}~can~be~used~only~in~math~mode~
+    The~environment~\{\g_@@_type_env_str\}~can~be~used~only~in~math~mode~
     (and~not~in~\token_to_str:N \vcenter).\\
     This~error~is~fatal.
   }
@@ -6348,7 +6484,7 @@
     For~a~list~of~the~available~keys,~type~H~<return>.
   }
   { 
-    The~available~keys~are~(in~alphabetic~order):~
+    The~available~options~are~(in~alphabetic~order):~
     allow-duplicate-names,~
     code-for-first-col,~
     code-for-first-row,~
@@ -6363,6 +6499,7 @@
     renew-dots,~
     renew-matrix,~
     right-margin,~
+    small,~
     and~transparent
   }
 %    \end{macrocode}
@@ -6395,6 +6532,7 @@
     parallelize-diags,~
     renew-dots,~
     right-margin,~
+    small,~
     and~t.
   }
 %    \end{macrocode}
@@ -6420,8 +6558,9 @@
     name,~
     nullify-dots,~
     parallelize-diags,~
-    renew-dots~
-    and~right-margin.
+    renew-dots,~
+    right-margin~
+    and~small.
   }
 %    \end{macrocode}
 % 
@@ -6432,7 +6571,7 @@
 \@@_msg_new:nnn { Unknown~option~for~pNiceArray }
   { 
     The~option~'\tl_use:N\l_keys_key_tl'~is~unknown~for~the~environment~
-    \{\@currenvir\}. \\
+    \{\g_@@_type_env_str\}. \\
     If~you~go~on,~it~will~be~ignored. \\
     For~a~list~of~the~available~options,~type~H~<return>.
   }
@@ -6457,7 +6596,8 @@
     nullify-dots,~
     parallelize-diags,~
     renew-dots,~
-    and~right-margin.
+    right-margin~
+    and~small.
   }
 %    \end{macrocode}
 %
@@ -6467,10 +6607,10 @@
     The~name~'\l_keys_value_tl'~is~already~used~and~you~shouldn't~use~
     the~same~environment~name~twice.~You~can~go~on,~but,~
     maybe,~you~will~have~incorrect~results~especially~ 
-    if~you~use~'columns-width=auto'. \\
+    if~you~use~'columns-width=auto'.~If~you~use~nicematrix~inside~some~
+    environments~of~amsmath,~this~error~may~be~an~artefact.~In~this~case, 
+    use~the~option~'allow-duplicate-names'.\\
     For~a~list~of~the~names~already~used,~type~H~<return>. \\ 
-    If~you~don't~want~to~see~this~message~again,~use~the~option~
-    'allow-duplicate-names'. 
   }
   {
     The~names~already~defined~in~this~document~are:~
@@ -6489,7 +6629,7 @@
 %    \begin{macrocode}
 \@@_msg_new:nn { Zero~row }
   { 
-    There~is~a~problem.~Maybe~your~environment~\{\@currenvir\}~is~empty.~
+    There~is~a~problem.~Maybe~your~environment~\{\g_@@_type_env_str\}~is~empty.~ 
     Maybe~you~have~used~l,~c~and~r~instead~of~L,~C~and~R~in~the~preamble~
     of~your~environment. \\
     If~you~go~on,~the~result~may~be~incorrect.
@@ -6500,7 +6640,7 @@
 \@@_msg_new:nn { Use~of~:~in~first~position }
   { 
     You~can't~use~the~column~specifier~'\l_@@_letter_for_dotted_lines_str'~in~the~
-    first~position~of~the~preamble~of~the~environment~\{\@currenvir\}. \\
+    first~position~of~the~preamble~of~the~environment~\{\g_@@_type_env_str\}. \\
     If~you~go~on,~this~dotted~line~will~be~ignored.
   }
 %    \end{macrocode}
@@ -6694,9 +6834,7 @@
 % Options are now available locally in |{pNiceMatrix}| and its variants. 
 % 
 % The names of the options are changed. The old names were names in ``camel
-% style''. New names are in lowercase and hyphens (but backward compatibility is
-% kept). 
-% 
+% style''. 
 %
 % \subsection*{Changes between version 1.3 and 1.4}
 % 
@@ -6761,7 +6899,7 @@
 % the specifier |!| and modified the default behaviour of the last optional
 % arguments). 
 %
-% See |https://www.texdev.net/2018/04/21/xparse-optional-arguments-at-the-end|
+% See |www.texdev.net/2018/04/21/xparse-optional-arguments-at-the-end|
 %
 % \subsection*{Changes between version 2.1.4 and 2.1.5}
 %
@@ -6819,7 +6957,7 @@
 % with the new implementation, they become pointless. These starred versions
 % are no longer documented.
 % 
-% The vertical rules in the matrices (drawn by \verb+|+) are now compatible with
+% The vertical rules in the matrices (drawn by "|") are now compatible with
 % the color fixed by \pkg{colortbl}.
 %
 % Correction of a bug: it was not possible to use the colon |:| in the preamble
@@ -6830,7 +6968,9 @@
 % 
 % \tableofcontents
 % \endinput
+%
 % Local Variables:
-% TeX-fold-mode: nil
+% TeX-fold-mode: t
+% TeX-fold-preserve-comments: nil
 % fill-column: 80
 % End:

Modified: trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty	2019-09-19 20:43:29 UTC (rev 52124)
+++ trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty	2019-09-19 20:44:15 UTC (rev 52125)
@@ -18,8 +18,9 @@
 %% and version 1.3 or later is part of all distributions of
 %% LaTeX version 2005/12/01 or later.
 %% 
-\def\myfileversion{3.1}
-\def\myfiledate{2019/09/04}
+% \iffalse meta-comment
+\def\myfileversion{3.2}
+\def\myfiledate{2019/09/19}
 \RequirePackage{tikz}
 \usetikzlibrary{fit}
 \RequirePackage{expl3}[2019/02/15]
@@ -90,6 +91,11 @@
       }
       { }
   }
+\dim_new:N \l__nm_inter_dots_dim
+\dim_set:Nn \l__nm_inter_dots_dim { 0.45 em }
+\dim_new:N \l__nm_radius_dim
+\dim_set:Nn \l__nm_radius_dim { 0.53 pt }
+\str_new:N \g__nm_type_env_str
 \int_new:N \l__nm_first_row_int
 \int_set:Nn \l__nm_first_row_int 1
 \int_new:N \g__nm_first_row_int
@@ -165,15 +171,12 @@
 \dim_new:N \g__nm_extra_right_margin_dim
 \keys_define:nn { NiceMatrix / Global }
   {
+    small .bool_set:N = \l__nm_small_bool ,
     hlines .bool_set:N = \l__nm_hlines_bool ,
     parallelize-diags .bool_set:N = \l__nm_parallelize_diags_bool ,
-    parallelize-diags .default:n = true ,
     renew-dots .bool_set:N = \l__nm_renew_dots_bool ,
-    renew-dots .default:n = true ,
     nullify-dots .bool_set:N = \l__nm_nullify_dots_bool ,
-    nullify-dots .default:n = true ,
     create-extra-nodes .bool_set:N = \l__nm_extra_nodes_bool ,
-    create-extra-nodes .default:n = true,
     left-margin .dim_set:N = \l__nm_left_margin_dim ,
     left-margin .default:n = \arraycolsep ,
     right-margin .dim_set:N = \l__nm_right_margin_dim ,
@@ -251,7 +254,6 @@
                           \__nm_renew_matrix:
                           \bool_set_true:N \l__nm_renew_dots_bool ,
     exterior-arraycolsep .bool_set:N = \l__nm_exterior_arraycolsep_bool ,
-    exterior-arraycolsep .default:n  = true ,
     columns-width .code:n =
       \str_if_eq:nnTF { #1 } { auto }
         { \__nm_error:n { Option~auto~for~columns-width } }
@@ -305,6 +307,7 @@
       { \int_max:nn \g__nm_col_total_int \g__nm_col_int }
     \hbox_set:Nw \l_tmpa_box
     \c_math_toggle_token
+    \bool_if:NT \l__nm_small_bool \scriptstyle
     \int_compare:nNnTF \g__nm_row_int = \c_zero_int
       \l__nm_code_for_first_row_tl
       {
@@ -472,6 +475,11 @@
   }
 \cs_new_protected:Npn \__nm_pre_array:
   {
+    \bool_if:NT \l__nm_small_bool
+      {
+        \cs_set:Npn \arraystretch { 0.47 }
+        \dim_set:Nn \arraycolsep { 1.45 pt }
+      }
     \bool_if:NT \l__nm_auto_columns_width_bool
       {
         \group_insert_after:N \__nm_write_max_cell_width:
@@ -501,6 +509,7 @@
     \bool_gset_eq:NN \g__nm_NiceArray_bool \l__nm_NiceArray_bool
     \bool_gset_eq:NN \g__nm_last_row_without_value_bool
       \l__nm_last_row_without_value_bool
+    \bool_gset_eq:NN \g__nm_small_bool \l__nm_small_bool
     \cs_set:Npn \ialign
       {
         \bool_if:NTF \c__nm_colortbl_loaded_bool
@@ -513,6 +522,18 @@
           }
           { \everycr { \__nm_everycr: } }
         \tabskip = \c_zero_skip
+        \dim_gzero_new:N \g__nm_dp_row_zero_dim
+        \dim_gset:Nn \g__nm_dp_row_zero_dim { \box_dp:N \@arstrutbox }
+        \dim_gzero_new:N \g__nm_ht_row_zero_dim
+        \dim_gset:Nn \g__nm_ht_row_zero_dim { \box_ht:N \@arstrutbox }
+        \dim_gzero_new:N \g__nm_ht_row_one_dim
+        \dim_gset:Nn \g__nm_ht_row_one_dim { \box_ht:N \@arstrutbox }
+        \dim_gzero_new:N \g__nm_dp_ante_last_row_dim
+        \dim_gset:Nn \g__nm_dp_ante_last_row_dim { \box_dp:N \@arstrutbox }
+        \dim_gzero_new:N \g__nm_ht_last_row_dim
+        \dim_gset:Nn \g__nm_ht_last_row_dim { \box_ht:N \@arstrutbox }
+        \dim_gzero_new:N \g__nm_dp_last_row_dim
+        \dim_gset:Nn \g__nm_dp_last_row_dim { \box_dp:N \@arstrutbox }
         \cs_set:Npn \ialign
            {
              \everycr { }
@@ -564,12 +585,6 @@
     \cs_set_eq:NN \NC at find@W \relax
     \__nm_renewcolumntype:nn w { }
     \__nm_renewcolumntype:nn W { \cs_set_eq:NN \hss \hfil }
-    \dim_gzero_new:N \g__nm_dp_row_zero_dim
-    \dim_gzero_new:N \g__nm_ht_row_zero_dim
-    \dim_gzero_new:N \g__nm_ht_row_one_dim
-    \dim_gzero_new:N \g__nm_dp_ante_last_row_dim
-    \dim_gzero_new:N \g__nm_ht_last_row_dim
-    \dim_gzero_new:N \g__nm_dp_last_row_dim
     \tl_set_rescan:Nno
       \l__nm_letter_for_dotted_lines_str { } \l__nm_letter_for_dotted_lines_str
     \exp_args:NV \newcolumntype \l__nm_letter_for_dotted_lines_str
@@ -599,6 +614,8 @@
  }
 \NewDocumentEnvironment { NiceArrayWithDelims } { m m O { } m ! O { } }
   {
+    \str_if_empty:NT \g__nm_type_env_str
+      { \str_gset:Nn \g__nm_type_env_str { NiceArrayWithDelims } }
     \__nm_adapt_S_column:
     \__nm_test_if_math_mode:
     \bool_if:NT \l__nm_in_env_bool { \__nm_fatal:n { Yet~in~env } }
@@ -707,44 +724,22 @@
       }
     \int_compare:nNnTF \l__nm_first_row_int = \c_zero_int
       {
-        \dim_compare:nNnTF
-          { \g__nm_ht_row_one_dim + \g__nm_dp_row_zero_dim + \lineskiplimit }
-            > \baselineskip
+        \dim_set:Nn \l_tmpa_dim
           {
-            \dim_set:Nn \l_tmpa_dim
-              {
-                \g__nm_ht_row_one_dim + \g__nm_dp_row_zero_dim + \lineskip
-                + \g__nm_ht_row_zero_dim - \g__nm_ht_row_one_dim
-              }
+            \g__nm_ht_row_one_dim + \g__nm_dp_row_zero_dim
+            + \lineskip
+            + \g__nm_ht_row_zero_dim - \g__nm_ht_row_one_dim
           }
-          {
-            \dim_set:Nn \l_tmpa_dim
-             { \baselineskip + \g__nm_ht_row_zero_dim - \g__nm_ht_row_one_dim }
-          }
       }
       { \dim_zero:N \l_tmpa_dim }
     \int_compare:nNnTF \l__nm_last_row_int > { -2 }
       {
-        \dim_compare:nNnTF
+        \dim_set:Nn \l_tmpb_dim
           {
-            \g__nm_ht_last_row_dim + \g__nm_dp_ante_last_row_dim + \lineskiplimit
+            \g__nm_ht_last_row_dim + \g__nm_dp_ante_last_row_dim
+            + \lineskip
+            + \g__nm_dp_last_row_dim - \g__nm_dp_ante_last_row_dim
           }
-          >
-          \baselineskip
-          {
-            \dim_set:Nn \l_tmpb_dim
-              {
-                \g__nm_ht_last_row_dim + \g__nm_dp_ante_last_row_dim + \lineskip
-                + \g__nm_dp_last_row_dim - \g__nm_dp_ante_last_row_dim
-              }
-          }
-          {
-            \dim_set:Nn \l_tmpb_dim
-              {
-                \baselineskip
-                + \g__nm_dp_last_row_dim - \g__nm_dp_ante_last_row_dim
-              }
-          }
       }
       { \dim_zero:N \l_tmpb_dim }
     \int_compare:nNnT \g__nm_first_col_int = \c_zero_int
@@ -813,6 +808,7 @@
         \__nm_begin_of_row:
         \hbox_set:Nw \l_tmpa_box
         \c_math_toggle_token
+        \bool_if:NT \l__nm_small_bool \scriptstyle
         \l__nm_code_for_first_col_tl
       }
     l
@@ -873,6 +869,7 @@
           { \int_max:nn \g__nm_col_total_int \g__nm_col_int }
         \hbox_set:Nw \l_tmpa_box
           \c_math_toggle_token
+          \bool_if:NT \l__nm_small_bool \scriptstyle
           \l__nm_code_for_last_col_tl
       }
     l
@@ -926,11 +923,14 @@
 \NewDocumentEnvironment { NiceArray } { }
   {
     \bool_set_true:N \l__nm_NiceArray_bool
+    \str_if_empty:NT \g__nm_type_env_str
+      { \str_gset:Nn \g__nm_type_env_str { NiceArray } }
     \NiceArrayWithDelims . .
   }
   { \endNiceArrayWithDelims }
 \NewDocumentEnvironment { pNiceArray } { }
   {
+    \str_gset:Nn \g__nm_type_env_str { pNiceArray }
     \__nm_test_if_math_mode:
     \NiceArrayWithDelims ( )
   }
@@ -937,6 +937,7 @@
   { \endNiceArrayWithDelims }
 \NewDocumentEnvironment { bNiceArray } { }
   {
+    \str_gset:Nn \g__nm_type_env_str { bNiceArray }
     \__nm_test_if_math_mode:
     \NiceArrayWithDelims [ ]
   }
@@ -943,6 +944,7 @@
   { \endNiceArrayWithDelims }
 \NewDocumentEnvironment { BNiceArray } { }
   {
+    \str_gset:Nn \g__nm_type_env_str { BNiceArray }
     \__nm_test_if_math_mode:
     \NiceArrayWithDelims \{ \}
   }
@@ -949,6 +951,7 @@
   { \endNiceArrayWithDelims }
 \NewDocumentEnvironment { vNiceArray } { }
   {
+    \str_gset:Nn \g__nm_type_env_str { vNiceArray }
     \__nm_test_if_math_mode:
     \NiceArrayWithDelims | |
   }
@@ -955,6 +958,7 @@
   { \endNiceArrayWithDelims }
 \NewDocumentEnvironment { VNiceArray } { }
   {
+    \str_gset:Nn \g__nm_type_env_str { VNiceArray }
     \__nm_test_if_math_mode:
     \NiceArrayWithDelims \| \|
   }
@@ -961,6 +965,8 @@
   { \endNiceArrayWithDelims }
 \NewDocumentEnvironment { NiceMatrix } { ! O { } }
   {
+    \str_if_empty:NT \g__nm_type_env_str
+      { \str_gset:Nn \g__nm_type_env_str { NiceMatrix } }
     \__nm_test_if_math_mode:
     \bool_if:NT \l__nm_in_env_bool { \__nm_fatal:n { Yet~in~env } }
     \bool_set_true:N \l__nm_in_env_bool
@@ -986,35 +992,40 @@
     \skip_horizontal:n \g__nm_extra_right_margin_dim
   }
 \NewDocumentEnvironment { pNiceMatrix } { }
-   {
-     \__nm_test_if_math_mode:
-     \left( \begin{NiceMatrix}
-   }
-   { \end{NiceMatrix} \right) }
+  {
+    \str_gset:Nn \g__nm_type_env_str { pNiceMatrix }
+    \__nm_test_if_math_mode:
+    \left( \begin{NiceMatrix}
+  }
+  { \end{NiceMatrix} \right) }
 \NewDocumentEnvironment { bNiceMatrix } { }
-   {
-     \__nm_test_if_math_mode:
-     \left[ \begin{NiceMatrix}
-   }
-   { \end{NiceMatrix} \right] }
+  {
+    \str_gset:Nn \g__nm_type_env_str { bNiceMatrix }
+    \__nm_test_if_math_mode:
+    \left[ \begin{NiceMatrix}
+  }
+  { \end{NiceMatrix} \right] }
 \NewDocumentEnvironment { BNiceMatrix } { }
-   {
-     \__nm_test_if_math_mode:
-     \left\{ \begin{NiceMatrix}
-   }
-   { \end{NiceMatrix} \right\} }
+  {
+    \str_gset:Nn \g__nm_type_env_str { BNiceMatrix }
+    \__nm_test_if_math_mode:
+    \left\{ \begin{NiceMatrix}
+  }
+  { \end{NiceMatrix} \right\} }
 \NewDocumentEnvironment { vNiceMatrix } { }
-   {
-     \__nm_test_if_math_mode:
-     \left\lvert \begin{NiceMatrix}
-   }
-   { \end{NiceMatrix} \right\rvert }
+  {
+    \str_gset:Nn \g__nm_type_env_str { vNiceMatrix }
+    \__nm_test_if_math_mode:
+    \left\lvert \begin{NiceMatrix}
+  }
+  { \end{NiceMatrix} \right\rvert }
 \NewDocumentEnvironment { VNiceMatrix } { }
-   {
-     \__nm_test_if_math_mode:
-     \left\lVert \begin{NiceMatrix}
-   }
-   { \end{NiceMatrix} \right\rVert }
+  {
+    \str_gset:Nn \g__nm_type_env_str { VNiceMatrix }
+    \__nm_test_if_math_mode:
+    \left\lVert \begin{NiceMatrix}
+  }
+  { \end{NiceMatrix} \right\rVert }
 \cs_new_protected:Nn \__nm_write_max_cell_width:
   {
     \bool_if:NF \l__nm_block_auto_columns_width_bool
@@ -1136,6 +1147,11 @@
     \int_zero_new:N \l__nm_final_j_int
     \bool_set_false:N \l__nm_initial_open_bool
     \bool_set_false:N \l__nm_final_open_bool
+    \bool_if:NT \g__nm_small_bool
+      {
+        \dim_set:Nn \l__nm_radius_dim { 0.37 pt }
+        \dim_set:Nn \l__nm_inter_dots_dim { 0.25 em }
+      }
     \g__nm_Hdotsfor_lines_tl
     \g__nm_Vdots_lines_tl
     \g__nm_Ddots_lines_tl
@@ -1155,6 +1171,7 @@
     \g__nm_code_after_tl
     \tl_gclear:N \g__nm_code_after_tl
     \group_end:
+    \str_gclear:N \g__nm_type_env_str
   }
 \cs_new_protected:Nn \__nm_find_extremities_of_line:nnnn
   {
@@ -1563,11 +1580,11 @@
             \bool_if:NTF \l__nm_final_open_bool
               {
                 \int_set:Nn \l_tmpa_int
-                  { \dim_ratio:nn \l__nm_l_dim { 0.45 em } }
+                  { \dim_ratio:nn \l__nm_l_dim \l__nm_inter_dots_dim }
               }
               {
                 \int_set:Nn \l_tmpa_int
-                  { \dim_ratio:nn { \l__nm_l_dim - 0.3 em } { 0.45 em } }
+                  { \dim_ratio:nn { \l__nm_l_dim - 0.3 em } \l__nm_inter_dots_dim }
               }
           }
           {
@@ -1574,22 +1591,22 @@
             \bool_if:NTF \l__nm_final_open_bool
               {
                 \int_set:Nn \l_tmpa_int
-                  { \dim_ratio:nn { \l__nm_l_dim - 0.3 em } { 0.45 em } }
+                  { \dim_ratio:nn { \l__nm_l_dim - 0.3 em } \l__nm_inter_dots_dim }
               }
               {
                 \int_set:Nn \l_tmpa_int
-                  { \dim_ratio:nn { \l__nm_l_dim - 0.6 em } { 0.45 em }}
+                  { \dim_ratio:nn { \l__nm_l_dim - 0.6 em } \l__nm_inter_dots_dim}
               }
           }
         \dim_set:Nn \l_tmpa_dim
           {
             ( \g__nm_x_final_dim - \g__nm_x_initial_dim ) *
-            \dim_ratio:nn { 0.45 em } \l__nm_l_dim
+            \dim_ratio:nn \l__nm_inter_dots_dim \l__nm_l_dim
           }
         \dim_set:Nn \l_tmpb_dim
           {
             ( \g__nm_y_final_dim - \g__nm_y_initial_dim ) *
-            \dim_ratio:nn { 0.45 em } \l__nm_l_dim
+            \dim_ratio:nn \l__nm_inter_dots_dim \l__nm_l_dim
           }
         \int_set:Nn \l_tmpb_int
           {
@@ -1601,7 +1618,7 @@
           {
             ( \g__nm_x_final_dim - \g__nm_x_initial_dim ) *
             \dim_ratio:nn
-              { \l__nm_l_dim - 0.45 em * \l_tmpa_int } { \l__nm_l_dim * 2 } *
+              { \l__nm_l_dim - \l__nm_inter_dots_dim * \l_tmpa_int } { \l__nm_l_dim * 2 } *
             \l_tmpb_int
           }
         \dim_gadd:Nn \g__nm_y_initial_dim
@@ -1608,7 +1625,7 @@
           {
             ( \g__nm_y_final_dim - \g__nm_y_initial_dim ) *
             \dim_ratio:nn
-              { \l__nm_l_dim - 0.45 em * \l_tmpa_int }
+              { \l__nm_l_dim - \l__nm_inter_dots_dim * \l_tmpa_int }
               { \l__nm_l_dim * 2 } *
             \l_tmpb_int
           }
@@ -1617,7 +1634,7 @@
             {
               \pgfpathcircle
                 { \pgfpoint { \g__nm_x_initial_dim } { \g__nm_y_initial_dim } }
-                { 0.53 pt }
+                { \l__nm_radius_dim }
               \pgfusepath { fill }
               \dim_gadd:Nn \g__nm_x_initial_dim \l_tmpa_dim
               \dim_gadd:Nn \g__nm_y_initial_dim \l_tmpb_dim
@@ -1771,7 +1788,18 @@
   {
     \cs_set:Npn \__nm_dotfill:
       {
-        \cleaders \hbox_to_wd:nn { .44 em } { \hss . \hss } \hfill
+        \bool_if:NT \l__nm_small_bool
+          { \dim_set:Nn \l__nm_inter_dots_dim { 0.25 em } }
+        \cleaders
+        \hbox_to_wd:nn
+          { \l__nm_inter_dots_dim }
+          {
+            \c_math_toggle_token
+            \bool_if:NT \l__nm_small_bool \scriptstyle
+            \hss . \hss
+            \c_math_toggle_token
+          }
+        \hfill
         \skip_horizontal:n \c_zero_dim
       }
   }
@@ -2160,10 +2188,10 @@
 \__nm_msg_new:nn { Wrong~last~row }
   {
     You~have~used~'last-row=\int_use:N \g__nm_last_row_int'~but~your~environment~
-    \{\@currenvir\}~seems~to~have~\int_use:N \g__nm_row_int\
-    rows~(remark~that~you~can~use~'last-row'~without~value).~If~you~go~on,
-    ~the~value~of~\int_use:N \g__nm_row_int\
-    will~be~used~for~last~row.
+    \{\g__nm_type_env_str\}~seems~to~have~\int_use:N \g__nm_row_int\
+    rows.~If~you~go~on,~the~value~of~\int_use:N \g__nm_row_int\
+    will~be~used~for~last~row.~You~can~avoid~this~problem~by~using~'last-row'~
+    without~value~(more~compilations~might~be~necessary).
   }
 \__nm_msg_new:nn { Draft~mode }
   { The~compilation~is~in~draft~mode:~the~dotted~lines~won't~be~drawn. }
@@ -2175,7 +2203,7 @@
   }
 \__nm_msg_new:nn { Outside~math~mode }
   {
-    The~environment~\{\@currenvir\}~can~be~used~only~in~math~mode~
+    The~environment~\{\g__nm_type_env_str\}~can~be~used~only~in~math~mode~
     (and~not~in~\token_to_str:N \vcenter).\\
     This~error~is~fatal.
   }
@@ -2202,7 +2230,7 @@
     For~a~list~of~the~available~keys,~type~H~<return>.
   }
   {
-    The~available~keys~are~(in~alphabetic~order):~
+    The~available~options~are~(in~alphabetic~order):~
     allow-duplicate-names,~
     code-for-first-col,~
     code-for-first-row,~
@@ -2217,6 +2245,7 @@
     renew-dots,~
     renew-matrix,~
     right-margin,~
+    small,~
     and~transparent
   }
 \__nm_msg_new:nnn { Unknown~option~for~NiceArray }
@@ -2246,6 +2275,7 @@
     parallelize-diags,~
     renew-dots,~
     right-margin,~
+    small,~
     and~t.
   }
 \__nm_msg_new:nnn { Unknown~option~for~NiceMatrix }
@@ -2267,13 +2297,14 @@
     name,~
     nullify-dots,~
     parallelize-diags,~
-    renew-dots~
-    and~right-margin.
+    renew-dots,~
+    right-margin~
+    and~small.
   }
 \__nm_msg_new:nnn { Unknown~option~for~pNiceArray }
   {
     The~option~'\tl_use:N\l_keys_key_tl'~is~unknown~for~the~environment~
-    \{\@currenvir\}. \\
+    \{\g__nm_type_env_str\}. \\
     If~you~go~on,~it~will~be~ignored. \\
     For~a~list~of~the~available~options,~type~H~<return>.
   }
@@ -2298,7 +2329,8 @@
     nullify-dots,~
     parallelize-diags,~
     renew-dots,~
-    and~right-margin.
+    right-margin~
+    and~small.
   }
 \__nm_msg_new:nnn { Duplicate~name }
   {
@@ -2305,10 +2337,10 @@
     The~name~'\l_keys_value_tl'~is~already~used~and~you~shouldn't~use~
     the~same~environment~name~twice.~You~can~go~on,~but,~
     maybe,~you~will~have~incorrect~results~especially~
-    if~you~use~'columns-width=auto'. \\
+    if~you~use~'columns-width=auto'.~If~you~use~nicematrix~inside~some~
+    environments~of~amsmath,~this~error~may~be~an~artefact.~In~this~case,
+    use~the~option~'allow-duplicate-names'.\\
     For~a~list~of~the~names~already~used,~type~H~<return>. \\
-    If~you~don't~want~to~see~this~message~again,~use~the~option~
-    'allow-duplicate-names'.
   }
   {
     The~names~already~defined~in~this~document~are:~
@@ -2321,7 +2353,7 @@
   }
 \__nm_msg_new:nn { Zero~row }
   {
-    There~is~a~problem.~Maybe~your~environment~\{\@currenvir\}~is~empty.~
+    There~is~a~problem.~Maybe~your~environment~\{\g__nm_type_env_str\}~is~empty.~
     Maybe~you~have~used~l,~c~and~r~instead~of~L,~C~and~R~in~the~preamble~
     of~your~environment. \\
     If~you~go~on,~the~result~may~be~incorrect.
@@ -2329,7 +2361,7 @@
 \__nm_msg_new:nn { Use~of~:~in~first~position }
   {
     You~can't~use~the~column~specifier~'\l__nm_letter_for_dotted_lines_str'~in~the~
-    first~position~of~the~preamble~of~the~environment~\{\@currenvir\}. \\
+    first~position~of~the~preamble~of~the~environment~\{\g__nm_type_env_str\}. \\
     If~you~go~on,~this~dotted~line~will~be~ignored.
   }
 \cs_new:Npn \__nm_seq_mapthread_function:NNN #1 #2 #3



More information about the tex-live-commits mailing list