Il y a quatre ans et demi environ, à l’époque de cuk.ch version 1 (les fidèles de longue date écraseront une larme de nostalgie), Fabien Conus a rédigé et publié sur ce site une remarquable série d’articles sur LaTeX, qui a permis à bien des gens de s’initier à ce formidable « formateur de texte ». Ces cours sont bien sûr toujours accessibles aux liens suivants :
Introduction à LaTeX,
partie 1
Partie 2
Partie 3
Partie 4
Partie 5
Partie 6
Malheureusement, les exemples de code LaTeX de ces cours ont très mal supporté le passage de cuk.ch à la version actuelle (disparition de certains signes comme la très importante contre-oblique « \ », apparition d’espaces et sauts de ligne intempestifs…), si bien qu’il est préférable maintenant de se référer à la version PDF complète de ce cours.
Or ce n’est pas forcément vers cette version complète en PDF que pointent les divers moteurs de recherche. Ils peuvent tout aussi bien pointer vers l’un ou l’autre des articles séparés. Ce qui justifie déjà un toilettage de ces articles, qui rectifie les problèmes apparus lors de la migration vers cuk.ch version 3.
Mais, même en dehors de cela, il y a aussi le fait que ces articles ont maintenant quatre ans et demi, et qu’entre-temps le « paysage » LaTeX a pas mal changé. Pas tant le cœur du programme lui-même, bien qu’il ait connu une ou deux évolutions non négligeables, mais plutôt les « paquets » qui permettent de l’étendre, et surtout son implémentation sur Mac OS X.
Une mise à jour de ces articles était donc devenue nécessaire afin de leur conserver tout leur attrait et toute leur qualité. Fabien n’ayant guère plus le temps de s’y consacrer, je me suis proposé pour le faire (ce qui ne surprendra guère ceux qui me connaissent déjà ici comme grand fan de LaTeX ;-)) et il a gentiment accepté.
Vous trouverez donc ci-dessous une version actualisée par mes soins de la partie 1 de ce cours LaTeX. Il s’agit largement d’un « copier-coller » de celui-ci, si bien que j’ai conservé tels quels les passages où Fabien dit « je ». Dans cette partie, seul le passage concernant l’installation a été entièrement réécrit par mes soins, les autres modifications n’ont été que des corrections de détails. Les cinq autres parties du cours suivront, à intervalles réguliers d’une semaine.
Laissons donc maintenant la parole à Fabien, et bonne (re)lecture ! :-)
Plusieurs fois, je vous ai parlé de LaTeX, que ce soit dans des tests, dans des commentaires ou dans le forum. Sous cet acronyme mystérieux, un peu effrayant, se cache un programme rassemblant autant de fidèles que de détracteurs. À la demande de plusieurs personnes, et suite à de nombreux débats au sujet de FrameMaker (dont le développement sur Mac OS X a été arbitrairement stoppé par Adobe) sur le site, j’ai décidé d’aborder ce vaste sujet, en partie afin de le démythifier.
La tâche est rendue difficile par le fait qu’il existe une multitude de documents et de sites web vous proposant de découvrir LaTeX, et je tenais à tout prix à éviter de faire du plagiat ou à tomber dans la redondance. J’ai donc pris le parti de faire une approche de LaTeX en même temps que le test d’un éditeur dédié à ce programme, TeXShop, tournant sous Mac OS X.
Ce texte sera donc exclusivement orienté Mac OS X, même s’il pourra aisément être appliqué à d’autres plateformes.
Car c’est bien là une des forces de LaTeX : il tourne sur toutes les plateformes connues, de l’Amiga à Linux en passant par Solaris, BSD, Darwin, Windows ou DOS. Bienvenue dans le monde merveilleux du logiciel libre ! Voyons comment ça se passe sur notre machine.
Kézako ?
En 1978, Donald E. Knuth désire créer un programme permettant d’obtenir des documents à la qualité typographique irréprochable. Il crée alors le formateur de texte TeX, qui se prononce « tek » car inspiré du mot grec (que je ne sais pas transcrire ici) ayant donné « technique » en anglais et français, et qui signifiait également « art ». La syntaxe de TeX est toutefois assez lourde et complexe. Parfaitement conscient de cela, Knuth crée simultanément une première couche de macros au-dessus de TeX appelée Plain TeX (souvent confondue avec TeX lui-même) facilitant son utilisation. Et en 1982, Leslie Lamport crée LaTeX, une autre couche de macros sur TeX avec le même objectif (simplifier l’emploi de TeX), qui s’est immédiatement imposée dans le monde des « TeXniciens ». Pour faire une comparaison, on pourrait dire que LaTeX est à TeX ce que l’HTML est au SGML.
Pour une histoire détaillée de TeX et LaTeX, vous pouvez consulter ce site.
De nombreuses personnes pensent que LaTeX est un concurrent de Word, un traitement de texte parmi d’autres. Et bien c’est faux. LaTeX n’est pas un traitement de texte, c’est un formateur de texte.
Ce que je veux dire par là, c’est que la différence fondamentale entre Word et LaTeX c’est que ce dernier vous demande de vous concentrer uniquement sur le fond et pas du tout sur la forme. Tandis que le programme de Microsoft vous demande de vous occuper des deux.
Avec LaTeX, vous entrez votre texte et il s’occupe de faire la mise en page (vous devrez quand même lui donner quelques indications). La conséquence de cela est que vous ne travaillez pas en WYSIWYG (what you see is what you get, ce que vous voyez est ce que vous obtenez) comme c’est le cas avec Word et les traitements de texte. Avec ces derniers il n’y a (en principe) pas de différence entre ce que vous voyez à l’écran et ce qui sortira de votre imprimante.
L’ennui, ce sont les deux petites parenthèses insignifiantes. Combien de temps avez-vous perdu avec Word à replacer une image qui s’était fait la malle lors d’un saut de page, à refaire un tableau qui pour une raison X ou Y était déformé à l’impression, etc.
Combien de temps avez-vous perdu à renuméroter vos références et vos chapitres suite à l’ajout d’un paragraphe au milieu de votre texte. Combien de temps pour placer cette fichue image qui coupait votre chapitre et ce tableau qui disparaissait lors de l’ajout d’une phrase. Et combien de temps pour numéroter et placer correctement ces notes de bas de page.
Bref, les exemples sont légion, un traitement de texte est censé vous faciliter la vie et en fait il la pourrit !
Grâce à LaTeX tous ces soucis s’envolent, vous ne vous concentrez que sur le contenu.
À l’instar de l’HTML, vous allez créer un « code » LaTeX contenant votre texte et quelques commandes de mise en page. Ce code sera alors interprété par le programme LaTeX, tout comme l’HTML est interprété par votre navigateur, nous appellerons ça la « compilation ».
Installation
Pour commencer, une précision : contrairement à ce que beaucoup pensent, il n’est absolument pas nécessaire d’avoir X11 ou les outils développeurs installés sur sa machine pour profiter de LaTeX.
À l’époque de la première parution de cet article, la meilleure solution pour installer LaTeX était de le faire en utilisant un programme appellé i-installer. L’i-installer existe toujours, mais n’est plus « supporté » par son auteur, Gerben Wierda, ainsi que le précise l’en-tête du de son site pointé par le lien précédent.
Il n’est cependant pas abandonné, et la distribution (La)TeX, gwTeX, qu’il permet d’installer, est toujours disponible, mais G. Wierda n’entretient son outil et ne le met à jour que suivant ses besoins personnels, et ne répond pas aux rapports de bug, même s’il les reçoit volontiers et s’efforce d’en tenir compte.
Mais cela s’est avéré finalement un mal pour un bien puisque, suite à cette « retraite » de l’i-installer, MacTeX a été élaboré par tout une équipe de passionnés, dont Richard Koch, auteur de TeXShop, avec l’aide de G. Wierda d’ailleurs.
La page d’accueil de MacTeX.
Qu’est-ce que ce MacTeX ? Hé bien, il s’agit d’un gros « paquet » de programmes comprenant d’abord une distribution LaTeX très complète, appelée TeX Live, très populaire sur les systèmes Unix en général. MacTeX contient également plusieurs outils permettant d’exploiter TeX Live au mieux, dont je parlerai plus loin. Il s’installe en quelques clics de souris, fonctionne aussi bien sur Panther et Tiger que Leopard, et tourne sur PowerPC comme sur Intel. La version actuelle date de septembre 2008, et est communément appelée MacTeX-2008, pour la distinguer de sa version précédente (MacTeX-2007, laquelle n’est plus disponible au téléchargement).
TeXLive est également disponible sur Mac via le projet MacPorts, dans sa version 2007 à l’heure où j’écris ces lignes. La distribution gwTeX de l’i-installer, dont j’ai parlé plus haut, est en fait une version allégée de TeXLive 2007, personnalisée par G. Wierda.
Mais MacTeX, en plus de fournir la version la plus récente de TeX Live, permet de l’installer de façon incomparablement plus simple qu’avec MacPorts ou l’i-installer, et c’est donc lui que nous allons vous proposer d’utiliser.
Mentionnons quand même au passage qu’il y a encore d’autres distributions LaTeX disponibles sur Mac, mais elles sont nettement plus anciennes que la version actuelle de TeX Live, qui date de septembre 2008. Par exemple, teTeX, disponible via le projet Fink, ou encore les sharewares OzTeX et CMacTeX.
Téléchargez donc l’image-disque de MacTeX en cliquant ici ou en allant sur la page d’accueil de MacTeX, et en cliquant sur le lien labellisé « MacTeX.mpkg.zip ».
Ça pourra mettre un certain temps à atterrir sur votre bureau, puisqu’il y a quand même 1,2 GB au total à tranférer. Vous pouvez donc prendre un café si l’humeur vous en dit :-) Vous pouvez aussi en profiter pour visiter plus en détail le site de MacTeX qui regorge d’informations (en anglais). Lorsque l’installation sera terminée, l’espace occupé par l’ensemble de la distribution sera d’environ 1,8 GB.
Le chargement terminé, on procède à l’installation. Ouvrez l’image-disque : dans le disque virtuel qui est apparu, se trouve un « installer package », MacTeX.mpkg, tel que vous en avez vu sûrement par dizaines sur Mac OS X. Ouvrez-le, et suivez comme d’habitude les instructions pas à pas, en cliquant sur « continuer » après les informations de rigueur et la présentation des licences (toutes libres). Puis choisissez votre disque dur de destination (le disque dur sur lequel vous allez travailler avec LaTeX évidemment !!), et installez finalement MacTeX tel qu’il est prévu par défaut ; inutile de « personnaliser ».
Ça y est, LaTeX est installé sur votre machine !
Tout d’abord, vous avez deux nouveaux dossiers dans votre arborescence.
- Dans votre dossier « Applications », le dossier « TeX ».
Attention, ce dossier ne contient pas TeX ou LaTeX proprement
dit, mais des applications qui leur sont annexes :
- BibDesk, un gestionnaire de base de données bibliographiques associé à LaTeX ; il a été testé sur cuk.ch ici ;
- Excalibur, un correcteur orthographique pour programmes LaTeX ;
- LaTeXit, un éditeur d’équations utilisant LaTeX en sous-main ;
- TeXShop, une application dont on va faire très vite la connaissance ;
- un dossier « Utilities », contenant tout ce qui est nécessaire pour l’installation du TeX Live Manager, dont on reparlera dans un article à part ;
- Dans le dossier « Bibliothèque » de votre ordinateur, un autre dossier « TeX » contient justement des « alias » menant vers l’installation LaTeX proprement dite, qui se trouve dans la sous-couche Unix « invisible » par défaut de votre système. Mais le moment n’est pas non plus venu d’en parler.
De toutes les applications citées, seule TeXShop nous sera immédiatement utile, mais après la fin de ce cours, rien ne vous empêchera de jeter un œil aux autres.
Dans votre dossier « Applications/Utilitaires », se trouve en outre i-installer lui-même ; une version ancienne avait été testée sur cuk en son temps ; il y a eu pas mal de chamboulement dans les packages Unix qu’il gère, mais ses principes n’ont pas changé. C’était par son intermédiaire que certains utilitaires Unix très précieux à LaTeX sont installés par MacTeX, comme Ghostscript. Mais depuis MacTeX-2008, Ghostscript est installé indépendamment de l’i-installer, en version 8.62.
Vous avez également une nouvelle préférence système sur votre machine. Dans le champ « autre » doit maintenant se trouver une icône « Distribution TeX » :
« Distribution TeX » est tout en bas, à gauche.
Cette préférence liste les différences installations LaTeX présentes sur votre machine. Dans votre cas, si c’est votre première installation, il ne devrait y avoir qu’un élément dans la liste, TeXLive 2008, installée par MacTeX. Sinon, si vous avez déjà une ou plusieurs installation(s) LaTeX sur votre machine, elle sera également répertoriée et vous obtiendrez quelque chose comme ça :
Comme on le voit, il y a une autre distribution TeX sur cette machine : TeX Live 2007, qui venait avec la version précédente de MacTeX (MacTeX-2007).
En cliquant sur l’un ou l’autre bouton de la liste, on peut passer d’une installation à l’autre, de façon très fiable. Ce qui peut s’avérer pratique à chaque fois qu’une version de MacTeX sort (comme au moment de la parution de TeXLive 2008 ;-)), et si on souhaite passer par une période de test avant de l’adopter définitivement, ou bien lorsqu’on veut installer une autre distribution (gwTeX, par exemple) et la tester sans prendre de risque d’interférer avec une autre distribution déjà présente.
Mais passons maintenant aux choses sérieuses. Vérifiez déjà que LaTeX lui-même est utilisable, en faisant un très cours test via la ligne de commande du Terminal. Ouvrez une fenêtre Terminal et entrez :
latex -v
Vous verrez apparaître le numéro de version de LaTeX ainsi que quelques informations.
Compilation
Je ne vais pas m’attarder sur la compilation au Terminal d’un code LaTeX, mais pour des raisons historiques je tiens à mentionner quelques petites choses.
La compilation d’un code LaTeX peut se faire simplement au Terminal en appelant la commande
latex mondocument.tex
S’ensuivra une série de lignes obscures indiquant la compilation du document. Puis vous obtiendrez un fichier portant l’extension .dvi. Le DVI (« DeVice Independant ») est un format propre à TeX et ne peut-être visionné que par un programme dédié (xdvi par exemple). On peut ensuite convertir ce DVI en PostScript pour l’envoyer sur une imprimante.
Ceci n’est pas très intéressant pour nous, car il existe depuis quelques années un nouveau programme : pdfLaTeX !
Si vous utilisez la commande pdflatex au lieu de la commande latex, votre code LaTeX sera directement compilé en un magnifique document PDF, donc totalement compatible avec tous les différents acteurs du monde informatique. Et comme le PDF fait partie intégrante de Mac OS X, son intérêt n’en est que plus grand.
Mais je vous connais, vous ne voulez pas mettre les mains dans le Terminal, et vous avez raison. C’est là qu’interviennent les éditeurs de texte destinés à LaTeX.
Éditeurs
Tout comme l’HTML, un code LaTeX consiste simplement en un texte au format ASCII. N’importe quel éditeur de texte suffira donc à créer son document : pico, vi ou emacs dans le Terminal, SubEthaEdit, BBEdit, Smultron, TextMate, XCode ou même TextEdit sur l’interface graphique de Mac OS X.
Bien sûr, certains sont mieux adaptés que d’autres. Comme pour l’HTML, un bon éditeur sera capable de coloriser les commandes (les balises en HTML). BBEdit le fait, emacs, TextMate, SubEthaEdit et Smultron également, XCode aussi si on lui ajoute les fichiers nécessaires. La colorisation rend le code beaucoup plus agréable :
Avec TextEdit, il n’y a pas de colorisation…
… avec SubEthaEdit, si.
Mais l’éditeur idéal ne se contentera pas de coloriser les commandes, il faudrait aussi qu’il nous évite l’utilisation du Terminal ! Et là, le choix se restreint.
Certains éditeurs polyvalents comme emacs ou TextMate proposent, outre la colorisation, des environnements de travail très performants pour LaTeX. Mais personnellement j’estime préférable, notamment pour le débutant, d’utiliser un éditeur spécifiquement dédié à LaTeX, à l’exclusion d’autres programmes sauf éventuellement ceux qui lui sont reliés (TeX lui-même par exemple).
Il y a à ma connaissance trois éditeurs LaTeX idéaux pour la distribution de LaTeX que nous avons utilisée :
- TeXShop de Richard Koch, donc ;
- iTeXMac de Jérôme Laurens ;
- Texmaker de Pascal Brachet.
Pour ma part, j’ai une préférence pour le premier. Son interface est plus simple et l’auteur a toujours répondu à mes messages et a toujours implémenté ce que je lui demandais. Mais iTeXMac est également populaire et se veut plus complet (le développement de la version actuelle n’est cependant pas achevé). Texmaker est tout récent, a le grand avantage d’être multi-plateformes, mais n’a pas de visualiseur de PDF intégré, contrairement à TeXShop et iTeXMac, ce qui représente un handicap important ainsi qu’on va le voir.
Je vais donc orienter cette série d’articles non seulement sur l’usage et la syntaxe de LaTeX, mais également sur la façon de l’utiliser facilement avec TeXShop.
Comme on l’a vu, TeXShop a déjà été installé sur votre machine, dans le dossier « /Applications/TeX ». Son site dédié se trouve ici. C’est là qu’il faut aller si vous souhaitez suivre les mises à jours de ce programme, qui a une évolution indépendante de MacTeX. Au cas où vous en souhaitez une version plus récente, téléchargez-la donc sur ce site et installez-la par simple glisser-déposer, à la place de l’ancienne.
Nous voilà maintenant fin prêts, tous les outils sont installés et nous allons pouvoir commencer à créer nos documents.
Le premier document
Nous allons faire très simple pour ce premier document. Entrez donc dans TeXShop le code suivant :
|
\documentclass[a4paper]{book} \begin{document} Hello le monde ! \end{document} |
L’antislash ou contre-oblique (\) s’obtient par la combinaison « alt-shift-7 » sur un clavier suisse-romand. Sur un clavier français, c’est « alt-shift-: ».
Sauvegardez ce fichier (je vous conseille de créer un dossier spécial qui contiendra ce fichier) puis cliquez sur le bouton « Composer » de TeXShop. Une fenêtre va s’ouvrir et des lignes vont défiler, enfin, une nouvelle fenêtre va s’ouvrir contenant votre document pdf1.
Bravo, vous venez de compiler votre code LaTeX !
Bon évidemment il est simplissime, mais nous allons très vite nous lancer dans des choses plus évoluées.
La petite fenêtre qui s’ouvre lorsque vous compilez votre document s’appelle la console. C’est ce que vous verriez si vous lanciez la compilation depuis le Terminal. C’est également là que LaTeX vous fera part des éventuelles erreurs. Lors d’une compilation réussie, les deux dernières lignes seront toujours « Output written on… » et « Transcript written on… ».
Vous remarquerez que plusieurs fichiers ont été créés dans le dossier qui contient votre document. Un fichier « .log » et un fichier « .aux », utilisés par LaTeX pour stocker quelques informations, et bien sûr un fichier « .pdf » qui est votre document. C’est à cause de ces multiples fichiers que je vous conseille de créer un dossier pour chacun de vos documents.
Une dernière petite expérience pour aujourd’hui : dans votre document LaTeX, remplacez maintenant le texte « Hello le monde ! » par « Bonjour le monde ! », et appuyez à nouveau sur le bouton « Composer » (inutile de sauvegarder avant, TeXShop sauvegarde automatiquement lui-même le fichier à chaque compilation, s’il a déjà été enregistré sous un nom précis auparavant).
Constatez alors que TeXShop a automatiquement mis à jour la fenêtre montrant le PDF produit, pour afficher cette fois « Bonjour le monde ! ».
Quoi de plus normal, me direz-vous ?
Hé bien, figurez-vous que les gens qui travaillent avec LaTeX sur Windows n’ont pas cette chance avec les PDF qu’ils produisent. Ils n’ont en général qu’Adobe Reader (ou Adobe Acrobat) comme lecteur de PDF, donc une application complètement externe à leur éditeur. En conséquence, lorsqu’ils font une modification de leur code LaTeX, ils doivent avant de recompiler fermer par eux-mêmes la fenêtre d’Adobe Acrobat/Reader qui résultait de leur précédente compilation, puis la rouvrir. Car sinon Adobe Acrobat/Reader ne montrerait pas cette modification ! Et ainsi de suite à chaque modif, ce qui devient vite lassant…
C’est tout l’avantage de disposer sur Mac OS X d’un éditeur comme TeXShop (ou iTeXMac) qui a un lecteur de PDF interne : ainsi il peut refléter à chaque compilation sur le fichier PDF les changements intervenus dans le code2.
Les erreurs
Si vous avez fait une faute de frappe dans un nom de commande, LaTeX ne sera pas en mesure de compiler votre document. Dans la fenêtre de console vous verrez apparaître la ligne:
!Undefined control sequence
suivie de la commande qui pose problème et d’un point d’interrogation. Si vous entrez la lettre h (comme l’anglais help) au clavier dans la console, LaTeX tentera de vous fournir plus de détails sur l’erreur commise.
TeXShop offre cette excellente option de vous placer directement à l’endroit du texte d’où provient l’erreur. Pour cela, il vous suffit de cliquer sur le bouton « Erreur » situé en haut à gauche de la console. Vous pouvez également entrer la lettre e directement au clavier dans cette console, pour le même résultat. Si au lieu de cela vous appuyez sur Return sans rien d’autre, LaTeX essaiera de passer outre cette erreur, jusqu’à la fin de la compilation… ou la prochaine erreur. Vous pouvez tout aussi bien choisir d’abandonner carrément ce processus de compilation, en entrant x.
Dans le prochain épisode, nous examinerons ce petit document que nous venons de créer et nous explorerons plus en détail les fonctions de TeXShop.
1 Si à ce stade vous obtenez une erreur et que le PDF ne s’affiche pas c’est que LaTeX s’est mal installé.
2 Pour pouvoir bénéficier de cette agréable possibilité, les adeptes de LaTeX sur Windows se contentent souvent, au moins dans un premier temps, de produire et visualiser des fichiers au format DVI, dont leurs éditeurs de texte peuvent piloter un lecteur dédié (Xdvi, Yap…). Le format DVI est pourtant sévèrement limité par rapport au PDF : pas d’affichage des figures incluses ou des rotations de texte, par exemple.





