LaTeX

Fiche logiciel validé
  • Création ou MAJ importante : 18/10/10
  • Correction mineure : 25/02/11
  • Rédacteur de la fiche : Daniel Flipo - UFR de Mathématiques (USTL Lille, Ministère de l'enseignement supérieur et de la recherche)
  • Relecteur(s) : Violaine Louvet (Institut Camille Jordan)
  • Responsable thématique : Violaine Louvet (Institut Camille Jordan)
Mots-clés

LaTeX : système de composition de documents

  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Téléchargement
  • Version évaluée : TeXLive 2010
  • Langue(s) de l'interface : anglais
  • Licence : Autre

    Les trois distributions mentionnées (TeXLive, ProTeXt et MacTeX) sont composées de multiples éléments, tous libres, mais relevant de licences trop variées pour être toutes listées ici.

Description
Fonctionnalités générales
  • LaTeX est un langage de balisage de documents structurés qui vise à décharger l'auteur des préoccupations de présentation, celle-ci étant confiée à une feuille de style (appelée « classe »).
  • LaTeX repose sur le langage de programmation TeX conçu par D. E. Knuth pour permettre la composition de textes et de formules mathématiques avec un rendu typographique de haute qualité.
  • LaTeX est intensivement utilisé par les mathématiciens pour écrire leurs articles scientifiques (la plupart des éditeurs de revues mathématiques exigent ce format), leurs cours polycopiés ou leurs livres. Il est également utilisé en sciences sociales où la puissance du langage TeX permet une gestion simple et efficace de notes de bas de page en grand nombre, de bibliographies complexes, de tables des matières et d'index même pour de gros ouvrages comportant des centaines voire des milliers de pages.
  • Le cycle d'édition d'un document LaTeX comporte trois phases :
    1) L'auteur compose son document à l'aide d'un éditeur adapté : TeXShop sous MacOSX, TeXnicCenter ou TeXmaker sous Windows, Kile ou TeXmaker sous Linux, Emacs+AucTeX (toutes plates-formes). Tous ces éditeurs rendent aisée la saisie des balises de structure. Le document se compose d'un préambule contenant les instructions de formatage 2 et du corps du document, structuré par des balises (sectionnement, listes, tableaux, formules, etc.) comme en xhtml par exemple. Ce document s'appelle le fichier source, son nom est suffixé en .tex.
    2) Il compile ensuite le document à partir de son éditeur à l'aide d'un menu ou d'un raccourci clavier, un rapport de compilation indiquant les erreurs éventuelles (commandes inexistantes, fautes de syntaxe, etc.) s'affiche dans l'éditeur. La compilation produit un fichier image, au format dvi s'il compile avec LaTeX ou au format pdf s'il compile avec pdfLaTeX ce qui est vivement recommandé car les fichiers dvi ne sont pas portables (ni les fontes ni les images ne sont incluses).
    3) Enfin il visualise le fichier image dans une fenêtre distincte de l'éditeur, grâce à Xdvi s'il s'agit d'un fichier dvi ou grâce à Xpdf ou Acrobat Reader s'il s'agit d'un fichier pdf.
    Le cycle se répète jusqu'à ce que l'auteur soit satisfait du résultat. En fait plusieurs compilations successives peuvent être nécessaires si on utilise les fonctionnalités qui font la puissance de LaTeX comme le système de références croisées (étiquettes permettant de numéroter de façon dynamique les sections, les équations, les références bibliographiques, etc.). La bibliographie peut être construite à partir d'une base de données en utilisant BibTeX, un index peut être créé grâce à makeindex ou xindy, ces opérations nécessitent plusieurs passes successives.
  • Le format des fichiers source LaTeX est totalement ouvert : c'est du texte pur balisé codé au choix en ascii, iso8859-x ou utf-8. Ceci leur assure une excellente pérennité.
  • Une variante (XeLaTeX) accepte en entrée uniquement des textes codés en utf-8 et utilise les polices OpenType de la machine à la place des polices TeX. Elle est particulièrement adaptée aux textes multilingues (toutes langues européennes, arabe, chinois, etc.).
Autres fonctionnalités
  • pdfLaTeX accepte l'inclusion d'images ou de dessins provenant de tout logiciel externe capable d'exporter dans un des formats png, jpeg ou pdf. LaTeX exige des images au format eps.
  • Le programme MetaPost (intégré aux distributions TeX/LaTeX) permet de créer des dessins (courbes, graphiques, schémas) à partir d'un langage de commandes d'où une grande précision des tracés ; il offre en outre la possibilité d'inclure dans les dessins des formules mathématiques codées en LaTeX et d'harmoniser les polices de caractères utilisées dans les figures et dans le texte courant. Il fonctionne aussi bien avec LaTeX qu'avec pdfLaTeX. Ceux qui préfèrent inclure leurs figures directement dans leur document LaTeX se tourneront vers le module « tikz ».
  • LaTeX intègre un mécanisme de « flottants » qui place automatiquement les figures et les tableaux de façon à éviter les pages creuses : lorsqu'une image est insérée trop bas dans une
    page pour tenir sur celle-ci, elle est reportée en haut de la page suivante et le texte qui suit l'image est « remonté » pour combler le vide en bas de page. La même chose vaut pour les tableaux. Ce mécanisme (paramétrable) donne d'assez bons résultats mais nécessite quand même une intervention manuelle dans les cas difficiles (images nombreuses et de grande taille).
  • LaTeX est bien adapté aux documents multilingues, qu'il s'agisse de langues alphabétiques (gestion des césures dépendant de la langue courante) ou non (arabe, langues orientales, etc.). Des modules sont disponibles pour la chimie (molécules de chimie organique) et pour la physique (diagrammes de Feynman).
  • À côté des classes standard prévues pour les articles, les livres, etc., il existe plusieurs classes LaTeX permettant de faire des présentations vidéo-projetées « à la PowerPoint », parmi elles LaTeX Beamer ( voir la fiche PLUME http://www.projet-plume.org/fiche/latex-beamer ) est une des plus intéressantes. Il est ainsi facile de réutiliser des éléments d'un article écrit en LaTeX, notamment les équations, pour les intégrer dans une présentation vidéo-projetée, la qualité de présentation étant préservée.
  • Des passerelles de conversion existent du format OpenDocument (fichiers .odt) vers LaTeX (inclus dans OpenOffice v. 2) et de LaTeX vers xhtml ou xml.
Interopérabilité

Des passerelles de conversion existent (voir ci-dessous) entre les formats OpenDocument (.odt), MS-Word (.doc, .rtf) et LaTeX. Il ne faut cependant pas en attendre des miracles : un document écrit au kilomètre sans structure sous OpenOffice n'a aucune chance de fournir un source LaTeX utilisable après conversion. Un travail d'édition manuelle est toujours nécessaire même si le document initial est bien conçu car les traitements de texte classiques et LaTeX reposent sur des concepts différents. L'importance du travail de nettoyage final dépend fortement de la complexité et de la qualité de structuration du document initial. La conversion des formules mathématiques est toujours problématique.
Il existe également de nombreux outils de conversion entre LaTeX et XML/MathML, aucun n'est totalement satisfaisant. Là aussi ce sont les formules mathématiques qui posent le plus de problèmes.
Voici une liste (non exhaustive) d'outils disponibles.

Contexte d'utilisation dans mon laboratoire/service

LaTeX est très largement utilisé par les chercheurs et enseignants en mathématiques de l'enseignement supérieur et commence à l'être aussi dans le secondaire (formations dispensées par les IREM et initiation donnée dans certaines universités aux étudiants de licence de mathématiques).

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Le codage des balises et la conception d'un document à partir de sa structure logique et non de la présentation finale souhaitée rebutent les utilisateurs habitués à OpenOffice ou MS-Word. LaTeX nécessite un réel effort d'apprentissage.
  • Une installation TeX/LaTeX est un système complexe (typiquement un ensemble de 50 000 fichiers répartis en 4000 dossiers). Même si l'installation initiale ne pose plus guère de problèmes, l'ajout de modules (fontes commerciales, fichiers de style locaux, etc.) nécessite une connaissance approfondie du système, car la structure de l'arborescence est régie par des règles précises souvent méconnues.
  • LaTeX fait sa mise en page à partir d'une structure et d'une feuille de style ce qui exclut par exemple le positionnement à la carte d'images à cheval sur plusieurs colonnes comme on le voit couramment dans les magazines. LaTeX ne peut remplacer Quark XPress ou FrameMaker dans ce domaine.
  • Les feuilles de style (classes) existantes, même si elles sont largement paramétrables, ne répondent pas aux desiderata ou aux contraintes de tous. La création d'une classe LaTeX personnelle n'est pas chose facile, elle nécessite une bonne connaissance du langage de programmation TeX.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Toutes les distributions Linux contiennent une version plus ou moins à jour de TeXLive.
Une nouvelle version (TeX-Live 2010) est sortie en septembre 2010. Elle est disponible à l'URL http://www.ctan.org/tex-archive/systems/texlive/tl..., le mode d'installation a changé (lire le fichier README).
Rien n'empêche d'installer TeXLive 2010 à côté de la distribution de base intégrée à Linux mais l'usager root doit impérativement ne voir que cette dernière. Le choix de la version de TeXLive se fait utilisateur par utilisateur en modifiant la variable $PATH.

Il est maintenant possible de remplacer complètement la distribution TeX/LaTeX incluse dans une distribution Linux par TeXLive 2010 (ou ultérieure), voir par exemple pour Debian http://weblog.elzevir.fr/2008/11/tex-live-2008-a-l....

Plates-formes
Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

OpenOffice Writer (libre) et MS-Office (commercial) sont des traitements de texte wysiwyg d'abord plus faciles que LaTeX mais la qualité typographique des documents qu'ils produisent n'est pas comparable (espaces inter-mots irréguliers, présentation des formules mathématiques, etc.).

Environnement de développement
Type de structure associée au développement

LaTeX est maintenu par une équipe d'une dizaine de personnes (projet LaTeX3) et par plusieurs centaines de développeurs (plus de 800 extensions disponibles).

Eléments de pérennité

Une large communauté d'utilisateurs regroupés en associations au niveau national (GUTenberg en France, DANTE en Allemagne, etc.) et mondial (TUG).

Références d'utilisateurs institutionnels

Références d'utilisateurs institutionnels (ou éléments permettant d'évaluer le LaTeX est très largement utilisé par les chercheurs et enseignants en mathématiques de l'enseignement supérieur et commence à l'être aussi dans le secondaire (formations dispensées par les IREM et initiation donnée dans certaines universités aux étudiants de licence de mathématiques).

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
  • Liste GUT gut [at] ens [dot] fr (français).
  • Forum fr.comp.text.tex (français).
  • Forum comp.text.tex (anglais).
Documentation utilisateur
Divers (astuces, actualités, sécurité)
Contributions

Tous les développements logiciels (libres) autour de LaTeX sont accueillis par les sites CTAN.

Commentaires

Trouver les symboles

Tout utilisateur de La/TeX s'est vu devant le problème d'identifier la macro exacte désigner tel ou tel symbole. (Savez-vous, si la "grande sœur" de \Rightarrow s'appelle \Rightlongarrow ou \Longrightarrow, ou alors \LongRightarrow ?)
Un service en ligne, http://detexify.kirelabs.org/classify.html permet de dessiner librement un symbole quelconque, qu'il compare aussitôt aux symboles définis dans TeX et retourne une liste de propositions avec l'affichage final.

Framabook sur Latex

« Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander » : un framabook tout neuf
http://www.framabook.org/latex.html

Framabook? Une collection de livres libres sur le logiciel libre, à télécharger en toute liberté mais aussi et surtout à acheter à prix serré chez l'éditeur InLibroVeritas : en savoir plus !

En version html : http://latex.developpez.com/cours/savoir-latex-san...