LaTeX est un langage et un système de composition de documents. 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 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 Leslie Lamport, « », page de Leslie Lamport.. Depuis 1989, il est maintenu par une équipe de bénévoles au sein du projet LaTeX3.
Exemple vignette|alt=Les chiffres en bas de casse et en capitale.|Exemple de document composé avec LaTeX. Le code ci-dessous : \documentclass{minimal} \usepackage[french]{babel} \begin{document} En 1735, Leonhard Euler résout le \textbf{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. \end{document} produit un document minimal contenant les deux phrases et la formule mathématique qui suivent :
Les commandes débutent par le caractère barre oblique inversée (« \ »). Une commande peut avoir des paramètres, qui peuvent être obligatoires ou facultatifs. Les paramètres facultatifs s'écrivent entre crochets. Les paramètres obligatoires s'écrivent entre 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 . 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 , 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 distingue LaTeX des logiciels de type , 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 macro-commandes. 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 ). 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 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
En raison de ses capacités de mise en page et sa gratuité, LaTeX est un outil de rédaction couramment utilisé dans les milieux universitaire et scientifique, notamment dans les sciences exactes pour la gestion des formules mathématiques. Plusieurs éditeurs, spécialisés en mathématiques, informatiques ou physique, encouragent son usage en proposant des gabarits LaTeX facilitant la création de documents. Par exemple, les organisations de référence telles que l'American Mathematical Society ou de grands groupes d'édition scientifique comme Springer et Elsevier mettent en accès libre et recommendent systématiquement ces modèles à leurs auteurs. Certains éditeurs préfèrent ce format à celui du traitement de texte Microsoft Word, voire n'acceptent que celui-ci pour les soumissions de manuscrits. 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 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 constitue un avantage décisif. Entre autres, des outils comme Git ou la plateforme en ligne Overleaf encouragent l'échange et la collaboration. D'autres avantages reconnus incluent la mutualisation des bases de terminologie et de références bibliographiques via des systèmes intégrés comme BibTeX, 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 « » (texte de la licence LPPL), 4 mai 2008.. Cette licence, bien que libre, est incompatible« Licences commentées » (liste de licences et évaluation de leur compatibilité avec la GNU GPL), site du projet GNU. avec la GPL.
Support d’Unicode LaTeX a été créé lorsque 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 :