Licence CC BY-NC-ND

Des Mathématiques

L’écriture des mathématiques est une des fonctions clés de LaTeX. En effet, nous avons accès à un système complet et efficace et disposons également de plusieurs packages pour nous faciliter l’écriture des formules. Dans ce chapitre, nous allons voir les bases de l’écriture de formules.

Écriture de base

Les modes mathématiques

Il nous faut distinguer deux manières d’écrire des mathématiques.

  • La première consiste à écrire les mathématiques dans le message (on parle de mode en ligne) de la manière suivante : f(x)=2xf(x) = 2x.
  • L’autre mode (dit hors texte) met les formules mathématiques en évidence en dehors du texte. Par défaut, les formules écrites sont centrées. On a alors
    f(x)=2x.f(x) = 2x.

Pour écrire des formules mathématiques en mode en ligne, il nous suffit de les délimiter par le symbole $. Nous pouvons également les écrire entre \( et \) ou dans l’environnement math.

Posons $f(x) = 2x$.

Posons \( f(x) = 2x \).

Posons \begin{math} f(x) = 2x \end{math}.

Pour des raisons de concision et de facilité de lecture, nous préférerons utiliser le symbole $. C’est lui qui est usuellement utilisé.

Les mathématiques hors texte, elles, se placent entre \[ et \] ou dans l’environnement displaymath, les deux écritures étant équivalentes. Là encore, pour des raisons de concision, nous allons préférer utiliser la première écriture.

Posons
\[
   f(x) = 2x.
\]

Posons
\begin{displaymath}
   f(x) = 2x.
\end{displaymath}

Les mathématiques hors texte sont centrées par défaut. Néanmoins, il est possible d’aligner les mathématiques hors texte en passant l’option fleqn à \documentclass.

Pour écrire des mathématiques hors texte, il existe également la primitive de Tex $$ (on écrira alors $$f(x) = 2x$$). Cependant, nous ne l’utiliserons pas, car, dans certains cas, elle peut altérer les espaces verticales placées avant la formule.

Syntaxe de base

Le mode mathématique doit être utilisé dès que l’on a à écrire des mathématiques. Remarquons par exemple la différence entre « ff », en mode mathématique, et « f », en mode texte. L’écriture n’est pas la même. Par exemple, l’utilisation de lettres accentuées ne fonctionne pas et elles n’apparaîtront pas dans notre document.

D’autres choses diffèrent entre le mode mathématique et le mode texte. La gestion des espaces notamment est différente. En effet, l’espacement entre les symboles est géré automatiquement (suivant la nature du symbole) et le mode mathématique ne prend pas en compte les espaces du code source.

\[
   Nous sommes en mode mathématique.
\]

Le résultat obtenu avec ce code n’est pas celui attendu. Notons que cela signifie que nous pouvons aérer notre code comme on le veut, $x + 2$, $x+2$ et $ x+ 2 $ étant équivalents.

De plus, il est interdit de faire deux retours à la ligne consécutifs (c’est-à-dire d’utiliser la primitive \par) en mode mathématique sous peine d’obtenir une erreur.

Les commandes usuelles

Maintenant que nous connaissons la syntaxe de base et les erreurs à ne pas commettre, voyons les commandes usuelles du mode mathématique.

Les commandes que nous allons voir ici ne sont utilisables qu’en mode mathématique. Les utiliser en mode texte nous fera obtenir l’erreur explicite « missing $ inserted ». Notons de plus que pour écrire le symbole \, nous ne devrons pas utiliser la commande \textbackslash qui, comme son nom l’indique, est faite pour le mode texte, mais la commande \backslash.

Indice et exposants

Pour produire des indices et des exposants, il nous suffit d’utiliser les symboles _ et ^.

On produit un exposant et un indice : $2^2$ et $2_2$.

Si nous voulons placer un ensemble d’éléments en indice, il nous faudra le placer entre accolades ; 2^23 et 2^{23} donnent alors deux résultats différents.

Fractions

Pour produire des fractions, il nous faut utiliser la commande \frac. Elle prend deux arguments, le numérateur et le dénominateur de la fraction. Par exemple, \frac{1}{2} donne 12\frac{1}{2}.

Notons que la commande \frac ne produit pas le même résultat en mode en ligne qu’en mode hors texte. En mode hors texte, la fraction obtenue est plus grande. Pour obtenir le même résultat en mode en ligne, il nous suffit d’utiliser la commande dfrac (pour display fraction) à la place de la commande frac.

Racines

Les racines, elles, se composent en utilisant la commande sqrt qui prend en argument l’expression à placer sous la racine. Ainsi, \sqrt{2} donne 2\sqrt{2}. De plus, la commande \sqrt prend en paramètre facultatif l’ordre de la racine (qui est donc 2 par défaut). Ainsi, avec \sqrt[3]{2}, nous obtenons 23\sqrt[3]{2}.

Fonctions standards

Nous pouvons ressentir le besoin d’utiliser une fonction comme la fonction cosinus dans nos formules. Cependant, $cos(x)$ ne donne pas le résultat attendu, c’est-à-dire qu’on obtient cos(x)cos(x) là où on voudrait plutôt cos(x)\cos(x). Heureusement, nous avons accès à un certain nombre de commandes pour la majorité des fonctions mathématiques usuelles. Elles ne prennent pas d’argument et se contentent d’écrire la fonction en romain et avec les bons espacements. Par exemple, le résultat précédent a été obtenu avec $\cos(x)$. Voici un tableau des fonctions disponibles.

Résultat obtenu

Commande

cos\cos, cosh\cosh, arccos\arccos

$\cos$, $\cosh$, $\arccos$

sin\sin, sinh\sinh, arcsin\arcsin

$\sin$, $\sinh$, $\arcsin$

tan\tan, tanh\tanh, arctan\arctan

$\tan$, $\tanh$, $\arctan$

cot\cot, coth\coth, csc\csc

$\cot$, $\coth$, $\csc$

sec\sec, arg\arg, exp\exp

$\sec$, $\arg$, $\exp$

ln\ln, log\log, lg\lg

$\ln$, $\log$, $\lg$

dim\dim, deg\deg, ker\ker

$\dim$, $\deg$, $\ker$

det\det, gcd\gcd, hom\hom

$\det$, $\gcd$, $\hom$

max\max, min\min, Pr\Pr

$\max$, $\min$, $\Pr$

inf\inf, sup\sup

$\inf$, $\sup$

Intégrales, sommes et limites

Nous disposons également de commandes pour ces éléments. La commande \sum donne le signe somme, \int le signe intégrale, \prod le signe produit et \lim le symbole limite. Ainsi, $\sum k$ donne k\sum k. Nous avons également accès à la commande \oint pour les intégrales sur des courbes fermées (le symbole \oint).

Pour placer les bornes inférieure et supérieure, la syntaxe reste simple puisqu’il nous suffit de les placer en indice et en exposant en utilisant ^ et _. On peut alors écrire ce code.

\[
   \sum_{k = 0}^{n} k = \frac{n(n + 1)}{2}.
\]

Qui nous permet d’obtenir ce résultat.

k=0nk=n(n+1)2.\sum_{k = 0}^{n} k = \frac{n(n + 1)}{2}.

Notons que de même que pour la commande \frac, les résultats obtenus avec cette commande seront différents en mode en ligne, le code précédent donnant k=0nk=n(n+1)2\sum_{k = 0}^{n} k = \frac{n(n + 1)}{2}.

Pour les limites

En mode mathématique, nous pouvons avoir un « l » correspondant à la limite avec la commande \ell qui nous donne \ell plutôt que ll. Le symbole de l’infini est lui obtenu avec la commande \infty.

De plus, le symbole « tend vers » est obtenue avec la commande \to. On peut alors écrire

limxf(x)=\lim_{x \to \infty} f(x) = \ell

avec le code qui suit.

\[
   \lim_{x \to \infty} f(x) = \ell
\]

Nous avons également les commandes \liminf et \limsup qui fonctionnent de la même manière que \lim et donnent lim inf\liminf et lim sup\limsup.

Accents, vecteurs, conjugués, etc.

Nous avons dit qu’écrire une lettre accentuée dans notre code source n’avait aucun effet. Pour obtenir des accents, il nous faut utiliser des commandes.

Résultat obtenu Commande
aˊ\acute{a}, aˋ\grave{a}, a^\hat{a}, a¨\ddot{a}, a~\tilde{a} $\acute{a}$, $\grave{a}$, $\hat{a}$, $\ddot{a}$, $\tilde{a}$
aˇ\check{a}, a˘\breve{a}, aˉ\bar{a}, a˙\dot{a}, a\vec{a} $\check{a}$, $\breve{a}$, $\bar{a}$, $\dot{a}$, $\vec{a}$

La commande \vec, nous permet alors d’écrire des vecteurs en utilisant une flèche, et \bar nous permet d’écrire le conjugué d’un nombre complexe. Cependant, la longueur de l’accent ne s’adapte pas à la longueur du contenu, $\vec{ABC}$ donnant ABC\vec{ABC}. Pour régler ce problème, nous allons plutôt utiliser les commandes \overrightarrow (pour les vecteurs) et \overline (pour le conjugué) qui nous donnent la flèche et la barre de la bonne longueur. On obtient alors

ABC,1+z\overrightarrow{ABC}, \overline{1 + z}

avec le code qui suit.

\[ \overrightarrow{ABC}, \overline{1 + z} \]

Pour garder un document avec une bonne sémantique, il vaut mieux créer des commandes \vecteur et \conjugue qui appliquent respectivement \overrightarrow et \overline à leur argument.

Notons également les commandes \widehat et \widetilde qui sont les pendants de \hat et de \tilde aux longueurs adaptées et la commande \underline qui permet de souligner.


Avec les commandes que nous avons vu ici, nous avons déjà de quoi écrire une grande majorité de formules scientifiques. Et pour écrire plus facilement, certains packages nous donnent plusieurs commandes. Par exemple, le package amsmath nous fournit la commande \text qui nous permet d’écrire du texte en mode mathématique ou encore la commande \binom pour obtenir un coefficient binomial.

(nk) est le nombre de parties aˋ k eˊleˊments d’un ensemble aˋ n eˊleˊments\binom{n}{k} \text{ est le nombre de parties à $k$ éléments d’un ensemble à $n$ éléments}

est alors obtenu avec ce code (notons également la commande \dbinom qui est à \binom ce que \dfrac est à \frac).

\[
   \binom{n}{k} \text{ est le nombre de parties à $k$ éléments d’un ensemble à $n$ éléments}
\]

Le package amsmath est quasiment incontournable lorsqu’on veut écrire des formules un peu complexes. Par exemple, les doubles et triples intégrales sont un peu compliquées à obtenir sans lui (en l’utilisant, on a les commandes \iint et \iiint qui donnent \iint et \iiint).

C’est donc une bonne idée de toujours charger amsmath lorsqu’on veut écrire des maths, ou mieux encore de toujours charger mathtools qui charge amsmath et l’améliore (nous chargerons donc mathtools à la place de amsmath).

Symboles

Cette partie du tutoriel va recenser quelques symboles parmi les plus utilisés. Il est possible (et même conseillé) de la survoler rapidement lors de la première lecture, juste pour voir quels symboles sont disponibles. En effet, il sera toujours possible de s’y référer (ou de se référer à toute autre ressource) pour trouver comment écrire un symbole lorsqu’on en a besoin. C’est en pratiquant que les commandes des symboles les plus utilisées seront retenues, il ne sert à rien de les apprendre.

Les lettres
Les lettres grecques

Commençons par voir comment écrire des lettres grecques. Elles sont obtenues avec des commandes très simples puisque le nom de la commande est le nom de la lettre voulue (\gamma donne γ\gamma et \Gamma donne Γ\Gamma). Cependant, les lettres dont la graphie est identique à celles de l’alphabet latin n’ont pas de commande et sont obtenues avec la lettre latine (par exemple, la lettre omicron est obtenue avec $o$).

Résultat obtenu

Commandes

α\alpha, β\beta, γ\gamma, δ\delta, ϵ\epsilon, ζ\zeta

$\alpha$, $\beta$, $\gamma$, $\delta$, $\epsilon$, $\zeta$

η\eta, θ\theta, ι\iota, κ\kappa, λ\lambda, μ\mu

$\eta$, $\theta$, $\iota$, $\kappa$, $\lambda$, $\mu$

ν\nu, χ\chi, oo, π\pi, ρ\rho, σ\sigma

$\nu$, $\chi$, $o$, $\pi$, $\rho$, $\sigma$

τ\tau, υ\upsilon, ϕ\phi, χ\chi, ψ\psi, ω\omega

$\tau$, $\upsilon$, $\phi$, $\chi$, $\psi$, $\omega$

Résultat obtenu

Commandes

AA, BB, Γ\Gamma, Δ\Delta, EE, ZZ

$A$, $B$, $\Gamma$, $\Delta$, $E$, $Z$

HH, Θ\Theta, II, KK, Λ\Lambda, MM

$H$, $\Theta$, $I$, $K$, $\Lambda$, $M$

NN, XX, OO, Π\Pi, PP, Σ\Sigma

$N$, $X$, $O$, $\Pi$, $P$, $\Sigma$

TT, Υ\Upsilon, Φ\Phi, XX, Ψ\Psi, Ω\Omega

$T$, $\Upsilon$, $\Phi$, $\X$, $\Psi$, $\Omega$

De plus, certaines lettres minuscules ont une variante. En particulier, φ\varphi obtenue avec \varphi et ε\varepsilon obtenue avec \varepsilon sont souvent préférés à \phi et \epsilon. En fait, souvent, on redéfinit les commandes \epsilon et \phi pour les remplacer par \varphi et \varepsilon.

Résultat obtenu

Commandes

ε\varepsilon, ϑ\vartheta, ϱ\varrho

$\varepsilon$, $\vartheta$, $\varrho$

φ\varphi, ϖ\varpi, ς\varsigma

$\varphi$, $\varpi$, $\varsigma$

La commandes \sum ne doit pas être utilisée pour obtenir la lettre sigma. Elle ne doit être utilisée que comme symbole de sommation. Même chose pour la commande \prod et la lettre pi.

Autres lettres

Voyons d’autres commandes pour obtenir des symboles utiles, comme le « h » barrée utilisé pour représenter la constante de Planck réduite.

Symbole

Commande

Commentaire

\aleph

$\aleph$

Première lettre de l’alphabet hébreu

\Re et \Im

$\Re$ et $\Im$

Partie réelle et imaginaire d’un nombre complexe

\nabla

$\nabla$

Nabla

\partial

$\partial$

Symbole de la dérivée partielle

\hbar

$\hbar$

Constante de Planck réduite

Opérateurs binaires

Nous disposons également d’un grand nombre d’opérateurs. Pour commencer, voyons les opérateurs binaires, c’est-à-dire les symboles utilisés pour représenter une opération entre deux expression (le symbole + est par exemple l’opérateur binaire de l’addition et - est celui de la soustraction).

Symbole

Commande

Commentaire

±\pm et \mp

$\pm$ et $\mp$

Plus ou moins

×\times

$\times$

Multiplication (ne pas utiliser x ou *)

÷\div

$\div$

Division

\circ

$\circ$

Composition de fonctions

\cdot

$\cdot$

Produit scalaire

\wedge

$\wedge$

Produit vectoriel

\cup

$\cup$

Union

\cap

$\cap$

Intersection

\oplus

$\oplus$

Somme directe

\setminus

$\setminus$

Différence de deux ensembles (ne pas confondre avec \backslash)

\otimes

$\otimes$

Produit tensoriel

Il existe plusieurs autres opérateurs binaires, mais nous avons vu les plus utiles ici.

Notons que certains de ces opérateurs eux possèdent également une version à taille variable qui permet d’indicer (comme \sum ou \prod). Nous avons alors accès aux commandes suivantes.

Résultat obtenu

Commande

i=0nEi\displaystyle \bigcap_{i = 0}^n E_i

\[ \bigcap_{i = 0}^n E_i \]

i=0nEi\displaystyle \bigcup_{i = 0}^n E_i

\[ \bigcup_{i = 0}^n E_i \]

i=0nEi\displaystyle \bigoplus_{i = 0}^n E_i

\[ \bigoplus_{i = 0}^n E_i \]

i=0nxi\displaystyle \bigwedge_{i = 0}^n x_i

\[ \bigwedge_{i = 0}^n x_i \]

i=0nxi\displaystyle \bigotimes_{i = 0}^n x_i

\[ \bigotimes_{i = 0}^n x_i \]

Relations binaires

Nous avons ensuite des symboles pour représenter des relations binaires, c’est-à-dire les symboles pour indiquer une relation entre deux éléments (le symbole = indique par exemple une relation d’égalité, < la relation « inférieur strict à » et > la relation « supérieur strict à »).

Symbole

Commande

Commentaire

\leq

$\leq$

Inférieur ou égal à

\geq

$\geq$

Supérieur ou égal à

\ll

$\ll$

Très inférieur à

\gg

$\gg$

Très supérieur à

\prec

$\prec$

\succ

$\succ$

\preceq

$\preceq$

\succeq

$\succeq$

\approx et \simeq

$\approx$ et $\simeq$

Environ égal à

\sim

$\sim

Équivalent à (ou suit une loi en probabilités)

\equiv

$\equiv$

Congru à (ou équivalent à)

\mid

$\mid$

Divise (ne pas confondre avec $|$)

\in

$\in

Appartient à

\ni

$\ni

Est un élément de

\subset

$\subset$

Est inclus dans

\supset

$\supset$

Contient

\subseteq

$\subseteq$

Inclusion non stricte

\supseteq

$\supseteq$

Contient ou est égal

\parallel

$\parallel$

Est parallèle à

\perp

$\perp$

Est perpendiculaire à

Nous pouvons obtenir la version négative de ces symboles en utilisant la commande \not juste avant la commande pour le symbole. Ainsi, avec \not\in, nous obtenons ∉\not\in et avec \not > nous obtenons \not >.

Notons de plus que nous avons la commande \neq pour obtenir \neq (équivalente à \not = et la commande \notin pour obtenir \notin (équivalente à \not \in).

Logiques et ensembles

Il existe plusieurs commandes liées aux ensembles et à la logique.

Symbole

Commande

Commentaire

\emptyset

$\emptyset$

Ensemble vide

\exists

$\exists$

Quantificateur existentiel, il existe

\forall

$\forall$

Quantificateur universel, pour tout

¬\lnot

$\lnot$

Non logique (logical not)

\land

$\land$

Et logique (logical and)

\lor

$\lor$

Ou logique (logical or)

    \implies

$\implies$

Implication

    \impliedby

$\impliedby$

Implication

    \iff

$\iff$

Équivalence

\to

$\to$

Vers, dans

Notons que la commande \land est strictement équivalente à la commande \wedge. Cependant, elles n’ont pas la même sémantique (leur nom le montre bien) et \land doit être préféré pour la logique et \wedge pour les produits vectoriels.

Délimiteurs

Les délimiteurs sont les symboles comme les parenthèses qui servent à… Délimiter une expression en regroupant ses termes. En écrivant $3 \times (x + 2)$, j’utilise des délimiteurs. Voici la liste des délimiteurs utilisables.

Résultat obtenu

Commande

(x)(x)

$(x)$

[x][x]

$[x]$

{x}\{ x \}

$\{ x \}$

x\langle x \rangle

$\langle x \rangle$

x\lceil x \rceil

$\lceil x \rceil$

x\lfloor x \rfloor

$\lfloor x \rfloor

|

$\vert$ ou $|$

\Vert

$\Vert$ ou $\|$

Les commandes \mid et \vert, tout comme \Vert et \parallel sont différentes ($a \mid b$ donne aba \mid b et $a | b$ donne aba | b. Cela est dû au fait qu’il s’agit de deux types d’objets différents. \mid représente une relation, et | représente un délimiteur. Il faut veiller à utiliser le bon objet au bon moment.

Ainsi, nous écrirons une norme en utilisant \Vert (et mieux, nous créerons une commande pour la norme pour avoir un code plus sémantique), mais nous utiliserons \parallel pour indiquer une relation entre deux expressions.

Taille des délimiteurs

Lorsque nous plaçons des délimiteurs autour d’un élément un peu grand (une fraction par exemple), le résultat n’est pas très joli :

(12).( \frac{1}{2} ).

Heureusement, il est possible d’obtenir des délimiteurs de taille adaptée à leur contenu grâce aux primitives \left et \right. Elles vont de pair et prennent en paramètre un délimiteur dont elles adaptent la taille à ce qui se trouve entre elles. On obtient alors

(12)\left( \frac{1}{2} \right)

avec le code qui suit.

\[ \left( \frac{1}{2} \right) \].

On peut associer des délimiteurs différents (accolades et parenthèses par exemple) et leur sens n’a pas d’importance. On peut alors obtenir

]12}\left] \frac{1}{2} \right\}

en écrivant ce code.

\[ \left] \frac{1}{2} \right\} \]

Il existe également un délimiteur qui n’affiche rien, il s’agit de .. Son but est de permettre de n’avoir qu’un délimiteur affiché. En effet, puisqu’à chaque commande \left doit correspondre une commande \right, pour n’afficher qu’un seul délimiteur, il suffit d’utiliser .. On a alors

12\left. \frac{1}{2} \right\vert

avec ce code.

\[ \left. \frac{1}{2} \right\vert \]
Flèches

Nous disposons de plusieurs commandes pour composer des flèches. Plutôt que de juste recenser ces différentes flèches, nous allons voir comment retenir les noms des commandes.

Flèches normales

La première chose à savoir pour les flèches normales est que tous les noms des commandes se terminent par \arrow.

Ensuite, en associant plusieurs mots, on décrit la flèche comme on le veut.

  • Juste avant arrow, on donne la direction de la flèche qui est up, down, left et right (on peut mettre des flèches aux deux extrémités avec updown ou leftright).
  • En mettant la première lettre de la commande en majuscule, on obtient une flèche double.

Symbole

Commande

\leftarrow et \Leftarrow

$\leftarrow$ et $\Leftarrow$

\rightarrow et \Rightarrow

$\rightarrow$ et $\Rightarrow$

\uparrow et \Uparrow

$\uparrow$ et $\Uparrow$

\downarrow et \Downarrow

$\downarrow$ et $\Downarrow$

\leftrightarrow et \Leftrightarrow

$\leftrightarrow$ et $\Leftrightarrow$

\updownarrow et \Updownarrow

$\updownarrow$ et $\Updownarrow$

De plus, en préfixant le nom des commandes de flèches horizontales par long, on obtient un flèche plus longue (dans le cas, où on veut une flèche double, c’est toujours la première lettre de la commande, le « l » ici, qui doit être mise en majuscule.

Symbole

Commande

\longleftarrow et \Longleftarrow

$\longleftarrow$ et $\Longleftarrow$

\longrightarrow et \Longrightarrow

$\longrightarrow$ et $\Longrightarrow$

\longleftrightarrow et \Longleftrightarrow

$\longleftrightarrow$ et $\Longleftrightarrow$

Flèches diagonales

Nous disposons également de quelques flèches supplémentaires. Pour commencer les flèches en diagonale. Leur nom se retient également, il se base sur les points cardinaux en anglais (à savoir north, east, west et south). Le nom se compose simplement des initiales de la direction suivie de arrow.

Symbole

Commande

\nearrow, \searrow, \nwarrow et \swarrow

$\nearrow$, $\searrow$, $\nwarrow$ et $\swarrow$

Autres flèches

Et nous avons encore d’autres flèches. Notons notamment la flèche \mapsto obtenue avec \mapsto (et sa version plus longue \longmapsto obtenue avec \longmapsto) souvent utilisée lors de la définition de fonctions.

Au niveau des flèches horizontales, nous avons également les flèches recourbées dont le nom de la commande est composée de cette manière : \hook<direction>arrow.

Symbole

Commande

\hookleftarrow et \hookrightarrow

$\hookleftarrow$ et $\hookrightarrow$

Et enfin, toujours du côté des flèches horizontales, nous avons les flèches « harpons », dont le nom de la commande est composée de cette manière : \<direction_flèche>harpoon<direction_harpon>.

Symbole

Commande

\leftharpoonup et \leftharpoonup

$\leftharpoonup$ et $\leftharpoonup$

\leftharpoondown et \leftharpoondown

$\leftharpoondown$ et $\leftharpoondown$

\rightleftharpoons

$\rightleftharpoons$


L’une des choses les plus difficiles quand on commence à écrire des mathématiques avec LaTeX est d’utiliser la bonne commande. Par exemple, il ne faut pas confondre | et \mid. De plus, même si \to et \rightarrow donnent le même résultat, dans le cas de définition de fonctions ou de limites, il vaut mieux utiliser \to qui est alors plus sémantique.

Pour savoir quelle commande utiliser, on peut se demander quel type de symbole on utilise. Si on a besoin d’un délimiteur, on ne va pas utiliser la commande \mid qui permet d’obtenir un opérateur de relation.

Certains packages donnent accès à plusieurs autres symboles. Le package amssymb en particulier donne accès à une grande liste de symboles et est, de même que amsmath, quasiment incontournable lorsqu’on écrit des mathématiques. Il propose par exemple la commande \complement permet d’obtenir le symbole \complement pour noter le complémentaire d’une partie ou encore la commande \varnothing qui permet d’obtenir le symbole \varnothing pour l’ensemble vide alors qu’\emptyset donne \emptyset.

C’est donc une bonne idée d’également charger amssymb lorsque nous écrivons des maths. Nous chargerons donc mathtools et amssymb lorsque ce sera le cas.

Environnements mathématiques et autres commandes utiles

Environnements

Nous disposons de plusieurs environnements mathématiques pour par exemple numéroter les équations ou écrire des systèmes.

equation

L’environnement equation est le plus simple. Il agit comme displaymath, mais en plus numérote la formule (la numérotation est automatique). On a alors une équation numérotée avec le code qui suit.

\begin{equation}
   f(x) = 3x + 2
\end{equation}

L’environnement equation s’utilise en dehors du mode mathématique. Dans le cas contraire, nous obtiendrons une errreur. Ce code est donc erroné.

\[
\begin{equation}
   f(x) = 3x + 2
\end{equation} 
\]
split

L’environnement split, lui, nous permet d’écrire des équations sur plusieurs lignes. Pour indiquer que l’on veut passer à la ligne suivante, il nous suffit d’écrire \\. On obtient alors

f(x)=x5+2x4+3x3+4x2+5x+6\begin{aligned} f(x) = x^5 + 2x^4 + 3x^3\\ + 4x^2 + 5x + 6 \end{aligned}

avec ce code.

\[
\begin{split}
    f(x) = x^5 + 2x^4 + 3x^3\\
               + 4x^2 + 5x + 6 
\end{split}
\]

Contrairement à equation, quand on utilise split, on doit être en mode mathématique. De plus, l’équation n’est pas numérotée.

L’environnement split permet aussi d’aligner les lignes comme on le veut en utilisant le symbole & (l’alignement se fera alors au niveau de ce symbole).

f(x)=x5+2x4+3x3+4x2+5x+6\begin{aligned} f(x) = x^5 &+ 2x^4 + 3x^3\\ &+ 4x^2 + 5x + 6 \end{aligned}

est alors obtenu avec ce code.

\[
\begin{split}
    f(x) = x^5 &+ 2x^4 + 3x^3\\
               &+ 4x^2 + 5x + 6 
\end{split}
\]

Notons que l’aération et la présentation du code restent un choix ; nous ne sommes pas obligés d’aller à la ligne après \\ et d’aligner effectivement les & dans le code. Le code suivant est strictement équivalent à celui que nous venons d’écrire (mais est moins lisible).

\[
\begin{split} f(x) = x ^ 5 & + 2 x^ 4 + 3x ^3 \\&+4x^2 +5x+6 \end{split}
\]

  Nous ne verrons pas plus de choses sur les environnements ici, mais il nous faut savoir que plusieurs autres environnements existent, permettant par exemple d’écrire des matrices ou des tableaux.

Pour plus d’informations sur les environnements mathématiques, nous pouvons aller voir ce tutoriel et plus particulièrement son deuxième chapitre. Il présente notamment les environnements proposés par les packages amsmath et mathtools (oui, encore eux) et la gestion des références aux équations.

Théorèmes

Il n’est pas rare de vouloir écrire des théorèmes lorsqu’on écrit des documents scientifiques, et avec LaTeX, nous pouvons en écrire facilement. Voyons d’abord un exemple de son utilisation que nous allons ensuite commenter.

\documentclass[12pt, french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathtools} % Charge amsmath.
\usepackage{amssymb}
\usepackage{babel}

\newtheorem{theorem}{Théorème}[section]
\newtheorem{proposition}{Proposition}[subsection]

\begin{document}
   \section{Théorème}
      Voici un premier théorème.
      \begin{theorem}[Exemple de théorème]
         Voici notre premier exemple de théorème. Quel résultat
         obtiendra-t-on ?
      \end{theorem}
	  
	  Allons maintenant dans une sous-section.
	  
	  \subsection{Théorème et proposition}
	  \begin{theorem}
         Et on fait quand même un second exemple pour être sûr.
         Après tout qui sait.
      \end{theorem}
	  
      \begin{proposition}[Exemple de proposition]
         Les propositions aussi c’est bien. Même si ça ne vaut
         pas un  bon théorème…
      \end{proposition}
\end{document}

Pour écrire un théorème, il faut d’abord créer un type de théorème avec la commande \newtheorem. Elle s’emploie comme suit.

\newtheorem{<nom>}{<texte>}[<compteur>]

Cette commande nous permet alors d’utiliser l’environnement theorem qui crée un théorème .

\begin{<nom>}[Exemple de théorème]
   Voici un théorème
\end{<nom>}

Le théorème est alors affiché de la manière qui suit.

  • Le deuxième argument de \newtheorem est imprimé.
  • Un numéro est imprimé. En argument facultatif de \newtheorem nous donnons un nom associé à un compteur. Cela permet d’indiquer que l’on veut que la numérotation recommence à chaque fois que l’on crée une nouvelle section par exemple. De plus, le numéro du théorème sera alors précédé de celui de la section.
  • L’argument optionnel de l’environnement est affiché (si on l’a passé) entre parenthèses. Généralement, il s’agit du nom du théorème ou de son auteur.
  • Le contenu du théorème est affiché en italique.

Grâce à cela, nous pouvons créer autant d’environnements que nécessaires, pour les théorèmes, les définitions, les lemmes, etc. Ils auront tous leur propre compteur. Et on peut également y faire référence comme le montre le code qui suit.

\begin{proposition}[Exemple de proposition]\label{prop:exemple}
   Un exemple de proposition qu’on utilise pour illustrer les références.
\end{proposition}
On fait référence à la proposition \ref{prop:exemple}.

Pour bénéficier de plus de fonctionnalités, nous pourrons nous renseigner sur les packages qui permettent de gérer les théorèmes. Le package ntheorem est par exemple présenté dans ce tutoriel.

Autres commandes utiles

Et il reste pleins d’autres commandes très utiles que nous n’avons pas vues. Bien sûr, nous ne pourrons pas toutes les voir, mais nous pouvons quand même présenter quelques fonctionnalités utiles.

Accolades horizontales

Nous obtenons des accolades horizontales qui s’étendent au dessus (respectivement en dessous) d’une formule, grâce à la commande \overbrace (respectivement \underbrace). Elles prennent en paramètre le texte qui doit être affublé de l’accolade.

(2+3)×(1+2)=2+4+3+6=15\overbrace{(2 + 3)} \times \underbrace{(1 + 2)} = 2 + 4 + 3 + 6 = 15

s’obtient avec ce code.

\[ \overbrace{(2 + 3)} \times \underbrace{(1 + 2)} = 2 + 4 + 3 + 6 = 15 \]

De plus, en utilisant les symboles ^, et _, on peut écrire au dessus et en dessous des accolades (la police est alors plus petite).

(2+3)=5×(1+2)=3=2+4+3+6=15\overbrace{(2 + 3)}^{= 5} \times \underbrace{(1 + 2)}_{= 3} = 2 + 4 + 3 + 6 = 15

s’obtient avec ce code.

\[ 
   \overbrace{(2 + 3)}^{= 5} \times \underbrace{(1 + 2)}_{= 3} 
   = 2 + 4 + 3 + 6 = 15 
\]

^ peut également s’utiliser avec \underbrace, de même que _ peut s’utiliser avec \overbrace.

Superposition de symboles

Il peut être très utile de mettre un symbole au dessus ou en dessous d’un autre. Le mieux pour cela est d’utiliser les commandes \overset et \underset du package amsmath. Elles permettent d’obtenir

xff(x),y=fxx \overset{f}{\longmapsto} f(x), y \underset{f}{=} x

en écrivant ce code.

\[ x \overset{f}{\longmapsto} f(x), y \underset{f}{=} x \]

Mais avant de chercher à utiliser ces commandes, il vaut mieux chercher si le symbole que l’on veut obtenir n’existe pas. Par exemple, il est inutile d’utiliser \overset{.}{=} pour obtenir \doteq puisque la commande \doteq permet déjà d’obtenir ce symbole.


Ce chapitre très long nous présente les bases de l’écriture mathématique. Pour le compléter, il est conseillé d’aller consulter d’autres ressources, notamment celle-ci qui présente les outils mathématiques plus profondément (création de commandes personnalisées, présentation des environnements mathématiques les plus utiles, etc.).

Tout comme Rome ne s’est pas faite en un jour, nous n’apprendrons pas à bien écrire des mathématiques en un jour, mais petit à petit, nous nous améliorerons et écrirons facilement et efficacement.