None TP0-B-Markdown
In [1]:
from IPython.core.display import HTML
css_file = './custom.css'
HTML(open(css_file, "r").read())
Out[1]:

M62_TP0 Les cellules Markdown et sa syntaxe

Dans un notebook la touche M transforme la cellule sélectionnée en type Markdown. Vous pouvez alors rédiger du texte enrichi (titres, sous-titres, gras, italique, alinéas, tableaux, liens hypertexte, etc).
Le texte de la cellule doit être rédigé en langage Markdown qui est un langage de balisage léger. La syntaxe markdown est facile à apprendre (le plus simple est d'ailleurs de regarder des exemples de documents). Voici quelque liens :

Il est également possible d'insérer des morceaux de texte en langage $\LaTeX$ pour composer des expressions mathématiques.

La syntaxe

Markdown est un système d’édition et de formatage de texte. La philosophie du système veut que le texte écrit soit lisible sans interpréteur particulier en mode texte. Il est léger et épuré de l’essentiel de la verbosité d’un language balisé.
Les éléments de syntaxe sont des caractères de ponctuation qui font sens visuellement même non convertis. Une fois converti, le navigateur web (qui joue alors le rôle d’interpréteur) en rendra la lecture plus claire.

Vous pouvez tout à fait introduire directement des balises HTML dans votre texte. Attention, le formatage markdown ne sera pas appliqué à l’intérieur de ces balises.

Les titres

Il est possible de titrer en ajoutant des dièses (#) au début de la ligne. Il n’y a pas de limite au nombre de niveaux de titres qu’il est possible d’utiliser (mais n’allez pas au delà de 4).

# Title 1  
## Title 2  
### Title 3  
####  Title 4
#####  Title 5

Les paragraphes

Pour afficher un paragraphe, laisser une ligne vide.

Effectuer un saut de ligne simple dans votre texte markdown n’aura aucun effet. Sauf si vous terminez votre ligne par un double espace (ou plus que ça)...
comme ici.

L’emphase

Pour formater une partie de votre texte comme emphase, entourez le par des astérisques * ou des underscores _. Entourer par un signe unique passe en italique et par un double signe en gras. Il est possible de combiner les deux.
Un double tildes ~~ vous permettent de barrer le texte.

Les citations

Pour afficher un bloc de citation, commencez le paragraphe par un chevron fermant >. Si votre bloc contient plusieurs lignes, vous pouvez faire des sauts de lignes à la main et toutes les ouvrir par un chevron fermant, mais ce n’est pas nécessaire. Ces bloc peuvent contenir d’autres éléments markdown comme des titres ou des listes.

Bootstrap Box

On peut utiliser des boîtes colorées fournies par bootstrap, mais pour cela il faut utiliser des balises html.

NB: Des lignes vides sont nécessaires avant/après une section de démarquage qui se trouve dans une balise html, sinon la syntaxe markdown ne fonctionnera pas.

Boîte de type "alert-success"

<div class="alert alert-success">

**Success!** Indicates a successful or positive action.

</div>

**Success!** Indicates a successful or positive action.

Boîte de type "alert-warning"

<div class="alert alert-warning">

**Warning!** Indicates a warning that might need attention.

</div>

**Warning!** Indicates a warning that might need attention.

Boîte de type "alert-danger"

<div class="alert alert-danger">

**Danger!** Indicates a dangerous or potentially negative action.

</div>

**Danger!** Indicates a dangerous or potentially negative action.

Boîte de type "alert-info"

<div class="alert alert-info">

**Info:** indicates a neutral informative change or action.

</div>

**Info:** indicates a neutral informative change or action.

Boîte à dérouler

<details>

**Shopping list**

- Vegetables
- Fruits
- Fish

</details>

**Shopping list** - Vegetables - Fruits - Fish

Les listes non ordonnée

Pour afficher une liste, commencez la ligne par une astérisque *, un moins - ou un plus +. Là encore, le choix n’a pas d’importance, mais il faut rester cohérent dans votre document.

+ item
+ item
+ item

donne

  • item
  • item
  • item

Les listes ordonnées

Pour afficher une liste ordonnée, commencez la ligne par un nombre suivit d’un point.

1. item  
123. item  
17. item

donne

  1. item
  2. item
  3. item

Le bloc de code

Pour afficher un bloc de code, sautez deux lignes comme pour un paragraphe, puis indentez avec 4 espaces ou une tabulation.
Pour afficher du code dans une ligne, il faut l’entourer par des guillemets simples (`).

Les filets ou barres de séparation

Pour afficher un filet de séparation, entrez dans votre texte au moins 3 astérisques * ou 3 moins - sur une ligne entourée de sauts de lignes. Il est possible de les séparer par des espaces.

Les liens

Il y a deux façons d’afficher un lien.

  1. De manière automatique en encadrant un lien par des chevrons, par exemple <http://www.google.com> donne http://www.google.com. Il est alors cliquable et affiche l’url indiquée entre chevrons.
  2. Ou en ajoutant des paramètres. Le texte à afficher est alors indiqué entre crochets suivit de l’adresse du lien entre parenthèses, par exemple [google](http://www.google.com "link to google") donne google. Dans les parenthèses, à la suite du lien, on peut indiquer un titre entre guillemets. Ce titre sera affiché lors du survol du lien dans le navigateur. Il sera également lu par les navigateurs textuels pour les déficients visuels.

Les images

Pour afficher une image en markdown,

  • commencez par un point d’exclamation,
  • puis indiquez le texte alternatif entre crochets. Ce dernier sera affiché si l’image n’est pas chargé et lue par les moteurs de recherche.
  • Terminez par l’URL de l’image entre parenthèses:
    • Cette URL peut être un lien vers le web https://upload.wikimedia.org/wikipedia/commons/3/38/Jupyter_logo.svg
    • ou un chemin local de ce type : /dossier_images/nom_de_mon_image.jpg.
  • Après le lien vers l’image, il est possible d’ajouter un titre lu par les navigateurs textuels et affiché au survol de l’image par les autres.
    Exemple:
    ![Jupyter logo](https://upload.wikimedia.org/wikipedia/commons/3/38/Jupyter_logo.svg)
    donne Jupyter logo

Si l'image doit être redimensionnée, utiliser directement du code $\texttt{html}$.
Comparer les codes suivants

  • ![Google logo](https://www.google.fr/images/srpr/logo11w.png "google logo") donne
    Google logo
  • <img src = "https://www.google.fr/images/srpr/logo11w.png" title = "google logo" alt = "Google logo" width="200"> donne
    Google logo

Si on veut qu'une image locale soit directement sauvegardée dans le notebook (par exemple pour partager le notebook sur le web), on peut utiliser une cellule Python et plusieurs méthodes sont possibles:

In [2]:
from IPython.display import Image
from IPython.core.display import HTML 
Image(url= "http://www.apprendre-en-ligne.net/blog/images/pacmath.png")
Out[2]:
In [3]:
# You retain the ability to use HTML tags to resize, etc...
Image(url= "http://www.apprendre-en-ligne.net/blog/images/pacmath.png", width=100, height=100)
Out[3]:
In [4]:
# You can also display images stored locally, either via relative or absolute path.
PATH = "./Images/"
Image(filename = PATH + "pacmath.png", width=100, height=100)
Out[4]:

Les tableaux

L’idée globale est de “dessiner” des colonnes en les entourant avec des pipes |. Le nombre de colonnes est défini dans la première ligne du tableau et vous devez pour chaque ligne avoir le même nombre de colonnes, même si certaines sont vides.
La première ligne sera votre en-tête. La seconde ligne sépare cet en-tête du corps du tableau, elle ne contient que des tiret - Il n'est plus possible de définir l'alignement des colonnes dans markdown.

| Header 1      |     header 2    |   header 3 |  
| --- |--- |--- |  
| 1 Online      |        1        |      value |  
| Line 2        |        2        |      value |  
| 3 Online      |        3        |      value |
Header 1 header 2 header 3
1 Online 1 value
Line 2 2 value
3 Online 3 value

Assistant en ligne : Markdown Tables Generator

Échappement des caractères

Les caractères spéciaux ayant un sens en markdown doivent être échappés. Si vous souhaitez utiliser dans votre texte des astérisques, accolades, dièses... à une position indiquant à markdown que vous désirer un formatage particulier, vous devez les échapper en les faisant précéder d’un antislash \. Sinon markdown les masquera et appliquera le formatage correspondant. Les caractères suivants sont à échapper :

\ * ` - _ [] () {} # + . !  

Écriture de formules mathématiques

Les équations peuvent être directement données au format $\LaTeX$, on peut donc par exemple écrire $x_i$ au milieu d’une ligne ou bien écrire des équations dans une nouvelle ligne et centrées:
$$\sum_{n=1}^{\infty}\frac{1}{n^2}=\frac{\pi^2}{6}. $$
Quelques commandes $\LaTeX$ de base sont expliquées sur cette page, et pour plus de détails, vous pourrez consulter mon polycopié d'Initiation à $\LaTeX2e$, disponible ici, en particulier le chapitre 3.

Les modes mathématiques

Pour taper des formules mathématiques avec $\LaTeX$ , il y a besoin d’entrer en mode mathématiques.
Il existe deux modes mathématiques : les formules dans le texte (appelée inline) et les formules en évidence (dites en displaystyle).

  • Pour mettre une formule dans le texte, comme $y=f(x)$, il suffit de mettre la formule entre deux dollars: $y=f(x)$.
    Remarquer la différence entre le mode texte et le mode mathématique : avec des dollars on a $y=f(x)$ tandis que sans dollars on a y=f(x)
  • Pour mettre une formule en évidence, comme $$y=f(x)$$ il faut mettre la formule entre deux doubles dollars $$y=f(x)$$

Indices et exposantes

Deux opérations fondamentales en mode mathématique sont la mise en exposant et la mise en indice.

  • Pour obtenir un indice, il faut utiliser la touche _ qui s’obtient avec la touche «8». Par exemple, taper $x_1$ donnera $x_1$. Attention, taper $x_12$ ne donne pas $x_{12}$ mais $x_12$: seul le premier caractère tapé après _ est mis en indice; pour obtenir $x_{12}$, il faut taper $x_{12}$.
  • Pour obtenir un exposant, il faut utiliser ^ (accent circonflexe qui s’obtient en tapant deux fois la touche «^»). Par exemple, $x^2$ donne $x^2$. De même que pour les indices, $x^23$ donne $x^23$ tandis que $x^{23}$ donne $x^{23}$.
  • On peut bien sûr combiner les deux, dans l’ordre que l’on veux : $x_1^2$ ou $x^2_1$ donnent $x^2_1$

Symboles d'usage courant

Résultat Commande Résultat Commande Résultat Commande
$\infty$ \infty $\le$ \le $\iff$ \iff
$\forall$ \forall $\leq$ \leq $\nearrow$ \nearrow
$\exists$ \exists $\ge$ \ge $\searrow$ \searrow
$\nexists$ \nexists $\geq$ \geq $\in$ \in
$\partial$ \partial $\approx$ \approx $\subset$ \subset
$\ell$ \ell $\simeq$ \simeq $\cup$ \cup
$\pm$ \pm $\equiv$ \equiv $\cap$ \cap
$\mp$ \mp $\to$ \to $\setminus$ \setminus
$\times$ \times $\mapsto$ \mapsto $\emptyset$ \emptyset
$\neq$ \neq $\implies$ \implies $\impliedby$ \impliedby

Pour la négation d'un symbole, on peut utiliser \not. Par exemple, $F \not\subset E$ fournit $F \not\subset E$.

Racine carrée, racine n-ième

La racine carrée s'obtient par \sqrt{...} et la racine n-ième par \sqrt[n]{...}:

$$

\sqrt{1+x} + \sqrt[3]{1+x} $$

$$\sqrt{1+x} + \sqrt[3]{1+x}$$

Fractions et coefficients binomiaux

Pour les fractions, on utilise la commande \frac{}{} qui prend deux arguments, dans l'ordre le numérateur et le dénominateur.
Pour les coefficients binomiaux on utilise la commande \binom{}{}.
Le rendu change selon qu'il s'agit d'une formule inline ou d'une formule displaystyle:
$\frac{1}{2}+1$ donne $\frac{1}{2}+1$
$$\frac{1}{2}+1$$ donne $$\frac{1}{2}+1$$

Lettres grecques

Pour taper les lettres grecques, il suffit de précéder le nom de la lettre par un backslash; par exemple $\alpha$ donne $\alpha$. Voici une liste complète des lettres grecques disponibles sous $\LaTeX$:

Résultat Commande Résultat Commande Résultat Commande
$ \alpha$ \alph$ $ \nu$ \nu $ \Gamma$ \Gamma
$ \beta$ \beta $ \xi$ \xi $ \Delta$ \Delta
$ \gamma$ \gamma $ \pi$ \pi $ \Theta$ \Theta
$ \delta$ \delta $ \varpi$ \varpi $ \Lambda$ \Lambda
$ \epsilon$ \epsilon $ \rho$ \rho $ \Xi$ \Xi
$ \varepsilon$ \varepsilon $ \varrho$ \varrho $ \Pi$ \Pi
$ \zeta$ \zeta $ \sigma$ \sigma $ \Sigma$ \Sigma
$ \eta$ \eta $ \tau$ \tau $ \Upsilon$ \Upsilon
$ \theta$ \theta $ \upsilon$ \upsilon $ \Phi$ \Phi
$ \vartheta$ \vartheta $ \chi$ \chi $ \Psi$ \Psi
$ \iota$ \iota $ \phi$ \phi $ \Omega$ \Omega
$ \kappa$ \kappa $ \varphi$ \varphi
$ \lambda$ \lambda $ \psi$ \psi
$ \mu$ \mu $ \omega$ \omega

Texte dans une formule displaystyle

La commande \text{} permet d'insérer du texte dans une formule displaystyle (les commandes \quad et \qquad insèrent de l'espace autour du texte):

$$

y = x^2 \qquad \text{et donc} \quad x = \pm\sqrt{y} $$

donne $$y = x^2 \qquad \text{et donc} \quad x = \pm\sqrt{y} $$

Fonctions mathématiques

Résultat Commande Résultat Commande Résultat Commande Résultat Commande
$\exp$ \exp $\cos$ \cos $\cosh$ \cosh $\lim$ \lim
$\ln$ \ln $\sin$ \sin $\sinh$ \sinh $\limsup$ \limsup
$\lg$ \lg $\tan$ \tan $\tanh$ \tanh $\liminf$ \liminf
$\log$ \log $\cot$ \cot $\coth$ \coth $\max$ \max
$\inf$ \inf $\arccos$ \arccos $\gcd$ \gcd $\sup$ \sup
$\det$ \det $\arcsin$ \arcsin $\hom$ \hom $\min$ \min
$\deg$ \deg $\arctan$ \arctan $\ker$ \ker $\arg$ \arg
$\dim$ \dim

 Grands opérateurs: intégrales, sommes, produits, etc.

Le rendu des grands opérateurs change selon qu'il s'agit d'une formule inline ou d'une formule displaystyle. Certaines de ces commandes prennent, tout comme $\max$ ou $\lim$, des bornes. Le principe est le même, on utilise des indices ou des exposants pour les taper. Le placement des indices et exposants dépend à nouveau de si la formule est mise en évidence ou pas.
$\int_a^b f(x) dx$ et $\sum_{i=0}^n u_n$ donnent $\int_a^b f(x) dx$ et $\sum_{i=0}^n u_n$
$$\int_a^b f(x) dx$$ et $$\sum_{i=0}^n u_n$$ donnent $$\int_a^b f(x) dx$$ et $$\sum_{i=0}^n u_n$$

Ponctuellement et seulement si absolument nécessaire, dans une formule inline

  • on peut forcer le positionnement des indices avec \limits:
    $\int\limits_a^b f(x) dx$ et $\sum\limits_{i=0}^n u_n$ donnent $\int\limits_a^b f(x) dx$ et $\sum\limits_{i=0}^n u_n$
  • on peut forcer la dimension et le positionnement des indices avec \displaystyle
    $\displaystyle\int_a^b f(x) dx$ et $\displaystyle\sum_{i=0}^n u_n$ donnent $\displaystyle\int_a^b f(x) dx$ et $\displaystyle\sum_{i=0}^n u_n$
Résultat inline Commande Résultat displaystyle Commande
$\int$ $\int$ $\displaystyle\int$ $$\int$$
$\iint$ $\iint$ $\displaystyle\iint$ $$\iint$$
$\iiint$ $\iiint$ $\displaystyle\iiint$ $$\iiint$$
$\sum$ $\sum$ $\displaystyle\sum$ $$\sum$$
$\prod$ $\prod$ $\displaystyle\prod$ $$\prod$$
$\bigcup$ $\bigcup$ $\displaystyle\bigcup$ $$\bigcup$$
$\bigcap$ $\bigcap$ $\displaystyle\bigcap$ $$\bigcap$$
$\bigsqcup$ $\bigsqcup$ $\displaystyle\bigsqcup$ $$\bigsqcup$$
$\bigoplus$ $\bigoplus$ $\displaystyle\bigoplus$ $$\bigoplus$$
$\bigotimes$ $\bigotimes$ $\displaystyle\bigotimes$ $$\bigotimes$$
$\coprod$ $\coprod$ $\displaystyle\coprod$ $$\coprod$$

Pour mettre plusieurs lignes dans les indices, il faut utiliser \substack{}; à l'intérieur de l'argument de \substack, on passe à la ligne avec \\.

$$

Li(x)=\prod{\substack{j=0\j\neq i}}^n\frac{x-x_j}{x_i-x_j} $$

donne $$L_i(x)=\prod_{\substack{j=0\\j\neq i}}^n\frac{x-x_j}{x_i-x_j}$$

Accents mathématiques

Voici les accents pouvant se mettre sur une lettre seule:

Résultat Commande Résultat Commande Résultat Commande
$\tilde{a}$ \tilde{a} $\mathring{a}$ \mathring{a} $\dot{a}$ \dot{a}
$\vec{a}$ \vec{a} $\grave{a}$ \grave{a} $\ddot{a}$ \ddot{a}
$\hat{a}$ \hat{a} $\acute{a}$ \acute{a} $\dddot{a}$ \dddot{a}
$\bar{a}$ \bar{a} $\breve{a}$ \breve{a} $\ddddot{a}$ \ddddot{a}
$\check{a}$ \check{a}

Il existe aussi des accents extensibles:

Résultat Commande Résultat Commande Résultat Commande
$\widehat{abc}$ \widehat{abc} $\widetilde{abc}$ \widetilde{abc} $\overleftarrow{abc}$ \overleftarrow{abc}
$\overline{abc}$ \overline{abc} $\underbrace{abc}$ \underbrace{abc} $\underleftarrow{abc}$ \underleftarrow{abc}
$\underline{abc}$ \underline{abc} $\overrightarrow{abc}$ \overrightarrow{abc} $\overleftrightarrow{abc}$ \overleftrightarrow{abc}
$\overbrace{abc}$ \overbrace{abc} $\underrightarrow{abc}$ \underrightarrow{abc} $\underleftrightarrow{abc}$ \underleftrightarrow{abc}

Pour \underbrace il est possible de placer du matériel en-dessous en utilisant _ et pour \overbrace du matériel au-dessus en utilisant ^:

$$

\underbrace{x^3 + x^2 + x + 1}_{\to 0} \qquad \overbrace{x^3 + x^2 + x + 1}^{= 0} $$

donne $$\underbrace{x^3 + x^2 + x + 1}_{\to 0} \qquad \overbrace{x^3 + x^2 + x + 1}^{= 0}$$

Délimiteurs

Résultat Commande Résultat Commande Résultat Commande
$($ ( $/$ / $\lfloor$ \lfloor
$)$ ) $\backslash$ \backslash $\rfloor$ \rfloor
$[$ [ $\lvert$ \lvert $\lceil$ \lceil
$]$ ] $\rvert$ \rvert $\rceil$ \rceil
$\{$ \{ $\lVert$ \lVert $\langle$ \langle
$\}$ \} $\rVert$ \rVert $\rangle$ \rangle
rien .

Il est important de comprendre que, même si \lvert et \rvert se ressemblent, ils ne peuvent pas être interchangés: \lvert doit toujours être utilisé pour ouvrir et \rvert pour refermer. Par exemple, $\lvert x\rvert$ se tape $\lvert x \rvert$. Les seuls délimiteurs à n'être ni ouvrant ni fermant mais médian sont le slash /, l'anti-slash \ et le \middle.

Pour avoir des délimiteurs qui sont de la même taille que ce qu'ils entourent, il faut précéder le délimiteur ouvrant par \left et le délimiteur fermant par \right:

$$

(1+\frac{1}{n})^n $$ donne $$(1+\frac{1}{n})^n$$

$$

\left(1+\frac{1}{n}\right)^n $$ donne $$\left(1+\frac{1}{n}\right)^n$$

Voici un exemple d'utilisation d'un délimiteur vide:

$$

\left.\frac{\partial P}{\partial T}\right|{V}=\frac{nR}{V} $$ donne $$\left.\frac{\partial P}{\partial T}\right|{V}=\frac{nR}{V}$$

On peut aussi utiliser \middle pour mettre un délimiteur médian au milieu d'un couple \left et \right, comme dans la définition d'un ensemble:

$$

\left{ x \middle| x^2<\frac{1}{2} \right} $$

donne $$\left\{ x \middle| x^2<\frac{1}{2} \right\}$$ On note qu'ici la barre verticale est trop proche de ce qu'il y a autour d'elle et il faut rajouter à la main deux petits espaces avec la commande \,:

$$

\left{ x \, \middle| \, x^2<\frac{1}{2} \right} $$ donne $$\left{ x \, \middle| \, x^2<\frac{1}{2} \right}$$

Alphabets mathématiques

Voici un résumé des alphabets mathématiques disponibles:

Résultat Commande Résultat Commande
$C$ C $x$ x
$\mathbb{C}$ \mathbb{C} $\mathrm{x}$ \mathrm{x}
$\mathcal{C}$ \mathcal{C} $\mathbf{x}$ \mathbf{x}
$\mathscr{C}$ \mathscr{C} $\boldsymbol{\sigma}$ \boldsymbol{\sigma}
$\mathfrak{C}$ \mathfrak{C} $\mathit{PGL}$ \mathit{PGL}

Ne pas confondre \mathrm et \text: le premier est pour mettre des maths en romain tandis que le second est pour insérer du texte dans une formule.

Tableaux mathématiques

Pour composer des tableaux mathématiques on utilise l'environnement {array}.
Cet environnement prend un argument obligatoire qui est la spécification du type des colonnes.
Les types de colonnes de base sont c (centré), l (aligné à gauche) et r (aligné à droite).
Le texte des différentes colonnes est séparé par un & et on passe à la ligne suivante en utilisant \\.
Pour rajouter un trait vertical entre deux colonnes, il suffit de mettre un | (qu'on obtient avec la combinaison de touches "AltGr+6") dans la spécification des colonnes.
Pour tracer un trait horizontal, il y a la commande \hline. Cette commande doit être soit au tout début du tableau soit après un \\.

$$
\begin{array}{|c|c|} \hline f(x) & f'(x)\\ \hline x^n & nx^{n-1}\\ \ln(x) & \frac{1}{x}\\ \hline \end{array}$$ donne $$\begin{array}{|c|c|} \hline f(x) & f'(x)\\ \hline x^n & nx^{n-1}\\ \ln(x) & \frac{1}{x}\\ \hline \end{array}

$$

Distinction de cas

Pour définir une fonction par morceaux on peut utiliser l'environnement {cases}, qui s'utilise de la façon suivante:

$$

H(x) = \begin{cases} 0 & \text{si $x < 0$,} \\ 1 & \text{si $x \geq 0$.} \end{cases} $$

donne $$ H(x) = \begin{cases} 0 & \text{si $x < 0$,} \\ 1 & \text{si $x \geq 0$.} \end{cases} $$

Matrices

On tape les matrices comme des tableaux, sauf qu'on utilise les environnements {matrix}, {pmatrix}, {bmatrix}, {Bmatrix}, {vmatrix}, {Vmatrix} ou {smallmatrix}:

$$
\begin{matrix} a & b \\ c & d \end{matrix}


\quad \begin{pmatrix} a & b \\ c & d \end{pmatrix} \quad \begin{bmatrix} a & b \\ c & d \end{bmatrix} \quad \begin{Bmatrix} a & b \ c & d \end{Bmatrix} \quad \begin{vmatrix} a & b \\ c & d \end{vmatrix} \quad \begin{Vmatrix} a & b \ c & d \end{Vmatrix} \quad \begin{smallmatrix} a & b \\ c & d \end{smallmatrix} $$

donne$$ \begin{matrix} a & b \\ c & d \end{matrix} \quad \begin{pmatrix} a & b \\ c & d \end{pmatrix} \quad \begin{bmatrix} a & b \\ c & d \end{bmatrix} \quad \begin{Bmatrix} a & b \\ c & d \end{Bmatrix} \quad \begin{vmatrix} a & b \\ c & d \end{vmatrix} \quad \begin{Vmatrix} a & b \\ c & d \end{Vmatrix} \quad \begin{smallmatrix} a & b \\ c & d \end{smallmatrix} $$

Alignement de formules

Pour aligner plusieurs formules, on dispose des environnements {align} et {multline} (il n'est pas nécessaire d'utiliser les $$...$$). Ne jamais mettre de \\ sur la dernière ligne de ces environnements.

  • L'environnement {align} permet d'aligner plusieurs signes d'égalité à l'intérieur d'une même formule:
\begin{align}

A & = B \ & = C+D \ & = E \end{align}

donne \begin{align} A & = B \\ & = C+D \\ & = E \end{align} On peut au besoin mettre plusieurs équations en colonne:

\begin{align}

A & = B & E & = F & I & = J \ & = C+C & & = G & & = K \ & = D & & & & \end{align}

donne \begin{align} A & = B & E & = F & I & = J \\ & = C+C & & = G & & = K \\ & = D & & & & \end{align}

  • L'environnement {multline} permet de découper une formule trop grande en plusieurs morceaux sans contrôle précis de l'alignement:
\begin{multline}

A+B+C+D+E+F+G+H+I+J\ +A+B+C+D+E+F+G+H+I+J\ +A+B+C+D+E+F+G+H+I+J\ +A+B+C+D+E+F+G+H+I+J \end{multline}

donne \begin{multline} A+B+C+D+E+F+G+H+I+J\\ +A+B+C+D+E+F+G+H+I+J\\ +A+B+C+D+E+F+G+H+I+J\\ +A+B+C+D+E+F+G+H+I+J \end{multline}

Le package $\texttt{amsmath}$ de $\LaTeX$ défini d'autres environnements, vous pouvez les utiliser (après avoir lu la documentation du package et compris dans quels cas il faut utiliser un environnement plutôt qu'un autre). En revanche, l'utilisation de l'environnement {eqnarray} pour mettre en forme une formule sur plusieurs lignes, qu'on peut trouver dans certains vieux manuels, sera considéré comme une faute grave. Cet environnement a plusieurs défauts bien illustré dans ce document: Avoid eqnarray!

Flèches extensibles

On dispose de deux flèches extensibles, \xleftarrow[]{} et \xrightarrow[]{}. Pour mettre une formule dessus, on utilise l'argument obligatoire entre accolades tandis que pour mettre une formule dessous, on utilise l'argument optionnel entre crochets:

$$

f(x) \xrightarrow{\text{d'après }(H)} a \quad f(x) \xrightarrow[x\to0]{} a \quad f(x) \xrightarrow[x\to0]{\text{d'après }(H)} a $$

donne $$ f(x) \xrightarrow{\text{d'après }(H)} a \quad f(x) \xrightarrow[x\to0]{} a \quad f(x) \xrightarrow[x\to0]{\text{d'après }(H)} a $$

Modules de congruences

Selon l'apparence voulue, il y a trois façon d'écrire les modules de congruence:

$a \equiv b \mod m$
$a \equiv b \pmod m$
$a \equiv b \pod m$

donnent
$a \equiv b \mod m$
$a \equiv b \pmod m$
$a \equiv b \pod m$
Il y a aussi la commande \bmod qu'on peut utiliser dans le contexte suivant
$\gcd(n,m\bmod n)$ donne $\gcd(n,m\bmod n)$

Placer au-dessus ou en-dessous

Les commandes \underset{en-dessous}{symbole} et \overset{au-dessus}{symbole} permettent de placer du matériel arbitraire en-dessous ou au-dessus de n'importe quel symbole.

$$

A \overset{\text{déf}}{=} \frac{1}{n} \underset{n \to +\infty}{\in} o\left(\frac{1}{n^2}\right) $$

donne $$ A \overset{\text{déf}}{=} \frac{1}{n} \underset{n \to +\infty}{\in} o\left(\frac{1}{n^2}\right) $$