Published On : 28 mai 2012 |Last Updated : 14 octobre 2016 |1670 words|7,1 min read|0 Commentaire on De l’avantage de LaTeX sur les traitements de texte modernes|

Depuis la rédaction de mon cours de trigonométrie, et plus encore depuis le début de mon stage, je suis devenu un fervent adepte de LaTeX, langage de traitement de texte créé par Leslie Lamport en 1982.

Il est vrai que son utilisation rebute, et pour cause : on est à l’opposé des solutions logicielles « What You See Is What You Get » (WYSIWYG) prônées à l’heure actuelle, et qui ont le mérite de rendre la bureautique accessible au plus grand nombre.

Non, sous $latex LaTeX&bg=FCFCFC&s=1$, tout se fait en lignes de commandes, avec une syntaxe qui rappelle largement celle du HTML (balisage, déclaration d’objets). La phase d’apprentissage du code est souvent fastidieuse, même si d’excellents cours existent de même que des éditeurs LaTeX proposant une bibliothèque de fonctions avec l’autocomplétion. Mais quel remarquable investissement que de se former à son utilisation…

Alors quel est l’intérêt d’utiliser cette solution ancienne et complexe en lieu et place de Office Word, par exemple ?

#Le temps gagné

LaTeX, dans sa conception, sépare le fond et la forme. Concrètement, vous n’avez qu’à déclarer vos objets (listes, titres de niveaux décroissants, boîtes, …) et le programme se charge seul de toute la partie mise en forme, avec respect natif des normes typographiques. Vous n’avez qu’à taper votre texte, vous n’avez plus à vous battre contre Word pour un élément de liste qui ne s’est pas indenté comme les autres (vécu) ou un titre qui ne veut pas apparaître dans la table des matières sans raison valable (idem).

Cependant, il est tout à fait possible pour ceux qui le souhaitent, d’écrire leurs propres macros et de personnaliser tout ce qui est personnalisable (polices, couleurs, alignements, marges, espacement, puces, en-tête, pied de page, etc.). Mais pour ceux qui ne veulent pas s’embêter, les classes (= feuilles de styles) fournies suffisent amplement.

#LaTeX + maths = sexy

L’autre gros avantage de LaTeX est sa prise en charge de la mise en forme des formules mathématiques. L’édition de formules sous Microsoft est longue, fastidieuse et souvent buggée, surtout lorsqu’on commence à rentrer dans des formules complexes. Avec LaTeX, il devient simple (en connaissant toutefois le code) de développer un coefficient de corrélation  :

$latex r=dfrac{sigma_{xy}}{sigma_x sigma_y}=dfrac{displaystylesum_{i=1}^N (x_i - bar{x})cdot(y_i - bar{y})}{sqrt{displaystylesum_{i=1}^N(x_i-bar x)^2}cdotsqrt{displaystyle sum_{i=1}^N(y_i - bar y)^2}}&bg=FCFCFC&s=1$

C’est la raison pour laquelle il est encore largement utilisé pour la rédaction de mémoire, thèses, livres etc. Sur ce domaine, les logiciels du pack Office ont un rendu très approximatif et sont incapables de rivaliser…

Il est également possible, via le paquet pstricks, de dessiner (« ploter ») directement en lignes de commande des fonctions mathématiques avec axes gradué, de même que toute la géométrie qui vous passera par la tête. Les dessins ainsi créés sont vectoriels, c’est à dire générés par des fonctions mathématiques, de sorte que vous pourrez zoomer dessus à volonté sans jamais avoir d’effet « pixélisé » (à la différence des bitmaps générés par des matrices de pixels).

Fonctions dessinées directement en code LaTeX dans mon Cours de Trigonométrie
Fonctions dessinées directement en code LaTeX dans mon Cours de Trigonométrie

#Robustesse

En plus de 30 ans d’existence, LaTeX a eu largement le temps d’être doté de tout ce qui était nécessaire et a été largement éprouvé. C’est un programme robuste et fiable. Toutes les fonctions qu’on peut attendre d’un traitement de texte sont proposées dans LaTeX, via des modules complémentaires à activer au besoin (les packages).

#Fonctions automatiques

Avec 3 lignes de codes, LaTeX est capable de vous créer une table des matières avec des liens cliquables. De même pour un index propre, et une bibliographie, et beaucoup d’autres choses. Il suffit souvent d’ajouter la ligne d’appel du module concerné, la ligne d’appel de la fonction correspondante, éventuellement une ligne ou simplement des paramètres de configuration de ladite fonction, et c’est fait.

#Commentaires

Comme dans tout programme, il est possible d’insérer des commentaires qui seront ignorés lors de la compilation, mais affichés lors de l’édition du programme. On peut donc envisager des portions de codes inactives, des mémos sur le contenu, où comme je l’ai fait dans le cas d’une traduction, la conservation du texte en langue originale (commenté) juste en dessous du texte traduit, pour référence ultérieure.

#Typographie professionnelle

Depuis l’édition de mon premier livre, j’ai été amené à m’intéresser de près à la typographie, et en particulier à l’orthotypographie. LaTeX est à ce jour le seul logiciel de traitement de texte à offrir un support complet et natif de toutes les règles de typographie (gestion des césures, veuves-orphelins, gris typographique, ligatures, marges optiques, crénage, approche  etc.), permettant de fait une mise en page professionnelle compatible d’origine avec les exigences des éditeurs. Un texte composé sous LaTeX est vraiment plus beau qu’un texte composé avec tout autre éditeur…

#Gratuit, libre et multiplateformes

LaTeX est gratuit, libre (opensource) et fonctionne aussi bien sous Unix/Linux, que Mac ou Windows (même s’il préfère Linux).

#Particularité

Les traitements de texte devenus classiques stockent le fichier rendu et sa source dans un même document compressé dans le format maison (mais vous ne voyez que le rendu, pas le code source), ce qui est à l’origine de nombreux bugs.

Sous LaTeX, votre programme restera un ensemble de commandes rebutantes très geeks, que vous devrez compiler (passer dans une moulinette) de façon à produire un fichier PDF ou DVI ou PS qui sera la version lisible de votre travail. Le code source et le fichier rendus seront donc à jamais séparés, évitant de perdre les deux en cas de problème d’enregistrement. Fini les problèmes de fichiers corrompus !

#Compliqué oui mais…

Taper des commandes au fur et à mesure, c’est rebutant, et ça demande un apprentissage assez long. Mais ça n’est pas une nécessité.

De nombreux logiciels d’édition de code LaTeX permettent de composer un texte en ajoutant les commandes via des menus. Le code reste du code, mais le logiciel se charge d’intégrer les commandes pour vous… L’utilisation se rapproche donc sensiblement d’un document Word.

Mon éditeur LaTeX préféré est TeXmaker.

#En vrac

LaTeX permet également :

  • les mises en pages multicolonnes
  • la réalisation de diaporamas PDF
  • l’insertion d’images, de fichiers PDF, avec recadrage à la volée
  • l’insertion automatique de tables des illustrations
  • l’insertion de flottants (cadres de textes ou d’images)
  • la réalisation de bibliographies normalisées avec références dans le texte
  • l’appel de références et renvois dans le documents, avec liens cliquables
  • les notes de bas de page
[tp not_in= »en »](footnotes)[/tp] ou dans la marge

#Relative compatibilité

Pour vous aligner sur vos collègues qui ne jurent que par Microsoft Word et qui ne savent pas ce qu’il perdent, il peut être nécessaire de convertir votre travail en LaTeX vers le .doc ou le .docx. Ceci est possible grâce au logiciel Pandoc dont je viens d’écrire la documentation française, qui permet également une conversion en EBook, HTML, etc.

Le fichier ainsi converti respecte, en gros, la mise en page initiale, mais il convient de bien le relire pour corriger les erreurs d’exportation. Il sera éditable par d’autres, et après tout, c’est juste ce qu’on lui demande.

#Ses faiblesses

Clairement, la faiblesse de LaTeX réside dans le fait qu’il demande un apprentissage plus poussé qu’un traitement de texte classique, principalement parce que vous ne voyez pas la mise en forme au moment où vous rédigez.

D’autre part, votre code source devra être propre et respectueux de la syntaxe, sans quoi la compilation renverra une constellation d’erreurs aux noms poétiques, et vous n’aurez jamais le résultat escompté.

Mais avec l’habitude, on s’y fait et ça ne devient plus un problème. Une fois rodé, on peste après Word lorsqu’il faut fouiller ses menus, quand on a l’habitude de faire la même chose avec une ligne de code (plus rapidement, finalement…).

#Conclusion

Comme toujours, le meilleur outil est celui qui vous convient, qui correspond à votre besoin et avec lequel vous êtes à l’aise. À vous de tester, et de comparer, en gardant à l’esprit qu’un logiciel puissant sera forcément complexe, alors qu’un logiciel simple sera forcément plus limité. Mon cours de trigonométrie ne serait rien sans LaTeX.

Il est assez regrettable que LaTeX ne soit pas enseigné dès les premières années d’enseignement supérieur, mais peut-on attendre d’avantage d’un système qui a remplacé l’apprentissage du langage C par celui du Visual Basic, quand le premier permet de coder un système d’exploitation entier depuis n’importe quel OS, alors que le second permet d’écrire des programmes à bugs fantômes uniquement sous Windows ?

Quoi qu’il en soit, si j’ai réussi à apprendre LaTeX seul, cela devrait être possible au plus grand nombre.

#Ressources

Pour bien démarrer avec LaTeX :

Pour tout le reste, Google est votre ami (comme tous les logiciels libres, les ressources disponibles sur le net - documentations, forums - sont conséquentes).

Quelques livres PDF de référence pour utiliser $LaTeX$ :