Lecture de l’été : The L^{A}TEX Graphics Companion

Karl Tombre

Il y a trois ans, j’avais profité de l’été pour lire The L^{A}TEX Companion, et j’en avais fait un compte-rendu assez élogieux, si je me souviens bien. Récemment, les mêmes auteurs, ou presque, ont sorti le tome 2 de cette grande saga, et je me suis empressé d’acheter ce livre :

Michel Goossens, Sebastian Rahtz, Frank Mittelbach. The L^{A}TEX Graphics Companion — Illustrating documents with TEX and PostScript. Addison-Wesley, 1997. ISBN 0-201-85469-4. 554 pages.

Comme son titre l’indique, ce livre traite de la manière d’agrémenter des documents L^{A}TEX de figures, graphiques et autres images. Plus généralement, le livre traite aussi de tous les aspects du mariage entre les mondes TEX et PostScript.

Alors, un autre chef-d’œuvre dans la série? Ma réponse sera mitigée. Indéniablement, les auteurs ont effectué un travail énorme pour réunir, décrire et illustrer tant de choses dans ce domaine. Le livre est agréable à lire, et il fourmille d’informations utiles. Sans prétendre remplacer les modes d’emploi de tous les outils présentés, il donne cependant suffisamment de détails pour qu’on puisse commencer à les utiliser.

Mais malgré cela, je reste perplexe... Je crois inutile de rappeler que je suis un ardent défenseur de (La)TEX et que je ne manque pas une occasion de décrier les outils dits WYSIWYG, que je préfère appeler YOGWYS (You Only Get What You See). J’apprécie tout particulièrement le niveau conceptuel auquel on peut se placer lorsqu’on rédige en L^{A}TEX. Je suis conscient du fait que L^{A}TEX a une courbe d’apprentissage raide, comme disent les anglosaxons, mais j’ai gravi une bonne partie de cette courbe et cela en vaut la peine. Mais c’est là que le bât blesse en ce qui concerne le livre dont je vous parle : une grande partie de l’ouvrage décrit des outils de fabrication de graphiques qui me semblent avoir eux-mêmes une courbe d’apprentissage raide. Et plus d’une fois, en lisant différents chapitres, ma réaction a été : « c’est très beau, c’est très bien, c’est génial, mais qu’est-ce que c’est compliqué ! »

Mais venons-en aux faits. Le premier chapitre vous met tout de suite dans l’ambiance. Après avoir décrit très intelligemment les différents types de besoins qu’on peut avoir quand il s’agit d’inclure des graphiques, on nous présente un répertoire des solutions possibles et on nous liste un ensemble de critères pouvant influencer notre choix de package. À la page 26, on a déjà le vertige ! Heureusement, le chapitre 2 est plus rassurant, puisqu’il décrit les outils standards d’inclusion et de manipulation de graphiques fournis par les packages graphics et graphicx. C’est ce qui correspond à mes besoins les plus fréquents, et le chapitre est un bon exposé de leur utilisation.

Les choses se gâtent dans les trois chapitres suivants, consacrés respectivement à et , à PSTricks et au package XY-pic. Que dire de ces outils? Ils sont impressionnants, chacun à sa manière et dans son domaine, permettent de faire énormément de belles choses, mais me semblent tous trois du même degré de complexité que L^{A}TEX lui-même ! Ce n’est pas la faute au livre ; au contraire, il est très pédagogique, mais je ne peux m’empêcher de penser que si je fais lire un de ces chapitres à un utilisateur d’un logiciel intégré comme Framemaker par exemple, j’aurai en tout cas perdu mon pari de le convertir à L^{A}TEX ! Le seul package qui me tenterait presque, c’est PSTricks, car on peut vraiment accéder à plein de fonctionnalités Post-Script... Non pas que les autres donnent de piètres résultats, mais quand je vois le code qu’il faut écrire en ou en XY-pic pour la moindre figure, je préfère largement la faire en tgif et l’inclure avec graphicx, même si formellement c’est moins universel...

Peut-être ne suis-je pas le bon type d’utilisateur... Peut-être quelqu’un qui fait les mêmes types de figures à longueur d’année trouvera-t-il un intérêt à apprendre un tel langage... C’est en tout cas ce qu’on se dit en lisant les chapitres 6, 7 et 8, qui montrent des outils de plus haut niveau, pour des applications telles que la chimie, la physique, l’électronique, la musique, ou les jeux (échecs, go, bridge...). Ces packages sont d’ailleurs parfois fondés sur les outils plus généraux cités précédemment, mais au moins est-on à un niveau conceptuel intéressant pour les spécialistes de ces différents domaines. Dommage que je ne fasse partie d’aucune des catégories intéressées...

Le chapitre 9 traite du monde de la couleur. J’ai été particulièrement intéressé par le paragraphe sur la classe seminar, une de mes favorites... Mais il y a aussi beaucoup d’autres informations utiles, en particulier sur la manière de faire des tables diversement colorées. Le chapitre donne même quelques informations fort intéressantes sur l’utilisation de la couleur chez les imprimeurs. Utile le jour où vous voulez sortir un livre de qualité professionnelle...

À moins d’être tombé dedans quand vous étiez petit, je vous conseille vivement de vous munir d’un tube de comprimés d’aspirine^{1} avant d’aborder le chapitre 10, qui traite de manière très exhaustive des fontes PostScript et de leur intégration avec TEX. En lisant ce chapitre, je ne pouvais pas m’empêcher de penser : « Nous avons vraiment de la chance au Loria d’avoir Denis qui s’y connaît et qui aime même ça ! » Et juste après, l’angoisse vous étreint : « Mais c’est vrai, Denis nous quitte à l’automne ! Qui va s’occuper maintenant du recodage PostScript des fontes issues de fontes virtuelles par la magie de métriques diverses? » Avouez que c’est quand même confortable de pouvoir simplement taper \usepackage{newcent} pour avoir du texte en New Century Schoolbook, en ignorant allègrement^{2} toute la cuisine interne qui se passe dans les coulisses.

1. Dont on fête le 100e anniversaire ces jours-ci.

Le dernier chapitre contient une foule de renseignements utiles sur le programme dvips (je me suis rendu compte que je ne savais utiliser que 5% de ses fonctionnalités !) et les différents outils de manipulation de fichiers PostScript tellement utiles dans bien des cas...

Le livre était déjà assez technique, alors j’avoue que je n’ai pas lu les annexes techniques ! Je pense que Denis s’en est chargé...

En conclusion, c’est un livre bien écrit, bien documenté, bien illustré, dont un utilisateur convaincu de L^{A}TEX tirera certainement bien du profit. Il rejoint d’ailleurs son prédécesseur à portée de main sur mon bureau. Mais de grâce, ne le montrez pas à quelqu’un que vous voulez convertir à L^{A}TEX ! C’est plutôt de la littérature d’initiés, pour consommateurs réguliers de la potion magique...

2. Tiens, que vient faire le ministre dans tout ça?