Vous êtes sur la page 1sur 29

Liste des pchs des utilisateurs de LATEX 2

ou
Commandes et extensions obsoltes, et autres erreurs

Marc Ensenbach, Mark Trettin


courriel : Marc.Ensenbach@post.rwth-aachen.de
Version 2.3 du 20 septembre 2011
Traduction franaise de Bernard Alfonsi
courriel : bernard.alfonsi@free.fr

Rsum
Ceci est la version franaise de l2tabu . La rdaction de ce bref aperu a t suscite
par une discussion dans le newsgroup TEX de langue allemande a , o revenaient de
faon rcurrente des extensions et des commandes obsoltes ou mauvaises .
Nous essayons dans cet article de montrer les erreurs les plus communes et de proposer
des solutions diffrentes. Cet article nentend pas remplacer des introductions comme
l2kurz [11] ni De-TeX-FAQ b , ni The UK TEX FAQ [3], mais offrir un simple aperu.
Nous serions reconnaissants de vos suggestions, amliorations et commentaires.
a. de.comp.text.tex
b. http://projekte.dante.de/DanteFAQ/WebHome

Copyright 20032007 by Mark Trettin, 20092011 by Marc Ensenbach.


This material may be distributed only subject to the terms and conditions set forth in
the Open Publication License, v1.0 or later (the latest version is presently available at
http://www.opencontent.org/openpub/).
Cette documentation peut tre distribue seulement aux termes et conditions de lOpen
Publication License, v1.0 ou postrieure (la version la plus rcente est actuellement
disponible ladresse : http://www.opencontent.org/openpub/).
Les noms de software et de hardware mentionns dans cet article sont pour la plupart,
des marques dposes, soumises, comme telles, aux dispositions lgales.

Nous remercions :
Ralf Angeli, Christoph Bier, Christian Faulhammer, Jrgen Fenn 1 , Ulrike Fischer,
Ralf Heckmann, Yvon Henel 2 , Yvonne Hoffmller, David Kastrup, Markus Kohm,
Thomas Lotze, Gonzalo Medina Arellano 3 , Frank Mittelbach, Heiko Oberdiek, Mauro
Sacchetto 4 , Walter Schmidt, Uwe Siart, Stefan Stoll, Knut Wenzig, Emanuele Zannarini 5
et Reinhard Zierke,
pour leurs conseils, remarques et corrections. Au cas o nous aurions oubli quelquun,
quil veuille bien nous envoyer un courriel.
Traduction franaise partir de la version 2.3, de sa traduction italienne et de la traduction
franaise de la version 1.7 faite par Le TEXnicien de surface.
1.
2.
3.
4.
5.

Traduction anglaise : CTAN:info/l2tabu/english/l2tabuen.pdf


Traduction franaise : CTAN:info/l2tabu/french/l2tabufr.pdf
Traduction espagnole : CTAN:info/l2tabu/spanish/l2tabues.pdf
Traduction italienne : CTAN:info/l2tabu/italian/l2tabuit.pdf
Traducteur de la premire version italienne, 2005

ij

Table des matires

Table des matires


1. Pchs mortels
1.1. a4.sty, a4wide.sty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Modifier la mise en page . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Changer les extensions et les classes . . . . . . . . . . . . . . . . . . .
1.4. Modification de linterligne avec \baselinestretch . . . . . . . . . .
1.5. Indentation et espace entre les paragraphes \parindent, \parskip
1.6. Mettre en vidence les formules mathmatiques avec $$ ... $$ . . .
1.7. \def & \newcommand . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8. Utilisation de \sloppy . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Commandes, classes et extensions obsoltes
2.1. Commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Modification du style de caractres . . . . . . . . . . . . . .
2.1.2. Fractions mathmatiques (\over & \frac) . . . . . . . . . .
2.1.3. Centrer du texte avec \centerline . . . . . . . . . . . . . .
2.2. Fichiers de classes et dextensions . . . . . . . . . . . . . . . . . . .
2.2.1. scrlettr.cls & scrlttr2.cls . . . . . . . . . . . . . . . . . . . . .
2.2.2. epsf.sty, psfig.sty, epsfig.sty & graphics.sty, graphicx.sty . .
2.2.3. doublespace.sty & setspace.sty . . . . . . . . . . . . . . . . .
2.2.4. fancyheadings.sty, scrpage.sty & fancyhdr.sty, scrpage2.sty
2.2.5. La famille dextensions caption.sty . . . . . . . . . . . . . . .
2.2.6. isolatin.sty, umlaut.sty & inputenc.sty . . . . . . . . . . . . .
2.2.7. t1enc.sty & fontenc.sty . . . . . . . . . . . . . . . . . . . . . .
2.2.8. natdin.bst & dinat.bst . . . . . . . . . . . . . . . . . . . . . .
2.2.9. glossary.sty & glossaries.sty . . . . . . . . . . . . . . . . . . .
2.2.10. SIstyle.sty, SIunits.sty & siunitx.sty . . . . . . . . . . . . . .
2.2.11. subfigure.sty, subfig.sty & subcaption.sty . . . . . . . . . . .
2.3. Caractres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1. times.sty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2. mathptm.sty . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3. pslatex.sty . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4. palatino.sty . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.5. mathpple.sty . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.6. utopia.sty . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.7. Obtenir des lettres grecques droites . . . . . . . . . . . . . .
2.3.8. euler.sty & eulervm.sty . . . . . . . . . . . . . . . . . . . . .
2.3.9. ae.sty, aecompl.sty et zefonts.sty . . . . . . . . . . . . . . . .

iij

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

1
1
1
1
2
2
3
4
4

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

6
6
6
7
7
8
8
8
9
9
9
10
11
12
12
12
12
13
13
14
14
14
15
15
15
16
16

Table des matires

3. Mlanges
3.1. Flottants figure , table . . . . . . . . .
3.2. Annexes . . . . . . . . . . . . . . . . . . . . .
3.3. Mathmatiques . . . . . . . . . . . . . . . . .
3.4. Lutilisation de \graphicspath . . . . . . . .
3.5. Macros spcifiques une langue : \...name

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

17
17
18
18
19
21

Annexe : exemple de \sloppy

23

Lutilisation de \graphicspath (version allemande)

23

iv

1. Pchs mortels

1. Pchs mortels
Dans cette section, nous avons recueilli les erreurs sans doute les plus graves qui
apparaissent trs rgulirement sur de.comp.text.tex, laissant les habitus devant
cette alternative : devenir rouges de colre ou fondre en larmes.

1.1. a4.sty, a4wide.sty


On ne devrait plus utiliser aucune de ces deux extensions. Vous devriez les liminer
sans les remplacer dans vos sources LATEX. Elles sont remplaces par loption de classe
a4paper pour les classes standard, ou par loption analogue paper=a4 pour KOMAScript compter de la version 3. La mise en page que produisent ces extensions est
plus que critiquable dun point de vue typographique. Pire, il y a plus dune version de
ces extensions dans la nature et toutes ces versions sont incompatibles entre elles. Elles
fournissent diffrentes dispositions pour lempagement. On ne peut mme pas tre sr
quun document, compil sur un autre systme, aura le mme mauvais aspect.

1.2. Modifier la mise en page


Les marges produites par les classes standard article.cls,report.cls, book.cls semblent
souvent trop grandes. Dans ce cas vous devriez utiliser les classes scrartcl.cls, scrreprt.cls, scrbook.cls du paquet KOMA-Script, ou bien lextension typearea.sty qui
est contenue dans KOMA-Script. La documentation incluse scrguide [4] dans le paquet
donne de nombreuses informations complmentaires.
Si lon doit vraiment utiliser un empagement diffrent de celui produit par lextension
typearea.sty, il faut alors plutt utiliser lextension geometry.sty. Il ne faut pas tenter
de modifier la mise en page coups de \oddsidemargin & Cie. Lextension anysize.sty
est obsolte, et lextension vmargin.sty, autrefois recommande, devrait tre vite, car
elle peut produire des effets secondaires indsirables 6 .
Il ne faudrait changer \hoffset ou \voffset sous aucun prtexte, moins que de
comprendre parfaitement le fonctionnement interne de TEX.

1.3. Changer les extensions et les classes


Il ne faut jamais changer directement les classes LATEX par exemple article.cls, scrbook.cls, &c. ou les extensions-fichiers de style, par exemple varioref.sty, color.sty ! Ou
bien on crit une classe-conteneur , ou son propre fichier .sty, ou bien on copie les
fichiers de classe ou de style, on modifie la copie et on la sauvegarde dans un fichier
diffrent avec un nom de fichier diffrent.
Pour un exemple dcriture dune classe-conteneur, voyez De-TeX-FAQ sur ladaptation
des classes de documents 7 , ou UK FAQ [3] ( Installing LATEX files , section J).
6. Cf aussi Message-ID: <uirrzdr16.fsf@uwe-siart.de>
7. http://projekte.dante.de/DanteFAQ/Dokumentenklasse

1. Pchs mortels

Indication. En gnral, de telles classes et extensions supplmentaires devraient


tre installes dans larborescence TEX locale ou bien dans larborescence personnelle
(prsente dans le rpertoire $HOME des systmes Unix), afin que les changements ne
soient pas crass lors dune mise jour de votre distribution TEX. Si ces modifications
sont utilises pour un projet spcifique, que vous avez lintention de transmettre, elles
peuvent aussi bien tre sauvegardes dans le rpertoire de travail du projet.

1.4. Modification de linterligne avec \baselinestretch


De manire gnrale, les modifications des paramtres devraient seffectuer au niveau
le plus haut possible. Par consquent, les modifications de linterlignage peuvent
seffectuer trois niveaux :
1. Utiliser lextension setspace.sty.
2. Utiliser la commande LATEX \linespread{<Facteur>}.
3. Redfinir \baselinestretch.
Une redfinition de paramtres comme \baselinestretch opre au plus bas niveau,
et devrait donc tre rserve aux extensions. Une meilleure mthode, prcisment
parce quelle a t expressment prvue pour cela, consiste utiliser la commande
\linespread{<Facteur>}. La meilleure faon de procder est cependant dutiliser
lextension setspace.sty, qui veille, lors de modifications de linterlignage, maintenir
les espacements corrects dans les notes de bas de page ou les environnements de listes,
pour lesquels les modifications ne sont le plus souvent pas souhaits.
Si donc, on a besoin dun interligne plus important (par exemple, 1,5 ou 2), on recourra avant tout lextension setspace.sty. Si en revanche, on ne souhaite faire que des
ajustements minimes pour une police de caractres autre que Computer Modern (par
exemple Palatino), alors il sera plus judicieux demployer \linespread{<Facteur>}.
Dans le cas de Palatino, on pourra utiliser par exemple \linespread{1.05}.

1.5. Indentation et espace entre les paragraphes \parindent, \parskip


Il peut tre parfois judicieux de changer le renfoncement ou alina 8 cest--dire
le retrait de la premire ligne dun paragraphe \parindent. On devrait cependant
respecter ce qui suit :
la modification de lalina sexprime avec une unit dpendant du caractre ( em )
et non avec une unit absolue ( mm ). Cette dpendance signifie en loccurrence que, non seulement lalina varie avec la taille de la police, mais aussi avec
la police employe, puisque la largeur de 1 em est adapte au cas par cas, pour
chaque police, par son crateur.

8. Appel encore, improprement, par dcalque de langlais : indentation [TdS ].

1. Pchs mortels

il faut utiliser la syntaxe de LATEX, car cest elle qui pose le moins de problmes. Par
exemple, elle est plus facile parser 9 pour un programme ou un script externe,
la maintenance en est plus simple pour lutilisateur, et il ny a pas dincompatibilit
avec dautres extensions comme calc.sty.

par :

Remplacez :

\parindent=1em

\setlength{\parindent}{1em}

Toutefois si lalina vous prfrez un espace vertical additionnel pour marquer


le dbut dun nouveau paragraphe, nutilisez pas simplement :
\setlength{\parindent}{0pt}
\setlength{\parskip}{\baselineskip}

car \parskip a aussi une incidence sur les environnements de liste, la table des matires
et les en-tte.
Lextension parskip.sty et les classes KOMA -Script sefforcent nanmoins dviter ces
effets secondaires. Pour savoir comment utiliser les options de KOMA -Script (parskip,
halfparskip, &c.), voir scrguien [4]. Lorsque lon utilise une des classes de KOMA- Script
on ne doit pas charger parskip.sty par surcrot.

1.6. Mettre en vidence les formules mathmatiques avec $$ ... $$


Sil vous plat, ne le faites pas ! $$ ... $$ est une commande plainTEX qui devrait tre
vite en LATEX. Cela rendrait incohrents les espacements verticaux des formules ainsi
mises en vidence, voir aussi la section 3.3 p. 18 ; notez lavertissement concernant
displaymath en rapport avec lextension amsmath.sty. De plus, loption de classe fleqn
ne fonctionne plus dans un tel cas.

Remplacez :

par :

$$ ... $$

\[ ... \]

ou (seulement avec amsmath.sty)


\begin{equation*}
...
\end{equation*}

ou bien (seulement sans amsmath.sty)


\begin{displaymath}
...
\end{displaymath}
9. Faire lanalyse syntaxique, dcomposer.

1. Pchs mortels

1.7. \def & \newcommand


Les macros devraient toujours tre dfinies laide de \newcommand{<name>}{...} et
pas avec \def\<name>{...} 10 .
Le problme principal avec \def est quaucun contrle de lexistence dune macro
de mme nom nest effectu, de sorte quune macro dfinie prcdemment peut tre
remplace sans le moindre avertissement.
Des macros dj existantes peuvent tre redfinies laide de
\renewcommand{<name>}{...}.
Celui qui sait prcisment pourquoi il a besoin dutiliser \def, celui-l en connatra
aussi les avantages et les inconvnients, et peut ne pas tenir compte de cette section.

1.8. Utilisation de \sloppy


De manire gnrale, le commutateur \sloppy ne devrait jamais tre utilis, en particulier dans le prambule du document. Pour rsoudre des problmes de coupure de
ligne dans certains paragraphe, il faut :
1o vrifier si les motifs de csure corrects (par exemple laide de babel.sty), et les
polices T1 ont t chargs pour lallemand (n)german.sty (voir aussi la FAQ sur la
coupure des mots 11 ou UK FAQ [3], Hyphenation , section P.7) et pour le franais
french de babel.sty ;
2o utiliser lextension microtype.sty. Celle-ci modifie lgrement lespacement entre
caractres afin damliorer la mise en page. Cette modification automatique nest
possible quavec pdfTEX partir de la version 1.20 et ne fonctionne que pour la cration
dun fichier PDF, mais pas si pdfTEX fonctionne en mode DVI ;
3o reformuler le texte. Il nest pas toujours ncessaire de changer la phrase dans
laquelle apparat le problme de coupure de ligne. Souvent il suffit de changer/dplacer
la phrase prcdente ou la suivante ;
4o ajuster modrment les paramtres que TEX utilise pour les calculs des coupures
de ligne. Axel Reichert a post 12 une fois, sur de.comp.text.tex, ses ajustements
personnels, avec lesquels il vite les principaux problmes de coupure de ligne tout en
prservant une bonne mise en page. (On doit partir de l faire vraiment attention aux
avertissements qui apparaissent et les supprimer en reformulant le texte.)

10. Voir aussi [5], section 2.7.2, et [7], section 3.4.


11. http://projekte.dante.de/DanteFAQ/Silbentrennung
12. Voir le message Message-ID: <a84us0$plqcm$7@ID-30533.news.dfncis.de>.

1. Pchs mortels
\tolerance 1414
\hbadness 1414
\emergencystretch 1.5em
\hfuzz 0.3pt
\widowpenalty=10000
\vfuzz \hfuzz
\raggedbottom

Naturellement, on peut modifier ces valeurs en fonction des gots personnels.


En fait, des diverses valeurs de paramtres adoptes par Reichert, \clubpenalty et
\widowpenalty servent rduire le nombre de veuves et dorphelines possibles, tandis
que \hbadness permet TEX de produire des messages en rapport avec des lignes trop
pleines ou trop vides. En somme, la majeure partie des paramtres de Reichert permet
de rduire les avertissements (warning) de TEX quand les lignes ne sont pas parfaitement
composes, mais seuls \tolerance et \emergencystretch ont un quelconque effet sur
la coupure des mots. Enfin, \raggedbottom ne joue aucun rle dans la coupure des
mots, mais bien plutt dans lempagement. Avant tout, cependant, on devrait faire
attention la faon de modifier \emergencystretch, faute de quoi lon risque dobtenir
un paragraphe avec des blancs indus, comme il arrive avec un logiciel de traitement de
texte bien connu 13 .
Ce nest que si cela ne suffisait pas que vous pourriez demander un paragraphe
compos de manire plus lche avec lenvironnement sloppypar.
tatata tatata tatata tatata tatata tatata tatatata tatata tatata tatata tatata tatata tatata tatatata tatata tatata tatata tatata tatatatattta tatata tatata tatata tatata tatata
tatata tatatata

tatata tatata tatata tatata tatata tatata


tatatata tatata tatata tatata tatata tatata
tatata tatatata tatata tatata tatata tatata
tatatatattta tatata tatata tatata tatata tatata tatata tatatata

Fig. 1 Exemple avec les valeurs standard de LATEX

Fig. 2 Exemple avec \sloppy

Dans les figures 1 et 2, nous avons tent de prsenter leffet de \sloppy.


Markus Kohm a publi sur comp.text.tex un exemple qui en montre leffet trs
clairement. Avec sa permission, il est reproduit en annexe (voir Annexe 3.5 p. 23).

13. Ce paragraphe a t ajout par le traducteur italien.

2. Commandes, classes et extensions obsoltes

2. Commandes, classes et extensions obsoltes


Markus Kohm a crit un script Perl avec lequel on peut chercher en ligne (http:
//kohm.de.tf/markus/texidate.html) les erreurs les plus courantes dans ses fichiers.
Il est cependant noter que ce script nest pas un parseur complet de TEX et par
consquent ne cherchera que les erreurs les plus videntes. Veuillez vrifier votre fichier
avant de demander secours dans un forum ou sur une liste de diffusion. Dabord tester,
poster ensuite.

2.1. Commandes
2.1.1. Modification du style de caractres
La table 1 prsente en vis--vis les commandes obsoltes et les commandes actuelles
de LATEX pour changer le style des caractres. Les macros appeles locales ne sappliquent qu leur argument, tandis que celles appeles globales ou commutateurs
sappliquent tout le texte jusqu la fin du groupe dont elles font partie.
Table 1 Commandes pour changer le style de caractres
Obsolte

{\rm
{\sf
{\tt
{\it
{\sc
{\sl
{\bf

...}
...}
...}
...}
...}
...}
...}

Remplac en LATEX 2 par


local

global/commutateur

\textrm{...}
\textsf{...}
\texttt{...}
\textit{...}
\textsc{...}
\textsl{...}
\textbf{...}
\textmd{...}
\textup{...}
\emph{...}

\rmfamily
\sffamily
\ttfamily
\itshape
\scshape
\slshape
\bfseries
\mdseries
\upshape
\ema

a Utile

dans les dfinitions de macros. Dans un texte,


ce nest pas {\em ...} quon doit employer, mais
\emph{...}.

Pourquoi ne faut-il pas utiliser de commandes obsoltes ? Les commandes obsoltes ne supportent pas le systme de gestion des fontes 14 de LATEX 2 . Par exemple,
{\bf foo}, annule tous les attributs de fonte dj spcifis avant dimprimer foo
en gras. Cest pourquoi vous ne pouvez pas obtenir de litalique gras laide de
14. NFSS : New Font Selection Scheme, ou Nouveau Schma de Slection des Fontes . Le fntguide [6]
en donne une vue densemble.

2. Commandes, classes et extensions obsoltes


{\it \bf Test} (la dfinition mentionne produit Test). En revanche, les nouvelles
commandes \textbf{\textit{Test}} se comporteront comme escompt et produi-

ront : Test. En outre, avec les anciennes commandes, il ny a pas de correction


italique : comparez par exemple neufhampes ({\it neuf}hampe) et neuf hampes
(\textit{neuf}hampes).
2.1.2. Fractions mathmatiques (\over & \frac)
On devrait viter la commande \over. \over est une commande TEX qui est difficile
analyser ou qui ne peut pas tre analyse du tout du fait de sa syntaxe trs diffrente de
celle de LATEX. En particulier, lextension amsmath.sty redfinit \frac{}{} et lutilisation
de \over produira des messages derreur . Un autre argument en faveur de \frac{}{}
est quil est plus facile de composer le numrateur et le dnominateur dune fraction,
notamment pour des fractions un peu complexes.

par :

Remplacez :

$a \over b$

$\frac{a}{b}$

2.1.3. Centrer du texte avec \centerline


La commande \centerline est une autre commande TEX que lon devrait viter en
LATEX. Dune part \centerline est incompatible avec quelques extensions de LATEX
(par exemple color.sty) ; dautre part, elle peut produire des effets indsirables ou
inattendus :
\begin{enumerate}
\item \centerline{Premier point}
\end{enumerate}

Premier point
1.

Remplacez :

par :

\centerline{...}

Note.
p. 17.

{\centering ... }
ou bien
\begin{center}
...
\end{center}

Pour des prcisions sur le centrage de graphiques et de tables, voir section 3.1

2. Commandes, classes et extensions obsoltes

2.2. Fichiers de classes et dextensions


2.2.1. scrlettr.cls & scrlttr2.cls
La classe scrlettr.cls du paquet KOMA-Script est obsolte et a t remplace par
scrlttr2.cls. Afin de produire une mise en page semblable celle de lancienne classe de
lettre de KOMA -Script on peut utiliser loption de classe KOMAold qui fournit un mode
de compatibilit.

par :

Remplacez :

\documentclass{scrlettr}

\documentclass[KOMAold]{scrlttr2}

Note. Pour de nouveaux modles de lettres, on devrait utiliser la nouvelle interface,


qui est bien plus flexible.
Dvelopper les diffrences entre les deux interfaces utilisateurs sort du cadre de cet
aperu. Nous renvoyons scrguien [4] pour les dtails.
2.2.2. epsf.sty, psfig.sty, epsfig.sty & graphics.sty, graphicx.sty
Les extensions epsf.sty et psfig.sty ont t remplaces par les extensions graphics.sty
et graphicx.sty respectivement. epsfig.sty est juste une enveloppe 15 pour permettre
dutiliser lextension graphicx.sty avec danciens documents crits avec psfig.sty.
Comme epsfig.sty utilise graphicx.sty en interne, on peut encore utiliser epsfig.sty. On
ne devrait pas, toutefois, lutiliser pour de nouveaux documents. Pour cela les extensions
graphics.sty ou graphicx.sty sont prfrables. epsfig.sty est fourni essentiellement pour
assurer la compatibilit comme mentionn ci-dessus.
Pour les diffrences entre graphics.sty et graphicx.sty, voyez grfguide [2]. Pour des
prcisions sur le centrage des graphiques voyez section 3.1 p. 17.

15. Une enveloppe, anglais wrapper, dsigne ici un fichier de style qui lui-mme charge un ou plusieurs
fichiers de style et, ce faisant, donne accs leurs fonctionnalits.

2. Commandes, classes et extensions obsoltes

Remplacez :

par :

\usepackage{psfig}
\psfig{file=image,...}

\usepackage{graphicx}
\includegraphics[...]{image}

2.2.3. doublespace.sty & setspace.sty


Pour changer linterlignage, utilisez lextension setspace.sty. Lextension doublespace.sty est obsolte, et remplace prcisment par setspace.sty. Voyez aussi la section 1.4 p. 2.

Remplacez :

par :

\usepackage{doublespace}

\usepackage{setspace}

2.2.4. fancyheadings.sty, scrpage.sty & fancyhdr.sty, scrpage2.sty


Lextension fancyheadings.sty a t remplace par fancyhdr.sty. Une autre manire de
modifier les enttes est fournie par lextension scrpage2.sty du paquet KOMA-Script.
Notez, une fois encore, que scrpage.sty ne doit pas tre utilis. Pour une documentation
sur scrpage2.sty, voir scrguien [4].

Remplacez :

par :

\usepackage{fancyheadings}

\usepackage{fancyhdr}

Remplacez :

par :

\usepackage{scrpage}

\usepackage{scrpage2}

2.2.5. La famille dextensions caption.sty


Lextension caption2.sty ne doit plus tre utilise, car il existe une nouvelle version
(V.3x) de lextension caption.sty. Prendre soin toutefois de ne pas utiliser une version
trop ancienne de lextension. Pour sen assurer, charger lextension comme suit :

Remplacez :

par :

\usepackage{caption}

\usepackage{caption}[2008/08/24]

Si lon a utilis auparavant caption2.sty, il faut absolument prendre connaissance de


la nouvelle documentation [12, Section C.2].

2. Commandes, classes et extensions obsoltes

2.2.6. isolatin.sty, umlaut.sty & inputenc.sty


Quelques notes gnrales. Il y a essentiellement quatre faons de saisir les umlauts
allemands et les autres caractres non-ASCII 16 .
1. H{\"u}lle ({\E}tage). Lavantage de cette saisie est quelle fonctionne toujours
et sur nimporte quel systme.
Ses inconvnients, toutefois, sont que le crnage 17 entre les lettres est gravement
perturb ; quelle est trs pnible saisir tout le moins dans un texte en allemand ;
enfin que le code obtenu est fort peu lisible.
Aussi cette variante devrait toujours tre vite, du fait des problmes crs pour le
crnage.
2. Avec H\"ulle ou H\"{u}lle (\Etage ou \{E}tage) les problmes mentionns
ci-dessus (crnage) napparaissent pas. Cette saisie est elle aussi utilisable sur tous les
systmes.
Linconvnient est que la saisie est aussi laborieuse, et que le code obtenu est encore
moins lisible que la variante prcdente.
Cette variante est la plus judicieuse dans des dfinitions de macros ou dans des
fichiers de style car elle est indpendante du codage et de toute extension.
3. Avec lextension (n)german.sty ou loption (n)german de lextension babel.sty, on
peut saisir les umlauts allemands en tapant simplement H"ulle. Une fois de plus, lavantage est que cela fonctionne avec tous les systmes. Comme les extensions babel.sty ou
(n)german.sty sont disponibles sur tous les systmes TEX, il ne devrait pas non plus y
avoir de problme de compatibilit. 18
Linconvnient est, encore, que la saisie est malcommode et le code-source est plutt
difficile lire.
Cette variante sutilise relativement bien pour le corps du texte. Mais on devrait
lviter dans les dfinitions de macro ou les prambules.
4. Lentre directe Hlle (tage). Les avantages de cette variante sont patents. Le
texte-source scrit et se lit normalement .
Linconvnient est quil faut dire LATEX quel est le codage dentre utilis et quil
peut aussi y avoir des problmes lors de lchange de fichiers entre systmes diffrents.
Cela nest pas un problme pour TEX ou LATEX eux-mmes, mais cela peut crer des
difficults daffichage du texte-source dans les diteurs de texte sur des systmes divers. Par
exemple, le symbole de leuro cod en iso-8859-15 (latin9) peut tre reprsent par
dans un diteur sous Windows (CP1252).
Cette variante fonctionne trs bien pour le corps du texte. Il vaut mieux, cependant,
lviter dans les dfinitions de macros ou les prambules.
16. Comme les lettres accentues franaises [TdS ].
17. Espace positive ou ngative insre entre deux caractres en fonction du couple de caractres.
18. Il ny a pas dquivalent cette saisie pour les accents du franais avec babel.sty et frenchb [TdS ].

10

2. Commandes, classes et extensions obsoltes

En rsum, dans les macros, prambules et fichiers de style, on devrait utiliser H\"ulle
ou H\"{u}lle, tandis quailleurs dans le texte on peut utiliser soit H"ulle soit Hlle.
Codage dentre. Pour dire LATEX quel codage dentre est employ dans un fichier,
il ne faut pas utiliser les extensions isolatin1.sty, isolatin.sty ou umlaut.sty ! Ces extensions
sont obsoltes ou ne sont pas disponibles sur tous les systmes.
On doit utiliser lextension inputenc.sty avec les options suivantes 19 :
latin1/latin9 pour les systmes de type unix (latin1 fonctionne aussi sous Micro-

soft Windows et Mac OS X) ;


ansinew pour Microsoft Windows ;
applemac pour Mac 20 ;
cp850 pour OS/2 ;
utf8 pour les systmes de type Unix modernes et plus gnralement pour les
systmes dexploitation (et les diteurs) qui supportent Unicode (UTF-8) 21 .

Remplacez :

par :

\usepackage{isolatin1}

Remplacez :

\usepackage[latin1]{inputenc}

par :

\usepackage{umlaut}

\usepackage[latin1]{inputenc}

Note. La mthode indique ci-dessus pour dclarer le codage dentre semploie avec
les moteurs LATEX classiques , comme pdfLATEX. Les dveloppements rcents que
constituent XELATEX et LuaLATEX traitent les fichiers unicode sans quon ait dclarer
lencodage. Tous deux peuvent dj tre utiliss en production, mais ils requirent en
rgle gnrale quon rcrive les vieux fichiers LATEX pour la partie concernant le
choix de la langue et des polices de caractre, et ils natteignent pas encore les mmes
possibilits que pdfLATEX en matire de microtypographie.
2.2.7. t1enc.sty & fontenc.sty
Lextension t1enc.sty est obsolte et devrait par consquent tre remplace par fontenc.sty.

19. pour ce qui nous occupe ici [TdS ].


20. Sous OS X, latin1/latin9 devrait tre utilis, car ce codage est plus appropri pour des changes de
fichiers avec des utilisateurs dautres systmes dexploitation. Cependant, il faut imprativement vrifier
lencodage utilis par son diteur de texte.
21. Cest le cas de Windows depuis Windows XP et de MacOS X. (B. A.)

11

2. Commandes, classes et extensions obsoltes

Remplacez :

par :

\usepackage{t1enc}

\usepackage[T1]{fontenc}

2.2.8. natdin.bst & dinat.bst


Lauteur de dinat.bst recommande de remplacer dinat.bst par natdin.bst car le dveloppement de dinat.bst a t arrt et natdin.bst a t grandement amlior.

Remplacez :

par :

dinat.bst

natdin.bst

Note. Dans les versions prcdentes de ce document, nous avions fait la recommandation exactement inverse ; celle-ci se fondait sur ltat du dveloppement de lpoque.
Les amliorations apportes depuis natdin.bst justifient maintenant la prfrence
accorde cette dernire extension.
2.2.9. glossary.sty & glossaries.sty
Lextension glossary.sty est obsolte ; son auteur lui a fourni pour successeur lextension
glossaries.sty. Des dtails sur les changements se trouvent dans [13].
2.2.10. SIstyle.sty, SIunits.sty & siunitx.sty
Les extensions SIstyle.sty et SIunits.sty, utiles la composition des units physiques, ne
sont plus dveloppes. Les fonctionnalits des deux extensions ont t runies dans
leur successeur siunitx.sty. Sa grande souplesse permet siunitx.sty de remplacer aussi
des extensions comme unitsdef.sty, units.sty, fancyunits.sty et fancynum.sty.

Remplacez :

par :

\usepackage{SIunits}
\unit{1}{\metre}

\usepackage{siunitx}
\SI{1}{\metre}

2.2.11. subfigure.sty, subfig.sty & subcaption.sty


Les extensions subfigure.sty et subfig.sty ne sont plus dveloppes et sont incompatibles
avec quelques extensions actuelles comme hyperref.sty et caption.sty. En remplacement,
il est conseill dutiliser subcaption.sty.

12

2. Commandes, classes et extensions obsoltes

Remplacez :

par :

\usepackage{subfig}
\begin{figure}
\subfloat[][Text]{Bild}
\end{figure}

\usepackage{caption}
\usepackage{subcaption}
\begin{figure}
\begin{subfigure}{Breite}
Bild\caption{Text}
\end{subfigure}
\end{figure}

2.3. Caractres
Le sujet fontes et LATEX est, sur de.comp.text.tex, une source intarissable d allgresse 22 , la plupart du temps suscite par la question : Pourquoi les caractres
apparaissent-ils si pixelliss dans Adobe Reader ? . Les rponses fausses les plus frquentes renvoient aux extensions times.sty ou pslatex.sty. Toutefois, avec ces extensions,
non seulement on utilise des polices compltement diffrentes, mais, comme ces extensions sont obsoltes, on soulve de nouveaux problmes. Si, comme recommand
dans la section 2.3.9, on utilise 23 Latin Modern pour remplacer (quasi) lidentique la
police standard de LATEX (cest--dire Computer Modern), alors laspect pixellis des
caractres dans Adobe Reader disparat.
Le fntguide [6] donne des informations gnrales sur le New Font Selection Scheme
(NFSS) de LATEX 2
2.3.1. times.sty
Lextension times.sty est obsolte (voir psnfss2e [10]). Elle dfinit \rmdefault comme
tant la police Times , \sfdefault comme Helvetica et \ttdefault comme
Courier , sans toutefois leur associer les polices mathmatiques correspondantes. De
plus, Helvetica nest pas rduite correctement et apparat trop grande. Si lon dsire
utiliser la combinaison Times/Helvetica/Courier il faut alors faire ce qui suit :

Remplacez :

par :

\usepackage{times}

\usepackage{mathptmx}
\usepackage[scaled=.92]{helvet}
\usepackage{courier}

Note. Le facteur de rduction de helvet.sty, combine avec Times, devrait tre pris
entre 0,90 et 0,92.
22. Ainsi que sur fr.comp.text.tex et comp.text.tex dailleurs [TdS ].
23. Via lextension lmodern.sty [TdS ].

13

2. Commandes, classes et extensions obsoltes

2.3.2. mathptm.sty
Lextension mathptm.sty est le prdcesseur de mathptmx.sty.

Remplacez :

par :

\usepackage{mathptm}

\usepackage{mathptmx}

2.3.3. pslatex.sty
Lextension pslatex.sty fonctionne en interne comme mathptm.sty + helvet.sty (rduit).
Toutefois, elle utilise un Courier trop troit. Le principal inconvnient de pslatex.sty est
quil ne fonctionne pas avec les codages T1 et TS1.

Remplacez :

par :

\usepackage{pslatex}

\usepackage{mathptmx}
\usepackage[scaled=.92]{helvet}
\usepackage{courier}

Note sur les combinaisons de Times & Helvetica. On peut aussi bien en rester
la police cmtt pour une police type machine crire , et ne pas charger du tout
lextension courier.sty.
2.3.4. palatino.sty
Lextension palatino.sty se comporte comme times.sty hormis quelle dfinit naturellement \rmdefault comme Palatino . Cest pourquoi on ne devrait plus lutiliser.

Remplacez :

par :

\usepackage{palatino}

\usepackage{mathpazo}
\usepackage[scaled=.95]{helvet}
\usepackage{courier}

Note. Le facteur de rduction pour helvet.sty en combinaison avec la fonte Palatino


devrait tre fix 0,95.
Helvetica nest pas la meilleure linale associer Palatino et doit tre vue,
autant que possible, comme une vieille association, mme si elle a longtemps
constitu le complment disponible librement le mieux assorti Palatino . Depuis lors,
on dispose des polices Vera/Bera Sans notre avis un meilleur choix.

14

2. Commandes, classes et extensions obsoltes

Celui qui possde un CD CorelDraw , mme ancien 24 , peut aussi trs bien utiliser
Palatino avec Frutiger 25 ou Optima 26 . Walter Schmidt a publi sur sa
page personnelle 27 les outils ncessaires pour utiliser ces polices (extensions bfr.sty et
bop.sty).
2.3.5. mathpple.sty
Cette extension est le prdcesseur de mathpazo.sty. Il lui manque quelques symboles
et ils sont pris dans la fonte Euler. Dautres symboles ne conviennent pas bien
Palatino et quelques mtriques de la fonte sont incorrectes. Pour plus de prcisions,
voir psnfss2e [10].

Remplacez :

par :

\usepackage{mathpple}

\usepackage{mathpazo}

2.3.6. utopia.sty
Lextension utopia.sty ne devrait plus tre utilise, car son successeur fourier.sty offre
une meilleure interface avec la police Utopia. Pour plus de prcisions, voir psnfss2e [10].

Remplacez :

par :

\usepackage{utopia}

\usepackage{fourier}

2.3.7. Obtenir des lettres grecques droites


Les passages marqus en rouge ci-aprs ne sont pas obsoltes dans le sens o vous
ne devriez plus utiliser cela , mais de nos jours, ldition dun texte est simplifie par
lextension upgreek.sty 28 29 . Pour des prcisions sur son utilisation, consultez comme
toujours la documentation upgreek [9].

24. Les polices fournies avec les versions anciennes de CorelDraw ne contiennent pas encore de
symbole euro !
25. Bitstream Humanist 777 .
26. Bitstream Zapf Humanist .
27. Fonts fr TEX : http://cq131a.de/
28. Lextension fourier.sty admet une option upright qui donne les lettres grecques bas de casse, les
capitales grecques et romaines droites en mode mathmatique [TdS ].
29. Les extensions kpfonts.sty, mathdesign.sty et MinionPro.sty ont les mmes possibilits que fourier.sty
(B. A.)

15

2. Commandes, classes et extensions obsoltes

Les trucs de pifont.sty

Remplacez :

par :

\usepackage{pifont}
\newcommand{\uppi}{%
\Pisymbol{psy}{112}}
...
\uppi

\usepackage{upgreek}
...
$\uppi$

ou bien
\newcommand[1]{\upgreek}{%
\usefont{U}{psy}{m}{n}#1}
...
\upgreek{p}

Les trucs de babel.sty

Remplacez :

par :

\usepackage[greek,...]{babel}
\newcommand{\upgreek}[1]{%
\foreignlanguage{greek}{#1}}
...
\upgreek{p}

\usepackage{upgreek}
...
$\uppi$

2.3.8. euler.sty & eulervm.sty


Lextension euler.sty devrait tre remplace par eulervm.sty, car celle-ci rgle des
problmes de compatibilit avec dautres extensions et apporte quelques amliorations
de dtail :
\hbar (\hslash dans cette police) fonctionne maintenant correctement ;
des caractres mathmatiques gras, y compris des symboles grecs sont disponibles.
Pour des informations plus prcises, voir eulervm [8].

Remplacez :

par :

\usepackage{euler}

\usepackage{eulervm}

2.3.9. ae.sty, aecompl.sty et zefonts.sty


Lextension ae.sty (ainsi que aecompl.sty) et zefonts.sty servent de solution de fortune
pour un problme en relation avec les umlaut et autres lettres accentues lorsquon

16

3. Mlanges

utilise la police standard de LATEX (Computer Modern). Or celles-ci utilisent le codage


OT1, et donc les lettres accentues doivent tre constitues de deux signes ( est,
sommairement, la combinaison de u et de ). Lalgorithme de coupure des mots
est perturb par ces lettres, ce qui entrane que, par exemple, les mots avec un umlaut
ne peuvent tre coups. Les extensions ae.sty et zefonts.sty remdient ce problme en
recourant ce quon appelle des fontes virtuelles.
Un autre problme, connexe au prcdent, nest cependant pas rsolu par les extensions mentionnes : si lon produit un fichier PDF, les lettres accentues nen demeurent
pas moins composes de deux signes, ce qui entrane que la recherche ou le copier-coller
dans le document de mots avec un umlaut ne sera pas trait correctement.
Les problmes que nous venons de dcrire ne surviennent plus si lon utilise une
police au codage T1 et au format type 1 30 . Cest pourquoi ont t rcemment
dessines les polices de caractres cm-super et Latin Modern. Comme cette dernire est
plus conforme loriginale Computer Modern, il est recommand de remplacer CM
par Latin Modern.

Remplacez :

par :

\usepackage{ae}

\usepackage[T1]{fontenc}
\usepackage{lmodern}

ou
\usepackage{zefonts}

3. Mlanges
Cette section lexception de 3.2 page suivante prsente des trucs et des prcisions
plus gnraux que ceux regroups sous le titre de pchs .

3.1. Flottants figure , table


Pour centrer un flottant on devrait utiliser la commande \centering plutt que lenvironnement \begin{center}. . . \end{center} car celui-ci introduit un espace vertical
additionnel qui nest la plupart du temps pas souhait.

30. Bien noter que mme si les dnominations T1 et type 1 se ressemblent, elles ne dsignent pas la
mme chose : T1 dcrit lencodage des caractres du ct de LATEX, tandis que type 1 dclare comment
les caractres sont reprsents dans le fichier PDF. Cest pourquoi lutilisation dune police au codage T1
rsout le problme de coupure des mots avec umlaut, mais pas ncessairement le problme de la recherche
des umlauts dans un fichier PDF.

17

3. Mlanges

Remplacez :

par :

\begin{figure}
\begin{center}
\includegraphics{image}
\end{center}
\end{figure}

\begin{figure}
\centering
\includegraphics{image}
\end{figure}

Note. Toutefois, lorsquil sagit de centrer une rgion dans le corps du texte ou dans
un environnement titlepage, cet espace additionnel peut naturellement tre tout
fait souhait.

3.2. Annexes
Les annexes sont introduites par le commutateur \appendix. Ce nest pas un environnement.

par :

Remplacez :

\begin{appendix}
\section{Blub}
\end{appendix}

\appendix
\section{Blub}

3.3. Mathmatiques
De manire gnrale, pour la typographie mathmatique avance, on devrait utiliser
lextension amsmath.sty, ventuellement complte par mathtools.sty 31 . Elle procure de
nouveaux environnements qui doivent avant tout remplacer eqnarray. Les avantages
de lextension sont les suivants :
les espacements lintrieur et autour des environnements sont plus cohrents ;
les numros des quations sont placs de telle sorte quils ne seront plus surchargs
par les expressions mathmatiques ;
de nouveaux environnements (par exemple split), permettent de mettre en page
facilement de longues quations ;
il est possible de dfinir facilement de nouveaux oprateurs, analogues \sin,
avec des espacements appropris.
Avertissement. En utilisant lextension amsmath.sty, on ne devrait en aucun cas faire
usage des environnements displaymath, eqnarray ni eqnarray*, car ils ne sont pas
supports par amsmath.sty et il en rsulterait des espacements incohrents (comparer
les figures 3 et 4 page suivante).
31. Il suffit alors de charger cette dernire (B. A.)

18

3. Mlanges

a = b

a=b

b = c

b=c

a = c

a=c

Fig. 3 Exemple avec eqnarray*

Fig. 4 Exemple avec align*

Lextension amsmath.sty adapte correctement \[...\] et peut donc sutiliser au


lieu de displaymath. On peut remplacer eqnarray et eqnarray* en premire approximation par align ou align*. Pour un panorama complet de amsmath.sty, consulter
amsldoc [1].

Remplacez :

par :

\begin{eqnarray}
a &=& b\\
b &=& c\\
a &=& c
\end{eqnarray}

\begin{align}
a &= b\\
b &= c\\
a &= c
\end{align}

3.4. Lutilisation de \graphicspath 32


Il faut prciser que, pour des raisons de scurit lies avant tout, mais pas exclusivement,
Windows, les versions les plus rcentes de TEX (que ce soit MiKTeX ou TeX Live
depuis la version 2009) acceptent une version de TEX rduite, protge de lexcution
de la commande \write18 (qui quivaut donner une instruction : de faon prcise,
largument de \write18 est interprt comme si ctait une ligne de commande). TEX
permet dexcuter pleinement un certain nombre dinstructions (qui concernent entre
autres BibTEX, epstopdf, &c.), en excute dautres en mode restreint et enfin nen
excute pas du tout dautres encore (comme la suppression de fichiers), qui doivent
tre autorises par lutilisateur 33 .
En consquence, les programmes ne peuvent plus utiliser de chemins absolus (cest-dire qui partent de la racine du disque dur), mais seulement des chemins relatifs au
rpertoire dans lequel se trouve le fichier principal du document.
La macro fort rpandue \graphicspath prsente lavantage quune fois excute, elle
32. Cette section ne correspond pas la version originale allemande, mais la traduction italienne,
entirement rcrite par Mauro Sacchetto. La traduction de la version allemande se trouve en annexe.
33. moins de ne pas liminer toutes les limitations de \write18 en lui indiquant explicitement dans
la ligne de commande que lditeur envoie au systme dexploitation pour lancer des commandes comme
pdflatex : option -shell-escape de TeX Live et option -enable-write18 de MiKTeX. Toutefois, il faut
tre conscient des risques que comporte une telle opration pour la scurit du systme tout entier.

19

3. Mlanges

vite de devoir spcifier chaque fois le ou les rpertoires o se trouvent les images.
Elle devrait toutefois tre vite parce quelle prsente pour le moins des limites :
1. La recherche par TEX du fichier graphique traiter dure plus longtemps que
si cette recherche tait confie la librairie kpathsea, laquelle TEX recourt
normalement pour la recherche de fichiers, mme si avec les processeurs actuels,
laugmentation de dure est ngligeable.
2. Les noms de fichiers sans leur chemin doivent tre soigneusement diffrencis
dans Windows, qui ne distingue pas entre lettres minuscules et majuscules ; cette
diffrenciation doit avoir lieu mme si dventuels fichiers homonymes se trouvent
dans des sous-rpertoires.
De tels problmes ne se posent pas si tous les fichiers graphiques se trouvent dans
un seul sous-rpertoire de celui qui contient le fichier principal du document ; on
peut donc alors continuer dutiliser \graphicspath en toute scurit. Si en revanche
les parties dun document complexe, par exemple les chapitres, se trouvent chacune
dans son propre sous-rpertoire, et si chaque partie conserve son tour ses propres
images dans un sous-sous-rpertoire, la situation se montre trs confuse et inutilement
complique par rapport celle que lon peut avoir en incluant chaque fichier graphique
en spcifiant son nom complet avec chemin et extension 34 .
La raison pour laquelle la recherche dun fichier graphique dure plus longtemps
en utilisant \graphicspath rsulte du fait que TEX conserve en interne une liste des
chemins spcifis par cette commande. Dans un document complexe, avec de nombreux
chapitres qui requirent leur tour diffrents chemins daccs leurs figures, cette
recherche doit balayer rcursivement tous les chemins daccs contenus dans la liste
en question et regarder dans chaque dossier spcifi par chacun de ces chemins. Si au
contraire, on spcifie chaque fichier graphique avec son chemin daccs, TEX ne doit
plus rien rechercher, mais pointe vers le fichier spcifique, tant donn que le nom
complet du fichier est univoque.
Le recours la variable denvironnement TEXINPUTS apparat galement problmatique 35 . Cette variable peut tre fixe selon les modalits propres aux divers systmes
dexploitation. Bien quil sagisse plus dun ajout que dune vritable modification de
la variable path du systme, celle-ci est de toute faon permanente et par consquent
sera modifie pour chaque nouveau document (outre que les anciennes versions de
Windows ne comportent pas la possibilit davoir sparment une variable TEXINPUTS
du systme et une de lutilisateur).
34. Avant 2009, il tait conseill de ne pas spcifier lextension, parce que les formats de fichiers
graphiques que latex et pdflatex pouvaient inclure taient mutuellement exclusifs, et donc dans le
mme dossier pouvait figurer une image donne au format .eps aussi bien quau format .pdf. Aussi, sans
spcifier lextension et sans modifier le fichier-source, latex incluait le fichier .eps, tandis que pdflatex
incluait le fichier .pdf. Comme, prsent, pdflatex peut inclure des fichiers graphiques au format .eps,
cette faon de procder na plus de raison dtre, et peut mme se rvler pernicieuse.
35. Cf. la rponse de David Carlisle au rapport de bogue de Markus Kohm : http://www.
latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2618.

20

3. Mlanges

La mthode la plus sre et efficace (et valide aussi pour \graphicspath) consiste
alors dfinir des liens symboliques au moyen des commandes classiques ln -s pour
les systmes UNIX et mklink dans Windows Vista ou Windows 7 (cette mthode
est inapplicable avec les versions prcdentes de Windows, qui ne connaissent pas
les liens symboliques). la diffrence de ce qui se produit avec TEXINPUTS, de tels
liens, tant locaux, napportent aucune modification au path du systme. Grce eux,
les rpertoires des images paraissent (virtuellement) prsents dans le rpertoire du
document, o quils soient placs physiquement sur le disque dur, et ils sont donc
identifis par \write18, partiellement autoris.
Il est toujours utile de consulter la documentation du systme dexploitation et de la
distribution TEX utiliss.

3.5. Macros spcifiques une langue : \...name


De temps autre la question revient sur de.comp.text.tex de comment modifier, par
exemple, Rfrences en Liste des ouvrages cits ou autre entte. Aussi ces macros
ont t rassembles dans le tableau 2 page suivante. Elles sont tires de lextension
frenchb.sty. Plus prcisment, elles sont tires des fichiers frenchb.ldf pour babel.sty et
gloss-french.ldf pour polyglossia.sty.
Par exemple, pour changer Table des figures en Table des illustrations , on
utilisera la commande suivante :
\renewcommand*{\listfigurename}{Table des illustrations}

Les autres macros se changent de manire analogue. Si lon utilise babel.sty, il faut
passer par \addto. En effet, chaque changement de langue (dans notre cas le franais)
appelle la commande : la personnalisation serait donc perdue et le terme employ
par dfaut rintroduit. La commande \addto est dfinie dans babel.sty, mais on peut
lappliquer aussi polyglossia.sty, mais en prenant soin de charger en outre etoolbox.sty.
Voir aussi De-TeX-FAQ sur ce thme 36 37 .
La faon correcte dcrire est par consquent :
\addto{\captionsfrench}{%
\renewcommand*{\listfigurename}{Table des illustrations}}

Si lon utilise KOMA-Script, il convient demployer la commande quivalente fournie


\renewcaptionname :
\renewcaptionname{french}{\listfigurename}{Figure}

Cette commande doit figurer aprs \begin{document}.


36. Meine Versuche, \figurename, \tablename o. . bei Verwendung des Pakets babel.sty umzudefinieren, milingen. Was kann ich tun ? , in http://projekte.dante.de/DanteFAQ/Verschiedenes.
37. Et, pour le franais, voyez la Documentation sur le module frenchb de Babel par Daniel Flipo,
disponible sur http://daniel.flipo.free.fr/frenchb/ [TdS ].

21

3. Mlanges

Table 2 Macros dfinies par babel.sty et polyglossia.sty avec loption french


Nom de macro

Dfinition originelle

Sortie habituelle en franais

\prefacename
\refnamea
\abstractname
\bibnameb
\chaptername
\appendixname
\contentsname
\listfigurename
\listtablename
\indexname
\figurename
\tablename
\partname
\enclname
\ccname
\headtoname
\pagename
\seename
\alsoname
\proofname
\glossaryname

Preface
References
Abstract
Bibliography
Chapter
Appendix
Contents
List of Figures
List of Tables
Index
Figure
Table
Part
encl
cc
To
Page
see
see also
Proof
Glossary

Prface
Rfrences
Rsum
Bibliographie
Chapitre
Annexe
Table des matires
Table des figures
Liste des tableaux
Index
Fig.
Table
partie
P. J.
Copie

p.
voir
voir aussi
Dmonstration
Glossaire

a Seulement
b Seulement

dans la classe article.


dans les classes report et book.

22

Annexe : exemple de \sloppy


Voici le code de lexemple que Markus Kohm a publi :

\documentclass{article}
\setlength{\textwidth}{20em}
\setlength{\parindent}{0pt}
\begin{document}
\typeout{First without \string\sloppy\space and underfull \string\hbox}
tatata
tatata
tatata
tatata

tatata
tatata
tatata
tatata

tatata
tatata
tatata
tatata

tatata
tatata
tatata
tatata

tatata tatata ta\-ta\-tata


tatata tatata tata\-tata
ta\-tatatatt\-ta
tatata tatata ta\-ta\-ta\-ta

\typeout{done.}
\sloppy
\typeout{Second with \string\sloppy\space and underfull \string\hbox}
tatata
tatata
tatata
tatata

tatata
tatata
tatata
tatata

tatata
tatata
tatata
tatata

tatata
tatata
tatata
tatata

tatata tatata ta\-ta\-tata


tatata tatata tata\-tata
ta\-tatatatt\-ta
tatata tatata ta\-ta\-ta\-ta

\typeout{done.}
\end{document}

Source : Message-ID: <8557097.gEimXdBtjU@ID-107054.user.dfncis.de>

Lutilisation de \graphicspath (version allemande)


La macro fort rpandue \graphicspath devrait tre vite et remplace par la variable denvironnement
TEXINPUTS pour les raisons suivantes 38 :
1. La recherche par TEX dure davantage que si cette tche est confie la bibliothque kpathsea (avec
les processeurs actuels, cela na plus la mme importance).
2. Chaque image consomme une partie de la mmoire alloue TEX et celle-ci nest plus disponible
durant toute la compilation.
Dans un Bourne-shell, on peut utiliser la commande suivante :
38. Cf. la rponse de David Carlisle au rapport de bogue de Markus Kohm : http://www.
latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2618

23

[luser@host]> TEXINPUTS=Rep_Images: latex datei.tex

ou ajouter cette ligne dans $HOME/.profile :


export TEXINPUTS=./Rep_Images:

Cette ligne assure que les fichiers de Rep_Images sous le rpertoire de travail seront bien trouvs.
Sous Microsoft Windows (6 98), on fixe la variable denvironnement au moyen de :
set TEXINPUTS=.\Rep_Image;

ou bien :
set TEXINPUTS=./Rep_Images;

pour MiKTEX dans le fichier autoexec.bat. Dans Windows NT4 et Windows 2000, on peut fixer les
variables denvironnement en allant dans Panneau de configuration Systme Environnement, et dans
Windows XP, Panneau de configuration Systme Avanc Variables denvironnement
Ces procdures sont donnes titre dexemples. Nous sommes conscients quon peut adapter TEXINPUTS
de diffrentes faons ou par le biais dautres fichiers. On trouvera plus de prcisions dans la documentation
du systme dexploitation ou de la distribution TEX.

24

Rfrences
[1] American Mathematical Society, Users Guide for the amsmath Package. Version 2.0, dcembre 1999.
URL: CTAN:macros/latex/required/amslatex/
[2] David P. Carlisle, Packages in the graphics bundle. Novembre 2005.
URL: CTAN:macros/latex/required/graphics/
[3] Robin Fairbairns, The UK TEX FAQ. Your 459 Questions Answered.. Version 3.26, 28
fvrier 2013.
URL: http://www.tex.ac.uk/faq
[4] Markus Kohm et Jens-Uwe Morawski, KOMA-Script. Version 3.11, juillet 2012.
URL: CTAN:macros/latex/supported/koma-script/
[5] The LATEX3 Project Team, LATEX 2 for class and package writers. Fvrier 2006.
URL: CTAN:macros/latex/doc/clsguide.pdf
[6] The LATEX3 Project Team, LATEX 2 font selection. Novembre 2005.
URL: CTAN:macros/latex/doc/fntguide.pdf
[7] The LATEX3 Project Team,LATEX 2 for authors. Novembre 2005.
URL: CTAN:macros/latex/doc/usrguide.pdf
[8] Walter Schmidt, The Euler Virtual Math Fonts for use with LATEX. Version 4, janvier
2005.
URL: CTAN:fonts/eulervm/
[9] Walter Schmidt, The upgreek package for LATEX 2 . Version 2.0, fvrier 2003.
URL: CTAN:macros/latex/contrib/supported/was/
[10] Walter Schmidt, Using common PostScript fonts with LATEX. PSNFSS version 9.2,
septembre 2004.
URL: CTAN:macros/latex/required/psnfss/psnfss2e.pdf
[11] Marco Daniel, Patrick Gundlach, Walter Schmidt, Jrg Knappen, Hubert Partl
et Irene Hyna, LATEX 2 -Kurzbeschreibung. Version 3, juillet 2012.
URL: CTAN:info/lshort/german/
Dernire version de la traduction franaise disponible
URL: CTAN:info/lshort/french
[12] Axel Sommerfeldt, Customizing captions of floating environments. Version 3.3, novembre 2011.
URL: CTAN:macros/latex/contrib/caption/
[13] Nicola L. C. Talbot, Upgrading from the glossary package to the glossaries package.
Novembre 2012.
URL: CTAN:macros/latex/contrib/glossaries/glossary2glossaries.pdf

25

Vous aimerez peut-être aussi