3. Matrice et environnements similaires | Manuel LaTeX

Il existe un certain nombre d’environnements pour la composition de structures de type matricielle définies dans le package amsmath. Ils sont tous similaires à l’environnement array standard de LaTeX en termes de syntaxe et de mise en page. En général, une grande variété de structures mathématiques bidimensionnelles et de dispositions tabulaires peuvent être décrites sous forme de tableaux.

Trois environnements - cases, matrix et pmatrix - remplacent les commandes du LaTeX standard. Les commandes standard utilisent une notation différente et ne peuvent donc pas être utilisées avec les formulaires d’environnement évoqués ici. Le package amsmath produira un message d’erreur si l’une des anciennes commandes est utilisée. À l’inverse, si vous essayez d’utiliser les formulaires de l’environnement amsmath sans charger le package, vous obtiendrez très probablement le message d’erreur suivant : "Caractère de tabulation d'alignement mal placé &".

3.1. L’environnement des « cas »

L’environnement case est utilisé pour gérer les constructions, où une seule équation a quelques variantes. De telles constructions sont très courantes en mathématiques. Il produit un tableau avec deux colonnes, toutes deux alignées à gauche.

1\usepackage{amsmath}
2% -------------------------------------------------------------------------------
3\begin{equation}
4P_{r - j} = \begin{cases}
5                     0 & \text{if $r - j$ is odd,} \\
6r! \, (-1)^{(r - j)/2} & \text{if $r - j$ is even.}
7\end{cases}
8\end{equation}

Environnement des dossiers

Notez l’utilisation de la commande \text et du “mode mathématique intégré” dans les chaînes de texte.

3.2. Les environnements matriciels

Les environnements matriciels, contrairement au « tableau » de LaTeX, n’acceptent pas d’argument spécifiant les formats des colonnes. Au lieu de cela, ils proposent un format par défaut : jusqu’à 10 colonnes centrées. L’espacement diffère également légèrement de la valeur par défaut dans « array ». Les exemples suivants illustrent les environnements matrix, pmatrix, bmatrix, Bmatrix, vmatrix et Vmatrix.

1\usepackage{amsmath}
2% -------------------------------------------------------------------------------
3\begin{gather*}
4\begin{matrix} 0 & 1 \\ 1 & 0 \end{matrix} \quad \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \\
5\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} \quad \begin{Bmatrix} 1 & 0 \\ 0 & -1 \end{Bmatrix} \\
6\begin{vmatrix} a & b \\ c & d \end{vmatrix} \quad \begin{Vmatrix} i & 0 \\ 0 & -i \end{Vmatrix}
7\end{gather*}

Environnements matriciels

Le compteur MaxMatrixCols détermine le nombre maximum de colonnes dans un environnement matriciel. Vous pouvez le modifier à l’aide de la commande counter standard de LaTeX. La valeur du paramètre de longueur \arraycolsep détermine la quantité d’espace entre les colonnes. Tout comme dans les tableaux standards, mais aucun espace n’est ajouté de chaque côté du tableau. Plus de colonnes feront travailler LaTeX plus dur et nécessiteront plus de ressources. Cependant, définir « MaxMatrixCols » sur 20 ou plus est possible sans perte de performances notable, car avec les implémentations TeX typiques d’aujourd’hui, ces limites sont moins importantes.

 1\usepackage{amsmath}
 2\setcounter{MaxMatrixCols}{20}
 3% -------------------------------------------------------------------------------
 4\[
 5\begin{Vmatrix}
 6\,a&b&c&d&e&f&g&h&i&j &\cdots\,{} \\
 7&a&b&c&d&e&f&g&h&i &\cdots\,{} \\
 8& &a&b&c&d&e&f&g&h &\cdots\,{} \\
 9& & &a&b&c&d&e&f&g &\cdots\,{} \\
10& & & &\ddots&\ddots&\hdotsfor[2]{5}\,{}
11\end{Vmatrix} \]

Plus de colonnes dans les environnements matriciels

Dans cet exemple, la commande \hdotsfor est utilisée pour produire une ligne de points dans une matrice, s’étendant sur un nombre donné de colonnes. Le paramètre facultatif (ici 2) peut être utilisé pour spécifier un multiplicateur pour l’espace par défaut (3 unités mathématiques) entre les points. L’espace fin et le groupe d’accolades \,{} à la fin de chaque ligne améliorent simplement l’apparence de la mise en page ; ensemble, ils produisent deux espaces minces, d’environ 6mu ou 1/3em.

Pour produire une petite matrice en ligne à utiliser dans du texte, vous pouvez utiliser l’environnement « smallmatrix ».

1\usepackage{amsmath}
2% -------------------------------------------------------------------------------
3To show the effect of the matrix on surrounding lines inside a paragraph, we put it here:
4$ \left( \begin{smallmatrix}
51 & 0 \\ 0 & -1
6\end{smallmatrix} \right) $
7and follow it with enough text to ensure that there is at least one full line below the matrix.

L’environnement smallmatrix

Notez que les lignes de texte ne sont pas écartées même si la ligne précédant la petite matrice contient des lettres avec des descendants.

3.3. Empilement en indices et en exposants

Parfois, vous devrez peut-être composer plusieurs lignes dans un indice ou un exposant. Pour ce faire, vous pouvez utiliser la commande \substack avec les lignes délimitant \\.

L’environnement « subarray » est une structure légèrement plus générale qui vous permet d’aligner les lignes à gauche ou à droite, plutôt que de les centrer.

 1\usepackage{amsmath}
 2% -------------------------------------------------------------------------------
 3\begin{gather}
 4\sum_{\substack{0 \le i \le m \\ 0 < j < n}} P(i, j) \\
 5\sum_{\begin{subarray}{l}
 6i \in \Lambda \\
 70 \le i \le m \\
 80 < j < n
 9\end{subarray}} P(i, j)
10\end{gather}

Empilement en indice et exposant

Notez que les deux environnements doivent être entourés d’accolades lorsqu’ils apparaissent sous forme d’indice ou d’exposant.

3.4. Diagrammes commutatifs

Le package amscd définit quelques commandes pour produire des diagrammes commutatifs simples basés sur des tableaux. Il existe quelques formes abrégées utiles pour spécifier les flèches décorées et autres connecteurs. Cependant, cela présente des limites : par exemple, ces connecteurs ne peuvent être qu’horizontaux ou verticaux.

Dans l’environnement CD, les notations @>>>, @<<<, @VVV et @AAA produisent respectivement des flèches droite, gauche, bas et haut. L’exemple suivant montre également l’utilisation de la commande \DeclareMathOperator.

 1\usepackage{amsmath,amscd}
 2\DeclareMathOperator\add{add}
 3\DeclareMathOperator\cf {cf}
 4\DeclareMathOperator\cov{cov}
 5\DeclareMathOperator\non{non}
 6% -------------------------------------------------------------------------------
 7\[ \begin{CD}
 8\cov (L) @>>> \non (K) @>>> \cf (K) \\
 9@VVV @AAA @AAA \\
10\add (L) @>>> \add (K) @>>> \cov (K) \\
11\end{CD} \]

Diagramme commutatif simple

Voyons comment les décorations sont spécifiées. Pour les flèches horizontales, le contenu entre le premier et le deuxième symbole > ou < sera composé en exposant, et le contenu entre le deuxième et le troisième sera composé en indice. De même, le contenu entre le premier et le deuxième, ou le deuxième et le troisième, les « A » ou « V » des flèches verticales sera composé comme un « side-script » gauche ou droit. Nous verrons l’utilisation de ce format dans l’exemple suivant.

Les notations @= et @| donnent des lignes doubles horizontales et verticales.

Au lieu d’une flèche visible, vous pouvez utiliser une « flèche nulle » (« @. ») pour remplir un tableau si nécessaire.

1\usepackage{amsmath, amscd}
2\DeclareMathOperator{\End}{End}
3% -------------------------------------------------------------------------------
4\[ \begin{CD}
5S^{W_\Lambda}\otimes T @>j>> T \\
6@VVV @VV{\End P}V \\
7(S \otimes T)/I @= (Z\otimes T)/J
8\end{CD} \]

Diagramme commutatif avec scripts

Une mise en page similaire peut être produite dans LaTeX standard. Mais ça n’a pas l’air aussi bien.

1\[\begin{array}{ccc}
2S^{\mathcal{W}_\Lambda}\otimes T & \stackrel{j}{\longrightarrow} & T \\
3\Big\downarrow & & \Big\downarrow\vcenter{\rlap{$\scriptstyle{\mathrm{End}}\,P$}} \\
4(S\otimes T)/I & = & (Z\otimes T)/J
5\end{array}\]

Diagramme commutatif en LaTeX standard

Cet exemple montre assez clairement à quel point les résultats du package amscd sont meilleurs : la notation est plus facile, les flèches horizontales sont plus longues, l’espacement entre les éléments est bien amélioré. Les forfaits plus spécialisés vous aideront à obtenir des résultats encore plus beaux.

3.5. Délimiteurs entourant un tableau : le package delarray

Dans cette section, nous discuterons d’une extension générale utile du package array. En utilisant cette extension, l’utilisateur peut spécifier des délimiteurs extensibles d’ouverture et de fermeture pour entourer un environnement de « tableau » mathématique. Regardons l’exemple :

1\usepackage{delarray}
2% -------------------------------------------------------------------------------
3\[ \mathcal{Q} =
4\begin{array}[t] ( {cc} ) X & Y \end{array}
5\begin{array}[t] [ {cc} ] A & B \\ C & D \end{array}
6\begin{array}[b] \lgroup{cc}\rgroup L \\ M \end{array}
7\]

L’utilisation du paquet delarray

Notez que le package delarray est indépendant de amsmath mais il charge automatiquement le package array si nécessaire.

Les délimiteurs sont placés de part et d’autre du {cc}.

Cet exemple illustre également la fonctionnalité la plus utile du package delarray : l’utilisation des arguments facultatifs [t] et [b], qui ne sont pas autorisés avec les environnements matriciels amsmath. Ceux-ci montrent que l’utilisation de la syntaxe delarray n’équivaut pas à entourer l’environnement array avec \left et \right, puisque les délimiteurs sont élevés ainsi que le tableau lui-même.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.