summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex')
-rw-r--r--Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex763
1 files changed, 449 insertions, 314 deletions
diff --git a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
index db7c9ec15e1..e6712486b67 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
@@ -1,5 +1,5 @@
% -*- coding: utf-8 ; -*-
-% Ce fichier doit être compilé avec lualatex uniquement.
+% Ce fichier doit être compilé avec LuaLaTeX uniquement.
\documentclass[dvipsnames]{article}% dvipsnames is for xcolor (loaded by TikZ, loaded by nicematrix)
\usepackage[french]{babel}
\frenchsetup{og = « , fg = »}
@@ -65,7 +65,7 @@
\def\emphase{\bgroup\color{RoyalPurple}\let\next=}
\usepackage{piton}
-\PitonOptions{language = minimal, detected-commands = {emph,textsl}, splittable = 4}
+\PitonOptions{language = verbatim, detected-commands = {emph,textsl}, splittable = 4}
\SetPitonStyle{ Number = , Comment = }
\ExplSyntaxOn
@@ -92,7 +92,6 @@
{ \end{minipage} }
}
-
\ExplSyntaxOff
@@ -129,8 +128,9 @@
\begin{abstract}
-L'extension LaTeX \pkg{nicematrix} fournit de nouveaux environnements similaires aux environnements classiques
-|{tabular}|, |{array}| et |{matrix}| de \pkg{array} et \pkg{amsmath} mais avec des fonctionnalités plus étendues.
+L'extension LaTeX \pkg{nicematrix} fournit de nouveaux environnements similaires
+aux environnements classiques |{tabular}|, |{array}| et |{matrix}| de
+\pkg{array} et \pkg{amsmath} mais avec des fonctionnalités plus étendues.
\end{abstract}
@@ -167,8 +167,9 @@ spécial & 12 & 12 & 0.5 & 70 \\
\vspace{1cm}
-L'extension \pkg{nicematrix} est entièrement contenue dans le fichier |nicematrix.sty|. Ce fichier peut être placé
-dans le répertoire courant ou dans une arborescence |texmf|. Le mieux reste néanmoins d'installer \pkg{nicematrix}
+L'extension \pkg{nicematrix} est entièrement contenue dans le fichier
+|nicematrix.sty|. Ce fichier peut être placé dans le répertoire courant ou dans
+une arborescence |texmf|. Le mieux reste néanmoins d'installer \pkg{nicematrix}
avec une distribution TeX comme MiKTeX, TeX~Live ou MacTeX.
\medskip
@@ -176,8 +177,8 @@ avec une distribution TeX comme MiKTeX, TeX~Live ou MacTeX.
Overleaf) vous pouvez télécharger le fichier |nicematrix.sty| dans le dossier de
votre projet pour bénéficier de la dernière version de
\pkg{nicematrix}.\footnote{La dernière version de |nicematrix.sty| peut
- être téléchargée sur le serveur \textsc{svn} de TeXLive : \newline \small
- \url{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}}
+ être téléchargée sur le dépôt Github de \pkg{nicematrix} : \newline \small
+ \url{https://github.com/fpantigny/nicematrix/releases}}
\medskip
Cette extension peut être utilisée avec |xelatex|, |lualatex| et |pdflatex| mais
@@ -200,8 +201,9 @@ utiliser pour développer de nouvelles fonctionnalités. Comme toujours avec
\textsc{pgf}, les coordonnées de ces nœuds sont écrites dans le fichier |aux|
pour être utilisées à la compilation suivante. C'est pourquoi l'utilisation de
\pkg{nicematrix} nécessite \textbf{plusieurs compilations
- successives}.\footnote{Si vous utilisez Overleaf, Overleaf effectue
- automatiquement un nombre de compilations suffisant.}
+ successives}\footnote{Si vous utilisez Overleaf, Overleaf effectue
+ automatiquement un nombre de compilations suffisant (en utilisant |latexmk|).}. L'utilisateur ne doit
+pas utiliser la commande |\nofiles| (qui bloque l'écriture du fichier |aux|).
\medskip
La plupart des fonctionnalités de \pkg{nicematrix} sont accessibles sans avoir à
@@ -313,12 +315,12 @@ $\begin{pmatrix}
\medskip
En s'inspirant de l'extension \pkg{cellspace} qui traite de ce problème,
-l'extension \pkg{nicematrix} propose deux clés |cell-space-top-limit| et
-|cell-space-bottom-limit| qui sont similaires aux deux paramètres
+l'extension \pkg{nicematrix} propose deux clés \Definition{cell-space-top-limit}
+et \Definition{cell-space-bottom-limit} qui sont similaires aux deux paramètres
|\cellspacetoplimit| et |\cellspacebottomlimit| proposés par \pkg{cellspace}.\index{cellspace@\pkg{cellspace} (extension)}
-Il existe aussi une clé |cell-space-limits| pour régler simultanément les deux
-paramètres.
+Il existe aussi une clé \Definition{cell-space-limits} pour régler simultanément
+les deux paramètres.
La valeur initiale de ces paramètres est $0$~pt pour que les environnements de
\pkg{nicematrix} aient par défaut le même comportement que ceux de \pkg{array}
@@ -359,10 +361,10 @@ seulement grâce à la commande |\RowStyle| (cf.~p.~\pageref{RowStyle}).
\index{baseline (clé pour un environnement)}
-L'extension \pkg{nicematrix} propose une option |baseline| pour la position
-verticale des tableaux. Cette option |baseline| prend comme valeur un entier qui
-indique le numéro de rangée dont la ligne de base servira de ligne de base pour
-le tableau.
+L'extension \pkg{nicematrix} propose une option \Definition{baseline} pour la
+position verticale des tableaux. Cette option |baseline| prend comme valeur un
+entier qui indique le numéro de rangée dont la ligne de base servira de ligne de
+base pour le tableau.
\medskip
\begin{Code}[width=9cm]
@@ -502,7 +504,7 @@ $A=\begin{pNiceArray}{cc|cc}\emph{[baseline=line-3]}
Dans les environnements de \pkg{nicematrix}, on peut utiliser la commande
-|\Block| pour placer un élément au centre d'un rectangle de cases
+\DefinitionCommande{Block} pour placer un élément au centre d'un rectangle de cases
fusionnées.\footnote{Les espaces situés après une commande |\Block| sont supprimés.}
La commande |\Block| doit être utilisée dans la case supérieure gauche du bloc
@@ -943,12 +945,14 @@ Rang & \Block[C]{1-3}{Premier groupe} & & & \Block{1-3}{Deuxième groupe} \\
\colorbox{yellow!50}{\bfseries Nouveau 6.28}\par\nobreak
\smallskip
-La commande |\Block| accepte aussi la clé |p|. Avec cette clé, le contenu du
-bloc est composé comme un paragraphe (de manière similaire à une colonne
-standard de type |p|). Cette clé peut s'utiliser en conjonction avec les clés
-|l|, |c| ou |r| et, alors, le paragraphe est composé avec |\raggedright|,
-|\centering| ou |\raggedleft|. Avec la clé |j|, le paragraphe est composé de
-manière justifiée.
+La commande |\Block| accepte aussi les clés |p| et |j|. Avec la clé
+\Definition{p}, le contenu du bloc est composé comme un paragraphe (de manière
+similaire à une colonne standard de type |p|). Cette clé peut s'utiliser en
+conjonction avec les clés |l|, |c| ou |r| et, alors, le paragraphe est composé
+avec |\raggedright|, |\centering| ou |\raggedleft| (et les commandes
+|\RaggedRight|, |\Centering| et |\RaggedLeft| dans le cas où l'extension
+\pkg{ragged2e} est chargée). Avec la clé \Definition{j},
+le paragraphe est composé de manière justifiée.
\subsection{Positionnement vertical du contenu des blocs}
@@ -962,7 +966,8 @@ Concernant le positionnement vertical, la commande |\Block| admet les clés
\begin{itemize}
\item \index{v-center (clé de \texttt{\textbackslash Block)})}
-Avec la clé \Definition{m}\footnote{Cette clé a un alias : |v-center|.}, le contenu du bloc est centré verticalement.
+Avec la clé \Definition{m}\footnote{Cette clé a un alias : |v-center|.}, le
+contenu du bloc est centré verticalement.
\item Avec la clé \Definition{t}, la ligne de base du contenu du bloc est alignée avec la
ligne de base de la première rangée concernée par le bloc.
@@ -1082,6 +1087,7 @@ text & text \\
\subsection{\textbackslash\textbackslash\ et \& dans les blocs}
\index{ampersand-in-blocks}
+\index{\&-in-blocks}
\colorbox{yellow!50}{\bfseries Nouveau 6.28}\par\nobreak
@@ -1091,17 +1097,20 @@ L'extension \pkg{nicematrix} offre la possibilité d'utiliser directement |\\| e
quelques restrictions.
\begin{itemize}
-\item On ne doit pas utiliser |&| et |\\| dans le même bloc.
+\item On ne doit pas utiliser à la fois |&| et |\\| dans le même bloc.
\item Pour |\\|, il n'y a pas d'autres restrictions. On peut utiliser
|\\| dans un bloc pour composer du texte sur plusieurs lignes.
-\item Pour pouvoir utiliser |&|, la clé |ampersand-in-blocks| doit avoir été
-activée. Le bloc est alors divisé en sous-blocs comme illustré ci-desous.
+\item Pour pouvoir utiliser |&|, la clé \Definition{ampersand-in-blocks} (alias:
+|&-in-blocks|) doit avoir été activée\footnote{Si ce n'est pas le cas,
+ l'utilisation de |&| dans l'argument principal de la commande |\Block|
+ provoquera une erreur : |! Extra alignment tab has been changed to \cr| de
+ TeX.}. Le bloc est alors divisé en sous-blocs comme illustré ci-dessous.
Attention toutefois : quand |ampersand-in-blocks| est utilisée, l'argument
(principal) de la commande |\Block| est découpé syntaxiquement au niveau des
esperluettes |&|, celles entre accolades sont masquées mais pas celles dans un
-environnement.\footnote{On ne peut donc écrire :
+environnement.\footnote{On ne peut donc pas écrire :
|\Block[ampersand-in-blocks]{}{\begin{array}{cc}1&2\end{array}}|. Bien sûr, on
peut le faire sans la clé |ampersand-in-blocks|.}
\end{itemize}
@@ -1112,11 +1121,11 @@ L'esperluette |&| permet de diviser horizontalement un bloc en sous-blocs \emph{
\medskip
\begin{Code}[width=85mm]
\begin{NiceTabular}{ll}%
- [hvlines,ampersand-in-blocks]
+ [hvlines,\emph{ampersand-in-blocks}]
& les cinq premiers entiers naturels \\
-3 & \Block{un&deux&trois} \\
-4 & \Block{un&deux&trois& quatre} \\
-5 & \Block{un&deux&trois&quatre&cinq} \\
+3 & \Block{}{un&deux&trois} \\
+4 & \Block{}{un&deux&trois& quatre} \\
+5 & \Block{}{un&deux&trois&quatre&cinq} \\
\end{NiceTabular}
\end{Code}
%
@@ -1136,7 +1145,7 @@ suivant :
\medskip
\begin{Code}[width=85mm]
\begin{NiceTabular}{lccccc}%
- [hvlines,ampersand-in-blocks]
+ [hvlines,\emph{ampersand-in-blocks}]
& \Block{1-5}{les cinq premiers
entiers naturels} \\
3 & \Block{1-5}{un & deux & trois} \\
@@ -1153,6 +1162,7 @@ suivant :
5 & un & deux & trois & quatre & cinq \\
\end{NiceTabular}
+\medskip
Dans ce codage, il s'agit de blocs de taille |1-5| qui sont coupés en trois et
quatre sous-blocs.
@@ -1209,17 +1219,18 @@ Si vous utilisez \pkg{booktabs} (qui fournit |\toprule|, |\midrule|,
|\bottomrule|, etc.) et que vous tenez absolument à mettre des filets verticaux
(ce qui est contraire à l'esprit à \pkg{booktabs}), vous constaterez que les
filets tracés par \pkg{nicematrix} sont compatibles avec \pkg{booktabs}.
+Remarquez que \pkg{nicematrix} ne charge \emph{pas} \pkg{booktabs}.
\medskip
\begin{Code}[width=10.5cm]
-$\begin{NiceArray}{\emph{|cccc|}} \toprule
+$\begin{NiceArray}{\emph{c|ccc}} \toprule
a & b & c & d \\ \midrule
1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ \bottomrule
\end{NiceArray}$
\end{Code}
%
-$\begin{NiceArray}{|cccc|}
+$\begin{NiceArray}{c|ccc}
\toprule
a & b & c & d \\
\midrule
@@ -1278,7 +1289,7 @@ A&B&C&D \\
\index{standard-cline}
Dans les environnements de \pkg{nicematrix}, cette situation est corrigée (il
est néanmoins possible de revenir au comportement par défaut de |\cline| avec la
-clé |standard-cline|).
+clé \Definition{standard-cline}).
\medskip
\begin{Code}[width=10cm]
@@ -1312,10 +1323,10 @@ Dans les environnements de \pkg{nicematrix}, une instruction
\index{width!sous-clé de «rules»}
\index{rules (clé pour un environnement)}
-Les environnements de \pkg{nicematrix} proposent une clé |rules/width| pour
-fixer la largeur (on devrait plutôt dire l'épaisseur) des filets dans
-l'environnement. En fait, cette clé ne fait que fixer la valeur du paramètre
-dimensionnel de LaTeX |\arrayrulewidth|.
+Les environnements de \pkg{nicematrix} proposent une clé
+\Definition{rules/width} pour fixer la largeur (on devrait plutôt dire
+l'épaisseur) des filets dans l'environnement. En fait, cette clé ne fait que
+fixer la valeur du paramètre dimensionnel de LaTeX |\arrayrulewidth|.
\smallskip
On sait que \pkg{colortbl} propose la commande |\arrayrulecolor| pour spécifier
@@ -1326,7 +1337,7 @@ la couleur de ces filets.
Avec \pkg{nicematrix}, il est possible de spécifier une couleur même si
\pkg{colortbl} n'est pas chargé. Par souci de compatibilité, la commande est
nommée également |\arrayrulecolor|. Néanmoins, \pkg{nicematrix} propose aussi
-une clé |rules/color|, disponible dans |\NiceMatrixOptions| ou dans un
+une clé \Definition{rules/color}, disponible dans |\NiceMatrixOptions| ou dans un
environnement individuel, pour fixer la couleur des filets. Cette clé fixe
localement la couleur des filets (alors que la commande |\arrayrulecolor| agit
globalement !). Elle est à privilégier.
@@ -1402,7 +1413,7 @@ p.~\pageref{custom-line}.\footnote{Remarque technique. Si l'utilisateur définit
une commande par-dessus la commande |\Hline|, il doit veiller à ce qu'elle
soit \emph{développable} au sens de TeX (en utilisant
|\NewExpandableDocumentCommand| de LaTeX3, |\newcommand| de LaTeX ou même
- |\def| de TeX). Exemple : |\newcommand{\RedLine}{\Hline[color=red]}|}
+ |\def| de TeX). Exemple : |\NewDocumentCommand{\RedLine}{}{\Hline[color=red]}|}
De même que la commande |\Hline|, le specificateur «\verb+|+» admet entre crochets
des options qui caractérisent le filet à tracer.
@@ -1436,10 +1447,11 @@ c & d \\
\index{vlines!clé pour un environnement}
\medskip
-Les clés |hlines| et |vlines| (qui, bien sûr, tracent des filets horizontaux et
-verticaux) prennent comme valeur une liste de numéros qui sont les numéros des
-filets\footnote{Il est également possible de mettre dans la liste des
- intervalles de numéros de la forme $i$|-|$j$.} à tracer. Si aucune valeur n'est donnée, tous les filets sont tracés.
+Les clés \Definition{hlines} et \Definition{vlines} (qui, bien sûr, tracent des
+filets horizontaux et verticaux) prennent comme valeur une liste de numéros qui
+sont les numéros des filets\footnote{Il est également possible de mettre dans la
+ liste des intervalles de numéros de la forme $i$|-|$j$.} à tracer. Si aucune
+valeur n'est donnée, tous les filets sont tracés.
En fait, pour les environnements avec délimiteurs (comme |{pNiceMatrix}| ou
|{bNiceArray}|), la clé |vlines| ne trace pas les filets extérieurs (ce qui est
@@ -1489,8 +1501,8 @@ z & 0 & 0 & 0 & 0 & 0 \\
\index{hvlines!clé pour un environnement}
\index{hvlines-except-borders}
-La clé |hvlines|, qui ne prend pas de valeur, est la conjonction des clés
-|hlines| et |vlines|.
+La clé \Definition{hvlines}, qui ne prend pas de valeur, est la conjonction des
+clés |hlines| et |vlines|.
\smallskip
\begin{Code}
@@ -1519,10 +1531,10 @@ p.~\pageref{tabular-rounded-corners}.
\medskip
-La clé |hvlines-except-borders| est similaire à la clé |hvlines| mais ne trace
-pas les filets sur les bords horizontaux et verticaux du tableau. Pour un
-exemple d'utilisation de cette clé, voir la partie «Exemple d'utilisation avec
-\pkg{tcolorbox}» p.~\pageref{tcolorbox}.
+La clé \Definition{hvlines-except-borders} est similaire à la clé |hvlines| mais
+ne trace pas les filets sur les bords horizontaux et verticaux du tableau. Pour
+un exemple d'utilisation de cette clé, voir la partie «Exemple d'utilisation
+avec \pkg{tcolorbox}» p.~\pageref{tcolorbox}.
\medskip
@@ -1532,8 +1544,8 @@ exemple d'utilisation de cette clé, voir la partie «Exemple d'utilisation avec
\index{Coins (les --- vides)}
\index{corners (clé d'un environnement)}
-Les quatre coins d'un tableau seront notés |NW|, |SW|, |NE| et |SE| (\emph{north west}, \emph{south west}, \emph{north
- east} et \emph{south east} en anglais).
+Les quatre coins d'un tableau seront notés |NW|, |SW|, |NE| et |SE| (\emph{north
+ west}, \emph{south west}, \emph{north east} et \emph{south east} en anglais).
\smallskip
Pour chacun de ces coins, on appellera \emph{coin vide} (ou tout simplement
@@ -1574,12 +1586,12 @@ A & A & A & A & A & A \\
\end{NiceTabular}
\medskip
-Quand la clé |corners|\footnote{La clé \texttt{corners} dont on parle là
- n'a pas de rapport direct avec la clé \texttt{rounded-corners},
- décrite dans la partie \ref{tabular-rounded-corners},
+Quand la clé \Definition{corners}\footnote{La clé \texttt{corners} dont on parle
+ là n'a pas de rapport direct avec la clé \texttt{rounded-corners}, décrite
+ dans la partie \ref{tabular-rounded-corners},
p.~\pageref{tabular-rounded-corners}.} est utilisée, \pkg{nicematrix} calcule
les coins vides et ces coins sont alors pris en compte par les outils de tracés
-de filets (les filets ne seront pas tracés dans ces coins vides).
+de filets (les filets ne seront pas tracés dans ces coins vides).
\medskip
\begin{Code}[width=11cm]
@@ -1648,9 +1660,9 @@ p.~\pageref{TikzEveryCell}) tient également compte des coins.
\indexcommand{diagbox}
-La commande |\diagbox| (inspirée par l'extension \pkg{diagbox}) permet, quand
-elle est utilisée dans une case, de couper cette case selon une diagonale
-descendante.
+La commande \DefinitionCommande{diagbox} (inspirée par l'extension
+\pkg{diagbox}) permet, quand elle est utilisée dans une case, de couper cette
+case selon une diagonale descendante.
\medskip
\begin{Code}[width=10cm]
@@ -1674,6 +1686,52 @@ c & c & b & a & e
Cette commande |\diagbox| peut aussi être utilisée dans un |\Block|.
+\medskip
+\begin{Code}[width=10cm]
+$\begin{NiceArray}{*{5}{c}}[hvlines]
+\emph{\Block{2-2}{\diagbox{x}{y}}} & & a & b & c \\
+ & & a & b & c \\
+a & a & e & c & b \\
+b & b & c & e & a \\
+c & c & b & a & e
+\end{NiceArray}$
+\end{Code}
+$\begin{NiceArray}{*{5}{c}}[hvlines]
+\Block{2-2}{\diagbox{x}{y}} & & a & b & c \\
+ & & a & b & c \\
+a & a & e & c & b \\
+b & b & c & e & a \\
+c & c & b & a & e
+\end{NiceArray}$
+
+
+\medskip
+Mais on peut aussi utiliser |\diagbox| uniquement pour le trait diagonal et
+placer les labels comme habituellement.
+
+\medskip
+\begin{Code}[width=10cm]
+$\begin{NiceArray}{*{5}{c}}[hvlines]
+\emph{\Block{2-2}{\diagbox{}{}}} & y & a & b & c \\
+x & & a & b & c \\
+a & a & e & c & b \\
+b & b & c & e & a \\
+c & c & b & a & e
+\end{NiceArray}$
+\end{Code}
+$\begin{NiceArray}{*{5}{c}}[hvlines]
+\Block{2-2}{\diagbox{}{}} & y & a & b & c \\
+x & & a & b & c \\
+a & a & e & c & b \\
+b & b & c & e & a \\
+c & c & b & a & e
+\end{NiceArray}$
+
+
+\medskip
+Il est de toutes manières toujours possible de tracer tous les traits souhaités
+avec TikZ dans le |\CodeAfter| (ou le |\CodeBefore|) en utilisant les nœuds
+PGF/TikZ créés par \pkg{nicematrix} : cf. p.~\pageref{PGF-nodes}.
\subsubsection{Commandes pour filets personnalisés}
\label{custom-line}
@@ -1683,11 +1741,11 @@ Cette commande |\diagbox| peut aussi être utilisée dans un |\Block|.
\index{custom-line|(}
-Il est possible de définir des commandes et des lettres pour des filets
-personnalisés avec la clé |custom-line|, utilisable dans |\NiceMatrixOptions| ou
-bien dans un environnement. Cette clé prend en argument une liste de paires de
-la forme \textsl{clé=valeur}. Il y a d'abord trois clés pour spécifier les outils
-qui permettront d'utiliser ce nouveau type de filet.
+Il est en fait possible de définir des commandes et des lettres pour des filets
+personnalisés avec la clé \Definition{custom-line}, utilisable dans
+|\NiceMatrixOptions| ou bien dans un environnement. Cette clé prend en argument
+une liste de paires de la forme \textsl{clé=valeur}. Il y a d'abord trois clés
+pour spécifier les outils qui permettront d'utiliser ce nouveau type de filet.
\begin{itemize}
\item la clé \Definition{command} indique le nom (sans la contre-oblique) d'une commande
@@ -1833,9 +1891,10 @@ TikZ.
Par défaut, aucune réservation de place n'est faite pour le filet qui sera tracé
avec TikZ. On peut demander une réservation (horizontale pour un filet vertical
-et verticale pour un filet horizontal) avec la clé |total-width| qui est donc en
-quelque sorte la largeur du filet qui sera tracé (cette largeur n'est \emph{pas}
-calculée à partir des caractéristiques fournies par la clé |tikz|).
+et verticale pour un filet horizontal) avec la clé \Definition{total-width} qui
+est donc en quelque sorte la largeur du filet qui sera tracé (cette largeur
+n'est \emph{pas} calculée à partir des caractéristiques fournies par la clé
+|tikz|).
\bigskip
Voici ce que l'on obtient avec la clé |dotted| de TikZ.
@@ -1893,8 +1952,8 @@ composantes de la matrice par |\Cdots|, |\Vdots|, etc. (voir
p.~\pageref{Cdots}).
\medskip
-L'extension \pkg{nicematrix} prédéfinit en fait les commandes \Definition{hdottedline} et
-\Definition{cdottedline} et la lettre «|:|» pour ces filets en pointillés.\footnote{Néanmoins, l'utilisateur peut écraser ces définitions de
+L'extension \pkg{nicematrix} prédéfinit en fait les commandes \DefinitionCommande{hdottedline} et
+\DefinitionCommande{cdottedline} et la lettre «|:|» pour ces filets en pointillés.\footnote{Néanmoins, l'utilisateur peut écraser ces définitions de
|\hdottedline|, |\cdottedline| et de «|:|» avec |custom-line| s'il le souhaite
(par exemple pour les remplacer par des lignes en tiretés).}
@@ -1957,9 +2016,6 @@ $\begin{pNiceArray}{cccc:c}
\end{itemize}
-
-
-
\index{custom-line|)}
\index{Filets@\textbf{Filets dans les tableaux}|)}
@@ -2020,7 +2076,7 @@ filets. Cette manière de faire est plus dans l'esprit du «modèle du peintre»
formats PostScript et \textsc{pdf} et convient donc mieux aux lecteurs de
\textsc{pdf}. L'inconvénient est qu'elle nécessite plusieurs compilations
successives.\footnote{Si vous utilisez Overleaf, Overleaf effectue
- automatiquement un nombre de compilations suffisant.}
+ automatiquement un nombre de compilations suffisant (en utilisant |latexmk|).}
\medskip
L'extension \pkg{nicematrix} fournit une clé |code-before| pour du code qui sera
@@ -2040,9 +2096,9 @@ peut placer le contenu de ce |code-before| entre les mots-clés |\CodeBefore| et
\smallskip
L'argument optionnel entre crochets est une liste de couples \textsl{clé=valeur}
-qui seront présentées au fur et à mesure. \footnote{Les clés disponibles sont
+qui seront présentées au fur et à mesure (les clés disponibles sont
\texttt{create-cell-nodes}, \texttt{sub-matrix} (et ses sous-clés) et
- \texttt{delimiters/color}.}
+ \texttt{delimiters/color}).
\smallskip
De nouvelles commandes sont disponibles dans ce |\CodeBefore|: |\cellcolor|,
@@ -2051,6 +2107,9 @@ De nouvelles commandes sont disponibles dans ce |\CodeBefore|: |\cellcolor|,
|\CodeBefore|, des nœuds PGF-TikZ de la forme \verb+(i-|j)+ correspondant à la
position des filets éventuels sont également accessibles : cf.
p.~\pageref{nodes-i}.}
+
+Les noms de certaines de ces commandes sont inspirés des noms des commandes de \pkg{colortbl}.
+
\label{code-before}
\index{cellcolor@\texttt{\textbackslash cellcolor}!commande du
\texttt{\textbackslash CodeBefore}}
@@ -2067,7 +2126,7 @@ De nouvelles commandes sont disponibles dans ce |\CodeBefore|: |\cellcolor|,
\index{arraycolor@\texttt{\textbackslash arraycolor} (commande du \texttt{\textbackslash
CodeBefore)}}
-Les noms de certaines de ces commandes sont inspirés des noms des commandes de \pkg{colortbl}.
+
\medskip
Ces commandes ne colorient pas les cases qui se trouvent dans les «coins» si la
@@ -2602,21 +2661,24 @@ On a utilisé le type de colonne |S| de \pkg{siunitx} (qu'il faut avoir chargé)
On peut accéder aux outils de coloriage précédents avec une syntaxe proche de
celle proposée par \pkg{colortbl} (même si \pkg{colortbl} n'est pas chargé). On
-doit pour cela utiliser la clé |color-inside|\footnote{Il existe un alias pour
- cette clé : \texttt{colortbl-like}.} dans l'environnement
+doit pour cela utiliser la clé \Definition{color-inside}\footnote{Il existe un
+ alias pour cette clé : \texttt{colortbl-like}.} dans l'environnement
concerné.\footnote{Pour le moment, cette clé n'est \emph{pas} disponible dans
|\NiceMatrixOptions|.}
On a alors accès aux commandes suivantes (les trois premières sont inspirées par
\pkg{colortbl} mais sont indépendantes de \pkg{colortbl}) :
\begin{itemize}
-\item \DefinitionCommande{cellcolor} qui colorie la case courante\footnote{Néanmoins, cette
+\item \DefinitionCommande{cellcolor} qui colorie la case courante\footnote{Cette
commande |\cellcolor| supprimera les espaces qui la suivent, ce que ne fait
- pas la commande |\cellcolor| de \pkg{colortbl}.} ;
+ pas la commande |\cellcolor| de \pkg{colortbl}. De plus, si on définit une
+ fonction au-dessus de |\cellcolor|, il faudra une fonction protégée au sens de
+TeX (alors que si c'était la commande |\cellcolor| de \pkg{colortbl}, il
+faudrait une fonction \emph{fully expandable}).} ;
\item \DefinitionCommande{rowcolor} à utiliser dans une case et qui colorie le
reste de la rangée;\footnote{Si vous souhaitez une commande pour colorier les
$n$~rangées suivantes, considérez la commande |\RowStyle| et sa clé
- |rowcolor|, p.~\pageref{RowStyle}}
+ |rowcolor|, p.~\pageref{RowStyle}.}
\item \DefinitionCommande{columncolor} à utiliser dans le préambule du tableau
de la même manière que la commande éponyme de \pkg{colortbl} (néanmoins,
contrairement à la commande |\columncolor| de \pkg{colortbl}, celle de
@@ -2725,8 +2787,9 @@ l'action d'une commande de coloriage générale.
\index{cell-space-limits}
-La commande |\RowStyle| prend en argument des instructions de mise en forme qui
-seront appliquées à chacune des cases restantes sur la rangée en cours.
+La commande \DefinitionCommande{RowStyle} prend en argument des instructions de
+mise en forme qui seront appliquées à chacune des cases restantes sur la rangée
+en cours.
\medskip
Elle prend aussi en premier argument optionnel, entre crochets, une liste de
@@ -2809,7 +2872,7 @@ Rio & Tokyo & Oslo
Dans les environnements de \pkg{nicematrix}, il est aussi possible de fixer la
largeur \emph{minimale} de toutes les colonnes (à l'exception des éventuelles
colonnes extérieures: cf. p.~\pageref{exterior}) directement avec l'option
-|columns-width|.
+\Definition{columns-width}.
\medskip
\begin{Code}[width=10cm]
@@ -2932,13 +2995,13 @@ L'environnement |{NiceTabular}| propose aussi des colonnes |X| similaires à
celles proposées par l'environnement |{tabularx}| de l'extension éponyme.
La valeur requise par la largeur du tableau peut être passée en argument de la
-clé |width| (dans |{NiceTabular}| ou dans |\NiceMatrixOptions|). La valeur
-initiale de ce paramètre est |\linewidth| (et non |\textwidth|).
+clé \Definition{width} (dans |{NiceTabular}| ou dans |\NiceMatrixOptions|). La
+valeur initiale de ce paramètre est |\linewidth| (et non |\textwidth|).
Pour se rapprocher davantage de l'environnement |{tabularx}|, \pkg{nicematrix}
-propose aussi un environnement |{NiceTabularX}| avec une syntaxe similaire à
-celle de |{tabularx}|, c'est-à-dire que la largeur voulue pour le tableau est
-spécifiée en premier argument (obligatoire).
+propose aussi un environnement \Definition{\{NiceTabularX\}} avec une syntaxe
+similaire à celle de |{tabularx}|, c'est-à-dire que la largeur voulue pour le
+tableau est spécifiée en premier argument (obligatoire).
Comme avec les extensions \pkg{tabu}\footnote{L'extension \pkg{tabu} est
@@ -2953,7 +3016,9 @@ entier positif comme argument du spécificateur |X|. Par exemple, une colonne
\pkg{nicematrix}. Si une telle valeur est utilisée, une erreur sera levée.}
\item On peut spécifier l'alignement horizontal avec une des lettres |l|, |c| et
|r| (qui insèrent respectivement |\raggedright|, |\centering| et |\raggedleft|
-suivi de |\arraybackslash|).
+suivi de |\arraybackslash|).\footnote{En fait, quand \pkg{ragged2e} est chargée,
+ce sont les commandes |\RaggedRight|, |\Centering| et |\RaggedLeft| de
+\pkg{ragged2e} qui sont utilisées, pour un meilleur résultat.}
\item On peut spécifier l'alignement vertical avec l'une des lettres |t| (alias
|p|), |m| et |b| (qui construisent respectivement des colonnes de types |p|, |m|
et |b|). La valeur par défaut est |t|.
@@ -3082,8 +3147,9 @@ commence par une instruction |\color|.
\index{last-col}
Les environnements de \pkg{nicematrix} permettent de composer des rangées et des
-colonnes «extérieures» grâce aux options |first-row|, |last-row|, |first-col| et
-|last-col|. C'est particulièrement intéressant pour les matrices (mathématiques).
+colonnes «extérieures» grâce aux options \Definition{first-row},
+\Definition{last-row}, \Definition{first-col} et \Definition{last-col}. C'est
+particulièrement intéressant pour les matrices (mathématiques).
\label{exterior}
Si elle est présente, la «première rangée» (extérieure) est numérotée par $0$
@@ -3126,8 +3192,9 @@ première colonne et une colonne |l| pour la dernière.\footnote{Si on souhaite
considérer la commande |\SubMatrix| disponible dans le |\CodeAfter| et le
|\CodeBefore| (cf. p.~\pageref{sub-matrix}).}
-\item On peut se demander comment \pkg{nicematrix} détermine le nombre de rangées et de colonnes nécessaires à la
-composition de la «dernière rangée» et de la «dernière colonne».
+\item On peut se demander comment \pkg{nicematrix} détermine le nombre de
+rangées et de colonnes nécessaires à la composition de la «dernière rangée» et
+de la «dernière colonne».
\begin{itemize}
\item Dans le cas d'un environnement avec préambule, comme |{NiceTabular}| ou
@@ -3157,10 +3224,12 @@ C'est ce que nous ferons dans la suite.
\index{code-for-first-col}
\index{code-for-last-row}
\index{code-for-last-col}
+
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.
+\Definition{code-for-first-row}, \Definition{code-for-last-row},
+\Definition{code-for-first-col} et \Definition{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{Code}
\NiceMatrixOptions{\emph{code-for-first-row} = \color{red},
@@ -3236,7 +3305,9 @@ p.~\pageref{sub-matrix}).
\index{xdots (et ses sous-clés)}
À l'intérieur des environnements de l'extension \pkg{nicematrix}, de nouvelles
-commandes sont définies : |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots| et |\Iddots|.
+commandes sont définies : \DefinitionCommande{Ldots},
+\DefinitionCommande{Cdots}, \DefinitionCommande{Vdots},
+\DefinitionCommande{Ddots} et \DefinitionCommande{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 par
\pkg{nicematrix}, est une variante de |\ddots| avec les points allant vers le
@@ -3425,8 +3496,8 @@ x & \Ldots & \Ldots & \Ldots & \Ldots & x
\medskip
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 rangée. C'est possible en utilisant l'option |nullify-dots| (et une
-seule instruction |\Ldots| suffit).\par\nobreak
+seconde rangée. C'est possible en utilisant l'option \Definition{nullify-dots}
+(et une seule instruction |\Ldots| suffit).\par\nobreak
\medskip
\begin{Code}[width=10cm]
@@ -3445,8 +3516,8 @@ L'option |nullify-dots| «smashe» les instructions |\Ldots| (et ses variantes)
horizontalement mais aussi verticalement.
\medskip
-Attention : la clé |nullify-dots| a un nom qui peut prêter à confusion ; elle
-n'implique pas que la ligne en pointillés ne sera pas tracée !
+\textbf{Attention} : la clé |nullify-dots| a un nom qui peut prêter à confusion ;
+elle n'implique pas que la ligne en pointillés ne sera pas tracée !
\subsection{Les commandes \textbackslash Hdotsfor et \textbackslash Vdotsfor}
@@ -3457,8 +3528,8 @@ n'implique pas que la ligne en pointillés ne sera pas tracée !
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}.
+\DefinitionCommande{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 |\Cdots|, |\Ldots|,
|\Vdots|, etc.), la ligne en pointillés tracée par |\Hdotsfor| s'étend jusqu'au
@@ -3511,8 +3582,9 @@ est chargée (mais vous risquez d'avoir des problèmes si vous utilisez
les outils de nicematrix pour le coloriage des tableaux.
\medskip
-L'extension \pkg{nicematrix} propose aussi une commande |\Vdotsfor| similaire à
-|\Hdotsfor| mais traçant des lignes verticales.
+L'extension \pkg{nicematrix} propose aussi une commande
+\DefinitionCommande{Vdotsfor} similaire à |\Hdotsfor| mais traçant des lignes
+verticales.
\medskip
L'exemple suivant utilise à la fois |\Hdotsfor| et |\Vdotsfor|:
@@ -3569,7 +3641,7 @@ points de suspension, on peut souhaiter utiliser les lignes pointillées de
\smallskip
\begin{itemize}
-\item L'option |renew-dots|\par\nobreak
+\item L'option \Definition{renew-dots}\par\nobreak
Avec cette option, les commandes |\ldots|, |\cdots|, |\vdots|, |\ddots|,
|\iddots|\footnotemark[\thefniddots] et |\hdotsfor| sont redéfinies dans les
@@ -3578,15 +3650,15 @@ environnements de \pkg{nicematrix} et agissent alors comme |\Ldots|, |\Cdots|,
suspension «automatiques» de |amsmath|) est aussi redéfinie et se comporte comme
|\Ldots|.
-\item L'option |renew-matrix|\par\nobreak
+\item L'option \Definition{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}
\medskip
-Par conséquent, avec les options |renew-dots| et |renew-matrix|, un code classique donne directement
-le résultat fourni par \pkg{nicematrix}.\par\nobreak
+Par conséquent, avec les options |renew-dots| et |renew-matrix|, un code
+classique donne directement le résultat fourni par \pkg{nicematrix}.\par\nobreak
\medskip
\begin{scope}
@@ -3641,7 +3713,8 @@ $\begin{bNiceMatrix}
\bigskip
-Avec la clé |xdots/horizontal-labels|, les labels restent horizontaux.\par\nobreak
+Avec la clé \Definition{xdots/horizontal-labels}, les labels restent
+horizontaux.\par\nobreak
\smallskip
\begin{Code}[width=10cm]
@@ -3708,9 +3781,10 @@ par |_|, |^| et |:|) restent horizontaux.
\medskip
L'option \Definition{xdots/color} indique bien entendu la couleur de la ligne
-tracée. On remarquera néanmoins que les lignes tracées dans les rangées et
-colonnes extérieures (décrites plus loin) bénéficient d'un régime spécial : cf.
-p.~\pageref{exterior}.
+tracée. On peut définir une couleur «à la volée»
+(ex. : |xdots/color = { [RGB]{204,204,255} }|). On remarquera que les
+lignes tracées dans les rangées et colonnes extérieures (décrites plus loin)
+bénéficient d'un régime spécial : cf. p.~\pageref{exterior}.
\medskip
L'option \Definition{radius} correspond au rayon des points circulaires qui sont
@@ -3745,7 +3819,7 @@ Il faut savoir que, par défaut, les lignes de TikZ tracées avec le paramètre
ligne de points ronds doit être construite explicitement point par point. Voir
néanmoins à l'adresse suivante pour un moyen d'avoir un style de pointillés
ronds avec TikZ :\newline \small
-\url{https://tex.stackexchange.com/questions/52848/tikz-line-with-large-dots}}
+\url{https://tex.stackexchange.com/questions/52848}}
\begin{Code}[width=9cm]
@@ -3934,19 +4008,20 @@ p.~\pageref{sub-matrix}.
\label{code-after}
On a présenté p.~\pageref{code-before} la clé |code-before|. Il existe en fait
-une clé similaire |code-after| qui peut être utilisée pour indiquer du code qui
-sera exécuté \emph{après} la construction du tableau.
+une clé similaire \Definition{code-after} qui peut être utilisée pour indiquer
+du code qui sera exécuté \emph{après} la construction du tableau.
\medskip
\index{sub-matrix (clé de \texttt{\textbackslash CodeAfter}, avec sous-clés)}
Pour améliorer la lisibilité du code, une syntaxe alternative est proposée : on
peut spécifier les instructions du |code-after| à la fin de l'environnement,
-après le mot-clé |\CodeAfter|. Bien que ce soit un mot-clé, |\CodeAfter| accepte
-quand même un argument optionnel (entre crochets).\footnote{Les clés autorisées
- dans cet argument optionnel sont les suivantes : |delimiters/color|, |rules|
- et ses sous-clés, |sub-matrix| (en lien avec la commande
- |\SubMatrix|) et ses sous-clés et |xdots| (pour la commande |\line|) et ses
- sous-clés.}
+après le mot-clé \DefinitionCommande{CodeAfter} (la clé |code-after| reste bien
+sûr obligatoire dans |\AutoNiceMatrix| et les commandes similaires). Bien que ce
+soit un mot-clé, |\CodeAfter| accepte quand même un argument optionnel (entre
+crochets).\footnote{Les clés autorisées dans cet argument optionnel sont les
+ suivantes : |delimiters/color|, |rules| et ses sous-clés, |sub-matrix| (en
+ lien avec la commande |\SubMatrix|) et ses sous-clés et |xdots| (pour la
+ commande |\line|) et ses sous-clés.}
\medskip
@@ -3959,14 +4034,17 @@ Par ailleurs, plusieurs commandes spéciales sont disponibles dans le
|\CodeAfter| : |\line|, |\SubMatrix|, |\OverBrace|, |\UnderBrace| et
|\TikzEveryCell|. On va maintenant détailler ces commandes.
+\medskip
+On veillera à éviter les espaces parasites dans ce |\CodeAfter|.\footnote{Voir
+ \url{https://tex.stackexchange.com/questions/52848}}
\subsection{La commande \textbackslash line dans le \textbackslash CodeAfter}
\label{line-in-code-after}
\index{line@\texttt{\textbackslash line} (commande du \texttt{\textbackslash CodeAfter})}
-La commande |\line| permet de tracer directement des lignes en pointillés entre
-les cases. Elle prend deux arguments correspondant aux cases ou blocs à relier.
-Chacun de ces deux arguments peut être :
+La commande \DefinitionCommande{line} permet de tracer directement des lignes en
+pointillés entre les cases. Elle prend deux arguments correspondant aux cases ou
+blocs à relier. Chacun de ces deux arguments peut être :
\begin{itemize}
\item une spécification de case de la forme $i$-$j$ où $i$ est le numéro de
ligne et $j$ est le numéro de colonne ;
@@ -4035,9 +4113,9 @@ autres lignes diagonales (par défaut, les lignes tracées par |\Ddots| sont
\texttt{\textbackslash CodeAfter}\newline et du
\texttt{\textbackslash CodeBefore})|textbf}
-La commande |\SubMatrix| permet de positionner des délimiteurs sur une partie du
-tableau, partie qui est considérée comme une sous-matrice. La commande
-|\SubMatrix| prend cinq arguments :
+La commande \DefinitionCommande{SubMatrix} permet de positionner des délimiteurs
+sur une partie du tableau, partie qui est considérée comme une sous-matrice. La
+commande |\SubMatrix| prend cinq arguments :
\begin{itemize}
\item le premier argument est le délimiteur gauche qui peut être n'importe
quel délimiteur extensible de LaTeX : |(|, |[|, |\{|, |\langle|, |\lgroup|,
@@ -4282,10 +4360,10 @@ Part A & the first part \\
\emph{Attention} : La fonctionnalité suivante est fragile et ne fonctionne pas
avec |latex|--|dvips|--|ps2pdf|.\par\nobreak
-La clé |code| de la commande |\SubMatrix| permet d'insérer du code après la
-création de la matrice. Elle a surtout pour vocation d'être utilisée pour
-insérer des instructions TikZ, sachant que, dans les instructions TikZ insérées
-dans cette clé, les nœuds de la forme \verb+i-|j+ sont interprétés avec
+La clé \Definition{code} de la commande |\SubMatrix| permet d'insérer du code
+après la création de la matrice. Elle a surtout pour vocation d'être utilisée
+pour insérer des instructions TikZ, sachant que, dans les instructions TikZ
+insérées dans cette clé, les nœuds de la forme \verb+i-|j+ sont interprétés avec
|i| et |j| étant des numéros de ligne et colonne \emph{relatifs à la
sous-matrice}.\footnote{Attention : la syntaxe \texttt{j\string|-i} n'est
\emph{pas} autorisée.}
@@ -4338,8 +4416,9 @@ Comme on le voit, le tracé effectué par la commande |\MyDraw| est \emph{relati
\texttt{\textbackslash CodeBefore})}
-Les commandes |\OverBrace| and |\UnderBrace| permettent de placer des accolades
-horizontales sur une partie du tableau. Ces commandes prennent trois arguments :
+Les commandes \DefinitionCommande{OverBrace} and \DefinitionCommande{UnderBrace}
+permettent de placer des accolades horizontales sur une partie du tableau. Ces
+commandes prennent trois arguments :
\begin{itemize}
\item le premier argument est le coin supérieur gauche du rectangle de cases
impliquées dans l'accolade avec la syntaxe habituelle $i$|-|$j$ où $i$ est le
@@ -4350,6 +4429,9 @@ numéro de rangée et $j$ le numéro de colonne ;
\item le troisième argument est le «label» de l'accolade qui sera placé par
\pkg{nicematrix} (avec \textsc{pgf}) au-dessus de l'accolade (pour la commande
|\OverBrace|) ou au-dessous (pour |\UnderBrace|).
+
+\colorbox{yellow!50}{\textbf{Nouveau 2.9}}\enskip Il est possible de mettre des
+commandes |\\| dans ce dernier argument pour fomater le label sur plusieurs lignes.
\end{itemize}
\bigskip
@@ -4387,11 +4469,11 @@ Les commandes |\OverBrace| et |\UnderBrace| acceptent en fait un premier
argument optionnel (entre crochets) pour une liste de couples
\textsl{clé=valeur}. Les clés disponibles sont les suivantes :
\begin{itemize}
-\item \Definition{left-shorten} et \Definition{right-shorten} qui ne prennent pas de valeur ; quand
-|left-shorten| est utilisée, l'abscisse de l'extrémité de gauche de l'accolade
-est calculée à partir du contenu du sous-tableau concerné alors que, sinon,
-c'est la position du filet vertical éventuel qui est utilisée (de même pour
-|right-shorten|) ;
+\item \Definition{left-shorten} et \Definition{right-shorten} qui ne prennent
+pas de valeur ; quand |left-shorten| est utilisée, l'abscisse de l'extrémité de
+gauche de l'accolade est calculée à partir du contenu du sous-tableau concerné
+alors que, sinon, c'est la position du filet vertical éventuel qui est utilisée
+(de même pour |right-shorten|) ;
\item \Definition{shorten}, qui est la conjonction des clés |left-shorten| et |right-shorten| ;
@@ -4421,16 +4503,16 @@ $\begin{pNiceMatrix}
\subsection{La commande \textbackslash TikzEveryCell dans le \textbackslash CodeAfter}
-\index{SubMatrix@\texttt{\textbackslash TikzEveryCell} (commande du
+\index{tikzeverycell@\texttt{\textbackslash TikzEveryCell} (commande du
\texttt{\textbackslash CodeAfter}\newline et du
\texttt{\textbackslash CodeBefore})|textbf}
\label{TikzEveryCell}
\index{empty (clé de \texttt{\textbackslash TikzEveryCell})}
\index{non empty (clé de \texttt{\textbackslash TikzEveryCell})}
-La commande |\TikzEveryCell| exécute avec TikZ le chemin rectangulaire qui
-correspond à chaque case du tableau, avec comme paramètres TikZ l'argument de
-|\TikzEveryCell|. Cet argument doit être une liste de couples
+La commande \DefinitionCommande{TikzEveryCell} exécute avec TikZ le chemin
+rectangulaire qui correspond à chaque case du tableau, avec comme paramètres
+TikZ l'argument de |\TikzEveryCell|. Cet argument doit être une liste de couples
\textsl{clé=valeur} applicables à un chemin TikZ. En fait, cette commande
s'applique à chaque case du tableau, exceptées celles situées dans les rangées
et colonnes extérieures (cf.~p.~\pageref{exterior}) et celles situées dans les
@@ -4441,11 +4523,11 @@ blocs.
\medskip
En fait, dans la liste des clés passée en argument on peut mettre une clé
-|offset|. Cette clé n'est pas fournie par TikZ mais par \pkg{nicematrix}. Elle
-réduit le rectangle correspondant au bloc par une marge (horizontalement et
-verticalement) égale à la valeur (passée à |offset|). C'est ce rectangle réduit
-qui sera le chemin exécuté par TikZ avec comme options les autres clés de
-l'argument de |\TikzEveryCell|.
+\Definition{offset}. Cette clé n'est pas fournie par TikZ mais par
+\pkg{nicematrix}. Elle réduit le rectangle correspondant au bloc par une marge
+(horizontalement et verticalement) égale à la valeur (passée à |offset|). C'est
+ce rectangle réduit qui sera le chemin exécuté par TikZ avec comme options les
+autres clés de l'argument de |\TikzEveryCell|.
\medskip
@@ -4476,14 +4558,45 @@ l'argument de |\TikzEveryCell|.
\bigskip
-La commande |\TikzEveryCell| possède deux clés :
+La commande |\TikzEveryCell| possède deux clés, utilisables en argument
+optionnel, entre crochets.
\begin{itemize}
\item avec la clé \Definition{empty}, la commande ne s'applique qu'aux cases
-vides ;
+vides (les cases considérées comme vides sont décrites à la
+partie~\ref{empty-cells}, p.~\pageref{empty-cells}) ;
\item avec la clé \Definition{non-empty}, la commande ne s'applique qu'aux
cases non vides.
\end{itemize}
+\medskip
+\begin{Code}[width=9cm]
+\renewcommand{\arraystretch}{1.4}
+\begin{NiceTabular}{cccccc}[hvlines]
+ P & O & U & R & V & U \\
+ O & & & E & I & \\
+ M & O & R & F & A & L \\
+ E & T & A & L & & E \\
+ L & A & S & E & R & S \\
+ O & & E & X & I & T
+\CodeAfter
+ \emph{\TikzEveryCell[empty]{fill=gray,draw}}
+\end{NiceTabular}
+\end{Code}
+\begin{scope}
+\renewcommand{\arraystretch}{1.4}
+\begin{NiceTabular}{cccccc}[hvlines]
+ P & O & U & R & V & U \\
+ O & & & E & I & \\
+ M & O & R & F & A & L \\
+ E & T & A & L & & E \\
+ L & A & S & E & R & S \\
+ O & & E & X & I & T
+\CodeAfter
+ \TikzEveryCell[empty]{fill=gray,draw}
+\end{NiceTabular}
+\end{scope}
+
+
\medskip
La commande |\TikzEveryCell| est en fait aussi disponible dans le |\CodeBefore|.
@@ -4509,9 +4622,10 @@ La commande |\TikzEveryCell| est en fait aussi disponible dans le |\CodeBefore|.
\index{Legende@\textbf{Légende des tableaux}}
-L'environnement |{NiceTabular}| propose des clés |caption|, |short-caption| et
-|label| à utiliser lorsque le tableau est inséré dans un environnment flottant
-(typiquement un environnement |{table}|).
+L'environnement |{NiceTabular}| propose des clés \Definition{caption},
+\Definition{short-caption} et \Definition{label} à utiliser lorsque le tableau
+est inséré dans un environnment flottant (typiquement un environnement
+|{table}|).
\smallskip
L'intérêt d'utiliser cette clé |caption| plutôt que la commande classique
@@ -4523,7 +4637,7 @@ d'avoir recours à l'extension \pkg{threeparttable} ou l'extension
\smallskip
Par défaut, la légende est placée au-dessous du tableau. Pour avoir la légende
-placée au-dessus, il convient d'utiliser la clé |caption-above| dans
+placée au-dessus, il convient d'utiliser la clé \Definition{caption-above} dans
|\NiceMatrixOptions|.
\smallskip
@@ -4576,12 +4690,13 @@ l'extension \pkg{xcolor} et elle n'est pas parfaitement compatible avec
\label{tabularnote}
\index{tabularnote@\texttt{\textbackslash tabularnote}}
-L'extension \pkg{nicematrix} propose aussi une commande |\tabularnote| qui
-permet de spécifier des notes qui seront composées à la fin du tableau avec une
-longueur de ligne égale à la largeur du tableau (hors éventuelles colonnes
-extérieures spécifiées par |first-col| et |last-col|: cf.~\ref{exterior},
-p.~\pageref{exterior}). Sans surprise, cette commande n'est disponible que dans
-|{NiceTabular}|, |{NiceTabular*}| et |{NiceTabularX}|.
+L'extension \pkg{nicematrix} propose aussi une commande
+\DefinitionCommande{tabularnote} qui permet de spécifier des notes qui seront
+composées à la fin du tableau avec une longueur de ligne égale à la largeur du
+tableau (hors éventuelles colonnes extérieures spécifiées par |first-col| et
+|last-col|: cf.~\ref{exterior}, p.~\pageref{exterior}). Sans surprise, cette
+commande n'est disponible que dans |{NiceTabular}|, |{NiceTabular*}| et
+|{NiceTabularX}|.
\index{enumitem@\pkg{enumitem} (extension requise pour utiliser\newline \texttt{\textbackslash tabularnote})}
@@ -4589,6 +4704,7 @@ En fait, cette commande n'est disponible que si l'extension \pkg{enumitem} a ét
chargée (avant ou après \pkg{nicematrix}). Les notes sont en effet composées en
fin de tableau selon un type de liste défini par l'extension \pkg{enumitem}.
+\medskip
\begin{Code}
\begin{NiceTabular}{@{}llr@{}}
\toprule \RowStyle{\bfseries}
@@ -4635,19 +4751,17 @@ de l'environnement |{NiceTabular}|.
séparés par une virgule (comme avec l'option |multiple| de \pkg{footmisc} pour
les notes de pied de page).
-\item Si une commande |\tabularnote{...}| se trouve exactement à la fin d'une case
-(sans aucun espace après), l'appel de note est composé en débordement vers la
-droite (cela peut permettre de mieux conserver l'alignement des contenus d'une
-colonne). Depuis la version 6.20a, ce comportement n'a lieu que si le mode
-l'alignement de la case est |c| ou |r| (alignement horizontal centré ou en
-butée à droite).
+\item Si une commande |\tabularnote{...}| se trouve exactement à la fin d'une
+case (sans aucun espace après) et que le mode d'alignement de la colonne est |c|
+ou~|r|, l'appel de note est composé en débordement vers la droite (cela peut
+permettre de mieux conserver l'alignement des contenus d'une colonne).
-\item Si la clé |notes/para| est utilisée, les notes sont composées à la fin du
-tableau en un seul paragraphe.
+\item Si la clé \Definition{notes/para} est utilisée, les notes sont composées à
+la fin du tableau en un seul paragraphe.
\item \index{tabularnote (clé de \texttt{\{NiceTabular\}})}
-Il existe une clé |tabularnote| qui permet d'insérer du texte dans la zone
-des notes avant les notes numérotées.
+Il existe une clé \Definition{tabularnote} qui permet d'insérer du texte dans la
+zone des notes avant les notes numérotées.
\index{tabularnote-env@\texttt{\{TabularNote\}}}
\index{notes (clé pour paramétrer les notes de\newline tableau)}
@@ -4657,15 +4771,15 @@ l'environnement |{TabularNote}| à la fin de l'environnement |{NiceTabular}|
(mais \emph{avant} l'éventuel |\CodeAfter|).
\item Si l'extension \pkg{booktabs} a été chargée (avant ou après
-\pkg{nicematrix}), la clé |notes/bottomrule| permet de faire tracer un
-|\bottomrule| de \pkg{booktabs} \emph{après} les notes.
+\pkg{nicematrix}), la clé \Definition{notes/bottomrule} permet de faire tracer
+un |\bottomrule| de \pkg{booktabs} \emph{après} les notes.
\item Lorsque plusieurs commandes |\tabularnote| sont utilisées avec le même
argument, une seule note est insérée en fin de tableau (mais tous les labels
sont marqués). Il est possible de désactiver cette fonctionnalité avec la clé
|notes/detect-duplicates|.\footnote{Pour des raisons techniques, il n'est pas
autorisé de mettre plusieurs |\tabularnote| avec exactement le même argument
- dans la légende.}
+ dans la légende. Ce n'est pas vraiment contraignant.}
\item Il est possible de référencer une note de tableau (avec la commande
|\label| placée après le |\tabularnote|).
@@ -4702,7 +4816,7 @@ Barrère & Bertrand & 86\\
Nightingale\emph{\tabularnote{Souvent considérée comme la première infirmière.}%
\tabularnote{Surnommée «la Dame à la Lampe».}}
& Florence\emph{\tabularnote{Cette note est commune à deux appels de notes.}} & 90 \\
-Schœlcher & Victor & 89\emph{\tabularnote{L’appel de note déborde à droite.}} \\
+Schœlcher & Victor & 89\emph{\tabularnote{L’appel de note déborde à droite.}}\\
Touchet & Marie\emph{\tabularnote{Cette note est commune à deux appels de notes.}} & 89 \\
Wallis & John & 87 \\
\bottomrule
@@ -4796,14 +4910,14 @@ paires \textsl{clé=valeur} où le nom des clés n'a plus à être préfixé par
On détaille maintenant ces clés.
\begin{itemize}[itemsep=\medskipamount]
-\item La clé |notes/para| demande la composition des notes en fin de tableau en un seul
-paragraphe.
+\item La clé \Definition{notes/para} demande la composition des notes en fin de
+tableau en un seul paragraphe.
Valeur initiale : |false|
Cette clé est également accessible dans un environnement individuel.
-\item La clé |notes/bottomrule| permet de faire tracer un |\bottomrule| de \pkg{booktabs}
+\item La clé \Definition{notes/bottomrule} permet de faire tracer un |\bottomrule| de \pkg{booktabs}
\emph{après} les notes. Ce trait n'est tracé que s'il y a effectivement des
notes dans le tableau. L'extension \pkg{booktabs} doit avoir été chargée (avant
ou après l'extension \pkg{nicematrix}). Dans le cas contraire, une erreur est générée.
@@ -4812,22 +4926,22 @@ Valeur initiale : |false|
Cette clé est également accessible dans un environnement individuel.
-\item La clé |notes/style| est une commande dont l'argument est spécifié par
-|#1| et qui indique le style de numérotation des notes. C'est ce style qui est
-utilisé par |\ref| pour faire référence à une note de tableau pour laquelle on a
-utilisé un |\label|. Ce sont les labels mis en forme avec ce style qui sont
-séparés par des virgules quand on utilise plusieurs commandes |\tabularnote|
-successivement. Le marqueur |#1| est censé correspondre à un nom de compteur
-LaTeX.
+\item La clé \Definition{notes/style} est une commande dont l'argument est
+spécifié par |#1| et qui indique le style de numérotation des notes. C'est ce
+style qui est utilisé par |\ref| pour faire référence à une note de tableau pour
+laquelle on a utilisé un |\label|. Ce sont les labels mis en forme avec ce style
+qui sont séparés par des virgules quand on utilise plusieurs commandes
+|\tabularnote| successivement. Le marqueur |#1| est censé correspondre à un nom
+de compteur LaTeX.
Valeur initiale : |\textit{\alph{#1}}|
Une autre valeur possible pourrait être tout simplement |\arabic{#1}|
-\item La clé |notes/label-in-tabular| est une commande dont l'argument est
-spécifié par |#1| et qui sert au formatage de l'appel de note dans le tableau.
-En interne, le numéro de note a déjà été formaté par |notes/style| avant d'être
-passé en argument à cette commande.
+\item La clé \Definition{notes/label-in-tabular} est une commande dont
+l'argument est spécifié par |#1| et qui sert au formatage de l'appel de note
+dans le tableau. En interne, le numéro de note a déjà été formaté par
+|notes/style| avant d'être passé en argument à cette commande.
Valeur initiale : |\textsuperscript{#1}|
@@ -4839,7 +4953,7 @@ avant l'appel de note. On peut faire ce réglage de la manière suivante :
\end{Code}
-\item La clé |notes/label-in-list| est une commande dont l'argument est
+\item La clé \Definition{notes/label-in-list} est une commande dont l'argument est
spécifié par |#1| et qui sert au formatage du numéro de note dans la liste des
notes en fin de tableau. En interne, le numéro de note a déjà été formaté par
|notes/style| avant d'être passé en argument à cette commande.
@@ -4870,13 +4984,13 @@ d'avoir les notes calées à gauche, ce qui est plaisant si on compose des
tableaux dans l'esprit de \pkg{booktabs} (voir par exemple la table~\ref{t:tabularnote}, p.~\pageref{t:tabularnote}).
\medskip
-La clé |notes/enumitem-keys| fournie par \pkg{nicematrix} permet de modifier ce
-type de liste de \pkg{enumitem} (en utilisant en interne la commande |\setlist*|
-de \pkg{enumitem}).
+La clé \Definition{notes/enumitem-keys} fournie par \pkg{nicematrix} permet de
+modifier ce type de liste de \pkg{enumitem} (en utilisant en interne la commande
+|\setlist*| de \pkg{enumitem}).
-\item La clé |notes/enumitem-keys-para| est similaire à la précédente mais elle
-est utilisée pour le type de liste qui sera utilisé quand l'option |para| est
+\item La clé \Definition{notes/enumitem-keys-para} est similaire à la précédente
+mais elle est utilisée pour le type de liste qui sera utilisé quand l'option |para| est
choisie. Bien entendu, quand cette option |para| est active, c'est une liste de
type |inline| (suivant le vocabulaire de \pkg{enumitem}) qui est utilisée et les
paires \textsl{clé=valeur} doivent donc correspondre à une telle liste de type
@@ -4887,8 +5001,8 @@ Initialement, le style de liste utilisé est défini par :\quad
|afterlabel = \nobreak, itemjoin = \quad|
-\item La clé |notes/code-before| est une liste de tokens qui seront insérés
-avant la composition de la liste de notes.
+\item La clé \Definition{notes/code-before} est une liste de tokens qui seront
+insérés avant la composition de la liste de notes.
Valeur initiale : \textsl{vide}
@@ -4900,7 +5014,7 @@ Si on souhaite, par exemple, que les notes soient composées en gris et en
On peut aussi mettre dans cette clé |\raggedright| ou |\RaggedRight| (cette
dernière est une commande de \pkg{ragged2e}).
-\item La clé |notes/detect-duplicates| active la détection des
+\item La clé \Definition{notes/detect-duplicates} active la détection des
commandes |\tabularnote| avec le même argument.
Valeur initiale : |true|
@@ -4947,7 +5061,7 @@ la clé |corners| (qui sert à spécifier les «coins vides») décrite à la
partie~\ref{corners}, p.~\pageref{corners}.
\smallskip
-La clé |rounded-corners| spécifie que le tableau ou la matrice devra avoir des
+La clé \Definition{rounded-corners} spécifie que le tableau ou la matrice devra avoir des
coins arrondis avec un rayon égal à la valeur de cette clé (la valeur par défaut est
4~pt\footnote{Cette valeur est la valeur par défaut des «\texttt{rounded
corners}» de PGF/Tikz.}). Plus précisément, cette clé a deux effets que l'on
@@ -4996,8 +5110,8 @@ Cette clé est disponible dans tous les environnements et commandes de
\texttt{\textbackslash CodeAfter}\newline et du
\texttt{\textbackslash CodeBefore})}
-La commande |\ShowCellNames|, utilisable dans le |\CodeBefore| et le
-|\CodeAfter| affiche le nom (sous la forme $i$-$j$) de chaque case. Quand elle
+La commande \DefinitionCommande{ShowCellNames}, utilisable dans le |\CodeBefore|
+et le |\CodeAfter| affiche le nom (sous la forme $i$-$j$) de chaque case. Quand elle
est utilisée dans le |\CodeAfter|, cette commande applique un rectangle blanc
semi-transparent pour estomper le tableau (attention : certains lecteurs de
\textsc{pdf} ne prennent pas en charge la transparence).
@@ -5026,8 +5140,9 @@ semi-transparent pour estomper le tableau (attention : certains lecteurs de
\index{S (les colonnes S de \pkg{siunitx})}
\index{siunitx@\pkg{siunitx} (extension)}
-Si l'extension \pkg{siunitx} est chargée (avant ou après \pkg{nicematrix}), il est possible d'utiliser les colonnes
-de type |S| de \pkg{siunitx} dans les environnements de \pkg{nicematrix}. L'implémentation n'utilise explicitement
+Si l'extension \pkg{siunitx} est chargée (avant ou après \pkg{nicematrix}), il
+est possible d'utiliser les colonnes 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}.
\medskip
@@ -5061,10 +5176,11 @@ charge par \pkg{nicematrix}.
Les environnements sans préambule (|{NiceMatrix}|, |{pNiceMatrix}|, etc.) ainsi
que la commande |\pAutoNiceMatrix| et ses variantes, acceptent la clé
-|columns-type| qui indique le type de colonne qui sera utilisé.
+\Definition{columns-type} qui indique le type de colonne qui sera utilisé.
\medskip
-Les clés |l| et |r| sont des raccourcis pour |columns-type=l| et |columns-type=r|.
+Les clés \Definition{l} et \Definition{r} sont des raccourcis pour
+|columns-type=l| et |columns-type=r|.
\medskip
\begin{Code}[width=10cm]
@@ -5089,8 +5205,9 @@ de la préfixer par |matrix|, ce qui fait que son nom devient |matrix/columns-ty
\label{rotate}
\index{rotate@\texttt{\textbackslash rotate}}
-Utilisée au début d'une case, la commande |\rotate| (fournie par \pkg{nicematrix}) compose le contenu après une
-rotation de 90° dans le sens direct.
+Utilisée au début d'une case, la commande \DefinitionCommande{rotate} (fournie
+par \pkg{nicematrix}) compose le contenu après une rotation de 90° dans le sens
+direct.
Dans l'exemple suivant, on l'utilise dans le |code-for-first-row|.\footnote{On
peut aussi l'utiliser dans |\RowStyle| (cf. p.~\pageref{RowStyle}).}
@@ -5175,10 +5292,10 @@ seront peut-être pas ceux attendus.
\index{smallmatrix@\texttt{\{smallmatrix\}} (environnement de \pkg{amsmath})}
-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}).
+Avec l'option \Definition{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}).
\medskip
\begin{Code}
@@ -5192,7 +5309,8 @@ $\begin{bNiceArray}{cccc|c}[\emph{small},
\end{bNiceArray}$
\end{Code}
%
-\[\begin{bNiceArray}{cccc|c}[small, last-col, code-for-last-col = \scriptscriptstyle, columns-width=3mm]
+\[\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
@@ -5281,8 +5399,10 @@ final), ces compteurs sont masqués dans les environnements de \pkg{nicematrix}.
\indexcommand{BAutoNiceMatrix}
L'extension \pkg{nicematrix} propose aussi des commandes pour composer
automatiquement des matrices à partir d'un motif général. Ces commandes sont
-nommées |\AutoNiceMatrix|, |\pAutoNiceMatrix|, |\bAutoNiceMatrix|,
-|\vAutoNiceMatrix|, |\VAutoNiceMatrix| et |\BAutoNiceMatrix|.
+nommées \DefinitionCommande{AutoNiceMatrix},
+\DefinitionCommande{pAutoNiceMatrix}, \DefinitionCommande{bAutoNiceMatrix},
+\DefinitionCommande{vAutoNiceMatrix}, \DefinitionCommande{VAutoNiceMatrix} et
+\DefinitionCommande{BAutoNiceMatrix}.
Chacune de ces commandes prend deux arguments obligatoires : le premier est la
taille de la matrice, sous la forme $n$-$p$, où $n$ est le nombre de rangées et
@@ -5297,18 +5417,21 @@ $C = \emph{\pAutoNiceMatrix}{3-3}{C_{\arabic{iRow},\arabic{jCol}}}$
\[C = \pAutoNiceMatrix{3-3}{C_{\arabic{iRow},\arabic{jCol}}}\]
+Il existe aussi \DefinitionCommande{AutoNiceArrayWithDelims} similaire à
+|{NiceArrayWithDelims}|.
+
\subsection{L'option light-syntax}
\label{light-syntax}
\index{light-syntax}
-L'option |light-syntax| (inspirée de l'extension \pkg{spalign}) permet d'alléger
-la saisie des matrices, ainsi que leur lisibilité dans le source TeX. Lorsque
-cette option est activée, on doit utiliser le point-virgule comme marqueur de
-fin de rangée et séparer les colonnes par des espaces ou des tabulations. On
-remarquera toutefois que, comme souvent dans le monde TeX, les espaces après les
-séquences de contrôle ne sont pas comptées et que les éléments entre accolades
-sont considérés comme un tout.
+L'option \Definition{light-syntax} (inspirée de l'extension \pkg{spalign})
+permet d'alléger la saisie des matrices, ainsi que leur lisibilité dans le
+source TeX. Lorsque cette option est activée, on doit utiliser le point-virgule
+comme marqueur de fin de rangée et séparer les colonnes par des espaces ou des
+tabulations. On remarquera toutefois que, comme souvent dans le monde TeX, les
+espaces après les séquences de contrôle ne sont pas comptées et que les éléments
+entre accolades sont considérés comme un tout.
\medskip
@@ -5345,12 +5468,12 @@ dans les cases du tableau.\footnote{La raison en est que lorsque l'option |light
\medskip
-\index{light-syntax-expanded}
-La clé |light-syntax-expanded| a le même comportement que la clé |light-syntax|
-mais avec cette différence que le corps de l'environnement est complètement
-développé (au sens de TeX\footnote{Plus précisément, il s'agit d'une expansion
- de type |e| de L3.}) avant découpe en lignes (mais après l'extraction de
-l'éventuel |\CodeAfter|).
+\index{light-syntax-expanded}
+La clé \Definition{light-syntax-expanded} a le même comportement que la clé
+|light-syntax| mais avec cette différence que le corps de l'environnement est
+complètement développé (au sens de TeX\footnote{Plus précisément, il s'agit
+ d'une expansion de type |e| de L3.}) avant découpe en lignes (mais après
+l'extraction de l'éventuel |\CodeAfter|).
\subsection{Couleur des délimiteurs}
@@ -5361,7 +5484,7 @@ l'éventuel |\CodeAfter|).
Pour les environnements avec délimiteurs (|{pNiceArray}|, |{pNiceMatrix}|,
etc.), il est possible de changer la couleur des délimiteurs avec la clé
-|delimiters/color|.
+\Definition{delimiters/color}.
\medskip
\begin{Code}[width=12cm]
@@ -5387,11 +5510,11 @@ préambule des environnements à préambule (cf.~p.~\pageref{delimiters-in-pream
\index{NiceArrayWithDelims@\texttt{\{NiceArrayWithDelims\}}}
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 ou
-asymétriques.
+environnement plus général, appelé \Definition{\{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 ou asymétriques.
\medskip
\begin{Code}[width=11cm]
@@ -5415,10 +5538,10 @@ $\begin{NiceArrayWithDelims}
\indexcommand{OnlyMainNiceMatrix}
-La commande |\OnlyMainNiceMatrix| n'exécute son argument que si on se trouve
-dans le tableau principal, c'est-à-dire que l'on est ni dans les rangées
-extérieures, ni dans les colonnes extérieures. Si elle est utilisée hors d'un
-environnement de \pkg{nicematrix}, elle est sans effet.
+La commande \DefinitionCommande{OnlyMainNiceMatrix} n'exécute son argument que
+si on se trouve dans le tableau principal, c'est-à-dire que l'on est ni dans les
+rangées extérieures, ni dans les colonnes extérieures. Si elle est utilisée hors
+d'un environnement de \pkg{nicematrix}, elle est sans effet.
Pour un exemple d'utilisation, voir \url{tex.stackexchange.com/questions/488566}
@@ -5454,8 +5577,8 @@ lignes pointillées (cf.~p.~\pageref{Cdots}) et la détermination des «coins»
\medskip
Comme la création de ces nœuds requiert du temps et de la mémoire, il est
-possible de la désactiver ponctuellement avec la clé |no-cell-nodes| pour
-accélerer les compilations.
+possible de la désactiver ponctuellement avec la clé \Definition{no-cell-nodes}
+pour accélerer les compilations.
\medskip
Tous les nœuds du document doivent avoir des noms deux à deux distincts et le
@@ -5469,22 +5592,22 @@ de la colonne~$j$ a pour nom |nm-|$n$|-|$i$|-|$j$.
\smallskip
\indexcommand{NiceMatrixLastEnv}
-La commande |\NiceMatrixLastEnv| donne le numéro du dernier de ces
-environnements (pour LaTeX, il s'agit d'une commande — complètement développable
-— et non d'un compteur).
+La commande \DefinitionCommande{NiceMatrixLastEnv} donne le numéro du dernier de
+ces environnements (pour LaTeX, il s'agit d'une commande — complètement
+développable — et non d'un compteur).
\smallskip
\index{name!clé pour un environnement}
-Il est néanmoins recommandé de passer plutôt par la clé |name|\footnote{Depuis
- la version 6.20a, la valeur passée à cette clé est \emph{développée}, au sens
- de TeX.}. Celle-ci permet de donner un nom à l'environnement. Une fois
-l'environnement nommé, 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 rangée et de colonne de la case considérée. On peut les utiliser
-avec \textsc{pgf} mais l'utilisateur final préférera sans doute utiliser TikZ
-(qui est une sur-couche de \textsc{pgf}). Il faut néanmoins se souvenir que
-\pkg{nicematrix} ne charge pas TikZ par défaut. Dans les exemples qui suivent,
-on suppose que TikZ a été chargé par l'utilisateur.
+Il est néanmoins recommandé de passer plutôt par la clé \Definition{name}\footnote{La
+ valeur passée à la clé |name| est \emph{développée}, au sens de TeX.}.
+Celle-ci permet de donner un nom à l'environnement. Une fois l'environnement
+nommé, 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 rangée et
+de colonne de la case considérée. On peut les utiliser avec \textsc{pgf} mais
+l'utilisateur final préférera sans doute utiliser TikZ (qui est une sur-couche
+de \textsc{pgf}). Il faut néanmoins se souvenir que \pkg{nicematrix} ne charge
+pas TikZ par défaut. Dans les exemples qui suivent, on suppose que TikZ a été
+chargé par l'utilisateur.
\medskip
\begin{Code}[width=11cm]
@@ -5585,13 +5708,13 @@ p.~\pageref{triangular}.
\subsubsection{La clé pgf-node-code}
-\index{pgf-node-code}
+\index{pgf-node-code}
\textbf{Pour les utilisateurs expérimentés}, \pkg{nicematrix} fournit la clé
-|pgf-node-code| qui correspond à du code PGF qui sera exécuté à la création, par
-PGF, des nœuds correspondants aux cases du tableau. Plus précisément, la valeur
-fournie à la clé |pgf-node-code| sera passée en cinquième argument de la
-commande |\pgfnode|. Cette valeur doit contenir au moins une instruction comme
-|\pgfusepath|, |\pgfusepathqstroke|, |\pgfusepathqfill|, etc.
+\Definition{pgf-node-code} qui correspond à du code PGF qui sera exécuté à la
+création, par PGF, des nœuds correspondants aux cases du tableau. Plus
+précisément, la valeur fournie à la clé |pgf-node-code| sera passée en cinquième
+argument de la commande |\pgfnode|. Cette valeur doit contenir au moins une
+instruction comme |\pgfusepath|, |\pgfusepathqstroke|, |\pgfusepathqfill|, etc.
\subsubsection{Les colonnes V de varwidth}
@@ -5642,9 +5765,9 @@ peu plus loin, p.~\pageref{nodes-i}.
En fait, l'extension \pkg{nicematrix} peut créer deux séries de nœuds
supplémentaires (\emph{extra nodes} en anglais) : les «nœuds moyens»
(\emph{medium nodes} en anglais) et les «nœuds larges» (\emph{large nodes} en
-anglais). Les premiers sont créés avec l'option |create-medium-nodes| et les
-seconds avec l'option |create-large-nodes|.\footnote{Il existe aussi l'option
- |create-extra-nodes| qui est un alias pour la conjonction de
+anglais). Les premiers sont créés avec l'option \Definition{create-medium-nodes}
+et les seconds avec l'option \Definition{create-large-nodes}.\footnote{Il existe
+ aussi l'option |create-extra-nodes| qui est un alias pour la conjonction de
|create-medium-nodes| et |create-large-nodes|.}
\medskip
@@ -5712,14 +5835,15 @@ a & a & a
\index{right-margin}
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 |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| (valeur initiale : 5~pt). Il existe aussi une
- option |margin| pour fixer à la fois |left-margin| et |right-margin|.}
+d'utiliser les options \Definition{left-margin} et \Definition{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| (valeur
+ initiale : 5~pt). Il existe aussi une option |margin| pour fixer à la fois
+ |left-margin| et |right-margin|.}
\[\begin{pNiceMatrix}[create-large-nodes,left-margin,right-margin]
\CodeBefore [create-cell-nodes]
\begin{tikzpicture}
@@ -5745,9 +5869,9 @@ a & a & a
\index{extra-left-margin}
\index{extra-right-margin}
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.
+clés \Definition{extra-left-margin} et \Definition{extra-right-margin}. Ces
+marges ne sont pas incorporées dans les «nœuds larges». Dans l'exemple suivant,
+nous avons utilisé |extra-left-margin| et |extra-right-margin| avec la valeur $3$~pt.
\[\begin{pNiceMatrix}%
[create-large-nodes,left-margin,right-margin,extra-right-margin=3pt,extra-left-margin=3pt]
\CodeBefore [create-cell-nodes]
@@ -5853,9 +5977,9 @@ Les nœuds que l'on vient de décrire ne sont pas accessibles par défaut dans l
\index{create-cell-nodes (clé de \texttt{\textbackslash CodeBefore})}
On peut rendre ces nœuds accessibles dans le |\CodeBefore| en utilisant la clé
-|create-cell-nodes| du mot-clé |\CodeBefore| (dans ce cas-là, les nœuds sont
-créés une première fois avant la construction du tableau en utilisant des
-informations écrites dans le fichier |aux| puis recréés lors de la composition
+\Definition{create-cell-nodes} du mot-clé |\CodeBefore| (dans ce cas-là, les
+nœuds sont créés une première fois avant la construction du tableau en utilisant
+des informations écrites dans le fichier |aux| puis recréés lors de la composition
du tableau proprement dit).
\bigskip
@@ -5914,8 +6038,9 @@ simplement |last|.
\smallskip
\colorbox{yellow!50}{\textbf{Modification 6.28}}\enskip Il existe aussi des nœuds nommés
-$i$|.1|, $i$|.2|, ... , $i$|.9| intermédiaires entre le nœud~$i$ et le
-nœud~$i+1$ (avant la version 6.28, seul le nœud $i$|.5| existait).
+$i$|.1|, $i$|.2|, $i$|.25|, $i$|.3|, $i$|.4|, $i$|.5|, $i$|.6|, $i$|.7|,
+$i$|.75|, $i$|.8| et $i$|.9| intermédiaires entre le nœud~$i$ et le
+nœud~$i+1$.
\smallskip
Ces nœuds sont accessibles dans le
@@ -5980,8 +6105,8 @@ horizontal~$i$ et du filet vertical~$j$ avec la syntaxe |(|$i$\verb+-|+$j$|)|.
\end{NiceMatrix}\]
\medskip
-Les nœuds de la forme $i$|.5| peuvent être utilisés par exemple pour barrer une
-ligne (si on a chargé TikZ).
+Les nœuds «décimaux» (comme $i$|.4|) peuvent être utilisés par exemple pour
+barrer une ligne (si on a chargé TikZ).
\smallskip
\begin{Code}[width=11cm]
@@ -5990,7 +6115,7 @@ $\begin{pNiceArray}{ccc|c}
3 & 3 & 1 & 0 \\
3 & 3 & 1 & 0
\CodeAfter
- \tikz \draw [red] (\emph{3.5}-|1) -- (\emph{3.5}-|last) ;
+ \tikz \draw [red] (\emph{3.4}-|1) -- (\emph{3.4}-|last) ;
\end{pNiceArray}$
\end{Code}
$\begin{pNiceArray}{ccc|c}
@@ -5998,7 +6123,7 @@ $\begin{pNiceArray}{ccc|c}
3 & 3 & 1 & 0 \\
3 & 3 & 1 & 0
\CodeAfter
- \tikz \draw [red] (3.5-|1) -- (3.5-|last) ;
+ \tikz \draw [red] (3.4-|1) -- (3.4-|last) ;
\end{pNiceArray}$
@@ -6230,7 +6355,7 @@ a+b & \Cdots & a+b & 1
\medskip
Il est possible de désactiver la parallélisation avec l'option
-|parallelize-diags| mise à |false|: \par\nobreak
+\Definition{parallelize-diags} mise à |false|: \par\nobreak
\medskip
\NiceMatrixOptions{parallelize-diags=false}%
@@ -6251,16 +6376,19 @@ a+b & \Cdots & a+b & 1
\texttt{\textbackslash Iddots})}
On peut choisir l'instruction |\Ddots| qui sera tracée en premier (et qui
servira pour tracer les suivantes quand la parallélisation est activée) avec la
-clé |draw-first| : |\Ddots[draw-first]|\rlap{.}
+clé \Definition{draw-first} : |\Ddots[draw-first]|\rlap{.}
\subsection{Les cases «vides»}
\label{empty-cells}
-Une instruction comme |\Ldots|, |\Cdots|, etc. essaye de déterminer la première
-case non vide de part et d'autre de la case considérée. Quand la clé |corners|
-(cf.~p.~\pageref{corners}) est utilisée, les coins qui sont déterminés sont
-composés de cases vides. Néanmoins, une case «vide» n'est pas nécessairement
-sans contenu dans le codage TeX. Les règles précises sont les suivantes :
+
+L'extension \pkg{nicematrix} utilise en plusieurs occassions le concept de «case
+vide». Par exemple, une instruction comme |\Ldots|, |\Cdots|, etc. essaye de
+déterminer la première case non vide de part et d'autre de la case considérée.
+De même, quand la clé |corners| (cf.~p.~\pageref{corners}) est utilisée, les
+coins qui sont déterminés sont composés de cases vides.
+
+La définition précise de «case vide» est la suivante.
\begin{itemize}
\item Une case implicite est vide. Par exemple, dans la matrice suivante
@@ -6307,23 +6435,24 @@ 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 l'\pkg{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).}}. L'environnement |{matrix}| et ses variantes
-(|{pmatrix}|, |{vmatrix}|, etc.) de \pkg{amsmath} préfèrent supprimer ces
-espaces avec des instructions explicites |\hskip -\arraycolsep|\footnote{Et non
- en insérant |@{}| de part et d'autre du préambule, ce qui fait que la longueur
- des |\hline| n'est pas modifiée et elle peut paraître trop longue, surtout
- avec des crochets.}. L'extension \pkg{nicematrix} fait de même dans
+ la documentation de l'\pkg{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).}}. L'environnement |{matrix}| et ses
+variantes (|{pmatrix}|, |{vmatrix}|, etc.) de \pkg{amsmath} préfèrent supprimer
+ces espaces avec des instructions explicites |\hskip -\arraycolsep|\footnote{Et
+ non en insérant |@{}| de part et d'autre du préambule, ce qui fait que la
+ longueur des |\hline| n'est pas modifiée et elle peut paraître trop longue,
+ surtout avec des crochets.}. L'extension \pkg{nicematrix} fait de même dans
\emph{tous} ses environnements y compris l'environnement |{NiceArray}|.
Néanmoins, si l'utilisateur souhaite que l'environnement |{NiceArray}| se
comporte par défaut comme l'environnement |{array}| de \pkg{array} (par exemple
pour faciliter l'adaptation d'un document existant), il peut contrôler ce
-comportement avec l'option |exterior-arraycolsep| accessible via la commande
-|\NiceMatrixOptions|. Avec cette option, des espaces extérieurs de longueur
-|\arraycolsep| seront insérés dans les environnements |{NiceArray}| (les autres
-environnements de l'extension \pkg{nicematrix} ne sont pas affectés).
+comportement avec l'option \Definition{exterior-arraycolsep} accessible via la
+commande |\NiceMatrixOptions|. Avec cette option, des espaces extérieurs de
+longueur |\arraycolsep| seront insérés dans les environnements |{NiceArray}|
+(les autres environnements de l'extension \pkg{nicematrix} ne sont pas
+affectés).
@@ -6332,11 +6461,19 @@ environnements de l'extension \pkg{nicematrix} ne sont pas affectés).
\index{Incompatibilités}
+
+L'extension \pkg{nicematrix} est incompatible avec certaines classes qui
+redéfinissent les environnements |{tabular}| et |{array}|. C'est en particulier
+le cas de la classe |socg-lipics-v2021|. Néanmoins, dans ce cas-là, il est
+possible de charger la classe avec l'option |notab| qui requiert justement que
+|{tabular}| ne soit pas redéfini.
+
+
\medskip
L'extension \pkg{nicematrix} n'est pas compatible avec la classe \cls{ieeeaccess}
car cette classe n'est pas compatible avec PGF-TikZ. Il existe néanmoins une
parade simple qui consiste à écrire:\footnote{Voir
- \url{https://tex.stackexchange.com/questions/528975/error-loading-tikz-in-ieeeaccess-class}}\par\nobreak
+ \url{https://tex.stackexchange.com/questions/528975}}\par\nobreak
\begin{Code}
\let\TeXyear\year
@@ -7016,7 +7153,8 @@ largeur suivant leur taille.
\index{max-width (sous-clé de «delimiters»)}
\index{delimiters!---/max-width}
Pour résoudre ce problème, on peut demander que les délimiteurs soient composés
-avec leur largeur maximale grâce à la clé booléenne |delimiters/max-width|.
+avec leur largeur maximale grâce à la clé booléenne
+\Definition{delimiters/max-width}.
\medskip
@@ -7157,9 +7295,9 @@ colonnes.
\medskip
\index{vlines-in-sub-matrix}
-En fait, on peut avec la clé |vlines-in-sub-matrix| choisir un spécificateur
-dans le préambule du tableau pour indiquer des filets verticaux qui seront
-tracés dans les |\SubMatrix| uniquement (en espaçant les colonnes).
+En fait, on peut avec la clé \Definition{vlines-in-sub-matrix} choisir un
+spécificateur dans le préambule du tableau pour indiquer des filets verticaux
+qui seront tracés dans les |\SubMatrix| uniquement (en espaçant les colonnes).
\medskip
\begin{Code}
@@ -7620,6 +7758,3 @@ TeXLive sont disponibles sur le serveur \textsc{svn} de TeXLive :
% End:
-
-
-