Le livre pour découvrir et redécouvrir Latex
Par yves le samedi, août 4 2007, 22:22 - Logiciels - Lien permanent
Présentation et note de lecture du livre «Latex» de Denis Bitouzé et Jean-Côme Charpentier.
{toc}
Tex & Latex
Latex est un système de composition de document dont j'ai déjà dit quelques mots lors de la présentation de METAPOST. Je viens de survoler un très bon livre pour le prendre en main: Latex de de Denis Bitouzé et Jean-Come Charpentier, édité par Pearson Education France, 26 €, 290 pages. Un très bon livre. Avant d'en parler une présentation plus complète de TEX et LATEX.
Au départ il y a TEX
Donald Knuth a créé TEX, système de composition de documents de haute qualité, en 1977. Un document TeX est simple à comprendre: il mêle des commandes et du texte, les commandes servant à mettre le texte en forme pour produire informatiquement un document typographique correct. TeX est dès le départ destiné à l'édition de textes techniques, et il permet de produire des documents de bonne facture après un travail de mise en forme acceptable.
TEX est tout à la fois un langage de programmation complet, mais aussi le nom du programme qui permet (en collaboration avec un ou plusieurs autres programmes) d'obtenir le document final, au départ en postscript, maintenant on utilisera souvant le pdf.
Voici un exemple de commandes TEX, le fichier s'appelle rien.tex sur mon ordinateur:
opagenumbers
\font\bigbigrm = cmr10 scaled \magstep 2
\bigbigrm Exemple de fichier \TeX{} avec un accent sur \^y juste pour faire joli.
\TeX{} sait aussi faire des math: $ 1 \over 2$, c'est m\^eme lui qui les fait le mieux.
\end
Et voici une image du résultat de traitement par TEX:

Le traitement se fait en suivant les étapes:
- édition du fichier rien.tex dans un éditeur. J'ai utilisé emacs, mais n'importe quel éditeur convient.
- Compilation. La commande est tex rien.tex. Le fichier résultat s'appelle rien.dvi.
- Transformation en fichier PostScript (PS): dvips rien.dvi. Alternativement dvipdf au lieu de dvips pemret d'obtenir un PDF.
J'ai obtenu l'image ci-dessus en utilsant dvips -E rien.dvi, ce qui crée un fichier PostScript optimisant la taille de la page autour du texte, puis j'ai utilisé convert, qui fait partie d'ImageMagick, pour obtenir l'image (convert rien.ps rien.png).
Cette façon de produire des documents est assez lourde. Mais le résultat est impeccable. Tellement impeccable que 20 ans plus tard, les fichiers écrits alors fonctionnent toujours, et produisent le même résultat qu'à l'époque. TEX a été conçu pour ne dépendre ni du système utilisé, ni du matériel. Les programmes ont été porté sur à peu près tous les types d'ordinateur existant. Un résultat rendu possible parce que le programme est libre, et surtout parce qu'il est de très bonne qualité. Les documents produits avec les éditeurs WYSIWYG (genre Word) ne résistent pas aussi bien à la durée ni aux changements de matériel.
LATEX pour structurer les documents
TEX a un défaut majeur: le mélange des commandes de mise en forme et du texte ne permet pas de donner directement des documents structuirés. Rien n'est prévu pour la conception de documents structurés, pas de table des matières automatiques, pas de découpage en sections et sous-sections du document. TEX a aussi une qualité remarquable, c'est d'être un langage de programmation complet, permettant des extensions. LATEX a été créé par Leslie Lamport pour faciliter la création de documents structurés au-dessus de TEX. LATEX est beaucoup plus utilisé que TEX qui est à sa base, et il permet d'utiliser des paquets externes de commandes en fonction de ses besoins.
Par rapport à TEX, LATEX a besoin d'un structure précise pour définir le document. Un bon document pour débuter avec LATEX se trouve en ligne, il a pour auteur Jean-Come Charpentier, un des auteurs du livre sujet de ce billet. C'est une bonne introduction à celui-ci.
Voici le découpage de base en LATEX avec un entête suivi du corps du document:
\documentclass[10pt]{article}
%--- entête, avec les appels de packages externes, les macros... ---
\begin{document}
% corps du document.
\end{document}
Voici maintenant un exemple avec table des matières. Notez que deux extensions permettent la saisie des caractères accentués (directement au clavier), et le traitement du document avec le français comme langue. Ainsi Table des matières est en français, mais aussi les règles de césure (coupure) des mots et la typographie:
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\begin{document}
\tableofcontents
\section*{Introduction}
En guise d'introduction une présentation de \TeX{} puis un exemple de
document structuré avec \LaTeX{}.
\section{\TeX}
\TeX{} c'est ce qu'on fait de mieux à la base. Mais au niveau documents
structurés rien ne vaut\LaTeX{}.
\section{\LaTeX}
\LaTeX{} c'est quand même vachement mieux. Enfin bon.
\subsection{les extensions}
la commande \verb|\usepackage| permet de charger des extensions
variées. On peut ainsi utiliser les caractères accentués au clavier,
utiliser le français, charger des graphiques facilement, en faire,
enrichir assez largement \LaTeX{}.
\subsection{des maths aussi}
Comme \TeX{}, \LaTeX{} permet de faire de jolies formules mathématiques:
\[ 0.999999999999\dots = \sum_{i=1}^\infty \frac{9}{10^i} \]
\end{document}
Notons qu'il existe des éditeurs spécialisés, comme Texmaker, qui facilitent la saisie en insérant automatiquement les commandes à la demande. On est toutefois très très loin des traitements de texte WYSIWYG (genre OpenOffice.org) qui montrent le résultat au fur et à mesure de la frappe. Mais à la différence de ceux-ci, le résultat est beaucoup mieux structuré, avec une cohérence typographique plus facile à obtenir.

On peut structurer un document avec un traitement de texte WYSIWYG (c.f. ceci pour OOo), mais l'impression de facilité d'utilisation donne le résultat contraire. Les gens l'utilisent sans formation (Tout le monde sait s'en servir, il n'y a pas besoin...) et donc sans utiliser les bons outils de structuration. Le résultat final demande alors beaucoup plus de travail pour obtenir un résultat convenable. Combien d'étudiants qui doivent faire un rapport avec savent qu'OpenOffice.org sait faire une table des matières et gérer une bibliographie ? Avec LATEX une (auto)formation minimale s'impose d'elle même, et le résultat précédent devient facile à obtenir.
Le livre, pour (re)découvrir LATEX
Indispensable
LATEX subit des évolutions en permanence, essentiellement via les extensions (appelées par \usepackage)'. Il est aujourd'hui beaucoup plus souple et facile d'utilisation que lorsque je l'ai utilisé la première fois vers 1992[1]. C'est pourquoi le livre de MM. Bitouzé et Charpentier m'est indispensable.
Repartant de la base; orienté sans excès vers l'usage de l'éditeur spécialisé Texmaker, cet ouvrage décrit fonction par fonction la base et les extensions les plus utiles de LATEX, avec leur principales options. Un coup d'oeil sur la table des matières en convainc rapidement: la façon de structurer, de faire des tableaux, de mettre en forme les formules mathématiques, les molécules chimiques, la bibliographie. Le tour n'est pas complet, mais il est vaste, assez approfondi pour que même un utilisateur ancien mais irrégulier de LATEX y trouve son bnheur. et assez basique et progressif pour qu'un débutant puisse s'y immerger.
Exercices et solutions commentées en détail
Les fonctions de base de LATEX sont simples. Mais l'utilisateur se heurtera très vite à des questions qu'il trouvera au départ difficile. Des espaces disparaissent, des objets se baladent bizarrement, des espacements ne se comportent pas comme on prévoit au premier abord. Structuré sur une base cours puis exercices thématique avec solution, ce livre survole bon nombre de ces petites questions qui troublent le néophyte. La précision des explications et des contournements possibles est un plaisir. C'est d'ailleurs dans les solutions des exercices que se cachent souvent les commentaires et les petits trucs les plus intéressants.
Quelqies manques
J'ai tout de même un gros regret: le choix de limiter les graphiques à l'extension PSTricks, alors que METAPOST est quand même bien pratique. Je pense que ce choix vient du fait que PSTricks est une extension qui s'utilise en interne, alors qu'on utilise METAPOST à l'extérieur et en incluant juste l'image résultat. METAPOST permet de mettre des textes en LATEX dans les dessins, une mention aurait pu se justifier. Notons tout de même que PSTricks contient des outils impressionnants, comme ceux pour les dessins de matériel de chimie et que sa présence se justifie largement.
Un autre regret est l'absence d'un index des commandes citées, aainsi d'ailleurs que d'un autre pour les extensions citées. Il est plus rapide d'ouvrir un livre pour retrouver comment utiliser une commande, à condition qu'on puisse retrouver la bonne page rapidement. C'était bien la peine d'uiliser un bel outil comme LATEX qui sait faire les index facilement !
Une synthèse très pratique du LATEX d'aujourd'hui
Il y a aujourd'hui quantité de documents acessibles sur internet qui permettent de se passer de ce livre. C'est vrai de beaucoup de livres sur des sujets techniques. La qualité de la synthèse réalisée ici fait gagner beaucoup de temps. L'ouvrage n'est pas très cher et pour l'utilisateur de LATEX débutant ou en voie de confirmation, l'investissement est à recommander vivement.
Le livre contient une version de LATEX, mais rappelez-vous aussi qu'utiliser LATEX n'est pas plus dur qu'utiliser une distribution Linux d'aujourd'hui. Installez un Linux; LATEX est inclus dedans, ça rend les choses plus simple!
Notes
[1] pour être honnête ce n'était pas du tout la même version. Et pour l'anecdote c'est pour pouvoir utiliser LATEX facilement que j'ai installé mon premier Linux vers 1994.




clics



Commentaires
Tout d'abord merci de cette critique très positive de notre travail. Denis et moi avons essayer de prendre grand soin de notre bébé et le voir apprécié réchauffe toujours le cœur.
Sur les « petits moins » qui sont indiqués, il faut comprendre que nous avions au départ droit à 256 pages et qu'en pleurant beaucoup, nous avons réussi à en obtenir 304. Et 304, c'est 304, ce n'est pas 305 (multiple de 16 oblige). Cela explique des choix draconiens et que nous sommes les premiers à regretter. En tête de liste l'index très court mais tout est en place dans le source pour indexer les commandes citées. Comme vous dites, c'est la puissance de LaTeX : on change trois fois rien et on se retrouve avec le même ouvrage mais avec un index déjà plus intéressant.
Même chose pour PSTricks : nous avions le choix entre PSTricks, MetaPost et TikZ. TikZ a été écarté car trop jeune au moment de la rédaction et PSTricks a été choisi plutôt que MetaPost uniquement parce que nous ne pouvions traiter des deux et que nous étions un tout petit peu plus à l'aise avec celui finalement choisi. Cela dit, Denis et moi apprécions également MetaPost (j'ai même traduit le manuel de John Hobby si cela en intéresse).
Jean-Côme Charpentier
Denis Bitouzé (par délégation)