Le teTeX HOWTO : le guide local de teTeX pour Linux

Robert Kiesling

v3.7, 9 Novembre 1998
Ce document concerne l'installation et l'utilisation de base de teTeX, une implémentation de TeX et LaTeX, pour les distributions principales de Linux aux États-Unis, ainsi que des extensions auxiliaires comme Ghostscript. Le contenu du teTeX HOWTO : le guide local de teTeX pour Linux est la propriété (copyright (C) 1997, 1998) de Robert A. Kiesling. Les termes exacts couvrant sa reproduction sont donnés dans l'introduction et les annexes. Les marques déposées appartiennent à leurs propriétaires respectifs. Veuillez envoyer vos plaintes, suggestions, errata et autres à [email protected], pour me permettre de garder ce document le plus complet et le plus à jour possible. Adaptation française : Mark Hoebeke [email protected].

1. Introduction

1.1 Droits de reproduction

Le teTeX-HOWTO est copyright (C) 1997, 1998 par Robert Kiesling. Il est permis d'en faire des copies conformes et de les distribuer à condition que les instructions concernant les droits de reproduction et celles concernant les permissions soient préservées sur toutes les copies.

Il est permis de copier et de distribuer des versions modifiées de ce manuel sous les mêmes conditions que les copies conformes, sous réserve que les sections intitulées Distribution et GNU General Public License soient incluses exactement comme dans l'original, et sous réserve que l'intégralité du travail dérivé résultant soit distribué sous les termes d'une note concernant les droits identique à celle-ci.

Il est permis de copier et de distribuer des traductions de ce document dans d'autres langues, sous les conditions mentionnées ci-dessus pour les versions modifiées. À ceci près que les sections intitulées Distribution et GNU General Public License peuvent être incluses sous forme d'une traduction approuvée par la Free Software Foundation au lieu de l'anglais originel. Veuillez vous reporter à la section Distribution et droits d'auteur pour les termes gouvernant la copie.

1.2 Logiciels décrits dans ce document

TeX ne s'occupe que de la partie mise en forme dans la préparation de documents. Produire des sorties avec TeX, c'est comme compiler un code source en code objet, dont il reste à faire l'édition de liens. Vous préparez un fichier d'entrée avec un éditeur de textes -- ce qui est du « traitement de texte » dans la tête de la plupart des gens -- et formatez le document d'entrée avec TeX pour produire un fichier de sortie indépendant de tout périphérique, appelé fichier .dvi (pour device independent).

Vous aurez également besoin d'un programme ou deux pour traduire le fichier .dvi issu de TeX pour votre écran et votre imprimante. Ces programmes sont connus sous le nom collectif de « dviware ». Par exemple, TeX lui-même n'émet que des requêtes pour les polices de caractères. C'est la tâche du traducteur de fichiers .dvi de fournir les polices en question pour la sortie, qu'elle se fasse sur écran ou sur papier. Cette étape supplémentaire peut sembler inutilement compliquée, mais cette abstraction permet aux documents d'avoir une apparence identique sur différents périphériques sans aucun changement (ou presque) du document d'origine.

teTeX

Il existe une implémentation de TeX pour tout système informatique sérieux au monde -- et même pour un tas de systèmes « non sérieux »--, les implémenteurs doivent donc fournir les outils d'installation pour tous ceux-ci. Ceci rend compte, en partie, de la complexité de teTeX, en plus de la complexité inhérente à toute installation de TeX. Ceci explique également que l'installation du système par vous-même est une tâche non négligeable, et, à moins d'être déjà familier avec TeX, il est facile de se perdre dans le nombre de programmes exécutables, de fichiers TeX, de documentations et de polices.

Heureusement, teTeX est intégré à la distribution GNU/Linux. Il vous est possible d'installer le paquetage beaucoup plus facilement en utilisant les outils d'installation de GNU/Linux. Il se peut que teTeX soit déjà installé sur votre système. Si c'est le cas, vous pouvez passer directement à la section Utilisation de teTeX.

Toutefois, si vous voulez installer le paquetage, les archives nécessaires à une installation utilisable de teTeX sont sur le réseau d'archives CTAN. Une liste de ces sites se trouve dans la section Liste de sites CTAN.

CTAN est le Comprehensive TeX Archive Network (réseau abordable d'archives TeX), une série de sites FTP anonymes archivant des programmes, des macros, des polices et de la documentation pour TeX. Au cours de votre utilisation de TeX, vous vous familiariserez probablement avec au moins un site CTAN. Dans ce document, un chemin d'accès tel que ~CTAN/contrib/pstricks, signifie « allez voir dans le répertoire contrib/pstricks du site CTAN le plus proche ».

L'installation de la distribution générique de teTeX, décrite dans la section Installation de la distribution CTAN de teTeX se focalise sur les versions Intel de Linux. L'installation de teTeX sur d'autres matériels ne devrait nécessiter que la substitution appropriée de l'archive des programmes exécutables au cours du processus d'installation.

En plus des programmes exécutables, la distribution contient l'ensemble des extensions pour TeX et LaTeX, metafont et ses sources, bibtex, makeindex, et toute la documentation... le tout dépassant les 4 Mo. La documentation couvre tout ce dont vous aurez a priori besoin pour démarrer. Vous devriez donc installer tous ces documents. Non seulement serez-vous amené à tous les lire, mais les documents par eux-mêmes fournissent de nombreux exemples de code TeX et LaTeX « vivant ».

TeX a été écrit par le professeur Donald Knuth de l'université de Stanford. Il s'agit d'un langage de composition de page de bas niveau utilisé par toutes les extensions de plus haut niveau comme LaTeX. LaTeX est principalement un ensemble de macros TeX fournissant des formats de documents prédéfinis et pratiques pour l'utilisateur final. Si vous aimez les formats fournis par LaTeX, vous n'aurez peut-être jamais à apprendre la programmation de TeX au plus bas niveau. La différence entre les deux langages est comme la différence entre l'assembleur et le C. Vous pouvez avoir la vitesse et la flexibilité de TeX, ou la facilité d'utilisation de LaTeX.

Au passage, les lettres du mot « TeX » sont les lettres grecques tau-epsilon-chi. Il ne s'agit pas d'une confrérie, mais de la racine du mot grec techne, qui signifie art et/ou science. « TeX » ne se prononce pas comme la première syllabe de « Texas. » Le chi n'a pas d'équivalent en français, mais « TeX » se prononce généralement de façon à rimer avec le mot anglais « yecch

NdT. : le chi se prononce par exemple comme le x dans Mexico tels que le prononcent les hispanophones.
, » exemple donné par le professeur Knuth dans le TeXBook, l'un des standards de référence pour TeX. Pour écrire le mot « TeX » sur des périphériques à base de caractères, pensez à utiliser la casse standard, ou la macro \TeX{} lors de la composition.

Éditeurs de textes

N'importe lequel des éditeurs qui marchent sous Linux -- jed, joe, jove, vi, vim, stevie, Emacs et micro-Emacs -- peut servir à préparer un fichier d'entrée pour TeX, sous réserve qu'il puisse lire et écrire des fichiers en ASCII pur. Mon préféré est GNU Emacs. Cela pour plusieurs raisons :

dvips

Le programme dvips de Tomas Rokicki produit du Postscript à partir d'un fichier .dvi. De plus, en cas de besoin, il lance Metafont pour générer les polices nécessaires sous forme de bitmap

NdT. : polices où chaque symbole est représenté par une matrice de points « allumés » ou « éteints. »
ou il utilise les polices Postscript pour la sortie. Il est aussi capable de redimensionner les pages et d'effectuer des translations graphiques à partir d'instructions contenues dans un fichier TeX ou LaTeX.

dvips fait partie de la distribution teTeX. Il est abordé plus complètement dans la section Combiner textes et éléments graphiques avec dvips.

Polices

Une grande partie de la complexité de TeX, et par conséquent de LaTeX, provient de son implémentation de divers systèmes de polices, et de la façon dont ces polices sont spécifiées. Une amélioration majeure de LaTeX 2e par rapport à son prédécesseur était dans la manière dont les utilisateurs spécifiaient les polices, l'ancien New Font Selection Scheme (nouveau schéma de sélection des polices). Cela est abordé dans les sections Symboles et styles typographiques, Commandes TeX pour les polices, et Utilisation de polices Postscript.

teTeX est distribué avec une douzaine de polices standard pré-chargées, ce qui est suffisant pour démarrer. Les descriptions des métriques des polices sont également fournies dans les fichiers .tfm (TeX font metric). Pour générer les autres polices dont vous avez besoin, il suffit simplement d'installer les sources pour metafont. Les utilitaires pour .dvi de teTeX invoqueront metafont automatiquement et généreront les polices Computer Modern nécessaires.

2. Utilisation de teTeX

En théorie tout du moins, tout est installé correctement et prêt à fonctionner. teTeX est un paquetage logiciel très vaste. Comme pour tout paquetage complexe, vous voudrez commencer par apprendre teTeX en douceur, au lieu d'être submergé par sa complexité.

Dans le même temps, nous voulons que le logiciel fasse quelque chose d'utile. Donc, au lieu de regarder TeX composer

``Hello, World !''
comme le suggère le professeur Knuth, nous allons produire quelques unes des documentations de teTeX pour le mettre à l'épreuve.

2.1 Imprimer la documentation

Vous devriez être connecté en tant que root les premières fois que vous utilisez teTeX. Si vous ne l'êtes pas, Metafont peut être dans l'incapacité de créer les répertoires indispensables pour ses polices. Le programme texconfig inclut une option pour rendre les répertoires de polices accessibles en écriture à tout un chacun, mais si vous travaillez sur un système multi-utilisateurs, des considérations de sécurité peuvent rendre cette option inapplicable ou indésirable.

Dans chacun de ces cas, si vous ne disposez pas des droits appropriés pour créer ou écrire dans les répertoires où sont logés les polices, Metafont se plaindra bruyamment parce qu'il ne peut créer les répertoires. Vous ne verrez aucune sortie parce que vous aurez un tas de symboles de polices de longueur nulle. Cela n'est pas un problème. Déconnectez-vous simplement, reconnectez-vous sous root, et répétez l'opération qui a échoué.

Le côté agréable de teTeX, c'est que si vous vous plantez, il n'y a pas vraiment de dégâts. Ce n'est pas comme un compilateur, où, par exemple, vous bousillerez la partition racine si un pointeur se met à délirer. Comment, vous n'avez pas encore lu le manuel de teTeX ? Bien sûr que non. Il est encore dans la distribution sous forme de code source, prêt à être sorti.

Donc, sans plus attendre, il vous plairait de lire le manuel teTeX. Il se trouve dans le répertoire

/usr/lib/teTeX/texmf/doc/tetex.

Le source LaTeX pour le manuel s'appelle TETEXDOC.tex. (L'extension .tex est utilisée aussi bien pour les fichiers TeX que LaTeX. Certains éditeurs, comme Emacs, ne savent pas faire la différence.) Un fichier TETEXDOC.dvi est également inclus dans la distribution, fichier que vous voudrez garder en lieu sûr -- disons, dans un autre répertoire -- au cas où vous voudriez tester vos pilotes .dvi plus tard. Un fois cela réglé, tapez

latex TETEXDOC.tex
LaTeX affichera plusieurs avertissements. Le premier,
LaTeX Warning: Label(s) may have changed. Rerun to get the
cross-references right.
est standard. Il est courant de construire la table des matières d'un document en « LaTeXant » le document deux fois. Donc, refaites la commande. Les autres avertissements peuvent être ignorés sans danger. Il vous informent seulement que certains des chemins FTP mentionnés dans la documentation sont trop longs pour l'espace qui leur est alloué. Les sections Styles et dimensions des paragraphes et Tolérances décrivent l'espacement horizontal en plus détaillé.

teTeX aura généré plusieurs fichiers à partir de TETEXDOC.tex. Celui qui nous intéresse est TETEXDOC.dvi. C'est le fichier de sortie indépendant de tout périphérique que vous pouvez envoyer aussi bien sur l'écran que sur l'imprimante. Si vous faites marcher teTeX sous le système X Window, vous pouvez prévisualiser le document avec xdvi.

Pour le moment, supposons que vous ayez une HP LaserJet II. Vous lanceriez la commande

dvilj2 TETEXDOC.dvi 
qui écrit un fichier de sortie PCL à partir de TETEXDOC.dvi, incluant les polices logicielles qui seront déchargées sur la LaserJet. Cela n'est pas une fonctionnalité de TeX ou LaTeX, mais une fonctionnalité offerte par dvilj2. D'autres pilotes .dvi offrent des fonctionnalités relatives aux périphériques qu'ils gèrent. dvilj2 essaie de répondre aux requêtes de polices faites dans le document LaTeX d'origine, avec leurs équivalents les plus proches présents sur le système. Dans le cas d'un document purement textuel comme TETEXDOC.tex, la difficulté n'est pas bien grande. Toutes les polices demandées par TETEXDOC.tex seront générées par metafont, qui est invoqué automatiquement par dvilj2, si les polices ne sont pas déjà présentes. (Si c'est la première fois que vous lancez dvilj2, il se peut que le programme doive générer toutes les polices.) Il existe plusieurs options pour contrôler la manière dont les polices sont générées par dvilj2. Elles sont exposées dans la page du manuel. À ce stade, vous ne devriez pas avoir à manipuler metafont directement. Dans le cas contraire, quelque chose de pas net s'est produit dans votre installation. Tous les pilotes .dvi invoqueront directement metafont au travers de la bibliothèque de recherche de chemins kpathsea -- dont la discussion dépasse le cadre de ce document -- et, pour l'instant vous n'avez pas à travailler davantage avec metafont -- tous les sources metafont pour la bibliothèque de polices Computer Modern sont fournis.

Vous pouvez imprimer TETEXDOC.lj avec la commande

lpr TETEXDOC.lj
Il se peut que vous ayez à installer un filtre d'impression comprenant le PCL.

Le teTeX Guide de neuf pages fournit de l'information utile pour configurer votre système plus finement ; j'en ai mentionné quelques extraits, la majeure partie n'est pas couverte par ce document.

Je n'ai pas pu tester certaines informations de la section suivante car je dispose d'une imprimante couleurs à jet d'encre HP DeskJet 400 non Postscript connectée au port parallèle de l'ordinateur. Néanmoins, ne pas posséder d'imprimante Postscript ne constitue pas une barrière à l'impression de textes et de graphiques à partir de vos documents textuels. Ghostscript est disponible dans la plupart des distributions Linux, et peut même être déjà installé sur votre système.

3. Commandes TeX

Préparer des documents pour que TeX en fasse la composition, c'est facile. Assurez-vous qu'une ligne blanche se trouve entre les paragraphes d'un fichier purement textuel, et faites passer le fichier au travers de la moulinette TeX avec la commande

tex votre_fichier_texte
Le résultat sera un fichier dont le nom possède la même racine, mais portant l'extension .dvi. TeX formate le texte en mode 10 points, Computer Modern Roman, avec un interligne simple et justifié aussi bien à gauche qu'à droite. Si vous obtenez des messages d'erreur au sujet de symboles spéciaux, comme le dollar, enlevez-leur leur caractère particulier en les faisant précéder par la barre de fraction inversée (backslash), \, et lancez TeX une deuxième fois sur votre fichier. Vous devez pouvoir traiter le fichier résultat avec le traducteur de .dvi de votre choix (cf. ci-dessus) pour obtenir une sortie imprimée.

Une particularité des entrées pour TeX est que vous devez utiliser des guillemets ouvrants et fermants, qui figurent dans le fichier d'entrée sous forme d'accents graves et d'apostrophes. Le mode TeX d'Emacs le fera pour vous automatiquement

NdT. : en français, les guillemets s'écrivent « et ». Si votre clavier en dispose vous pouvez les saisir tels quels, sinon, ils peuvent être composés en doublant les symboles < et >.
.
"Voici des guillemets de type ASCII"
``Voici des guillemets `à la TeX'.''

3.1 Survol des commandes

En TeX, les commandes commencent par une barre de fraction inversée (« \ »). Par exemple, la commande pour changer l'interligne est

\baselineskip=24pt

La ligne de base est la limite inférieure des symboles sur une ligne, sans compter les jambages inférieurs. La distance entre les lignes de base de deux lignes consécutives est le \baselineskip, auquel est affecté une valeur de 24 points.

En TeX, les mesures ou les dimensions sont souvent données dans les unités suivantes :

pt                % Point :      1/72 in.
pc                % Pica :       12 pt.
in                % Pouce :      72.27 pt.
cm                % Centimetre : 2.54 cm = 1 in.
mm                % Millimetre : 10 mm = 1 cm.

Quelques unes des commandes ne prennent pas d'affectation. Par exemple :

\smallskip        % Environ 3 pt.
\medskip          % Deux \smallskips.
\bigskip          % Deux \medskips.

Un \smallskip insère dans le document un espacement vertical de 3 pt. Les mesures sont approximatives car TeX a besoin d'ajuster les dimensions pour les sauts de page, les en-têtes et d'autres éléments d'espacement vertical. Cela vaut également pour l'espacement horizontal.

\hsize=6.5in
Cette commande positionne la largeur de la ligne à 6,5 pouces. TeX essaie de remplir la ligne en ajustant l'espacement entre les mots, et certains caractères. Si TeX est incapable de remplir une ligne en respectant ses tolérances, il produit un message d'avertissement, et ajuste l'espacement horizontal au sein de la ligne du mieux qu'il peut. Les tolérances de formatage sont exposées dans la section Tolérances. /export/home/mh/Docs/HOWTOS/TeTeX-HOWTO/ Il existe beaucoup d'autres commandes qui spécifient les dimensions et les tolérances horizontales et verticales, et les plus répandues sont décrites plus loin.

3.2 Commandes de polices

En TeX, la police par défaut est la Computer Modern Roman en 10 pt. Pour préciser un style typographique, comme l'italique, le gras, ou l'espacement fixe, utilisez les commandes suivantes :

\rm          % Roman (par defaut).
\it          % Italiques.
\bf          % Gras.
\tt          % Espacement fixe (machine a ecrire).
\sl          % Oblique (slanted : incline).
Ces commandes modifient le style typographique à l'endroit où elles apparaissent dans le texte, comme dans cet exemple.
Ce texte est en Roman, \it et ce texte est en italiques. \bf Ce texte
est en gras et \rm ce texte est a nouveau en Roman.

Pour spécifier une police pour votre document, utilisez la commande \font.

\font\romantwelve=cmr12
Cela crée la commande de police \romantwelve, qui, lorsqu'elle est utilisée dans le texte, active la police Computer Modern Roman en 12 points.
\romantwelve
Voici la police Computer Modern Roman en 12 points.
Pour plus d'informations au sujet des polices de la distribution teTeX, consultez le fichier :
/usr/lib/teTeX/texmf/doc/fonts/fontname/fontname.dvi

Si vous voulez imprimer un échantillon d'une police, lancez TeX sur le fichier

/usr/lib/teTeX/texmf/tex/plain/base/fontchart.tex
et, à l'invite, renseignez le nom de la police que vous voulez imprimer.

Vous pouvez également modifier la taille d'une police pour obtenir des effets variés. L'agrandissement des polices est exponentiel, et est défini par la commande scaled \magstep, placée après la spécification de la police.

\font\sfmedium=cmss12 scaled \magstep 1
Cette commande vous donnera une police sans sérif d'une taille de 120 pourcent celle de la police sans sérif Computer Modern Roman de 12 points. Les agrandissements de polices peuvent aller de 0 à 5. Chaque échelle donne un agrandissement de 120 pourcent.

3.3 Styles et dimensions des paragraphes

Comme mentionné ci-dessus, TeX compose le texte en Computer Modern roman 10 points par défaut. La largeur d'une ligne est donnée par \hsize, qui s'élève à 6,5 in. par défaut. Si vous voulez changer la valeur de \hsize en 5,5 in. par exemple, utilisez cette commande.

\hsize=5.5in

En TeX, une dimension est une unité de longueur ajustable, soit horizontale, soit verticale. La quantité dont on peut augmenter ou diminuer une dimension peut être spécifiée dans sa définition. En relation étroite avec une dimension, il existe un pas (skip), qui est une dimension placée dans l'un des registres internes de TeX. Les pas sont définis avec la commande \newskip. La dimension \smallskip, telle que définie par TeX est :

\newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt
La commande \smallskip est un raccourci pour :
\vskip\smallskipamount

Il existe un certain nombre de dimensions qui contrôlent la mise en page. Elles sont résumées dans la section Mise en page.

TeX compose les paragraphes en les justifiant aussi bien à gauche qu'à droite. Si vous souhaitez que le texte ne soit justifié qu'à gauche, utilisez cette commande :

\raggedright

Pour composer une ligne qui doit être justifiée à droite, utilisez la commande \rightline :

\rightline{Voici la ligne a composer.}

La commande \line compose le texte de son argument pour qu'il remplisse l'intégralité de la ligne.

\line{Ce texte sera espace pour remplir toute la ligne.}

La commande \hfil ajoute de l'espace là où elle apparaît pour remplir toute la ligne. Ainsi, par exemple, la commande \rightline est équivalente à :

\line{\hfil Cette ligne sera justifiee a droite.}

Pour composer une ligne centrée, utilisez la commande \centerline.

\centerline{Voici la ligne a centrer.}

Pour modifier la marge gauche, positionnez la valeur de \hoffset, comme dans cet exemple :

\hoffset=1.5in

La commande \parindent spécifie la quantité dont la première ligne de chaque paragraphe sera indentée.

\parindent=.5in

Deux autres dimensions, \leftskip et \rightskip, indenteront respectivement les marges gauche et droite des paragraphes qui les suivent.

\leftskip=.5in
\rightskip=.5in
La commande \narrower est l'équivalent de :
\leftskip=\parindent
\rightskip=\parindent
En fait, \narrower rétrécit les marges des paragraphes avec la valeur de \parindent.

Comme mentionné dans la section précédente, \baselineskip spécifie la distance entre les lignes. Sa valeur par défaut est de 12 pt. Pour obtenir une approximation d'un double interlignage, utilisez la commande suivante :

\baselineskip=\baselineskip*1.6

La commande \parskip spécifie une distance qui s'ajoute à \baselineskip entre deux paragraphes. Aucun espace supplémentaire n'est ajouté par défaut, mais la distance entre paragraphes peut s'étirer jusqu'à 1 pt. pour remplir la page correctement. Pour insérer une ligne blanche entre les paragraphes, utilisez cette commande :

\parskip=\baselineskip

Tolérances. (C'est quoi ces rectangles noirs à la fin dechaque ligne ?)

Normalement, TeX compose le texte dans le strict respect des tolérances. Si, pour une raison quelconque, le texte ne peut être composé en respectant ces tolérances, TeX produit un message d'erreur et compose le texte du mieux qu'il peut. Si le texte doit être trop étiré pour s'adapter à la ligne, TeX vous avertit que la \hbox n'est pas assez remplie (underfull). Tout texte qui doit être comprimé produit un avertissement de débordement (overfull \hbox).

Pour chaque overfull \hbox, TeX place un slug, un rectangle noir, en fin de ligne. Ce rectangle indique que la ligne n'a pu être formatée avec les contraintes imposées par le paramètre \hbadness.

L'ajustement du texte à l'intérieur de ses dimensions imposées est mesuré par sa « mauvaise qualité » (badness), qui est un nombre entre 0 et 10000. Une badness de 0 correspond à un ajustement parfait, et une badness de 1000 indique que la ligne ne sera probablement jamais ajustée. La valeur par défaut de \hbadness est 1000. Si vous mettez \hbadness à 10000, TeX ne réclamera plus à propos des lignes pas assez remplies.

TeX autorise quelquefois une ligne à déborder dans la marge droite. Il s'agit d'une décision esthétique de la part de l'auteur de TeX. La quantité autorisée pour ce débordement est déterminée par le paramètre \hfuzz, dont la valeur par défaut est de 0,1 pt. Si le texte ne peut s'adapter à la ligne, le paramètre de \tolerance détermine la façon dont TeX va gérer le dépassement. La valeur par défaut de \tolerance est 200. Positionner \tolerance à 1000 supprime les avertissements à propos des overfull \hbox et l'affichage des rectangles noirs.

3.4 Mise en page

En plus des dimensions de marge gauche et de longueur de ligne décrites dans la section précédente, TeX vous permet de spécifier les marges supérieure et inférieure, ainsi que l'espacement vertical.

À l'instar des dimensions \hsize et \hoffset décrites dans la section ci-dessus, TeX dispose des commandes \vsize et \voffset. Par défaut, \vsize vaut 8,9 in. et \voffset vaut 0.

En temps normal, teTeX place le début de la première ligne de texte à 1 in. sous le bord supérieur de la feuille et à 1 in. du bord gauche. Il vous est possible de commencer le texte plus près du haut de la page avec la commande :

\voffset=-0.5in

Si vous voulez ajouter de l'espacement vertical dans un document, les commandes \smallskip, \medskip et \bigskip ajouteront environ 3, 6 et 12 points d'espace vide vertical. Ces mesures sont des approximations : TeX fera des ajustements pouvant aller jusqu'à 1 pt. pour remplir correctement la page.

La commande \vfill ajoute un espacement vertical ajustable entre paragraphes d'une même page. Son étirement peut aller jusqu'à l'infini, ainsi elle ajoutera de l'espacement vertical pour remplir au maximum le restant de la page. Si vous voulez spécifier une dimension, utilisez \vskip, comme dans :

\vskip 10pt

Les commandes \hss et \vss sont similaires à \hfill et \vfill, mais elles fournissent des dimensions pouvant être rétrécies ou étirées à l'infini.

Les commandes \vskip et \vfill produisent des longueurs flexibles. Elles n'ajoutent pas d'espace là où il n'y a aucun texte ; par exemple en haut de la page. Utilisez \vglue si vous voulez ajouter un espacement absolu.

TeX remplit la dimension \vsize avec le plus possible de texte avant de commencer une nouvelle page. Pour forcer un saut de page, utilisez la séquence \vfill \eject. Si \vfill n'est pas utilisé, le texte avant le \break sera disposé de façon à remplir la page.

Si vous voulez que TeX soit plus flexible pour ce qui est des espacements verticaux sur la page, placez la commande \raggedbottom dans votre document. TeX ajustera alors légèrement la marge inférieure de chaque page pour rendre l'espacement vertical plus cohérent.

3.5 Numéros de page, en-têtes et pieds de page

Par défaut, TeX place le numéro de page au centre du pied de page. Si vous souhaitez changer l'emplacement et le style du numéro de page, il vous est possible de spécifier d'autres en-têtes et pieds de page en changeant les définitions de \headline et \footline. La valeur par défaut pour \footline contient la commande \folio, qui imprime le numéro de page. La valeur par défaut pour \headline est \hfill ; ce qui imprime donc une ligne blanche.

La commande \pageno est un synonyme du compteur de pages interne de TeX. Vous pouvez changer le numéro de page en changeant la valeur de \pageno. Si \pageno est négatif, les nombres sont imprimés en chiffres romains.

\pageno=10
\pageno=-1

La commande \nopagenumbers est un raccourci pour :

\headline={\hfil}
\footline={\hfil}

La ligne de pied de page par défaut contient également la commande pour police \tenrm, qui spécifie une police Roman 10 points pour le numéro de page. Si vous désirez imprimer le numéro de page en Roman 12 points par exemple, vous devez d'abord définir une commande pour positionner la police en Roman 12 points, et utiliser celle-ci dans la définition de \footline. Les commandes pour les polices sont abordées dans la section Commandes pour les polices.

\font\twelvrm=cmr12
\footline={\hss\twelvrm\folio\hss}

Vous pouvez insérer une ligne horizontale ou rule, en haut de chaque page en redéfinissant \headline comme suit :

\headline={\hrulefill}

Pour spécifier des en-têtes différents pour les pages paires et impaires, utilisez la commande \ifodd, qui a la forme :

\ifodd[condition][action-si-vrai]\else[action-si-faux]
Un exemple de \headline utilisant des en-têtes différents pour les pages paires et impaires est :
\headline={\ifodd\pageno en-tete-page-impaire \else en-tete-page-paire}
L'expression \ifodd utilise le premier argument si le numéro de page est impair, et le deuxième argument sinon.

3.6 Titres et macros

TeX ne fournit que la macro \beginsection pour les en-têtes de section. Elle laisse un espace au-dessus de son argument, imprime le texte de l'en-tête en gras, ajoute un \smallskip après le texte de l'en-tête, et commence le paragraphe suivant sans indentation.

Les commandes de chapitre et de section décrites plus loin ajoutent la numérotation des sections, impriment les titres et les numéros des sections dans les en-têtes de pages et ajoutent automatiquement les sections à la table de matières.

En TeX pur, c'est à vous d'écrire ces commandes. La commande \def vous permet de définir de nouvelles commandes. Supposons que vous souhaitiez imprimer le titre d'un chapitre. En premier, vous définissez la police que vous voulez utiliser. Une police de grande taille et sans sérif pour les titres de chapitres peut être définie ainsi :

\font\chapterfontsans=cmss12 scaled \magstep 4
Vous pouvez utiliser la commande \chapterfontsans à n'importe quel endroit où vous voulez adopter cette police, dont la hauteur approximative est de 24 points. Toutefois, dans cet exemple, son utilisation principale sera dans la commande \chaptertitlesans. Voici sa définition :
\def\chaptertitlesans#1{\hbox{}\bigskip\bigskip
  \noindent{\leftline{\chapterfontsans#1}}
  \par\bigskip\bigskip\noindent}
La première ligne, \hbox{}\bigskip, fixe un espacement de 12 points en haut de la page en y plaçant une \hbox{} vide. La ligne comportant le titre du chapitre n'est pas indentée, comme le paragraphe qui le suit immédiatement. Si vous placez une ligne vide entre la macro \chaptertitlesans et le paragraphe suivant, le \noindent final s'appliquera à la ligne vide, et non pas au texte du paragraphe qui suit. Pour un formatage correct, utilisez \chaptertitlesans, comme dans cet exemple :

L'expression #1 dans la définition est remplacée par le premier argument de \chaptertitlesans qui sera en fait le titre du chapitre. Dans les définitions en TeX, les paramètres sont déclarés par #1, #2, #3 et ainsi de suite. Un exemple d'utilisation de \chaptertitlesans serait :

\chaptertitlesans{Chapitre 1}
Cela est le texte commençant le premier paragraphe du chapitre.
Le paragraphe ne sera pas indente. Le titre du chapitre est 
"Chapitre 1."

4. Commandes LaTeX

4.1 Structure des documents

Les documents composés pour LaTeX doivent obéir à quelques règles supplémentaires, mais pour des documents complexes, LaTeX peut grandement simplifier le processus de mise en forme.

LaTeX est à la base un langage de balisage de document essayant de séparer le style produit en sortie du contenu logique du document. Par exemple, la composition d'un titre de section avec TeX nécessiterait de spécifier un espace de 36 points au dessus du titre, ensuite, le titre lui-même en gras et en 24 points, puis la copie du texte et du numéro de page dans la table des matières, et enfin de laisser un espace de 24 points après le titre. Par contraste, LaTeX dispose de la commande \section{}, qui fait tout le travail pour vous. Si vous devez changer le format des titres de section pour tout le document, vous pouvez changer la définition de \section{} au lieu du texte lui-même dans le document. Vous pouvez calculer par vous-même les heures de remise en forme gagnées pour des documents comportant plus d'une douzaine de pages.

Tous les documents LaTeX comportent trois sections : un préambule, le corps du texte et un postambule. Ces termes font partie du jargon standard et sont largement utilisés par les TeXperts.

Le préambule, dans sa forme minimale, spécifie le type du document à produire -- la classe du document -- et une directive signalant le début du corps du texte du document. Par exemple :

\documentclass{article}
\begin{document}
Le postambule du document est habituellement très simple. Sauf cas exceptionnels, il ne contient que la directive :
\end{document}
Notez comment \begin{document} et \end{document} vont de pair. En LaTeX, on appelle cela un environnement. Tout texte doit apparaître dans un environnement, et de nombreuses commandes ne s'appliquent qu'à l'intérieur des environnements où elles sont appelées. Cependant, l'environnement document est le seul cas où LaTeX impose cette convention. En effet, c'est le seul environnement obligatoire dans un document. (La classe lettre, letter pour LaTeX, constitue un exception, dans la mesure où elle vous impose de déclarer \begin{letter} et \end{letter}. Reportez-vous à la section Lettres.) Quoi qu'il en soit, de nombreuses fonctions de formatage sont spécifiées au travers d'environnements. Elles sont décrites dans les sections suivantes.

Les classes de documents peuvent être appelées avec des arguments. Par exemple, au lieu de la taille de base de 10 points adoptée par défaut, comme dans l'exemple précédent, nous aurions pu spécifier :

\documentclass[12pt]{article}

pour produire un document basé sur une police de 12 points. La classe de documents article, opère les ajustements nécessaires.

Il existe quelques classes de documents utilisées de façon courante. Elles sont décrites plus loin. La classe rapport (report) est similaire à la classe article mais produit une page de titre et commence chaque section sur une nouvelle page. La classe lettre (letter) comprend des définitions spéciales pour les adresses, les salutations et les formules de politesse, dont quelques-unes sont décrites plus loin.

Vous pouvez inclure du code LaTeX préemballé, connu sous le nom d'extension (package), à l'aide de la commande \usepackage{}.

\usepackage{fancyhdr}
La commande ci-dessus provoque l'inclusion du fichier de style LaTeX fancyhdr.sty se trouvant dans l'un des répertoires définis par TEXINPUTS, que vous-même et teTeX avez spécifié lors de la phase d'installation et de configuration.

\documentclass{article}
\usepackage{fancyhdr}
\begin{document}

Remarquez que les déclarations \usepackage{} sont données avant la directive \begin{document} ; et donc, dans le préambule du document.

fancyhdr.sty étend la commande \pagestyle{} pour vous permettre de créer des en-têtes et des pieds de page personnalisés. La plupart des classes de documents LaTeX fournissent des en-têtes et des pieds de page pour les styles de page standardisés suivants :

\pagestyle{plain}       % style de page par defaut -- numero de page centre
                        % dans le pied de page.
\pagestyle{empty}       % pas d'en-tetes ni de pied de page.
\pagestyle{headings}    % imprime le numero de section et le numero de
                        % page dans l'en-tete.
\pagestyle{myheadings}  % imprime de l'information personnalisee dans 
                        % l'en-tete.
Tout ce qui se trouve à droite du symbole pourcent sur une ligne est un commentaire.

La commande \pagestyle{} ne prend effet qu'à la page suivante. Pour modifier les en-têtes et pieds de page de la page courante, utilisez la commande :

\thispagestyle{style_de_page}

4.2 Caractères et styles typographiques

Le style des caractères dépend en partie des polices spécifiées dans le document. Toutefois, la mise en évidence de texte par les caractères gras ou italiques devrait être disponible pour toutes les polices. Le souligné peut également être utilisé, bien que son formatage présente des problèmes particuliers. Consultez la section Extensions pour LaTeX et autres ressources, plus loin.

Vous pouvez faire ressortir du texte de plusieurs manières. La plus portable repose sur la commande \em. Tout le texte dans sa portée sera mis en italiques par défaut. Par exemple :

Ce mot sera {\em mis en evidence.}
S'il y a du texte en italiques suivi de texte qui ne l'est pas, vous pouvez spécifier qu'un facteur de correction des italiques doit être utilisé. Pour cela, la commande est \/; ce qui correspond à une barre de fraction inversée puis une barre de fraction normale.
Cet exemple {\em sera\/} correctement imprime.

Cet exemple ne sera {\em pas} imprime correctement.
Légèrement moins portables, mais encore acceptables dans les situations où elles sont employées de manière isolée, il y a les commandes \it, \bf, et \tt, qui spécifient que les caractères dans leurs portées doivent être imprimés respectivement en italiques, en gras et en espacement fixe (teletype).
{\tt Ce texte sera imprime avec un espacement fixe,}
{\it ce texte sera en italiques,} et
{\bf ce texte sera en gras\dots} le tout dans un meme paragraphe.
La commande \dots imprime une suite de trois points correspondant aux points de suspension, qui ne seront pas coupés par un saut de ligne.

La version la plus récente de LaTeX, qui est celle dont vous disposez, comprend des commandes tenant compte des occurrences où une manière de mettre du texte en évidence prendrait le pas sur une autre.

Cela n'est {\it pas {\bf en gras et en italiques !}}
Ce qui se passe, c'est que teTeX compose le texte en italiques jusqu'à ce qu'il rencontre la commande \bf, endroit à partir duquel il adopte les caractères gras.

Pour éviter cela, NFSS, la méthode de sélection pour la forme des polices, nécessite trois paramètres pour chaque jeu de caractères : la forme, la série et la famille. Tous les jeux de polices n'incluent pas l'ensemble de ces styles. LaTeX affichera cependant un avertissement s'il doit substituer une police à une autre.

Les formes suivantes peuvent être spécifiées :

\textup{texte}          % caracteres "droits" (par defaut) -- upright shape 
\textit{texte}          % italiques
\textsl{texte}          % obliques
\textsc{texte}          % petites capitales
Voici les deux séries dont disposent la majorité des polices :
\textmd{text}           % serie moyenne (par defaut) -- medium
\textbf{text}           % caracteres gras
Trois familles de caractères sont généralement disponibles :
\textrm{text}           % Roman (par defaut)
\textsf{text}           % sans serif
\texttt{text}           % espacement fixe (de type Courier) ou teletype
Spécifier des styles de polices à l'aide de ces paramètres peut se faire en combinant les effets.
\texttt{\textit{Cet exemple produira vraisemblablement une substitution
de police, car peu de polices comportent un style italique en
espacement fixe.}}
La famille de polices par défaut est la Computer Modern, qui est une police matricielle. D'autres familles de polices sont généralement au format Postscript Type 1. Consultez la section Utilisation des polices Postscript pour les détails concernant leur utilisation.

De nombreuses formes d'accents ou de caractères spéciaux sont également disponibles pour la composition. En voici quelques uns. (Essayez de les composer sur votre propre imprimante.)

\'{o}   \`{e}   \^{o}   \"{u}   \={o}   \c{c}   `? `!
\copyright      \pounds         \dag
Enfin, certains caractères sont utilisés comme des méta-caractères ou des caractères d'échappement en TeX et LaTeX. L'un d'eux, le symbole du dollar est mentionné plus haut. L'ensemble des méta-caractères qu'il faut faire précéder d'une barre de fraction inversée pour leur faire perdre leur signification particulière est :
# $ % & _ { } 

De nombreux alphabets, comme l'alphabet grec ou cyrillique, sont également disponibles. LaTeX fournit une aide précieuse pour la composition de textes en différentes langues, que l'on peut trouver dans quelques-unes des références mentionnées ici.

4.3 Marges et interlignes

Changer les marges dans un document TeX ou LaTeX n'est pas une tâche évidente. Beaucoup de choses dépendent de l'indentation relative du texte dont vous essayez d'ajuster la marge. L'endroit où est placée la commande de modification des marges est également significatif.

Pour des changements portant sur tout le document LaTeX, il existe les commandes \evensidemargin et \oddsidemargin. Elles influent sur les marges de gauche respectivement des pages paires et des pages impaires. Par exemple,

\evensidemargin=1in
\oddsidemargin=1in
ajoutent un pouce à la marge de gauche des pages paires et impaires en supplément de la marge gauche standard d'un pouce. Ces commandes ont un effet sur l'intégralité du document, et décaleront l'ensemble du corps du texte vers la droite et vers la gauche à travers la page, quelle que soit l'indentation locale ; leur utilisation est donc sans danger avec des environnements tels que verse et list.

Ci-dessous figure un ensemble de macros de mon cru pour les changements de marges. Leur effet est différent des commandes mentionnées ci-dessus. Comme elles utilisent des commandes en TeX pur, il se peut qu'elles ne respectent pas les marges des environnements LaTeX qui peuvent être actifs, mais vous pouvez les placer n'importe où dans le document pour changer les marges à partir de ce point.

%%  margins.sty -- v. 0.1   by Robert Kiesling
%%  Des copies strictement conformes de ce code peuvent etre librement
%%  distribuees.
%%
%%  Quelques commandes elementaires de changement de marges en TeX
%%  pur. Les mesures sont en pouces :
%%  \leftmargin{1}   %% fixe la marge gauche du document a 1 pouce.
%%  \leftindent{1}   %% fixe l'indentation des paragraphes suivants a
%%                   %% 1 pouce.
%%  \rightindent{1}  %% fixe la marge de droite des paragraphes suivants
%%                   %% a 1 pouce.
%%  \llength{3}      %% fixe la longueur des lignes suivantes a 3 pouces.
%%
\message{Macros pour les marges...}
\def\lmargin#1{\hoffset = #1 in}
\def\lindent#1{\leftskip = #1 in}
\def\rindent#1{\rightskip = #1 in}
\def\llength#1{\hsize = #1 in}
%%
%% (Fin des macros pour les marges.}
Mettez ce code dans un fichier nommé margins.sty dans le répertoire local figurant dans votre $TEXINPUTS. L'explication des commandes se trouve dans la section commentée du fichier. Pour les inclure dans un document, utilisez la commande
\usepackage{margins}
dans le préambule du document.

Pendant que nous y sommes, si ne voulez pas que le texte soit justifié à droite, vous pouvez dire à LaTeX de laisser les marges de droite en dents de scie grâce à la commande :

\raggedright

Le positionnement de l'interligne comporte également quelques complications.

La mesure baselineskip est la distance entre les lignes de texte. Il s'agit d'une mesure absolue, par exemple,

\baselineskip=24pt
ou encore mieux :
\setlength{\baselineskip}{24pt}
La différence entre les deux formes est que setlength respectera toutes les règles de portée qui sont actives au moment où vous utilisez la commande.

Le problème avec l'utilisation de baselineskip est qu'il joue également un rôle dans la distance entre les titres de sections, les notes de bas de page et consorts. C'est à vous de veiller à ce que baselineskip soit correct pour l'élément que vous êtes en train de composer, quel qu'il soit. Toutefois, il existe des extensions composées de macros LaTeX comme setspace.sty, qui vous viendront en aide dans ces circonstances. Reportez-vous à la section Extensions pour LaTeX et autres ressources.

4.4 Classes de documents

LaTeX fournit des classes de documents qui décrivent des formats standardisés pour ces documents. Elles donnent accès à des environnements de composition de listes, de citations, de notes de bas de page et autres éléments textuels. Les classes de documents d'usage courant sont abordées dans les sections qui suivent.

Articles et rapports

Comme mentionné ci-dessus, les classes article et report (utilisée pour les rapports) sont similaires. Les principales différences sont que la classe report crée par défaut une page de titre et fait débuter chaque section sur une nouvelle page. Dans la plupart des cas, ces deux classes de documents sont toutefois similaires.

Pour créer des titres, des résumés et autres dans ces classes de documents, vous pouvez entrer, par exemple :

\title{La reproduction des cactacees}
\author{John Q. Public}
\abstract{Description de la maniere dont la cactacee commune du desert
recherche des points d'eau appopries pour pratiquer ses rituels de
reproduction.} 
dans le préambule du document. Puis, la commande
\maketitle
placé en début de texte, générera soit une page de titre dans la classe report, soit le titre et le résumé en haut de la première page, dans la classe article.

La définition des sections peut se faire avec des commandes de la liste suivante :

\section
\subsection
\subsubsection
Ces commandes produiront des sections numérotées standardisées utilisées dans des documents techniques. Pour obtenir des sections non-numérotées, utilisez :
\section*
\subsection*
\subsubsection*
et ainsi de suite.

LaTeX fournit de multiples environnements pour composer le texte à imprimer. Les citations peuvent être incluses avec l'environnement quotation.

\begin{quotation}
Début du paragraphe de la citation...

... fin du paragraphe.
\end{quotation}
Pour des citations plus courtes, vous pouvez utiliser l'environnement quote.

Pour composer des vers, utilisez l'environnement verse.

\begin{verse}
Ne pouvant m'arreter pour la mort\\
Elle eut l'obligeance de s'arreter pour moi
\end{verse}
Remarquez que vous devez utiliser deux barres de fraction inversées pour couper les lignes à la bonne place. Sinon, LaTeX remplit les lignes dans un environnement verse, comme dans tout autre environnement.

Les listes peuvent adopter plusieurs formats. Pour composer une liste avec des tirets, c'est l'environnement list qui est utilisé :

\begin{list}
\item
Ceci est le premier element de la liste.
\item 
Ceci est le deuxieme element de la liste...
\item
... et ainsi de suite.
\end{list}

Une liste numérotée utilise l'environnement enumerate :

\begin{enumerate}
\item 
Element No. 1.
\item
Element No. 2.
\item
\dots
\end{enumerate}

Une liste descriptive utilise l'environnement description :

\begin{description}
\item{Four} Sale, a besoin d'un nouveau bruleur.
\item{Refrigerateur}  Sale.  Desole.
\item{Evier et egouttoir}  Robinet d'eau froide tache et qui goutte.
\end{description}

Lettres.

La classe letter utilise des définitions spécifiques pour la composition du courrier d'entreprise.

L'environnement letter prend un argument, l'adresse du destinataire de la lettre. La commande address, qui doit figurer dans le préambule du document définit l'adresse de retour. La commande signature définit le nom de l'expéditeur tel qu'il figurera après les salutations.

Le source LaTeX d'un courrier d'entreprise élémentaire pourrait ressembler à ceci :

\documentclass[12pt]{letter}
\signature{John Q. Public}
\address{123 Main St.\\Los Angeles, CA.  96005\\Tel : 123/456-7890}
\begin{document}
\begin{letter}{ACME Brick Co.\\100 Ash St.\\San Diego, CA 96403}
\opening{Cher(e)  Monsieur/Madame,}

Concernant l'une de vos briques que j'ai retrouvee sur le tapis de mon
salon entouree des debris de verre de la fenetre de ma facade... 

(Suite du corps de la lettre.)

\closing{Sincerement votre,}

\end{letter}
\end{document}
Notez que l'adresse inclut deux barres de fraction inversées, qui indiquent où doivent se produire les sauts de ligne.

5. Extensions pour LaTeX et autres ressources

Plus haut, nous avons mentionné que le souligné utilisé comme moyen de mettre du texte en évidence présente des problèmes particuliers. En fait, TeX n'a aucun problème pour souligner du texte, puisqu'il s'agit d'une convention pour la composition en mathématiques. En LaTeX, vous pouvez souligner des mots avec la commande :

\underline{texte a souligner}
Le problème est que le souligné ne suivra pas les sauts de ligne, et qu'il peut se révéler irrégulier dans certaines circonstances. Toutefois, il existe une extension de macros LaTeX, prêtes à l'emploi, qui font du souligné la méthode de mise en évidence par défaut. Elle s'appelle ulem.sty, et c'est l'une des nombreuses contributions à LaTeX qui sont disponibles gratuitement sur l'Internet.

Pour utiliser ulem.sty, incluez la commande :

\usepackage{ulem}
dans le préambule du document.

Parmi les extensions disponibles pour LaTeX, il y a :

ifthen

Permet d'inclure des expressions conditionnelles dans vos documents.

initials

Définit une police pour les lettrines.

sanskrit

Police et préprocesseur pour la production de documents en sanscrit.

recipe

Une classe LaTeX2e pour composer des recettes.

refman

Variante des styles rapport et article.

Pour obtenir l'URL pleinement qualifié à partir d'un chemin donné dans le catalogue, concaténez le chemin à l'URL donnant le nom de la machine et la racine de l'arborescence du site CTAN que vous désirez contacter. Par exemple, la racine de l'arborescence CTAN du site ftp.tex.ac.uk est ctan/tex-archive. L'URL complet du répertoire refman sera :

ftp://ftp.tex.ac.uk/ctan/tex-archive/   + 
macros/latex/contrib/supported/refman   =

ftp://ftp.tex.ac.uk/ctan/tex-archive/macros/latex/contrib/supported/refman/
Certaines extensions comportent plusieurs fichiers ; seul le chemin vers le répertoire contenant l'extension est alors donné.

Avec l'URL sous la main, vous pouvez télécharger l'extension à partir de l'un des sites d'archives CTAN recensés dans l'annexe Annexe A. Vous avez la possibilité de décharger la liste complète du contenu de l'archive qui se trouve dans le fichier FILES.byname, dans le répertoire racine de l'archive. Vous pouvez également faire une recherche par mot-clé en ligne à l'aide de la commande ftp

quote site index <mot-cle>

6. Combiner textes et éléments graphiques avecdvips

De manière générale, cette section s'applique à tout document TeX ou LaTeX qui combine du texte et des graphiques. teTeX, comme la plupart des autres distributions TeX, est configuré pour utiliser par défaut les polices Computer Modern. Lors de l'impression de documents contenant des polices vectorielles Type 1 ou des éléments graphiques, le rendu du texte et des graphiques est du ressort de dvips. dvips peut utiliser indifféremment des polices matricielles Computer Modern ou des polices vectorielles Type 1, ou n'importe quelle combinaison des deux. En premier lieu, intéressons-nous à l'impression et à la prévisualisation de quelques éléments graphiques.

Vous souhaiterez sans doute suivre cette procédure à chaque fois qu'un document source LaTeX possède la directive

\includepackage{graphics} 
dans son préambule. Cette directive indique à LaTeX d'inclure le texte de l'extension graphics.sty dans le document source. Il existe d'autres commandes pour effectuer des opérations graphiques, et les directives contenues dans des documents en TeX pur ne vous renseignent pas forcément sur l'obligation ou non d'utiliser dvips. Toutefois, la différence se verra dans la sortie, lorsque le document imprimé ne comportera pas toutes les figures ou autres éléments graphiques.

Donc, pour l'instant, nous nous focaliserons sur l'impression de documents utilisant l'extension LaTeX graphics.sty. Vous avez peut-être envie d'aller examiner le fichier TeX d'origine. Il ne se trouve pas dans la distribution, mais est disponible à :

~CTAN/macros/latex/packages/graphics/grfguide.tex.
Ce qui se trouve bien dans la distribution teTeX est le fichier de sortie .dvi, et il a déjà été « TeXé » pour vous. L'explication en est que l'impression correcte du document repose sur la nécessité d'y inclure des polices Type 1. Si vous désirez composer grfguide.tex avec LaTeX, reportez-vous à la section suivante. Pour le moment, nous tâcherons d'obtenir une sortie utilisable à l'aide de dvips.

Le fichier grfguide.dvi se trouve dans le répertoire

texmf/doc/latex/graphics
Le premier pas dans la production d'une sortie de grfguide.dvi est de le traduire en Postscript. Pour cela, on utilise le programme dvips. Il fait exactement ce qu'indique son nom. Il existe de nombreuses options au lancement de dvips, mais la forme la plus simple (ou presque) est
dvips -f -r <grfguide.dvi >grfguide.ps
L'option -f demande à dvips de se comporter comme un filtre, lisant à partir de l'entrée standard et écrivant sur la sortie standard. Il est possible de configurer dvips pour qu'il écrive par défaut sur lpr.

Si vous avez la possibilité d'imprimer directement du Postscript sur votre imprimante via lpr, il vous suffit de taper

dvips -r grfguide.dvi
L'option -r indique à dvips d'écrire les pages en ordre inverse pour qu'elles s'empilent correctement à leur sortie de l'imprimante. Libre à vous de l'utiliser, en fonction de votre périphérique de sortie.

En fonction de l'existence ou non des polices générées par dvilj2 pour le dernier document, dvips et metafont peuvent être amenés à créer de nouvelles polices pour les besoins du grfguide.dvi. Cependant, en fin de compte, dvips produira la liste des pages traduites en Postscript, et vous obtiendrez une sortie Postscript prête à être imprimée sur le périphérique dont vous disposez.

Si vous êtes chanceux (et riche), alors vous disposez déjà d'une imprimante capable de traiter du Postscript et êtes prêt à imprimer directement le fichier grfguide.ps. Vous pouvez envoyer la sortie vers la file d'impressions à l'aide de lpr. Si, pour une raison ou pour une autre, le programme d'impression ne fonctionne pas correctement, déchargez directement le fichier sur l'imprimante en un tour de main, avec

cat grfguide.ps >/dev/lp0
ou tout autre port auquel votre imprimante est attachée, bien que cela ne soit pas recommandé pour un usage courant.

Si vous devez invoquer Ghostscript à la main, voici la démarche standard à suivre pour cette opération. La première chose que vous voudrez faire est d'invoquer Ghostscript pour connaître ses options, comme ceci :

gs -help | less
Vous verrez la liste des périphériques de sortie supportés et une flopée d'autres commandes. Choisissez le périphérique de sortie qui correspond le mieux à votre imprimante. Pour ma part, je produis en général du texte en noir et blanc et utilise le pilote cdjmono, adapté à une imprimante couleur DeskJet en mode monochrome (noir et blanc).

La ligne de commande que j'utiliserais est :

gs -dNOPAUSE -sDEVICE=cdjmono -sOutputFile=/tmp/gs.out grfguide.ps -c quit
Cela produira une sortie compatible avec ma HP dans le répertoire /tmp. Il est de bon ton d'utiliser un répertoire du type /tmp car gs peut être quelque peu singulier à propos des droits d'accès, et vous ne pouvez (et ne devriez) pas compter sur le fait d'être connecté sous root pour effectuer ces étapes. À présent vous pouvez imprimer le fichier :
lpr /tmp/gs.out
De toute évidence, tout cela peut être casé dans un fichier de commandes (shell-script). Sur mon système, j'ai écrit deux scripts tout simples, pv et pr, qui se contentent de sortir le fichier Postscript soit sur l'écran, soit sur l'imprimante. La prévisualisation sur l'écran est possible sans X, mais c'est loin d'être l'idéal. Ainsi, cela vaut vraiment le coup, et l'effort, d'installer XFree86 pour voir la sortie sur l'écran.

L'ordre des commandes sur la ligne de commande de gs est important, car quelques unes des options indiquent à Ghostscript de chercher des bouts de code Postscript dans sa bibliothèque.

L'important dont il faut se souvenir est que grfguide.dvi émet des requêtes à la fois pour des polices matricielles Computer Modern et pour des polices vectorielles Type 1. Si vous arrivez à mélanger des polices vectorielles et matricielles dans un document, vous êtes en bonne voie pour devenir un TeXpert.

6.1 Et si mon imprimante n'est pas supportée ?

La distribution teTeX est accompagnée d'une sélection limitée de pilotes pour les sorties DVI : dvips, des pilotes pour les LaserJet de Hewlett-Packard et c'est tout. Deux possibilités s'offrent à vous si vous avez une imprimante incompatible avec la LaserJet : vous pouvez utiliser dvips et Ghostscript, ce que je recommande de toutes façons, ou vous pouvez vous lancer dans la recherche d'autres sources de dviware.

Un nombre restreint de pilotes DVI a été porté sous Linux et est disponible sous forme de binaires pré-compilés. Il se trouvent dans les archives Linux à archives ftp://sunsite.unc.edu/pub/Linux/apps/tex/dvi/.

Les bibliothèques principales de dviware sont maintenues dans les archives de l'université de l'Utah. Si vous ne pouvez y trouver le pilote DVI adapté à votre imprimante, il est probable qu'il n'existe pas. Vous pouvez également écrire votre propre pilote DVI à partir des modèles qui s'y trouvent. L'URL de la bibliothèque est ftp://ftp.math.utah.edu/pub/tex/dvi/.

7. Utilisation de polices Postscript

Il était d'usage que la qualité des polices Type 1 du domaine public soit nettement inférieure à celle des polices matricielles Computer Modern. Néanmoins, cette situation s'est améliorée au cours des dernières années. Mais la mise en correspondance des polices reste à votre charge. Disposer de plusieurs systèmes de polices différents sur une seule machine peut paraître redondant et un gâchis en espace disque. Et les polices Computer Modern peuvent paraître un peu trop formelles, disons, pour un usage courant. C'est un peu comme jeter des perles aux cochons. Au moins, vous n'êtes plus obligé de dépenser une fortune pour des polices de qualité professionnelle.

L'une des améliorations majeures de LaTeX2e par rapport à son prédécesseur est l'inclusion du New Font Selection Scheme (nouveau schéma de sélection des polices). (Qui s'appelle à présent PSNFSS.) Auparavant, les auteurs écrivant en TeX devaient spécifier les polices à l'aide de commandes comme

\font=bodyroman = cmr10 scaled \magstep 1

ce qui permet d'être précis mais nécessite les talents d'un typographe et d'un mathématicien pour être utilisé correctement. De plus, cela manque de portabilité. Si un autre système était dépourvu de la police cmr10 (ce qui est la nomenclature TeX pour Computer Modern Roman, 10 points, d'épaisseur de trait moyenne), quelqu'un devait recoder les spécification des polices pour tout le document. PSNFSS cependant, vous permet de spécifier les polices par famille (Computer Modern, URW Nimbus, Helvetica, Utopia et ainsi de suite), épaisseur (léger, moyen, gras), orientation (droit ou oblique), style (Roman ou Italique) et taille de base en points. (Cf. section Caractères et styles typographiques pour une description des commandes de spécification des styles typographiques.) De nombreuses polices sont groupées en familles. Par exemple, une police du type Roman peut être groupée avec une police sans-sérif, comme Helvetica, et une police à espacement fixe, comme Courier. Vous, en tant qu'auteur du document LaTeX, pouvez spécifier une famille entière de polices avec une seule commande.

Comme je l'ai déjà mentionné, il existe des ensembles de polices de très bonne qualité dans le domaine public. L'un d'entre eux est Adobe Utopia. Un autre est Bitstream Charter. Ce sont tous les deux des ensembles de qualité professionnelle qui ont été versés dans le domaine public.

Il se trouve que ceux-là sont mes préférés. Si vous examinez les sites CTAN, vous y trouverez les archives qui les contiennent ainsi que d'autres. Il y a suffisamment de polices en circulation pour vous permettre de concevoir des documents qui correspondent à vos attentes, et pas seulement pour du texte en français. À l'origine, TeX a été conçu pour la mise en page de mathématiques, ainsi, il existe toute une panoplie de polices mathématiques, tout comme les alphabets cyrilliques et grecs, le kana et d'autres alphabets, trop nombreux pour être mentionnés ici.

L'important est de rechercher les fichiers portant les extensions .pfa ou .pfb. Elles indiquent qu'il s'agit des polices vectorielles en tant que telles, et non pas simplement des fichiers des métriques. Les polices Type 1 utilisent des fichiers de métriques .pfm, par opposition au fichiers .tfm des polices matricielles. Les deux ensembles de polices que j'ai mentionnés plus haut sont compris dans les distributions teTeX, mais également de manière séparée.

Ce que j'ai dit ci-dessus, au sujet de la facilité apportée par PSNFSS pour la sélection des polices, se révèle approprié dans le cas de figure suivant : si nous voulons utiliser les polices Charter dans notre document au lieu des polices matricielles Computer Modern, tout ce qu'il y a à faire est d'inclure la directive LaTeX

\renewcommand{\familydefault}{bch}
dans le préambule du document, où « bch » est la désignation courante pour Bitstream Charter. Les polices Charter se trouvent dans le répertoire
/usr/lib/teTeX/texmf/fonts/type1/bitstrea/charter

Vous y verrez les fichiers .pfb des polices Charter : bchb8a.pfb pour Charter Bold, bchr8a.pfb pour Charter Roman, bchbi8a.pfb pour Charter Bold Italic. Le « 8a » dans les noms des polices indique l'encodage des caractères. Arrivé à ce point, vous n'avez pas à vous préoccuper à leur sujet

NdT. : cela vaut plus pour les anglophones que pour les francophones.
, car les encodages diffèrent principalement pour les caractères 8-bits, dont les valeurs numériques dépassent 128 en décimal. Ils définissent pour la plupart des accents et des caractères non-anglais. Les encodages des Type 1 marchent en général bien pour les alphabets occidentaux car ils répondent au standard ISO 8859 concernant les jeux de caractères internationaux, ce qui constitue un argument de plus pour leur utilisation.

Pour composer un document où sont sélectionnées des polices Charter, vous lanceriez la commande

pslatex document.tex
pslatex est une variante de la commande latex standard de teTeX qui définit les répertoires où se trouvent les polices Type 1, ainsi que des suppléments de code LaTeX à utiliser. Vous verrez l'écran d'avertissement de pslatex suivi de la sortie relative au processus TeX lui-même. En un instant, vous aurez un fichier .dvi incluant des requêtes pour des polices Charter. Il vous est possible d'imprimer le fichier avec dvips, et gs si nécessaire.

L'installation d'une famille de polices Type 1 n'est pas difficile, tant que vous suivez quelques étapes élémentaires. Vous devriez déballer les polices dans une répertoire situé sous /usr/lib/teTeX/texmf/fonts/type1, là où se trouvent les autres polices de Type 1, et lancer texhash pour faire savoir aux routines de recherche dans les répertoires que de nouvelles polices ont été ajoutées. Ensuite, vous devez ajouter les descriptions des polices au fichier psfonts.map pour informer dvips de leur existence. Le format du fichier psfonts.map est documenté à plusieurs endroits dans les références mentionnées ci-dessus. Encore une fois, n'oubliez pas de lancer texhash pour mettre à jour la base de répertoires de teTeX.

L'utilisation d'un système X Window-- XFree86 sous Linux -- avec teTeX constitue vraiment un avantage car il permet une prévisualisation des documents de qualité supérieure. Il n'est pas exigé, mais en règle générale, tout ce qui facilite la prévisualisation à l'écran apportera un plus à votre travail en termes de qualité des sorties. Cela se paye néanmoins en vitesse de frappe, bien plus rapide sur des écrans en mode texte.

8. Annexe A : liste des sites CTAN

Voici le texte du fichier CTAN.sites, qui est disponible dans le répertoire racine de toute archive et de tout miroir CTAN

NdT. : en plus de la liste des sites miroir, ce texte recommande d'utiliser le site le plus proche de chez vous pour ne pas pénaliser le réseau. Il évoque également la possibilité d'obtenir une copie du site CTAN sur CD-ROM (cf. le fichier help/CTAN.cdrom).
In order to reduce network load, it is recommended that you use the
Comprehensive TeX Archive Network (CTAN) host which is located in the
closest network proximity to your site.  Alternatively, you may wish to
obtain a copy of the CTAN via CD-ROM (see help/CTAN.cdrom for details).

Known mirrors of the CTAN reside on (alphabetically):
  cis.utovrm.it (Italia)                /TeX
  ctan.unsw.edu.au (NSW, Australia)     /tex-archive
  dongpo.math.ncu.edu.tw (Taiwan)       /tex-archive
  ftp.belnet.be (Belgium)               /packages/TeX
  ftp.ccu.edu.tw (Taiwan)               /pub/tex
  ftp.cdrom.com (West coast, USA)       /pub/tex/ctan
  ftp.comp.hkbu.edu.hk (Hong Kong)      /pub/TeX/CTAN
  ftp.cs.rmit.edu.au  (Australia)       /tex-archive
  ftp.cs.ruu.nl (The Netherlands)       /pub/tex-archive
  ftp.cstug.cz (The Czech Republic)     /pub/tex/CTAN
  ftp.duke.edu (North Carolina, USA)    /tex-archive
  ftp.funet.fi (Finland)                /pub/TeX/CTAN
  ftp.gwdg.de (Deutschland)             /pub/dante
  ftp.jussieu.fr (France)               /pub4/TeX/CTAN
  ftp.kreonet.re.kr (Korea)             /pub/CTAN
  ftp.loria.fr (France)                 /pub/unix/tex/ctan
  ftp.mpi-sb.mpg.de (Deutschland)       /pub/tex/mirror/ftp.dante.de
  ftp.nada.kth.se (Sweden)              /pub/tex/ctan-mirror
  ftp.oleane.net (France)               /pub/mirrors/CTAN/
  ftp.rediris.es (Espa\~na)             /mirror/tex-archive
  ftp.rge.com (New York, USA)           /pub/tex
  ftp.riken.go.jp (Japan)               /pub/tex-archive
  ftp.tu-chemnitz.de (Deutschland)      /pub/tex
  ftp.u-aizu.ac.jp (Japan)              /pub/tex/CTAN
  ftp.uni-augsburg.de (Deutschland)     /tex-archive
  ftp.uni-bielefeld.de (Deutschland)    /pub/tex
  ftp.unina.it (Italia)                 /pub/TeX
  ftp.uni-stuttgart.de (Deutschland)    /tex-archive (/pub/tex)
  ftp.univie.ac.at (\"Osterreich)       /packages/tex
  ftp.ut.ee (Estonia)                   /tex-archive
  ftpserver.nus.sg (Singapore)          /pub/zi/TeX
  src.doc.ic.ac.uk (England)            /packages/tex/uk-tex
  sunsite.auc.dk (Denmark)              /pub/tex/ctan
  sunsite.cnlab-switch.ch (Switzerland) /mirror/tex
  sunsite.icm.edu.pl (Poland)           /pub/CTAN
  sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX
  wuarchive.wustl.edu (Missouri, USA)   /packages/TeX

Known partial mirrors of the CTAN reside on (alphabetically):
  ftp.adfa.oz.au (Australia)            /pub/tex/ctan
  ftp.fcu.edu.tw (Taiwan)               /pub2/tex
  ftp.germany.eu.net (Deutschland)      /pub/packages/TeX
  ftp.gust.org.pl (Poland)              /pub/TeX
  ftp.jaist.ac.jp (Japan)               /pub/TeX/tex-archive
  ftp.uu.net (Virginia, USA)            /pub/text-processing/TeX
  nic.switch.ch (Switzerland)           /mirror/tex
  sunsite.dsi.unimi.it (Italia)         /pub/TeX
  sunsite.snu.ac.kr (Korea)             /shortcut/CTAN

Please send updates to this list to <[email protected]>.

The participating hosts in the Comprehensive TeX Archive Network are:
  ftp.dante.de  (Deutschland)         
       -- anonymous ftp                 /tex-archive (/pub/tex /pub/archive)
       -- gopher on node gopher.dante.de
       -- e-mail via [email protected]
       -- World Wide Web access on www.dante.de
       -- Administrator: <[email protected]>

  ftp.tex.ac.uk (England)               
       -- anonymous ftp                 /tex-archive (/pub/tex /pub/archive)
       -- gopher on node gopher.tex.ac.uk
       -- NFS mountable from nfs.tex.ac.uk:/public/ctan/tex-archive
       -- World Wide Web access on www.tex.ac.uk
       -- Administrator: <[email protected]>

9. Annexe B : installation de la distribution CTAN de teTeX

La distribution générique de teTeX n'est pas plus difficile à installer que les paquetages Linux. Cf. la section Distribution générique CTAN, ci-dessous.

Vous devriez envisager d'installer la distribution générique de teTeX à partir des archives CTAN si :

Une installation complète de la distribution binaire nécessite de 40 à 50 Mo d'espace disque, et la construction de la distribution à partir du code source requiert environ 75 Mo, il faut donc vous assurer de disposer de cet espace disque avant de commencer. Il n'est pas nécessaire d'avoir installé le compilateur GCC ou le système X Window (bien que X soit d'une aide précieuse puisqu'il permet la prévisualisation des documents à l'écran). Tout ce qu'il vous faut est un éditeur capable de produire du texte en ASCII pur (cf. section 2). Peut-on faire plus simple ?

Vous pouvez télécharger les fichiers à partir de l'un des sites CTAN recensés dans la section Annexe A. Dans les exemples ci-dessous, les fichiers sont originaires de l'archive CTAN située à ftp.tex.ac.uk.

9.1 Installation de la distribution binaire

Installation minimale

En premier lieu, faites un FTP sur ftp.tex.ac.uk et un cd vers le répertoire

ctan/tex-archive/systems/unix/teTeX/distrib/
Récupérez les fichiers
INSTALL.bin
install.sh
et placez-les dans le répertoire-racine de l'endroit ou vous voulez installer teTeX, par exemple /var/teTeX si vous souhaitez installer teTeX dans le répertoire /var.

Imprimez le fichier INSTALL.bin. Gardez-le sous la main car il décrit comment installer une version minimale de teTeX. L'installation minimale ne demande que 10 à 15 Mo mais, si possible, il est recommandé d'installer l'ensemble du paquetage teTeX. Pour une installation minimale, vous aurez besoin des fichiers

ctan/tex-archive/systems/unix/teTeX/distrib/base/latex-base.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/base/tetex-base.tar.gz
Vous aurez également besoin de l'une des deux archives contenant les programmes exécutables de teTeX. Récupérez le fichier
ctan/tex-archive/systems/unix/teTeX/distrib/binaries/i386-linux.tar.gz
si votre système utilise les bibliothèques partagées au format Linux ELF, ld.so dans une version au moins égale à 1.73, et clibs dans une version au moins égale à 5.09. Si ce n'est pas le cas, récupérez l'archive
ctan/tex-archive/systems/unix/teTeX/distrib/binaries/i386-linuxaout.tar.gz
compilé pour des systèmes utilisant les bibliothèques statiques au format a.out, plus anciennes.

Puis, suivant en cela les instructions du fichier INSTALL.bin, exécutez la commande

sh ./install.sh
à partir du répertoire-racine de l'installation teTeX. (Assurez vous que les archives teTeX s'y trouvent également). Après quelques instants, le programme d'installation vous avertira s'il manque certains paquetages teTeX. Si toutefois vous prévoyez une installation minimale de teTeX, vous pouvez ignorer ces avertissements et passer à la suite. Pour configurer le système teTeX élémentaire, reportez-vous à la section Configuration d'un système élémentaire, ci-dessous.

Pour installer les paquetages restants, voyez la section suivante.

Installation complète

Pour effectuer une installation complète de teTeX, récupérez les fichiers d'archives recensés dans la section précédente, puis les fichiers suivants :

ctan/tex-archive/systems/unix/teTeX/distrib/doc/ams-doc.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/doc/bibtex-doc.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/doc/eplain-doc.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/doc/fonts-doc.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/doc/general-doc.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/doc/generic-doc.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/doc/latex-doc.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/doc/makeindex-doc.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/doc/metapost-doc.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/doc/programs-doc.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/fonts/ams-fonts.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/fonts/dc-fonts.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/fonts/ec-fonts.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/fonts/misc-fonts.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/fonts/postscript-fonts.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/fonts/sauter-fonts.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/goodies/amstex.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/goodies/bibtex.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/goodies/eplain.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/goodies/latex-extra.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/goodies/metapost.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/goodies/pictex.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/goodies/pstricks.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/goodies/texdraw.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/goodies/xypic.tar.gz
Tous ces fichiers devraient être placés dans le répertoire-racine de l'arborescence où teTeX doit résider. Comme pour l'installation minimale, exécutez la commande
sh ./install.sh

9.2 Configuration d'un système élémentaire

Le script install.sh, après avoir déterminé l'ensemble des archives teTeX disponibles, vous offrira un menu d'options. Le seul paramètre que vous avez à définir à ce moment-là est le répertoire-racine de l'endroit où vous voulez installer teTeX, en sélectionnant l'option « D ». Bien sûr, vous devez sélectionner un répertoire pour lequel vous avez les droits d'écriture dans le répertoire père. Par exemple, si vous installez teTeX dans votre home directory, vous spécifierez le répertoire d'installation de teTeX comme

/home/john.q.public/teTeX
et, après être retourné au menu principal, sélectionnerez « I » pour poursuivre l'installation. Notez que ce répertoire ne doit pas exister : le script install.sh doit pouvoir le créer.

Une option que vous pourriez envisager de modifier est la définition d'un répertoire pour la génération des polices. Même si vous prévoyez de n'utiliser que des polices vectorielles Postscript Type 1, il vous arrivera à l'occasion de travailler sur un fichier basé sur des polices Computer Modern. L'activation de cette option vous demande d'entrer le nom du répertoire à utiliser. Vous devez disposer des droits d'écriture dans son répertoire-père. En se basant sur l'exemple précédent, vous pourriez spécifier

/home/john.q.public/texfonts
ou bien, si vous souhaitez rendre les polices générées accessibles à tous les utilisateurs du système, spécifiez un répertoire comme
/var/texfonts
Je vous recommanderai cependant de ne pas utiliser le répertoire par défaut pour cette option, /var/tmp/texfonts, car les polices générées pourraient être effacées au prochain redémarrage, et elles devraient être régénérées lorsqu'elles seraient à nouveau nécessaires.

Après que vous aurez sélectionné l'option « I » et que install.sh aura installé les archives, positionné les droits d'accès divers et généré les liens et les fichiers de format, le programme se terminera avec un message vous indiquant de rajouter le répertoire des binaires teTeX à votre variable d'environnement $PATH, et les répertoires où se trouvent les pages man et info à vos variables d'environnement $MANPATH et $INFOPATH. Par exemple, ajoutez les directives

export PATH=$PATH:"/home/john.q.public/teTeX/bin"
export MANPATH=$MANPATH":/home/john.q.public/teTeX/man"
export INFOPATH$=INFOPATH":/home/john.q.public/teTeX/info"
à votre ~/.bash_profile si vous utilisez bash comme interpréteur de commandes, ou à votre ~/.profile si vous en utilisez un autre pour vos connexions.

Déconnectez-vous, puis reconnectez-vous pour que les variables d'environnement puissent être prises en compte. Puis, lancez la commande

texconfig confall
pour vous assurer que l'installation est correcte.

Ensuite, vous pouvez configurer teTeX pour votre matériel spécifique : reportez-vous à la section Détails de configuration après l'installation, ci-dessous.

9.3 Installation de la distribution source CTAN

Pour installer teTeX V. 0.4 à partir du code source, faites un ftp sur un site CTAN comme ftp://ftp.tex.ac.uk et récupérez les fichiers

ctan/tex-archive/systems/unix/teTeX/distrib/INSTALL.src
ctan/tex-archive/systems/unix/teTeX/distrib/sources/README.texmf-src
ctan/tex-archive/systems/unix/teTeX/distrib/sources/teTeX-lib-0.4pl8.tar.gz
ctan/tex-archive/systems/unix/teTeX/distrib/sources/teTeX-src-0.4pl7.tar.gz

Parcourez les instructions dans INSTALL.src, puis faites su pour devenir root et déballez les fichiers dans un répertoire pour lequel vous avez les droits de lecture-écriture-exécution.

Souvenez-vous d'utiliser l'argument p pour faire le tar, et de désactiver l'option noclobber du bash. Cela est possible grâce à la commande suivante, à l'encontre du bon sens,

set +o noclobber
Remarquez que l'argument +o de la commande set désactive une variable, à l'inverse de ce que l'on pourrait croire.

Le fichier teTeX-lib-0.4pl8.tar.gz va créer le répertoire ./teTeX. Le fichier teTeX-src-0.4pl7.tar.gz va créer le répertoire teTeX-src-0.4. Imprimez le fichier INSTALL.src et gardez-le à proximité pour les étapes suivantes. Faites un cd vers le répertoire ./teTeX-src-0.4, et, comme indiqué dans les instructions du fichier INSTALL.src, éditez le fichier ./Makefile. Vous devrez positionner la variable TETEXDIR avec le chemin absolu vers le répertoire père du répertoire teTeX. Il s'agit donc du sous-répertoire teTeX du répertoire où vous avez déballé les archives des sources et des bibliothèques. Par exemple, si vous avez déballé les archives dans votre home directory, vous positionnerez TETEXDIR à

/home/john.q.public/teTeX
Les autres options du Makefile sont assez génériques. Avec GCC version 2.7.2 ou plus, vous ne devriez pas être obligé de faire plus d'ajustements à moins d'avoir une configuration non standard pour le compilateur et les bibliothèques, ou de souhaiter le que compilateur fasse plus d'optimisations ou pour toute autre raison. Vérifiez que les variables USE_DIALOG, USE_NCURSES, et HAVE_NCURSES sont correctement positionnées pour votre système, car le programme dialog a besoin de la bibliothèque ncurses pour être installé. Une bibliothèque ncurses est comprise dans la distribution source, par conséquent, les valeurs par défaut du Makefile devraient fonctionner correctement. Si vous n'arrivez pas à compiler ou à faire l'édition de liens de ncurses, le programme texconfig peut également être lancé à partir de la ligne de commande.

Si vous avez tout bon jusqu'ici, vous devriez pouvoir taper make world dans la racine de l'arborescence des sources et vous détendre jusqu'à ce que les exécutables teTeX soient construits. Cela peut prendre quelques heures.

Après que la compilation a pris fin, positionnez les variables d'environnement $PATH, $MANPATH, et $INFOPATH pour y inclure les répertoires de teTeX. Les directives à ajouter au fichier ~/.bash_profile, dans l'exemple ci-dessus, seraient

export PATH=$PATH":/home/john.q.public/teTeX/bin/i386-linux"
export MANPATH=$MANPATH":/home/john.q.public/teTeX/man"
export INFOPATH=$INFOPATH":/home/john.q.public/teTeX/info"
La variable $PATH diffère entre les distributions source et binaire. Remarquez que le chemin vers les binaires est teTeX/bin/i386-linux au lieu de simplement teTeX/bin comme dans la distribution binaire.

À ce stade, vous pouvez lancer texconfig confall pour vous assurer que les chemins ont été positionnés correctement, et poursuivre la configuration de teTeX comme pour la distribution binaire. Cf. section Détails de configuration après l'installation, ci-dessous.

9.4 Détails de configuration après l'installation

La première chose que vous voudrez faire est de regarder le fichier README de Thomas Esser. Il contient un tas d'indices sur la manière de configurer teTeX pour votre périphérique de sortie (imprimante par exemple). Le fichier README se trouve dans le répertoire

/usr/lib/teTeX/texmf/doc/tetex
Parcourez le fichier à l'aide de la commande (le chemin dans les exemples qui suivent est celui de la distribution Slackware) :
less /usr/lib/teTeX/texmf/doc/tetex/README
ou imprimez-le avec la commande
cat /usr/lib/teTeX/texmf/doc/tetex/README >/dev/lp0
en supposant que votre imprimante est connectée à /dev/lp0. Remplacez-le par le fichier correspondant au pilote auquel votre imprimante est attachée le cas échéant.

Ou, encore mieux, imprimez-le avec la commande lpr :

lpr /usr/lib/teTeX/texmf/doc/tetex/README
Vous devriez avoir installé le démon d'impression qui est inclus dans votre distribution Linux. Si ce n'est pas le cas, faites-le maintenant, en suivant les instructions qui accompagnent ce paquetage.

Imprimez la teTeX-FAQ. Gardez la FAQ sous la main car elle contient des indications utiles pour la configuration des pilotes de sortie pour teTeX adaptée à votre imprimante. Nous y viendrons dans un moment. Dans des versions plus récentes de teTeX, la teTeX-FAQ peut être visualisée à l'aide de l'utilitaire texconfig.

Ensuite, vous souhaiterez définir un répertoire où stocker vos propres fichiers de formats TeX. teTeX parcourt les répertoires figurant dans la variable d'environnement $TEXINPUTS pour des fichiers d'entrée pour TeX disponibles en local.

Ajoutez

export TEXINPUTS=".:~/texinputs:"
au fichier système /etc/profile. Chaque utilisateur peut positionner son propre répertoire $TEXINPUTS local, en ajoutant la ligne dans son ~/.profile ou ~/.bash_profile si bash est l'interpréteur de commandes par défaut. La variable d'environnement $TEXINPUTS indique à teTeX de chercher les fichiers de style TeX des utilisateurs dans les répertoires ~/texinputs sous les home directory de chacun des utilisateurs. Il est indispensable de mettre un deux-points avant et après ce répertoire. teTeX va ajouter ses propres répertoires de recherche aux vôtres. Vous voudrez que teTeX recherche en premier lieu les fichiers de format locaux, pour qu'il utilise les versions locales des fichiers standardisés que vous avez édités.

Ajoutez le répertoire /usr/lib/teTeX/bin aux chemins définis pour le système si vous installez teTeX en tant que root. Encore une fois, si vous installez un exemplaire personnel de teTeX, ajoutez le répertoire où se situent les binaires teTeX en tête de votre $PATH en insérant la ligne suivante dans votre ~/.profile ou votre ~/.bash_profile :

export PATH="~/tetex/bin:"$PATH
À présent, connectez-vous sous root et lancez texconfig comme il est dit dans la teTeX-FAQ et choisissez l'imprimante attachée à votre système. Assurez-vous de configurer teTeX aussi bien pour la bonne imprimante que pour la bonne résolution d'impression.

Enfin, lancez le programme texhash. Cela garantit que la base de données interne de teTeX est bien à jour. Cette base de données n'est autre que le fichier ls-lR. Vous devez lancer texhash à chaque fois que vous modifiez la configuration du système, sans quoi teTeX sera incapable de prendre en compte vos changements.

10. Annexe C : distribution et droits d'auteur

10.1 Distribution

teTeX est un logiciel libre ce qui signifie que tout un chacun est libre de l'utiliser et de le redistribuer sous certaines conditions. Le paquetage n'est pas dans le domaine public. Il est soumis à copyright et il existe des restrictions concernant sa distribution, mais ces restrictions sont conçues pour permettre tout ce qu'un bon citoyen coopératif aurait envie de faire. Ce qui n'est pas autorisé, c'est d'essayer d'empêcher les autres de partager plus en avant toute version d'un logiciel libre qu'ils pourraient recevoir de vous. Les conditions précises figurent dans la GNU General Public License qui accompagne de nombreux paquetages logiciels et apparaît également dans la section suivante.

Un moyen d'obtenir un exemplaire du paquetage est de le récupérer auprès de quelqu'un qui le possède. Vous n'avez pas besoin de nous demander la permission pour ce faire, ni d'en informer qui que ce soit ; vous pouvez le copier tout simplement. Si vous disposez d'un accès à l'Internet, vous pouvez rapatrier la distribution la plus récente par FTP. Lisez le chapitre Sources pour plus d'information.

Vous pouvez également recevoir le logiciel lors de l'achat d'un ordinateur. Les fabricants d'ordinateurs sont libres de distribuer des exemplaires aux mêmes conditions que n'importe qui d'autre. Ces conditions exigent d'eux qu'ils vous donnent les sources complets, y compris toutes les modifications qu'ils peuvent y avoir faites, et qu'ils vous permettent de redistribuer les paquetages obtenus auprès d'eux sous les conditions habituelles de la GNU General Public License. En d'autres termes, le programme doit être gratuit pour vous lorsque vous en prenez possession, et pas seulement gratuit pour le fabricant.

Vous pouvez également commander des exemplaires des logiciels GNU sur CD-ROM à la Free Software Foundation. C'est un moyen pratique et sûr de se procurer une copie ; c'est également une bonne méthode pour soutenir nos travaux. (La plupart des fonds de la fondation ont toujours été fournis par ce biais.) Un bon de commande est inclus dans de nombreuses distributions, et sur notre site Web à http://www.gnu.ai.mit.edu/order/order.html. Pour plus d'information, écrivez à l'adresse

Free Software Foundation
59 Temple Place, Suite 330
Boston, MA  02111-1307 USA
USA

Les revenus générés par la commercialisation des distributions vont au soutien des buts que s'est assignés la fondation : le développement de nouveaux logiciels libres, et l'amélioration des programmes existants.

Si vous utilisez des logiciels GNU à votre lieu de travail, vous pourriez suggérer à votre entreprise de faire un don. Si votre entreprise n'est pas favorable aux dons aux oeuvres de charité, vous pourriez alors suggérer de commander à l'occasion un CD-ROM à la fondation, ou de s'abonner aux mises à jour périodiques.

10.2 GNU GENERAL PUBLIC LICENSE

Version 2, juin 1991

NdT. : la version française reproduite ici est le fruit du travail de l'association APRIL http://www.april.org.

Copyright (C) 1989, 1991, Free Software Foundation Inc. 675 Mass Ave, Cambridge, MA02139, Etats-Unis.

Il est permis à tout le monde de reproduire et distribuer des copies conformes de ce document de licence, mais aucune modification ne doit y être apportée.

Préambule

Les licences relatives à la plupart des logiciels sont destinées à supprimer votre liberté de les partager et de les modifier. Par contraste, la licence publique générale GNU General Public License veut garantir votre liberté de partager et de modifier les logiciels libres, pour qu'ils soient vraiment libres pour tous leurs utilisateurs. La présente licence publique générale s'applique à la plupart des logiciels de la Free Software Foundation, ainsi qu'à tout autre programme dont les auteurs s'engagent à l'utiliser. (Certains autres logiciels sont couverts par la Licence Publique Générale pour Bibliothèques GNU à la place). Vous pouvez aussi l'appliquer à vos programmes.

Quand nous parlons de logiciels libres, nous parlons de liberté, non de gratuité. Nos licences publiques générales veulent vous garantir :

* que vous avez toute liberté de distribuer des copies des logiciels libres (et de facturer ce service, si vous le souhaitez) ;

* que vous recevez les codes sources ou pouvez les obtenir si vous le souhaitez ;

* que vous pouvez modifier les logiciels ou en utiliser des éléments dans de nouveaux programmes libres ;

* et que vous savez que vous pouvez le faire.

Pour protéger vos droits, nous devons apporter des restrictions, qui vont interdire à qui que ce soit de vous dénier ces droits, ou de vous demander d'y renoncer. Ces restrictions se traduisent par certaines responsabilités pour ce qui vous concerne, si vous distribuez des copies de logiciels, ou si vous les modifiez.

Par exemple, si vous distribuez des copies d'un tel programme, gratuitement ou contre une rémunération, vous devez transférer aux destinataires tous les droits dont vous disposez. Vous devez vous garantir qu'eux-mêmes, par ailleurs, reçoivent ou peuvent recevoir le code source. Et vous devez leur montrer les présentes dispositions, de façon qu'ils connaissent leurs droits.

Nous protégeons vos droits en deux étapes :

1. Nous assurons le droit d'auteur (copyright) du logiciel, et

2. Nous vous proposons cette licence, qui vous donne l'autorisation légale de dupliquer, distribuer et/ou modifier le logiciel.

De même, pour la protection de chacun des auteurs, et pour notre propre protection, nous souhaitons nous assurer que tout le monde comprenne qu'il n'y a aucune garantie portant sur ce logiciel libre. Si le logiciel est modifié par quelqu'un d'autre puis transmis à des tiers, nous souhaitons que les destinataires sachent que ce qu'ils possèdent n'est pas l'original, de façon que tous problèmes introduits par d'autres ne se traduisent pas par une répercussion négative sur la réputation de l'auteur original.

Enfin, tout programme libre est en permanence menacé par des brevets de logiciels. Nous souhaitons éviter le danger que des sous-distributeurs d'un programme libre obtiennent à titre individuel des licences de brevets, avec comme conséquence qu'ils aient un droit de propriété sur le programme. Pour éviter cette situation, nous avons fait tout ce qui est nécessaire pour que tous brevets doivent faire l'objet d'une concession de licence qui en permette l'utilisation libre par chacun, ou bien qu'il ne soit pas concédé du tout.

Nous présentons ci-dessous les clauses et dispositions concernant la duplication, la distribution et la modification.

Conditions d'exploitation portant sur la duplication, la distribution et la modification

FIN DES CONDITIONS D'EXPLOITATION

10.3 Comment appliquer ces dispositions à vos nouveaux programmes

Si le concessionnaire développe un nouveau programme, et s'il en souhaite l'utilisation la plus large possible dans le public, le meilleur moyen d'y arriver est d'en faire un logiciel libre, que tout le monde pourra redistribuer et modifier au titre des présentes dispositions.

Dans ce but, il convient de rattacher au programme les avis suivants. Le moyen le plus sûr consiste à les rattacher au début de chaque fichier source, pour avertir le plus efficacement possible de l'exclusion de garantie ; et chaque fichier doit comporter au moins la ligne « copyright », et un pointeur indiquant où est localisée la totalité de l'avis.

Une ligne pour donner le nom du programme et une idée de ce qu'il
fait.

Copyright (C) 19yy nom de l'auteur

Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le
modifier conformément aux dispositions de la Licence Publique Générale GNU,
telle que publiée par la Free Software Foundation ; version 2 de la licence,
ou encore (à votre choix) toute version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE
GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou
D'ADAPTATION A UN OBJET PARTICULIER. Pour plus de détail, voir la Licence
Publique Générale GNU .

Vous devez avoir reçu un exemplaire de la Licence Publique Générale GNU en
même temps que ce programme ; si ce n'est pas le cas, écrivez à la Free
Software Foundation Inc., 675 Mass Ave, Cambridge, MA 02139, Etats-Unis.

Ajoutez aussi des informations sur le moyen permettant d'entrer en contact avec vous par courrier électronique (e-mail) et courrier normal.

Si le programme est interactif, prévoyez en sortie un court avis, tel que celui qui est présenté ci-dessous, lors du démarrage en mode interactif.

Gnomovision est livré absolument SANS AUCUNE GARANTIE ; pour plus de détails,
tapez "show w". Il s'agit d'un logiciel libre, et vous avez le droit de le
redistribuer dans certaines conditions ; pour plus de détail, tapez "show
c".

Les instructions hypothétiques show w et show c doivent présenter les parties appropriées de la Licence Publique Générale. Bien évidemment, les instructions que vous utilisez peuvent porter d'autres noms que show w et show c ; elles peuvent même correspondre à des clics de souris ou à des éléments d'un menu, selon ce qui convient à votre programme.

Si nécessaire, vous devrez aussi demander à votre employeur (si vous travaillez en tant que programmeur) ou à votre éventuelle école ou université, de signer une « renonciation à droit d'auteur » concernant le programme. En voici un échantillon (il suffit de modifier les noms) :

Yoyodyne, Inc., par la présente, renonce à tout intérêt de droits d'auteur
dans le programme "Gnomovision" (qui fait des passages au niveau des
compilateurs) écrit par James Hacker.

Signature de Ty Coon, 1er avril 1989

Ty Coon, President of Vice

La présente Licence Publique Générale n'autorise pas le concessionnaire à incorporer son programme dans des programmes propriétaires. Si votre programme est une bibliothèque de sous-programmes, vous pouvez considérer comme plus intéressant d'autoriser une édition de liens des applications propriétaires avec la bibliothèque. Si c'est ce que vous souhaitez, vous devrez utiliser non pas la présente licence, mais la Licence Publique Générale pour Bibliothèques GNU.