Que ce soit pour introduire un système d’équations ou pour développer une démonstration mathématique, l’alignement des équations est parfois complexe dès qu’on s’applique à obtenir quelque-chose d’élégant. Ce billet est donc un aperçu de certaines configurations possibles.
Table des matières
Note
Le package amsmath
est requis pour les environnements mathématiques multiples. De plus, afin de gagner (un peu) en clarté et en compacité, les macros suivantes ont été utilisées :
\newcommand{\E}{\mathbf{E}} \newcommand{\B}{\mathbf{B}} \newcommand{\J}{\mathbf{J}} \newcommand{\diff}{\mathrm{d}} \newcommand{\ddt}[1]{\frac{\partial #1}{\partial t}} \newcommand{\dS}{\diff\mathbf{S}} \newcommand{\dl}{\diff\boldsymbol{\ell}} \newcommand{\iintS}{\iint_{\Sigma}} |
Alignement sur une seule colonne
Numéroter séparément chaque équation
On peut utiliser l’environnement align
pour écrire plusieurs équations alignées horizontalement. Comme dans les tableaux, les esperluettes (&) servent à définir où doit se faire l’alignement, tandis que « \\ » indique une nouvelle ligne :
\begin{align} \nabla\cdot \E &=\frac{\rho}{\varepsilon_0}\\ \nabla\cdot \B &=0\\ \nabla\times \E &=-\frac{\partial \B}{\partial t}\\ \nabla\times \B &=\mu_0\left(\J+\varepsilon_0\ddt{\E}\right) \end{align} |
Numéroter un système comme une unique équation
Le plus simple est d’utiliser l’environnement aligned
, qui fonctionne exactement comme align
, mais qui doit être compris dans un environnement mathématique (ex : equation
) :
\begin{equation} \left\lbrace \begin{aligned} \nabla\cdot \E &=\frac{\rho}{\varepsilon_0}\\ \nabla\cdot \B &=0\\ \nabla\times \E &=-\frac{\partial \B}{\partial t}\\ \nabla\times \B &=\mu_0\left(\J+\varepsilon_0\ddt{\E}\right) \end{aligned} \right. \end{equation} |
Numérotation des sous-équations
L’environnement subequations
permet de modifier localement le système de numérotation des équations, sous forme de « sous-équations » (un peu comme subfig avec les figures) :
\begin{subequations} \begin{align} \nabla\cdot \E &=\frac{\rho}{\varepsilon_0}\\ \nabla\cdot \B &=0\\ \nabla\times \E &=-\frac{\partial \B}{\partial t}\\ \nabla\times \B &=\mu_0\left(\J+\varepsilon_0\ddt{\E}\right) \end{align} \end{subequations} |
Alignement multiple
Il est possible de spécifier plusieurs colonnes dans le jeu d’équations. La règle étant que la première colonne sera alignée à droite, la seconde à gauche, la troisième à droite etc. Si un alignement ne vous convient pas, il suffit de définir une colonne vide (&&
au lieu de &
) pour inverser la direction d’alignement.
Avec l’environnement align
\begin{align} \nabla\times &\B &=&\mu_0\Big( &&\J &+&\varepsilon_0 &&\frac{\partial \E}{\partial t}\Big)\\ \oint_{\partial \Sigma} &\B\cdot\diff\boldsymbol{\ell} &=&\mu_0\Big(\iintS &&\J\cdot\dS &+&\varepsilon_0\frac{\diff}{\diff t}\iint_\Sigma &&\E\cdot\dS\Big) \end{align} |
Vous noterez que dans ce cas, les commandes \left(
et \right)
ont été remplacées par \Big(
et \Big)
. Une paire left-right ne peut pas s’étendre sur plusieurs colonnes ; c’est donc à nous d’évaluer la taille à donner aux parenthèses.
Avec l’environnement alignat
Comme vous pouvez le constater dans l’exemple précédent,align
rajoute des espaces à chaque colonne, ce qui peut être assez inélégant. Une solution consiste à utiliser plutôt l’environnement alignat
, qui s’utilise de la même façon, mais il faut alors préciser le nombre maximal de colonnes :
\begin{alignat}{5} \nabla\times &\B &=&\mu_0\Big( &&\J &+&\varepsilon_0 &\frac{\partial \E}{\partial t} &\Big)\\ \oint_{\partial \Sigma} &\B\cdot\diff\boldsymbol{\ell} &=&\mu_0\Big(\iintS &&\J\cdot\dS &+&\varepsilon_0\frac{\diff}{\diff t}\iint_\Sigma &\E &\cdot\dS\Big) \end{alignat} |
Ajouter des connecteurs entre les équations
L’environnement est alignat
peut s’utiliser pour ajouter des connecteurs logiques entre les différentes lignes. Exemple :
\begin{alignat}{6} & &\nabla\times &\B &=&\mu_0\Big( &&\J &+&\varepsilon_0 &\frac{\partial \E}{\partial t} &\Big)\\ &\implies\qquad &\oint_{\partial \Sigma}&\B\cdot\diff\boldsymbol{\ell} &=&\mu_0\Big(\iintS &&\J\cdot\dS &+&\varepsilon_0\frac{\diff}{\diff t}\iintS &\E &\cdot\dS\Big) \end{alignat} |
Ne pas numéroter les équations
Les environnement étoilés
Les environnement mathématiques étoilés (equation*
, align*
et alignat*
) fonctionnent exactement comme leurs homologues non étoilés, mais sans numéroter les équations.
Numéroter certaines équations uniquement
Si vous souhaitez qu’une ligne particulière ne soit pas numérotée, vous pouvez utiliser la commande \notag
:
\begin{alignat}{6} &&\nabla\times &\B &=&\mu_0\Big( &&\J &+&\varepsilon_0 &\frac{\partial \E}{\partial t} &\Big) \notag\\ &\implies\qquad &\oint_{\partial \Sigma}&\B\cdot\diff\boldsymbol{\ell} &=&\mu_0\Big(\iintS &&\J\cdot\dS &+&\varepsilon_0\frac{\diff}{\diff t}\iintS &\E &\cdot\dS\Big) \end{alignat} |
Pour aller plus loin
D’autre solutions existent pour les équations sur plusieurs lignes (cases
, split
etc.) etc. Vous pouvez consulter le Wikibook de mathématique avancée.