Profitez des offres Memoirevive.ch!
Introduction à LaTeX, partie 6 (mise à jour)

Nous voici rendus à la sixième et dernière partie de l'Introduction à LaTeX de Fabien Conus, mise à jour, et dont l'article original se trouve ici.

Étant donné les circonstances LaTeXiennes actuelles, j'ai presque entièrement réécrit cet article, bien que l'idée générale soit restée la même : fournir des compléments très utiles sur TeXShop et LaTeX, et répondre à quelques demandes courantes de leurs utilisateurs. Je termine le cours proprement dit par quelques considérations sur les récentes évolutions et le futur de LaTeX.

Puis vient la considération générale. J'ai repris mot pour mot celle de Fabien, parce que selon moi elle n'a pas pris une ride et résume tout à fait mes idées personnelles. En toute fin d'article, vous trouverez une liste de références bibliographiques et de liens Internet pour vous permettre d'aller plus loin dans votre connaissance de LaTeX.

MacTeX-2008 étant sorti entre-temps, j'aurais souhaité décrire ici ses principales nouveautés. Mais cette partie, déjà longue, devenant alors carrément indigeste, j'ai pris le parti de faire de la description de ces nouveautés un article indépendant, qui paraîtra dès que possible (dans trois semaines a priori).

En attendant les précisions apportées par cet article à venir, profitez déjà des joies de la synchronisation source-PDF : « commande-cliquez » sur une partie du document PDF de sortie et TeXShop vous amène sur la partie correspondante du code LaTeX, et vice versa. Cette fonctionnalité existait déjà, mais s'est grandement améliorée avec MacTeX-2008.

Je tiens à remercier Noé Cuneo, qui a très gentiment accepté de relire chaque article au fur et à mesure pour traquer les erreurs, fautes de frappe et autres incohérences.

Bonne lecture !

Franck Pastor


Le symbole euro

C'est une des questions les plus fréquemment posées en LaTeX : « Mais comment qu'on fait pour obtenir ce *%£$& de symbole euro ??? ».

Pour obtenir le symbole dollar, c'est simple, c'est la commande \$, la contre-oblique étant nécessaire puisque LaTeX utilise le caractère $ lui-même pour marquer l'entrée d'une formule mathématique dans le cours du texte. Mais pour le symbole euro, c'est plus problématique. Bon, c'est sans doute moins important en Suisse, mais ça vaut quand même la peine d'être abordé ici ;-)

La réponse standard est d'utiliser le paquet de commandes textcomp, qui fournit (entre autres) la commande \texteuro. Cette commande composera automatiquement le symbole euro contenu dans la police couramment utilisée, si celle-ci en contient un, ce qui est le cas la plupart du temps. Un exemple :

Ce logiciel m'a coûté 500~\texteuro, une paille !

(S'il vous plaît, n'oubliez pas l'espace insécable !)

À la compilation, on obtiendra ceci avec les polices par défaut, Computer Modern, et les polices Latin Modern (qui ont la même apparence, je le rappelle) :

image

Si on utilise l'encodage d'entrée « UTF-8 Unicode », on peut tout simplement entrer le symbole euro directement au clavier, avec la combinaison de touches « alt-$ » sur clavier français, « alt-e » sur clavier suisse. Mais même alors il faut avoir chargé le paquet textcomp.

Dans le cas où la police courante ne contient pas de symbole euro, textcomp crée alors un « euro du pauvre » en plaçant deux barres horizontales au milieu du C majuscule de la police courante. Le résultat n'est la plupart du temps pas très heureux esthétiquement parlant.

Il vaut mieux alors utiliser un paquet tel qu'eurosym qui fournit une commande appelée tout bêtement \euro. Cette commande compose le logo de la monnaie européenne commune dans sa forme « officielle », laquelle est invariable quelle que soit la famille de police utilisée. Exemple :

Ce logiciel m'a coûté 500~\euro, une paille !

Cela donnera :

image

Évidemment, avec cette démarche on perd en adaptabilité à la police en cours. Un autre inconvénient de cette démarche est qu'elle ne permet pas d'entrer le symbole euro directement au clavier.

La fragmentation

C'est une des forces de LaTeX : il peut traiter des documents de très grande taille sans broncher le moins du monde. Alors que Word, dans la même situation, a tendance à exploser en route.

Cependant, même avec LaTeX, il peut être utile (mais pas indispensable) de scinder son fichier de travail en plusieurs parties. Par exemple, si on travaille sur un roman ou un rapport en plusieurs chapitres, et que l'on souhaite travailler sur un ou plusieurs chapitres en particulier, en laissant les autres inchangés. On souhaiterait alors éviter d'avoir à compiler tout le document, ce qui peut prendre un certain temps, alors que seule une courte partie était concernée par les modifications.

Pour résoudre ce problème, LaTeX fournit deux commandes très utiles : \include et \includeonly.

Voici la structure-type d'un programme utilisant la commande \include :

\documentclass[options]{une_classe}

\begin{document}
\include{partie1}
\include{partie2}
\include{partie3}
\include{complement}
\end{document}

Ceci constitue le fichier principal, ou fichier racine, qui doit contenir tout le préambule. C'est celui qui doit être compilé. Appelons-le « fichier_principal.tex ».

Les fichiers « partie1.tex », « partie2.tex », … , « complement.tex », sont des fichiers que vous aurez créés et sauvegardés à part, dans le même répertoire que le fichier principal. Chacun d'entre eux pourra contenir une partie de votre texte : un chapitre, une section, ce que vous voulez. Ce sont les fichiers annexes.

Ces fichiers annexes ne doivent contenir ni \documentclass, ni préambule, ni \begin{document} ou \end{document}pan>, qui sont l'affaire du fichier principal. Les contenus des fichiers annexes seront inclus dans l'ordre dans le PDF produit après compilation du fichier principal, et ce grâce aux commandes \include{nom_de_la_partie}.

Attention, ne pas mettre l'extension « .tex » dans l'argument de la commande \include.

Pour travailler sur une ou plusieurs parties particulières, et ignorer les autres, on peut soit « commenter » les commande \include correspondantes (en metttant un signe pourcentage % devant elles, ce qui les désactive), soit utiliser la commande \includeonly en préambule de « fichier_principal.tex », avec en argument la liste des parties à inclure, séparées par des virgules. Par exemple :

\documentclass[options]{une_classe}

\includeonly{partie2, complement}
\begin{document}
\include{partie1}
\include{partie2}
\include{partie3}
\include{complement}
\end{document}

Ici, seuls les fichiers « partie2.tex » et « complement.tex » seront inclus dans le document de sortie.

L'intérêt de l'utilisation de \includeonly est que les diverses numérotations de chapitres, sections, sous-sections, etc., et les références croisées des parties incluses tiendront automatiquement compte des parties non incluses, à condition que le document ait été compilé au préalable avec toutes ses parties, avant d'entamer le travail sur les parties particulières.

A priori, c'est le fichier principal que l'on doit compiler, et il est impossible de compiler l'ensemble en compilant un des fichiers annexes. Mais TeXShop fournit un moyen de le faire : placer au tout début de chaque fichier annexe la ligne suivante :

%!TEX root = fichier_principal.tex

Ce commentaire-là sera reconnu par TeXShop (mais par aucun autre éditeur). Grâce à lui, en compilant un fichier annexe, TeXShop lancera en fait la compilation de « fichier-principal.tex ».

TeXShop fournit aussi une macro vous aidant à rédiger cette ligne, si vous avez du mal à en retenir la syntaxe. Dans le menu « Macros » (toujours lui :-)), choisissez l'option « root » (racine), et il vous insérera « %!TEX root = » à l'endroit où se trouve le curseur. Il ne reste qu'à compléter avec le nom du fichier principal.

Notez que chaque nouvelle partie incluse grâce aux \include commencera sur une nouvelle page dans le document PDF de sortie. Si on trouve cela gênant, on peut utiliser la commande \input à la place de \include. Voici la syntaxe de cette nouvelle commande (on remarquera que cette fois l'extension « .tex » doit figurer dans l'argument) :

\input{partie.tex}

L'inconvénient d'utiliser cette méthode est qu'on pert alors le bénéfice de la commande \includeonly.

KOMA-Script

Nous avons vu au cours de la partie 3 comment franciser un document produit par LaTeX de façon convenable, avec les utilisations convenables des paquets babel, fontenc, inputenc et le choix des polices Latin Modern.

Cependant, LaTeX reste marqué par la mise en pages et la présentation « à l'américaine ». Par exemple, le papier est par défaut supposé au format « letter », et les marges des classes standards, même en option a4paper, sont légèrement trop grandes pour le goût européen. La titraille est en style romain alors que notre tradition les voit plutôt en sans serif, la classe letter est seulement conforme aux standards américains, la taille par défaut de la police de base (10 points) est un peu trop petite pour nous, et d'ailleurs la mise en page ne s'adapte pas à la taille de la police en cours, etc.

Une des solutions les plus efficaces pour remédier à cela est d'utiliser les classes fournis par l'ensemble KOMA-Script. Cet ensemble a été créée dans ce but par des utilisateurs allemands de LaTeX, particulièrement Markus Kohm, qui supervise leur développement actuel. Il permet également une personnalisation bien plus aisée du document que celle permise par les classes standards.

KOMA-Script, outre divers paquets très intéressants mais qu'on n'abordera pas ici, propose quatre classes analogues aux classes standard de LaTeX. Le tableau ci-dessous montre ces classes en vis-à-vis de leur équivalent en LaTeX standard :

Classes standard Classes KOMA-Script
article scrartcl
report scrreprt
book scrbook
letter scrlttr2

Si vous vous demandez pourquoi les noms des classes KOMA-Script sont si condensés, c'est qu'il semble que LaTeX ne permette pas pour ses classes l'emploi de noms de plus de huit lettres. En tout cas à une certaine époque. Les choses ont peut-être changé dernièrement, mais n'ayant pas d'expérience dans la création de classe, je ne peux pas en dire plus.

Chacune des classes KOMA-Script listées ci-dessus impose par défaut l'emploi du format A4, la création de marges moins importantes et une titraille en sans serif. Par défaut toujours, la taille de base de la police est de 11 points au lieu de 10, sauf pour la classe scrlttr2, où elle est de 12 points.

Qui plus est, KOMA-Script adapte la mise en page selon la taille de base de la police, et ce pour les trois tailles habituelles (10-11-12 points). KOMA-Script permet en outre l'utilisation de tailles de base suppémentaires : 8, 9, 14, 17 et 20 points, à condition de charger aussi le paquet extsizes, qui se charge alors d'adapter la mise en page.

Quant à la classe scrlttr2, elle permet de composer des lettres d'allure très professionnelle selon les conventions allemandes et suisses. Cette dernière convient également bien aux exigences françaises en ce domaine.

De plus, ces classes fournissent un grand nombre de macros et d'options supplémentaires qui permettent de personnaliser la mise en pages de façon bien plus simple et efficace qu'avec les classes standards.

Pour vous en convaincre, un exemple : la délimitation des paragraphes. On a vu dès la deuxième leçon que LaTeX, dans sa configuration par défaut, distingue dans le document de sortie chaque paragraphe par une indentation de leur première ligne :

image

(Celui qui devine tout seul d'où est extrait ce texte a droit à toute ma considération :-))

On peut vouloir que ce soit fait autrement : par exemple, qu'il y ait dans le document de sortie une ligne blanche entre chaque paragraphe. Et sans indentation, car imposer à la fois l'indentation et le saut de ligne serait redondant, selon les règles typographiques communément admises. Bref, on voudrait quelque chose comme ceci :

image

Le moyen « classique » de le faire est de modifier les deux dimensions LaTeX concernées, \parskip qui définit l'espacement vertical entre paragraphe, et \parindent, qui en définit l'indentation de la première ligne. On entre alors les deux lignes suivantes en préambule :

\setlength{\parindent}{0cm}
\setlength{\parskip}{\baselineskip}

qui imposent respectivement l'indentation égale à 0 et l'espace supplémentaire entre paragraphes égale à la distance par défaut entre deux lignes.

Or si la modification de \parindent ne pose pas de problème, celle de \parskip affecte malheureusement les éventuelles tables des matières, des figures et la liste des tableaux, ce qui n'était pas vraiment le but souhaité…

Les classes KOMA-Script fournissent une méthode beaucoup, beaucoup plus simple, qui ne présente pas cette inconvénient. Il suffit d'appeler la classe KOMA-Script avec l'option parskip :

\documentclass[parskip]{scrartcl}

et voilà, vos paragraphes seront séparés par une ligne vide, sans indentation. KOMA-Script propose une autre option de même type : halfparskip pour un espacement vertical entre paragraphes d'une moitié de ligne.

Pour avoir une idée des très nombreuses autres possibilités de KOMA-Script, je vous invite à lire sa documentation, « scrguien.pdf », en anglais traduit de l'allemand, qui se trouve (si vous utilisez TeXLive 2008 installé par MacTeX-2008) dans le répertoire

/usr/local/texlive/2008/texmf-dist/doc/latex/koma-script

Si vous utilisez TeXLive 2007 (fournie par MacTeX-2007), remplacez simplement « 2008 » par « 2007 » dans la ligne ci-dessus.

Vous pouvez atteindre ce dossier en copiant la ligne ci-dessus dans la fenêtre ouverte via le menu « Aller » du Finder, option « Aller au dossier… ».

La correction orthographique

TeXShop étant une application Cocoa, elle profite pleinement de la correction orthographique mise à disposition par Apple. Toutefois, il est assez pénible de voir tous les \section, \chapter, \begin, \end et autres \usepackage soulignés en rouge. Pour contourner cela, deux applications sont disponibles : Excalibur et CocoaSpell.

Excalibur est une application autonome déjà installée sur votre ordinateur (dans le dossier /Applications/TeX) par MacTeX. Je n'ai pas d'expérience avec ce logiciel, mais je compte faire un prochain test dessus, même si personnellement je ne suis pas fanatique des correcteurs orthographiques en général. Son utilisation semble assez simple, et il paraît performant. En particulier, outre les principales commandes LateX, il est supposé reconnaître les ligatures. Il ne se limite d'ailleurs pas à corriger des document LaTeX. Si vous voulez télécharger la version la plus récente et le(s) dictionnaire(s) approprié(s), cela se trouve sur cette page. Son manuel se trouve dans le dossier de l'application une fois téléchargée.

CocoaSpell, non installé par MacTeX, diffère d'Excalibur dans sa conception, puisqu'il s'agit en fait d'une « préférence système ». Il a déjà été testé en profondeur ici, par Fabien lui-même. Sa présentation a changé depuis, mais pas ses principes. Téléchargez donc sa version actuelle et suivez les conseils de Fabien pour l'utiliser.

La correction grammaticale

Malheureusement, à ma connaissance, la correction grammaticale n'est a priori pas disponible pour LaTeX. En effet, l'existence de toutes ces commandes rend la correction difficile. Finalement, c'est le même problème pour l'HTML. Mais les solutions existent. Ou plutôt, les « trucs » existent.

Tout d'abord, si la majeure partie du texte est « brut », elle peut être copiée pour être introduite dans un vérificateur. Le problème se posera lorsqu'il y aura beaucoup de commandes LaTeX disséminées de ci-de là.

Une astuce peut alors rendre service : que ce soit TeXShop lui-même, Aperçu ou Adobe Reader, ces applications vous offrent dans leurs versions récentes la possibilité de copier le texte contenu dans le document PDF qu'ils lisent. Vous pouvez donc avec une de ces applications ouvrir le PDF de votre document créé par LaTeX, tout sélectionner et l'envoyer au correcteur. Cela fonctionne même avec les services !

Attention, si vous voulez que les caractères accentués survivent à ce copier-coller, votre programme LaTeX doit absolument contenir en préambule la ligne

\usepackage[T1]{fontenc}

que je vous avais dans l'article 3 conseillé d'utiliser systématiquement.

Un intervenant des forums de Cuk, Thierry, m'a fait remarquer qu'avec cette démarche apparaissait un autre problème : les mots contenant des ligatures et des césures n'étaient pas reconnus par le correcteur (Antidote en l'occurence). Un contournement est alors de passer tout le texte en style « machine à écrire » grâce à la commande-bascule \ttfamily (à placer juste après le \begin{document}) avant de passer le texte au correcteur. En effet, le passage aux polices de style « machine à écrire » désactive les césures comme les ligatures. Une fois le texte corrigé, on supprime ou désactive cette commande (grâce à un signe % placé devant), et on recompile pour retrouver le « vrai » document.

Il est clair que ces astuces sont loin de fournir une solution idéale pour la correction grammaticale, mais c'est à ma connaissance la seule façon de faire à l'heure actuelle.

Les macros de TeXShop

Les macros sont votre meilleur allié. TeXShop vous met à disposition un certain nombre de macros prédéfinies, nous en avons vu plusieurs au cours des différentes parties. Vous pouvez également modifier ces macros (par exemple ajouter l'utilisation du paquet babel dans la macro d'insertion des en-têtes) et en ajouter autant que vous voulez. Par exemple, il manque une macro pour centrer un bout de texte, ajoutez-là dans l'éditeur de macros grâce au bouton « Nouvel item ». Donnez-lui un nom et entrez ceci dans « Contenu » :

\begin{center}
#SEL##INS#
\end{center}

Le #SEL# sera remplacé par la sélection. Si par exemple vous avez déjà écrit un bout de texte et que vous désirez le centrer, vous le sélectionnez et lancez la macro que vous avez créée, la sélection sera alors placée dans l'environnement « center ».

Le #INS# définit l'emplacement du point d'insertion. C'est là que votre curseur se trouvera après le lancement de la macro.

Les images EPS

Je vous l'ai dit, pour placer des images, les formats acceptés sont JPEG, PNG et PDF. En fait, ceci est vrai car nous utilisons le compilateur pdfLaTeX, qui crée directement un document PDF. Mais je vous ai également dit dans la première partie, que le compilateur LaTeX créé en fait un fichier DVI qui est ensuite converti en PostScript. Et dans ce cas, le seul format d'image accepté est le format EPS (« Encapsulated PostScript »). C'est un format encore très utilisé, en particulier pour tout ce qui est vectoriel. C'est également le format dans lequel Adobe Illustrator sauvait ses fichiers jusqu'à la version 8.

Pour insérer des images EPS dans son document et quand même obtenir un PDF à l'arrivée, vous avez le choix entre deux méthodes :

  • Rester dans pdfLaTeX et utiliser le paquet epstopdf. L'utilisation de ce paquet permet la conversion « à la volée » des images EPS en PDF lors de la compilation, grâce à un utilitaire Unix appelé justement « epstopdf ». Cet utilitaire est fourni par l'application Unix Ghostscript. (Rappelez-vous : Ghostscript avait été installé par MacTeX en même temps que TeX/LaTeX/pdfLaTeX.)

    Cette méthode marche pour la plupart des fichiers EPS. Elle est néanmoins inefficace lorsque certains paquets de commande LaTeX destinés à produire des dessins scientifiques en PostScript sont utilisés. Le plus célèbre de ces paquets est PSTricks. Si vous utilisez un de ces paquets, passez à la méthode suivante !

  • Compiler votre document avec LaTeX puis de convertir le fichier PostScript ainsi obtenu en PDF. Cela se fait là aussi grâce à Ghostscript, en utilisant cette fois-ci un autre utilitaire de celui-ci, « ps2pdf ». Il y a plusieurs façons d'enclencher ce type de compilation :

    • Vous pouvez vous rendre dans le menu « Composer ». Dans la troisième partie de ce menu, vous verrez une coche devant « PdfTeX », c'est le réglage par défaut. Sélectionnez l'élément « TeX et Ghostscript ». La compilation de votre fichier courant se fera alors avec (La)TeX, puis le résultat en DVI sera automatiquement converti en PostScript, puis en PDF par Ghostscript.
    • Si vous voulez que cette option soit en fait définitive (pour tous vos fichiers à venir), vous pouvez aller dans les préférences de TeXShop, onglet « Composition », et là cocher l'option « TeX + Ghostscript » dans la section « Script par défaut ».

    • Pour un fichier donné, vous pouvez également forcer TeXShop à le compiler avec LaTeX, par la voie « TeX et Ghostscript », en insérant au début de votre fichier (avant le \documentclass et dans tous les cas dans les 20 premières lignes du document), la ligne suivante :

      %!TEX program = latex

      On peut s'aider du menu « Macros », option « Program » pour insérer la première partie de cette ligne.

      Une fois cette ligne insérée, (La)TeX et Ghostscript seront automatiquement utilisés à chaque fois que vous cliquerez sur le bouton « Composer » ou son raccourci « pomme-T » et ce quelle que soit le réglage des préférences ou l'option choisie dans le menu « Composer ».

      (Bien entendu, on peut également se servir de cette ligne pour forcer la compilation d'un fichier avec pdfLaTeX, au contraire. Remplacez simplement « latex » par « pdflatex » à la fin de cette ligne !)

L'option « TeX+Ghostcript » porte assez mal son nom, car Ghostscript n'est pas à proprement parler nécessaire pour la conversion PS -> PDF. En effet, depuis Panther, TeXShop peut utiliser le propre convertisseur PS -> PDF de MacOSX, (« pstopdf »), celui-là même utilisé par Aperçu pour afficher les PS, à la place de celui fourni par GhostScript (« ps2pdf »).

Si vous voulez utiliser le convertisseur de Mac OS X, il vous faut aller avertir TeXShop que vous ne voulez pas utiliser Ghostscript, qui est son choix par défaut. Dans les préférences, dans l'onglet « Divers », sous « Distiller » vous devez cocher « Apple Distiller ».

Cependant, le convertisseur de Ghostscript a l'immense avantage sur son concurrent de conserver les hyperliens éventuellement contenus dans le fichier PostScript. On va voir plus loin comment insérer ces liens, aussi bien avec LaTeX qu'avec pdfLaTeX.

Le paquet hyperref

Le PDF est un format très très riche, capable de faire bien plus que bêtement afficher un texte et des images.

Tout d'abord, un document PDF peut contenir une table des matières, permettant la navigation dans le document. C'est le tiroir qui s'ouvre sur un des côtés de la fenêtre de TeXShop et d'Aperçu, ce sont les signets d'Adobe Reader.

Mais un document PDF peut également contenir des hyperliens ! Ne serait-il pas fantastique de pouvoir cliquer sur un élément de la table des matières et de s'y voir instantanément transporté ? Ne serait-il pas génial de pouvoir cliquer sur la référence d'une image et de la voir immédiatement apparaître ? Ne serait-il pas hypercool de pouvoir cliquer sur les mots « cuk.ch »  dans un document PDF et de voir s'ouvrir notre site préféré dans un navigateur ?

Tout cela est possible avec pdfLaTeX, et même avec LaTeX, lorsque le PDF est produit par Ghostscript (et non par le distiller d'Apple) ! Il suffit d'ajouter le paquet de commandes hyperref :

\usepackage[pdftex]{hyperref}

au cas où vous utilisez pdfLaTeX, ou

\usepackage[dvips]{hyperref}

si vous utilisez l'option « TeX + Ghostscript ». « Dvips » est le nom de l'utilitaire Unix qui transforme le DVI produit par (La)TeX en PostScript, avant que ce dernier soit converti en PDF par Ghostscript.

Il est important que hyperref soit toujours être le dernier paquet de commandes chargé afin qu'il puisse bien fonctionner.

Sans rien faire d'autre, la table des matières deviendra automatiquement des hyperliens qui mèneront au chapitre ou à la section choisie, les références conduiront directement au tableau, à la figure, au chapitre ou à l'équation correspondante, les notes de bas de page deviendront également des hyperliens, etc.

Mais il sera également possible de créer soi-même des hyperliens dans le document, grâce à la commande \href :

Voici un lien vers le fantastique site
\href{http://www.cuk.ch}{Cuk} !

Le premier argument donne l'URL à atteindre et le deuxième argument donne le texte à afficher. Il est également possible de placer une image dans le deuxième argument au lieu d'un texte, voire même une équation.

Ces hyperliens sont actifs dans la fenêtre de prévisualisation de TeXShop, dans ses versions récentes. Ils sont également présents dans Aperçu. Mais dans les deux cas, ils ne ressortent pas, c'est uniquement le changement de pointeur qui vous indique qu'un lien est « cliquable ». Ils apparaîtront par contre encadrés dans Adobe Reader.

Mais vous pouvez également mettre une couleur à ces liens pour les rendre plus apparents. Il suffit pour cela de configurer le paquet hyperref pour qu'il utilise des couleurs. Ajoutez ceci avant le \begin{document} :

\hypersetup{colorlinks = true}

Il est possible de personnaliser les couleurs, mais je n'entrerai pas dans les détails ici.

Un document PDF contient également des informations sur l'auteur, le titre du document, etc. Vous pouvez entrer ces informations avec hyperref :

\hypersetup{%
pdftitle={Mon beau PDF},
pdfauthor={Fabien Conus},
pdfsubject={Introduction à LaTeX},
pdfkeywords={LaTeX,Cuk,PDF}
}

Si avec Adobe Reader vous lisez alors les informations du document (« pomme-D ») vous obtiendrez ceci dans l'onglet « Description » :

image

Le paquet de commandes hyperref est très complet et très riche, vous trouverez un manuel complet sur ce site.

Le futur de LaTeX

LaTeX est en perpétuelle évolution, comme on vient de le dire. Et pourtant le code de base de TeX, son « moteur », est figé par son créateur, Donald Knuth, depuis 1989, et les macros de LaTeX lui-même, hors les divers paquets de commandes, datent toutes de 1994, quand LaTeX version 2e est sorti. La prochaine version, LaTeX 3, se fait attendre depuis déjà pas mal de temps, au point que personne ne spécule encore sur une date de sortie.

Mais entre-temps sont sortis et continuent à sortir une multitude de paquets de commandes qui étendent LaTeX, dont on n'a eu qu'un tout petit aperçu dans ce cours, et ces paquets sont en perpétuelle évolution et rénovation.

Et surtout, si le créateur de TeX ne travaille plus lui-même sur son bébé, qu'il considère virtuellement libre de bugs, d'autres ont travaillé dessus et proposé des évolutions, ce que la licence de TeX permet. Il suffit de proposer ses évolutions sous d'autres noms.

Ainsi a été conçu pdfTeX vers 2000, une version de TeX produisant par défaut du PDF, tandis que TeX produit du DVI. Mais pdfTeX peut également produire du DVI (si on lui demande gentiment :-)). Et il s'est avéré tellement fiable et novateur par rapport au TeX original que maintenant toutes les distributions TeX/LaTeX sont en fait basées sur pdfTeX. Quand vous utilisez « LaTeX » pour produire du DVI, c'est en fait pdfTeX qui tourne en sous-main, en « mode » de production DVI (ce qui explique pourquoi la synchronisation « SyncTeX » fonctionnera aussi dans ce cas). Et quand vous utilisez « pdfLaTeX », il s'agit en fait du même grosso modo set de macros que LaTeX, mais qu'on fait tourner sur pdfTeX dans son mode de production PDF par défaut.

Le présent de LaTeX est donc pdfLaTeX. Mais quel est son futur ?

Hé bien, il est déjà bien engagé. Tout d'abord, on dispose déjà de XeLaTeX. Cette version de LaTeX est elle basée sur un moteur TeX tout récent, XeTeX, créé par Jonathan Kew en 2005.

XeTeX a tout d'abord la particularité d'imposer que tous les fichiers qu'il compile soient rédigés selon l'encodage de texte « UTF-8 Unicode », le futur standard dans ce domaine. Il produit après compilation un DVI amélioré qu'il fait convertir aussitôt en PDF. Mais son intérêt majeur est qu'il permet d'utiliser les polices du système d'exploitation de votre machine, qu'elles soient PostScript, OpenType ou TrueType. Et ce sur Mac OS X (sur lequel XeTeX a été développé à l'origine), mais maintenant aussi sur Linux et Windows.

En effet, à l'origine TeX originel n'exploitait que les polices METAFONT (langage de création de polices bitmap imaginé par Knuth lui-même). Puis on a pu travailler sur des polices PostScript. PdfTeX permet d'aller plus loin en permettant, outre l'exploitation de polices MetaFont et PostScript, celle de polices TrueType. Mais dans les deux cas, il doit toujours s'agir de polices installées indépendamment de celles du système.

XeTeX, et XeLaTeX avec lui, permet justement de s'affranchir de cette limitation. Par exemple, imaginons que vous souhaitiez exploiter la belle police cursive appelée « Zapfino », qui est normalement déjà installée par défaut dans le répertoire « Fonts » du dossier « Bibliothèque » de la racine de votre ordinateur, sous la forme du fichier « Zapfino.dfont ». Voici un code XeLaTeX (minimaliste) permettant d'utiliser cette police :

%!TEX encoding = UTF-8 Unicode
%!TEX TS-program = xelatex
\documentclass{article}
\usepackage{xltxtra}
\usepackage[frenchb]{babel}
\setmainfont{Zapfino}
\begin{document}
Zapfino, c'est chouette !
\end{document}

Et voici le résultat de la compilation :

image

Pas mal, hein ?

Vous aurez noté dans ce programme les « commentaires » en première et deuxième ligne imposant respectivement à TeXShop l'encodage du texte en UTF-8 Unicode (obligatoire avec XeLaTeX comme avec XeTeX) et la compilation par XeLaTeX.

La deuxième particularité du programme est sa quatrième ligne. Le paquet xltxtra (XeLaTeX extras) permet de charger plusieurs macros très importantes pour XeLaTeX, sur lesquelles je ne m'étendrai pas ici, faute de place.

Mais surtout, il charge automatiquement un autre paquet, appelé fontspec, (voyez son excellente documentation), lequel fournit lui les macros XeLaTeX permettant de charger facilement les polices du système. La plus importante étant la macro \setmainfont, utilisée en sixième ligne de notre programme, qui imposera à XeLaTeX d'utiliser comme police principale celle dont le nom est donné en argument. Ce devra être en fait un des noms (sans l'extension) des fichiers se trouvant dans un des différents dossiers « fonts » des dossiers « Bibliothèque » de votre système.

Fontspec a également la très bonne idée d'imposer l'usage par défaut des polices Latin Modern, si aucune police du système n'est utilisée. Ainsi, avec l'emploi du paquet frenchb de babel, sont résolus d'entrée les problèmes de césures.

Bref, XeLaTeX permet un formidable bond en avant pour LaTeX dans le domaine des polices.

Mais XeLaTeX a ses limites : notamment, si on souhaite utiliser des polices adaptées aux mathématiques, il faut toujours pour le moment se rabatttre sur les polices spécifiques à (pdf)TeX. En effet votre système ne contient hélas pas de polices mathématiques dignes de ce nom.

Si je deviens un jour un peu plus expert dans le domaine des polices, je ferai un article sur XeLaTeX. Mais je ne promets rien, hein !

PdfTeX, cependant, n'a pas dit son dernier mot : une équipe de développeurs très actif travaille sur lui en permanence, si bien que la dernière évolution de pdfTeX est déjà (presque) prête. Elle est sortie en version « beta » dans TeXLive 2008, et elle s'appelle LuaTeX. Il s'agit d'une nouvelle version de pdfTeX donc, mais basé sur un langage de script appelé « Lua ». Noé pourrait sans doute bien mieux que moi décrire les possibilité qu'ouvre cette particularité, mais il paraît qu'elles sont très appréciables. En particulier, comme XeTeX, LuaTeX permettra d'utiliser les polices installées sur votre système. Mais contrairement à XeTeX, il pourra produire directement du PDF. Il permettra aussi d'utiliser certaines propriétés améliorant encore la typographie du document PDF, propriétés déjà fournies par pdfTeX et dont XeTeX ne dispose pas pour l'instant.

On peut déjà donc prévoir qu'il y aura bientôt une implémentation de LaTeX basée sur LuaTeX. Pour TeXLive 2009 peut-être ? Ladite implémentation sera le successeur naturel de notre pdfLaTeX actuel.

ConTeXt

Il existe depuis quelques années un autre ensemble de macros concurrent de pdfLaTeX. Il était comme lui basé sur pdfTeX, mais est déjà basé sur LuaTeX dans TeXLive 2008, contrairement à pdfLaTeX : il s'agit de ConTeXt. Il diffère de LaTeX sur plusieurs points : sa conception est plus « monolithique » en ce sens qu'il incorpore déjà à l'origine l'équivalent des principaux paquets de commandes de LaTeX. De plus son développement est centralisé : c'est la compagnie néerlandaise Pragma-ADE qui le gère, bien qu'elle ait rendu sa création libre et gratuite (noter que cette compagnie s'implique aussi activement dans LuaTeX). Cela diminuerait les risques de dispersion et d'incompatibilité entre paquets dont souffrirait LaTeX (je n'ai rien remarqué, moi !). Et ConTeXt a été conçu dès l'origine pour permettre des mises en page plus aisément personnalisables qu'avec LaTeX, ce qui le rendrait très adapté pour la PAO en particulier.

Je ne peux guère en dire plus. Sachez cependant qu'un des convertis à ConTeXt s'appelle Noé Cuneo. Il pourrait peut-être nous faire un article dessus un de ces jours prochains ! :-)


Conclusion

 

Ouf ! Nous voilà arrivés au terme de cette petite introduction à LaTeX sous Mac OS X. J'insiste sur le fait que c'est une courte introduction, il manque plein de choses et je ne suis pas allé au fond des sujets traités, ce n'est pas le but. Il existe beaucoup de ressources sur internet et de références bibliographiques qui vous permettront d'approfondir les différents sujets et de devenir un pro de LaTeX, je vous donnerai quelques liens et titres plus bas.

J'aimerais profiter de cette conclusion pour (ré)engager un peu le débat : avez-vous besoin de LaTeX ? LaTeX est-il fait pour vous ?

LaTeX vous permet d'écrire sans peine des documents conséquents, avec figures, tableaux, références, et vous offre une mise en pages à l'allure très professionnelle.

Bien sûr, cela implique un apprentissage, mais pour faire des documents complexes sous Word ou FrameMaker, cela nécessite également un apprentissage.

Ceux qui me diront : « Mais moi je ne fais pas de gros documents, juste de la correspondance et quelques broutilles ». Alors ceux-là ont gaspillé leur argent ! Word coûte 400 CHF (266 €), FrameMaker coûte 2430 CHF, soit 1620 € (1750 CHF en version anglaise, soit 1170 €)1. LaTeX est complètement gratuit ! Si c'est pour faire de la correspondance, vous avez meilleur temps d'utiliser TextEdit, en plus il sait lire et enregistrer les documents Word !

Je pense ne pas mentir en disant que LaTeX est la solution de création de documents PDF la moins chère possible ! De plus, il permet également la création de documents PDF dynamiques comme je viens de vous le montrer. Evidemment LaTeX n'est pas WYSIWYG (rappel : « what you see is what you get », « ce que vous voyez est ce que vous obtenez »), mais c'est un mal pour un bien. C'est grâce à ça que vous obtenez cette très belle mise en pages sans vous fatiguer. Vous me direz que tous les documents LaTeX se ressemblent. Et bien c'est faux. Oui, vos premiers documents auront tous la même allure. Mais vous apprendrez très vite à redéfinir la taille des marges, à changer de police, à personnaliser votre mise en page (par exemple avec le paquet de commandes « fancyhdr »). Ce qui est bien, c'est qu'une fois que vous êtes satifaits de votre mise en page, vous n'avez qu'à garder la même en-tête pour tous vos documents, vous ne modifierez que ce qui se trouve entre \begin{document} et \end{document}. J'ai lu sur un site que LaTeX c'était du YAFIYGI, you asked for it, you got it : « tu l'as demandé, tu l'as eu ».

Vous me direz que jamais vous ne parviendrez à vous souvenir de toutes ces commandes. Alors je vais encore une fois insister sur l'utilisation des macros. TeXShop est là pour vous simplifier la vie, il vous offre toute une série de macros auxquelles vous pouvez associer des raccourcis clavier. Chez moi « commande-alt-f » m'insère automatiquement tout ce qu'il me faut pour inclure une figure, « commande-alt-e » me permet d'insérer une équation, etc.

Si vous voulez créer des documents que vous souhaitez diffuser, ou si vous faites de l'écriture collaborative, LaTeX sera tout à fait approprié. J'ai passé une année à travailler avec quelques collègues pour un prof qui ne jurait que par Word. Et vous ne pouvez pas imaginer les heures de cauchemar pour parvenir à lire correctement les documents que mes collègues (sous Windows) m'envoyaient (et inversement). Et lorsqu'on parvenait à les lire, encore fallait-il pouvoir les imprimer !

LaTeX crée du PDF, format lisible sur toutes les plateformes connues (sauf les consoles de jeux, et encore !). De plus le code LaTeX est un bête format texte en ASCII, il est donc également lisible sur toutes les plate-formes, et comme LaTeX est un logiciel libre il tourne également sur toutes les plate-formes. La compatibilité est donc totale, pour le résultat comme pour la source.

Ce qui soulève un autre sujet, celui de la pérennité des documents. Nous l'avons vu il n'y a pas si longtemps avec la mésaventure de FrameMaker sous Mac OS X, les logiciels commerciaux n'ont pas une survie assurée, et les documents sauvés dans les formats propriétaires associés à ces programmes ne seront peut-être plus lisibles dans quelques années. Évidemment, il est difficile de croire que Word n'existera plus dans, disons, 25 ans. Mais qui parvient aujourd'hui à lire le format Visicalc, qui était pourtant le logiciel phare des débuts de la micro-informatique ? Un code LaTeX est en ASCII, le format le plus simpliste. Sa pérennité est donc assurée. De plus, le code source de LaTeX étant disponible à tous, aucune firme ne pourra décider d'arrêter de le publier.

Finalement, pour répondre aux deux questions que je mentionnais plus haut, la meilleure manière de savoir si LaTeX est fait pour vous, c'est d'essayer. C'était le but de cette présentation simpliste : vous donner toutes les clefs en main pour faire de beaux documents. Essayez-le et faites-vous votre propre opinion. Pour ma part, j'ai essayé Word, j'ai fait deux ou trois rapports avec et je me suis vite rendu compte que je n'allais pas vivre vieux si je continuais avec ce programme.

Quelques liens et références utiles

Tout d'abord, quelques ouvrages de référence pour en apprendre plus.

Sur le web, quatre articles, chacun complétant idéalement ce cours. Faites votre choix :

  • Présentation rapide de LaTeX 2e par Florent Rougon, 2006. Comme son nom l'indique, une présentation de LaTeX, ici en HTML. « Rapide » mais détaillée.
  • The not so short introduction to LaTeX 2e, de Tobias Oetiker et pas mal d'autres contributeurs. La dernière version date de février 2008, c'est dire si elle est à jour. 139 pages, en anglais. C'est la référence Web sur LaTeX la plus conseillée et consultée. À la fois claire, concise et précise. Une traduction française est disponible ici, mais elle date de 2001 et il ne semble plus y avoir de version française récente disponible actuellement sur le Web.
  • Un Stage LaTeX, niveau débutant donné aux enseignants du lycée Camille Guérin de Poitiers par Jean-Côme Charpentier au cours de l'année 2001-2002, et mis en ligne par la suite. 62 pages. Ancien, donc, notamment pour tout ce qui a trait aux distributions de LaTeX et ses éditeurs/interfaces. Mais ce qui concerne le langage LaTeX lui-même reste d'actualité pour l'essentiel, et est très bien expliqué. Une curieuse lacune : ne mentionne pas le très important paquet inputenc.
  • Tout ce que vous avez voulu savoir sur LaTeX, sans jamais oser le demander, de Vincent Lozano. 237 pages. Dernière version, 17 octobre 2008, à jour donc. L'auteur est visiblement un joyeux drille et lance au moins une vanne par page ! :-) S'adresse au débutant et souhaite l'accompagner jusqu'au niveau confirmé. Inconvénient (mineur) : suppose que le lecteur dispose de Windows ou Linux.

Dans les librairies, du niveau débutant jusqu'à la geekitude complète :

  • LaTeX pour l'impatient, par un collectif d'auteurs, collection MiniMax, éditions H&K, 2007, 160 pages. Honnêtement, c'est LE livre que je conseillerais de lire juste après ce cours. Toutes les plate-formes sont prises en compte. Remarquablement complet pour sa taille, truffé d'exemples, avec exercices d'application. Un must.
  • LaTeX, a document preparation system, user's guide and reference manual, par Leslie Lamport, le créateur de LaTeX. En anglais, éd. Addison-Wesley, 1994, 272 pages. Si l'anglais ne vous fait pas peur, cela ne fait jamais du mal de lire les fondamentaux, d'autant que Lamport a une écriture bien agréable. Ne traite que de LaTeX lui-même, et pas de ses paquets d'extension, sauf quelques exceptions. Du fait que le langage LaTeX en tant que tel n'a guère changé depuis sa parution (contrairement à ses paquets), cet ouvrage reste d'actualité.
  • LaTeX, apprentissage, guide et référence, par Bernard Desgraupes, éditions Vuibert, 2003, 762 pages. Ma référence personnelle la plus utilisée. Réussit à intéresser aussi bien le débutant à son début (« apprentissage ») que l'utilisateur confirmé, en abordant un maximum de détails et de paquets ensuite (« guide et référence »). Commence malheureusement à prendre de l'âge.
  • Le LaTeX Companion, deuxième édition, par Frank Mittelbach et Michel Gossens. Traduit de l'anglais, éd. Pearsons Education, 2005 (éditon originale : 2004). 1008 pages (glourps), pour tout savoir sur LaTeX et ses principaux paquets. Une véritable encyclopédie. À ne pas lire comme un roman !
  • The LaTeX Graphics Companion, Second Edition, par Frank Mittelbach, Michel Gossens, et al. En anglais, éd. Pearsons Education, 2007, 926 pages. Tout ou presque sur l'illustration graphique pour et avec LaTeX. Pour le « mordu », c'est le complément obligatoire du livre précédent.
  • Le TeXbook, de Donald Knuth, le créateur de TeX. Traduit de l'anglais, éd. Vuibert, 2003 (1986 pour l'édition anglaise), 555 pages. La bible des TeXniciens enragés. Si vous voulez tout savoir sur les entrailles de LaTeX, c'est cet ouvrage qu'il faut consulter. Il ne traite en effet pas de LaTeX lui-même, mais de TeX et de Plain TeX. La lecture peut se faire à plusieurs niveaux, et comme celle de Lamport, l'écriture de Knuth est agréable. Au point que je recommande plutôt la version originale, aux éditions Addison-Wesley, si vous maîtrisez l'anglais.

Quelques sites web utiles ou carrément indispensables :

  • La TeX FAQ, les questions les plus fréquemment posées sur TeX et surtout LaTeX. À jour, en anglais.
  • La FAQ francophone sur LaTeX. Encore très consultée, mais n'est malheureusement plus mise à jour depuis 2001… Une autre FAQ plus récente se trouve ici mais je ne sais pas trop ce qu'elle vaut.
  • Le site du TeX Users Group anglophone (TUG), fourmille de liens, renseignements et tuyaux, entre autres la FAQ citée plus haut. Son équivalent francophone s'appelle GUTenberg (Groupe des UTilisateurs de TeX) . Ce dernier propose une liste de diffusion (ce qui est appelé mailing list en anglais) francophone sur TeX et LaTeX, fréquentés par des débutants comme des spécialistes qui pourront certainement résoudre vos problèmes les plus tarabiscotés. Voir la fin de cette page pour quelques conseils valables aussi à ce sujet…
  • The Comprehensive TeX Archive Network (CTAN). Si vous avez besoin d'un paquet LaTeX particulier qui ne se trouve pas déjà dans TeXLive (ce qui n'est pas fréquent), c'est ici qu'il faut le chercher !
  • Le site TeX on Mac OS X s'efforce de répertorier tout ce qui concerne TeX/LaTeX sur Mac OS X, comme son nom l'indique. Il est actuellement en pleine reconstruction. Il propose lui aussi sa propre liste de diffusion, à laquelle je suis moi-même abonné. Les créateurs de TeXShop et XeTeX, notamment, fréquentent cette liste. On y répond en priorité aux problèmes de LaTeX liés à Mac OS X lui-même, mais aussi volontiers aux questions LaTeX proprement dites. Voir également les conseils de la fin de cette section…
  • LaTeX en entreprise. Enrico Riboni y fournit des liens et des tips très utiles. Mériterait une petite mise à jour.
  • LaTeX à portée de clic, création de deux ex-étudiants Lausannois, Arnaud Zufferey et Xavier Perseguers, invite à faire un petit tour de LaTeX, de son installation, de son utilisation et de ses principales possibilités. Très bien fait !
  • Le site des tuteurs de l'Ecole Nationale Supérieure de Paris (ENS) a toute une section consacrée à LaTeX, qui fourmille de précieux conseils. En particulier, une page très bien faite consacrée à la programmation de macros LaTeX, qui, comme celles de TeXShop, peuvent vous rendre d'immenses services une fois que vous les maîtrisez. En passant, je remercie Guillaume, lecteur de cuk.ch, qui m'a signalé cette page ;-)

Enfin, il faut signaler également deux newsgroups ou « groupes de discussion » USENET sur TeX et LaTeX :

  • comp.text.tex, en anglais. Les archives de ce groupe sont disponibles grâce à Google ;
  • fr.comp.text.tex, en français. Archives également disponibles sur Google.

Ces deux groupes de discussion (ainsi que les listes de diffusion citées plus haut) sont fréquentés par les spécialistes les plus pointus de LaTeX et consorts. Il y aura toujours quelqu'un à avoir réponse à vos problèmes les plus compliqués. Assurez-vous quand même d'avoir épuisé toutes vos autres ressources avant de leur soumettre votre problème, ils apprécieront. Ce sont en effet des bénévoles qui prennent sur leur temps libre pour vous aider. En particulier, fouinez dans les FAQ et dans les archives de ces groupes pour voir si quelqu'un n'a pas déjà eu le même problème. Prenez également soin de leur fournir un exemple de code LaTeX suffisamment complet pour mettre en évidence votre problème : on appelle cela un ECM, un Exemple Complet Minimal.


1 Ce sont les prix de 2004. Selon le site d'Adobe, FrameMaker en version standard sur Windows coûte aujourd'hui 2285 CHF en Suisse et 1379 € en France. Je ne suis pas parvenu sur Internet à mettre la main sur le prix de Word 2008 seul, ne tombant que sur les prix de la suite Office complète. Mais ça n'a pas dû tellement changer. (Note de Franck)


Fabien Conus

20 commentaires
1)
JeMaMuse
, le 29.09.2008 à 00:39

J’admire le travail fait pour cette série d’articles. Mais je suis assez perplexe quant à Latex. Tout ceci me semble bien compliqué… Pour le symbole Euro, c’était pas possible de faire “alt E” ?

Si c’est pour faire de la correspondance, vous avez meilleur temps d’utiliser TextEdit, en plus il sait lire et enregistrer les documents Word !

Là on passe de tout à rien… Entre deux, on a dans le gratuit par exemple OpenOffice. Sinon, In Design est un bel outil également.

Quand j’ai lu dans le premier article que l’ensemble de la distribution prend environ 1,8 GB, j’ai un peu de peine à suivre… pourquoi si gros ?

2)
VN99
, le 29.09.2008 à 00:43

Bravo, quel travail!!! Article superbe.

Et oui, nous avons besoin de LaTeX, car il est important de rester propriétaire de son propre travail. Bien entendu, il y a OpenOffice maintenant, mais il est possible d’utiliser LaTeX partout, même un téléphone portable de base suffit pour écrire un document LaTeX.

J’utilise LaTeX pour écrire des documents simples, mais longs et structurés, en utilisant peut-être 0,01% de ses capacités. Et alors?

Pour finir, et pour la petite histoire, je voudrais mentionner le défunt projet Omega qui a ouvert le chemin du LaTex Unicode.

http://en.wikipedia.org/wiki/Omega_(TeX)

Yannis Haralambous l’a décrit dans “Fontes & codages”, un livre magnifique dont O’Reilly a le secret. C’est une édition originale en français, difficilement trouvable de nos jours.

Ah, oui, il y a aussi LyX, un traitement de texte LaTeX WYSIWYMM (What you see is what you mean), toutes proportions gardées. Lyx est là

3)
Franck Pastor
, le 29.09.2008 à 07:22

J’admire le travail fait pour cette série d’articles. Mais je suis assez perplexe quant à Latex. Tout ceci me semble bien compliqué… Pour le symbole Euro, c’était pas possible de faire “alt E” ?

Si, je l’ai dit d’ailleurs : en ayant encodé son document en UTF-8 Unicode et en ayant chargé le paquet textcomp, si vous utilisez (pdf)LaTeX. Ça marche aussi avec l’encodage de texte Iso Latin 9, une extension d’Iso Latin 1.

Si on utilise XeLaTeX, il n’y a même aucun paquet à charger, ça marche tout de suite.

Là on passe de tout à rien… Entre deux, on a dans le gratuit par exemple OpenOffice. Sinon, In Design est un bel outil également.

Oh, pour OpenOffice, je le trouve aussi lourd à manier que Word, donc pas l’outil adéquat si on se contente de documents non professionnels. TextEdit a l’avantage de la simplicité. Quant à InDesign, je ne connais que de réputation, mais heu, c’est quand même super cher pour faire uniquement de la correspondance !

Quand j’ai lu dans le premier article que l’ensemble de la distribution prend environ 1,8 GB, j’ai un peu de peine à suivre… pourquoi si gros ?

MacTeX-2008 installe TeX Live 2008 qui, c’est son intérêt, contient quasi toutes les extensions disponibles pour LaTeX, et il y en a beaucoup. Plus on a de paquets déjà installés, moins on doit les télécharger et les installer. C’est donc au final un gain de temps si on en vient à faire un usage poussé de LaTeX (quoique depuis la sortie de TeX Live Manager, c’est nettement moins pénible, j’en reparlerai dans trois semaines). Et il y a aussi le fait que MacTeX installe également TeXShop, LaTeXit, Excalibur, etc. Bref, c’est un tout-en-un.

Si on est moins gourmand en taille et en paquets disponibles, on peut utiliser le tout petit frère de TeX Live, BasicTeX (voir cette page). Il ne fait que 50 MB, tout en contenant l’essentiel (pdfLaTeX, XeLaTeX, ConTeXt, et les paquet de base comme amsmath). En fait, tous les exemples de ce cours devraient tourner sans problème avec BasicTeX.

Il faut quand même télécharger parallèlement les “MacTeX-additions” (sur la même page) pour avoir TeXShop, Excalibur, LaTeXit et le panel “TeX Distributions” des préférences systèmes. Ça fait alors 126 MB en plus. Mais on reste très loin de MacTeX question taille ;-)

4)
Franck Pastor
, le 29.09.2008 à 07:29

Bravo, quel travail!!! Article superbe.

Et oui, nous avons besoin de LaTeX, car il est important de rester propriétaire de son propre travail. Bien entendu, il y a OpenOffice maintenant, mais il est possible d’utiliser LaTeX partout, même un téléphone portable de base suffit pour écrire un document LaTeX.

J’utilise LaTeX pour écrire des documents simples, mais longs et structurés, en utilisant peut-être 0,01% de ses capacités. Et alors?Pour finir, et pour la petite histoire, je voudrais mentionner le défunt projet Omega qui a ouvert le chemin du LaTex Unicode.http://en.wikipedia.org/wiki/Omega_(TeX)Yannis Haralambous l’a décrit dans “Fontes & codages”, un livre magnifique dont O’Reilly a le secret. C’est une édition originale en français, difficilement trouvable de nos jours.Ah, oui, il y a aussi LyX, un traitement de texte LaTeX WYSIWYMM (What you see is what you mean), toutes proportions gardées. Lyx est là

Merci :-)

En effet, Omega était le précurseur de XeTeX, qui a je pense atteint le but que Haralambous s’était fixé. Dommage qu’Omega ait explosé en route, on aurait gagné quelques années pour disposer d’Unicode avec (La)TeX

J’étudie LyX de près ces derniers temps. Je pense en faire un article, mais ce n’est pas pour tout de suite.

5)
JPO1
, le 29.09.2008 à 08:55

Rimbaud Illuminations Enfance Je viens de le relire en partant du blog poésie du lycée de l’Iroise

6)
JPO1
, le 29.09.2008 à 09:21

Une remarque complémentaire sur la production de gros documents. Qui dit gros document très technique dit gros préambule. De même que l’on fragmente le document on fragmente alors le préambule, on en en rassemble les éléments dans un fichier (par exemple preambulemain) que l’on entre dans « fichier_principal.tex » en inscrivant

\input preambulemain.tex

dans le préambule.

7)
elo
, le 29.09.2008 à 09:37

Cher Frank,

Merci pour le travail. Utilisant LaTeX le plus possible depuis deux ans, en dehors du domaine scientifique, mais reconnaissant que ce n’est pas pour tout le monde, je conseille malgré tout d’au moins essayer.

Juste pour info. Si je ne me trompe l’emploi de Babel n’est pas recommandé avec fontspec. On conseille le package polyglossia, assez récent il est vrai.

8)
Guillôme
, le 29.09.2008 à 10:18

Merci Franck pour toute cette série d’articles mis à jour, un sacré boulot!

Très intéressant le paquet hyperref, je vais tester ça :)

Merci pour les liens récents. Le “Tout ce que vous avez voulu savoir sur LaTeX, sans jamais oser le demander” est vraiment très complet et très pointu, je le conseille. Je vais peut être enfin maitriser le glossaire en LaTeX ;)

avez-vous besoin de LaTeX ?

Pour moi la réponse est oui car je m’en suis servi pour faire un rapport très complexe (tables de figures, bibliographie, glossaire…) de plus de 100 pages et avec Word je me serai pendu. Et je compte m’en servir encore pour un nouveau document en cours de rédaction (Franck je risque de te poser plein de questions sur le forum :p).

LaTeX est-il fait pour vous ?

Là, ma réponse est plus nuancée… Je dirai que je dois m’adapter à LaTeX plutôt que LaTeX est adapté à moi ;)

C’est là où je ne suis pas d’accord avec Fabien et Franck, et je persiste et signe :

  • LaTeX n’est pas adapté, par défaut, à la mise en page Française et c’est la lutte permanente pour s’en sortir! Même avec Koma-Script on doit bidouiller pour corriger des soucis (traduction des figures, mise en page des lettres…) et je ne parle même pas du truc tout bête : Faire un glossaire! Rien n’est prévu en LaTeX pour ça et c’est la lutte (nomencl est loin d’être idéal, le bidouillage de makeindex une gageure…)
  • Si, comme moi, on ne fait pas du LaTeX tous les jours, on a du mal à s’y remettre car pour mon document j’ai un préambule de 40 lignes avec des paramètres parfois complexe à comprendre si l’on veut changer quelque chose… Bref, on a parfois plus l’impression de programmer que d’écrire un texte!

Maintenant, je pense que LaTeX est un outil très appréciable pour certains type de document et je le conseille à tous dans sa boite à outils bureautique. Pour moi, le trio de choc c’est :

  • TextEdit pour tout type de document
  • OpenOffice pour les courriers et les fonctions tableurs
  • LaTeX pour les documents longs et complexe

Là on passe de tout à rien…

Je ne suis pas d’accord. TextEdit est vraiment beaucoup plus puissant que l’on pense. Certes, il ne va pas faire de sommaire automatique mais il suffit dans bien des cas et si c’est pour faire des courriers, comme le mentionne Franck, il suffit largement (il suffit de faire l’affichage en mode page ;) )

9)
JPO1
, le 29.09.2008 à 11:16

Je viens de terminer l’article de Franck Pastor “Introduction à LaTeX, partie 6 (mise à jour)”, une lecture hachée par des appels téléphoniques, du courrier à écrire (en utilisant LaTeX et TeXShop bien évidemment), un rendez-vous.

Je me suis régalé.

J’utilise LaTeX depuis de très nombreuses années, depuis si longtemps que je suis incapable de me rappeler ce qui m’y a amené, ni me rappeler depuis quand je l’utilise. Je ne suis qu’un utilisateur basique, je n’ai jamais cherché à devenir un expert, écrire un package par exemple, chacun son métier. J’utilise sans vergogne l’expertise des autres, sans toujours les remercier de leur aide.

L’article de Franck Pastor va faire évoluer ma pratique, sans aucun doute.

D’abord j’ai installé, après lecture des premières lignes de l’article, MacTeX-2008, chargé pendant le rendez-vous. Puis j’ai essayé son conseil pour le symbole euro, adopté. Surtout je viens d’essayer XeLaTeX, un émerveillement. Je ne sais pas utiliser LuaTeX.

Et puis tous ces site web cités que je découvre. Celui de l’ENS m’a fait comprendre un point très obscur pour moi sur la programmation des macros. Peut-être vais-je pouvoir grâce à cela devenir un utilisateur moins basique.

Merci pour cette série d’articles très éclairants, très très bien écrits.

10)
Franck Pastor
, le 29.09.2008 à 15:38

Une remarque complémentaire sur la production de gros documents. Qui dit gros document très technique dit gros préambule. De même que l’on fragmente le document on fragmente alors le préambule, on en en rassemble les éléments dans un fichier (par exemple preambulemain) que l’on entre dans « fichier_principal.tex » en inscrivant

\input preambulemain.tex

dans le préambule.

Je n’avais jamais pensé à scinder le préambule lui-même. Bonne idée !

Juste pour info. Si je ne me trompe l’emploi de Babel n’est pas recommandé avec fontspec. On conseille le package polyglossia, assez récent il est vrai.

Apparemment, babel marcherait très bien avec XeLaTeX pour la plupart des langues à alphabet latin (sauf le Vietnamien). Frenchb reconnaît d’ailleurs XeLaTeX. Par contre, je n’étais pas parvenu dernièrement à faire tourner Polyglossia avec le français. Mais c’était avec MacTeX-2007, donc je réessaierai.

Le “Tout ce que vous avez voulu savoir sur LaTeX, sans jamais oser le demander” est vraiment très complet et très pointu, je le conseille. Je vais peut être enfin maitriser le glossaire en LaTeX ;)

Quand tu y seras parvenu, tu pourras peut-être nous faire un article sur Cuk sur les indexes et glossaires en LaTeX ! ;-) En tout cas, ce n’est pas moi qui pourrai m’en charger, je n’ai jamais eu l’occasion d’en faire.

D’abord j’ai installé, après lecture des premières lignes de l’article, MacTeX-2008, chargé pendant le rendez-vous. Puis j’ai essayé son conseil pour le symbole euro, adopté. Surtout je viens d’essayer XeLaTeX, un émerveillement. Je ne sais pas utiliser LuaTeX.

Pour l’instant, LuaTeX s’utilise au Terminal avec LaTeX : on tape

pdflualatex nom_du_fichier.tex

Je ne sais pas en quoi un fichier pour “pdflualatex” (z’auraient pu choisir un autre nom) diffère dans sa syntaxe d’un fichier pour “pdflatex”. Mais ce qui est sûr, c’est que pour le moment il n’apporte rien de plus. Voir une discussion là-dessus sur fr.comp.text.tex (attention, certains messages sont parfois très TeXniques).

Pour l’instant, seul ConTeXt fournit des macros qui permette de tirer parti de LuaTeX. Bref, il faut être encore un peu patient.

Et merci à tous pour vos compliments :-))

11)
Franck Pastor
, le 29.09.2008 à 18:41

Petit update : suite au commentaire de JeMaMuse-1, je viens de modifier la partie traitant de l’accès direct par le clavier au symbole euro, en précisant cette fois-ci les combinaisons clavier qui permettent de l’obtenir : « alt-e » pour clavier suisse, « alt-$ » pour clavier français.

J’insiste : avec (pdf)LaTeX, il faut avoir chargé le paquet textcomp, et utiliser un encodage de texte approprié (UTF-8 Unicode ou ISO Latin 9) pour que ces combinaisons soient reconnues.

Avec XeLaTeX, qui n’accepte justement que l’UTF-8 Unicode comme encodage de texte, il suffit d’utiliser une police qui contienne le symbole euro. Si on charge le paquet fontspec, les polices par défaut sont les Latin Modern dans leur version OpenType, qui contiennent l’euro, donc tout va bien.

12)
Smoo
, le 29.09.2008 à 19:06

Bonjour !

Super article, bravo à tous les deux. Dans le paragraphe sur la librairie, il me semble qu’il manque le bouquin de Christian ROLLAND chez O’REILLY : LateX par la pratique (ISBN 2-84177-073-7).

Tchüss !

13)
Leo_11
, le 29.09.2008 à 19:15

Merci Franck pur cette MàJ fort intéressante…

Pour moi qui ai découvert LaTeX lors de la parution de la première version de cette introduction, j’ai fait mes mémoires pour ma reconversion professionnelle, plusieurs supports de cours imprimés ou beamer, tous mes travaux écrits… et quelques broutilles…

Je ne pourrais plus m’en passer pour faire des documents qui doivent bien présenter…

Pour le courrier j’utilise encore Page’08…

Notez que j’utilise NeoOffice comme tableur et non pas Numbers…

14)
jluc
, le 30.09.2008 à 00:02

Merci à Frank pour cette série d’articles. Je voudrais évoquer un petit sujet qui n’a certainement pas sa place dans le corps de l’article mais en commentaire il pourrait intéresser certains lecteurs. Il s’agit d’une fonction de TexShop peu connue et sous-estimée : la complétion de commande. Il faut admettre que le ficher de base, livré avec le programme est minimal. Pour se rendre compte du potentiel de la méthode il faut remplacer le fichier ~/Library/TeXShop/CommandCompletion/CommandCompletion.txt par celui préparé par Herb Schulz qu’on trouvera dans CommandCompletion.zip sur homepage.mac.com/herbs2

Il m’a fallu voir cette fonction citée à plusieurs reprises par des TeXperts pour que je revoie la chose et révise mon jugement. Ce que j’aime dans la complétion c’est sa souplesse. Le nombre de raccourci clavier mémorisable et atteignable sans trop de crampes est limité. Le fichier zip contient un article de Herbert Schulz expliquant bien la fonction.

Un petite démo pour la route : dans TexShop Source -> Complétion -> Ouvrir le Fichier “Complétion”… . Ajouter ces lignes :

flashmode1:=%&pdflatex#RET#
flashmode2:=%&pdftex#RET#
flashmode3:=%&xelatex#RET#

Sauvegarder et relancer TexShop. Dans un document tex taper "fl" puis esc à plusieurs reprises, le programme nous présente successivement les trois commandes que l’on vient de rajouter au fichier de complétion. Si je me contente du seul “f”, dans ma configuration : \footnote{} — \frac{}{•} — \fbox{} — \framebox[]{•} — \framebox[][•]{•} viendront compléter la liste qui défilera à l’écran.

Voilà, j’espère avoir aiguisé la curiosité de certains.

15)
Franck Pastor
, le 30.09.2008 à 10:47

Super article, bravo à tous les deux. Dans le paragraphe sur la librairie, il me semble qu’il manque le bouquin de Christian ROLLAND chez O’REILLY : LateX par la pratique (ISBN 2-84177-073-7).

Effectivement, il manque celui-là (qui date de 1999), et sans doute bien d’autres, en anglais comme en français. J’ai préféré me contenter de citer des livres que j’ai effectivement eus en main, et je voulais de plus qu’ils soient raisonnablement récents, exception faite des livres standards de Knuth et Lamport.

De Christian Rolland, je n’ai lu que son livre précédent : « LaTeX, guide pratique », de 1994, donc épuisé depuis longtemps. En fait, c’est ce livre qui m’a mis le pied à l’étrier quand j’ai commencé LaTeX, vers 2001. Mon directeur de thèse me l’avait prêté alors. Si le bouquin de 99 est aussi bien fait, il mérite l’attention, en effet.

S’il y en a parmi vous qui ont d’autres références à citer, n’hésitez pas à les mentionner ici !

16)
Franck Pastor
, le 30.09.2008 à 11:03

Je ne pourrais plus m’en passer pour faire des documents qui doivent bien présenter…

Ça reste effectivement l’argument majeur en faveur de LaTeX. Quiconque s’est habitué à la mise en page d’un document composé par LaTeX (et plus généralement par TeX et ses dérivés) ne peut que constater la différence de qualité, souvent énorme, avec les autres moyens de traitement de texte. Particulièrement dans le domaine scientifique.

Et quand on sait que TeX est sorti en 78 et est resté fondamentalement inchangé depuis 86, on se demande ce qu’a fichu la concurrence entre-temps !!! Peut-être Xpress, InDesign ou FrameMaker, si on met de côté les équations, mais à quel prix !

L’alternative la plus valable, maths comprises, me semble TeXmacs, libre, complètement Wysiwyg et fortement inspiré de TeX comme son nom l’indique. Mais il ne tourne que sur X11 et ne semble pas vraiment percer. Sur Mac, il nécessite Fink ou MacPorts. Je mets de côté LyX, qui est basé sur LaTeX, contrairement à TeXmacs qui propose son propre algorithme de composition.

17)
Franck Pastor
, le 30.09.2008 à 11:12

Jluc, je ne connaissais pas ces possibilités supplémentaires en matière de complétion de commande. Ça aurait eu selon moi parfaitement sa place dans cette série d’articles, au contraire, et je pense que Fabien serait du même avis. Je vais me pencher là-dessus. Merci !

18)
JPO1
, le 01.10.2008 à 10:06

Ça reste effectivement l’argument majeur en faveur de LaTeX. Quiconque s’est habitué à la mise en page d’un document composé par LaTeX (et plus généralement par TeX et ses dérivés) ne peut que constater la différence de qualité, souvent énorme, avec les autres moyens de traitement de texte. Particulièrement dans le domaine scientifique.

Ce « particulièrement » me semble érroné. En effet le plus gros, à ma connaissance, des ouvrages imprimés en utilisant du code LaTeX est « • Edition de la Correspondance complète de Pierre Bayle. Cette édition critique comportera une quinzaine de volumes et plus de 1 600 lettres. L’ouvrage électronique lie inventaire, texte établi des lettres avec leur annotation et les images des manuscrits. RESPONSABILITÉ SCIENTIFIQUE Antony McKenna (PR et directeur de l’Institut Claude Longeon UMR 5037, CNRS-Université de Saint-Etienne), H. Bost (Montpellier), W. van Bunge (Rotterdam), E. James (Cambridge), A. Leroux (CNRS), en collab. avec E.-O. Lochard (Montpellier) et D. Taurisson (CNRS) DIFFUSION L’édition classique sur papier (5 tomes parus, Oxford, Voltaire Foundation), sera accompagnée d’une édition électronique. http://www.voltaire.ox.ac.uk/bayle/bayle_overview.htm http://www.voltaire.ox.ac.uk/bayle/bayle_series.pdf »

Le contenu a été d’abord édité en utilisant le logiciel Arcane (base de donnée d’édition développée par Eric-Olivier Lochard—génial mais ne convient pas pour écrire une lettre) lequel permet ensuite plusieurs regards sur l’objet produit, et en particulier de produire une ou plusieurs sorties papier : c’est là que laTeX intervient, le code fournit à l’imprimeur est du LaTeX parceque le produit sorti est alors de qualité optimale. Je pense que cela confirme l’assertion de Franck Pastor et de Leo11 et d’autres : la qualité de la sortie reste effectivement l’argument majeur en faveur de LaTeX.

Le site d’Arcane, par curiosisté : Arcane

19)
Franck Pastor
, le 01.10.2008 à 15:44

le plus gros, à ma connaissance, des ouvrages imprimés en utilisant du code LaTeX est « • Edition de la Correspondance complète de Pierre Bayle. Cette édition critique comportera une quinzaine de volumes et plus de 1 600 lettres. L’ouvrage électronique lie inventaire, texte établi des lettres avec leur annotation et les images des manuscrits.

Et une preuve supplémentaire que LaTeX sert à autre chose que faire des articles pleins d’équations mathématiques :-))

Le contenu a été d’abord édité en utilisant le logiciel Arcane (base de donnée d’édition développée par Eric-Olivier Lochard—génial mais ne convient pas pour écrire une lettre) lequel permet ensuite plusieurs regards sur l’objet produit, et en particulier de produire une ou plusieurs sorties papier : c’est là que laTeX intervient, le code fournit à l’imprimeur est du LaTeX parceque le produit sorti est alors de qualité optimale. Je pense que cela confirme l’assertion de Franck Pastor et de Leo11 et d’autres : la qualité de la sortie reste effectivement l’argument majeur en faveur de LaTeX.

Très intéressant, cet Arcane. Je vais en parler autour de moi, ça semble un outil fantastique pour un meilleur travail de recherche et de collaboration !

20)
elo
, le 01.10.2008 à 17:44

En fait, même en sciences sociales, histoire, philologie, etc., LaTeX est utilisé pour des livres assez gros et avec index, tableaux, bibliographie automatisée, etc. Voir par exemple cette histoire du christianisme ancien chez Cambridge Press (Early Christian Litterature) ou des éditions critiques de textes anciens (Critical Editions). Ces éditions critiques sont à mon avis impossibles à réaliser avec Word, etc., mais bon, à chaque besoin ses outils.