From adcdf254252f764d8969df03d013bf5da6333873 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sun, 10 May 2020 03:02:26 +0000 Subject: CTAN sync 202005100302 --- .../latex/contrib/nicematrix/nicematrix-french.tex | 423 +++++++++++++-------- 1 file changed, 258 insertions(+), 165 deletions(-) (limited to 'macros/latex/contrib/nicematrix/nicematrix-french.tex') diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex index 27ec881c96..7adcadf738 100644 --- a/macros/latex/contrib/nicematrix/nicematrix-french.tex +++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex @@ -10,8 +10,9 @@ \usepackage{amsmath} \usepackage{array} -\usepackage{colortbl} \usepackage{nicematrix} +% \usepackage{colortbl} + \usepackage{tikz} \usetikzlibrary{fit} @@ -21,7 +22,7 @@ \usepackage{siunitx} -\usepackage{arydshln} +% \usepackage{arydshln} \usepackage{verbatim} % We use \MakeShortVerb of shortvrb and not \DefineShortVerb of fancyvrb @@ -84,9 +85,9 @@ \begin{abstract} L'extension LaTeX \pkg{nicematrix} fournit de nouveaux environnements similaires aux environnements classiques -|{array}| et |{matrix}| mais avec des fonctionnalités supplémentaires. Parmi ces fonctionnalités figurent la -possibilité de fixer la largeur des colonnes et de tracer des traits en pointillés continus entre les cases du -tableau. +|{tabular}|, |{array}| et |{matrix}| mais avec des fonctionnalités supplémentaires. Parmi ces fonctionnalités +figurent la possibilité de fixer la largeur des colonnes et de tracer des traits en pointillés continus entre les +cases du tableau. \end{abstract} \vspace{1cm} @@ -107,9 +108,7 @@ l'instruction habituelle : |\usepackage{nicematrix}|. Cette extension fournit quelques outils supplémentaires pour dessiner des matrices (au sens mathématique). Les principales caractéristiques sont les suivantes : \begin{itemize}\setlength{\itemsep}{0pt} -\item des lignes en pointillés continues\footnote{Si l'option de classe -\texttt{draft} est utilisée, ces lignes en pointillés ne sont pas tracées pour -accélérer la compilation.} ; +\item des lignes en pointillés continues ; \item des rangées et colonnes extérieures pour les labels ; \item un contrôle sur la largeur des colonnes. \end{itemize} @@ -134,9 +133,6 @@ L_n & a_{n1} & a_{n2} & \Cdots & a_{nn} Une commande|\NiceMatrixOptions| est fournie pour régler les options (la portée des options fixées par cette commande est le groupe TeX courant). - - - \bigskip \textbf{Un exemple d'utilisation pour les lignes en pointillés continues} @@ -193,17 +189,17 @@ L'extension \pkg{nicematrix} définit les nouveaux environnements suivants : \begin{ttfamily} \setlength{\tabcolsep}{3mm} \begin{tabular}{llll} -\{NiceMatrix\} & \{NiceArray\} & \{pNiceArray\} \\ -\{pNiceMatrix\} & & \{bNiceArray\} \\ -\{bNiceMatrix\} & & \{BNiceArray\} \\ -\{BNiceMatrix\} & & \{vNiceArray\} \\ -\{vNiceMatrix\} & & \{VNiceArray\} \\ -\{VNiceMatrix\} & & \{NiceArrayWithDelims\} \\ +\{NiceMatrix\} & \{NiceArray\} & \{NiceTabular\} \\ +\{pNiceMatrix\} & \{pNiceArray\} \\ +\{bNiceMatrix\} & \{bNiceArray\} \\ +\{BNiceMatrix\} & \{BNiceArray\} \\ +\{vNiceMatrix\} & \{vNiceArray\} \\ +\{VNiceMatrix\} & \{VNiceArray\} \\ + & \{NiceArrayWithDelims\} \end{tabular} \end{ttfamily} - \medskip Par défaut, les environnements |{NiceMatrix}|, |{pNiceMatrix}|, |{bNiceMatrix}|, |{BNiceMatrix}|, |{vNiceMatrix}| et |{VNiceMatrix}| se comportent quasiment comme les environnements correspondants de \pkg{amsmath} : |{matrix}|, @@ -211,13 +207,13 @@ et |{VNiceMatrix}| se comportent quasiment comme les environnements correspondan \medskip -L'environnement |{NiceArray}| est similaire à l'environnement |{array}| de l'extension |{array}|. Néanmoins, pour -des raisons techniques, dans le préambule de l'environnement |{NiceArray}|, l'utilisateur doit utiliser les lettres -|L|, |C| et~|R| au lieu de |l|, |c| et |r|. Il est possible d'utiliser les constructions |w{...}{...}|, -|W{...}{...}|\footnote{Pour les colonnes de type |w| et |W|, les cases sont composées en mode mathématique (dans - les environnements de \pkg{nicematrix}) alors que dans |{array}| de \pkg{array}, elles sont composées en mode - texte.}, \verb+|+, |>{...}|, |<{...}|, |@{...}|, |!{...}| et |*{n}{...}| mais les lettres |p|, |m| et |b| ne -doivent pas être employées. Voir p.~\pageref{NiceArray} la partie concernant |{NiceArray}|. +Les environnements |{NiceArray}| et |{NiceTabular}| sont similaires aux environnements |{array}| et |{tabular}| de +l'extension |{array}|. Néanmoins, pour des raisons techniques, dans le préambule de ces environnements, +l'utilisateur doit utiliser les lettres |L|, |C| et~|R| au lieu de |l|, |c| et |r|. Il est possible d'utiliser les +constructions |p{...}|, |m{...}|, |b{...}|, |w{...}{...}|, |W{...}{...}|, \verb+|+, |>{...}|, |<{...}|, |@{...}|, +|!{...}| et |*{n}{...}|. + +Voir p.~\pageref{NiceArray} la partie concernant |{NiceArray}| et |{NiceTabular}|. \section{Les lignes en pointillés continues} @@ -358,12 +354,12 @@ Considérons la matrice suivante qui a été composée classiquement avec l'envi \begin{BVerbatim}[baseline=c,boxwidth=10cm] $A = \begin{pmatrix} h & i & j & k & l & m \\ -x & & & & & x \\ +x & & & & & x \end{pmatrix}$ \end{BVerbatim} $A = \begin{pmatrix} h & i & j & k & l & m \\ -x & & & & & x \\ +x & & & & & x \end{pmatrix}$ @@ -375,12 +371,12 @@ modifiée.\par\nobreak \begin{BVerbatim}[baseline=c,boxwidth=10cm] $B = \begin{pmatrix} h & i & j & k & l & m \\ -x & \ldots & \ldots & \ldots & \ldots & x \\ +x & \ldots & \ldots & \ldots & \ldots & x \end{pmatrix}$ \end{BVerbatim} $B = \begin{pmatrix} h & i & j & k & l & m \\ -x & \ldots & \ldots & \ldots & \ldots & x \\ +x & \ldots & \ldots & \ldots & \ldots & x \end{pmatrix}$ \bigskip @@ -391,12 +387,12 @@ géométrie de la matrice n'est pas changée.\par\nobreak \begin{BVerbatim}[baseline=c,boxwidth=10cm] $C = \begin{pNiceMatrix} h & i & j & k & l & m \\ -x & \Ldots & \Ldots & \Ldots & \Ldots & x \\ +x & \Ldots & \Ldots & \Ldots & \Ldots & x \end{pNiceMatrix}$ \end{BVerbatim} $C = \begin{pNiceMatrix} h & i & j & k & l & m \\ -x & \Ldots & \Ldots & \Ldots & \Ldots & x \\ +x & \Ldots & \Ldots & \Ldots & \Ldots & x \end{pNiceMatrix}$ \bigskip @@ -408,12 +404,12 @@ seule instruction |\Ldots| suffit).\par\nobreak \begin{BVerbatim}[baseline=c,boxwidth=10cm] $D = \begin{pNiceMatrix}[~emphase#nullify-dots@] h & i & j & k & l & m \\ -x & \Ldots & & & & x \\ +x & \Ldots & & & & x \end{pNiceMatrix}$ \end{BVerbatim} $D = \begin{pNiceMatrix}[nullify-dots] h & i & j & k & l & m \\ -x & \Ldots & & & & x \\ +x & \Ldots & & & & x \end{pNiceMatrix}$ \medskip @@ -459,7 +455,7 @@ $\begin{pNiceMatrix} 1 & 2 & 3 & 4 & 5 \\ & ~emphase#\Hdotsfor{3}@ \\ 1 & 2 & 3 & 4 & 5 \\ -1 & 2 & 3 & 4 & 5 \\ +1 & 2 & 3 & 4 & 5 \end{pNiceMatrix}$ \end{BVerbatim} $\begin{pNiceMatrix} @@ -469,7 +465,7 @@ $\begin{pNiceMatrix} 1 & 2 & 3 & 4 & 5 \end{pNiceMatrix}$ - +\medskip Remarque : Contrairement à la commande |\hdotsfor| de \pkg{amsmath}, la commande |\Hdotsfor| est utilisable lorsque l'extension \pkg{colortbl} est chargée (mais vous risquez d'avoir des problèmes si vous utilisez |\rowcolor| sur la même rangée que |\Hdotsfor|). @@ -535,13 +531,13 @@ sont composés en mode mathématique avec |\scriptstyle|. $\begin{bNiceMatrix} 1 & \hspace*{1cm} & 0 \\[8mm] & ~emphase#\Ddots^{n \text{ times}}@ & \\ -0 & & 1 \\ +0 & & 1 \end{bNiceMatrix}$ \end{BVerbatim} $\begin{bNiceMatrix} 1 & \hspace*{1cm} & 0 \\[8mm] & \Ddots^{n \text{ times}} & \\ -0 & & 1 \\ +0 & & 1 \end{bNiceMatrix}$ \subsection{Personnalisation des lignes en pointillés} @@ -606,7 +602,7 @@ carrés et non pas ronds.\footnote{La raison de départ est que le format \texts \bigskip Voulant proposer des lignes avec des points ronds dans le style de celui de |\ldots| (au moins celui des fontes \emph{Computer Modern}), l'extension \pkg{nicematrix} contient en interne son propre système de ligne en pointillés -(qui, au passage n'utilise que \pkg{pgf} et non \pkg{tikz}). Ce style est appelé le style |standard|. Cette valeur +(qui, au passage, n'utilise que \pkg{pgf} et non \pkg{tikz}). Ce style est appelé le style |standard|. Cette valeur est la valeur initiale du paramètre |xdots/line-style|. \bigskip @@ -883,45 +879,23 @@ I & 0 & \Cdots &0 \\ \medskip Pour améliorer la lisibilité du code, une syntaxe alternative est proposée : on peut spécifier les instructions du -|code-after| à la fin de l'environnement, après le mot-clé |\CodeAfter|. +|code-after| à la fin de l'environnement, après le mot-clé |\CodeAfter|. Pour un exemple, voir page +\pageref{exemple-CodeAfter}. -\medskip -\begin{BVerbatim}[baseline=c,boxwidth=11cm] -\NiceMatrixOptions{xdots/shorten = 0.6 em} -\begin{pNiceMatrix} -I & 0 & \Cdots &0 \\ -0 & I & \Ddots &\Vdots\\ -\Vdots &\Ddots & I &0 \\ -0 &\Cdots & 0 &I -~emphase#\CodeAfter@ -~emphase#\line{2-2}{3-3}@ -\end{pNiceMatrix} -\end{BVerbatim} -\begin{scope} -\NiceMatrixOptions{xdots/shorten = 0.6 em} -$\begin{pNiceMatrix} -I & 0 & \Cdots &0 \\ -0 & I & \Ddots &\Vdots\\ -\Vdots &\Ddots & I &0 \\ -0 &\Cdots & 0 &I -\CodeAfter -\line{2-2}{3-3} -\end{pNiceMatrix}$ -\end{scope} - - -\section{L'environnement \{NiceArray\} et ses variantes} +\section{Les environnements \{NiceArray\} et \{NiceTabular\}} \label{NiceArray} -L'environnement |{NiceArray}| est similaire à l'environnement |{array}|. Comme pour |{array}|, l'argument -obligatoire est le préambule du tableau. Néanmoins, pour des raisons techniques, l'utilisateur doit utiliser les -lettres |L|, |C| et |R|\footnote{Les types de colonnes |L|, |C| et |R| sont définis localement à l'intérieur de - |{NiceArray}| avec la commande |\newcolumntype| de \pkg{array}. Cette définition masque une éventuelle définition - précédente. En fait, les types de colonnes |w| et |W| sont également redéfinis.} au lieu de |l|, |c| et |r|. +Les environnements |{NiceArray}| et |{NiceTabular}| sont similaires aux environnements |{array}| et |{tabular}|. +L'argument obligatoire est le préambule du tableau. Néanmoins, pour des raisons techniques, l'utilisateur doit +utiliser les lettres |L|, |C| et |R|\footnote{Les types de colonnes |L|, |C| et |R| sont définis localement à + l'intérieur de |{NiceArray}| avec la commande |\newcolumntype| de \pkg{array}. Cette définition masque une + éventuelle définition précédente.} au lieu de |l|, |c| et |r|. Dans une commande |\multicolumn|, on doit +également utiliser les lettres |L|, |C| et |R|. -Il est possible d'utiliser les constructions |w{...}{...}|, |W{...}{...}|, \verb+|+, |>{...}|, |<{...}|, |@{...}|, -|!{...}| et |*{n}{...}| mais les lettres |p|, |m| et |b| ne doivent pas être employées.\footnote{Dans une commande - |\multicolumn|, on doit également utiliser les lettres |L|, |C| et |R|.} +Il est possible d'utiliser les constructions |p{...}|, |m{...}|, |b{...}|, |w{...}{...}|, |W{...}{...}|, \verb+|+, +|>{...}|, |<{...}|, |@{...}|, |!{...}| et |*{n}{...}|. Néanmoins, dans l'environnement |{NiceArray}| (et ses +variantes), le contenu des colonnes de type |w| ou |W| est composé en mode mathématique (dans |{array}| de +\pkg{array}, elles sont composées en mode texte). \bigskip Sans surprise, l'extension \pkg{nicematrix} fournit également les variantes |{pNiceArray}|, |{vNiceArray}|, @@ -980,26 +954,26 @@ $\begin{~emphase#NiceArrayWithDelims@} {\downarrow}{\uparrow}{CCC}[margin] 1 & 2 & 3 \\ 4 & 5 & 6 \\ -7 & 8 & 9 \\ +7 & 8 & 9 \end{~emphase#NiceArrayWithDelims@}$ \end{BVerbatim} $\begin{NiceArrayWithDelims} {\downarrow}{\uparrow}{CCC}[margin] 1 & 2 & 3 \\ 4 & 5 & 6 \\ -7 & 8 & 9 \\ +7 & 8 & 9 \end{NiceArrayWithDelims}$ \bigskip \subsection{Le positionnement vertical des matrices} -L'extension \pkg{nicematrix} propose aussi une option |baseline| par la position verticale des matrices. Cette +L'extension \pkg{nicematrix} propose aussi une option |baseline| pour la position verticale des matrices. 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 l'environnement |{NiceArray}|. +ligne de base pour le tableau. \medskip \begin{BVerbatim}[baseline=c,boxwidth=9cm] -$A = \begin{pNiceMatrix}[baseline=2] +$A = \begin{pNiceMatrix}[~emphase#baseline=2@] \frac{1}{\sqrt{1+p^2}} & p & 1-p \\ 1 & 1 & 1 \\ 1 & p & 1+p @@ -1134,7 +1108,7 @@ colonne |L| pour la dernière. 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 |{NiceArray}| ou |{pNiceArray}|, le nombre de colonnes +\item Dans le cas d'un environnement avec préambule, comme |{NiceTabular}| ou |{pNiceArray}|, le nombre de colonnes se déduit évidemment du préambule. \item Dans le cas où l'option |light-syntax| (cf. p. \pageref{light-syntax}) est utilisée, \pkg{nicematrix} profite @@ -1146,7 +1120,7 @@ l'environnement donne le nombre de rangées (mais pas le nombre de colonnes). et l'écrit dans le fichier |.aux| pour pouvoir l'utiliser à la compilation suivante. \textsl{Néanmoins, il est possible de donner le numéro de la dernière rangée et le numéro de la dernière colonne en -arguments des options |last-row| et |last-col| pour ce qui permettra d'accélérer le processus complet de +arguments des options |last-row| et |last-col|, ce qui permettra d'accélérer le processus complet de compilation.} C'est ce que nous ferons dans la suite. \end{itemize} @@ -1294,36 +1268,7 @@ C_1 & C_2 & C_3 & C_4 \\ \bigskip Il est possible de changer dans \pkg{nicematrix} la lettre utilisée pour indiquer dans le préambule un trait -vertical en pointillés avec l'option |letter-for-dotted-lines| disponible dans |\NiceMatrixOptions|. Par exemple, -dans ce document, nous avons chargé l'extension \pkg{arydshln} qui utilise la lettre «|:|» pour indiquer un trait -vertical en tiretés. Par conséquent, en utilisant l'option |letter-for-dotted-lines|, on peut utiliser les traits -verticaux fournis à la fois par \pkg{arydshln} et par \pkg{nicematrix}. - - -\medskip -\begin{BVerbatim}[baseline=c,boxwidth=9.5cm] -\NiceMatrixOptions{letter-for-dotted-lines = I} -\arrayrulecolor{blue} -\begin{pNiceArray}{~emphase#C|C:CIC@} -1 & 2 & 3 & 4 \\ -5 & 6 & 7 & 8 \\ -9 & 10 & 11 & 12 -\end{pNiceArray} -\arrayrulecolor{black} -\end{BVerbatim} -\begin{scope} -\arrayrulecolor{blue} -\NiceMatrixOptions{letter-for-dotted-lines = I} -$\begin{pNiceArray}{C|C:CIC} -1 & 2 & 3 & 4 \\ -5 & 6 & 7 & 8 \\ -9 & 10 & 11 & 12 -\end{pNiceArray}$ -\arrayrulecolor{black} -\end{scope} - -\smallskip -On a utilisé |\arrayrulecolor| de \pkg{colortbl} pour colorier les trois traits. +vertical en pointillés avec l'option |letter-for-dotted-lines| disponible dans |\NiceMatrixOptions|. \bigskip @@ -1540,6 +1485,175 @@ Pour des raisons techniques, il n'est pas possible d'écrire |\Block{|$i$|-|$j$| (mais on peut écrire |\Block{|$i$|-|$j$|}<>{<}| avec le résultat attendu). +\section{Les couleurs des rangées et des colonnes} + +L'extension \pkg{colortbl} permet de colorier des cellules, des rangées ou des colonnes d'un tableau. Néanmoins, +l'affichage du \textsc{pdf} résultant n'est pas toujours parfait, en particulier quand on utilise également des +filets. Dans certains lecteurs de \textsc{pdf}, des filets verticaux semblent disparaître. De fines lignes +blanches peuvent également apparaître. + +\medskip +La version 4.0 de \pkg{nicematrix} propose des outils similaires qui ne présentent pas ces inconvénients. Elle +propose une option |code-before| pour du code qui sera exécuté \emph{avant} le tracé du tableau. Dans ce +|code-before|, de nouvelles commandes sont disponibles : |\cellcolor|, |\rectanglecolor|, |\rowcolor|, +|\columncolor|, |\rowcolors| et |\chessboardcolors|. + +\medskip +\begin{itemize} +\item La commande |\cellcolor| tient son nom de la commande |\cellcolor| de \pkg{colortbl}. + +Elle prend en arguments une couleur et une liste de cellules sous le format $i$-$j$ où $i$ est le numéro de ligne +et $j$ le numéro de colonne. + +\medskip +\begin{scope} +\hfuzz=10cm +\begin{BVerbatim}[boxwidth=10cm,baseline=c] +\begin{NiceTabular}{|C|C|C|}[code-before = ~emphase#\cellcolor{red!15}{3-1,2-2,1-3}@] +\hline +a & b & c \\ \hline +e & f & g \\ \hline +h & i & j \\ \hline +\end{NiceTabular} +\end{BVerbatim} +\begin{NiceTabular}{|C|C|C|}[code-before = \cellcolor{red!15}{3-1,2-2,1-3}] +\hline +a & b & c \\ \hline +e & f & g \\ \hline +h & i & j \\ \hline +\end{NiceTabular} +\end{scope} + +\bigskip +\item La commande |\rectanglecolor| prend trois arguments. Le premier est la couleur, les deux suivants fournissent +la case en haut à gauche et la case en bas à droite du rectangle. + +\medskip +\begin{scope} +\hfuzz=10cm +\begin{BVerbatim}[boxwidth=10cm,baseline=c] +\begin{NiceTabular}{|C|C|C|}[code-before = ~emphase#\rectanglecolor{red!15}{2-2}{3-3}@] +\hline +a & b & c \\ \hline +e & f & g \\ \hline +h & i & j \\ \hline +\end{NiceTabular} +\end{BVerbatim} +\begin{NiceTabular}{|C|C|C|}[code-before = \rectanglecolor{red!15}{2-2}{3-3}] +\hline +a & b & c \\ \hline +e & f & g \\ \hline +h & i & j \\ \hline +\end{NiceTabular} +\end{scope} + + + +\bigskip +\item La commande |\rowcolor| doit son nom à la commande |\rowcolor| de \pkg{colortbl}. Son premier argument est la +couleur et le deuxième est une liste de numéros de rangées ou bien d'intervalles de rangées sous la forme +$a$-$b$ (un intervalle de la forme $a$- représente toutes les rangées à partir de la rangée~$a$). + +\medskip + +\begin{scope} +\hfuzz=10cm +\begin{BVerbatim}[boxwidth=9cm,baseline=c] +$\begin{NiceArray}{LLL}[hvlines, ~emphase#code-before = \rowcolor{red!15}{1,3-5,8-}@] +a_1 & b_1 & c_1 \\ +a_2 & b_2 & c_2 \\ +a_3 & b_3 & c_3 \\ +a_4 & b_4 & c_4 \\ +a_5 & b_5 & c_5 \\ +a_6 & b_6 & c_6 \\ +a_7 & b_7 & c_7 \\ +a_8 & b_8 & c_8 \\ +a_9 & b_9 & c_9 \\ +a_{10} & b_{10} & c_{10} \\ +\end{NiceArray}$ +\end{BVerbatim} +% +$\begin{NiceArray}{LLL}% +[baseline=4,hvlines, code-before = \rowcolor{red!15}{1,3-5,8-}] +a_1 & b_1 & c_1 \\ +a_2 & b_2 & c_2 \\ +a_3 & b_3 & c_3 \\ +a_4 & b_4 & c_4 \\ +a_5 & b_5 & c_5 \\ +a_6 & b_6 & c_6 \\ +a_7 & b_7 & c_7 \\ +a_8 & b_8 & c_8 \\ +a_9 & b_9 & c_9 \\ +a_{10} & b_{10} & c_{10} \\ +\end{NiceArray}$ +\end{scope} + + +\bigskip +\item La commande |\columncolor| doit son nom à la commande |\columncolor| de \pkg{colortbl}. Sa syntaxe est +similaire à celle de |\rowcolor|. + +\bigskip +\item La commande |\rowcolors| (avec un \emph{s}) doit son nom à la commande |\rowcolors| de \pkg{xcolor}. Le +\emph{s} rappelle qu'il y a deux couleurs. Elle colorie alternativement les rangées avec les deux couleurs à partir +de la rangée dont le numéro est donné en premier argument. + +\medskip + + +\begin{scope} +\hfuzz=10cm +\begin{BVerbatim}[baseline=c,boxwidth=9cm] +\begin{NiceTabular}{LR}% +[~emphase#code-before = \rowcolor{red!15}{1} \rowcolors{3}{blue!10}{}@] +\toprule +Ville & habitants \\ +\midrule +Pau & 80000 \\ +Paris & 2000000 \\ +Toulouse & 700000 \\ +Reims & 40000 \\ +\bottomrule +\end{NiceTabular} +\end{BVerbatim} +\begin{NiceTabular}{LR}[code-before =\rowcolor{red!15}{1} \rowcolors{3}{blue!10}{}] +\toprule +Ville & habitants \\ +\midrule +Pau & 80000 \\ +Paris & 2000000 \\ +Toulouse & 700000 \\ +Reims & 40000 \\ +\bottomrule +\end{NiceTabular} +\end{scope} + +\bigskip +\item La commande |\chessboardcolors| prend en arguments deux couleurs et colorie les cellules en quinconces avec +les deux couleurs. + +\medskip +\begin{scope} +\hfuzz=10cm +\begin{BVerbatim}[baseline=c,boxwidth=9cm] +$\begin{pNiceMatrix}[R,margin, ~emphase#code-before=\chessboardcolors{red!15}{blue!15}@] +1 & -1 & 1 \\ +-1 & 1 & -1 \\ +1 & -1 & 1 +\end{pNiceMatrix}$ +\end{BVerbatim} +$\begin{pNiceMatrix}% +[baseline=1, R, margin, code-before = \chessboardcolors{red!15}{blue!15}] +1 & -1 & 1 \\ +-1 & 1 & -1 \\ +1 & -1 & 1 +\end{pNiceMatrix}$ +\end{scope} + +\end{itemize} + + + \section{Fonctionnalités avancées} \subsection{Option d'alignement dans NiceMatrix} @@ -1581,7 +1695,7 @@ $A = \begin{pNiceMatrix}[first-row,last-col=4] e_1 & e_2 & e_3 \\ 1 & 2 & 3 & e_1 \\ 4 & 5 & 6 & e_2 \\ -7 & 8 & 9 & e_3 \\ +7 & 8 & 9 & e_3 \end{pNiceMatrix}$ \end{BVerbatim} \begin{varwidth}{10cm} @@ -1597,7 +1711,7 @@ e_1 & e_2 & e_3 \\ \end{varwidth} \bigskip -Si la commande |\rotate| est utilisée dans la ``dernière rangée'' (extérieure à la matrice), les éléments qui +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. \bigskip @@ -1609,7 +1723,7 @@ $A = \begin{pNiceMatrix}[last-row,last-col=4] 1 & 2 & 3 & e_1 \\ 4 & 5 & 6 & e_2 \\ 7 & 8 & 9 & e_3 \\ -\text{image de } e_1 & e_2 & e_3 \\ +\text{image de } e_1 & e_2 & e_3 \end{pNiceMatrix}$ \end{BVerbatim} \begin{varwidth}{10cm} @@ -1620,7 +1734,7 @@ $A = \begin{pNiceMatrix}[last-row,last-col=4] 1 & 2 & 3 & e_1 \\ 4 & 5 & 6 & e_2 \\ 7 & 8 & 9 & e_3 \\ -\text{image de } e_1 & e_2 & e_3 \\ +\text{image de } e_1 & e_2 & e_3 \end{pNiceMatrix}$ \end{varwidth} @@ -1641,14 +1755,14 @@ $\begin{bNiceArray}{CCCC|C}[~emphase#small@, 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 \\ +0 & 1 & 1 & 2 & 3 & L_3 \gets L_1 + L_3 \end{bNiceArray}$ \end{Verbatim} % \[\begin{bNiceArray}{CCCC|C}[small, last-col, code-for-last-col = \scriptscriptstyle, columns-width=3mm] 1 & -2 & 3 & 4 & 5 \\ 0 & 3 & 2 & 1 & 2 & L_2 \gets 2 L_1 - L_2 \\ -0 & 1 & 1 & 2 & 3 & L_3 \gets L_1 + L_3 \\ +0 & 1 & 1 & 2 & 3 & L_3 \gets L_1 + L_3 \end{bNiceArray}\] @@ -1710,8 +1824,8 @@ Si des compteurs LaTeX nommés |iRow| ou |jCol| sont créés dans le document pa \bigskip 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 |\pAutoNiceMatrix|, |\bAutoNiceMatrix|, |\vAutoNiceMatrix|, -|\VAutoNiceMatrix| et |\BAutoNiceMatrix|. +motif général. Ces commandes sont nommées |\AutoNiceMatrix|, |\pAutoNiceMatrix|, |\bAutoNiceMatrix|, +|\vAutoNiceMatrix|, |\VAutoNiceMatrix| et |\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 $p$ est le nombre de colonnes et le deuxième est le motif (c'est-à-dire @@ -1740,11 +1854,12 @@ des options |hlines| et |vlines|. \medskip Dans l'exemple suivant, on utilise la commande |\arrayrulecolor| de \pkg{colortbl}. + + \medskip \begin{BVerbatim}[baseline=c,boxwidth=11cm] \arrayrulecolor{blue} -$\begin{NiceArray}{CCCC}% - [~emphase#hvlines@,first-row,first-col] +$\begin{NiceArray}{CCCC}[~emphase#hvlines@,first-row,first-col] & e & a & b & c \\ e & e & a & b & c \\ a & a & e & c & b \\ @@ -1765,8 +1880,9 @@ c & c & b & a & e \arrayrulecolor{black} + \bigskip -Il y a néanmoins une différence entre l'utilisation de l'option |vlines| et du spécificateur ``\verb+|+'' dans le +Il y a néanmoins une différence entre l'utilisation de l'option |vlines| et du spécificateur «\verb+|+» dans le préambule de l'environnement : les filets tracés par |vlines| traversent les double-filets horizontaux tracés par |\hline\hline|. @@ -2031,7 +2147,7 @@ Pour \pkg{nicematrix}, les règles précises sont les suivantes : \begin{Verbatim} \begin{pmatrix} a & b \\ -c \\ +c \end{pmatrix} \end{Verbatim} @@ -2068,11 +2184,6 @@ Avec cette option, des espaces extérieurs de longueur |\arraycolsep| seront ins |{NiceArray}| (les autres environnements de l'extension \pkg{nicematrix} ne sont pas affectés). -\subsection{L'option de classe draft} - -Quand l'option de classe |draft| est utilisée, les lignes en pointillés ne sont pas tracées, pour accélérer la -compilation. - \subsection{Un problème technique avec l'argument de \textbackslash\textbackslash} @@ -2144,8 +2255,8 @@ b & c La version 3.0 de \pkg{nicematrix} a introduit l'environnement |{pNiceArray}| (et ses variantes) avec les options |first-row|, |last-row|, |first-col| et |last-col|. -Par conséquent, les environnements suivants, présents dans les versions précédentes de \pkg{nicematrix} sont devenus -obsolètes : +Par conséquent, les environnements suivants, présents dans les versions précédentes de \pkg{nicematrix} ont été +supprimés. % \begin{itemize} \item |{NiceArrayCwithDelims}| ; @@ -2156,10 +2267,8 @@ obsolètes : |{VNiceArrayRC}|. \end{itemize} -\medskip -Depuis la version 3.12 de \pkg{nicematrix}, on ne peut utiliser ces environnements que si on a chargé l'extension -\pkg{nicematrix} avec l'option |obsolete-environments|. Il faut toutefois avoir conscience que ces environnements -seront certainement supprimés dans une prochaine version de \pkg{nicematrix}. +Le code correspondant est toutefois encore présent à la fin du fichier |nicematrix.sty|, après une +commande |\file_input_stop:|. @@ -2337,7 +2446,7 @@ $\begin{pNiceMatrix}[first-row,first-col] \Vdots[line-style={solid,<->}]_{n \text{ rows}} & 1 & 1 & 1 & & 1 \\ & 1 & 1 & 1 & & 1 \\ - & 1 & 1 & 1 & \Ldots & 1 \\ + & 1 & 1 & 1 & \Ldots & 1 \end{pNiceMatrix}$ \end{Verbatim} @@ -2351,7 +2460,7 @@ $\begin{pNiceMatrix}[first-row,first-col] & 1 & 1 & 1 & & 1 \\ \Vdots[line-style={solid,<->}]_{n \text{ rows}} & 1 & 1 & 1 & & 1 \\ & 1 & 1 & 1 & & 1 \\ - & 1 & 1 & 1 & \Ldots & 1 \\ + & 1 & 1 & 1 & \Ldots & 1 \end{pNiceMatrix}\] \end{scope} @@ -2366,16 +2475,17 @@ voulons la même largeur (automatique) pour toutes les colonnes. \bigskip \begin{BVerbatim} ~emphase#\begin{NiceMatrixBlock}[auto-columns-width]@ -\NiceMatrixOptions{code-for-last-col = \color{blue}\scriptstyle,light-syntax} +\NiceMatrixOptions + { last-col,code-for-last-col = \color{blue}\scriptstyle,light-syntax} \setlength{\extrarowheight}{1mm} -$\begin{pNiceArray}{CCCC:C}[last-col] +$\begin{pNiceArray}{CCCC:C} 1 1 1 1 1 ; 2 4 8 16 9 ; 3 9 27 81 36 ; 4 16 64 256 100 \end{pNiceArray}$ \medskip -$\begin{pNiceArray}{CCCC:C}[last-col] +$\begin{pNiceArray}{CCCC:C} 1 1 1 1 1 ; 0 2 6 14 7 { L_2 \gets -2 L_1 + L_2 } ; 0 6 24 78 33 { L_3 \gets -3 L_1 + L_3 } ; @@ -2389,10 +2499,10 @@ $\begin{pNiceArray}{CCCC:C}[last-col] \begin{multicols}{2} \begin{NiceMatrixBlock}[auto-columns-width] -\NiceMatrixOptions{code-for-last-col = \color{blue}\scriptstyle,light-syntax} +\NiceMatrixOptions{last-col,code-for-last-col = \color{blue}\scriptstyle,light-syntax} \setlength{\extrarowheight}{1mm} -\enskip $\begin{pNiceArray}{CCCC:C}[last-col] +\enskip $\begin{pNiceArray}{CCCC:C} 1 1 1 1 1 ; 2 4 8 16 9 ; 3 9 27 81 36 ; @@ -2401,7 +2511,7 @@ $\begin{pNiceArray}{CCCC:C}[last-col] \medskip -\enskip $\begin{pNiceArray}{CCCC:C}[last-col] +\enskip $\begin{pNiceArray}{CCCC:C} 1 1 1 1 1 ; 0 2 6 14 7 { L_2 \gets -2 L_1 + L_2 } ; 0 6 24 78 33 { L_3 \gets -3 L_1 + L_3 } ; @@ -2410,7 +2520,7 @@ $\begin{pNiceArray}{CCCC:C}[last-col] \medskip -\enskip $\begin{pNiceArray}{CCCC:C}[last-col] +\enskip $\begin{pNiceArray}{CCCC:C} 1 1 1 1 1 ; 0 1 3 7 \frac72 { L_2 \gets \frac12 L_2 } ; 0 3 12 39 \frac{33}2 { L_3 \gets \frac12 L_3 } ; @@ -2419,7 +2529,7 @@ $\begin{pNiceArray}{CCCC:C}[last-col] \medskip -\enskip $\begin{pNiceArray}{CCCC:C}[last-col] +\enskip $\begin{pNiceArray}{CCCC:C} 1 1 1 1 1 ; 0 1 3 7 \frac72 ; 0 0 3 18 6 { L_3 \gets -3 L_2 + L_3 } ; @@ -2428,7 +2538,7 @@ $\begin{pNiceArray}{CCCC:C}[last-col] \medskip -\enskip $\begin{pNiceArray}{CCCC:C}[last-col] +\enskip $\begin{pNiceArray}{CCCC:C} 1 1 1 1 1 ; 0 1 3 7 \frac72 ; 0 0 1 6 2 { L_3 \gets \frac13 L_3 } ; @@ -2437,7 +2547,7 @@ $\begin{pNiceArray}{CCCC:C}[last-col] \medskip -\enskip $\begin{pNiceArray}{CCCC:C}[last-col] +\enskip $\begin{pNiceArray}{CCCC:C} 1 1 1 1 1 ; 0 1 3 7 \frac72 ; 0 0 1 6 2 ; @@ -2471,6 +2581,8 @@ Nous redessinons les nœuds avec de nouveaux nœuds en utilisant la bibliothèqu voulons recréer des nœuds identiques aux premiers, nous devons fixer |inner sep = 0pt| (si on ne fait pas cela, les nouveaux nœuds seront plus grands que les nœuds d'origine créés par \pkg{nicematrix}). +\label{exemple-CodeAfter} + \begin{Verbatim} $\begin{pNiceArray}{>{\strut}CCCC}[create-large-nodes,margin,extra-margin = 2pt] a_{11} & a_{12} & a_{13} & a_{14} \\ @@ -2578,25 +2690,6 @@ pour l'ensemble des cases avec pour nom $i$|-|$j$|-block| où $i$ et $j$ sont le la case en haut à gauche (où a été utilisée la commande |\Block|). Si on a demandé la création des nœuds |medium|, alors un nœud de ce type est aussi créé pour ce bloc avec un nom suffixé par |-medium|. -\medskip -% $\begin{pNiceMatrix}[margin,create-medium-nodes] -% \Block{3-3}<\Large>{A} & & & 0 \\ -% & \hspace*{1cm} & & \Vdots \\ -% & & & 0 \\ -% 0 & \Cdots& 0 & 0 -% \CodeAfter -% \tikz \node [~emphase#highlight = (1-1-block-medium)@] {} ; -% \end{pNiceMatrix}$ -% \end{BVerbatim} -% $\begin{pNiceMatrix}[margin,create-medium-nodes] -% \Block{3-3}<\Large>{A} & & & 0 \\ -% & \hspace*{1cm} & & \Vdots \\ -% & & & 0 \\ -% 0 & \Cdots& 0 & 0 -% \CodeAfter -% \tikz \node [highlight = (1-1-block-medium)] {} ; -% \end{pNiceMatrix}$ - \vspace{1cm} @@ -2775,7 +2868,7 @@ La matrice $A$ a une «première colonne» (pour $L_i$) d'où l'option |first-co & \Vdots & & & & \Vdots \\ ~emphase#L_i@ & a_{i1} & \Cdots & a_{ik} & \Cdots & a_{in} \\ & \Vdots & & & & \Vdots \\ - & a_{n1} & \Cdots & & & a_{nn} \\ + & a_{n1} & \Cdots & & & a_{nn} \end{bNiceArray} & \end{Verbatim} -- cgit v1.2.3