RECHERCHE :
Bienvenue sur le site de Michel VOLLE
Powered by picosearch  


Vous êtes libre de copier, distribuer et/ou modifier les documents de ce site, à la seule condition de citer la source.
 GNU Free Documentation License.

S’apprivoiser à un nouveau logiciel

28 septembre 2005

Version imprimable .pdf


Pour lire un peu plus :

- L'évolution du traitement de texte
- Digital Typography

- « Apprends LaTeX ! »

Je viens de « me mettre » à LaTeX, traitement de texte qui est en fait plutôt un outil de composition typographique. Il me semble utile de noter les épisodes de cette petite aventure.

Lorsque l’on s’apprivoise à un nouveau logiciel, on traverse en effet des étapes que l’on oubliera bientôt, comme si l’on était passé d’un bond de l’ignorance totale à l’utilisation pratique[1]. Or ce n’est pas le cas. Ces étapes ressemblent à l’apprentissage d’un morceau de piano : déchiffrer la partition, jouer lentement mains séparées, mettre lentement les mains ensemble, respecter accents, liaisons et notes piquées, noter les doigtés, isoler et travailler à part les passages difficiles, accélérer jusqu’à ce que l’on ait atteint (mais jamais dépassé) le tempo giusto, introduire les nuances du toucher et du rubato… La qualité de l’interprétation supposera aussi que l’on connaisse bien le compositeur, son époque, et la façon dont les maîtres l’ont interprété.

Lors d’un tel apprentissage, on est souvent un peu ridicule. On commet des erreurs par étourderie, précipitation et présomption. On peste contre soi-même, l’ordinateur, les rédacteurs de la notice, les programmeurs qui ont mis tant de choses saugrenues dans ce truc incroyable.  

*   *

J’ai rencontré LaTeX en 1988 au CNET (acronyme que Word s’obstine à corriger en CENT). Dominique Henriet s’y apprivoisait pour composer ses publications. J’avais alors bien du mal à maîtriser Textor, mon premier traitement de texte. LaTeX me passait largement au-dessus de la tête.

Par la suite je me suis mis à Word, qui règne sur le monde aimable mais imparfait du Wysiwyg. Aimable parce que commode ; imparfait parce qu’il joue des tours, comme de corriger CNET, d’imposer des sauts de page ou de signaler comme fautive une construction usuelle de la syntaxe française. Le plus drôle, c’est l’insertion d’un graphique : souvent celui-ci se colle dans un endroit où il n’a rien à faire, puis résiste au drag and drop en glissant comme une savonnette mouillée.

J’aime les « guillemets » à la française que je trouve clairs et beaux. But if I write in English, Word will use ugly “quotation marks”. Und auf Deutsch werden noch andere „Anführungszeichen“ erscheinen. Tout ça automatiquement, et sans qu’on ne demande rien à Word !

C’est que la facilité de son utilisation est trompeuse. Dans un grand logiciel se condense une des ingénieries les plus complexes que l’humanité ait jamais inventées. Les programmeurs font leur possible pour la masquer afin de faciliter la vie de l’utilisateur, tout en respectant les contraintes physiques de l’automate (performance, taille mémoire etc.) Cela les contraint à des compromis qui donnent au logiciel un comportement parfois contrariant. Il se peut aussi qu’ils n’aient pas une idée exacte de ce dont l’utilisateur a besoin, ni de ce qui sera simple pour lui.

Il faut dire que le singulier du mot « utilisateur » est lui aussi trompeur : il recouvre des personnes diverses par leur savoir, leur expérience et leur forme d’intuition. Les besoins de l’un ne sont pas les besoins de l’autre, ce qui est simple pour l’un ne l’est pas pour l’autre. Satisfaire tout le monde avec un seul produit est une gageure. Il n’est pas étonnant que les programmeurs n'y réussissent pas souvent.

*   *

Ainsi nos traitements de texte sont commodes, mais capricieux. Pour composer des textes ayant la qualité typographique d’un livre ou d’un article il faut ouvrir le capot et devenir un tant soit peu programmeur.

Cela exige de quitter le mol oreiller du Wysiwyg pour entrer dans le monde austère de l’« Invite de commandes » que l’on ouvre, sous Windows, en passant par « Démarrer », « Tous les programmes » et « Accessoires ». En guise d’ergonomie elle présente ces mots sévères écrits en blanc sur un fond noir :

Microsoft Windows XP [version 5.1.2600]
<C> Copyright 1985-2001 Microsoft Corp.

C:\>

Cet écran était familier dans les années 80, du temps de MS-DOS. Windows le cache aujourd’hui sous l’ergonomie flatteuse qu’il a imitée du Macintosh, qui l’avait lui-même imitée de l’Alto du PARC. Mais il est toujours là, cet écran, c’est par lui qu’il faut passer pour soulever le capot.

Il ne s’agit pas de le soulever complètement, d’aller jusqu’au langage machine : seuls les concepteurs d’un ordinateur font cela. Il s’agit d’entrer dans un traitement de texte qui fonctionne en mode « run-off » : on tapera quelque chose qui mélange le texte au code qui permet de le composer. L’affichage ne ressemble donc pas à ce qui sera imprimé et qui n’apparaîtra qu’après passage par un compilateur, puis par un afficheur.

*   *

Parlons un peu de LaTeX (il convient de prononcer latek, la dernière lettre n’étant pas notre X mais le « chi » grec qui s’écrit X et se prononce K).

Donald Knuth a en 1979 mis au point TeX[2], logiciel de composition typographique. LaTeX a été créé en 1983 par Leslie Lamport, de DEC : c’est une version de TeX facile à utiliser (« facile », façon de parler).

Knuth en avait assez de voir ses textes mal imprimés. Il a consacré plusieurs années à TeX (voir Digital Typography). TeX associe à chaque caractère et à chaque intervalle une boîte aux dimensions précises, et il effectue les calculs nécessaires pour que les boîtes se combinent harmonieusement sur la page. Il permet ainsi de composer un texte de mathématiques (sous Word, composer une intégrale ou une racine carrée donne un résultat hideux). Knuth a pris le temps de dessiner les caractères qui lui plaisaient le mieux. Lorsqu’on regarde une page d’un de ses livres on est frappé par la qualité de la présentation.

Étant moi aussi amateur de belle typographie, j’ai apprécié la démarche de Knuth et compris les principes qui fondent TeX. Mais comprendre le principe d’un outil et savoir l’utiliser sont deux choses différentes : on peut connaître les principes de la mécanique sans savoir conduire une automobile, et certains des conducteurs qui « sentent » parfaitement leur voiture ne comprennent rien à la mécanique.

*   *

Pour utiliser un outil, il faut d’abord le charger sur son ordinateur. Pour charger LaTeX, je suis allé sur Google où j’ai trouvé un site danois[3] qui indique la liste des logiciels à posséder. Ils appartiennent au monde du logiciel ouvert, ils sont gratuits : leurs auteurs méritent et la gloire, et notre reconnaissance.

J'ai tout téléchargé et installé avec précipitation, ce qui m’a pris une matinée, sans avoir aperçu la page qui donnait les consignes d’installation[4]. Honte à moi ! Peut-être certaines des difficultés rencontrées ensuite viennent de là.

Ensuite il fallait ouvrir LaTeX. Ayant survolé des pages Web sans les lire vraiment, j’ignorais que parmi les programmes téléchargés se trouvait une interface nommée MiKTeX. En fouillant Google j’ai fini par l’apprendre.

J’ai donc ouvert MiKTeX (qui sur mon bureau s’appelait WinEdt). S’est affichée une fenêtre vide entourée d’une éruption de boutons et ourlée de menus déroulants, le tout incompréhensible pour un bizut. L’un des menus se nomme « Help ». A l’aide ! Alors s’est ouverte la notice. Ah, la notice… qu’elle soit rédigée en anglais, c’est là son moindre défaut. J’étais coincé.

*   *

Arrivé à ce point, la meilleure solution est de consulter un collègue plus avancé. Si vous travaillez dans une entreprise et si vos collègues sont serviables, pas de problème. Mais si vous êtes comme moi un solitaire qui vit à la campagne, c’est impossible. L’interface homme-machine est comme un coffre-fort : si vous ne connaissez pas la façon de l’ouvrir, ou si vous n’êtes pas outillé comme un cambrioleur, rien à faire. Il suffirait de cliquer ici, puis là et encore là, et ça marcherait : mais vous ne savez pas où cliquer, et sur une interface à laquelle on ne connaît rien la combinatoire des clics possibles est pratiquement infinie.

Sans doute, l’expérience permet de la réduire. A force de passer d’une interface à l’autre on finit par entrevoir comment les programmeurs s’y prennent et cela permet d’éviter quelques impasses. Mais on ne les évite pas toutes. J’ai honte d’avouer que parfois je clique un peu au hasard. Je me sens comme un gamin que l’on aurait mis aux commandes d’un avion de ligne : gare à la casse !

*   *

Il fallait en sortir. J’ai pris rendez-vous avec Laurent Bloch, informaticien expert[5], à l'occasion d'un voyage à Paris. Laurent écrit ses livres en LaTeX, cela facilite la vie et soulage la bourse de ses éditeurs. Nous avons passé ensemble une après-midi pendant laquelle il m’a initié au B A BA.

Apprendre LaTeX lui a pris, m’a-t-il dit, un mi-temps pendant trois mois. Ce qu’il appelle « apprendre », certes, c’est assez complet ; il a sans doute ouvert le code source pour le lire au moins en partie, je n’en ferai pas autant. Mais il m’a réconforté : s’il faut trois mois à un bon informaticien pour s’en sortir je peux me pardonner d’avoir piétiné pendant quelques matinées.

Laurent travaille sous Linux, auquel je n’ai pas encore réussi à m’apprivoiser : j’utilise Windows, c’est moins chic. « LaTeX sous Windows, ce sera plus difficile pour toi que si tu avais Linux, m’a-t-il dit ; mais apprends LaTeX d’abord, tu te mettras à Linux ensuite. Apprendre les deux à la fois te demanderait un trop gros effort. » Je n'en aurai donc jamais fini d'apprendre !

Laurent a eu la gentillesse de m’indiquer « Apprends LaTeX ! », note pédagogique éditée par l’ENSTA sous le modeste pseudonyme de babafou. Il m’a enfin appris, car étant bizut j’ignorais ce point parfaitement basique, que tout programme LaTeX doit commencer par quelques lignes de commande qui contiennent les options choisies pour la présentation du texte.

« Lorsqu’on a paramétré un premier document, m’a dit Laurent, on réutilisera les mêmes paramètres par la suite. Le premier paramétrage prend du temps mais c’est un travail que l’on ne fait qu’une fois ». Le travail le plus délicat doit ainsi être fait tout au début : comme c’est accueillant pour un débutant ! Certes, il n’est pas possible de faire autrement, mais tout de même… J’ai pompé sans vergogne les paramètres programmés par Laurent, car sa mise en page me plaisait (je l’ai un peu modifiée par la suite).

Voici, pour l’ébahissement des bizuts moins anciens que je ne le suis désormais, la petite panoplie ainsi constituée. Elle me servira longtemps :

\documentclass[a4paper,11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english, francais]{babel}
\usepackage{hyperref}
\parskip1ex
\usepackage[dvips,lmargin=3cm,rmargin=3cm,tmargin=2.5cm,
bmargin=2.5cm]{geometry}
\newcommand{\sep}{\begin{center}*\ \ \ * \end{center}}
\title{Titre du document}
\author {Nom de l’auteur}
\date{Date du jour}
\begin{document}

Après cette dernière ligne, il faut taper le texte en y insérant les codes utiles, et lorsque le texte sera terminé on tapera \end{document}. On fait tout cela dans la fenêtre de MiKTeX, qui est un tout petit peu plus avenante que celle de l’invite de commande.

Après avoir montré comment composer et enregistrer le texte, Laurent m’a indiqué les instructions qui permettent, en passant par l’invite de commandes, de le compiler grâce à la commande latex, puis de l’afficher grâce à la commande yap. Miracle ! J’ai enfin vu à l’écran l’image de mon premier document LaTeX.

Laurent m'a montré également comment télécharger les packages qui permettent d’enrichir LaTeX. Nous en avons goinfré mon ordinateur portable.

*   *

De retour dans mon ermitage babafou m’a montré, entre autres enseignements, comment traiter les notes de bas de page et programmer une petite commande utile. Je l’ai lu et feuilleté dans tous les sens, il est écorné et ses pages se détachent de leur agrafe. J’ai enfin composé mon premier document LaTeX, vous pouvez le télécharger si vous en êtes curieux. Une fois imprimé, il me plaît beaucoup : mes efforts ont été payés de retour.  

Un des agréments de LaTeX, c’est l’abondance des forums de discussion et autres sources d’expertise que l’on trouve sur le Web grâce à Google. Les fanas de LaTeX publient leurs bonnes recettes et astuces de déboguage. J’aurais voulu, par exemple, passer au mode verbatim dans une note en bas de page pour imprimer une adresse URL en caractères courier. Mais dans les notes en bas de page, verbatim ne marche pas ! Une recherche sur le Web m’a permis de trouver la solution : utiliser la commande \texttt. J'aurais eu du mal à le deviner tout seul.

Ce que l’on trouve sur le Web n’est cependant pas toujours utilisable tel quel. Certains exemples ou commentaires sont relatifs à des versions anciennes. Il faut copier, corriger, interpréter… Tout cela prend du temps et les matinées passent vite.

*   *

Une mauvaise surprise m’attendait lorsque j’ai voulu composer des équations. Tout se passait bien jusqu’à l’affichage, mais yap ignorait certaines polices de caractère (peut-être à cause des erreurs commises lors de l’installation des logiciels). Si je passais en force malgré les messages d’erreur, j’obtenais un document qui contenait des espaces blancs à la place des symboles voulus.

C’est, me suis-je dit, qu’il me manque le bon package. Et que je fouille, et que je charge, et que je recommence … rien à faire. J’y ai passé des matinées entières. J’ai cherché sur le Web. J’ai échangé des messages avec Laurent. Mes fichiers .tex s’affichaient correctement chez lui mais refusaient de le faire chez moi.

Fallait-il recommencer l’installation ? Je craignis d’avoir à le faire. Quand on réinstalle un logiciel, il faut souvent désinstaller ce que l’on avait chargé auparavant. On risque alors de provoquer je ne sais quelle catastrophe dans les tripes intimes de Windows…

La nuit porte conseil. Dans un demi-sommeil agité, j’ai vu s’afficher devant moi les boutons de MiKTeX. Et si, me suis-je dit, je tentais de les utiliser au lieu de passer par cette invite de commandes que Laurent affectionne tant ?

Le lendemain matin à l’aube, j’ai cliqué sur ces fameux boutons. Au lieu de taper latex essai pour compiler le fichier essai, j’ai cliqué sur le bouton LaTeX, et ça a marché ! Puis j’ai cliqué sur le bouton dvi->pdf. Acrobat 6.0 s’est alors chargé tout seul et le document s’est affiché au complet, les équations alignées comme à la parade. Jamais une intégrale ne m’avait paru aussi belle.

*   *

Qu’il est bête, vous dites-vous ! C’est vrai, je suis bête, ignorant et pagailleur. Dans ma bêtise et à ma façon, j’incarne bien l’utilisateur débutant.

Avec LaTeX je resterai longtemps un bizut. Après avoir traité les formules mathématiques, je dois apprendre à insérer des graphiques dans le texte. J’aimerais pouvoir entourer mes graphiques par du texte passant à droite, à gauche ou tout autour selon ma fantaisie.

Un des bons outils du monde LaTeX est BibTeX, qui sert à faire des bibliographies. Là aussi, j’ai été d’abord incapable de faire quoique ce soit ; puis, à force de piocher sur le Web, j’ai trouvé des exemples, les ai adaptés, et petit à petit j’ai appris à utiliser BibTeX. Je bute encore sur une difficulté : si je donne la valeur « deuxième » au paramètre EDITION dans la description d’un livre, cela donne à l’impression « deuxième edition », sans accent sur le « e » de édition. Utiliser le package frenchle n’y change rien. Si vous connaissez la solution, je suis preneur.

*   *

On peut avec LaTeX écrire des partitions musicales, des formules de molécules etc. : on dirait que rien n’a échappé aux personnes qui s’activent pour enrichir cet outil.

En pratique, je compose mon document sous Word puis je fais un copier-coller vers une fenêtre MiKTeX en haut de laquelle je colle les lignes de commandes et où je ferai la finition. Je dois réintroduire les italiques, les notes de bas de page, les liens hypertexte etc. Pour un document de quelques pages, cela me prend de l’ordre d’une heure. Peut-être dans quelque temps composerai-je directement en LaTeX ?

On peut à partir du document .tex produire un document HTML. Le passage ne se fait pas sans casse : mes bien-aimés guillemets à la française deviennent par exemple les symboles << et >>. Ce transcodage exige donc des corrections manuelles.

*   *

Dans quelques semaines ou quelques mois j’utiliserai LaTeX de façon réflexe, avec le même naturel que lorsque j’utilise Word. J’aurai oublié l'apprentissage durant lequel je me suis montré si parfaitement niais. Je saurai où trouver de l’aide en cas de problème. J’aurai du mal à comprendre les personnes qui n’utilisent pas LaTeX, parmi lesquelles je me suis pourtant trouvé pendant une vingtaine d'années. Je ne concevrai pas les difficultés que rencontre un bizut et, à l’occasion, je manquerai de patience envers lui. Bref : je serai devenu un utilisateur normal, personnage entièrement différent de l’utilisateur débutant.

C’est pour entretenir mon humilité que j’ai noté à chaud mon apprentissage. Louanges soient rendues à Laurent Bloch, qui dans sa sagesse est si patient avec le bizut que j’étais et suis encore. Merci à babafou qui m’a donné des indications claires et simples. Merci à Donald Knuth, à Leslie Lamport, aux auteurs des logiciels et commentaires qui entourent LaTeX : ils m’ont déjà procuré bien du plaisir, et j’en attends davantage encore.


[1] J’évite ici le mot « expertise », qui serait trop prétentieux pour désigner le savoir-faire d’un utilisateur « de base ».

[2] Donald E. Knuth (1938-), The TeXbook, Addison-Wesley 1984.

[5] Laurent Bloch a publié notamment Les systèmes d'exploitation des ordinateurs, Vuibert 2003, et Systèmes d'information, obstacles et succès, Vuibert 2005. Voir « Entretien avec Laurent Bloch ».