Le premier rapport de Mme/Mr Michu, étudiant.e en sciences humaines, réalisé tout en LaTeX ou en ConTeXt

Fleuron

avec des illustrations, des tableaux, une bibliographie, une table des matières, une table des figures et tout ça les doigts dans le nez

Fleuron

Les modes LaTeX et ConTeXt sont traités en parallèle comme ça tu pourras comparer et choisir celui qui te conviens

Fleuron

Introduction

Le but de ce tutoriel est d’apprendre à réaliser de A à Z un rapport (de stage, de maîtrise, de ce que tu veux. . .) avec LaTeX ou ConTeXt. On va essayer de le faire avec le moins de réglages possibles, le plus « brut de décoffrage », pour ne pas te noyer dans les arcanes de la programmation LaTeX/ConTeXtiènne, ça ce sera pour plus tard, quand tu maîtriseras un document simple.

Le document final sera un fichier PDF[1] au format a4, en recto-verso et une police de taille 10 pt, prêt pour l’impression et lisible sur tout type d’ordinateur (Mac, Linux, Windows. . .) avec une très grande qualité typographique.

Pour la qualité du fond je ne peux pas faire grand chose pour toi, mais après tout c’est ton boulot ! Toutefois comme tu vas t’en rendre compte, LaTeX/ConTeXt te déchargeant d’une grande partie du travail de mise en page, tu seras plus libre de te concentrer sur le fond. LaTeX/ConTeXt tu gagnes sur les deux tableaux.

Pour illustrer notre propos, je vais te montrer comment réaliser le rapport de la fouille d’un site préhistorique. Ce choix s’explique, d’une part parce que je suis archéologue préhistorien et inventer un site factice ne m’est pas très difficile et aussi parce qu’un tel rapport contient de nombreux éléments variés, comme des photos, des dessins au trait, des plans pleines pages, des graphiques, des tableaux et donc nous permettra d’aborder de nombreux aspects de la programmation LaTeX/ConTeXtiène.

Tu vas étudier les fonctions LaTeX/ConTeXt exactement dans l’ordre ou vont apparaître les difficultés. On aura un récit chronologique et non pas thématique. Ce ne sera pas forcément l’ordre dans lequel tu vas rencontrer les problèmes, lors de la rédaction de ton propre rapport, mais il ne devrait pas y avoir de grosses différences et de toute façon, je pense qu’à la fin de la lecture de ce tutoriel tu devrais être en mesure de réaliser ton document.

Quelques remarques avant de commencer. Tu rencontras certaines sections marquées en italique. Tu peux lors d’une première lecture te dispenser de les lire. Elles apportent des précisions ou de nouvelles notions dont tu n’auras pas forcément besoin dans un premier temps.

Au commencement était TeX

Il faut du temps pour apprendre à penser
structure et contenu.


Hans Hagen, l’auteur de ConTeXt

TeX qu’est-ce ?

Je te renvoies à cette fiche où j'explique l'histoire de TeX et de ces dérivées LaTeX et ConTeXt.

LaTeX/ConTeXt ne sont pas des traitements de texte, c’est un ensemble de commandes informatiques, qui va construire ton texte, à partir des ordres que tu vas lui donner, en respectant les règles typographiques de la langue choisie et en prenant en compte l’ensemble de ton document.

LaTeX/ConTeXt et la programmation

Rassure toi, ces ordres n’ont pas besoins forcement d’être nombreux, mais pour obtenir un bon résultat, il faut au minimum indiquer la langue dans laquelle tu travailles, le format du papier, sa division (partie, chapitre section. . .) et le type de document que tu souhaites obtenir. On ne fabrique pas de la même manière un livre, un rapport de stage ou un article.

Pour simplifier LaTeX et ConTeXt sont un ensemble de macros[2] qui facilite l’utilisation du langage informatique TeX, qui est à l’œuvre dans la fabrication de ton document. TeX, LaTeX et ConTeXt étant des logiciels libres, tu peux modifier ces macros pour les adapter à tes besoins, tu peux créer de nouvelles macros. De nombreux utilisateur de TeX ont crées des macros et les ont mises à la disposition de tous. Et c'est là que LaTeX et ConTeXt ce distinguent. Je parle un peu des différences dans cette fiche.

LaTeX

Avec LaTeX les macros sont souvent regroupées dans des packages que tu charges en cas de besoins. C’est pour cette raison que l’on parle de « distribution LaTeX ». Une distribution LaTeX contient outre les programmes de base TeX et LaTeX, des milliers de packages, qui permettent, entre autre, d’écrire des formules de chimie, de faire des tableaux complexes, d’écrire en couleur, de mettre des images dans les marges, d’écrire en chinois et même en quenya la langue elfique inventé par J. R. R. Tolkien. Les possibilités sont énormes et avant de ré-inventer la roue, cherche dans la liste des packages si quelqu’un n’a pas déjà proposé une solution à ton problème. Il existe plusieurs distributions LaTeX : MiKTeX sous Windows, TeXLive sous Linux et Windows et MacTeX sous Mac OS X.

ConTeXt

ConTeXt est l’œuvre de deux auteurs et est est monolithique. Toutes les macros font partie de ConTeXt, il n'est pas nécessaire de charger des packages. L'avantage est de ne pas avoir de conflit entre les packages comme cela arrive avec LaTeX. Il est également très facile à installer et à mettre à jour.

Pour ConTeXt, si les commandes aident toujours l'utilisateur à réaliser son document, elles permettent aussi un contrôle très fin de la mise en page. On peut très facilement, sans se plonger dans les arcanes de TeX, réaliser de nouvelles mises en page très sophistiquées. Par contre pour obtenir une belle mise en page, il va falloir te la fabriquer toi-même. ConTeXt ne possède pas de classe comme scrartcl de Koma-script qui te mâche le boulot. Pour de plus amples détail sur les différences entre les deux système je te renvoie à cette fiche.

Où l'on voit pâlir Mme/Mr Michu

– Oh la la !!! moi je veux juste écrire un texte pas devenir programmateur.

Les commandes sont des ordres donnés au programme LaTeX et ConTeXt pour qu'il fasse quelque chose. Tu fais exactement la même chose sous des traitements de texte comme Word ou Libre Office quand tu cliques sur une icône pour mettre en gras. Il a bien fallu que tu apprennes que cette icône icone gras sert à mettre en gras. L'apprentissage sous LaTeX et ConTeXt ne demande pas plus compétences et de disponibilités, il faut juste écrire /bf.

Les traitements de texte sont devenus de véritable usine à gaz et je ne suis pas convaincu qu’apprendre et écrire une petite série de commandes, soit plus difficile que de se retrouver dans la jungle des onglets et des sous-menus.

LaTeX/ConTeXt et la typographie

Les traitements de texte, obligent leurs utilisateurs à faire eux mêmes la mise en page de leurs documents. Malheureusement, rare, parmi eux, sont ceux qui maîtrisent les règles typographiques. La conséquence est que l’on s’est habitué à une typographie du pauvre. Le problème c’est que la typographie, ça ne sert pas uniquement à faire joli, son rôle principal est de faciliter la lecture. La typographie est une science ancienne, dont les premières règles ont été élaborées par les moines copistes et qui s’est développée avec l’invention de l’imprimerie par Gutenberg.

Pour ne pas détourner le lecteur du fond, il ne faut pas que des éléments typographiques ni que la mise en page n’entraîne de fatigue visuelle.

Par exemple une règle couramment admise est que la longueur d’une ligne de texte (en typographie on dit la justification) ne doit pas dépasser 60 à 70 caractères (espace compris). Au-delà l’œil fatigue et il est plus difficile de localiser la prochaine ligne. Pour un texte écrit sur une seule colonne, une justification de 65 caractères est considérée comme idéale. C’est pour éviter la fatigue visuelle que les journaux, qui cherchent pour des raisons d’économie à mettre le plus de texte par page, sont écrit en colonnes pour conserver une justification acceptable.

Le gris typographique est l’apparence grise que prend le corps de texte, quand tu le regardes de loin ou si tu plisses les yeux pour voir le texte flou. Plus ce gris est homogène plus la lecture du texte sera facile et agréable. Au contraire quand l’homogénéité de ce gris est rompue par par un mauvais interlignage, des « rivières » ou des « lézardes », (les lignes blanches composées d’espaces, les unes[3] sous les autres, qui traversent les textes mal fichus), l’attention portée au texte diminue car ces défauts détournent du texte et rendent la lecture difficile. Obtenir un bon gris n’est pas facile, il dépend de la police utilisée de sa taille de la justification, de l’interligne. . .

On pourrait encore parler de la taille des marges avec leurs modes de calcul (« le canon de l’atelier », « au neuvième ») et de bien d’autres choses. Toutes ces règles concourent à la conception d’un document agréable à lire permettant au lecteur de rester concentrer sur sa lecture. Si j’ai tenu à évoquer[4] ces questions d’ordre typographique, c’est pour essayer de te faire comprendre que l’on ne s’improvise pas typographe, et que d’avoir un logiciel qui s’en occupe est une chance.

LaTeX/ConTeXt versus traitements de texte

Quand tu travailles avec LaTeX/ConTeXt il faut que tu oublies tous tes réflexes d’utilisateur de traitement de texte, la philosophie est différente, le fonctionnement aussi. Un traitement de texte fait la mise en page au fur et à mesure sans connaître la suite du texte. Quand je dis il fait la mise en page, il se contente juste de passer à la ligne quand il arrive sur la marge, le reste c’est toi qui le fait.

L’exemple le plus frappant pour illustrer l’aberration de ce système est l’insertion d’images. Je ne sais pas si tu as déjà l’expérience de longs documents avec des illustrations sous un traitement de texte classique, on a toujours l’impression que c’est facile. Tu places l’image, tu ajustes la taille et la position avec des poignées. Ensuite tu passes une ligne, tu mets la légende, puis tu continues à taper le texte. Ça c’est dans le meilleur des cas. Si tu es dans le bas de la page et qu’il n’y a pas la place tu es éjecté page suivante et celle que tu viens de quitter, présente une grande plage de blanc. Si tu considères que de grands espaces vides au sein du texte ont une valeur esthétique, alors tout va bien. Enfin si tu figes ton texte car la moindre transformation décale l’ensemble de ton bel arrangement, t’obligeant à refaire toute la mise en page. Et te voila à reprendre les poignées pour triturer les images pour que la légende et l’image restent sur la même page, ou pour éviter les grandes plages de blanc crées.

LaTeX/ConTeXt composant ton document après l’écriture de ton texte, ils en ont une vision complète et s’ils n’ont pas la place de positionner ton image en bas de page ils continueront à placer du texte, en reportant ton image page suivante.

LaTeX/ConTeXt comment ça marche

Il faut plusieurs étapes pour fabriquer un document avec LaTeX/ConTeXt. Premièrement tu dois écrire ton texte. Tu ne t’occupes pas de la mise en page tu « frappes au kilomètre », tu restes concentré sur le fond. Tu as juste à ajouter de temps en temps une commande pour indiquer que tu veux changer de paragraphe, que tu veux ce mot en gras, ajouter une note en bas de page ou mettre la table des matières à cet endroit. Ce fichier est un fichier texte brut ou fichier texte simple ou fichier ASCII que tu sauvegardes avec l’extension .tex. Ce fichier s’appelle le source[5].

Maintenant il faut transformer ce source en document final, c’est la compilation. Il existe plusieurs compilateurs, comme tu veux réaliser un document au format PDF, tu vas utiliser pdflatex. Tu obtiens un document conforme au standard PDF lisible par n’importe quel « lecteur PDF » outre Acrobat Reader d’Adobe qui est multiplate-forme, il en existe de nombreux, une recherche dans un moteur de recherche internet te permettra de trouver ton bonheur.

Mme/Mr Michu n’est pas Mr Jourdain

On ne peut pas faire du LaTeX/ConTeXt sans le savoir, ni sans avoir une distribution LaTeX/ConTeXt en état de marche. Ce tutoriel sera basé sur la TexLive (pour LaTeX) . Son gros avantage est d’être multiplate-forme, Linux, Mac, et Windows. Si comme moi tu travailles sur plusieurs environnements, ton document passera de l’un à l’autre de façon totalement transparente, sans aucun problème. Pour ConTeXt la LMTX.

Tu seras très certainement amené à lire les différentes fiches à Bébert pour approfondir certains sujets. Je te conseille également de parcourir les documents suivants :

Mme/Mr Michu n’est pas un.e neuneu

L’installation d’une distribution LaTeX n’est pas l’objet de cette fiche. L’installation de la TeXLive est assez triviale et je te renvoie au site suivant qui te l’explique pas à pas version pdf :

http://www.tug.org/texlive/doc/texlive-fr/texlive-fr.pdf

version html :

http://www.tug.org/texlive/doc/texlive-fr/texlive-fr.html

J'explique l'installation de ConTeXt la LMTX dans cette fiche.

Comme Mme/Mr Michu n’est pas un.e neuneu, elle va s’en sortir « finger in the nose ». J’en profite pour faire quelques remarques. Il faut être le plus autonome possible, c’est une question de liberté élémentaire. Dépendre d’un tiers, ou être dominé par la machine, c’est être esclave. Donc essaye toujours de te débrouiller toute seule. Installe toi même tes logiciels. Dans certain cas tu vas en baver, car tu te trouveras confronté à des dépendances non résolue, à du matériel non reconnu. . ., mais chaque étape franchie, c’est un degré de liberté de gagné. Mais si tu lis ce tutoriel c’est que tu veux contrôler la fabrication de ton document et pas t’en remettre au bon vouloir de la machine.

Mme/Mr Michu n’est pas un.e geek

Un fichier LaTeX/ConTeXt est un simple fichier texte que te peux donc écrire avec n’importe quel éditeur de texte. Attention j’ai dit éditeur et pas traitement de texte. Il faudrait être sacrément vicieux pour écrire un fichier LaTeX/ConTeXt avec Microsoft Word, bien que cela soit possible. Donc sous Linux des logiciels comme gedit et KEdit, ou le bloc-notes sous windows, font parfaitement l’affaire. Tu peux même faire du LaTeX/ConTeXt en mode console, tu sais la petite boite noire dans laquelle les geeks pilotent leur ordi avec des lignes de commandes. M’enfin si tu sais manipuler vim ou emacs je doute que tu trouves un intérêt à ce tutoriel. Donc comme tu n’es pas une geek, le plus simple pour faire du LaTeX/ConTeXt, est quand même d’utiliser un éditeur spécialisé, qui permet de créer, éditer, compiler tes fichiers LaTeX/ConTeXt. Il en existe de nombreux, et certain comme kile pour Linux sont très (trop ?) sophistiqué, avec des icônes partout, et ressemble au traitement de texte classique. Voici le nom de plusieurs d’entre eux, une recherche sur internet, te donneras des renseignements complémentaires :

Liste non exhaustive.

Mme/Mr Michu a choisi d’utiliser TeXworks

Parmi tous ces éditeurs il faut faire un choix et comme c’est moi qui ai écrit ce tutoriel, c’est moi qui choisi, and the winner is. . . TeXworks. Je peux quand même te donner quelques arguments pour rendre ce choix moins arbitraire. TeXworks est :

Vue de Texworks

(a) : sous windows XP

Vue de Texworks

(b) : sous Linux Debian

Figure 1 : TeXworks en action. Les deux fenêtre sont côte à côte et occupe tout l’écran ; à droite le pdf et à gauche le source. Le ratio différent des deux vues sont lié à des tailles d’écran différentes.

En général et en particulier si tu as installé la TeXLive, TeXworks est configuré automatiquement pour LaTeX.

Où Mme/Mr Michu découvre TeXworks

L’une des choses qui rebute le plus les débutants en LaTeX/ConTeXt est le fait qu’il ne soit pas WYSIWYG (What You See Is What You Get, ce que vous voyez est ce que vous obtenez). TeXworks pallie un peu ce problème en coupant l’écran en deux fenêtres. La première contient le source, c’est à dire le fichiers .tex dans lequel tu saisis ton texte et les commandes LaTeX/ConTeXt et la seconde un lecteur pdf qui permet de voir le résultat après compilation. La compilation c’est l’opération qui consiste à transformer le vilain crapaud qu’est le source, en un splendide document que tes collègues vont envier.

De plus ce lecteur PDF intégré permet de profiter des possibilités de synchronisation source-PDF. Si tu cliques avec le bouton gauche de la souris, en maintenant la touche Ctrl appuyée, dans l’une des fenêtres, l’autre se positionne au même endroit. Très pratique pour retrouver le code correspondant à une partie de ton document. Si ton source est constitué de plusieurs fichiers, le fichier codant la partie de ton rapport sera automatiquement ouvert si ce n’est déjà fait. Dans l’autre sens un Ctrl + bouton gauche de la souris dans le source, affiche la page correspondante du fichier .pdf, après compilation.

Les figures 1a et 1b, ci-dessus montrent TeXworks en action.

Tu trouveras, dans l'onglet aide de TeXworks, un manuel d’utilisation de TeXworks, qu’il est préférable d’avoir lu, même si l’on verras dans ce tutoriel comment utiliser l’éditeur.

Figure 2 : Pour trouver le manuel d'aide de TeXworks.

Figure 3 : TeXworks ouvert pour la première fois, légende dans le texte ci dessous.

Tu vas commencer par ouvrir TeXworks. Comme tu n’as pas encore de document il n’y a qu’une seule fenêtre qui occupe la moitié de l’écran. Cette fenêtre est très dépouillée. Tout en haut on a une série de menu déroulant (n° 1, figure 2), en dessous quelques icônes (n° 2), ensuite le cadre dans lequel on va écrire notre fichier LaTeX/ConTeXt (n° 3). Un curseur clignotant t’invite à saisir ta première ligne (n° 4). Le chiffre (n° 5) est le numéro de ligne, si ta fenêtre en est dépourvu pas de panique on va arranger ça.

Tout d’abord tu vas configurer TeXworks pour qu’il corresponde à tes besoins. Tu vérifies que TeXworks pointe bien vers ta distribution LaTeX/ConTeXt. Tu vas donc dans Édition puis Préférence, dans l’onglet Composition, pour ouvrir la fenêtre illustrée figure 3. Dans le cas d’une TeXlive sous Linux, il y a de forte chance que lors de l'installation la TeXlive ai installé des liens dans l'un des trois répertoires suivant :

Pour Windows ça doit ressembler à :

c:\texlive\2021\bin\win32.

J'explique comment configurer TeXworks pour ConTeXt dans cette fiche. Le chemin doit ressembler à quelque chose comme : /home/bertrand/context-lmtx/bin

Tu dois trouver le chemin indiqué dans la fenêtre n° 1 fig 3. Si ce n’est pas le cas tu modifies en cliquant sur le signe plus pour ajouter un chemin et sur le signe moins pour supprimer un chemin erroné.

Figure 4 : Le menu « Composition ».

Sans entrer dans le détail, il faut que tu saches qu’il existe plusieurs compilateurs, en fonction du type de document que tu veux obtenir, par exemple le compilateur latex qui produit un fichier au format .dvi (le format d’origine des documents TEX). Le but étant de réaliser un fichier pdf tu vas utiliser pdflatex comme compilateur. Tout en bas de la fenêtre, tu choisis pdflatex dans le menu déroulant (n° 2 fig 3). Tu mets lmtx si tu travail avec ConTeXt. Le compilateur choisi par défaut apparaît à gauche dans la fenêtre n° 2 de la fig 2.

Maintenant tu ouvres l’onglet « Éditeur » et tu vas régler la coloration syntaxique. Tu choisis LaTeX ou ConTeXt en fonction de ton utilisation, dans le menu déroulant n° 1 de l’image 4. Ceci permet d’avoir un source (le document .tex s’appelle un source) coloriés ou les commandes LaTeX et ConTeXt apparaissent en couleur, pour bien les repérer dans le document. Ainsi les commentaires (précédé de %) seront en rouge, les environnements (commence par \begin{} et se termine par \end{}) seront en vert et les commandes en bleu. Ton texte est en noir.

Et l’on passe à l’encodage. Ce choix est important car il permet à nous autres européens d’avoir des caractères accentués directement au clavier. Je te conseille de prendre utf8 qui est reconnu par tous les environnements et qui évite d’avoir les signes accentués remplacés par des signes cabalistiques quand tu changes de machine (n° 2 fig. 4). C’est de toute façon la valeur par défaut de TeXworks.

Figure 5 : Le menu « Composition ».

Pour avoir la correction orthographique, sous Windows il faut au préalable avoir récupéré des dictionnaires (ceux d’OpenOffice ou de Thunderbird que tu récupères sur les sites web). Tu places les fichiers .aff et .dic dans le répertoire \home\Texworks\dictionaries. Pour Linux il faut au préalable avoir installer pour le français, aspell et aspell-fr ou bien hunspell et hunspell-fr. Maintenant tu peux indiquer le dictionnaire par défaut, n° 3 fig. 4.

aspell et hunspell ne sont pas des éléments de la TEXlive, mais de la distribution Linux qui s’installe avec par exemple synaptic sous Ubuntu et Debian, urpmi, yast,. . .pour d’autre distribution.

Une dernière chose à faire avant de refermer cet onglet, est de cocher « numérotation de lignes » qui permet de retrouver plus facilement les erreurs signalées par le compilateur, n° 4 fig. 4 .

Voila tu as maintenant un TEXworks près a fonctionner. Bien entendu ces changements ne sont à faire que la première fois ou tu utilises l’éditeur.

Tu peux changer si tu le désires d’autres paramètres comme la taille des icônes, masquer la fenêtre des erreurs en fin de compilation, changer la police de l’éditeur.

Ce n’est pas la police du document final, mais uniquement celle qui apparaît à l’écran. Tu la changes (ainsi que sa taille) uniquement pour un meilleur confort de travail.



[1] L’avantage du format PDF est qu’il préserve les polices, les images, les objets graphiques et la mise en forme de tout document source, quelles que soient l’application et la plate-forme utilisées pour le lire (Mac, Linux, Windows. . .), voir la définition sur Wikipédia.

[2] une macro est simplement un regroupement d’instruction afin d’obtenir une action. Par exemple \includegraphics[width=12cm]{maPhoto} va inclure l’image maPhoto dans ton texte en lui donnant une largeur de 12cm.

[3] En typographie, l’espace qui sépare les mots et du genre féminin

[4] Assez maladroitement, je le reconnais, n’étant pas typographe et ne maîtrisant pas suffisamment cette science. C’est d’ailleurs pour cela que j’utilise LaTeX/ConTeXt.

[5] En informatique source est au masculin car c’est un raccourcis pour « le code source » qui est un ensemble d’instructions écrites dans un langage de programmation informatique.