# LaTeX

LaTeX est un langage et un système de composition de documents. Il peut servir a écrire des textes pour écrire des livres. Il s'agit d'une collection de macrocommandes destinée à faciliter l'utilisation du « processeur de texte » TeX de Donald Knuth.
LaTeX permet de rédiger des documents dont la mise en page est réalisée automatiquement en se conformant du mieux possible à des normes typographiques. Une fonctionnalité distinctive de LaTeX est, son mode mathématique, qui permet de composer des formules complexes.
LaTeX est particulièrement utilisé dans les domaines techniques et scientifiques pour la production de documents de taille moyenne (tels que des articles) ou importante (thèses ou livres, par exemple). Néanmoins, il peut être employé pour générer des documents de types très variés (lettres ou transparents, par exemple). Enfin, de nombreux sites Internet — dont le texte est typiquement mis en forme par d’autres moyens — emploient un sous-ensemble de LaTeX pour composer notamment leurs formules mathématiques.
Il a été développé par Leslie Lamport, au début des années 1980. Depuis 1989, il est maintenu par une équipe de bénévoles au sein du projet LaTeX3.

## Exemple

Le code ci-dessous :
produit un document minimal contenant les deux phrases et la formule mathématique qui suivent :
   « En 1735, Leonhard Euler résout le problème de Bâle en établissant la formule suivante :
   $\sum _{n=1}^{+\infty }{\frac {1}{n^{2}}}={\frac {\pi ^{2}}{6}}$
   Cependant, il ne démontrera rigoureusement son résultat qu’en 1741. »
Les commandes débutent par le caractère barre oblique inversée (« \ »). Une commande peut avoir des paramètres. Ils sont facultatifs et à mettre entre crochets. Les paramètres obligatoires doivent être encadrés par des accolades. Cependant, si le paramètre en question ne fait qu'un caractère de long ou s'il s'agit d'une autre commande, les accolades peuvent être omises.
La commande \documentclass est la première de tout document LaTeX : elle définit l'apparence générale du document. Outre minimal, de nombreuses classes sont disponibles, telles que article (pour des articles), report (pour des rapports plus longs), book (pour des livres entiers, voire des thèses), letter ou lettre (pour des lettres), slides (pour des transparents à projeter), beamer (pour des présentations sur écran).
La commande \usepackage permet de charger un paquet, en l’occurrence le paquet babel avec l’option french, qui applique au document les règles de typographie spécifiques à la langue française — par exemple, l’espace avant les deux-points.
La paire de commandes \begin{document} et \end{document} encadre le contenu du document. Le texte est essentiellement écrit tel quel. La commande \textbf produit du texte gras. La paire de commandes \[ et \] contient une formule mathématique.

## Fonctionnement

LaTeX se présente sous la forme d’un langage informatique de balisage. On compose donc un document LaTeX en écrivant son code source au moyen d’un éditeur de texte. Ce code source est ensuite traité par le compilateur de LaTeX pour produire le document mis en forme. Le résultat est fourni dans un format de description de page propre à TeX, le format DVI (sigle de l’anglais DeVice Independent, signifiant « indépendant du périphérique »). Ce format peut alors être imprimé, ou traduit dans l’un des formats PostScript ou PDF.
De nombreux langages de balisage léger (tels txt2tags, reST ou POD) peuvent s’exporter vers le langage LaTeX. Il est ainsi possible de rédiger ses documents dans l’un de ces langages, plus simples et plus lisibles que le langage LaTeX, pour le même rendu final. En contrepartie, les possibilités de mise en forme sont en général fortement restreintes.
LaTeX réalise le principe de séparation du fond et de la forme. Il encourage le rédacteur à se concentrer sur la structure logique et le contenu de son document, tandis que sa mise en page (pagination, césure des mots, alinéas, insertion d’en-têtes et de pieds-de-pages…) est laissée au compilateur.

### Interfaces de saisie

Son mode de saisie — l’écriture d’un code source décrivant le document — distingue LaTeX des logiciels de type WYSIWYG, tels LibreOffice Writer ou Microsoft Word, où la forme est immédiatement visible à l'écran. Certains logiciels, comme LyX, donnent cependant une interface de ce type à LaTeX. Dans ce cas, le logiciel affiche en temps réel un rendu approximatif qui souligne la structure du document, tandis que le compilateur LaTeX produit le document final en tâche de fond.

### Le langage

L’utilisateur peut adapter LaTeX à ses besoins spécifiques en créant ou modifiant des macrocommandes.

### Paquets

Pour complémenter les fonctions de LaTeX, l’utilisateur peut charger des paquets tiers. Ceux-ci, à l'instar des bibliothèques logicielles, fournissent des commandes supplémentaires, qui vont de simples symboles jusqu’à des fonctionnalités complexes, pouvant impliquer une modification du processus de compilation du document.
Voici quelques exemples de paquets parmi les plus communs :
* babel prend en charge la langue du document, en adaptant la typographie et en fournissant des commandes spécifiques à chaque langue ;
* amsmath, développé par la Société américaine de mathématiques, étend considérablement les possibilités d'édition de formules mathématiques ;
* tikz permet la création d’illustrations vectorielles, telles que des graphiques ;
* graphicx est utilisé pour insérer des images ;
* listings permet l’affichage de code source avec coloration syntaxique ;
* calc fournit un mécanisme de calcul.
Il existe un très grand nombre de paquets TeX, que la communauté rassemble au sein du dépôt CTAN (sigle de l’anglais Comprehensive TeX Archive Network).

## Qualités

LaTeX requiert un apprentissage initial plus important que celui nécessaire pour les logiciels de type WYSIWYG, du moins pour la mise en page de petits documents simples. En contrepartie, le système permet de composer une très grande variété de formules mathématiques, le document produit présente une grande qualité typographique, les références bibliographiques sont aisées à insérer et à regrouper (grâce à BibTeX), les titres sont numérotés et les tables des matières générées automatiquement.

## Communautés

L'évolution de LaTeX — et plus généralement de TeX — est assurée par une communauté structurée en groupes d'utilisateurs.
Il existe de nombreux groupes d'utilisateurs de TeX/LaTeX dans le monde, qui sont généralement liés à des langues : GUTenberg (francophone), TUG (États-Unis, avec des sous-groupes dans de nombreux pays), DANTE (germanophone), CervanTeX (hispanophone), GUIT (italophone), NTG (néerlandophone)…
Certains de ces groupes publient des journaux (les Cahiers GUTenberg, la Lettre GUTenberg, PracTeX, TUGboat…), organisent des conférences, parfois de façon conjointe (EuroTeX…) et proposent de l'aide en ligne, comme texnique.fr dans le monde francophone.

## Usage

Ces qualités, outre la gratuité du logiciel, en font l'outil de rédaction privilégié des mondes universitaire et scientifique dans certaines disciplines. C’est surtout vrai des sciences exactes, qui recourent abondamment aux formules mathématiques. Il est en effet courant en mathématiques, informatique ou physique que des éditeurs proposent des gabarits LaTeX, et déclarent préférer ce format à celui de Microsoft Word. Certains n’acceptent les soumissions qu’en LaTeX. Dans le monde de la recherche, LaTeX est la norme pour la rédaction d'articles scientifiques, de thèses, d'exercices de mathématiques, etc.
Dans le monde de l'entreprise, l'utilisation de LaTeX est minoritaire mais existante. Quand il faut gérer un grand volume de documentation complexe, la possibilité de versionner le code source des documents LaTeX avec des outils habituels — là où des logiciels tels que Microsoft Word produisent des fichiers binaires — constitue un avantage décisif. D'autres avantages reconnus incluent la mutualisation des bases de terminologie et de références bibliographiques, et enfin la haute productivité que permet LaTeX.
LaTeX est souvent utilisé par des personnes devant produire un contenu parfois complexe (équations) ayant une mise en forme standard, c'est-à-dire ne nécessitant pas de mise en forme particulière.
Pour cette raison, il est particulièrement utilisé par des étudiants, éditeurs, professeurs de mathématiques et de physique, scientifiques, principalement en informatique, en ingénierie, en mathématiques et en physique. Il est également utilisé par les musiciens.
Il est également intégré dans d'autres logiciels :
* MediaWiki ;
* SPIP, un logiciel de production collaborative de site internet multilingue.
* Sur certains forums, notamment sur des forums de mathématiques et de physique. Il peut par exemple être intégré sur les forums phpBB.
LaTeX est capable de produire de nombreux types de document différents (par défaut ou bien en employant des extensions), notamment des articles, cours, livres, présentations, diagrammes, partitions de musique (via LilyPond), rapports, lettres, étiquettes, pochettes de disque compact, posters, cartes de visite.
Toutefois, la rédaction d'un document à la mise en page particulière (comme un journal ou un magazine) peut être plus facile à réaliser avec d'autres types de logiciel (voir publication assistée par ordinateur).
Certains logiciels de calcul génèrent des notes de calcul au format LaTeX.
LaTeX est distribué sous LPPL. Cette licence, bien que libre, est incompatible avec la GPL.

## Support d’Unicode

LaTeX a été créé lorsqu'Unicode n'existait pas encore. Pour cette raison, tout document texte LaTeX peut être écrit en ASCII, ce qui à une époque où Unicode n'existait pas encore, garantissait l'interopérabilité : les diacritiques sont indiqués par une commande, par exemple \'e pour « é ». Toutefois, avec les configurations modernes, il est possible de taper directement des caractères accentués dans le document source. Il faut pour cela utiliser le paquetage inputenc avec l'option utf8 conjointement avec fontenc avec l'option T1.
Cependant, le mode mathématique et certains environnements (en particulier les environnements de l'extension listings) ne gèrent pas encore l'Unicode. L'option literate du package listings permet désormais de corriger ce problème, sauf pour les morceaux de codes importés depuis des fichiers encodés en ASCII avec \lstinputlisting. Par exemple, en mode mathématique, l'instruction \times est un opérateur qui gère les espaces avant et après de la même manière que pour un caractère classique ; par contre, le caractère Unicode × qui lui correspond n'est pas considéré comme un opérateur.
Par ailleurs, une limitation de LaTeX interdit l'utilisation de l'indicateur d'encodage en début de fichier.
LuaTeX ou LuaLaTeX reconnaît Unicode et utilise le langage de script bas niveau Lua, ce qui offre des perspectives de développement et de pérennité. En contrepartie, le moteur très au point PdfTeX, qui produit directement du format PDF à partir de TeX ou LaTeX, n'est plus développé mais reste toujours distribué.

## Logiciels
### Éditeurs pour LaTeX

Bien qu’il soit en principe possible d’éditer du code source LaTeX avec n’importe quel éditeur de texte, de nombreux logiciels spécialisés ont été développés, ainsi que des modules pour un grand nombre d’éditeurs généralistes.
Parmi les logiciels multiplateformes, on peut citer Texmaker, TeXworks et le module AUCTeX pour l’éditeur Emacs. Les logiciels spécifiques à un système d’exploitation incluent :
* sous BSD et GNU/Linux : GNOME LaTeX (en), Setzer et Kile ;
* sous macOS : TeXShop ;
* sous Windows : WinEdt, WinShell et TeXnicCenter.
Des applications web permettent également d’éditer du LaTeX, à l'exemple d'Overleaf.

### Distributions TeX

Par ailleurs, indépendamment d’éditer du code source LaTeX, la traduction de ce code source pour obtenir le document final requiert un compilateur LaTeX et un ensemble de paquets utiles. Fournir ces outils est le but des distributions TeX, dont les principales sont TeX Live (pour GNU/Linux et Windows), MacTeX (dérivée de TeX Live pour macOS) et MiKTeX (pour Windows).

### Bibliothèques

Voici quelques bibliothèques pour l’affichage des formules écrites en LaTeX :
* MimeTeX : est une bibliothèque gratuite écrite en C permettant d’interpréter les formules LaTeX et de convertir le résultat en image.
* JLaTeXMath : comme la précédente, mais celle-ci est écrite en langage Java, développée initialement pour le logiciel Scilab. La bibliothèque est publiée sous la licence publique générale GNU.
* LaTeXML : un logiciel écrit en Perl permettant de convertir un document LaTeX en un fichier XML qui peut ensuite être post-traité pour obtenir au choix du HTML ou du XHTML, avec les formules au choix comme des images, ou comme du MathML. Il permet de ne traiter qu'une seule formule (latexmlmath). Il est domaine public (licence LaTeXML).
* MathJax : une bibliothèque en JavaScript permettant de formater des formules mathématiques du format TeX vers le format MathML ou SVG. Publiée sous licence Apache.

### Générateur de Polices

Une des fonctionnalités puissante de TeX est sa capacité de travailler avec une très large variété de types de fontes typographiques. Cependant, la qualité typographique des documents exigée très tôt dans son histoire a impliqué Donald Knuth pour le développement d'un générateur de polices de haute qualité basé sur une description mathématique des caractères : Metafont. Ce compilateur est intégré dans la plupart des distributions TeX et LaTeX.

### En tant que module d'impression

Certains logiciels, comme Grisbi, utilisent LaTeX en tant que module portable d'impression. Cette approche a cependant le défaut d'être relativement lourde à la fois lors de l'installation et lors de l'utilisation. Lors de l'installation, il faut déterminer s'il est possible de choisir l'imprimante, et la prévisualisation. Lors de l'utilisation, la même problématique reste posée.

## Développement

La première version largement utilisée, LaTeX 2.09, est sortie en 1985. Une révision majeure nommée LaTeX2ε est sortie en 1994. La prochaine version majeure, nommée LaTeX3, est en développement lent depuis le début des années 1990.
Le moteur actuel (2014) de LaTeX est PdfTeX mais ses limites, notamment concernant le traitement des textes Unicode, ont entraîné l'adoption officielle de LuaTeX comme futur successeur. Lorsque le développement en sera stabilisé, LuaLaTeX sera probablement l'implémentation standard de LaTeX.

## Étymologie, prononciation et typographie

« LaTeX » est la contraction de Lamport TeX, du nom de son créateur Leslie Lamport et du système TeX sur lequel il est basé. Le nom TeX lui vient du Grec ancien : τέχνη / tékhnê, « art, habileté à faire quelque chose, moyen », et les lettres « T », « E » et « X » proviennent donc des lettres capitales grecques tau, epsilon et khi.
Le nom se prononce donc comme [la-] suivi d’une des prononciations possibles de « TeX », soit [latɛx] (ressemblant à « latèhr », ce qui correspond à la prononciation moderne de chi) ou [latɛk] (« latèk »). Bien que la première prononciation soit privilégiée par le créateur de TeX, le créateur de LaTeX indique qu'il n’encourage ni ne décourage aucune prononciation (dont latex prononcé comme latex, [latεks]). De nombreux locuteurs francophones et anglophones, ignorant le son [ x], emploient la seconde prononciation.
Le nom est parfois présent sous forme du logo typographique : LATEX, au lieu de LaTeX.