Since writing my trigonometry curses, 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, and for good reason : 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. But what a great investment to train in its use…
Alors quel est l’intérêt d’utiliser cette solution ancienne et complexe en lieu et place de Office Word, for example ?
#The time saved
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, Office softwares package have a very approximate layout and are unable to compete…
Il est également possible, via the package pstricks, de dessiner (“plot”) 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, so you can zoom in on it without having "pixelated" effect “effect” (à la différence des bitmaps générés par des matrices de pixels).
#Strength
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).
#Automatic functions
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.
#Comments
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, free and multiplatform
LaTeX est gratuit, libre (opensource) et fonctionne aussi bien sous Unix/Linux, que Mac ou Windows (même s’il préfère Linux).
#Feature
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, your program will remain a set of commands repulsive 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.
#And bucket
LaTeX also allows :
- multicolumn layouts
- PDF Slideshow making
- l’insertion d’images, de fichiers PDF, Cropping on the fly
- automatic insertion of tables of figures
- l’insertion de flottants (cadres de textes ou d’images)
- achieving standard bibliographies with references in the text
- l’appel de références et renvois dans le documents, with clickable links
- footnotes
#Relative compatibility
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. This is possible thanks to the software Pandoc of those I just wrote French documentation, 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.
#Weaknesses
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, finally…).
#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 trigonometry curses 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, while the second allows to write programs for Windows only with many ghosts bugs ?
Quoi qu’il en soit, si j’ai réussi à apprendre LaTeX seul, cela devrait être possible au plus grand nombre.
#Resources
To get started with LaTeX :
- installer une ditribution $latex LaTeX$ complète : TeX Live
- an editor “almost” WYSIWYG : TeXmaker
- a course for beginners : How It Works
- classes to go farther down : Guardians ENS
- et pour vous convaincre de choisir LaTeX : The beauty of LaTeX (EN)
Pour tout le reste, Google est votre ami (comme tous les logiciels libres, les ressources disponibles sur le net - documentations, forums - sont conséquentes).
A few PDF books for reference use $LaTeX$
:
- A Short Math Guide (EN), par l'American Mathematical Society
- Beamer User Guide (EN), pour réaliser de beaux diaporamas
- Fancy Header (FR), pour personnaliser ses en-têtes et pieds de page,
- Le dessin avec PSTricks (FR),
- Orthotypographie 1/2 and 2/2, tout ce que vous devez savoir sur les règles de typographie professionnelle (plus de 600 pages).