summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/nicematrix/nicematrix-french.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/nicematrix/nicematrix-french.tex')
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex621
1 files changed, 333 insertions, 288 deletions
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex
index 2d157cce4f..27ec881c96 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -469,10 +469,6 @@ $\begin{pNiceMatrix}
1 & 2 & 3 & 4 & 5
\end{pNiceMatrix}$
-\bigskip
-La commande |\hdotsfor| de \pkg{amsmath} prend un argument optionnel (entre crochets) qui est utilisé pour un
-réglage fin de l'espace entre deux points consécutifs. Par homogénéité, |\Hdotsfor| prend aussi un argument
-optionnel mais cet argument est écarté silencieusement.
Remarque : Contrairement à la commande |\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
@@ -528,11 +524,31 @@ $\begin{pmatrix}
\end{scope}
+\subsection{Les labels des lignes en pointillés}
+
+Les commandes |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots| et |\Hdotsfor| (ainsi que la commande |\line| dans
+le |code-after| décrite p.~\pageref{line-in-code-after}) peuvent en fait prendre deux arguments optionnels
+spécifiés par les caractères |_| et |^| pour des labels situés au-dessous et au-dessus de la ligne. Les arguments
+sont composés en mode mathématique avec |\scriptstyle|.
+
+\begin{BVerbatim}[baseline=c,boxwidth=10cm]
+$\begin{bNiceMatrix}
+1 & \hspace*{1cm} & 0 \\[8mm]
+ & ~emphase#\Ddots^{n \text{ times}}@ & \\
+0 & & 1 \\
+\end{bNiceMatrix}$
+\end{BVerbatim}
+$\begin{bNiceMatrix}
+1 & \hspace*{1cm} & 0 \\[8mm]
+ & \Ddots^{n \text{ times}} & \\
+0 & & 1 \\
+\end{bNiceMatrix}$
+
\subsection{Personnalisation des lignes en pointillés}
\label{customization}
-Les lignes pointillées tracées par |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Idots| et |\Hdotsfor| (ainsi que par la
+Les lignes pointillées tracées par |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots| et |\Hdotsfor| (ainsi que par la
commande |\line| dans le |code-after| décrite p.~\pageref{line-in-code-after}) peuvent être
paramétrées par trois options (que l'on met entre crochets après la commande) :
%
@@ -542,7 +558,7 @@ paramétrées par trois options (que l'on met entre crochets après la commande)
\item |line-style|.
\end{itemize}
-Ces options peuvent aussi être fixées avec |\NiceMatrixOption| ou bien au niveau d'un environnement mais elles
+Ces options peuvent aussi être fixées avec |\NiceMatrixOptions| ou bien au niveau d'un environnement mais elles
doivent alors être préfixées par |xdots|, ce qui fait que leurs noms deviennent :
%
\begin{itemize}
@@ -659,24 +675,29 @@ Ne pas oublier les options |remember picture| et |overlay|.
\bigskip
Dans l'exemple suivant, nous avons surligné toutes les cases de la matrice.
-\[\begin{pNiceMatrix}[
- code-after = {\begin{tikzpicture}
- [every node/.style = {blend mode = multiply,
- inner sep = 0 pt ,
- fill = red!15}]
- \node [fit = (1-1)] {} ;
- \node [fit = (1-3)] {} ;
- \node [fit = (2-2)] {} ;
- \node [fit = (3-1)] {} ;
- \node [fit = (3-3)] {} ;
- \node [fit = (1-2)] {} ;
- \node [fit = (2-1)] {} ;
- \node [fit = (2-3)] {} ;
- \node [fit = (3-2)] {} ;
- \end{tikzpicture}}]
+\[\begin{pNiceMatrix}
a & a + b & a + b + c \\
a & a & a + b \\
a & a & a
+\CodeAfter
+\begin{tikzpicture}[
+ every node/.style =
+ {
+ blend mode = multiply,
+ inner sep = 0 pt ,
+ fill = red!15
+ }
+ ]
+\node [fit = (1-1)] {} ;
+\node [fit = (1-3)] {} ;
+\node [fit = (2-2)] {} ;
+\node [fit = (3-1)] {} ;
+\node [fit = (3-3)] {} ;
+\node [fit = (1-2)] {} ;
+\node [fit = (2-1)] {} ;
+\node [fit = (2-3)] {} ;
+\node [fit = (3-2)] {} ;
+\end{tikzpicture}
\end{pNiceMatrix}\]
@@ -836,24 +857,60 @@ avec des instructions Tikz classiques. Les nœuds devront être désignés sous
correspondant au nom de l'environnement).
De plus, une commande spéciale, nommée |\line| est disponible pour tracer directement des lignes en pointillés
-entre les nœuds).
+entre les nœuds). Elle peut par exemple être utilisée pour tracer une ligne entre deux cases adjacentes comme dans
+l'exemple suivant.
\label{line-in-code-after}
\medskip
-\begin{BVerbatim}[baseline=c,boxwidth=13cm]
-$\begin{pNiceMatrix}[~emphase#code-after = {\line{1-1}{3-3}[color=blue]}@]
-0 & 0 & 0 \\
-0 & & 0 \\
-0 & 0 & 0
+\begin{BVerbatim}[baseline=c,boxwidth=11cm]
+\NiceMatrixOptions{xdots/shorten = 0.6 em}
+\begin{pNiceMatrix}[~emphase#code-after=\line{2-2}{3-3}@]
+I & 0 & \Cdots &0 \\
+0 & I & \Ddots &\Vdots\\
+\Vdots &\Ddots & I &0 \\
+0 &\Cdots & 0 &I
+\end{pNiceMatrix}
+\end{BVerbatim}
+\begin{scope}
+\NiceMatrixOptions{xdots/shorten = 0.6 em}
+$\begin{pNiceMatrix}[code-after=\line{2-2}{3-3}]
+I & 0 & \Cdots &0 \\
+0 & I & \Ddots &\Vdots\\
+\Vdots &\Ddots & I &0 \\
+0 &\Cdots & 0 &I
\end{pNiceMatrix}$
+\end{scope}
+
+\medskip
+Pour améliorer la lisibilité du code, une syntaxe alternative est proposée : on peut spécifier les instructions du
+|code-after| à la fin de l'environnement, après le mot-clé |\CodeAfter|.
+
+\medskip
+\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{pNiceMatrix}[code-after = {\line{1-1}{3-3}[color=blue]}]
-0 & 0 & 0 \\
-0 & & 0 \\
-0 & 0 & 0
+\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\}}
+\section{L'environnement \{NiceArray\} et ses variantes}
\label{NiceArray}
L'environnement |{NiceArray}| est similaire à l'environnement |{array}|. Comme pour |{array}|, l'argument
@@ -866,38 +923,102 @@ Il est possible d'utiliser les constructions |w{...}{...}|, |W{...}{...}|, \verb
|!{...}| et |*{n}{...}| mais les lettres |p|, |m| et |b| ne doivent pas être employées.\footnote{Dans une commande
|\multicolumn|, on doit également utiliser les lettres |L|, |C| et |R|.}
-\medskip
-En plus des options proposées pour |{pNiceMatrix}| et ses variantes, l'environnement |{NiceArray}| propose une
-option |baseline| qui prend en argument un entier qui indique le numéro de rangée dont la ligne de base servira de
-ligne de base pour l'environnement |{NiceArray}|.
+\bigskip
+Sans surprise, l'extension \pkg{nicematrix} fournit également les variantes |{pNiceArray}|, |{vNiceArray}|,
+|{VNiceArray}|, |{bNiceArray}| et |{BNiceArray}|.
+
+\interitem
+L'un des intérêts de |{pNiceArray}| par rapport à |{pNiceMatrix}| est la possibilité de tracer des filets verticaux
+:
+
+\bigskip
+\begin{BVerbatim}[baseline=c,boxwidth=10cm]
+$\left[\begin{NiceArray}{CCCC|C}
+a_1 & ? & \Cdots & ? & ? \\
+0 & & \Ddots & \Vdots & \Vdots\\
+\Vdots & \Ddots & \Ddots & ? \\
+0 & \Cdots & 0 & a_n & ?
+\end{NiceArray}\right]$
+\end{BVerbatim}
+$\left[\begin{NiceArray}{CCCC|C}
+a_1 & ? & \Cdots & ? & ? \\
+0 & & \Ddots & \Vdots & \Vdots\\
+\Vdots & \Ddots & \Ddots & ? \\
+0 & \Cdots & 0 & a_n & ?
+\end{NiceArray}\right]$
+
+\interitem
+Un autre intérêt est la possibilité d'utiliser plusieurs types d'alignement de colonnes.
+
+\bigskip
+\begin{BVerbatim}[baseline=c,boxwidth=10cm]
+$\begin{pNiceArray}{LCR}
+a_{11} & \Cdots & a_{1n} \\
+a_{21} & & a_{2n} \\
+\Vdots & & \Vdots \\
+a_{n-1,1} & \Cdots & a_{n-1,n}
+\end{pNiceArray}$
+\end{BVerbatim}
+$\begin{pNiceArray}{LCR}
+a_{11} & \Cdots & a_{1n} \\
+a_{21} & & a_{2n} \\
+\Vdots & & \Vdots \\
+a_{n-1,1} & \Cdots & a_{n-1,n}
+\end{pNiceArray}$
+
+
+
+\interitem
+En fait, l'environnement |{pNiceArray}| et ses variantes sont fondés sur un environnement plus général, appelé
+|{NiceArrayWithDelims}|. Les deux premiers arguments obligatoires de cet environnement sont les délimiteurs gauche
+et droit qui seront utilisés dans la construction de la matrice. Il est possible d'utiliser |{NiceArrayWithDelims}|
+si on a besoin de délimiteurs atypiques ou asymétriques.
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=11cm]
-$A =
-\begin{NiceArray}{CCCC}[hvlines,~emphase#baseline=2@]
-1 & 2 & 3 & 4 \\
-1 & 2 & 3 & 4 \\
-1 & 2 & 3 & 4 \\
-\end{NiceArray}$
+$\begin{~emphase#NiceArrayWithDelims@}
+ {\downarrow}{\uparrow}{CCC}[margin]
+1 & 2 & 3 \\
+4 & 5 & 6 \\
+7 & 8 & 9 \\
+\end{~emphase#NiceArrayWithDelims@}$
\end{BVerbatim}
-%
-$A =
-\begin{NiceArray}{CCCC}[hvlines,baseline=2]
-1 & 2 & 3 & 4 \\
-1 & 2 & 3 & 4 \\
-1 & 2 & 3 & 4 \\
-\end{NiceArray}$
+$\begin{NiceArrayWithDelims}
+ {\downarrow}{\uparrow}{CCC}[margin]
+1 & 2 & 3 \\
+4 & 5 & 6 \\
+7 & 8 & 9 \\
+\end{NiceArrayWithDelims}$
-\smallskip
-L'option |hvlines| utilisée dans cet exemple est présentée plus loin (cf. p. \pageref{hvlines}).
+\bigskip
+\subsection{Le positionnement vertical des matrices}
+
+L'extension \pkg{nicematrix} propose aussi une option |baseline| par 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}|.
\medskip
+\begin{BVerbatim}[baseline=c,boxwidth=9cm]
+$A = \begin{pNiceMatrix}[baseline=2]
+\frac{1}{\sqrt{1+p^2}} & p & 1-p \\
+1 & 1 & 1 \\
+1 & p & 1+p
+\end{pNiceMatrix}$
+\end{BVerbatim}
+$A = \begin{pNiceMatrix}[baseline=2]
+\frac{1}{\sqrt{1+p^2}} & p & 1-p \\
+1 & 1 & 1 \\
+1 & p & 1+p
+\end{pNiceMatrix}$
+
+
+\interitem
L'option |baseline| peut aussi prendre les trois valeurs spéciales |t|, |c| et |b|. Ces trois lettres peuvent aussi
être utilisées de manière absolue comme pour l'option de l'environnement |{array}| de \pkg{array}. La valeur
initiale de |baseline| est~|c|.
-\medskip
+\bigskip
Dans l'exemple suivant, on utilise l'option |t| (synonyme de |baseline=t|) immédiatement après un |\item| de liste.
On remarquera que la présence d'un |\hline| initial n'empêche pas l'alignement sur la ligne de base de la première
rangée (avec |{array}| de {array}, il faut utiliser |\firsthline|\footnote{On peut aussi utiliser |\firsthline|
@@ -933,7 +1054,7 @@ u_n & 1 & 2 & 4 & 8 & 16 & 32 \\
\end{minipage}
-\medskip
+\bigskip
Il est également possible d'utiliser les outils de \pkg{booktabs}: |\toprule|,
|\bottomrule| et |\midrule|.\par\nobreak
@@ -970,76 +1091,6 @@ u_n & 1 & 2 & 4 & 8 & 16 & 32 \\
-\vspace{1cm}
-L'utilisation de |{NiceArray}| permet de tracer des filets verticaux :\par\nobreak
-
-\bigskip
-\begin{BVerbatim}[baseline=c,boxwidth=10cm]
-$\left[\begin{NiceArray}{CCCC|C}
-a_1 & ? & \Cdots & ? & ? \\
-0 & & \Ddots & \Vdots & \Vdots\\
-\Vdots & \Ddots & \Ddots & ? \\
-0 & \Cdots & 0 & a_n & ?
-\end{NiceArray}\right]$
-\end{BVerbatim}
-$\left[\begin{NiceArray}{CCCC|C}
-a_1 & ? & \Cdots & ? & ? \\
-0 & & \Ddots & \Vdots & \Vdots\\
-\Vdots & \Ddots & \Ddots & ? \\
-0 & \Cdots & 0 & a_n & ?
-\end{NiceArray}\right]$
-
-\vspace{1cm}
-Il existe également des variantes pour l'environnement |{NiceArray}| : |{pNiceArray}|, |{bNiceArray}|,
-|{BNiceArray}|, |{vNiceArray}| et |{VNiceArray}|. La clé |baseline| n'est \emph{pas} disponible pour ces
-environnements.
-
-
-Dans l'exemple suivant, on utilise un environnement |{pNiceArray}| (on n'utilise pas |{pNiceMatrix}| car on
-souhaite utiliser les types de colonne |L| et |R| --- avec |{pNiceMatrix}|, toutes les colonnes sont de type |C|).
-
-
-\bigskip
-\begin{BVerbatim}[baseline=c,boxwidth=10cm]
-$\begin{pNiceArray}{LCR}
-a_{11} & \Cdots & a_{1n} \\
-a_{21} & & a_{2n} \\
-\Vdots & & \Vdots \\
-a_{n-1,1} & \Cdots & a_{n-1,n}
-\end{pNiceArray}$
-\end{BVerbatim}
-$\begin{pNiceArray}{LCR}
-a_{11} & \Cdots & a_{1n} \\
-a_{21} & & a_{2n} \\
-\Vdots & & \Vdots \\
-a_{n-1,1} & \Cdots & a_{n-1,n}
-\end{pNiceArray}$
-
-
-\bigskip
-\bigskip
-En fait, l'environnement |{pNiceArray}| et ses variantes sont fondés sur un environnement plus général, appelé
-|{NiceArrayWithDelims}|. Les deux premiers arguments obligatoires de cet environnement sont les délimiteurs gauche
-et droit qui seront utilisés dans la construction de la matrice. Il est possible d'utiliser |{NiceArrayWithDelims}|
-si on a besoin de délimiteurs atypiques ou asymétriques.
-
-\medskip
-\begin{BVerbatim}[baseline=c,boxwidth=11cm]
-$\begin{~emphase#NiceArrayWithDelims@}
- {\downarrow}{\uparrow}{CCC}[margin]
-1 & 2 & 3 \\
-4 & 5 & 6 \\
-7 & 8 & 9 \\
-\end{~emphase#NiceArrayWithDelims@}$
-\end{BVerbatim}
-$\begin{NiceArrayWithDelims}
- {\downarrow}{\uparrow}{CCC}[margin]
-1 & 2 & 3 \\
-4 & 5 & 6 \\
-7 & 8 & 9 \\
-\end{NiceArrayWithDelims}$
-
-
\bigskip
\section{Les rangées et colonnes extérieures}
@@ -1431,7 +1482,7 @@ Dans les exemples qui suivent, on utilise la commande |\arrayrulecolor| de \pkg{
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
-\arrayrulecolor{cyan}
+\arrayrulecolor{blue}
$\begin{bNiceArray}{CCC|C}[margin]
~emphase#\Block{3-3}{A}@ & & & 0 \\
& \hspace*{1cm} & & \Vdots \\
@@ -1442,7 +1493,7 @@ $\begin{bNiceArray}{CCC|C}[margin]
\arrayrulecolor{black}
\end{BVerbatim}
\begin{scope}
-\arrayrulecolor{cyan}
+\arrayrulecolor{blue}
$\begin{bNiceArray}{CCC|C}[margin]
\Block{3-3}{A} & & & 0 \\
& \hspace*{1cm} & & \Vdots \\
@@ -1461,7 +1512,7 @@ pourquoi une option à mettre entre chevrons est proposée par |\Block| pour spÃ
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
-\arrayrulecolor{cyan}
+\arrayrulecolor{blue}
$\begin{bNiceArray}{CCC|C}[margin]
\Block{3-3}~emphase#<\Large>@{A} & & & 0 \\
& \hspace*{1cm} & & \Vdots \\
@@ -1472,7 +1523,7 @@ $\begin{bNiceArray}{CCC|C}[margin]
\arrayrulecolor{black}
\end{BVerbatim}
\begin{scope}
-\arrayrulecolor{cyan}
+\arrayrulecolor{blue}
$\begin{bNiceArray}{CCC|C}[margin]
\Block{3-3}<\Large>{A} & & & 0 \\
& \hspace*{1cm} & & \Vdots \\
@@ -1683,15 +1734,15 @@ Dans les environnements de \pkg{nicematrix}, on peut bien entendu ajouter des fi
avec la commande~|\hline| et des filets verticaux avec le spécificateur ``\verb+|+'' dans le préambule de
l'environnement. Par souci de commodité, l'extension \pkg{nicematrix} fournit aussi l'option |hlines| (resp.
|vlines|) qui impose directement que tous les filets horizontaux (resp. verticaux) soient tracés (à l'exception,
-très naturelle, des filets extérieurs aux rangées et colonnes extérieures). L'option |lines| est la conjonction des
-options |hlines| et |vlines|.
+très naturelle, des filets extérieurs aux rangées et colonnes extérieures). L'option |hvlines| est la conjonction
+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{cyan}
+\arrayrulecolor{blue}
$\begin{NiceArray}{CCCC}%
[~emphase#hvlines@,first-row,first-col]
& e & a & b & c \\
@@ -1703,7 +1754,7 @@ c & c & b & a & e
\arrayrulecolor{black}
\end{BVerbatim}
%
-\arrayrulecolor{cyan}
+\arrayrulecolor{blue}
$\begin{NiceArray}{CCCC}[hvlines,first-row,first-col]
& e & a & b & c \\
e & e & a & b & c \\
@@ -1833,6 +1884,9 @@ En revanche, les colonnes |d| de l'extension \pkg{dcolumn} ne sont pas prises en
\section{Remarques techniques}
+Première remarque : l'extension \pkg{nicematrix} doit être chargée après l'extension \pkg{underscore}. Si ce n'est
+pas le cas, une erreur est levée.
+
\subsection{Pour définir de nouveaux types de colonnes}
\label{OnlyMainNiceMatrix}
@@ -1874,40 +1928,6 @@ Le spécificateur |?| ainsi créé est aussi utilisable dans les environnements
cas, |\OnlyMainNiceMatrix| est sans effet.
-\subsection{Intersection des lignes pointillées}
-
-Depuis la version 3.1 de \pkg{nicematrix}, les lignes en pointillées créées par |\Cdots|, |\Ldots|, |\Vdots|, etc.
-ne peuvent pas se croiser entre elles.\footnote{En revanche, les lignes créées par |\hdottedline|, la lettre
- ``|:|'' dans le préambule de la matrice et la commande |\line| dans le |code-after| peuvent croiser une autre
- ligne en pointillés.}
-
-Cela signifie qu'une ligne en pointillés créée par l'une des ces commandes s'arrête automatiquement quand elle
-arrive à une autre ligne pointillée déjà tracée par l'une de ces commandes. Par conséquent, l'ordre dans lequel les
-lignes sont tracées a son importance pour le résultat final. Voici cet ordre (c'est à dessein qu'il a été choisi
-ainsi) : |\Hdotsfor|, |\Vdots|, |\Ddots|, |\Iddots|, |\Cdots| et |\Ldots|.
-
-\medskip
-De ce fait, on peut tracer la matrice suivante :\par\nobreak
-
-\smallskip
-\begin{BVerbatim}[baseline = c, boxwidth = 10.5cm]
-$\begin{pNiceMatrix}[nullify-dots]
-1 & 2 & 3 & \Cdots & n \\
-1 & 2 & 3 & \Cdots & n \\
-\Vdots & \Cdots & & \Hspace*{15mm} & \Vdots \\
-& \Cdots & & & \\
-& \Cdots & & & \\
-& \Cdots & & & \\
-\end{pNiceMatrix}$
-\end{BVerbatim}
-$\begin{pNiceMatrix}[nullify-dots]
-1 & 2 & 3 & \Cdots & n \\
-1 & 2 & 3 & \Cdots & n \\
-\Vdots & \Cdots & & \Hspace*{15mm} & \Vdots \\
-& \Cdots & & & \\
-& \Cdots & & & \\
-& \Cdots & & & \\
-\end{pNiceMatrix}$
@@ -2273,12 +2293,12 @@ a_p & &&a_0 & & &b_1 \\
\end{scope}
\vspace{2cm}
-Un exemple avec un système linéaire (le trait vertical a été tracé en cyan avec les outils de
+Un exemple avec un système linéaire (le trait vertical a été tracé en bleu avec les outils de
\pkg{colortbl}):\par\nobreak
\begin{Verbatim}
-\arrayrulecolor{cyan}
-$\begin{pNiceArray}{*6C|C}[nullify-dots,last-col,code-for-last-col={\scriptstyle}]
+\arrayrulecolor{blue}
+$\begin{pNiceArray}{*6C|C}[nullify-dots,last-col,code-for-last-col=\scriptstyle]
1 & 1 & 1 &\Cdots & & 1 & 0 & \\
0 & 1 & 0 &\Cdots & & 0 & & L_2 \gets L_2-L_1 \\
0 & 0 & 1 &\Ddots & & \Vdots & & L_3 \gets L_3-L_1 \\
@@ -2289,8 +2309,8 @@ $\begin{pNiceArray}{*6C|C}[nullify-dots,last-col,code-for-last-col={\scriptstyle
\arrayrulecolor{black}
\end{Verbatim}
-\arrayrulecolor{cyan}
-\[\begin{pNiceArray}{*6C|C}[nullify-dots,last-col,code-for-last-col={\scriptstyle}]
+\arrayrulecolor{blue}
+\[\begin{pNiceArray}{*6C|C}[nullify-dots,last-col,code-for-last-col=\scriptstyle]
1 & 1 & 1 &\Cdots & & 1 & 0 & \\
0 & 1 & 0 &\Cdots & & 0 & & L_2 \gets L_2-L_1 \\
0 & 0 & 1 &\Ddots & & \Vdots & & L_3 \gets L_3-L_1 \\
@@ -2301,6 +2321,42 @@ $\begin{pNiceArray}{*6C|C}[nullify-dots,last-col,code-for-last-col={\scriptstyle
\arrayrulecolor{black}
+\subsection{Des lignes pointillées qui ne sont plus pointillées}
+
+
+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.
+
+\begin{Verbatim}
+\NiceMatrixOptions
+ {nullify-dots,code-for-first-col = \color{blue},code-for-first-col=\color{blue}}
+$\begin{pNiceMatrix}[first-row,first-col]
+ & & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ columns}} \\
+ & 1 & 1 & 1 & \Ldots & 1 \\
+ & 1 & 1 & 1 & & 1 \\
+\Vdots[line-style={solid,<->}]_{n \text{ rows}}
+ & 1 & 1 & 1 & & 1 \\
+ & 1 & 1 & 1 & & 1 \\
+ & 1 & 1 & 1 & \Ldots & 1 \\
+\end{pNiceMatrix}$
+\end{Verbatim}
+
+
+\begin{scope}
+\NiceMatrixOptions
+ {nullify-dots,code-for-first-col = \color{blue},code-for-first-row=\color{blue}}
+\[\begin{pNiceMatrix}[first-row,first-col]
+ & & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ columns}} \\
+ & 1 & 1 & 1 & \Ldots & 1 \\
+ & 1 & 1 & 1 & & 1 \\
+\Vdots[line-style={solid,<->}]_{n \text{ rows}} & 1 & 1 & 1 & & 1 \\
+ & 1 & 1 & 1 & & 1 \\
+ & 1 & 1 & 1 & \Ldots & 1 \\
+\end{pNiceMatrix}\]
+\end{scope}
+
+
+
\subsection{Largeur des colonnes}
\medskip
@@ -2310,13 +2366,20 @@ 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}
+\NiceMatrixOptions{code-for-last-col = \color{blue}\scriptstyle,light-syntax}
\setlength{\extrarowheight}{1mm}
$\begin{pNiceArray}{CCCC:C}[last-col]
-1&1&1&1&1&\\
-2&4&8&16&9&\\
-3&9&27&81&36&\\
-4&16&64&256&100&
+ 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]
+ 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 } ;
+ 0 12 60 252 96 { L_4 \gets -4 L_1 + L_4 }
\end{pNiceArray}$
...
~emphase#\end{NiceMatrixBlock}@
@@ -2326,59 +2389,59 @@ $\begin{pNiceArray}{CCCC:C}[last-col]
\begin{multicols}{2}
\begin{NiceMatrixBlock}[auto-columns-width]
-\NiceMatrixOptions{code-for-last-col = \color{blue}\scriptstyle}
+\NiceMatrixOptions{code-for-last-col = \color{blue}\scriptstyle,light-syntax}
\setlength{\extrarowheight}{1mm}
\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
-1&1&1&1&1&\\
-2&4&8&16&9&\\
-3&9&27&81&36&\\
-4&16&64&256&100&
+1 1 1 1 1 ;
+2 4 8 16 9 ;
+3 9 27 81 36 ;
+4 16 64 256 100
\end{pNiceArray}$
\medskip
\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
-1&1&1&1&1&\\
-0&2&6&14&7&L_2\gets-2L_1+L_2 \\
-0&6&24&78&33&L_3\gets-3L_1+L_3 \\
-0&12&60&252&96&L_4\gets-4L_1+L_4
+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 } ;
+0 12 60 252 96 { L_4 \gets -4 L_1 + L_4 }
\end{pNiceArray}$
\medskip
\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
-1&1&1&1&1&\\
-0&1&3&7&\frac72&L_2\gets\frac12L_2\\
-0&3&12&39&\frac{33}2&L_3\gets\frac12L_3 \\
-0&1&5&21&8&L_4\gets\frac1{12}L_4
+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 } ;
+0 1 5 21 8 { L_4 \gets \frac1{12} L_4 }
\end{pNiceArray}$
\medskip
\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
-1&1&1&1&1&\\
-0&1&3&7&\frac72&\\
-0&0&3&18&6&L_3 \gets -3L_2+L_3 \\
-0&0&-2&-14&-\frac92&L_4 \gets L_2-L_4
+1 1 1 1 1 ;
+0 1 3 7 \frac72 ;
+0 0 3 18 6 { L_3 \gets -3 L_2 + L_3 } ;
+0 0 -2 -14 -\frac92 { L_4 \gets L_2 - L_4 }
\end{pNiceArray}$
\medskip
\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
-1&1&1&1&1&\\
-0&1&3&7&\frac72&\\
-0&0&1&6&2&L_3 \gets \frac13L_3\\
-0&0&-2&-14&-\frac92&
+1 1 1 1 1 ;
+0 1 3 7 \frac72 ;
+0 0 1 6 2 { L_3 \gets \frac13 L_3 } ;
+0 0 -2 -14 -\frac92
\end{pNiceArray}$
\medskip
\enskip $\begin{pNiceArray}{CCCC:C}[last-col]
-1&1&1&1&1&\\
-0&1&3&7&\frac72&\\
-0&0&1&6&2& \\
-0&0&0&-2&-\frac12 & L_4 \gets 2L_3+L_4
+1 1 1 1 1 ;
+0 1 3 7 \frac72 ;
+0 0 1 6 2 ;
+0 0 0 -2 -\frac12 { L_4 \gets L_3 + L_4 }
\end{pNiceArray}$
\end{NiceMatrixBlock}
\end{multicols}
@@ -2409,41 +2472,37 @@ voulons recréer des nœuds identiques aux premiers, nous devons fixer |inner se
pas cela, les nouveaux nœuds seront plus grands que les nœuds d'origine créés par \pkg{nicematrix}).
\begin{Verbatim}
-$\begin{pNiceArray}{>{\strut}CCCC}%
- [create-large-nodes,margin,extra-margin=2pt,
- code-after = {\begin{tikzpicture}
- [~emphase#name suffix = -large@,
- every node/.style = {draw,
- ~emphase#inner sep = 0pt@}]
- \node [fit = (1-1)] {} ;
- \node [fit = (2-2)] {} ;
- \node [fit = (3-3)] {} ;
- \node [fit = (4-4)] {} ;
- \end{tikzpicture}}]
-a_{11} & a_{12} & a_{13} & a_{14} \\
-a_{21} & a_{22} & a_{23} & a_{24} \\
-a_{31} & a_{32} & a_{33} & a_{34} \\
-a_{41} & a_{42} & a_{43} & a_{44}
+$\begin{pNiceArray}{>{\strut}CCCC}[create-large-nodes,margin,extra-margin = 2pt]
+ a_{11} & a_{12} & a_{13} & a_{14} \\
+ a_{21} & a_{22} & a_{23} & a_{24} \\
+ a_{31} & a_{32} & a_{33} & a_{34} \\
+ a_{41} & a_{42} & a_{43} & a_{44}
+\CodeAfter
+ \begin{tikzpicture}[~emphase#name suffix = -large@,
+ every node/.style = {draw,~emphase#inner sep = 0 pt@}]
+ \node [fit = (1-1)] {} ;
+ \node [fit = (2-2)] {} ;
+ \node [fit = (3-3)] {} ;
+ \node [fit = (4-4)] {} ;
+ \end{tikzpicture}
\end{pNiceArray}$
\end{Verbatim}
-
-
-\[\begin{pNiceArray}{>{\strut}CCCC}[
- create-large-nodes,margin,extra-margin=2pt,
- code-after = {\begin{tikzpicture}[name suffix = -large,
- every node/.style = {draw,
- inner sep = 0pt}]
- \node [fit = (1-1)] {} ;
- \node [fit = (2-2)] {} ;
- \node [fit = (3-3)] {} ;
- \node [fit = (4-4)] {} ;
- \end{tikzpicture}}]
+%
+\[\begin{pNiceArray}{>{\strut}CCCC}[create-large-nodes,margin,extra-margin = 2pt]
a_{11} & a_{12} & a_{13} & a_{14} \\
a_{21} & a_{22} & a_{23} & a_{24} \\
a_{31} & a_{32} & a_{33} & a_{34} \\
a_{41} & a_{42} & a_{43} & a_{44}
+\CodeAfter
+\begin{tikzpicture}[name suffix = -large,
+ every node/.style = {draw,inner sep = 0 pt}]
+ \node [fit = (1-1)] {} ;
+ \node [fit = (2-2)] {} ;
+ \node [fit = (3-3)] {} ;
+ \node [fit = (4-4)] {} ;
+\end{tikzpicture}
\end{pNiceArray}\]
-%
+
On remarquera que les traits que l'on vient de tracer sont dessinés \emph{après} la matrice sans modifier la
position des composantes de celle-ci. En revanche, les traits tracés par |\hline|, le spécificateur «\verb+|+» ou
les options |hlines| et |vlines| «écartent» les composantes de la matrice (quand l'extension \pkg{array} est
@@ -2520,34 +2579,23 @@ la case en haut à gauche (où a été utilisée la commande |\Block|). Si on a
alors un nœud de ce type est aussi créé pour ce bloc avec un nom suffixé par |-medium|.
\medskip
-\begin{BVerbatim}[baseline=c,boxwidth=11.6cm]
-$\begin{pNiceMatrix}%
- [
- margin,
- create-medium-nodes,
- code-after =
- { \tikz \node [~emphase#highlight = (1-1-block-medium)@] {} ; }
- ]
-\Block{3-3}<\Large>{A} & & & 0 \\
-& \hspace*{1cm} & & \Vdots \\
-& & & 0 \\
-0 & \Cdots& 0 & 0
-\end{pNiceMatrix}$
-\end{BVerbatim}
-$\begin{pNiceMatrix}%
- [
- margin,
- create-medium-nodes,
- code-after =
- { \tikz \node [highlight = (1-1-block-medium)] {} ; }
- ]
-\Block{3-3}<\Large>{A} & & & 0 \\
-& \hspace*{1cm} & & \Vdots \\
-& & & 0 \\
-0 & \Cdots& 0 & 0
-\end{pNiceMatrix}$
-
-
+% $\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}$
@@ -2654,40 +2702,37 @@ a & a & a & L_3
Dans l'exemple suivant, on utilise les «nœuds larges» pour surligner une zone de la matrice.\par\nobreak
\begin{Verbatim}
-\left(\,\begin{NiceArray}{>{\strut}CCCC}%
- [create-large-nodes,left-margin,right-margin,
- code-after = {\tikz \path [~emphase#name suffix = -large@,
- fill = red!15,
- blend mode = multiply]
- (1-1.north west)
- |- (2-2.north west)
- |- (3-3.north west)
- |- (4-4.north west)
- |- (4-4.south east)
- |- (1-1.north west) ; } ]
-A_{11} & A_{12} & A_{13} & A_{14} \\
-A_{21} & A_{22} & A_{23} & A_{24} \\
-A_{31} & A_{32} & A_{33} & A_{34} \\
-A_{41} & A_{42} & A_{43} & A_{44}
-\end{NiceArray}\,\right)
+\begin{pNiceArray}{>{\strut}CCCC}[create-large-nodes,margin,extra-margin=2pt]
+ A_{11} & A_{12} & A_{13} & A_{14} \\
+ A_{21} & A_{22} & A_{23} & A_{24} \\
+ A_{31} & A_{32} & A_{33} & A_{34} \\
+ A_{41} & A_{42} & A_{43} & A_{44}
+\CodeAfter
+ \tikz \path [~emphase#name suffix = -large@,fill = red!15, blend mode = multiply]
+ (1-1.north west)
+ |- (2-2.north west)
+ |- (3-3.north west)
+ |- (4-4.north west)
+ |- (4-4.south east)
+ |- (1-1.north west) ;
+\end{pNiceArray}
\end{Verbatim}
-\[\left(\,\begin{NiceArray}{>{\strut}CCCC}[
- create-large-nodes,left-margin,right-margin,
- code-after = {\tikz \path [name suffix = -large,
- fill = red!15,
- blend mode = multiply]
- (1-1.north west)
- |- (2-2.north west)
- |- (3-3.north west)
- |- (4-4.north west)
- |- (4-4.south east)
- |- (1-1.north west) ; } ]
-A_{11} & A_{12} & A_{13} & A_{14} \\
-A_{21} & A_{22} & A_{23} & A_{24} \\
-A_{31} & A_{32} & A_{33} & A_{34} \\
-A_{41} & A_{42} & A_{43} & A_{44}
-\end{NiceArray}\,\right)\]
+
+\[\begin{pNiceArray}{>{\strut}CCCC}[create-large-nodes,margin,extra-margin=2pt]
+ A_{11} & A_{12} & A_{13} & A_{14} \\
+ A_{21} & A_{22} & A_{23} & A_{24} \\
+ A_{31} & A_{32} & A_{33} & A_{34} \\
+ A_{41} & A_{42} & A_{43} & A_{44}
+\CodeAfter
+ \tikz \path [name suffix = -large,fill = red!15, blend mode = multiply]
+ (1-1.north west)
+ |- (2-2.north west)
+ |- (3-3.north west)
+ |- (4-4.north west)
+ |- (4-4.south east)
+ |- (1-1.north west) ;
+\end{pNiceArray}\]
\subsection{Utilisation directe des nœuds Tikz}