Vous êtes sur la page 1sur 17

Exposs sur L

A
T
E
X
Thierry MASSON
Cours 3 Des packages incontournables
Give a man a sh and he will eat for a day;
Teach a man to sh and he will eat for a lifetime.
The moral? Read the manual!
Sign on a computer system consultants desk.
3.1 Le package inputenc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
O lon prend conscience que notre faon de communiquer avec lordinateur est
trs rudimentaire, mais o lon se rjouit de dcouvrir lexistence du Code
Universel. . .
3.2 Le package fontenc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
O lon prend la mesure des limitations de nos ordinateurs programms en 8 bits,
et o lon sapplique dpasser avec lgance et efcacit ces contingences. . .
3.3 Le package textcomp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
O lon dcouvre que lalphabet nest pas tout et quil est aussi possible de
communiquer avec des signes bizarres. . .
3.4 Le package lmodern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
O lon stonne que lAmrique ait si longtemps ignor la diversit et la richesse
typographique des langues latines, mais o lon apprend que lEurope Unie sest
mobilise pour rparer cette maladresse. . .
3.5 Le package geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
O lon dcouvre comment matriser lespace blanc de la page et o lon apprend
coucher notre prose lendroit de notre choix. . .
3.6 Le package babel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
O lon se rassure dapprendre que langlais nest pas la langue unique par laquelle
nous aurons communiquer et o lon dcouvre quau contraire nos incantations
peuvent convoquer les rgles typographiques de nombreuses langues. . .
3.7 Le package hyperref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
O lon dcouvre quun document crit peut se rvler dynamique sous les cliquetis
dune simple souris. . .
3.8 Les packages amssymb et amsmath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
O lon se donne un avant got de lesthtisme de la typographie mathmatique,
mais o lon reporte plus tard le plaisir de sinitier plus compltement cette
science. . .
3.9 Le package graphicx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
O lon apprend quon peut faire usage du vieil adage qui prtend quun bon dessin
vaut mieux quun long discours. . .
URLs des liens cits dans le texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Cours 3 Des packages incontournables

Une modle de chier source
Voici a quoi peut ressembler un fchier source L
A
T
E
X de base :
\documentclass[12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[TS1,T1]{fontenc}
\usepackage{textcomp}
\usepackage[a4paper,tmargin=3cm,bmargin=3cm,
rmargin=2.2cm,lmargin=2.2cm]{geometry}
\usepackage{amssymb,amsmath}
\usepackage{graphicx}
\usepackage{lmodern}
\usepackage[english,french]{babel}
\usepackage{hyperref}
\begin{document}
Mon texte\dots
\end{document}
Ces lignes sont commentes dans ce qui suit, mais pas dans lordre. . .
Ces packages peuvent tre utiliss avec dautres classes que la classe article.

report, book, amsart, revtex, svjour. . .


2 25 fvrier 2012
Cours 3 Des packages incontournables
3.1 Le package inputenc

Lencodage du chier source
En entre (fchier source), le moteur tex accepte seulement un encodage sur 8 bits

2
8
= 256 caractres possibles seulement.
Deux consquences importantes :
I. Il faut recourir a des macros pour des symboles absents de ces 236 possibilits :
\alpha

, \textcopyright

, et les lettres accentues peu usuelles. . .


L
A
T
E
X permet actuellement laccs a plus de 3 000 symboles par des macros diverses (avec des
packages et polices appropris).
2. Il ny a pas dencodage standard sur 8 bits dans le monde informatique.
Avant, il y avait lASCII
1
, encodage standard sur 7 bits (I28 caractres) : les lettres usuelles
(minuscules et majuscules), les chifres, quelques symboles divers ($, , #, {, . . . ).
La premire version de tex fonctionnait sous 7 bits, do lusage de \e pour encoder .
Le choix de complter ce tableau a 236 caractres dpend des systmes dexploitations :
Windows (ansinew
2
), Macintosh (applemac
3
) et Unix/Linux (latin1
4
) nont pas choisi de
placer les nouveaux caractres aux mmes endroits :
est en position hexadcimale E9, 8E et E9 respectivement ;
est absent de latin1.

Interlude : UNICODE
UNICODE
5
est une norme informatique qui vise a donner a tout caractre de nimporte quel
systme dcriture un nom et un identiant numrique, et ce de manire unique.
Intrt : Web, changes de fchiers, textes contenant difrentes langues. . .
UNICODE est donc un systme dencodage des caractres. Mieux encore, il les dfnit !
Le standard UNICODE est une rponse a la disparit des encodages :
chaque caractre est nomm et dfni ;
la place des caractres est standardise ;
toutes les critures (prsentes et passes) de la Terre sont incluses (ou le seront) ;
tous les symboles techniques (mathmatique, ingnierie, musique. . . ) ont leur place.
Une police UNICODE est une police qui contient tous les glyphes de tous les caractres dfnis dans
UNICODE, soit environ 70 000 objets !
UNICODE ne cesse ainsi jamais dvoluer : chacun peut proposer des caractres nouveaux, voire des
critures entires.
Dans une prochaine version, on y trouvera probablement le Tengwar
6
, lcriture invente par
J. R. R. Tolkien et qui fgure en bonne place dans Le Seigneur des Anneaux
7
.
UTF-8 est une implmentation concrte et performante de lencodage UNICODE.
(Voir la page Wikipdia
8
et les Tableaux de caractres Unicode
9
.)
25 fvrier 2012 3
Cours 3 Des packages incontournables
3.1 Le package inputenc

Interlude : UNICODE (suite)
Extrait de Introduction Unicode et lISO 10646
10
par Patrick Auviis :
Introduction Unicode et lISO 10646 65
4.1. Universalit
14

Le standard Unicode dcrit un seul jeu de caractres de trs grande taille qui
comprend tous les caractres ncessaires aux critures du monde. Le passage dune
criture lautre ne ncessite pas, contrairement certains jeux de caractres
dExtrme-Orient, de caractre dchappement. Les caractres de toutes les critures
peuvent se mler sans aucun encombre (voir la figure 10).
Glyphe
reprsentatif
Numro Nom officiel franais de lISO/CEI 10646

D

U+0044 LETTRE MAJUSCULE LATINE D

v

U+0076 LETTRE MINUSCULE LATINE V

o

U+006F LETTRE MINUSCULE LATINE O



U+0159 LETTRE MINUSCULE LATINE R CARON

a

U+0061 LETTRE MINUSCULE LATINE A

k

U+006B LETTRE MINUSCULE LATINE K

U+0020 ESPACE

U+5929 IDOGRAMME UNIFI CJC-5929



U+2F3C CL CHINOISE CUR

U+0633 LETTRE ARABE SN

U+0644 LETTRE ARABE LAM

U+0627 LETTRE ARABE ALIF

U+0645 LETTRE ARABE MM

U+03B1 LETTRE MINUSCULE GRECQUE ALPHA


U+10338 LETTRE GOTIQUE TH


U+1D110 SYMBOLE MUSICAL POINT D'ORGUE

14. Ce principe remplacera dans la version 4.0 le premier principe dUnicode encore officiel
dans la version actuelle dUnicode : Unicode est un code 16 bits . Ce principe est caduc
depuis lintroduction dUTF-32. Unicode peut se reprsenter de manire aussi lgitime sous
trois formes stockes diffrentes (UTF-8, UTF-16 ou UTF-32).
66 DN 6/2002. Unicode, criture du monde ?



U+2270 NI PLUS PETIT NI GAL

U

U+0F06 SIGNE TIBTAIN D'INSERTION YIG MGO PHUR
SHAD MA
15

Figure 10. Universalit du jeu de caractres
4.2. Efficacit
Afin de permettre des mises en uvre efficaces, Unicode ninclut pas de
caractres dchappement ou dtats de passage. Tous les caractres Unicode ont la
mme qualit, tous les codes sont dune gale facilit daccs
16
. Par convention et
dans la mesure du possible, les caractres dune mme criture sont regroups en un
bloc de caractres conscutifs. Non seulement ceci facilite-t-il la consultation des
tableaux de caractres, mais cela permet galement des mises en uvre plus
compactes. La majorit des caractres de ponctuation communs aux diffrentes
critures sont regroups dans un bloc spar.
Cette universalit et cette uniformit de codage permettent une analyse, un tri, un
affichage, un reprage et une dition efficaces des chanes textuelles Unicode.
4.3. Caractres et non glyphes
17

Le standard Unicode distingue les caractres, qui forment les plus petites units
distinctives et significatives dune langue crite, des glyphes qui reprsentent les
diffrentes formes visuelles quun caractre peut prendre. Un seul glyphe peut
reprsenter un seul ou plusieurs caractres (on parle alors dune ligature). De mme,
de multiples glyphes peuvent reprsenter un seul caractre (b, b et b sont tous des
U+0062 b).
On reprsente un caractre par un numro qui ne rside quen mmoire ou sur
disque. Le standard Unicode ne sintresse quau codage de caractres et non aux
glyphes. Contrairement aux caractres, les glyphes apparaissent lcran ou sur
papier et reprsentent une forme particulire dun ou plusieurs caractres. Un
rpertoire de glyphes constitue une police. La forme des glyphes et les mthodes
didentification et de slection de glyphes sont la responsabilit des fonderies et des
normes appropries. Celles-ci ne font pas partie du standard Unicode (v. 9, Rendu).
Pour certaines critures, comme larabe et diffrentes critures du sous-continent
indien, le nombre de glyphes ncessaires laffichage peut tre nettement plus

15. Il sagit dune translittration ( tymologique ) dorigine anglaise du tibtain, la
transcription franaise (et donc sa prononciation approximative) est fournie par son synonyme
non normatif dfini par lISO/CEI 10646 : yik go p'our ch ma.
16. Comme on le verra par la suite (v. 6, Modle de codage des caractres), ceci dpend de
la forme stocke choisie. Ainsi les caractres stocks laide dUTF-8 et UTF-16 ne sont-ils
pas aussi faciles accder que les caractres stocks sous la forme UTF-32.
17. Voir galement les articles de Yannis Haralambous et dOlivier Randier dans ce mme
numro.
1

inputenc et lencodage du chier source
Le package inputenc permet de dsigner lencodage slectionn pour le code source,
cest dire celui que lditeur de texte utilise pour la sauvegarde :
\usepackage[latin1]{inputenc} slectionne lencodage latin1.
Aujourdhui, les diteurs de texte savent interprter difrents encodages.
Sil est accessible, il est souhaitable dutiliser UNICODE quon peut slectionner avec :
\usepackage[utf8]{inputenc}
Remarque : lencodage dentre ninfuence pas sur le traitement du texte par L
A
T
E
X.
\e donne le mme rsultat que .
Mais des correcteurs orthographiques auront du mal a corriger h\eb\et\e !
Remarque : il arrive souvent quon reoive un fchier source dans un encodage qui nest pas celui de
notre diteur de texte.
A ldition, le fchier semble rempli de hiroglyphes bizarres !
ldition, le fichier semble rempli de hiroglyphes bizarres !
(encodage applemac ouvert en ansinew)
Si inputenc est appel avec la bonne option, L
A
T
E
X compilera ce fchier sans soucis.
Remarque : il est possible dinstaller plusieurs encodages pour un document et de mlanger des
textes en entre (avec des \input ou \include{-}) de difrents encodages : placer
\inputencoding{encodage} a chaque changement dencodage.
4 25 fvrier 2012
Cours 3 Des packages incontournables
3.2 Le package fontenc

Lencodage des fontes
Les fchiers de fontes .pfb utiliss par L
A
T
E
X ne contiennent que 236 glyphes (8 bits. . . ).
Pour composer un texte un peu riche, il faut donc assembler de nombreux fchiers .pfb.
Les polices dcriture par dfaut de T
E
X, COMPUTER MODERN, contiennent 90 fchiers .pfb pour
autant de fontes de caractres.
Deux problmes se prsentent a L
A
T
E
X :
I. Il doit trouver les informations sur un glyphe particulier dans cette multitude de fchiers, et
son emplacement dans les fchiers (qui sont en fait des gros tableaux).
2. Il doit construire un fchier de sortie (.dvi, .pdf) dans lequel linformation est du type : a tel
endroit de la page placer le glyphe numro tant pris dans le fchier untel.
Pour trouver un glyphe particulier, L
A
T
E
X doit dont dabord connaitre le fchier dans lequel il se
trouve (cest le role des fchiers .fd, .vf. . . ) et ensuite trouver lemplacement du glyphe dans le tableau
des 236 caractres.
Pour placer la bonne information dans le fchier de sortie, il doit connaitre lorganisation du tableau
des 236 caractres.
Lencodage des fontes standardise la faon dont on morcelle une police dcriture en blocs r-
duits de 236 glyphes.
Le package fontenc informe L
A
T
E
X sur lencodage utilis par la police utilise.
Une mme police peut tre morcelle dans difrents encodages

choix de lutilisateur.

Les encodages de fontes usuels
Les encodages utiles pour le commun des mortels de langue latine :
OT1 Cest lencodage dorigine, O pour Old. . .
Cet encodage ne reconnait pas les glyphes des lettres accentues.
viter car il ne gre pas les csures sur des mots contenant des caractres accentus.
T1 Il contient lessentiel des caractres des langues de lEurope de louest.
Il permet la gestion des csures de la majorit de ces langues.
Cest lencodage a utiliser de prfrence.
TS1 Encodage Text Symbol. Cest un encodage compagnon de T1 qui permet laccs a des glyphes
de type symboles utiliss dans des textes, comme , % ou .
OML, OMS, OMX Encodages utiliss pour les polices mathmatiques. Il est inutile de les spcifer dans
fontenc car ils sont automatiquement appels.
Il existe des encodages spcifques pour le cyrillique, le grec, le chinois/japonais/koren (CJK) et
mme le phontique !
Pour utiliser les encodages T1 et TS1, la ligne a placer dans le prambule est du type :
\usepackage[TS1,T1]{fontenc}
25 fvrier 2012 5
Cours 3 Des packages incontournables
3.2 Le package fontenc

Limportance du choix de lencodage des fontes
Dans lencodage OT1, les glyphes des lettres accentues nexistent pas.
Dans ce cas, tex superpose laccent (dont le glyphe existe) sur la lettre correspondante.
Le rsultat est double :
I. Le glyphe obtenu nest pas optimum dun point de vue typographique.
2. La mtrique du glyphe ainsi compos nexiste pas, ce qui rend inoprant lalgorithme de
csure utilis par tex.
Pour rsoudre ces problmes, il sumt de passer en encodage T1 (pour les langues latines).
Les polices dcriture par dfaut de T
E
X sont les dclinaisons de COMPUTER MODERN (CM). Elles ont
t cres par D. Knuth en mme temps que T
E
X. Ces polices ne peuvent pas tre utilises avec
lencodage T1 car elles ne contiennent pas sumsamment de glyphes.
Pour pouvoir utiliser lencodage T1, de nouvelles polices ont t cres, CM-SUPER, qui contiennent
les glyphes des lettres accentues communes.
Ces polices sont actives par dfaut lorsquon passe en T1.
Les glyphes obtenus tant difrents entre ces deux ensembles de polices, le rsultat visuel peut
difrer si on utilise lencodage OT1 (a gauche, CM) ou T1 (a droite, CM-SUPER) :
e= o= ` u=

Limportance du choix de lencodage des fontes (suite)

Lalgorithme de csure utilis par tex dpend de lencodage des polices.

trs important pour lutilisateur.


Il ta son chapeau
devant le mdecin hbt.
Il ota son chapeau devant le m-
decin hbt.
Avec lencodage T1
Il ta son chapeau
devant le mdecin hbt.
Il ota son chapeau devant le
m edecin h eb et e.
Avec lencodage OT1
Il \^ota son chapeau
devant le m\edecin
h\eb\et\e.
Il ota son chapeau devant le m-
decin hbt.
Avec lencodage T1
Il \^ota son chapeau
devant le m\edecin
h\eb\et\e.
Il ota son chapeau devant le
m edecin h eb et e.
Avec lencodage OT1
Noter les csures difrentes entre la colonne de gauche (T1) et la colonne de droite (OT1),
indpendamment de la faon dont on compose le texte.

Autre problme de lencodage OT1 : impossible de rechercher des mots avec des lettres
accentues dans le PDF fnal.
6 25 fvrier 2012
Cours 3 Des packages incontournables
3.2 Le package fontenc

Les packages inputenc et fontenc : la synthse
Entre lentre du fchier source dont lencodage est repr par inputenc, et la sortie visuelle dont
lencodage des polices est impose par fontenc, le moteur tex utilise son propre encodage !
Cest pourquoi il est important quil sache traduire le texte en entre dans son propre encodage et la
sortie dans lencodage des polices utilises.
Aprs rglage correct de lditeur de texte utilis pour composer le fchier source (prfrence
dencodage de sauvegarde), systmatiquement prendre lune des options suivantes :
\usepackage[latin1]{inputenc}
\usepackage[TS1,T1]{fontenc}
ou
\usepackage[utf8]{inputenc}
\usepackage[TS1,T1]{fontenc}

Il y a une subtilit sur le choix des polices dcriture, voir le package lmodern.
25 fvrier 2012 7
Cours 3 Des packages incontournables
3.3 Le package textcomp

textcomp : text companion
Pour faire de la place aux glyphes des alphabets latins dans lencodage T1, il a fallu placer les
symboles divers (autres que mathmatiques) dans dautres fontes, avec lencodage TS1 :
% % *
Certains de ces symboles sont dja accessibles sans textcomp.
\usepackage{textcomp} permet a L
A
T
E
X daccder a ces symboles divers.
\texteuro, \texttrademark et \textsection
, et
mathcomp est la version math de textcomp : certains symboles de textcomp y sont redfnis en
mode mathmatique, avec le prfxe \tc- plutot que \text-.
$45\tcdegree$, $100\,\tcohm$ et $12\tccelsius$
45, 100 et 12C

mathcomp nutilise pas ncessairement la police du texte par dfaut, il faut lui dsigner cette
police comme option.

textcomp : $
Exemple de symboles accessibles avec textcomp (I26 symboles en tout) :
\textasteriskcentered \textdollar $
\texteuro \textyen Y
\textasciicircum ^ \textasciitilde ~
\textbar | \textbackslash \
\textbraceleft { \textbraceright }
\textlbrackdbl \textrbrackdbl |
\textrightarrow \textleftarrow
\textdownarrow \textuparrow
\textlangle \textrangle
\textcopyright \textregistered
\texttrademark \textservicemark ^
\textdagger \textdaggerdbl
\textperthousand % \textpertenthousand %
\textdegree \textcelsius
\textborn - \textmu
\textohm ! \textmho G
\textleaf \textmusicalnote
\textmarried : \textdivorced
8 25 fvrier 2012
Cours 3 Des packages incontournables
3.4 Le package lmodern

Les polices LATIN MODERN
Les polices par dfaut de T
E
X, COMPUTER MODERN, sont insumsantes dun point de vue
typographique, par manque de nombreux glyphes (lettres accentus pour lessentiel).
Les polices CM-SUPER ont complt cette lacune provisoirement.
Depuis 2002, un projet fnanc principalement par des groupes dutilisateurs T
E
X europens, a vu le
jour pour tendre COMPUTER MODERN a toutes les critures bases sur le latin, en particulier les
langues dEurope de lEst.
De nombreux glyphes ont t ajouts, la qualit typographique a t renforce.
Le rsultat est lensemble de polices dcriture LATIN MODERN, compos de 72 fontes de caractres,
auxquelles on ajoute 20 fontes pour les mathmatiques.
En tout, il y a 38 604 caractres pour un total denviron 69 000 glyphes. . .
\usepackage{lmodern} permet dutiliser ces polices.
Tous les fchiers ncessaires sont installs par dfaut sur les dernires versions de T
E
X.
Il est hautement recommand de lutiliser.
Exemples de glyphes contenus dans les polices LATIN MODERN :

Figure 1: Ten of the 69000-odd glyphs in the Latin Modern collection.
2 NFSS refresher
To provide context, some brief details of L
A
T
E
Xs font selection scheme are ex-
pounded here. Refer to the documentation [6] for further information. Three
main families are dened for a document: the default roman, sans serif, and type-
writer fonts. These are selected with the \rmfamily, \sffamily, and \ttfamily
commands, respectively. Arbitrary font families are requested with the command
\fontfamily{...}; all such \font... commands (more to be seen) must be ap-
pended by \selectfont, if nothing else, to perform the actual font selection.
Variations along two other font axes (other than family) are possible: series
and shape. The former is used to express weight and width, such as bold or
condensed, and combinations thereof. We will be using the \fontseries{...}
command later to look at various weights of the Latin Modern fonts. The shape
axis is used to express italics and small caps, among other more esoteric options.
We shall be content in the shape axis to use the commands \itshape, \slshape,
and \scshape to choose between the italic, oblique, and small caps shapes.
How do we discover all the codes used to express the families, series and
shapes for each font? These are all dened within font denition (.fd) les,
which are supplied one per font encoding. The most common encoding is T1,
which provides glyphs for many, but not all, European languages. To discover
the font shapes available in the Latin Modern collection, then, these les must be
located within the T
E
X distribution. They are found in the texmf/tex/latex/lm
directory (where this is located will be system dependent), and investigation here
will yield all of Latin Moderns secrets.
The encodings currently supported by the Latin Modern fonts in L
A
T
E
X are: T1,
for most European languages; QX, a variant of T1 that is more suitable for Slavonic
languages (including the ligature, cf. fk); LY1, which supports a mixture of com-
mon symbols and accented letters; T5, for Vietnamese; and TS1, a large collection
of miscellaneous symbols to accompany T1.
2
(Extrait de An exploration of the Latin Modern fonts
11
par Will Roviv1so)

Les avantages des polices LATIN MODERN

Il y a des difrences nettes lorsquon agrandit les polices LATIN MODERN, CM-SUPER et
COMPUTER MODERN avec des commandes usuelles :
Latin Modern Sans Bold
CM-super Sans Bold
Computer Modern Sans Bold
\bfseries\normalsize
Latin Modern Sans Bold
CM-super Sans Bold
Computer Modern Sans Bold
\bfseries\large
Les polices CM-SUPER ne changent pas dchelle correctement et produisent du Sans Bold qui est
trop maigre.
On a vu quil tait prfrable dutiliser lencodage T1 avec fontenc pour avoir de bonnes csures

ceci oblige L
A
T
E
X a utiliser les polices CM-SUPER qui nont pas de grandes qualits typographiques.
Utiliser systmatiquement lmodern, ces polices ont tous les avantages.
Enfn, les polices LATIN MODERN sont disponibles en OPENTYPE, ce qui les rend accessibles a
nimporte quel logiciel ordinaire sur lordinateur.

Pratique pour externaliser la production dun morceau de document tout en conservant la


typographie de T
E
X.
25 fvrier 2012 9
Cours 3 Des packages incontournables
3.5 Le package geometry

La gomtrie dune page L
A
T
E
X
Une page L
A
T
E
X est divise en zones prcises, dont la gomtrie est gouverne par difrents
paramtres :
paper
total body
height
width
paperwidth
paperheight
top
bottom
left
(inner)
right
(outer)
c
c
T
T
E ' E '
textheight
c
T
head
headheight

headsep

footskip
r
r
body
' E
c
c
textwidth
foot
marginal note
'E
marginparsep

marginparwidth
Figure 1: Dimension names used in the geometry package. width=textwidth and
height=textheight by default. left, right, top and bottom are margins. If margins on
verso pages are swapped by twoside option, margins specied by left and right options
are used for the inside and outside margins respectively. inner and outer are aliases of
left and right respectively.
(a) default
paper
T
textheight
c
head
body
foot
c
c
T
T
top
bottom
(b) includehead and includefoot
paper
T
textheight
c
head
body

total body
foot
c
c
T
T
top
bottom
Figure 2: includehead and includefoot include the head and foot respectively into total body.
(a) height = textheight (default). (b) height = textheight + headheight + headsep
+ footskip if includehead and includefoot. If the top and bottom margins are
specied, includehead and includefoot result in shorter textheight.
In Equation (3) width:=textwidth by default, while marginparsep and marginparwidth are included in
width if includemp option is set true. In Equation (4), height:=textheight by default. If includehead
is set to true, headheight and headsep are considered as a part of height. In the same way, includefoot
takes footskip into height. Figure 2 shows how these options work in the vertical direction.
Thus, the page layout consists of three parts (lengths) in each direction: one body and two margins. If
the two of them are explicitly specied, the other length is obvious and no need to be specied. Figure 3
shows a simple model of page dimensions. When a length L is given and is partitioned into the body b,
the margins a and c, its obvious that
L = a + b + c (5)
The specication with two of the three (a,b and c) xed explicitly is solvable. If two or more are left
unspecied or underspecied, Equation (5) cannot be solved without any other relation between them.
If all of them are specied, then it needs to check whether or not they satisfy Equation (5), that is too
much specication or overspecied.
The geometry package has auto-completion mechanism that saves the trouble of specifying the page
layout dimensions. For example, you can set
\usepackage[width=14cm, left=3cm]{geometry}
3
Il est possible de fxer soi-mme ses paramtres, mais il faut alors respecter certaines contraintes
comme par exemple :
paperwidth = left + width + right
paperheight = top + height + bottom

Gestion de la gomtrie avec le package geometry
Le package geometry permet de grer cette situation complexe.
Il donne a lutilisateur la possibilit de fxer les valeurs de certains paramtres, et il se charge de
calculer ceux qui manquent.
En cas de sous dtermination, il utilise des valeurs par dfaut.
En cas de sur dtermination, il y a des rgles de priorit.
Il est possible de sauvegarder une gomtrie, de basculer sur une nouvelle gomtrie (qui
dmarre sur une nouvelle page) et dappeler une gomtrie sauve.
Il est possible de choisir une zone de travail (layout) plus petite que la taille du papier.
La gomtrie de la page peut tre fxe par :
Les options dans \usepackage[-]{geometry}
La commande \geometry{-} place dans le prambule.
Il faut bien sr appeler le package avant dutiliser cette commande.
Cette commande est prioritaire sur les options du package.
Les options spcifes avec ce package sont prioritaires sur celles de mme nature fournies avec la
classe du document (taille du papier).
10 25 fvrier 2012
Cours 3 Des packages incontournables
3.5 Le package geometry

Exemple de gomtrie
\usepackage[a4paper,tmargin=3cm,bmargin=3cm,
rmargin=2.2cm,lmargin=2.2cm]{geometry}
Spcife : la taille du papier (a4paper), les marges top, bottom, right et lef (tmargin,
bmargin, rmargin et lmargin).
Cest quivalent a :
\usepackage[a4paper,vmargin=3cm,hmargin=2.2cm]{geometry}
o vmargin et hmargin sont les marges verticales et horizontales.
Quelques options utiles :
Options gnrales verbose, twoside, showframe, landscape, portrait. . .
Taille du papier a0paper, . . . , a6paper, screen, paperwidth=dim, paperheight=dim. . .
Taille du corps textwidth=dim, textheight=dim, text={dim,dim}. . .
Taille des marges tmargin=dim, . . . , hmargin=dim, vmargin=dim, inner=dim,
outer=dim. . .

Cette panoplie doptions permet a lutilisateur de dfnir des marges ou au contraire une taille
du corps du texte.

Gestion des marges intrieures et extrieures pour les impressions en recto-verso.


25 fvrier 2012 11
Cours 3 Des packages incontournables
3.6 Le package babel

Au tour de babel
L
A
T
E
X utilise par dfaut la typographie de la langue anglaise (amricaine).
Les mots cls structurants (Chapter, Contents, Table. . . ) sont aussi en anglais.
Le package babel permet de grer les spcifcits de plus de 40 langues :
traduction des mots usuels produits par L
A
T
E
X ainsi que de certaines macros ;
utilisation des motifs de csure et des rgles typographiques de la langue spcife ;
lot de macros spcifques a la langue.
\usepackage[english,french]{babel}
installe les langues english et french pour le document et slectionne french comme langue
par dfaut (le dernier de la liste).
Il faut placer dans cette liste toutes les langues utilises par la suite dans le document.
\selectlanguage{english} active les attributs de la langue anglaise.
\begin{otherlanguage}{german}...\end{otherlanguage}
permet denglober un morceau de texte en allemand.
babel dfnit de nombreuses commandes pour grer plusieurs langues dans les macros
personnelles

lire sa documentation pour des dtails.

Il faut placer lappel a babel aprs les packages susceptibles de dfnir des mots cls.

babel et les spcicits de la langue franaise
Traduction des mots usuels : Chapter

Chapitre, Contents

Table des matires,


Table

Tableau. . .
Date : \today donne la date en franais :
anglais

February 23, 20I2


franais

23 fvrier 20I2
Typographie franaise : Indentation pour le premier paragraphe,
guillements franais : \og mot \fg

mot ,
espace avant les doubles ponctuations : ; ! ?
Macros diverses : \primo

I
o
, \secundo

2
o
, M\up{me}

M
me
, 1\ier

I
er
, 3\ieme

3
e
, \Nos

N
os
. . .
Listes : Les items des listes sont au lieu de et les espaces sont ajusts a la typographie
franaise.
Csures : Les csures franaises sont difrentes des csures anglaises :
En anglais, \showhyphens{signal container} produit
[] \T1/lmr/m/n/12 sig-nal con-tainer
En franais, \showhyphens{signal container} produit
[] \T1/lmr/m/n/12 si-gnal contai-ner

tex propose de couper ces mots a des endroits difrents.


12 25 fvrier 2012
Cours 3 Des packages incontournables
3.7 Le package hyperref

Hyperliens, navigation et mtadonnes avec PDF
Le format PDF a des fonctionnalits avances :
hyperliens internes qui permettent de passer dune page a une autre dans le document ;
hyperliens externes qui acceptent les URL usuelles, par exemple vers des pages web
(http://...) ou des adresses emails (mailto:...) ;
table des matires qui permet de naviguer dans le document (bookmarks) ;
mtadonnes du document qui renseignent sur lauteur, le titre, les mots cls, le logiciel de
cration. . .
Le package hyperref permet de profter quasi-automatiquement de ces fonctionnalits :
hyperliens internes vers les \label{-} a partir de \ref{-}, \pageref{-} et \eqref{-} ;
hyperliens internes a partir de la table des matires L
A
T
E
X (\tableofcontents) vers les pages
concernes, de mme pour les listes de fgures et de tableaux ;
hyperliens internes vers les entres bibliographiques a partir de \cite{-} ;
table des matires du document PDF gnre sur les informations \chapter{-} . . .
\subsection{-} du document.
Le package hyperref est compatible avec pdftex, tex/dvips/ps2pdf et tex/dvipdfm.

Conguration de hyperref, mtadonnes du PDF
La commande \hypersetup{-} permet de personnaliser le comportement de hyperref et du
document PDF produit.
\hypersetup{
plainpages=false,
colorlinks=true, linkcolor=black, anchorcolor=black,
citecolor=black, menucolor=black, urlcolor=black,
bookmarks=true, bookmarksopen=true, bookmarksnumbered=true,
pdftitle={Expos sur LaTeX},
pdfauthor={Thierry Masson},
pdfsubject={cours sur LaTeX},
pdfcreator={TeX}, pdfproducer={pdfTeX},
pdfkeywords={LaTeX, cours}
}

possibilit douvrir automatiquement le document en pleines pages, couleurs de difrents types


de liens, comportement des bookmarks, mtadonnes sur le document. . .
De nombreuses autres options disponibles. . .
25 fvrier 2012 13
Cours 3 Des packages incontournables
3.7 Le package hyperref

Quelques commandes utiles
hyperref fournit les commandes essentielles suivantes :
\href{http://www.lesite.fr}{lien} cre un hyperlien externe a partir du texte lien vers
la page http://www.lesite.fr.
\hypertarget{label}{lieu} cre un but de nom label a lemplacement du texte lieu.
\hyperlink{label}{lien} cre un lien interne vers le but label a partir du texte lien.
\hyperref[label]{lien} cre un lien interne vers le but cre par \label{label}.
\texorpdfstring{nom TeX}{nom PDF}
Les bookmarks de PDF ne peuvent pas contenir des macros T
E
X.
Cette commande donne une alternative nom PDF a nom TeX.
Elle doit tre utilise dans les commandes qui produisent les bookmarks, comme par exemple
\section{-}.
Lapparence dun lien peut tre modife par des commandes L
A
T
E
X, et par les options de
\hypersetup{-} (pour la couleur, la prsence dun cadre. . . ).

Il est prfrable dappeler ce package en dernier car il modife de nombreuses macros dfnies
par dautres packages.
14 25 fvrier 2012
Cours 3 Des packages incontournables
3.8 Les packages amssymb et amsmath

Mathmatiques suprieures avec amssymb et amsmath
Par dfaut, L
A
T
E
X soccupe trs bien des mathmatiques.
De nombreuses fonctionnalits sont ajoutes par ces deux packages.
Le package amssymb dfnit de nouveaux symboles :
\varnothing

, \bigstar

, \boxplus

, \ltimes

.
Remarque : dautres packages ajoutent aussi des symboles mathmatiques.
amssymb appelle aussi le package amsfonts qui dfnit les commandes :
\mathfrak{-} 012...789 ABCD...UVWXYZabcd...uvwxyz
\mathbb{-} ABCD...UVWXYZ (

pas de minuscules ni de chifres)


Le package amsmath ajoute de nombreuses fonctionnalits :
des environnements dquations hors paragraphes : equation, align, gather, multline,
split, flalign et des versions toiles (sans numrotation) ;
des commandes pour grer les numros dquations, interrompre des quations, placer du texte
dans le mode mathmatique, des points (a difrentes hauteurs), des fches avec labels, des
fches extensibles, des fractions, des intgrales multiples. . .
divers environnements pour grer des sous quations et des matrices. . .
des commandes pour dfnir des oprateurs (du type \lim).

Ces deux packages ne sont pas rservs aux mathmaticiens : il peuvent tre trs utiles dans un
article de physique, et ils sont accepts par les diteurs de physique.
25 fvrier 2012 15
Cours 3 Des packages incontournables
3.9 Le package graphicx

Linclusion de graphiques
L
A
T
E
X ne gre pas directement les fchiers graphiques externes.
Cest le driver qui convertit en PS ou PDF qui sen occupe.

Selon le driver utilis, les fchiers quil est possible dinclure sont difrents :
dvips accepte les .eps,
dvipdfm accepte les .eps, .jpg et .png,
pdftex accepte les .pdf, .jpg et .png.
La dlgation du travail vers les drivers est ralise grace au package graphicx.
La commande principale dfnie par ce package est \includegraphics[-]{-}.
Largument obligatoire est le nom du fchier image, largument optionnel permet des
transformations lmentaires : taille fnale, rotation, extrait, mise a lchelle. . .
\includegraphics[width=1.5cm,angle=45]{CPT.pdf}
O
Dautres commandes sont mises a disposition :
agrandissement dune boite L
A
T
E
X quelconque (du texte, une image, un tableau. . . ) :
\scalebox{-}{-}, \resizebox{-}{-}{-}
rotation dune boite L
A
T
E
X : \rotatebox{-}{-}
La gestion et la cration des graphiques dans L
A
T
E
X fera lobjet dun autre cours.
16 25 fvrier 2012
Cours 3 Des packages incontournables
URLs des liens cits dans le texte
1
http://fr.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange
2
http://fr.wikipedia.org/wiki/Windows-1252
3
http://fr.wikipedia.org/wiki/MacRoman
4
http://fr.wikipedia.org/wiki/ISO_8859-1
5
http://www.unicode.org/
6
http://fr.wikipedia.org/wiki/Tengwar
7
http://fr.wikipedia.org/wiki/Le_Seigneur_des_anneaux
8
http://fr.wikipedia.org/wiki/Unicode
9
http://www.unicode.org/fr/charts/
10
http://www.cairn.info/revue-document-numerique-2002-3-page-51.htm
11
http://www.tug.org/pracjourn/2006-1/robertson/
25 fvrier 2012 17