Aller au contenu principal

Écrire des maths en LaTeX

Introduction

LaTeX\LaTeX est la référence universelle pour rédiger des expressions mathématiques. Couplé à des éditeurs modernes comme VS Code, Obsidian ou Overleaf, il permet d'écrire des mathématiques efficacement sur PC.

Pourquoi LaTeX ?

Avec LaTeX, vous pouvez écrire absolument tout en mathématiques :

  • Équations simples ou complexes avec fractions, racines, indices
  • Matrices, déterminants, systèmes d'équations
  • Intégrales multiples, dérivées partielles
  • Symboles spécialisés (physique quantique, théorie des ensembles, logique)
  • Diagrammes commutatifs, graphes
  • Notation musicale, échecs, chimie...

La bonne nouvelle : Il est impossible (et inutile) de connaître toutes les commandes LaTeX par cœur. Il en existe des milliers, et même les experts cherchent régulièrement la syntaxe exacte.

Apprendre progressivement

Ne vous inquiétez pas si vous ne retenez pas tout immédiatement. La maîtrise vient avec la pratique. Les commandes que vous utilisez souvent (fractions, sommes, intégrales) se graveront naturellement dans votre mémoire. Pour le reste, il existe des outils !

Detexify : votre meilleur allié

Detexify est un outil magique qui reconnaît les symboles dessinés à la souris :

  1. Dessinez approximativement le symbole que vous cherchez
  2. L'IA vous propose les commandes LaTeX correspondantes
  3. Copiez la commande et utilisez-la dans votre document

Workflow recommandé pour débuter :

  • Utilisez Detexify chaque fois que vous cherchez un symbole inconnu
  • Notez les commandes que vous utilisez fréquemment
  • Après quelques semaines, vous connaîtrez naturellement les symboles courants
  • Créez des snippets pour les commandes que vous tapez souvent (voir sections suivantes)
Mon conseil personnel

Au début, gardez Detexify ouvert dans un onglet. Avec le temps, vous n'en aurez presque plus besoin pour les mathématiques courantes, mais il restera indispensable pour les symboles rares ou spécialisés.

Objectifs d'apprentissage :

  • Maîtriser la syntaxe mathématique de base de LaTeX
  • Être autonome dans l'apprentissage de nouvelles commandes
  • Utiliser Detexify pour trouver rapidement des symboles
  • Créer des snippets personnalisés pour accélérer la frappe
  • Utiliser LaTeX dans différents environnements (Markdown, Overleaf)

Exemple de ce que vous pourrez faire :

(i=1nαixii!abf(t)dt2gy2y=0β2+γ2)x=θ^0vγ  +  limx0+k=0(1)kx2k(2k)!cosx  =  Γ ⁣(12)π\displaystyle \boxed{ \left( \begin{smallmatrix} \color{red}\displaystyle \sum_{i=1}^{n}\frac{\alpha_i x^{i}}{i!} & \displaystyle \color{purple} \cancel{\int_{a}^{b} f(t)\,\mathrm{d}t}\\[4pt] \displaystyle \left.\frac{\partial^2 g}{\partial y^2}\right|_{y=0} & \displaystyle \color{green}\sqrt{\beta^2+\gamma^2} \end{smallmatrix} \right)_{x=\hat{\theta}_{\scriptscriptstyle 0}} \cdot \vec{v}_{\lfloor\gamma\rfloor} \;+\; \overbrace{\lim_{x\to0^{+}}\sum_{k=0}^{\infty}\frac{(-1)^k x^{2k}}{(2k)!}}^{\cos x} \;=\; \color{blue} \frac{\Gamma\!\bigl(\tfrac{1}{2}\bigr)}{\sqrt{\pi}} }
attention

Ce qu'il y a écrit ci-dessus est faux, c'est uniquement à but démonstratif !

Prérequis & Installation

Plusieurs options sont possibles pour écrire des expressions mathématiques en LaTeX.

Éditeur de code avec rendu LaTeX via extensions : code.visualstudio.com

Extensions recommandées :

Modes mathématiques

LaTeX propose deux modes pour écrire des mathématiques. Comprendre ces modes est essentiel car ils influencent le rendu des symboles et des espacements.

Mode Inline vs Display

ModeSyntaxeUsageRendu
Inline$ ... $ ou \( ... \)Mathématiques dans le texte courantCompact, indices/exposants réduits
Display$$ ... $$ ou \[ ... \]Équations centrées sur leur propre ligneAgrandi, indices/exposants placés au-dessus/dessous

Exemple :

Le théorème de Pythagore s'écrit $a^2 + b^2 = c^2$ pour un triangle rectangle.

$$
\int_{0}^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$

Le théorème de Pythagore s'écrit a2+b2=c2a^2 + b^2 = c^2 pour un triangle rectangle.

0ex2dx=π2\int_{0}^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2}

Forcer le style display en mode inline

Utilisez \displaystyle pour obtenir un rendu agrandi même en mode inline :

Comparez $\sum_{i=1}^{n} i$ avec $\displaystyle\sum_{i=1}^{n} i$ dans le texte.

Comparez i=1ni\sum_{i=1}^{n} i avec i=1ni\displaystyle\sum_{i=1}^{n} i dans le texte.

Astuce professionnelle

En mode inline, évitez \displaystyle car il perturbe l'interligne. Préférez plutôt basculer en mode display avec $$ ... $$ pour les expressions complexes.

Référence rapide des symboles

Opérateurs de base

Commande LaTeXRenduDescription
\cdot\cdotMultiplication
\frac{a}{b}ab\frac{a}{b}Fraction
a_i, x^{n+1}ai,  xn+1a_i,\; x^{n+1}Indices et exposants
\sqrt[n]{x}xn\sqrt[n]{x}Racine n-ième
\sum_{k=0}^nk=0n\displaystyle\sum_{k=0}^nSomme
\int_a^bab\displaystyle\int_a^bIntégrale
\prod_{i=1}^ni=1n\displaystyle\prod_{i=1}^nProduit
\lim_{x \to 0}limx0\displaystyle\lim_{x \to 0}Limite

Ensembles et relations

CommandeRenduDescription
\in\inAppartient à
\notin\notinN'appartient pas
\subset\subsetInclusion stricte
\subseteq\subseteqInclusion large
\cup\cupUnion
\cap\capIntersection
\emptyset\emptysetEnsemble vide
\mathbb{N}N\mathbb{N}Entiers naturels
\mathbb{Z}Z\mathbb{Z}Entiers relatifs
\mathbb{Q}Q\mathbb{Q}Rationnels
\mathbb{R}R\mathbb{R}Réels
\mathbb{C}C\mathbb{C}Complexes

Délimiteurs adaptatifs

Les délimiteurs \left et \right s'adaptent automatiquement à la taille du contenu :

$\displaystyle( \frac{a}{b} )$ vs $\displaystyle\left( \frac{a}{b} \right)$

(ab)\displaystyle( \frac{a}{b} ) vs (ab)\displaystyle\left( \frac{a}{b} \right)

DélimiteurStatiqueAdaptatif
Parenthèses( )\left( \right)
Crochets[ ]\left[ \right]
Accolades\{ \}\left\{ \right\}
Barres| |\left| \right|

Environnements mathématiques avancés

Environnement align

Pour aligner plusieurs équations sur le symbole & :

\begin{align}
f(x) &= x^2 + 2x + 1 \\
&= (x + 1)^2
\end{align}
f(x)=x2+2x+1=(x+1)2\begin{align} f(x) &= x^2 + 2x + 1 \\ &= (x + 1)^2 \end{align}
Numérotation

align numérote automatiquement chaque ligne. Pour éviter la numérotation, utilisez align* ou ajoutez \nonumber sur une ligne spécifique.

Environnement cases : fonctions par morceaux

Idéal pour définir des fonctions conditionnelles :

f(x) = \begin{cases}
x^2 & \text{si } x \geq 0 \\
-x & \text{si } x < 0
\end{cases}
f(x)={x2si x0xsi x<0f(x) = \begin{cases} x^2 & \text{si } x \geq 0 \\ -x & \text{si } x < 0 \end{cases}

Application en probabilités :

P(X = k) = \begin{cases}
\binom{n}{k} p^k (1-p)^{n-k} & \text{si } k \in \{0,\ldots,n\} \\
0 & \text{sinon}
\end{cases}
P(X=k)={(nk)pk(1p)nksi k{0,,n}0sinonP(X = k) = \begin{cases} \binom{n}{k} p^k (1-p)^{n-k} & \text{si } k \in \{0,\ldots,n\} \\ 0 & \text{sinon} \end{cases}

Matrices : types et variantes

LaTeX offre plusieurs environnements de matrices avec différents délimiteurs :

EnvironnementDélimiteursCodeRendu
matrixAucun\begin{matrix} a & b \\ c & d \end{matrix}abcd\begin{matrix} a & b \\ c & d \end{matrix}
pmatrix( )\begin{pmatrix} a & b \\ c & d \end{pmatrix}(abcd)\begin{pmatrix} a & b \\ c & d \end{pmatrix}
bmatrix[ ]\begin{bmatrix} a & b \\ c & d \end{bmatrix}[abcd]\begin{bmatrix} a & b \\ c & d \end{bmatrix}
Bmatrix{ }\begin{Bmatrix} a & b \\ c & d \end{Bmatrix}{abcd}\begin{Bmatrix} a & b \\ c & d \end{Bmatrix}
vmatrix| |\begin{vmatrix} a & b \\ c & d \end{vmatrix}abcd\begin{vmatrix} a & b \\ c & d \end{vmatrix}
smallmatrixAucun\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}abcd\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}
Usage pratique : smallmatrix

smallmatrix est parfait pour les vecteurs et petites matrices en mode inline, évitant de perturber l'interligne du paragraphe. Utilisez-le avec \left( et \right) pour ajouter des délimiteurs.

La matrice $\left(\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}\right)$ est inversible si $ad - bc \neq 0$.

La matrice (abcd)\left(\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}\right) est inversible si adbc0ad - bc \neq 0.

Exemple complet : système d'équations linéaires :

\begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{bmatrix}
\begin{pmatrix}
x \\
y \\
z
\end{pmatrix}
=
\begin{pmatrix}
b_1 \\
b_2 \\
b_3
\end{pmatrix}
[123456789](xyz)=(b1b2b3)\begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} \begin{pmatrix} x \\ y \\ z \end{pmatrix} = \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix}

Accélérer la saisie avec les Snippets

Les snippets transforment un raccourci en code prédéfini. Exemple : fr + Tab\frac{•}{•}

Snippets dans VS Code

Configuration initiale

  1. Ctrl/Cmd + Shift + PPreferences: Configure User Snippets
  2. Choisir latex.json (ou markdown.json pour Markdown)
  3. Ajouter vos snippets au format JSON

Anatomie d'un snippet VS Code

"sum": {
"prefix": "sum", // Raccourci à taper
"body": "\\sum_{i=$1}^{$2} $3", // Code généré
"description": "Somme" // Description (optionnelle)
}

Propriétés d'un snippet :

  • prefix : Le raccourci à taper (ex: sum)
  • body : Le code LaTeX généré (échapper les backslashes : \\)
  • description : Description affichée dans l'autocomplétion

Navigation intelligente (tab stops) : $1, $2, $3 définissent où le curseur se positionne. Après insertion, votre curseur se place sur $1, puis Tab passe à $2, etc.

Valeurs par défaut : ${1:valeur} définit une valeur par défaut pour le tab stop.

Exemples de snippets utiles

Ajoutez ces snippets dans votre configuration latex.json ou markdown.json :

{
"fraction": {
"prefix": "fr",
"body": "\\frac{$1}{$2}$0",
"description": "Fraction a/b"
},
"sum": {
"prefix": "sum",
"body": "\\sum_{${1:i}=${2:0}}^{${3:n}} $0",
"description": "Somme avec bornes"
},
"integral": {
"prefix": "int",
"body": "\\int_{${1:a}}^{${2:b}} ${3:f(x)} \\,\\mathrm{d}${4:x}$0",
"description": "Intégrale définie"
},
"limit": {
"prefix": "lim",
"body": "\\lim_{${1:x} \\to ${2:0}} $0",
"description": "Limite"
},
"matrix": {
"prefix": "mat",
"body": [
"\\begin{${1|matrix,pmatrix,bmatrix,vmatrix|}}",
"\t$2",
"\\end{${1|matrix,pmatrix,bmatrix,vmatrix|}}"
],
"description": "Matrice avec choix de délimiteurs"
},
"cases": {
"prefix": "cas",
"body": [
"\\begin{cases}",
"\t$1 & \\text{si } $2 \\\\",
"\t$3 & \\text{si } $4",
"\\end{cases}$0"
],
"description": "Fonction par morceaux (2 cas)"
},
"align": {
"prefix": "ali",
"body": [
"\\begin{align${1:*}}",
"\t$2 &= $3 \\\\",
"\t&= $4",
"\\end{align${1:*}}$0"
],
"description": "Alignement d'équations"
}
}
Technique avancée : choix multiples

La syntaxe ${1|option1,option2,option3|} affiche un menu déroulant lors de l'insertion. Utilisé dans le snippet mat ci-dessus pour choisir le type de matrice.

Snippets dans Obsidian avec Latex Suite

Latex Suite est l'extension de référence pour écrire des mathématiques rapidement dans Obsidian. Elle transforme l'expérience d'écriture en permettant une saisie aussi fluide qu'avec un stylo sur papier.

Installation :

  1. Ouvrir Obsidian → ParamètresOptions des plugins communautaires
  2. Rechercher "Latex Suite" dans le navigateur de plugins
  3. Cliquer sur Installer, puis Activer

Fonctionnalités clés :

FonctionnalitéDescriptionExemple
Auto-expansionExpansion automatique sans appuyer sur Tab//\frac{•}{•}
Mode visuelTransformation de texte sélectionnéSélectionner x+y puis S\sqrt{x+y}
Context-awareSnippets actifs uniquement en mode math@a fonctionne dans $$...$$ uniquement
Regex triggersPatterns avancés pour auto-formatagex2x_{2} automatiquement
VariablesSymboles prédéfinis pour simplifier les regex${GREEK} pour toutes les lettres grecques

Anatomie d'un snippet Latex Suite

Un snippet Latex Suite est un objet JavaScript avec 4 propriétés principales :

{
trigger: "//", // Déclencheur : texte qui active le snippet
replacement: "\\frac{$0}{$1}$2", // Remplacement : code LaTeX généré
options: "mA", // Options : contexte et comportement
priority: 1, // Priorité d'exécution. En cas de conflit, le snippet avec la plus haute priorité sera préféré (optionnelle)
description: "Fraction rapide", // Description (optionnelle)
flags: "i" // Flags regex (optionnels)
}

Les options expliquées :

OptionSignificationDescription
tText modeSnippet actif en dehors des environnements math
mMath modeSnippet actif dans $$...$$ ou $...$
MBlock math modeSnippet actif dans $$...$$
nInline math modeSnippet actif dans $...$
cCode modeSnippet actif dans ``` ```
AAuto-expandExpansion automatique sans Tab
vVisualSnippet actif lors de la sélection de texte
wWord boundaryNécessite un espace ou début de ligne avant le trigger
rRegexLe trigger est une expression régulière

Tab stops avec $0, $1, $2 :

Comme dans VS Code, les tab stops définissent où le curseur se positionne après l'expansion :

{ trigger: "sum", replacement: "\\sum_{${0:k}=${1:0}}^{${2:n}} $3", options: "mA" }
  • ${0:k} : Premier arrêt avec valeur par défaut "k"
  • ${1:0} : Deuxième arrêt avec valeur par défaut "0"
  • $3 : Dernier arrêt sans valeur par défaut
{ trigger: "begin", replacement: "\\begin{$1}\n  $2\n\\end{$1}", options: "MA" }

Ici, le premier arrêt $1 est automatiquement réutilisé dans \end{...}.

Regex triggers avancés :

Les snippets peuvent utiliser des regex pour détecter des patterns :

{
trigger: "([A-Za-z])(\\d)", // Détecte lettre + chiffre
replacement: "[[0]]_{[[1]]}", // [[0]] = lettre, [[1]] = chiffre
options: "rmA" // r = regex
}

Exemple : x2x_{2} automatiquement

Variables prédéfinies :

Le fichier default_snippet_variables.js définit des constantes pour simplifier les regex :

{
"${GREEK}": "alpha|beta|gamma|delta|...",
"${SYMBOL}": "parallel|nabla|hbar|...",
"${UNITS}": "V|A|Hz|kg|m|..."
}

Utilisation dans un snippet :

{
trigger: "\\\\(${GREEK})([A-Za-z])",
replacement: "\\[[0]] [[1]]", // Insère un espace après les lettres grecques
options: "rmA"
}

Ma configuration personnelle

J'ai créé une configuration complète avec plus de 250 snippets optimisés pour les mathématiques et la physique. Cette configuration est le fruit de deux années de prise de notes quotidiennes.

Configuration complète

Les snippets couvrent :

  • Callouts Obsidian automatiques
  • Symboles mathématiques avancés
  • Unités physiques (détection automatique : 10Hz10\text{Hz})
  • Raccourcis pour suites et séries : uu(un)nN(u_{n})_{n\in\mathbb{N}}, ff(fn)nN(f_{n})_{n\in\mathbb{N}}, SS(Sn)nN(S_{n})_{n\in\mathbb{N}}
  • Conversion automatique de lettres isolées en mode math

Je vous conseille de lire le document même en diagonale pour les découvrir et savoir qu'ils existent quitte à revenir plus tard avec un ctrl+f.

Installation :

  1. Copier le contenu des deux fichiers ci-dessus
  2. Dans Obsidian : Paramètres → Latex Suite → Snippets
  3. Coller le contenu de default_snippets.js dans la zone de texte
  4. Aller dans Snippets variables
  5. Coller le contenu de default_snippet_variables.js
Configuration recommandée

Je vous conseille vivement d'utiliser ma configuration comme base, puis de la personnaliser selon vos besoins.

Exemples de snippets de ma configuration
1. Entrée rapide en mode math
RaccourciRésultatDescription
ml$\displaystyle •$Mode math inline avec displaystyle
dm$$\n•\n$$Mode math display (bloc)
2. Fractions et opérations
RaccourciRésultatDescription
//\frac{•}{•}Fraction rapide
sr^{2}Carré (square)
cb^{3}Cube
sq\sqrt{•}Racine carrée
eee^{•}Exponentielle
3. Lettres grecques avec @

Le préfixe @ permet d'insérer rapidement des lettres grecques :

RaccourciRésultatRaccourciRésultat
@a\alpha@G\Gamma
@b\beta@D\Delta
@g\gamma@T\Theta
@d\delta@L\Lambda
@e\varepsilon@S\Sigma
@t\theta@O\Omega
@l\lambda@P\Pi
@p\varphi
@o\omega
@s\sigma
4. Ensembles et symboles avec majuscules doublées
RaccourciRésultatDescription
RRR\mathbb{R}Réels
CCC\mathbb{C}Complexes
NNN\mathbb{N}Naturels
ZZZ\mathbb{Z}Entiers relatifs
KKK\mathbb{K}Corps générique
LLL\mathcal{L}Espace de fonctions
MMM\mathcal{M}Espace de matrices
5. Indices automatiques

Les snippets détectent automatiquement les indices courants :

x2     →  x_{2}           (indices numériques)
xii → x_{i} (indices i, j, k, n, m)
xip1 → x_{i+1} (indices avec +)
xim2 → x_{i-2} (indices avec -)
6. Accents et modificateurs

Tapez une lettre suivie de :

SuffixeRésultatExempleAperçu
vec\vec{•}xvec\vec{x}x\vec{x}
dot\dot{•}xdot\dot{x}x˙\dot{x}
ddot\ddot{•}xddot\ddot{x}x¨\ddot{x}
bar\bar{•}xbar\bar{x}xˉ\bar{x}
hat\hat{•}xhat\hat{x}x^\hat{x}
7. Dérivées et intégrales
RaccourciRésultatExemple d'aperçuDescription
par\frac{\partial •}{\partial •}fx\frac{\partial f}{\partial x}Dérivée partielle
pa2\frac{\partial^{2} •}{\partial •^{2}}2fx2\frac{\partial^{2} f}{\partial x^{2}}Dérivée seconde
ddt\frac{d}{dt}ddt\frac{d}{dt}Dérivée temporelle
int\int_{0}^{\infty} • \, d•0f(x)dx\int_{0}^{\infty} f(x) \, dxIntégrale avec bornes
oinf\int_{0}^{\infty} • \, d•0f(x)dx\int_{0}^{\infty} f(x) \, dxIntégrale de 0 à l'infini
infi\int_{-\infty}^{+\infty} • \, d•+f(x)dx\int_{-\infty}^{+\infty} f(x) \, dxIntégrale sur R
8. Matrices rapides
RaccourciRésultatExemple d'aperçuDescription
pmat\begin{pmatrix}\n•\n\end{pmatrix}(abcd)\begin{pmatrix} a&b\\c&d \end{pmatrix}Matrice avec parenthèses
bmat\begin{bmatrix}\n•\n\end{bmatrix}[abcd]\begin{bmatrix} a&b\\c&d \end{bmatrix}Matrice avec crochets
vmat\begin{vmatrix}\n•\n\end{vmatrix}abcd\begin{vmatrix} a&b\\c&d \end{vmatrix}Déterminant
cases\begin{cases}\n•\n\end{cases}{0si x=01sinon\begin{cases} 0&\text{si } x=0\\1&\text{sinon} \end{cases}Fonction par morceaux
9. Mode visuel : transformations de sélection

Sélectionnez du texte puis appuyez sur :

ToucheTransformationExempleAperçu
S\sqrt{...}x+1\sqrt{x+1}x+1\sqrt{x+1}
U\underbrace{...}_{•}a+b\underbrace{a+b}_{•}a+b\underbrace{a+b}_{•}
O\overbrace{...}^{•}a+b\overbrace{a+b}^{•}a+b\overbrace{a+b}^{•}
C\cancel{...}x\cancel{x}x\cancel{x}

Exercices pratiques

#ÉnoncéObjectif pédagogique
1Rédiger une fiche contenant les formules de dérivation niveau A1Maîtriser les environnements align et cases
2Créer un snippet VS Code pour l'environnement matrixAutomatiser la saisie
3Importer le document sur Overleaf et partager avec un camaradeDécouvrir le mode révision

Ressources

Documentation et outils en ligne

Fichiers de configuration Obsidian

astuce

Ces fichiers contiennent plus de 250 snippets optimisés pour la saisie rapide de mathématiques, physique et chimie dans Obsidian. Voir la section Snippets dans Obsidian pour les instructions d'installation.