diff options
author | Norbert Preining <norbert@preining.info> | 2023-05-16 03:01:57 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-05-16 03:01:57 +0000 |
commit | 95bdae3d8a40af1f2f82f786dc29d3761fe431f1 (patch) | |
tree | 4cb1b7c64be8c954ee57d5154a0f1dd1b04591b5 /macros/latex/contrib/nicematrix/nicematrix-french.tex | |
parent | 014993dedbe2d05e6d159a257213d1113ccb2183 (diff) |
CTAN sync 202305160301
Diffstat (limited to 'macros/latex/contrib/nicematrix/nicematrix-french.tex')
-rw-r--r-- | macros/latex/contrib/nicematrix/nicematrix-french.tex | 616 |
1 files changed, 511 insertions, 105 deletions
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex index 920c184433..1b5bf2b9df 100644 --- a/macros/latex/contrib/nicematrix/nicematrix-french.tex +++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex @@ -17,6 +17,8 @@ \usepackage{siunitx} \usepackage{verbatim} \usepackage{caption} +\usepackage{tocloft} +\setlength{\cftsubsecnumwidth}{3em} % for the numbers of subsections of the TOC % On utilise \MakeShortVerb de shortvrb et pas \DefineShortVerb de fancyvrb % car on ne veut pas que le contenu des petits éléments en verbatim soit colorié @@ -42,18 +44,6 @@ \usepackage{tcolorbox} \usepackage{adjustbox} \usepackage[auto-lang=false]{lipsum} -\usepackage[hyperfootnotes = false]{hyperref} - -\hypersetup - { - pdfinfo = - { - Title = L’extension nicematrix , - Subject = Une extension LaTeX , - Author = F. Pantigny - } - } - \NewDocumentEnvironment {scope} {} {} {} @@ -67,6 +57,26 @@ \NewDocumentCommand{\Definition}{m} {{\setlength{\fboxsep}{1pt}\colorbox{gray!20}{\ttfamily \vphantom{gl}#1}}} +\usepackage{makeidx} +\makeindex + +\NewDocumentCommand{\indexcommand}{m}{\index{#1@\texttt{\textbackslash #1}}} + +\NewDocumentCommand{\indexenv}{m}{\index{#1@\texttt{\{#1\}}}} + + +\usepackage[hyperfootnotes = false]{hyperref} + +\hypersetup + { + pdfinfo = + { + Title = L’extension nicematrix , + Subject = Une extension LaTeX , + Author = F. Pantigny + } + } + \begin{document} @@ -155,7 +165,7 @@ utiliser pour développer de nouvelles fonctionnalités. Comme toujours avec 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 le nombre de compilations nécessaire.} + automatiquement un nombre de compilations suffisant.} \medskip La plupart des fonctionnalités de \pkg{nicematrix} sont accessibles sans avoir à @@ -163,6 +173,7 @@ utiliser explicitement \textsc{pgf} ou TikZ (ce dernier n'est d'ailleurs pas chargé par défaut). \medskip +\indexcommand{NiceMatrixOptions} 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 : elles sont semi-globales). @@ -172,6 +183,23 @@ semi-globales). \section{Les environnements de cette extension} + +\indexenv{NiceTabular} +\indexenv{NiceTabular*} +\indexenv{NiceArray} +\indexenv{pNiceArray} +\indexenv{bNiceArray} +\indexenv{BNiceArray} +\indexenv{vNiceArray} +\indexenv{VNiceArray} +\indexenv{NiceMatrix} +\indexenv{pNiceMatrix} +\indexenv{bNiceMatrix} +\indexenv{BNiceMatrix} +\indexenv{vNiceMatrix} +\indexenv{VNiceMatrix} + + L'extension \pkg{nicematrix} définit les nouveaux environnements suivants : \medskip @@ -227,6 +255,9 @@ crochets, une liste optionnelle de paires de la forme \textsl{clé=valeur}. \section{L'espace vertical entre les rangées} \label{cell-space} +\index{cell-space-top-limit} +\index{cell-space-bottom-limit} +\index{cell-space-limits} Il est bien connu que certaines rangées des tableaux créés par défaut avec LaTeX sont trop proches l'une de l'autre. On en donne ci-dessous un exemple @@ -248,7 +279,7 @@ $\begin{pmatrix} 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 -|\cellspacetoplimit| et |\cellspacebottomlimit| proposés par \pkg{cellspace}. +|\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. @@ -284,6 +315,8 @@ $\begin{pNiceMatrix} \medskip \section{La clé baseline} +\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 @@ -420,6 +453,8 @@ $A=\begin{pNiceArray}{cc|cc}~emphase#[baseline=line-3]@ \section{Les blocs} \label{Block} +\index{Blocs@\textbf{Blocs dans les tableaux}|(} +\indexcommand{Block} \subsection{Cas général} @@ -499,52 +534,63 @@ $\begin{bNiceArray}{cw{c}{1cm}c|c}[margin] La commande |\Block| accepte en premier argument optionnel (entre crochets) une liste de couples \textsl{clé=valeur}. Les clés sont les suivantes : \begin{itemize} -\item la clé \Definition{fill} prend en argument une couleur et remplit le bloc +\item \index{fill (clé de \texttt{\textbackslash Block})} +la clé \Definition{fill} prend en argument une couleur et remplit le bloc avec cette couleur ; -\item la clé \Definition{draw} prend en argument une couleur et trace le cadre +\item \index{draw (clé de \texttt{\textbackslash Block})} +la clé \Definition{draw} prend en argument une couleur et trace le cadre avec cette couleur (la valeur par défaut de cette clé est la couleur courante des filets du tableau) ; -\item la clé \Definition{color} prend en argument une couleur et l'applique au +\item \index{color!clé de \texttt{\textbackslash Block}} +la clé \Definition{color} prend en argument une couleur et l'applique au contenu et trace également le cadre avec cette couleur ; -\item les clés \Definition{hlines}, \Definition{vlines} et \Definition{hvlines} +\item \index{vlines!clé de \texttt{\textbackslash Block}} \index{hvlines!clé de + \texttt{\textbackslash Block}} \index{hlines!clé de \texttt{\textbackslash Block}} +les clés \Definition{hlines}, \Definition{vlines} et \Definition{hvlines} tracent les filets correspondants dans le bloc\footnote{Néanmoins, les filets ne sont pas tracés dans les sous-blocs du bloc, conformément à l'esprit de \pkg{nicematrix}: les filets ne sont pas tracés dans les blocs (cf. section~\ref{rules} p.~\pageref{rules}).} ; -\item la clé \Definition{line-width} fixe la largeur utilisée pour tracer les +\item \index{line-width (clé de \texttt{\textbackslash Block})} +la clé \Definition{line-width} fixe la largeur utilisée pour tracer les filets (n'a d'intérêt que si |draw|, |hvlines|, |hlines| ou |vlines| est utilisée) ; -\item la clé \Definition{rounded-corners} impose des coins arrondis (pour le +\item \index{rounded-corners!clé de \texttt{\textbackslash Block}} \index{Coins arrondis!pour un bloc} +la clé \Definition{rounded-corners} impose des coins arrondis (pour le cadre dessiné par |draw| et le fond dessiné par |fill|) avec un rayon égal à la valeur de cette clé (la valeur par défaut est 4~pt\footnote{Cette valeur par défaut est la valeur initiale des \emph{rounded corners} de TikZ.}) ; -\item quand la clé \Definition{tikz} est utilisée, le chemin TikZ correspondant +\item \index{tikzz@tikz!clé de \texttt{\textbackslash Block}} +quand la clé \Definition{tikz} est utilisée, le chemin TikZ correspondant au rectangle délimitant le bloc est exécuté avec TikZ\footnote{TikZ doit être chargé préalablement (par défaut, \pkg{nicematrix} ne charge que \textsc{pgf}), faute de quoi, une erreur sera levée.} en utilisant comme options la valeur de cette clé |tikz| (qui doit donc être une liste de clés TikZ applicables à un chemin de TikZ). Pour des exemples d'utilisation de cette clé |tikz|, voir p.~\pageref{tikz-key-examples} ; -\item la clé \Definition{name} donne un nom au nœud TikZ rectangulaire +\item \index{name!clé de \texttt{\textbackslash Block}} +la clé \Definition{name} donne un nom au nœud TikZ rectangulaire correspondant au bloc ; on peut utiliser ce nom avec TikZ dans le |\CodeAfter| (cf.~p.~\pageref{code-after}); -\item la clé \Definition{respect-arraystretch} évite la remise à $1$ de +\item \index{respect-arraystretch (clé de \texttt{\textbackslash Block})} +la clé \Definition{respect-arraystretch} évite la remise à $1$ de |\arraystretch| en début de bloc (qui a lieu par défaut) ; -\item la clé \Definition{borders} permet de ne tracer que certaines des bordures +\item \index{borders (clé de \texttt{\textbackslash Block})} \index{tikzz@tikz!clé de «borders» de \texttt{\textbackslash Block}} +la clé \Definition{borders} permet de ne tracer que certaines des bordures du bloc : cette clé prend comme valeur une liste d'éléments parmi les suivants : |left|, |right|, |top| et |bottom| ; on peut en fait, dans la liste qui est la valeur de la clé |borders| mettre une entrée de la forme |tikz={|\textsl{liste}|}| où \textsl{liste} est une liste de couples \textsl{clé=valeur} de TikZ spécifiant les caractéristiques graphiques des traits qui seront dessinés (pour un exemple, voir p.~\pageref{tiretes}). - -\item \colorbox{yellow!50}{\textbf{Nouveau 6.15}}\par\nobreak Par défaut, les -filets ne sont pas tracés dans les blocs (voir à ce sujet la partie sur les -filets, section~\ref{rules} p.~\pageref{rules}). Néanmoins, si la clé -\Definition{transparent} est utilisée, les filets seront tracés. Pour un +\item \index{transparent (clé de \texttt{\textbackslash Block})} +Par défaut, les filets ne sont pas tracés dans les blocs (voir à ce sujet +la partie sur les filets, section~\ref{rules} p.~\pageref{rules}). Néanmoins, si +la clé \Definition{transparent} est utilisée, les filets seront tracés. Pour un example, voir la section~\ref{tikz-key-examples}, -page~\pageref{tikz-key-examples}. +page~\pageref{tikz-key-examples}. Attention : cette clé n'implique pas du tout +que le contenu du bloc sera transparent. \end{itemize} @@ -818,8 +864,10 @@ Concernant le positionnement vertical, la commande |\Block| admet les clés \texttt{c} est déjà prise pour le positionnement horizontal.}, |t|, |b|, |T| et~|B|. + \begin{itemize} -\item Avec la clé |v-center|, le contenu du bloc est centré verticalement. +\item \index{v-center (clé de \texttt{\textbackslash Block)})} +Avec la clé |v-center|, le contenu du bloc est centré verticalement. \item Avec la clé |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. @@ -934,10 +982,11 @@ text & text \\ \end{scope} - +\index{Blocs@\textbf{Blocs dans les tableaux}|)} \section{Les filets horizontaux et verticaux} \label{rules} +\index{Filets@\textbf{Filets dans les tableaux}|(} Les techniques habituelles pour tracer des filets peuvent être utilisées dans les environnements de \pkg{nicematrix}, à l'exception de |\vline|. Il y a @@ -980,6 +1029,7 @@ cf.~p.~\pageref{exterior}). \medskip +\index{booktabs@\pkg{booktabs} (extension)} 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 @@ -1017,6 +1067,7 @@ Il reste néanmoins possible de définir un spécificateur, nommé par exemple \subsubsection{La commande \textbackslash cline} \label{remark-cline} +\index{cline@\texttt{\textbackslash cline} (commande de LaTeX)} Les traits verticaux et horizontaux que l'on insère avec |\hline| et le spécificateur de colonne «\verb+|+» de \pkg{array} rendent le tableau plus large @@ -1048,6 +1099,7 @@ A&B&C&D \\ \end{scope} \medskip +\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|). @@ -1079,6 +1131,11 @@ Dans les environnements de \pkg{nicematrix}, une instruction \subsection{L'épaisseur et la couleur des filets} +\indexcommand{arrayrulewidth} +\index{Couleur!des filets} +\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 @@ -1089,6 +1146,7 @@ On sait que \pkg{colortbl} propose la commande |\arrayrulecolor| pour spécifier la couleur de ces filets. \smallskip +\indexcommand{arrayrulecolor} 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|. Les environnements de \pkg{nicematrix} @@ -1122,13 +1180,16 @@ muguet & dahlia & souci \\ \medskip \subsection{Les outils de nicematrix pour tracer des filets} + + Les outils proposés par \pkg{nicematrix} pour tracer des filets sont les suivants : \begin{itemize} \item les clés |hlines|, |vlines|, |hvlines| et |hvlines-except-borders|; \item le spécificateur «\verb+|+» dans le préambule (pour les environnements à préambule) ; -\item la commande |\Hline|. +\item \indexcommand{Hline} +la commande |\Hline|. \end{itemize} \medskip @@ -1160,6 +1221,11 @@ de ces clés, voir |custom-line| p.~\pageref{custom-line}. \medskip \subsubsection{Les clés hlines et vlines} +\index{hlines|see{Filets}} +\index{hlines!clé pour un environnement} +\index{vlines|see{Filets}} +\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 @@ -1188,6 +1254,9 @@ $\begin{pNiceMatrix}[vlines,rules/width=0.2pt] \subsubsection{Les clés hvlines et hvlines-except-borders} \label{hvlines} +\index{hvlines|see{Filets}} +\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|. @@ -1228,6 +1297,9 @@ tcolorbox» p.~\pageref{tcolorbox}. \subsubsection{Les coins (vides)} \label{corners} +\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). @@ -1241,6 +1313,7 @@ rectangle entièrement constitué de cases vides partant de ce coin.\footnote{Po une «case vide» est donnée plus loin (cf. p.~\pageref{empty-cells}).} \smallskip +\indexcommand{NotEmpty} On peut néanmoins imposer à une case sans contenu d'être considérée comme non vide par \pkg{nicematrix} avec la commande |\NotEmpty|. @@ -1340,6 +1413,8 @@ dans les coins (cf.~p.~\pageref{color-in-code-before}). \subsection{La commande \textbackslash diagbox} +\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. @@ -1369,6 +1444,11 @@ Cette commande |\diagbox| peut aussi être utilisée dans un |\Block|. \subsection{Commandes pour filets personnalisés} \label{custom-line} +\index{command (clé de «custom-line»)} +\index{ccommand (clé de «custom-line»)} +\index{letter (clé de «custom-line»)} +\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 @@ -1411,6 +1491,9 @@ Il est possible de spécifier des filets multiples, colorés avec une couleur entre les filets (comme on peut le faire avec \pkg{colortbl} par exemple). \begin{itemize} +\index{multiplicity (clé de «custom-line»)} +\index{color!clé de «custom-line»} +\index{sep-color (clé de «custom-line»)} \item la clé |multiplicity| indique le nombre de traits successifs qui seront tracés : par exemple, une valeur de~$2$ va créer des filets doubles comme créés en standard par |\hline\hline| ou bien \verb+||+ dans le préambule d'un @@ -1458,6 +1541,9 @@ Produit C & 5 & 4 & 1 \\ \item \emph{Deuxième possibilité}\par\nobreak +\index{tikzz@tikz!clé de «custom-line»} +\index{total-width (clé de «custom-line»)} + On peut utiliser la clé |tikz| (si TikZ est chargé, \pkg{nicematrix} ne chargeant par défaut que \textsc{pgf}). Dans ce cas-là , le filet est tracé directement avec TikZ en utilisant comme paramètres la valeur de la clé |tikz| @@ -1511,6 +1597,9 @@ sept & huit & neuf \medskip \item \emph{Troisième possibilité} : la clé |dotted|\par\nobreak \label{dotted} +\index{dotted (clé de «custom-line»)} +\indexcommand{hdottedline} +\indexcommand{cdottedline} Comme on le voit dans l'exemple précédent, les pointillés tracés par la clé |dotted| de TikZ ne sont pas ronds. C'est pourquoi l'extension \pkg{nicematrix} @@ -1587,13 +1676,17 @@ $\begin{pNiceArray}{cccc:c} \end{pNiceArray}$ \end{itemize} - - +\index{custom-line|)} +\index{Filets@\textbf{Filets dans les tableaux}|)} \section{Les couleurs des rangées et des colonnes} +\index{Couleur!de fond pour les cases} + \subsection{Utilisation de colortbl} +\index{colortbl@\pkg{colortbl} (extension)} + Rappelons que l'extension \pkg{colortbl} peut être chargée directement par |\usepackage{colortbl}| ou en chargeant l'extension \pkg{xcolor} avec l'option |table| : |\usepackage[table]{xcolor}|. @@ -1637,6 +1730,9 @@ inconvénients. \subsection{Les outils de nicematrix dans le \textbackslash CodeBefore} \label{color-in-code-before} +\index{code-before!clé pour un environnement} +\index{CodeBefore@\texttt{\textbackslash CodeBefore}...\texttt{\textbackslash Body}} +\index{Body@\texttt{\textbackslash Body}|see{\texttt{\textbackslash CodeBefore}}} L'extension \pkg{nicematrix} propose des outils (indépendants de \pkg{colortbl}) pour tracer d'abord les rectangles colorés, puis le contenu des cases et les @@ -1644,8 +1740,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 le nombre de - compilations nécessaire.} + automatiquement un nombre de compilations suffisant.} \medskip L'extension \pkg{nicematrix} fournit une clé |code-before| pour du code qui sera @@ -1666,7 +1761,7 @@ peut placer le contenu de ce |code-before| entre les mots-clés |\CodeBefore| et 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 \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|, @@ -1676,6 +1771,20 @@ De nouvelles commandes sont disponibles dans ce |\CodeBefore|: |\cellcolor|, position des filets éventuels sont également accessibles : cf. p.~\pageref{nodes-i}.} \label{code-before} +\index{cellcolor@\texttt{\textbackslash cellcolor}!commande du + \texttt{\textbackslash CodeBefore}} +\index{rectanglecolor@\texttt{\textbackslash rectanglecolor} (commande du + \texttt{\textbackslash CodeBefore})} +\index{rowcolor@\texttt{\textbackslash rowcolor}!commande du \texttt{\textbackslash CodeBefore}} +\index{columncolor@\texttt{\textbackslash columncolor}!commande du + \texttt{\textbackslash CodeBefore}} +\index{rowcolors@\texttt{\textbackslash rowcolors} (commande du \texttt{\textbackslash CodeBefore})} +\index{rowlistcolor@\texttt{\textbackslash rowlistcolors} (commande du + \texttt{\textbackslash CodeBefore})} +\index{chessboardcolors@\texttt{\textbackslash chessboardcolors}!(commande + du \texttt{\textbackslash CodeBefore})} +\index{arraycolor@\texttt{\textbackslash arraycolor} (commande du \texttt{\textbackslash + CodeBefore)}} \medskip @@ -1695,7 +1804,9 @@ par une virgule) : \begin{itemize} \item le modèle colorimétrique (|RGB|, |rgb|, |HTML|, etc.) comme spécifié par l'extension \pkg{xcolor} ; -\item \colorbox{yellow!50}{\textbf{Nouveau 6.18}} +\item \index{opacity (clé des commandes comme\newline \texttt{\textbackslash + rowcolor}, etc.)} +\colorbox{yellow!50}{\textbf{Nouveau 6.18}} une spécification d'opacité selon la forme \texttt{opacity = \textsl{valeur}}. \end{itemize} @@ -1878,6 +1989,9 @@ La commande |\rowcolors| accepte une liste de couples \textsl{clé=valeur} comme argument optionnel en dernière position (l'argument optionnel en première position correspond à l'espace colorimétrique). Les clés disponibles sont |cols|, |restart| et |respect-blocks|. +\index{cols (clé de \texttt{\textbackslash rowcolors} du \texttt{\textbackslash CodeBefore})} +\index{restart (clé de \texttt{\textbackslash rowcolors} du \texttt{\textbackslash CodeBefore})} +\index{respect-blocks (clé de \texttt{\textbackslash rowcolors} du\newline \texttt{\textbackslash CodeBefore})} \begin{itemize} \item La clé |cols| décrit un ensemble de colonnes sur lesquelles portera l'effet de |\rowcolors|. Cet ensemble de colonnes est une liste d'intervalles de @@ -1888,13 +2002,11 @@ premier argument de |\rowcolors| recommence avec la même couleur.\footnote{Autrement, la couleur d'une rangée ne dépend que de la parité de son numéro absolu.} - \item Avec la clé |respect-blocks|, qui est de type booléen, les «rangées» colorées alternativement peuvent s'étendre sur plusieurs rangées réelles du tableau pour englober les blocs (créés par la commande |\Block| : cf.~p.~\pageref{Block}). \end{itemize} - \medskip \begin{scope} \hfuzz=10cm @@ -1965,11 +2077,6 @@ Henri & 14 \\ \end{NiceTabular} \end{scope} - - - - - \medskip \item L'extension \pkg{nicematrix} propose aussi une commande \Definition{\textbackslash rowlistcolors}. Cette commande généralise la commande |\rowcolors|: au lieu de @@ -2014,6 +2121,9 @@ avec |\resetcolorseries|\footnote{Pour l'initialisation, on a tableau : cf~p.~\pageref{iRow}. Cela permet un ajustement de la gradation des couleurs à la taille du tableau.}). +\index{definecolorseries@\texttt{\textbackslash definecolorseries} (commande de \pkg{xcolor})} +\index{resetcolorseries@\texttt{\textbackslash resetcolorseries} (commande de \pkg{xcolor})} + \smallskip \begin{BVerbatim}[boxwidth=12cm,baseline=c] \begin{NiceTabular}{c} @@ -2055,6 +2165,7 @@ colorient pas les cases qui sont dans les «coins». Dans l'exemple suivant, on utilise la clé |corners| pour demander de considérer le coin \emph{north east} (NE). \medskip +\index{corners (clé d'un environnement)|textit} \begin{scope} \hfuzz=11cm \begin{BVerbatim}[boxwidth=9cm,baseline=c] @@ -2087,14 +2198,13 @@ utilise la clé |corners| pour demander de considérer le coin \emph{north east} \end{NiceTabular} \end{scope} - - -\medskip +\bigskip On remarquera que ces commandes sont compatibles avec les commandes de \pkg{booktabs} (|\toprule|, |\midrule|, |\bottomrule|, etc). Néanmoins, l'extension \pkg{booktabs} n'est \emph{pas} chargée par \pkg{nicematrix}. \medskip +\index{rotate@\texttt{\textbackslash rotate}|textit} \begin{scope} \hfuzz=10cm \begin{BVerbatim}[baseline=c,boxwidth=8.5cm] @@ -2139,6 +2249,8 @@ spécial & 12 & 12 & 0.5 & 70 \\ \end{NiceTabular} \end{scope} +\index{S (les colonnes S de \pkg{siunitx})|textit} + \medskip On a utilisé le type de colonne |S| de \pkg{siunitx}. @@ -2146,6 +2258,11 @@ On a utilisé le type de colonne |S| de \pkg{siunitx}. \subsection{Outils de coloriage avec la syntaxe de colortbl} \label{colortbl-like} +\index{colortbl-like} +\index{cellcolor@\texttt{\textbackslash cellcolor}!commande en tableau} +\index{rowcolor@\texttt{\textbackslash rowcolor}!commande en tableau} +\index{columncolor@\texttt{\textbackslash columncolor}!commande dans le + préambule d'un environnement} 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 @@ -2202,6 +2319,11 @@ Dupont & Chantal & 15 janvier 1998 \\ \section{La commande \textbackslash RowStyle} \label{RowStyle} +\indexcommand{RowStyle} +\index{cell-space-top-limit} +\index{cell-space-bottom-limit} +\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. @@ -2210,20 +2332,25 @@ seront appliquées à chacune des cases restantes sur la rangée en cours. Elle prend aussi en premier argument optionnel, entre crochets, une liste de couples \textsl{clé=valeur}. \begin{itemize} -\item La clé |nb-rows| indique le nombre de rangées consécutives concernées par +\item \index{nb-rows (clé de \texttt{\textbackslash RowStyle})} +La clé |nb-rows| indique le nombre de rangées consécutives concernées par les spécifications de cette commande (une valeur |*| signifie que toutes les rangées restantes seront concernées). \item Les clés |cell-space-top-limit|, |cell-space-bottom-limit| et |cell-space-limits| sont disponibles avec le même effet que les clés globales de même nom (cf. p.~\pageref{cell-space}). -\item La clé |rowcolor| fixe la couleur de fond et la clé |color| fixe la +\item +\index{rowcolor (clé de \texttt{\textbackslash RowStyle})} +\index{color!clé de \texttt{\textbackslash RowStyle}} +La clé |rowcolor| fixe la couleur de fond et la clé |color| fixe la couleur du texte.\footnote{La clé |color| utilise la commande |\color| mais insère aussi une instruction |\leavevmode| devant. Cela évite un espace vertical parasite dans les cases qui correspondent à des colonnes de type |p|, |b|, |m|, |X| et |V| (qui débutent en mode vertical).} -\item La clé |bold| impose des caractères gras aux éléments de la rangée, qu'ils +\item \index{bold (clé de \texttt{\textbackslash RowStyle})} +La clé |bold| impose des caractères gras aux éléments de la rangée, qu'ils soient en mode texte ou bien en mode mathématique. \end{itemize} @@ -2238,6 +2365,7 @@ premier & deuxième & troisième & quatrième \\ I & II & III & IV \end{NiceTabular} \end{BVerbatim} +\index{rotate@\texttt{\textbackslash rotate}|textit} \begin{NiceTabular}{cccc} \hline \RowStyle[cell-space-limits=3pt]{\rotate} @@ -2253,6 +2381,7 @@ La commande |\rotate| est présentée p.~\pageref{rotate}. \section{La largeur des colonnes} \label{width} +\index{Largeur@\textbf{Largeur des colonnes}|(} \subsection{Techniques de base} @@ -2276,6 +2405,7 @@ Rio & Tokyo & Oslo \medskip +\index{columns-width} 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 @@ -2353,6 +2483,8 @@ c & d \medskip +\index{NiceMatrixBlock@\texttt{\{NiceMatrixBlock\}}} +\index{auto-columns-width!(clé de \texttt{\{NiceMatrixBlock\}})} 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 @@ -2390,8 +2522,11 @@ $\begin{array}{c} \subsection{Les colonnes X} - \label{colonne-X} +\index{tabularx@\pkg{tabularx} (extension)} +\index{NiceTabularX@\texttt{\{NiceTabularX\}}} +\index{X (les colonnes X)} +\index{width!clé de \texttt{\{NiceTabular\}}} L'environnement |{NiceTabular}| propose aussi des colonnes |X| similaires à celles proposées par l'environnement |{tabularx}| de l'extension éponyme. @@ -2447,6 +2582,8 @@ Un texte plus court. & Un texte plus court. \subsection{Les colonnes V de varwidth} \label{varwidth} +\index{varwidth@\pkg{varwidth} (extension)} +\index{V (les colonnes V de \pkg{varwidth})} Rappelons d'abord le fonctionnement d'un environnement |{varwidth}| de l'extension éponyme \pkg{varwidth}. Un tel environnement est similaire à @@ -2537,9 +2674,16 @@ Remarquons que l'extension \pkg{varwidth} a quelques problèmes (au moins dans s version 0.92). Par exemple, avec LuaLaTeX, elle ne fonctionne pas si le contenu commence par une instruction |\color|. +\index{Largeur@\textbf{Largeur des colonnes}|)} \medskip \section{Les rangées et colonnes extérieures} + +\index{first-row} +\index{last-row} +\index{first-col} +\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). @@ -2611,9 +2755,11 @@ C'est ce que nous ferons dans la suite. \end{itemize} - - \medskip +\index{code-for-first-row} +\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 @@ -2678,9 +2824,19 @@ p.~\pageref{sub-matrix}). + \section{Les lignes en pointillés continues} \label{Cdots} +\index{Pointillés@\textbf{Pointillés (lignes en ---)}|(} +\index{Lignes en pointillés|see{Pointillés}} +\indexcommand{Ldots} +\indexcommand{Cdots} +\index{Ddots@\texttt{\textbackslash Ddots}|textbf} +\index{Iddots@\texttt{\textbackslash Iddots}|textbf} +\indexcommand{Vdots} +\index{mathdots@\pkg{mathdots} (extension)} +\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|. @@ -2796,6 +2952,7 @@ horizontal.\footnote{Dans \pkg{nicematrix}, il faut utiliser |\hspace*| et non |{NiceArray}| (ou une de ses variantes) avec une colonne de type~|w| ou |W|: cf. p.~\pageref{width}} +\indexcommand{Hspace} 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 @@ -2817,6 +2974,8 @@ $\begin{bNiceMatrix} \subsection{L'option nullify-dots} +\index{nullify-dots} + Considérons la matrice suivante qui a été composée classiquement avec l'environnement |{pmatrix}| de \pkg{amsmath}.\par\nobreak @@ -2891,6 +3050,9 @@ horizontalement mais aussi verticalement. \subsection{Les commandes \textbackslash Hdotsfor et \textbackslash Vdotsfor} +\indexcommand{Hdotsfor} +\indexcommand{Vdotsfor} + 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 @@ -2985,6 +3147,9 @@ C[a_n^{(p)},a_1] & \Cdots & C[a_n^{(p)},a_n] & & C[a_n^{(p)},a_1^{(p)}] & \Cdots \subsection{Comment créer les lignes en pointillés de manière transparente} +\index{renew-matrix} +\index{renew-dots} + Si on a un document déjà tapé qui contient un grand nombre de matrices avec des points de suspension, on peut souhaiter utiliser les lignes pointillées de \pkg{nicematrix} sans avoir à modifier chaque matrice. Pour cela, @@ -3061,8 +3226,15 @@ $\begin{bNiceMatrix} \subsection{Personnalisation des lignes en pointillés} - \label{customization} +\index{color!clé pour les lignes pointillées} +\index{radius (clé pour les lignes pointillées)} +\index{inter (clé pour les lignes pointillées)} +\index{line-style (clé pour les lignes pointillées)} +\index{shorten (clé pour les lignes pointillées)} +\index{shorten-end (clé pour les lignes pointillées)} +\index{shorten-start (clé pour les lignes pointillées)} + Les lignes pointillées tracées par |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots|, |\Hdotsfor| et |\Vdotsfor| (ainsi que par la commande |\line| dans le |\CodeAfter| décrite p.~\pageref{line-in-code-after}) peuvent être paramétrées @@ -3217,8 +3389,12 @@ $\begin{bNiceMatrix}[margin,hvlines] 0 & \Cdots& 0 & 0 \end{bNiceMatrix}$ +\index{Pointillés@\textbf{Pointillés (lignes en ---)}|)} + \section{Délimiteurs dans le préambule de l'environnement} +\index{blkarray@\pkg{blkarray} (extension)} + \colorbox{yellow!50}{\textbf{Modifié 6.16}}\enskip Pour les environnements à préambule (|{NiceArray}|, |{pNiceArray}|, etc.), il est possible de placer des délimiteurs verticaux directement dans le préambule.\footnote{Cette syntaxe est @@ -3226,6 +3402,10 @@ délimiteurs verticaux directement dans le préambule.\footnote{Cette syntaxe es \label{delimiters-in-preamble}% \smallskip +\index{left@\texttt{\textbackslash left} : utilisé par \pkg{nicematrix}\newline pour des + délimiteurs\newline dans les préambules} +\index{right@\texttt{\textbackslash right} : utilisé par \pkg{nicematrix}\newline pour des + délimiteurs\newline dans les préambules} Les délimiteurs ouvrants doivent être précédés du mot-clé |\left| et les délimiteurs fermants du mot-clé |\right|. Les mots-clés |\left| et |\right| n'ont pas d'obligation à être utilisés par paires. @@ -3293,12 +3473,16 @@ p.~\pageref{sub-matrix}. \section{Le \textbackslash CodeAfter} +\index{CodeAfter@\texttt{\textbackslash CodeAfter}|(} +\index{code-after} + \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. \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 @@ -3322,6 +3506,7 @@ ces commandes. \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 : @@ -3389,6 +3574,9 @@ autres lignes diagonales (par défaut, les lignes tracées par |\Ddots| sont CodeAfter (et le \textbackslash CodeBefore)} \label{sub-matrix} +\index{SubMatrix@\texttt{\textbackslash SubMatrix} (commande du +\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 @@ -3496,25 +3684,36 @@ $\begin{bNiceMatrix}[right-margin=1em] Les clés disponibles pour la commande |\SubMatrix| sont les suivantes : % \begin{itemize} -\item \Definition{left-xshift} et \Definition{right-xshift} déplacent +\item +\index{left-xshift (clé de \texttt{\textbackslash SubMatrix})} +\index{right-xshift (clé de \texttt{\textbackslash SubMatrix})} +\index{xshift (clé de \texttt{\textbackslash SubMatrix})} +\Definition{left-xshift} et \Definition{right-xshift} déplacent horizontalement les délimiteurs (il existe aussi la clé \Definition{xshift} qui permet de régler simultanément ces deux clés) ; -\item \Definition{extra-height} ajoute une quantité à la hauteur totale des +\item \index{extra-height (clé de \texttt{\textbackslash SubMatrix})} +\Definition{extra-height} ajoute une quantité à la hauteur totale des délimiteurs (hauteur~|\ht| + profondeur |\dp|) ; -\item \Definition{delimiters/color} permet de fixer la couleur des délimiteurs (cette clé +\item \index{delimiters!---/color pour \texttt{\textbackslash SubMatrix}} +\Definition{delimiters/color} permet de fixer la couleur des délimiteurs (cette clé est également disponible dans |\NiceMatrixOptions| et au niveau des environnements à délimiteurs ou comme option de |\CodeAfter|) ; -\item \Definition{slim} qui est une clé booléenne : lorsqu'elle est utilisée la position +\item \index{slim (clé de \texttt{\textbackslash SubMatrix})} +\Definition{slim} qui est une clé booléenne : lorsqu'elle est utilisée la position horizontale des délimiteurs est calculée uniquement sur le contenu des cases de la sous-matrice alors, que, dans le cas général, elle est calculée sur le contenu des cases des colonnes mises en jeu (voir exemple ci-dessous) ; -\item \Definition{vlines} contient une liste de numéros de filets verticaux à tracer dans +\item \index{vlines!clé de \texttt{\textbackslash SubMatrix}} +\Definition{vlines} contient une liste de numéros de filets verticaux à tracer dans la sous-matrice (si cette clé est utilisée sans valeur, tous les filets verticaux sont tracés) ; -\item \Definition{hlines} est similaire à |vlines| mais pour les filets horizontaux ; -\item \Definition{hvlines}, qui s'utilise sans valeur, trace tous les filets dans la +\item \index{hlines!clé de \texttt{\textbackslash SubMatrix}} +\Definition{hlines} est similaire à |vlines| mais pour les filets horizontaux ; +\item \index{hvlines!clé de \texttt{\textbackslash SubMatrix}} +\Definition{hvlines}, qui s'utilise sans valeur, trace tous les filets dans la sous-matrice ; -\item \Definition{code} permet d'insérer du code, en particulier du code TikZ, après la +\item \index{code (clé de \texttt{\textbackslash SubMatrix})} +\Definition{code} permet d'insérer du code, en particulier du code TikZ, après la construction de la matrice. Cette clé est décrite en détail plus loin. \end{itemize} On remarquera que tous les filets sont dessinés après la construction du tableau @@ -3633,13 +3832,13 @@ Part A & the first part \\ \vspace{1cm} -\colorbox{yellow!50}{\textbf{Nouveau 6.16}}\enskip 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 |i-j| et \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 autorisée.} +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 |i-j| et \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.} \medskip \begin{scope} @@ -3683,6 +3882,14 @@ Comme on le voit, le tracé effectué par la commande |\MyDraw| est \emph{relati \subsection{Les commandes \textbackslash OverBrace et \textbackslash UnderBrace dans le \textbackslash CodeAfter} +\index{UncerBrace@\texttt{\textbackslash UnderBrace} (commande du +\texttt{\textbackslash CodeAfter}\newline et du +\texttt{\textbackslash CodeBefore})} +\index{OverBrace@\texttt{\textbackslash OverBrace} (commande du +\texttt{\textbackslash CodeAfter}\newline et du +\texttt{\textbackslash CodeBefore})} + + Les commandes |\OverBrace| and |\UnderBrace| permettent de placer des accolades horizontales sur une partie du tableau. Ces commandes prennent trois arguments : \begin{itemize} @@ -3716,6 +3923,18 @@ $\begin{pNiceMatrix} \end{pNiceMatrix}$ \bigskip +Attention : Aucun espace vertical n'est réservé par \pkg{nicematrix} pour ces +accolades.\footnote{Voir à ce sujet: \url{https://tex.stackexchange.com/questions/685755}} + +\bigskip +\index{color!clé de \texttt{\textbackslash OverBrace} et \texttt{\textbackslash + UnderBrace}} +\index{yshift (clé de \texttt{\textbackslash OverBrace} et \texttt{\textbackslash + UnderBrace})} +\index{left-shorten (clé de \texttt{\textbackslash OverBrace} et\newline \texttt{\textbackslash + UnderBrace})} +\index{right-shorten (clé de \texttt{\textbackslash OverBrace} et\newline \texttt{\textbackslash + UnderBrace})} 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 : @@ -3751,6 +3970,7 @@ $\begin{pNiceMatrix} \OverBrace[shorten,yshift=3pt]{1-4}{2-6}{B} \end{pNiceMatrix}$ +\index{CodeAfter@\texttt{\textbackslash CodeAfter}|)} \section{Les légendes et les notes dans les tableaux} @@ -3758,6 +3978,15 @@ $\begin{pNiceMatrix} \subsection{La légendes des tableaux} +\label{s:caption} + +\index{caption (clé de \texttt{\{NiceTabular\}})} +\index{short-caption} +\index{label (clé de \texttt{\{NiceTabular\}})} +\index{caption-above} +\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}|). @@ -3766,8 +3995,9 @@ L'environnement |{NiceTabular}| propose des clés |caption|, |short-caption| et L'intérêt d'utiliser cette clé |caption| plutôt que la commande classique |\caption| est que la légende, si elle est longue, est justifiée à la largeur du tableau (hors éventuelles colonnes extérieures spécifiées par |first-col| et -|last-col|). Il n'y a pas besoin d'avoir recours à l'extension -\pkg{threeparttable} ou l'extension \pkg{floatrow}. +|last-col| : cf.~\ref{exterior}, p.~\pageref{exterior}). Il n'y a pas besoin +d'avoir recours à l'extension \pkg{threeparttable} ou l'extension +\pkg{floatrow}. \smallskip Par défaut, la légende est placée au-dessous du tableau. Pour avoir la légende @@ -3779,11 +4009,19 @@ La clé |short-caption| correspond à l'argument optionnel de la commande classique |\caption| et la clé |label| correspond bien sûr à la commande |\label|. \smallskip -Voir table \ref{t:tabularnote}, p.~\pageref{t:tabularnote} un exemple +Voir table \ref{t:tabularnote}, p.~\pageref{t:tabularnote}, un exemple d'utilisation des clés |caption| et |label|. +\smallskip +Ces fonctionnalités sont compatibles avec l'extension \pkg{caption}. + \subsection{Les notes de pied de page} +\index{footnote@\pkg{footnote} (extension)} +\index{footnote (clé)} +\index{footnotehyper@\pkg{footnotehyper} (extension)} +\index{footnotehyper (clé)} + \smallskip L'extension \pkg{nicematrix} permet, en utilisant \pkg{footnote} ou bien \pkg{footnotehyper}, d'extraire les notes insérées avec |\footnote| dans un @@ -3812,16 +4050,21 @@ l'extension \pkg{xcolor} et elle n'est pas parfaitement compatible avec \subsection{Les notes de tableaux} +\index{nota@\textbf{Notes dans les tableaux}|(} + \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|). Sans surprise, cette -commande n'est disponible que dans |{NiceTabular}|, |{NiceTabular*}| and -|{NiceTabularX}|. +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})} 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}. @@ -3883,9 +4126,13 @@ colonne). \item Si la clé |notes/para| est utilisée, les notes sont composées à la fin du tableau en un seul paragraphe. -\item Il existe une clé |tabularnote| qui permet d'insérer du texte dans la zone +\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. +\index{tabularnote@\texttt{\{TabularNote\}}} +\index{notes (clé pour paramétrer les notes de\newline tableau)} + Une syntaxe alternative est proposée : il est possible d'utiliser l'environnement |{TabularNote}| à la fin de l'environnement |{NiceTabular}| (mais \emph{avant} l'éventuel |\CodeAfter|). @@ -3903,6 +4150,12 @@ sont marqués). Il est possible de désactiver cette fonctionnalité avec la clà \item Il est possible de référencer une note de tableau (avec la commande |\label| placée après le |\tabularnote|). + +\item \colorbox{yellow!50}{\textbf{Nouveau 6.19}} La commande |\tabularnote| +admet un argument optionnel (entre crochets) qui permet de changer le symbole de +l'appel de note. + +\emph{Exemple} : |\tabularnote[$\star$]{Une note...}|. \end{itemize} % Voir sur la table \ref{t:tabularnote}, p.~\pageref{t:tabularnote}, certaines de ces @@ -3917,8 +4170,8 @@ remarques illustrées. Cette table a été composée avec le code suivant \NiceMatrixOptions{caption-above} \begin{NiceTabular}{@{}llc@{}}% [ - caption = Un tableau dont la légende a été rentrée avec la clé \texttt{caption} - ~emphase#\tabularnote{On peut mettre une note dans la légende.}! , + caption = Un tableau dont la légende a été rentrée avec la clé \texttt{caption}% + ~emphase#\tabularnote[$\star$]{On peut mettre une note dans la légende.}! , label = t:tabularnote , tabularnote = Un peu de texte avant les notes. , notes/bottomrule @@ -3944,8 +4197,8 @@ Wallis & John & 87 \\ \NiceMatrixOptions{caption-above} \begin{NiceTabular}{@{}llc@{}}% [ - caption = Un tableau dont la légende a été rentrée avec la clé \texttt{caption} - \tabularnote{On peut mettre une note dans la légende.} , + caption = Un tableau dont la légende a été rentrée avec la clé \texttt{caption}% + \tabularnote[$\star$]{On peut mettre une note dans la légende.} , label = t:tabularnote, tabularnote = Un peu de texte avant les notes. , notes/bottomrule @@ -3967,9 +4220,18 @@ Wallis & John & 87 \\ - \subsection{Personnalisation des notes de tableau} +\index{para (sous-clé de «notes»)} +\index{bottomrule (sous-clé de «notes»)} +\index{style (sous-clé de «notes»)} +\index{label-in-tabular (sous-clé de «notes»)} +\index{label-in-list (sous-clé de «notes»)} +\index{enumitem-keys (sous-clé de «notes»)} +\index{enumitem-keys-para (sous-clé de «notes»)} +\index{code-before!sous-clé de «notes»} +\index{detect-duplicates (sous-clé de «notes»)} + Les notes de tableau peuvent être personnalisées grâce à un ensemble de clés disponibles dans |\NiceMatrixOptions|. Ces clés ont un nom préfixé par |notes| : @@ -3984,7 +4246,7 @@ disponibles dans |\NiceMatrixOptions|. Ces clés ont un nom préfixé par |notes \item |notes/code-before| \item |notes/detect-duplicates| \end{itemize} -Pour la commmodité, il est aussi possible de fixer ces clés dans +Pour la commodité, il est aussi possible de fixer ces clés dans |\NiceMatrixOptions| via une clé |notes| qui prend en argument une liste de paires \textsl{clé=valeur} où le nom des clés n'a plus à être préfixé par |notes|: @@ -4121,6 +4383,7 @@ commandes |\tabularnote| avec le même argument. Valeur initiale : |true| \end{itemize} +\index{nota@\textbf{Notes dans les tableaux}|)} \medskip @@ -4129,6 +4392,7 @@ Pour un exemple de personnalisation des notes de tableau, voir p.~\pageref{ex:no \subsection{Utilisation de \{NiceTabular\} avec threeparttable} +\index{threeparttable@\pkg{threeparttable} (extension)} Si vous souhaitez utiliser les environnements |{NiceTabular}|, |{NiceTabular*}| ou |{NiceTabularX}| dans un environnement |{threeparttable}| de l'extension @@ -4141,8 +4405,9 @@ suivant (avec une version de LaTeX postérieure à 2020/10/01). \makeatother \end{Verbatim} -Néanmoins, les fonctionnalités proposées par \pkg{nicematrix} rendent peu -utile l'utilisation de \pkg{threeparttable} en conjonction avec \pkg{nicematrix}. +Néanmoins, les fonctionnalités proposées par \pkg{nicematrix} rendent peu utile +l'utilisation de \pkg{threeparttable} en conjonction avec \pkg{nicematrix} (voir +la clé |caption| à la partie \ref{s:caption}, p.~\pageref{s:caption}). \section{Autres fonctionnalités} @@ -4150,6 +4415,8 @@ utile l'utilisation de \pkg{threeparttable} en conjonction avec \pkg{nicematrix} \subsection{La clé rounded-corners de \{NiceTabular\}} \label{tabular-rounded-corners} +\index{rounded-corners!clé de \texttt{\{NiceTabular\}}} +\index{Coins arrondis!pour un tableau} \colorbox{yellow!50}{\textbf{Nouveau 6.18}}\par\nobreak @@ -4198,6 +4465,9 @@ avec des coins arrondis. \subsection{Commande \textbackslash ShowCellNames} +\index{ShowCellNames@\texttt{\textbackslash ShowCellNames} (commande du +\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 @@ -4225,6 +4495,10 @@ semi-transparent pour estomper le tableau (attention : certains lecteurs de \subsection{Utilisation du type de colonne S de siunitx} + +\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 aucune macro privée de \pkg{siunitx}. @@ -4256,6 +4530,7 @@ charge par \pkg{nicematrix}. \subsection{Type de colonne par défaut dans \{NiceMatrix\}} \label{columns-type} +\index{columns-type (clé de \texttt{\{NiceMatrix\}}, etc.)} Les environnements sans préambule (|{NiceMatrix}|, |{pNiceMatrix}|, etc.) ainsi que la commande |\pAutoNiceMatrix| et ses variantes, acceptent la clé @@ -4285,6 +4560,7 @@ de la préfixer par |matrix|, ce qui fait que son nom devient |matrix/columns-ty \subsection{La commande \textbackslash rotate} \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. @@ -4318,6 +4594,12 @@ e_1 & e_2 & e_3 \\ \end{varwidth} \medskip +\index{first-row|textit} +\index{last-row|textit} +\index{code-for-first-row|textit} +\index{code-for-last-row|textit} +\index{last-col|textit} +\index{code-for-last-col|textit} Si la commande |\rotate| est utilisée dans la «dernière rangée» (extérieure à la matrice), les éléments qui subissent cette rotation sont alignés vers le haut. @@ -4349,6 +4631,9 @@ $A = \begin{pNiceMatrix}[last-row,last-col=4] \subsection{L'option small} \label{small} +\index{small (clé pour un environnement)} +\index{smallmatrix@\texttt{\{smallmatrix\}} (envionnement 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}| @@ -4401,6 +4686,8 @@ partie \ref{delimiters-in-preamble}, p.~\pageref{delimiters-in-preamble}). \subsection{Les compteurs iRow et jCol} \label{iRow} +\index{iRow (compteur LaTeX)} +\index{jCol (compteur LaTeX)} Dans les cases du tableau, il est possible d'utiliser les compteurs LaTeX |iRow| et |jCol| qui représentent le numéro de la rangée courante et le numéro de la @@ -4444,6 +4731,12 @@ final), ces compteurs sont masqués dans les environnements de \pkg{nicematrix}. \medskip +\indexcommand{AutoNiceMatrix} +\indexcommand{pAutoNiceMatrix} +\indexcommand{bAutoNiceMatrix} +\indexcommand{vAutoNiceMatrix} +\indexcommand{VAutoNiceMatrix} +\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|, @@ -4460,16 +4753,12 @@ simplement des tokens qui seront insérés dans chaque case de la matrice). $C = ~emphase#\pAutoNiceMatrix@{3-3}{C_{\arabic{iRow},\arabic{jCol}}}$ \end{Verbatim} - - - \[C = \pAutoNiceMatrix{3-3}{C_{\arabic{iRow},\arabic{jCol}}}\] - - \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 @@ -4498,6 +4787,7 @@ b \cos a+\cos b { 2 \cos b } \end{bNiceMatrix}$ \medskip +\index{end-of-row (à utiliser avec light-syntax)} On peut changer le caractère utilisé pour indiquer les fins de rangées avec l'option |end-of-row|. Comme dit précédemment, la valeur initiale de ce paramètre est un point-virgule. @@ -4514,6 +4804,10 @@ dans les cases du tableau.\footnote{La raison en est que lorsque l'option |light \subsection{Couleur des délimiteurs} +\index{delimiters!---/color pour un environnement} +\index{color!pour les délimiteurs de matrices} +\index{Couleur!des délimiteurs de matrices} + Pour les environnements avec délimiteurs (|{pNiceArray}|, |{pNiceMatrix}|, etc.), il est possible de changer la couleur des délimiteurs avec la clé |delimiters/color|. @@ -4532,13 +4826,16 @@ $\begin{bNiceMatrix}[delimiters/color=red] \medskip Cette couleur s'applique aussi aux délimiteurs tracés par |\SubMatrix| -(cf.~p.~\pageref{sub-matrix}). +(cf.~p.~\pageref{sub-matrix}) et aux délimiteurs spécifiés directement dans le +préambule des environnements à préambule (cf.~p.~\pageref{delimiters-in-preamble}). \subsection{L'environnement \{NiceArrayWithDelims\}} \label{NiceArrayWithDelims} +\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 @@ -4566,6 +4863,8 @@ $\begin{NiceArrayWithDelims} \subsection{La commande \textbackslash OnlyMainNiceMatrix} +\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 n'est pas dans les rangées extérieures. Si elle est utilisée hors d'un environnement de \pkg{nicematrix}, @@ -4577,7 +4876,8 @@ Pour un exemple d'utilisation, voir \url{tex.stackexchange.com/questions/488566} \section{Utilisation de TikZ avec nicematrix} \label{name}\label{PGF-nodes} - +\index{tikza@TikZ (utilisation avec \pkg{nicematrix})} +\index{noeud@\textbf{Nœuds PGF/Tikz}|(} \subsection{Les nœuds correspondant aux contenus des cases} @@ -4609,11 +4909,13 @@ Si l'environnement concerné a le numéro $n$, alors le nœud de la rangée~$i$ 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). \smallskip +\index{name!clé pour un environnement} Il est néanmoins recommandé de passer plutôt par la clé |name|. 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 @@ -4723,6 +5025,8 @@ p.~\pageref{triangular}. \subsubsection{La clé pgf-node-code} +\index{pgf-node-code} + \colorbox{yellow!50}{\textbf{Nouveau 6.17}}\enskip \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 @@ -4734,6 +5038,9 @@ contenir au moins une instruction comme |\pgfusepath|, |\pgfusepathqstroke|, \subsubsection{Les colonnes V de varwidth} \label{node-V} +\index{V (les colonnes V de \pkg{varwidth})} +\index{varwidth@\pkg{varwidth} (extension)} + Quand l'extension \pkg{varwidth} est chargée, les colonnes de type |V| définies par \pkg{varwidth} sont prises en charge par \pkg{nicematrix}. Il peut être intéressant de préciser que, pour une case située dans une colonne de type @@ -4770,6 +5077,9 @@ peu plus loin, p.~\pageref{nodes-i}. \subsection{Les «nœuds moyens» et les «nœuds larges»} +\index{create-medium-nodes} +\index{create-large-nodes} +\index{create-extra-nodes} 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» @@ -4840,6 +5150,8 @@ a & a & a \medskip +\index{left-margin} +\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 @@ -4872,6 +5184,8 @@ a & a & a \end{pNiceMatrix}\] \medskip +\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é @@ -4978,6 +5292,8 @@ noix & noisette & brugnon Les nœuds que l'on vient de décrire ne sont pas accessibles par défaut dans le |\CodeBefore| (décrit p.~\pageref{code-before}). \par\nobreak + +\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 @@ -5124,13 +5440,19 @@ $\begin{pNiceArray}{ccc|c} \end{pNiceArray}$ -\subsection{Les nœuds correspondants aux commandes \textbackslash SubMatrix} +\subsection{Les nœuds correspondant aux commandes \textbackslash SubMatrix} \label{node-sub-matrix} La commande |\SubMatrix| disponible dans le |\CodeAfter| a été présentée p.~\pageref{sub-matrix}. +\index{SubMatrix@\texttt{\textbackslash SubMatrix} (commande du +\texttt{\textbackslash CodeAfter}\newline et du +\texttt{\textbackslash CodeBefore})} +\index{name!clé de \texttt{\textbackslash SubMatrix}} + + \smallskip Si une commande |\SubMatrix| est utilisée avec la clé |name| sous la forme |name=|\textsl{\ttfamily MonNom}, trois nœuds PGF-TikZ sont créés avec les noms @@ -5162,9 +5484,14 @@ a été créée avec |\SubMatrix\{{2-2}{3-3}\}|). \end{tikzpicture} \end{pNiceMatrix}\] +\index{noeud@\textbf{Nœuds PGF/Tikz}|)} + \section{API pour les développeurs} +\indexcommand{g\_nicematrix\_code\_before\_tl} +\indexcommand{g\_nicematrix\_code\_after\_tl} + L'extension \pkg{nicematrix} fournit deux variables internes mais publiques\footnote{Conformément aux conventions de LaTeX3, toute variable dont le nom commence par |\g_nicematrix| ou |\l_nicematrix| est publique alors que toute variable dont le nom débute par |\g__nicematrix| ou @@ -5187,9 +5514,6 @@ On remarquera que l'utilisation de |\g_nicematrix_code_before_tl| nécessite une compilation supplémentaire (car les instructions sont écrites dans le fichier |aux| pour être utilisées à la compilation suivante). - - - \medskip \emph{Exemple} : On souhaite écrire une commande |\crossbox| qui barre en croix la case courante. Cette commande prendra en argument optionnel une liste de @@ -5201,6 +5525,8 @@ On peut alors programmer cette commande |\crossbox| de la manière suivante, qui utilise explicitement la variable publique |\g_nicematrix_code_before_tl|. +\index{crossbox@\texttt{\textbackslash crossbox} (définie dans un exemple)|textit} + \begin{scope} \fvset{commandchars=\§\¤\μ} \begin{Verbatim} @@ -5283,6 +5609,9 @@ l'extension \pkg{underscore}. Si elle est chargée après, une erreur sera levé \subsection{Lignes diagonales} \label{parallelization} +\index{parallelize-diags} +\index{Ddots@\texttt{\textbackslash Ddots}} +\index{Iddots@\texttt{\textbackslash Iddots}} 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 @@ -5295,8 +5624,6 @@ tableau peut avoir un effet marqué sur le résultat final. \medskip Dans les exemples suivants, la première instruction |\Ddots| est marquée en couleur : - - \medskip \begin{scope} \begin{minipage}{9.5cm} @@ -5355,6 +5682,8 @@ a+b & \Cdots & a+b & 1 \end{scope} \medskip +\index{draw-first (clé de \texttt{\textbackslash Ddots} et + \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{.} @@ -5407,6 +5736,8 @@ lignes en pointillés par \pkg{nicematrix}. \subsection{L'option exterior-arraycolsep} +\index{exterior-arraycolsep} + 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 @@ -5434,6 +5765,7 @@ environnements de l'extension \pkg{nicematrix} ne sont pas affectés). \subsection{Incompatibilités} +\index{Incompatibilités} \medskip L'extension \pkg{nicematrix} n'est pas compatible avec la classe \cls{ieeeaccess} @@ -5483,6 +5815,8 @@ on utiliser la colonne |S| de \pkg{siunitx}). \subsection{Utilisation de la clé «tikz» de la commande \textbackslash Block} +\index{tikzz@tikz!clé de \texttt{\textbackslash Block}|textit} + \label{tikz-key-examples} La clé |tikz| de la commande |\Block| n'est disponible que lorsque TikZ est @@ -5529,10 +5863,17 @@ Pour l'exemple suivant, la bibliothèque \pkg{patterns} de TikZ doit aussi être \bigskip + Dans l'exemple suivant, on utilise la clé |tikz| pour hachurer une ligne du tableau. On remarquera que l'on utilise la clé |transparent| de la commande -|\Block| pour que les filets soient tracés dans le bloc.\footnote{Par défaut, les filets ne sont pas tracés dans les blocs créés avec la commande -\texttt{\textbackslash Block} : cf.~section~\ref{rules} p.~\pageref{rules}} +|\Block| pour que les filets soient tracés dans le bloc.\footnote{Par défaut, + les filets ne sont pas tracés dans les blocs créés avec la commande + \texttt{\textbackslash Block} : cf.~section~\ref{rules} p.~\pageref{rules}} + +\index{transparent (clé de \texttt{\textbackslash Block})|textit} +\index{columncolor@\texttt{\textbackslash columncolor}!commande du + \texttt{\textbackslash CodeBefore}|textit} + \begin{Verbatim} \begin{NiceTabular}{ccc}[hvlines] @@ -5560,6 +5901,7 @@ sept & huit & neuf \subsection{Utilisation avec tcolorbox} \label{tcolorbox} +\index{tcolorbox@\pkg{tcolorbox} (extension)|textit} Voici un exemple d'utilisation de |{NiceTabular}| dans une commande |\tcbox| de \pkg{tcolorbox}. On a utilisé la clé |hvlines-except-borders| pour faire afficher @@ -5602,6 +5944,11 @@ tous les filets sauf ceux sur les bords (qui sont, bien entendu, ajoutés par } \end{BVerbatim} + +\index{hvlines-except-borders|textit} +\index{rules (clé pour un environnement)|textit} +\index{rowcolor@\texttt{\textbackslash rowcolor}!commande du \texttt{\textbackslash CodeBefore}|textit} + \medskip \begin{center} \tcbset @@ -5643,6 +5990,13 @@ tous les filets sauf ceux sur les bords (qui sont, bien entendu, ajoutés par \subsection{Notes dans les tableaux} +\index{nota@\textbf{Notes dans les tableaux}|textit} +\index{tabularnote@\texttt{\textbackslash tabularnote}|textit} +\index{notes (clé pour paramétrer les notes de\newline tableau)|textit} +\index{style (sous-clé de «notes»)|textit} +\index{enumitem-keys (sous-clé de «notes»)|textit} +\index{enumitem@\pkg{enumitem} (extension requise pour utiliser\newline \texttt{\textbackslash tabularnote})|textit} + \label{ex:notes} Les outils de \pkg{nicematrix} pour les notes dans les tableaux ont été @@ -5744,6 +6098,9 @@ Dupont & Chantal & 15 janvier 1998 \\ \subsection{Lignes en pointillés} +\index{Pointillés@\textbf{Pointillés (lignes en ---)}|textit} + + Un exemple pour le résultant de deux polynômes : \par\nobreak \medskip @@ -5760,6 +6117,9 @@ a_p & &&a_0 & & &b_1 \\ \end{vNiceArray} \end{BVerbatim} + +\index{Ddots@\texttt{\textbackslash Ddots}|textit} + \medskip \begin{scope} @@ -5778,6 +6138,9 @@ a_p & &&a_0 & & &b_1 \\ \vspace{2cm} Un exemple avec un système linéaire: +\index{last-col|textit} +\index{code-for-last-col|textit} + \begin{Verbatim} $\begin{pNiceArray}{*6c|c}[nullify-dots,last-col,code-for-last-col=\scriptstyle] 1 & 1 & 1 &\Cdots & & 1 & 0 & \\ @@ -5808,8 +6171,7 @@ L'option |line-style| permet de changer le style des lignes tracées par |\Ldots|, |\Cdots|, etc. On peut de ce fait tracer des lignes qui ne sont plus pointillées. - - +\index{line-style (clé pour les lignes pointillées)|textit} \begin{Verbatim}[formatcom=\small\color{gray}] \NiceMatrixOptions{code-for-first-row = \scriptstyle,code-for-first-col = \scriptstyle } @@ -5832,6 +6194,8 @@ pointillées. \end{pNiceMatrix}\] \end{Verbatim} +\index{code-for-first-row|textit} +\index{code-for-last-col|textit} \begin{scope} \NiceMatrixOptions{code-for-first-row = \scriptstyle,code-for-first-col = \scriptstyle } @@ -5893,6 +6257,8 @@ $\begin{pNiceMatrix}[first-row,first-col] \label{tiretes} +\index{tikzz@tikz!clé de «borders» de \texttt{\textbackslash Block}|textit} + Dans l'exemple suivant, on utilise des commandes |\Block| pour tracer des filets en tiretés. Cet exemple nécessite que TikZ soit chargé (par |\usepackage{tikz}|). @@ -5937,6 +6303,8 @@ Pour avoir les colonnes alignées les unes sous les autres, on peut imposer une largeur commune à toutes les colonnes, ce que l'on fait dans l'exemple suivant avec l'environnement |{NiceMatrixBlock}| et l'option |auto-columns-width|. +\index{NiceMatrixBlock@\texttt{\{NiceMatrixBlock\}}|textit} + \begin{Verbatim}[formatcom=\small\color{gray}] ~emphase#\begin{NiceMatrixBlock}[auto-columns-width]@ \NiceMatrixOptions @@ -5978,6 +6346,7 @@ $\begin{pNiceArray}{rrrr|r} \end{Verbatim} \medskip +\index{auto-columns-width!(clé de \texttt{\{NiceMatrixBlock\}})|textit} \begin{NiceMatrixBlock}[auto-columns-width] \NiceMatrixOptions { @@ -6021,6 +6390,8 @@ précédentes. C'est que les parenthèses, en LaTeX, n'ont pas toutes la même largeur suivant leur taille. \medskip +\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|. @@ -6093,6 +6464,9 @@ et placer les parenthèses avec des commandes |\SubMatrix| dans le |\CodeAfter|. Bien sûr, ce tableau ne pourra pas être coupé par un saut de page. \medskip +\index{SubMatrix@\texttt{\textbackslash SubMatrix} (commande du +\texttt{\textbackslash CodeAfter}\newline et du +\texttt{\textbackslash CodeBefore})|textit} \begin{Verbatim} \setlength{\extrarowheight}{1mm} \[\begin{NiceMatrix}% @@ -6150,6 +6524,7 @@ composition du tableau et les traits verticaux sont donc tracés sans espacer le 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). @@ -6224,6 +6599,7 @@ tracés dans les |\SubMatrix| uniquement (en espaçant les colonnes). \subsection{Comment surligner les cases d'une matrice} \label{highlight} +\index{draw (clé de \texttt{\textbackslash Block})|textit} \medskip Pour mettre en évidence une case d'une matrice, il est possible de «dessiner» @@ -6263,6 +6639,9 @@ Il est possible de colorier une rangée avec |\rowcolor| dans le |\CodeBefore| |colortbl-like| − même si \pkg{colortbl} n'est pas chargé). +\index{colortbl-like|textit} +\index{rowcolor@\texttt{\textbackslash rowcolor}!commande en tableau|textit} + \begin{Verbatim} \begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,colortbl-like] ~emphase#\rowcolor{red!15}@A_{11} & A_{12} & A_{13} & A_{14} \\ @@ -6311,6 +6690,7 @@ faut utiliser la clé |create-cell-nodes| du |\CodeBefore| pour demander leur cr fit=#1}} \medskip +\index{highlight (style TikZ défini dans\newline un exemple)|textit} \begin{Verbatim} \tikzset{highlight/.style={rectangle, fill=red!15, @@ -6328,6 +6708,9 @@ $\begin{bNiceMatrix} \end{bNiceMatrix}$ \end{Verbatim} +\index{create-cell-nodes (clé de \texttt{\textbackslash CodeBefore})|textit} +\index{CodeBefore@\texttt{\textbackslash CodeBefore}...\texttt{\textbackslash Body}|textit} + \[\begin{bNiceMatrix} \CodeBefore [create-cell-nodes] \tikz \node [highlight = (2-1) (2-3)] {} ; @@ -6376,6 +6759,9 @@ a & a & a & L_3 Le résultat peut paraître décevant. On peut l'améliorer en utilisant les «nœuds moyens» au lieu des «nœuds normaux». +\index{create-medium-nodes|textit} +\index{create-cell-nodes (clé de \texttt{\textbackslash CodeBefore})|textit} + \begin{Verbatim} \[\begin{pNiceArray}{ccc}[last-col, margin = 2pt, create-medium-nodes] \CodeBefore [create-cell-nodes] @@ -6409,6 +6795,13 @@ a & a & a & L_3 \subsection{Utilisation de \textbackslash SubMatrix dans le \textbackslash CodeBefore} +\index{SubMatrix@\texttt{\textbackslash SubMatrix} (commande du +\texttt{\textbackslash CodeAfter}\newline et du +\texttt{\textbackslash CodeBefore})|textit} +\index{CodeBefore@\texttt{\textbackslash CodeBefore}...\texttt{\textbackslash Body}|textit} +\index{CodeAfter@\texttt{\textbackslash CodeAfter}|textit} +\index{create-cell-nodes (clé de \texttt{\textbackslash CodeBefore})|textit} + \label{submatrix-in-codebefore} @@ -6493,6 +6886,11 @@ de parenthèses ont été rajoutées avec |\SubMatrix| dans le |\CodeBefore|. \subsection{Un tableau triangulaire} \label{triangular} +\index{pgf-node-code|textit} +\index{Coins (les --- vides)|textit} +\index{chessboardcolors@\texttt{\textbackslash chessboardcolors}!(commande + du \texttt{\textbackslash CodeBefore})|textit} +\index{CodeBefore@\texttt{\textbackslash CodeBefore}...\texttt{\textbackslash Body}|textit} Dans l'exemple suivant, on utilise le style PGF/Tikz |nicematrix/cell-node| pour faire tourner le contenu des cases (rotation que l'on compense ensuite en faisant @@ -6549,13 +6947,21 @@ qui doit donc être chargée préalablement). \end{NiceTabular}} \end{center} +\cleardoublepage +\phantomsection +\addcontentsline{toc}{section}{Index} + +\printindex \section*{Autre documentation} Le document |nicematrix.pdf| (fourni avec l'extension \pkg{nicematrix}) contient -une traduction anglaise de la documentation ici présente, ainsi que le code -source commenté et un historique des versions. +une traduction anglaise de la documentation ici présente ainsi qu'un historique +des versions. + +Le document |nicematrix-code.pdf| (fourni également avec l'extension \pkg{nicematrix} +contient le code LaTeX commenté (à partir du fichier |nicematrix-code.dtx|). \medskip Les versions successives du fichier |nicematrix.sty| fournies par |