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}