--- myst: html_meta: keywords: LaTeX, domaines spécialisés, mathématiques, structures, matrice, tableau --- # Comment composer une matrice ? ## 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 "[](/4_domaines_specialises/mathematiques/structures/delimiteurs/ajuster_la_taille_des_delimiteurs)". ## Avec l'extension L'extension (ou ) 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} ``` ## Avec l’extension L’extension fournit des environnements similaires aux environnements `tabular`, `array` et `matrix` des packages et 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} ``` ## Avec l'extension ```{attention} Ce package n’a pas été mis à jour depuis 2002. ``` L'extension 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} ``` ## Avec l'extension ```{attention} Ce package n’a pas été mis à jour depuis 2002. ``` L'extension 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 (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} ``` :::{sources} [Pantigny, F. 2021. _Aperçu du package nicematrix_. La _Lettre GUTenberg_. 44 (sept. 2021), 29–36](https://doi.org/10.60028/lettre.vi44.19) :::