Vue d’ensemble de LaTeX
Qu’est-ce que LaTeX?
LaTeX est un système de composition de documents. Il fut à l’origine créé par Leslie Lamport ; il est désormais maintenu par un groupe de volontaires (http://latex-project.org). Il est largement utilisé, en particulier pour les documents complexes et techniques, tels que ceux impliquant des mathématiques.
À l’aide d’un simple éditeur de texte, un utilisateur LaTeX écrit un fichier, dit fichier d’entrée, qui contient son texte ; des commandes y sont intercalées : ce sont des instructions servant à décrire la manière dont le texte doit être formaté. En effet, LaTeX est mis en œuvre comme un ensemble de commandes liées s’interfaçant avec le programme de composition TeX de Donald E. Knuth (le terme technique est que LaTeX est un paquet de macros pour le moteur TeX). En donnant le fichier d’entrée au moteur TeX, l’utilisateur produit le document de sortie qui contient son texte mis en page.
Le terme LaTeX est aussi parfois utilisé pour signifier le langage à balises dans lequel le code source du document est écrit, c’est-à-dire pour signifier l’ensemble des commandes à la disposition d’un utilisateur de LaTeX.
Le nom LaTeX est l’abréviation de “Lamport TeX”. On le prononce LA-TÈQUE. Au sein du document, on produit le logo avec \LaTeX. Là où l’utilisation du logo n’est pas raisonnable, comme dans du texte brut, écrivez le ‘LaTeX’.

Début et fin
Les fichiers LaTeX ont une structure globale simple, avec un début et une fin standards. Voici un petit exemple :

\documentclass{article}
\begin{document}
Bonjour le monde \LaTeX.
\end{document}

Tout document LaTeX a une ligne \begin{document} et une ligne \end{document}.
Ici ‘article’ est ce que l’on appelle la classe de document. Elle est implémentée dans un fichier article.cls. N’importe quelle classe de document de votre système peut être utilisée. Quelques classes de document sont définies par LaTeX lui-même, et un grand nombre d’autres sont largement disponibles. Voir Document classes.
Vous pouvez inclure d’autres commandes LaTeX entre les commandes \documentclass et \begin{document}. Cette zone est appelée le préambule.
La paire \begin{document}, \end{document} définit un environnement ; l’environnement ‘document’ (et aucun autre) est obligatoire dans tous les documents LaTeX (voir document). LaTeX vous fournit beaucoup d’environnements documenté ici (voir Environments). Vous pouvez en trouver bien plus encore à partir de paquetages externes, notamment ceux disponibles sur le CTAN (voir CTAN).
Les rubriques suivantes sont consacrées aux façons de produire, à partir d’un fichier d’entrée LaTeX, des documents PDF ou d’autres formats de sortie.

Fichiers de sortie
LaTeX produit un fichier de sortie principal et au moins deux fichiers auxiliaires. Le nom du fichier de sortie principal se termine soit en .dvi soit en .pdf.
.dvi 	 S’il est invoqué avec la commande système latex, alors il produit un fichier « DeVice Independent[1] » (.dvi). Vous pouvez visualiser ce fichier avec une commande comme xdvi, ou le convertir en fichier PostScript .ps avec dvips ou en fichier « Portable Document Format[2] » .pdf avec dvipdfmx. Un grand nombre d’autres programmes utilitaires pour fichiers DVI sont disponibles (http://mirror.ctan.org/dviware).
[1] Indépendant du périphérique de sortie, ce n’est toutefois pas un format portable de document
[2] Format portable de document
.pdf 	 Si LaTeX est invoqué avec la commande système pdflatex, alors la sortie principale est un fichier “Portable Document Format” (.pdf). Typiquement, il s’agit d’un fichier autonome, avec toutes les polices et images incorporées. D’autres commandes (voir TeX engines) produisent des fichiers PDF.
LaTeX produit toujours au moins deux fichier supplémentaires.
.log 	 Ce fichier de transcription, ou fichier journal, contient des informations sommaires telles que la liste des paquetages chargés. Il contient aussi des messages de diagnostic et, possiblement, des informations supplémentaires concernant toutes erreurs.
.aux 	 De l’information auxiliaire est utilisée par LaTeX pour des choses telles que les doubles renvois. Par exemple, la première fois que LaTeX trouve un renvoi en aval — une double référence à quelque chose qui n’est pas encore apparu dans le code source — il apparaîtra dans la sortie comme un double point d’interrogation ??. Quand l’endroit auquel le renvoi fait référence finit par apparaître dans le code source, alors LaTeX écrit son information de localisation dans ce fichier .aux. À l’invocation suivante, LaTeX lit l’information de localisation à partir de ce fichier et l’utilise pour résoudre le renvoi, en remplaçant le double point d’interrogation avec la localisation mémorisée.
LaTeX peut produire encore d’autres fichiers, caractérisés par la terminaison du nom de fichier. Ceux-ci incluent un fichier .lof qui est utilisé pour fabriquer la liste des figures, un fichier .lot utilisé pour fabriquer une liste des tableaux, et un fichier .toc utilisé pour fabriquer une table des matières (voir Table of contents etc.). Une classe de document particulière peut en créer d’autres ; cette liste n’a pas de fin définie.

Les moteurs TeX
LaTeX est un vaste ensemble de commandes qui sont exécuté par un programme TeX (voir Overview). Un tel ensemble de commande est appelé un format, et peut être matérialisé dans un fichier binaire .fmt, ce qui permet qu’il soit lu bien plus rapidement que le source TeX correspondant.
Cette rubrique donne une brève vue d’ensemble des programmes TeX les plus répandus (voir aussi Command line interface).
latex 	pdflatex 	 Dans TeX Live (http://tug.org/texlive, si LaTeX est invoqué avec les commandes système latex ou pdflatex, alors le moteur pdfTeX est exécuté (http://ctan.org/pkg/pdftex). Selon qu’on invoque latex ou pdflatex, la sortie principale est respectivement un fichier .dvi ou un fichier .pdf.
pdfTeX incorpore les extensions qu’e-TeX apporte au programme original de Knuth (http://ctan.org/pkg/etex), ce qui inclut des caractéristiques supplémentaires de programmation et la composition bidirectionnelle, et a lui-même de nombreuses extensions. e-TeX est lui-même disponible par la commande système etex, mais le langage du fichier d’entrée est du TeX de base (et le fichier produit est un .dvi).
Dans d’autres distributions TeX, latex peut invoquer e-TeX plutôt que pdfTeX. Dans tous les cas, on peut faire l’hypothèse que les extensions e-TeX sont disponibles en LaTeX.
lualatex 	 Si LaTeX est invoqué avec la commandes systèmes lualatex, alors le moteur LuaTeX est exécuté (http://ctan.org/pkg/luatex). Ce programme permet que du code écrit dans le langage script Lua (http://luatex.org) interagisse avec la composition faite par TeX. LuaTeX traite nativement l’entrée en codage Unicode UTF-8, peut traiter les polices OpenType et TrueType, et produit un fichier .pdf par défaut. Il y a aussi dvilualatex pour produire un fichier .dvi.
xelatex 	 Si LaTeX est invoqué avec la commandes système xelatex, le moteur XeTeX est exécuté (http://tug.org/xetex). Comme LuaTeX, XeTeX prend en charge nativement le codage Unicode UTF-8 et les polices TrueType et OpenType, bien que leur implémentation soit complètement différente, en utilisant principalement des bibliothèques externes plutôt que du code interne. XeTeX produit un fichier .pdf en sortie ; il ne prend pas en charge la sortie DVI.
En interne, XeTeX crée un fichier .xdv file, une variante de DVI, et traduit cela en PDF en utilisant le programme (x)dvipdfmx, mais ce processus est automatique. Le fichier .xdv n’est utile que pour le débogage.
platex 	uplatex 	Ces commandes fournissent une prise en charge significativement plus riche du japonais et d’autres langues ; la variante en u prend en charge l’Unicode. Voir https://ctan.org/pkg/ptex et https://ctan.org/pkg/uptex.
Depuis 2019, il y a une commande compagne en -dev et un format pour tous les moteurs cités plus hauts :
dvilualatex-dev 	latex-dev 	lualatex-dev 	pdflatex-dev 	platex-dev 	uplatex-dev 	xelatex-dev 	 Ce sont les candidats pour une parution de LaTeX à venir. L’usage principal est de découvrir et traiter les problèmes de compatibilité avant la parution officielle.
Ces formats en -dev rendent facile pour quiconque d’aider à l’essai des documents et du code : vous pouvez exécuter, disons, pdflatex-dev au lieu de pdflatex, sans changer quoi que ce soit d’autre dans votre environnement. En réalité, le plus facile et utile est de toujours d’exécuter les versions en -dev au lieu de s’embêter à basculer entre les deux. Pendant les périodes calmes après une parution, ces commandes seront équivalentes.
Ce ne sont pas des échantillons quotidiens de code de développement non testé. L’équipe LaTeX fait subir à ces commandes les mêmes essais étendus de non régression avant leur parution.
Pour plus ample information, voir The LaTeX release workflow and the LaTeX dev formats par Frank Mittelbach, TUGboat 40:2, https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf.

Syntaxe des commandes LaTeX
Dans le fichier d’entrée LaTeX, un nom de commande commence avec une controblique, \. Le nom lui-même consiste soit en (a) une chaîne de lettres ou (b) un unique caractère, qui dans ce cas n’est pas une lettre.
Les noms de commandes LaTeX sont sensibles à la casse de sorte que \pagebreak diffère de \Pagebreak (ce dernier n’est pas une commande standarde). La plupart des noms de commandes sont en bas de casse, mais quoi qu’il en soit vous devez saisir toute commande en respectant la casse dans laquelle elle est définie.
Une commande peut être suivie de zéro, un ou plus d’arguments. Ces arguments peuvent être soit obligatoires, soit optionnels. Les arguments obligatoires sont entre accolades, {...}. Les arguments optionnels sont entre crochets, [...]. En général, mais ce n’est pas universel, si la commande prend un argument optionnel, il vient en premier, avant tout argument obligatoire.
Au sein d’un argument optionnel, pour utiliser le crochet fermant (]) cachez le au sein d’accolades, comme dans \item[crochet fermant {]}]. De même, si un argument optionnel vient en dernier, sans argument obligatoire à sa suite, alors pour que le premier caractère dans le texte suivant soit un crochet ouvrant, cachez le entre accolades.
LaTeX obéit à la convention selon laquelle certaines commandes ont une forme étoilée (*) qui est en relation avec la forme sans le *, telles que \chapter et \chapter*. La différence exacte de comportement dépend de la commande.
Ce manuel décrit toutes les options acceptées et les formes en * pour les commandes dont il traite (à l’exception des omissions involontaires ou bogues de ce manuel).

Les environnements
Synopsis :

\begin{nom-environnement}
  ...
\end{nom-environnement}

Un environnement est une zone du code source LaTeX, au sein de laquelle il y a un comportement différent. Par exemple, pour la poésie en LaTeX mettez les lignes entre \begin{verse} et \end{verse}.

\begin{verse}
    Plus ne suis ce que j'ai été \\
     ...
\end{verse}

Voir Environments, pour une liste d’environnements. En particulier, il est à noter que tout document LaTeX doit avoir un environnement document : une paire \begin{document} ... \end{document}.
Le nom-environnement du début doit s’accorder exactement avec celui de la fin. Cela vaut aussi dans le cas où nom-environnement se termine par une étoile (*) ; l’argument à la fois de \begin et \end doit comprendre l’étoile.
Les environnements peuvent avoir des arguments, y compris des arguments optionnels. L’exemple ci-dessous produit un tableau. Le premier argument est optionnel (il aligne verticalement le tableau sur sa première ligne) alors que le second argument est obligatoire (il spécifie le format des colonnes du tableau).

\begin{tabular}[t]{r|l}
  ... lignes du tableau ...
\end{tabular}

CTAN : The Comprehensive TeX Archive Network
Le «Comprehensive TeX Archive Network», ou CTAN, est le dépôt de matière libre de la communauté TeX et LaTeX. C’est un ensemble de sites Internet répartis dans le monde qui offre de télécharger de la matière en relation avec LaTeX. Visitez le CTAN sur la Toile à l’adresse https://ctan.org.
Cette matière est organisée en paquetages, des paquets discrets qui offrent typiquement une fonctionnalité cohérente et sont maintenus par une personne ou un petit nombre de personnes. Par exemple, beaucoup d’organismes d’édition on un paquetage qui permet aux auteurs de formater leurs articles conformément aux spécification de cet organisme.
En plus des ressources massives, le site ctan.org offre des fonctions telles que la recherche par nom ou par fonctionnalité.
CTAN n’est pas un site unique, mais au lieu de cela un ensemble de sites. L’un des ces sites est le cœur. Ce site gère activement la matière, par exemple en acceptant les téléversements de matière nouvelle ou mise à jour. Il est hébergé par le groupe TeX allemand DANTE e.V.
D’autres sites autour du monde apportent leur aide en miroitant, c’est à dire en synchronisant automatiquement leurs collections sur le site maître et en rendant à leur tour leurs copies publiquement disponibles. Ceci donne aux utilisateurs géographiquement proches un meilleur accès et allège la charge sur le site maître. La liste des miroirs se trouve à https://ctan.org/mirrors.