Comment composer une matrice ?#
1. Avec les commandes de base#
Il suffit de construire un tableau sans lignes avec l’environnement array
comme dans cet exemple :
\documentclass{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\pagestyle{empty} % N'affiche pas de numéro de page
\begin{document}
\[\left(
\begin{array}{ccc}
x_{11} & \cdots & x_{1p} \\
\vdots & \ddots & \vdots \\
x_{n1} & \cdots & x_{np}
\end{array}
\right)
\]
\end{document}
Pour savoir comment encadrer cette matrice avec des délimiteurs, vous pouvez consulter la question « Comment ajuster la taille de délimiteurs ? ».
2. Avec l’extension mathtools#
L’extension mathtools (ou amsmath) permet de définir
une matrice de manière plus rapide qu’avec l’environnement array
.
Les environnements disponibles sont :
matrix
pour une matrice sans éléments encadrants ;pmatrix
pour une matrice encadrée par des parenthèses ;bmatrix
pour une matrice encadrée par des crochets ;vmatrix
pour une matrice encadrée par des lignes verticales ;Vmatrix
pour une matrice encadrée par des doubles lignes verticales.
En voici un exemple d’utilisation :
\documentclass{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage{mathtools}
\begin{document}
\[
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
\]
\end{document}
3. Avec l’extension nicematrix#
L’extension nicematrix fournit des environnements similaires aux environnements tabular
,
array
et matrix
des packages array et amsmath mais avec des fonctionnalités
supplémentaires.
Pour ce qui concerne les matrices, cette extension donne accès aux environnements suivants:
NiceMatrix
;pNiceMatrix
;bNiceMatrix
;BNiceMatrix
;vNiceMatrix
;VNiceMatrix
.
Les paramètres se règlent sous forme de clé/valeur en argument des environnements. Pour régler
les options de composition des matrices, on pourra aussi utiliser la commande \NiceMatrixOptions
.
La documentation du package regorge d’exemples.
\documentclass{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage{nicematrix}
\begin{document}
\[
\begin{pNiceMatrix}
a & b \\
c & d
\end{pNiceMatrix}
\]
\[
\begin{bNiceMatrix}
a_1 & \Cdots & & & a_1 \\
\Vdots & a_2 & \Cdots & & a_2 \\
& \Vdots & \Ddots[color=red] \\
\\
a_1 & a_2 & & & a_n
\end{bNiceMatrix}
\]
\NiceMatrixOptions{renew-dots,renew-matrix}
\[
\begin{pmatrix}
1 & \cdots & \cdots & 1 \\
0 & \ddots & & \vdots \\
\vdots & \ddots & \ddots & \vdots \\
0 & \cdots & 0 & 1
\end{pmatrix}
\]
\end{document}
4. Avec l’extension easymat#
Attention
Ce package n’a pas été mis à jour depuis 2002.
L’extension easymat aide également à l’écriture de matrices.
Elle fournit l’environnement MAT
qui est une réimplémentation des environnements
array
et tabular
avec quelques limites et quelques fonctionnalités supplémentaires,
notamment une gestion plus développée des traits, des espacements et des alignements.
\documentclass{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage{mathtools}
\usepackage{easymat}
\begin{document}
\[\left[
\begin{MAT}(@,50pt,20pt){c.c}
1 & 22 \\.
\frac{1}{2} & 1 \\
\end{MAT}
\right]
\]
\end{document}
5. Avec l’extension easybmat#
Attention
Ce package n’a pas été mis à jour depuis 2002.
L’extension easybmat fournit des éléments pour écrire des matrices
par bloc. Elle fournit l’environnement BMAT
très proche de l’environnement MAT
de l’extension easymat (du même auteur).
Là encore, ce package permet une gestion fine des traits, des espacements et des alignements.
\documentclass{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage{mathtools}
\usepackage{easybmat}
\begin{document}
\[\left(
\begin{BMAT}[5pt]{cccccc}{cccccc}
1 & * & * & * & * & * \\
0 & 11 & * & * & * & * \\
0 & 0 & 111 & * & * & * \\
0 & 0 & 0 & 1111 & * & * \\
0 & 0 & 0 & 0 & 11111 & * \\
0 & 0 & 0 & 0 & 0 & 11111
\addpath{(0,5,.)rdrdrdrdrd}
\end{BMAT}
\right)
\]
\end{document}