Vous êtes sur la page 1sur 211

Sbastien Combfis

LATEX HowTo

Version PDF gratuite http://www.latex-howto.be/

Version PDF gratuite http://www.latex-howto.be/

Sbastien Combfis

LATEX HowTo

Version PDF gratuite http://www.latex-howto.be/

Publication

LATEX HowTo
par Sbastien Combfis

Ce livre a t entirement compos sous le systme dexploitation Mac


OS X 10.6.5, grce au systme de composition LATEX 2 et a t compil
avec pdfTEX 3.1415926-1.40.11 (TEX Live 2010).
La photo de couverture provient de http://commons.wikimedia.org/wiki/
File:Tafoni_by_Endico.jpg et reprsente des Tafonis. Les autres images
proviennent de http://www.openclipart.org/.
Premire dition, dcembre 2010.

Version PDF gratuite http://www.latex-howto.be/

Copyright c 2010 Sbastien Combfis.

Table des matires

Avant-propos

viii

Introduction

1
. . . .
. . . .
. . . .
figures

2 Style et mise en page


2.1 Alignement et positionnement . .
2.2 Csure . . . . . . . . . . . . . . .
2.3 Style . . . . . . . . . . . . . . . .
2.4 Mise en page avance . . . . . . .
2.5 Dimensions et format de la page
3 Listes
3.1 Insrer une liste . . . .
3.2 Style des listes . . . .
3.3 Grer la numrotation
3.4 Dfinir une liste . . . .
3.5 Mise en page avance .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

4 Images

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

. . . . . .
. . . . . .
. . . . . .
et tables
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

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

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

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

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

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

.
.
.
.

5
5
6
10
15

.
.
.
.
.

19
19
23
24
29
35

.
.
.
.
.

41
41
43
46
47
49
53

Version PDF gratuite http://www.latex-howto.be/

1 Structurer le document
1.1 Type de document . . . . . .
1.2 Page de titre . . . . . . . . .
1.3 Sectionnement . . . . . . . .
1.4 Table des matires et liste des

vi

TABLE DES MATIRES

4.1
4.2
4.3
4.4

Insrer une image .


Positionnement . .
Gestion des images
Insrer une photo .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

53
58
62
63

5 Tableaux
5.1 Insrer un tableau . . . . . . .
5.2 Cellules spciales . . . . . . . .
5.3 Descripteurs de colonne avancs
5.4 Apparence . . . . . . . . . . . .
5.5 Dimensions et positionnement .
5.6 Mise en page avance . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

65
65
69
72
75
82
87

6 Boite
6.1 Insrer une boite . . . .
6.2 Boites de transformation
6.3 Styles de boites . . . . .
6.4 Grande boite . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

7 Mathmatique
7.1 Mode mathmatique . . . . . .
7.2 Symboles . . . . . . . . . . . .
7.3 Constructions basiques . . . . .
7.4 Dlimiteurs . . . . . . . . . . .
7.5 Tableaux, matrices et quations
7.6 Thormes . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

103
103
104
107
111
112
114

.
.
.
.
.
.

117
117
122
123
127
130
132

8 Autour du texte
8.1 Rfrences croises . .
8.2 Lgendes . . . . . . . .
8.3 Entte et pied de page
8.4 Notes de bas de page .
8.5 Notes de marge . . . .
8.6 Modification . . . . . .

.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

9 Codes source
133
9.1 Insertion brute . . . . . . . . . . . . . . . . . . . . . . . . 133

Version PDF gratuite http://www.latex-howto.be/

.
.
.
.

91
91
95
98
101

TABLE DES MATIRES

9.2
9.3

vii

Codes source dun programme . . . . . . . . . . . . . . . . 136


Algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . 140

10 Bibliographies
145
10.1 Insrer une bibliographie . . . . . . . . . . . . . . . . . . . 145
10.2 Utiliser BibTEX . . . . . . . . . . . . . . . . . . . . . . . . 146
11 Dessin
153
11.1 Arbres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
11.2 TikZ/PGF . . . . . . . . . . . . . . . . . . . . . . . . . . 155
11.3 PSTricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
12 Personnaliser LATEX
12.1 Commandes et environnements
12.2 Tests et rptitions . . . . . . .
12.3 Dfinir un flottant . . . . . . .
12.4 Dfinir un compteur . . . . . .
12.5 Dfinir une longueur . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

161
161
162
165
167
167

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

169
. 169
. 171
. 172
. 172
. 173

14 Classes de documents
14.1 crire une lettre . . . . . . . . . . . . . . .
14.2 Prsenter un CV . . . . . . . . . . . . . . .
14.3 Mettre en page un journal . . . . . . . . . .
14.4 Construire une prsentation avec des slides

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
international

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

175
176
178
180
184

A Utiliser LATEX sur mon ordinateur

189

B Quelques liens utiles

191

Liste des packages

193

Version PDF gratuite http://www.latex-howto.be/

13 Divers
13.1 Mots-croiss . . . . .
13.2 Code-barres . . . . .
13.3 Filigrane . . . . . . .
13.4 Nombre alatoire . .
13.5 Alphabet phontique

.
.
.
.
.

195
Index

AVANT-PROPOS
viii

Version PDF gratuite http://www.latex-howto.be/

Avant-propos

LATEX est certes un systme formidable, mais il est loin davoir t bien
pens ds le dpart. Tous les environnements et commandes sutilisent
de manire htroclite et il existe une plthore de packages dvelopps
par diffrentes personnes, dont plusieurs permettent de raliser la mme
chose . . . ou presque.

Voil donc ce qui a donn lieu la rdaction de ce livre dont le titre est
LATEX HowTo quon pourrait traduire par LATEX comment faire ? .
Ce livre tente dapporter des rponses cette question, sur base de toute
lexprience que jai acquise dans ce domaine.
Bien entendu, ce livre ne couvre pas tout. Il y aurait encore tant de
choses dire ! Nanmoins, ce livre est avant tout pour vous. Si vous ny
trouvez pas quelque chose qui devrait, selon vous, sy trouver ou si vous
avez quelque remarque que ce soit, nhsitez pas vous connecter sur le
site web officiel du livre pour en discuter :
http://www.latex-howto.be
Jy serai votre coute et ferai tout mon possible pour rpondre vos
demandes et cela profitera par la mme occasion toute la communaut
des lecteurs de ce livre.

ix

Version PDF gratuite http://www.latex-howto.be/

Afin de maitriser toutes ces possibilits, il ny a pas dautre manire que


de pratiquer un maximum. tant un trs grand fan de LATEX, et avec
maintenant bientt 8 ans dexprience de rdaction avec ce systme, jai
eu loccasion de me frotter un si grand nombre de packages que mes
amis, collgues, tudiants, etc. viennent souvent me trouver quand ils
veulent raliser quelque chose en LATEX quils ne savent pas faire.

AVANT-PROPOS

Utiliser ce livre
Jaimerais avant tout prendre trente secondes pour vous expliquer ce
que ce livre nest pas. Il ne sagit pas ici dun tutoriel sur LATEX et vous
nallez donc pas pouvoir apprendre, partir de rien, comment fonctionne
LATEX et comment rdiger des documents. Il ne sagit pas non plus dun
livre qui va vous expliquer le fonctionnement interne de LATEX et les
algorithmes de mise en page.
Comme annonc prcdemment, il faut plutt voir ce livre comme un
guide ou comme un pense-bte. Il tente de rpondre la question How
to . . . with LATEX ? ou Comment faire . . . avec LATEX ? . Le livre
est organis en chapitres, chacun de ceux-ci couvrant un thme (images,
tableaux, mathmatiques . . .) et rpondant aux questions sy rattachant.
Afin de trouver une question votre rponse, vous pouvez soit profiter de
la table des matires, soit utiliser lindex. Si vous cherchez des informations
sur un package, vous pouvez galement vous baser sur la liste des packages
prsents dans ce livre se trouvant la fin de ce dernier.

Remerciements

Je remercie galement toutes les autres personnes qui ont suscit un intrt
grandissant pour un tel livre, du dbut la fin. Ceux-ci mont permis de
ne pas abandonner ce projet en cours de route et de le concrtiser afin
quaujourdhui, vous puissiez tenir ce livre entre vos mains.
Louvain-la-Neuve, le 3 dcembre 2010.
Sbastien Combfis
sebastien@combefis.be

Version PDF gratuite http://www.latex-howto.be/

Pour conclure, et avant de vous laisser vous plonger dans le livre, je tiens
remercier particulirement trois personnes sans qui ce livre naurait
jamais vu le jour. Tout dabord Pierre Bouilliez qui ma donn lide
dun tel livre et qui a fait une relecture complte de la premire version.
Ensuite, Marie Latteur pour avoir relu intgralement la seconde version
du livre et avoir dcel des fautes dorthographe. Enfin, un tout grand
merci Pierre-Louis Peeters pour la relecture finale et pour ses remarques
tant au niveau orthographique et grammatical quau niveau du contenu.

Introduction

Ce livre sadresse principalement aux personnes ayant dj une connaissance lmentaire de LATEX. Cette introduction va discuter, en quelques
pages, de ce quest le systme LATEX, de sa philosophie, et de comment
lutiliser afin de rdiger un document minimal.

Bref historique
LATEX a t dvelopp par Leslie Lamport en 1984 sur base du systme TEX de Donald Knuth, cr en 1977. Il sagit dun ensemble de
programmes libres permettant de composer des documents de qualit
professionnelle.
La version actuelle, LATEX 2 , est le rsultat du travail de toute une communaut de dveloppeurs qui demeure actuellement trs active. Pendant
ce temps, la communaut travaille galement sur la prochaine version de
LATEX depuis le dbut des annes 90. Cette version est toujours en cours
de dveloppement aujourdhui. Vous trouverez plus dinformations ce
propos sur le site officiel du projet LATEX :
http://www.latex-project.org/latex3.html
1

Version PDF gratuite http://www.latex-howto.be/

Vous pouvez voir cette introduction comme un rapide tutoriel sur LATEX.
Pour en savoir plus sur comment utiliser LATEX sur votre ordinateur en
pratique, vous pouvez consulter lannexe A et le site web http://www.
latex-howto.be. Vous trouverez galement toute une srie dinformations
complmentaires et des liens vers des tutoriels complets sur ce site web.

INTRODUCTION

Pour ou contre ?
Pourquoi faudrait-il utiliser LATEX ? Tout dabord parce quil sagit dun
systme libre qui existe pour Windows, Linux et Mac OS X. Ce dernier
permet galement dobtenir des documents de qualit professionnelle.
Certes, lapprentissage de ce langage nest pas ais au dpart, et vous pourriez trs certainement prfrer des systmes classiques dits WYSIWYG 1
qui vous permettent dditer un document tout en voyant directement
le rsultat final. Cela dit, il existe un diteur WYSIWYG pour LATEX :
LyX 2 . De plus, les diteurs LATEX courants proposent de nombreux outils
daide la rdaction et, enfin, une fois LATEX appris, vous vous rendrez
compte que a va beaucoup plus vite de rdiger un document en LATEX,
mme sans pouvoir voir directement le document produit.
On vous dira galement quil ny a pas de correcteurs orthographiques
pour LATEX. Cela est bien entendu faux tant donn que la plupart des
diteurs en intgrent un.
De toute faon, il ny a pas trente-six-mille questions se poser. Essayez-le
et adoptez-le.

Quelle est la philosophie principale de LATEX ? Il sagit essentiellement


de sparer le contenu du document de sa prsentation. Lorsque vous
rdigez votre document, vous devez vous concentrer sur le texte et sur la
structuration du document. Ensuite, vous dfinissez le type de document
dont il sagit afin de dfinir le style appliquer.

Bases de LATEX
En LATEX, il y a essentiellement deux types de constructions : les commandes et les environnements. On va rapidement les passer en revue ici
avec un ou deux exemples chaque fois.
1. What You See Is What You Get.
2. http ://www.lyx.org/

Version PDF gratuite http://www.latex-howto.be/

Philosophie

INTRODUCTION

Commandes
Les commandes prennent la forme suivante :
\nom[option]{paramtre_1}{paramtre_2}...{paramtre_n}

On commence donc avec un backslash, suivi du nom de la commande.


Viennent ensuite ventuellement des options entre crochets et enfin une
suite de paramtres entre accolades. Voici quelques exemples de commandes avec le rsultat produit :
\LaTeX
\textcircled{c}
$\sqrt[n]{x}$

LATEX
c

n
x

Remarquez que la troisime commande a t place entre dollars. Cela


permet de passer en mode mathmatique, ce qui est ncessaire puisque la
commande \sqrt nest disponible que dans ce mode, comme on le verra
au chapitre 7.
Environnements

\begin{nom}[options] ...contenu... \end{nom}

Par exemple, pour faire en sorte davoir un texte qui est align droite,
et non justifi comme le fait par dfaut LATEX, on peut utiliser lenvironnement flushright.

Texte normal
\ begin { f l u s h r i g h t }
Texte droite
\ end { f l u s h r i g h t }
Une citation de Donald Knuth :
\ begin { quote }
God is a challenge because
there is no proof of his
existence and therefore the
search must continue .
\ end { quote }

Texte normal
Texte droite
Une citation de Donald Knuth :
God is a challenge because there is no proof
of his existence and therefore the search must
continue.

Version PDF gratuite http://www.latex-howto.be/

Il y a galement des environnements, dont la forme gnrale est la


suivante :

INTRODUCTION

Document minimal
Voici un document minimal pratique utiliser pour la rdaction dun
document en franais, avec lencodage latin-1. Vous pourriez galement
utiliser lencodage utf8, en fonction de la configuration de votre diteur.
Code
\ d o c u m e n t c l a s s [11 pt , a4paper ]{ article }
\ u s e p a c k a g e [ latin1 ]{ inputenc }
\ u s e p a c k a g e [ T1 ]{ fontenc }
\ u s e p a c k a g e { lmodern }
\ u s e p a c k a g e [ french ]{ babel }
\ title { Titre de mon article }
\ author { Moi \ and Mon Co - auteur }
\ date {\ today }
\ begin { d o c u m e n t }
\ maketitle
Il tait une fois \ dots
\ end { d o c u m e n t }

Version PDF gratuite http://www.latex-howto.be/

CHAPITRE

Structurer le document

Dans ce chapitre, on va voir tout ce qui permet de structurer un document.


On commencera par prsenter les diffrents types de documents quil
est possible de dfinir. Ensuite, on verra comment raliser une page de
titre. On enchainera avec les diffrentes commandes de sectionnement du
document. Enfin, on terminera en voyant comment insrer une table des
matires et une liste de figures ou de tables.

1.1

Type de document

Code
\ d o c u m e n t c l a s s { report }
\ begin { d o c u m e n t }
Hello World !
\ end { d o c u m e n t }

Version PDF gratuite http://www.latex-howto.be/

On dfinit le type dun document avec la commande \documentclass.


Celle-ci prend en paramtre le type de document que vous voulez. Parmi
les valeurs courantes possibles, on retrouve :
article pour un article ;
report pour un rapport ;
book pour un livre ;
letter pour une lettre ;
beamer pour des transparents.
On dfinit ensuite le document avec lenvironnement document. Voici un
exemple de document LATEX minimal :

1.2

CHAPITRE 1. STRUCTURER LE DOCUMENT

Page de titre
On peut obtenir une page de titre pour un document avec la commande

\maketitle. On peut choisir si on souhaite que cette page soit sur une
page spare ou non en utilisant respectivement les options titlepage et
notitlepage de la commande \documentclass.

LATEX How-To
Sbastien Combfis
31 mai 2010

Pour pouvoir dfinir le titre, il faut avant tout dfinir les donnes quil
va contenir grce aux commandes \title, \author et \date. Lorsquil y a
plusieurs auteurs, on les spare avec la commande \and. On peut obtenir
la date courante avec la commande \today. On fait habituellement ces
dfinitions dans le prambule.
Code
\ title {\ LaTeX {} How - To }
\ author { Sbastien Combfis }
\ date {31 mai 2010}
\ begin { d o c u m e n t }
\ maketitle
\ end { d o c u m e n t }

1.2.1

Insrer une image


Pour insrer une image sur la page de titre, il faut utiliser le package
titlepic qui dfinit la commande \titlepic qui permet dajouter limage.
On peut spcifier une option lors du chargement du package qui permet
de spcifier lalignement du titre. Trois valeurs sont possibles : tt, tc et
cc. La premire lettre dsigne lalignement du bloc titre, auteur, date et
la seconde lettre celui de limage. La lettre t aligne en haut et la lettre c
permet de centrer.

Version PDF gratuite http://www.latex-howto.be/

\ d o c u m e n t c l a s s { article }

1.2. PAGE DE TITRE

LATEX How-To
Sbastien Combfis
31 mai 2010

Dans cet exemple, on a import \usepackage[tt]{titlepic}, ce qui permet de centrer tous les lments de la page de titre.
graphicx, titlepic

\ title {\ LaTeX {} How - To }


\ author { Sbastien Combfis }
\ date {31 mai 2010}
\ t i t l e p i c {\ i n c l u d e g r a p h i c s [ width =2 cm ]{../ images / uko - logo . png }}
\ maketitle

1.2.2

Page de titre personnalise


On souhaite parfois dfinir un style de page personnalis pour sa page
de titre. Il ny a pas de package qui permet de faire cela, et on va ds
lors contourner le problme. Ce quon va faire, cest utiliser \title pour
dfinir compltement sa page, et laisser \author et \date vides.
La page suivante montre une page de titre plus sophistique dans laquelle
on inclut notamment un logo. Une fois ce principe compris, pour le reste,
cest vous de jouer en faisant appel votre crativit.

Version PDF gratuite http://www.latex-howto.be/

Code

CHAPITRE 1. STRUCTURER LE DOCUMENT

LATEX How-To
Par Sbastien Combfis

Le 31 mai 2010

Code
\ title {\ parbox {7 cm }{
\ i n c l u d e g r a p h i c s [ width =2 cm ]{ uko - logo . png } \\
\ begin { center }\ sf \ bf se ri es \ huge
\ rule {7 cm }{1 pt }
\ medskip
\ LaTeX {} How - To \\[ -4 mm ]
\ rule {7 cm }{1 pt }
\ end { center }
\ hfill \ s c r i p t s i z e Par Sbastien Combfis \\[2 cm ]
Le 31 mai 2010
}}
\ author {}
\ date {}

graphicx

Version PDF gratuite http://www.latex-howto.be/

Comme vous pouvez le voir, on ne peut pas insrer de lignes vides dans la
commande \title. On doit donc utiliser \\, en prcisant ventuellement
une distance, pour ajouter des espaces verticaux.

1.2. PAGE DE TITRE

Une autre solution consiste utiliser lenvironnement titlepage, qui


permet de dfinir une page de titre. Son contenu sera plac sur une page
non numrote et le compteur de page sera remis zro.

LATEX How-To

Comme dit prcdemment, maintenant, cest vous de jouer pour trouver


votre propre style. Vous pourrez trouver divers exemples sur Internet, au
cas o linspiration vous manquerait.
Code
\ begin { t i t l e p a g e }
\ vspace {1 cm }
\ i n c l u d e g r a p h i c s [ width =1.5 cm ]{ uko - logo . png } %
\ quad \ rule [ -6 cm ]{0.5 pt }{7 cm } %
\ quad \ parbox [ t ]{4.5 cm }{\ sf
\ \\[1.5 cm ]
{\ Large \ b f s e r i es \ LaTeX {} How - To } \\[3.5 cm ]
\ hspace *{\ fill }{\ s c r i p t s i z e Sbastien Combfis }
}
\ end { t i t l e p a g e }

graphicx

Version PDF gratuite http://www.latex-howto.be/

Sbastien Combfis

10

1.3

CHAPITRE 1. STRUCTURER LE DOCUMENT

Sectionnement
Il existe diffrentes commandes qui permettent de dlimiter les parties
logiques dun document. Celles-ci dpendent de la classe de document utilise. On peut classer ces commandes en deux catgories : les commandes
qui dlimitent une partie et celles qui dfinissent en plus un titre.
On dfinit les titres avec les commandes \part, \chapter, \section,
\subsection, \subsubsection, \paragraph et \subparagraph. Celles-ci per-

mettent de dfinir respectivement une partie, un chapitre, diffrents


niveaux de sections et des paragraphes. Elles prennent toutes un paramtre qui est le texte du titre et une option qui est une version courte du
titre. Cette dernire sera notamment utilise dans la table des matires.
Enfin, toutes ces commandes existent en version toile. Dans ce cas, le
titre ne sera pas numrot et napparaitra pas dans la table des matires.

Les abeilles

Introduction
1.1

Rle dans la pollinisation

1.2

Dclin de la population
1

Code
\ section { Les abeilles }
\ s u b s e c t i o n *{ Introduction }
\ s u b s e c t i o n { Rle dans la pollinisation }
\ s u b s e c t i o n { Dclin de la population }

1.3.1

Style des titres


On va pouvoir modifier le style des titres en utilisant le package titlesec,
comme on la fait pour ce livre. On va pour cela utiliser les commandes
\titlelabel, \titleformat et \titlespacing qui permettent respectivement de dfinir la numrotation, le format et style du titre, ainsi que
lespacement appliquer.

Version PDF gratuite http://www.latex-howto.be/

Cet exemple a t gnr avec la classe de document article dans laquelle


le plus haut niveau est la \section. Pour les livres et articles, il faut
commencer avec un \chapter.

1.3. SECTIONNEMENT

11

La commande \titlelabel permet de dfinir comment rendre les numros


des sections, sous-sections . . . La commande \thetitle reprsente le
numro. Le style par dfaut est :
\titlelabel{\thetitle\quad}

Par exemple, on pourrait ajouter une parenthse fermante aprs les


numros avec :
\titlelabel{\thetitle)\quad}

1)

Les abeilles

Introduction
1.1)

Rle dans la pollinisation

1.2)

Dclin de la population

Le style des titres est modifi avec la commande \titleformat. Le plus


simple est dutiliser la forme toile qui prend deux paramtres : le niveau
de titre modifier et le style appliquer. Les sections de ce livre sont
obtenues avec :
\titleformat*{\section}{\large\sf\bfseries}

Code

titlesec

\ t i t l e f o r m a t {\ chapter }[ display ]{\ sf \ b f s e r i e s \ LARGE }


{\ vspace { -10 ex }
\ filleft \ MakeUppercase {\ c h a p t e r t i t l e n a m e }~\ Huge \ t h e c h a p t e r }
{4 ex }{\ t i t l e r u l e \ vspace {2 ex }\ f i l r i g h t }[\ vspace {2 ex }\ t i t l e r u l e ]

La forme gnrale de la commande \titleformat est :


\titleformat{command}[shape]{format}{label}{sep}{before}[after]

command reprsente la commande de titre modifier ;


shape permet de repartir dun modle de base (hang pour un titre
comme un paragraphe spar, runin pour un titre qui reste dans le
paragraphe, frame pour un titre encadr . . .) ;
format correspond au second paramtre de \titleformat* ;
label correspond la commande \titlelabel ;

Version PDF gratuite http://www.latex-howto.be/

Il existe galement une version non-toile qui permet plus de paramtrage.


Le listing suivant donne la commande quon a utilise dans ce livre pour
les chapitres.

12

CHAPITRE 1. STRUCTURER LE DOCUMENT

sep correspond lespace horizontal ajouter entre la numrotation


et le texte titre ;
before correspond au code insrer avant le titre ;
after correspond au code insrer aprs le titre.
Pour redfinir un chapitre, il faut utiliser la commande \chaptertitlename
au lieu de \chaptername pour insrer le texte du titre du chapitre. Ceci
permet davoir une mme dfinition qui sera galement applique aux
chapitres situs dans les annexes.
Enfin, on peut modifier les espaces du titre en utilisant la commande

\titlespacing. Celle-ci ncessite quatre paramtres et une option :


\titlespacing{command}{left}{beforesep}{aftersep}[right]

command reprsente la commande de titre modifier ;


left indique lespace ajouter gauche du titre ;
beforesep indique lespace vertical ajout avant le titre ;
aftersep indique lespace ajout entre le titre et le texte qui suit
(vertical ou horizontal selon le modle du titre) ;
right indique lespace ajouter droite du titre.

Il existe galement le package sectsty pour modifier le style des titres.


Avec ce dernier, on ne peut modifier que le style. On ne va pas dtailler
les commandes de ce package ici, puisquon peut faire lquivalent avec
le package titlesec quon vient de voir. Tout se base sur la commande
\allsectionsfont qui permet de dfinir le style de tous les titres, et
\sectionfont pour les sections, \chapterfont pour les chapitres . . .
Code

sectsty

\ a l l s e c t i o n s f o n t {\ sf }
\ c h a p t e r f o n t {\ r a g g e d l e f t }

On peut obtenir dautres styles avec ce package, notamment en insrant


des traits horizontaux au-dessus et en-dessous du texte du titre avec la
commande \sectionrule.

Version PDF gratuite http://www.latex-howto.be/

Tous ces paramtres nont pas la mme signification selon le modle de


titre utilis. Consultez la documentation du package pour en savoir plus.

1.3. SECTIONNEMENT

13

Les abeilles

Introduction
1.1 Rle dans la pollinisation
1.2 Dclin de la population
La commande \sectionrule prend quatre paramtres qui sont lespacement en-dessous du premier trait et son paisseur, et lespacement
au-dessus du second trait et son paisseur.
Code

color, sectsty

\ a l l s e c t i o n s f o n t {\ sf }
\ s e c t i o n f o n t {\ s f f a m i l y \ color { red }\ s e c t i o n r u l e {3 ex }{3 pt } %
{ -1.5 ex }{1 pt }}

Style des chapitres


Lorsquon dsire modifier le style des titres des chapitres, on peut galement utiliser le package fncychap qui offre des possibilits de personnalisation riches pour ces derniers.

CHAPITRE

DE LINTRT DES
LANGUES
Lexemple prsent ci-dessus a t obtenu en chargeant le package avec
loption Glenn. Il existe six styles diffrents qui sont Sonny, Lenny, Glenn,
Conny, Rejne et Bjarne.

Version PDF gratuite http://www.latex-howto.be/

1.3.2

14

CHAPITRE 1. STRUCTURER LE DOCUMENT

Code

fncychap

\ d o c u m e n t c l a s s { report }
\ u s e p a c k a g e [ Glenn ]{ fncychap }
\ begin { d o c u m e n t }
\ chapter { De l intrt des langues }
\ end { d o c u m e n t }

1.3.3

Numrotation des titres dans la marge


Comme vous avez pu le constater dans ce livre, les numros des sections
sont placs dans la marge. Pour ce faire, il suffit dajouter la dfinition
suivante dans le prambule.
Code
\ makeatletter
\ def \ @ s e c c n t f o r m a t #1{ %
\ protect \ makebox [0 pt ][ r ]{\ csname the #1\ e n d c s n a m e \ quad }}
\ makeatother

Parties de livre
On peut dlimiter les diffrentes parties dun livre avec les commandes

\frontmatter, \mainmatter, \backmatter et \appendix. Ces commandes

vont notamment avoir pour effet de changer le style de numrotation des


pages.

La commande \mainmatter indique le dbut du corps du livre. La commande \frontmatter dlimite tout ce qui vient avant (prface, introduction . . .) et la commande \backmatter ce qui vient aprs (colophon, index
. . .).
La commande \appendix indique le dbut des annexes. La numrotation
des sections va se faire avec des lettres romaines plutt quavec des
nombres arabes.

Version PDF gratuite http://www.latex-howto.be/

1.3.4

1.4. TABLE DES MATIRES ET LISTE DES FIGURES ET TABLES

1.4

15

Table des matires et liste des figures et tables


Dans cette section, on va sintresser linsertion de listes dont le contenu
est essentiellement gnr automatiquement. On va voir comment insrer
une table des matires, mais galement les tables des figures et des
tableaux. On verra galement comment modifier leurs styles et leurs
contenus.

1.4.1

Insrer une table


On insre les diffrentes tables avec les commandes \tableofconcents,
\listoffigures et \listoftables. Notez que pour que les tables soient

jour dans votre document, il va falloir deux compilations successives.


La premire permet de rcolter linformation partir des commandes
\chapter, \section . . . et \caption et de les placer dans les fichiers .toc,
.lof et .lot ; la seconde compilation intgre ces donnes dans le document.
1.4.2

Ajouter une entre dans une table

Pour ajouter une entre dans une table, il faut utiliser la commande :
\addcontentsline{Extension}{Division}{Texte}

lendroit du texte o doit figurer cette nouvelle entre. Par exemple,


voici comment ajouter une entre pour la table des matires :
Code
\ a d d c o n t e n t s l i n e { toc }{ chapter }{ Table des matires }
\ tableofcontents

Le premier paramtre indique la table dans laquelle lentre doit tre


ajoute (toc pour table of contents). Le second paramtre indique le
niveau de lentre (chapter pour le niveau chapitre) et enfin, le troisime
paramtre indique le texte qui doit figurer dans la table.

Version PDF gratuite http://www.latex-howto.be/

Les entres des diffrentes tables sont automatiquement ajoutes. Parfois,


on souhaite nanmoins les ajouter manuellement. Cest par exemple le cas
si vous utilisez les versions toiles des commandes \chapter, \section,
\subsection . . . qui ne reoivent pas de numro et napparaissent pas
dans la table des matires.

16

1.4.3

CHAPITRE 1. STRUCTURER LE DOCUMENT

Style des tables


On peut modifier laspect des diffrentes tables, comme par exemple
modifier lespacement entre les diffrentes lignes. Pour ce faire, il suffit
dutiliser les commandes LATEX standard. Par exemple, pour insrer une
table des figures, avec un millimtre entre les lignes de la table, il suffit
de faire :
{\setlength{\parskip}{1mm} \listoffigures}

Pour la table des matires, on peut spcifier son niveau, cest--dire jusqu
quel type type de sous-entre il faut aller. Cette valeur est contrle par
le compteur tocdepth. Par exemple, pour ne lister que les chapitres, il
faut crire avant \tableofcontents :
\setcounter{tocdepth}{1}

1.4.4

Insrer plusieurs tables

Code

shorttoc

\ s h o r t t o c { Contenu du livre }{1}

Attention, pour pouvoir utiliser cette commande, il faut absolument


que le fichier .toc soit disponible, cest--dire que la commande
\tableofcontents doit tre prsente. De plus, la commande \shorttoc
doit tre place avant \tableofcontents.
Il existe une autre solution qui permet dinsrer une mini-table des
matires, par partie, chapitre ou section. Pour ce faire, on va utiliser le
package minitoc. Voici par exemple la table des matires de ce chapitre :
Sommaire
1.1
1.2
1.3
1.4

Type de document
Page de titre . . .
Sectionnement . .
Table des matires

. . . . . . .
. . . . . . .
. . . . . . .
et liste des

. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
figures et tables

.
.
.
.

6
4
9
14

Version PDF gratuite http://www.latex-howto.be/

On ne peut utiliser la commande \tableofcontents quune seule fois dans


un document. Or, il nest pas rare quon souhaite insrer plusieurs fois la
table des matires, parfois mme avec un niveau diffrent. La solution
ce problme consiste utiliser la commande \shorttableofcontents ou
\shorttoc du package shorttoc. La commande prend deux paramtres
qui sont le nom de la table et son niveau.

1.4. TABLE DES MATIRES ET LISTE DES FIGURES ET TABLES

17

Pour lobtenir, il faut avant tout appeler la commande \dominitoc juste


avant de faire appel \tableofcontents. Ensuite, on utilise la commande
\minitoc pour insrer la mini-table des matires.
Code

minitoc

\ dominitoc
\ tableofcontents
% ...
\ s e t c o u n t e r { minitocdepth }{1}
\ minitoc

Afin davoir le titre en franais, il va falloir spcifier la langue lorsque vous


incluez le package et donc crire \usepackage[french]{minitoc}. Notez
quavec ce package, vous pouvez galement insrer des mini-listes des
figures ou tables avec les commandes \dominilof, \minilof, \dominilot
et \minilot.

Version PDF gratuite http://www.latex-howto.be/

Version PDF gratuite http://www.latex-howto.be/

CHAPITRE

Style et mise en page

Dans ce chapitre, nous allons voir comment mettre en page le texte et


modifier le style de ce dernier. On commencera par voir comment modifier
lalignement du texte et insrer des citations ou des pomes. On verra
ensuite comment modifier le style de la police et utiliser les couleurs.
Enfin, on terminera avec des mises en page avances du texte.

2.1

Alignement et positionnement

2.1.1

Alignement
Par dfaut, les paragraphes dun document sont justifis, cest--dire que
le texte est accol aux marges gauches et droites. Cet effet est obtenu en
rendant la largeur des espaces entre les mots variable.
Align gauche

Centr

Align droite

On peut modifier ce comportement et forcer le texte tre coll gauche


ou droite, ou centrer le texte en utilisant respectivement les commandes
\raggedright, \raggedleft et \centering.
19

Version PDF gratuite http://www.latex-howto.be/

Dans cette section, on va voir trois choses. On va commencer avec


lalignement du texte. Ensuite, on verra comment grer les espaces et
en insrer dans le document. Enfin, on terminera en voyant comment
remplir de lespace avec des traits (continus, pointills . . .).

20

CHAPITRE 2. STYLE ET MISE EN PAGE

Code
\ r a g g e d r i g h t Align gauche
\ c e n t e r i n g Centr
\ r a g g e d l e f t Align droite

Il faut bien faire attention que \raggedright permet de coller le texte


gauche.
On peut galement modifier lalignement du texte avec les environnements flushleft, flushright et center. La diffrence est quun espace
vertical sera ajout avant le texte de lenvironnement tant donn que
ces environnements commencent un nouveau paragraphe.
Align gauche
Centr
Align droite

\ begin { f l u s h l e f t }
Align gauche
\ end { f l u s h l e f t }
\ begin { center }
Centr
\ end { center }
\ begin { f l u s h r i g h t }
Align droite
\ end { f l u s h r i g h t }

2.1.2

Espacement
Il y a diffrents types despacements possibles. Tout dabord, on a le
choix entre des espacements horizontaux ou verticaux. Ensuite, on peut
choisir entre des espaces de longueur fixe ou lastique.
On obtient des espaces horizontaux de longueur fixe avec \hspace et des
verticaux avec \vspace.
Texte prcd de 1.5cm.
Paragraphe prcd de -1mm.

Version PDF gratuite http://www.latex-howto.be/

Code

2.1. ALIGNEMENT ET POSITIONNEMENT

21

Dans cet exemple, on a donc utilis un espace vertical ngatif pour faire
remonter un paragraphe.
Code
\ hspace {1.5 cm } Texte prcd de 1.5 cm .
\ vspace { -1 mm } Paragraphe prcd de -1 mm .

On peut galement obtenir des espaces verticaux avec les commandes

\smallskip, \medskip et \bigskip. Ces espaces sont lastiques et vont ds

lors pouvoir sadapter, par exemple pour quun texte reste sur une seule
page plutt que davoir une nouvelle page cre pour une seule ligne de
texte.
On peut galement avoir des espaces lastiques avec les commandes

\hfill et \vfill. Ces commandes permettent de remplir tout lespace

horizontal ou vertical restant. Si la commande est prsente plusieurs fois,


lespace total restant est rparti de manire quilibre entre les diffrentes
utilisation de la commande.
A

Code
\ hfill A \ hfill B \ hfill C

Les commandes \hspace, \vspace, \hfill et \vfill ne fonctionnent pas


dans toutes les situations. Par exemple, aprs un retour la ligne forc,
les commandes \hspace et \hfill nauront pas deffet. On doit utiliser
les variantes toiles.
Une ligne de texte
Pas de dcalage
Un dcalage de 1 centimtre
Texte pouss droite
Vous voyez bien sur cet exemple que la commande \hspace{1cm} na pas
eu deffet. De plus, notez que pour avoir lquivalent de la commande
\hfill, il faut utiliser \hspace*{\fill}.

Version PDF gratuite http://www.latex-howto.be/

Ici, on a utilis trois fois la commande \hfill. Lespace total restant est
donc divis en trois parts gales.

22

CHAPITRE 2. STYLE ET MISE EN PAGE

Code
Une ligne de texte \\
\ hspace {1 cm } Pas de dcalage \\
\ hspace *{1 cm } Un dcalage de 1 centimtre \\
\ hspace *{\ fill } Texte pouss droite

La commande \\ permet dinsrer un retour la ligne. On peut utiliser


loption de cette commande pour spcifier un certain espacement vertical.
Voici un texte :
/////
Hello
Dans lexemple ci-dessus, on a plac Hello suivi dun retour la ligne
suivi de /////. Afin davoir les deux textes superposs, on a fait remonter
la seconde ligne de \baselineskip (la hauteur dune ligne de texte).
Code
\ it Voici un texte : \\[2 mm ]
\ tt
Hello \\[ -\ b a s e l i n e s k i p ]
/////

Remplissage
On peut remplir des espaces horizontaux de diffrentes manires. Les
commandes \hrulefill et \dotfill insrent un espace horizontal lastique
rempli avec un trait continu ou des pointills.
A

B ..................... C

On peut utiliser les diffrentes commandes sur la mme ligne, et elles se


partageront lespace disponible quitablement.
Code
A \ h r u l e f i l l B \ dotfill C

Une autre solution consiste utiliser la commande \dashrulefill du


package nccrules.
(
A

)
B

Version PDF gratuite http://www.latex-howto.be/

2.1.3

2.2. CSURE

Code

23

nccrules

(\ d a s h r u l e [1 mm ]{1 cm 5 mm 1 cm }{1}) \\[3 mm ]


A \ d a s h r u l e f i l l {2 4}{1} B \ d a s h r u l e f i l l {4 2 1 2}{1 4 1} C

La commande \dashrulefill prend deux paramtres, chacun de ceux-ci


tant une liste de nombres entiers. Le premier nombre reprsente la
longueur du premier trait plein, le second la longueur du premier trait
blanc, etc. Le motif est ensuite rpt. Le premier paramtre est utilis
pour le motif horizontal et le second pour le motif vertical.
Avec \dashrulefill{2 4}{1}, on dfinit donc pour le motif horizontal un
trait plein de largeur 2 suivi dun blanc de largeur 4. On na quun seul
trait selon laxe vertical.
Avec \dashrulefill{4 2 1 2}{1 4 1}, on dfinit que le motif horizontal
est form dun trait plein de largeur 4 suivi dun blanc de largeur 2, dun
trait plein de largeur 1 et dun blanc de largeur 2. Verticalement, on a
une ligne de hauteur 1, un blanc de hauteur 4 et nouveau une ligne de
hauteur 1.

2.2

Csure
LATEX est capable dautomatiquement dcouper les mots lorsque ceux-ci
sont trop longs pour tenir sur la ligne courante et si le fait de faire passer
tout le mot sur la ligne suivante est inesthtique. Pour cela, il se base sur
un dictionnaire de csure lui permettant de savoir o dcouper chaque
mot.
Nanmoins, il se peut quil ne sache pas o dcouper certains mots et
afin de lui indiquer, vous pouvez utiliser la commande \- qui indique les
points de dcoupe possibles. Par exemple, on pourrait crire :
Ceci est an\-ti\-cons\-ti\-tu\-tion\-nel

Si vous avez un mot qui revient souvent dans vos documents, il nest pas
pratique de devoir indiquer chaque fois comment le dcouper. Pour cela,
il vous suffit dutiliser la commande \hyphenation dans le prambule, une
fois pour toute.
\hyphenation{an-ti-cons-ti-tu-tion-nel}

Version PDF gratuite http://www.latex-howto.be/

Contrairement \dashrulefill, la commande \dashrule ne rpte pas le


motif. Les deux commandes prennent galement une option qui indique
une longueur de laquelle le trait sera remont verticalement.

24

2.3

CHAPITRE 2. STYLE ET MISE EN PAGE

Style
Dans cette section, on va voir les commandes de base pour grer le style
global du document ainsi que celui du texte en particulier.

2.3.1

Style du document
Le style global du document est modifi avec la commande \pagestyle.
On peut galement modifier le style dune seule page avec \thispagestyle.
Les trois valeurs de base possibles sont :
empty laisse lentte et le pied de page vides ;
plain ajoute le numro de page au milieu du pied de page ;
headings insre le titre du chapitre courant et le numro de page
dans lentte.
Le style par dfaut est plain. Notez galement que le style de la premire
page de chaque chapitre est diffrent du style des autres pages.

2.3.2

Style de la numrotation

Lautre solution consiste utiliser la commande \pagenumbering qui


permet de changer le style de la numrotation partir de la page courante.
Le paramtre de ces commandes peut prendre lune des valeurs suivantes :
arabic nombres arabes
roman ou Roman nombres romains minuscules ou majuscules
alph ou Alph lettres de lalphabet minuscules ou majuscules
2.3.3

Style de la police
On peut modifier trois lments de la police du texte : la famille, la forme
et la graisse. Il y a trois familles, quatre formes et deux graisses.
Romain, Sans-serif, Machine crire
Droit, Italique, Inclin, Petite majuscule
Moyen, Gras
Il y a plusieurs manires dobtenir ces styles. Il y a tout dabord les
commandes dclaratives qui modifient le style partir de linsertion de

Version PDF gratuite http://www.latex-howto.be/

On peut modifier le style de la numrotation de deux manires. Celuici sera altr en fonction de la partie du document, dfinie avec les
commandes vues la section 1.3.4.

2.3. STYLE

25

la commande, jusqu la fin du bloc courant (dlimit par laccolade


fermante).
Code
{\ r m f a m i l y Romain ,
\ s f f a m i l y Sans - serif ,
\ t t f a m i l y Machine crire } \\
{\ upshape Droit ,
\ itshape Italique ,
\ slshape Inclin ,
\ scshape Petite majuscule } \\
{\ m d s e r i e s Moyen ,
\ b f s e r i e s Gras }

Ces commandes existent galement en version courte : \rm, \sf, \tt,


\it, \sl, \sc et \bf. La commande dclarative \normalfont permet de
remettre le style par dfaut (romain, droit, graisse moyenne).

On peut galement utiliser les commandes qui vont modifier le style


de leur paramtre. Il sagit des commandes \textsf, \texttt, \textit,
\textsl, \textsc, \textbf et \textnormal. On va par exemple pouvoir
crire :
comparer avec la version dclarative :
{\it Texte en italique} et texte normal

Enfin, il est galement possible dutiliser les environnement sf, sffamily,


tt, ttfamily, it, itshape, sl, slshape, sc, scshape, bf et bfseries.
Texte en gras sans-serif. Ceci est en gras, en normal, et en italique.
Comme vous avez pu le voir sur lexemple, utiliser les environnements ne
cre pas un nouveau paragraphe. De plus, vous voyez quil est possible de
combiner plusieurs effets en slectionnant un style dans chaque catgorie.
Cependant, certaines combinaisons nexistent pas, comme par exemple
petites majuscules grasses.

Version PDF gratuite http://www.latex-howto.be/

\textit{Texte en italique} et texte normal

26

CHAPITRE 2. STYLE ET MISE EN PAGE

Code
{\ b f s e r i e s \ sf Texte en gras sans - serif .}
\ begin { bf }
Ceci est en gras , \ rm en normal , \ textit { et en italique }.
\ end { bf }

Enfin, on peut galement emphaser un texte en utilisant la commande

\emph. Par dfaut, un texte emphas est rendu en italique.

2.3.4

Texte soulign
Pour souligner un texte, il suffit dutiliser la commande \underline.
Nanmoins, il nest pas possible de souligner un texte qui dpasse une
ligne avec cette commande.
- Voici un trs long texte qui est tellement long quil ne tient pas sur une seule ligne de texte.
- Voici un trs long texte qui est tellement long quil ne tient pas
sur une seule ligne de texte.

Code

ulem

\ u n d e r l i n e { - Voici un trs ... une seule ligne de texte .}


\ uline { - Voici un trs ... une seule ligne de texte .}

Linsertion du package ulem va modifier le comportement de la commande


\emph. Les textes emphass seront souligns. Pour remettre en place le
comportement par dfaut, il suffit dutiliser la commande \normalem.
Emphase Emphase
Code

ulem

\ emph { Emphase } \ n o r m a l em \ emph { Emphase }

Dautres commandes de soulignement sont proposes dans le package


ulem. On peut barrer du texte, souligner deux fois, en vague . . .

Version PDF gratuite http://www.latex-howto.be/

Pour pouvoir souligner un texte qui stend sur plusieurs lignes, il faut
utiliser la commande \uline du package ulem.

2.3. STYLE

27

Texte soulign
Double soulign
Texte barr
Texte//////
/////// ray
Soulign
en vagues

Soulign en tirets
.Soulign
. . . . . . . . . en
. . . points
.......

\uline{Texte soulign}
\uuline{Double soulign}
\sout{Texte barr}
\xout{Texte ray}
\uwave{Soulign en vagues}
\dashuline{Soulign en tirets}
\dotuline{Soulign en points}

Les deux dernires commandes sont disponibles depuis la toute dernire


version du package (21/01/2010). On peut galement dfinir ses propres
types de soulignements avec \markoverwith dont le paramtre dfinit le
type de trait utiliser.
Soulign style perso
Remarquez quon a utilis un trait dfini avec la commande \dashrule
du package nccrules.
Code

ulem, nccrules

\ n e w c o m m a n d \ myunderline {
\ bgroup \ m a r k o v e r w i t h {\ d a s h r u l e [ -0.5 ex ]{5 2 2 2 5}{1}}\ ULon }
\ myunderline { Soulign style perso }

Taille du texte
Pour spcifier la taille du texte, il faut utiliser des commandes qui vont
vous permettre de changer la taille du texte. La taille de base est fixe
grce une option de la commande \documentclass. On va par exemple
crire :
\documentclass[11pt]{report}

Les valeurs possibles sont 10pt, 11pt ou 12pt, la valeur par dfaut tant
10pt. Les commandes de taille sont :
\tiny
\scriptsize
\footnotesize
\small
\normalsize

(minuscule)
(trs petit)
(assez petit)
(petit)
(normal)

\large
\Large
\LARGE
\huge
\Huge

(grand)
(plus grand)
(trs grand)
(norme)
(gant)

Une autre solution pour modifier la taille de la police est de passer par
la commande \fontsize.

Version PDF gratuite http://www.latex-howto.be/

2.3.5

28

CHAPITRE 2. STYLE ET MISE EN PAGE

ABC

La commande prend deux paramtres qui sont la taille du texte en points


et lespace interligne. La valeur du second paramtre doit environ tre
20% suprieur au premier.
Code
\ f o n t s i z e {30}{36}
\ selectfont
ABC

La commande \selectfont permet de valider le choix de la nouvelle police.


De plus, LATEX impose des limites sur la taille maximale que vous pouvez
avoir. Pour contourner cette limite, il suffit dinsrer le package fix-cm.
2.3.6

Couleur
Grce au package color, on va pouvoir modifier la couleur du texte insr.
La commande \color est de type dclarative tandis que la commande
\textcolor prend en paramtre le texte dont il faut changer la couleur.
Les commandes prennent en paramtre la couleur quon souhaite. Diffrentes valeurs sont prdfinies : black, white, gray, red, green, blue, cyan,
magenta et yellow.
Code

color

\ bf Noir , {\ color { red } rouge , \ color { blue } bleu } ,


encore noir et \ t e x t c o l o r { gray }{ gris }.

On peut galement dfinir ses propres couleurs en utilisant la commande

\definecolor. Celle-ci prend trois paramtres : un nom, un modle de

couleur et les valeurs de la couleur (nombre compris entre 0 et 1). Il


existe trois modles diffrents :
gray (niveau de gris) une valeur
rgb (RGB) trois valeurs pour rouge, vert et bleu
cmyk (CMYK) quatre valeurs pour cyan, magenta, jaune et noir

Version PDF gratuite http://www.latex-howto.be/

Noir, rouge, bleu, encore noir et gris.

2.4. MISE EN PAGE AVANCE

Code

29

color

\ d e f i n e c o l o r { darkgray }{ gray }{0.2}


\ d e f i n e c o l o r { lightpurple }{ rgb }{0.7 ,0 ,0.7}
\ d e f i n e c o l o r { darkgreen }{ cmyk }{0.7 ,0 ,0.7 ,0.5}
\ t e x t c o l o r { lightpurple }{ Texte en mauve clair }

Enfin, notez quon peut galement spcifier une couleur par ses valeurs
avec les commandes \color et \textcolor. Il suffit de prciser le modle
de couleur en option. On peut par exemple crire :
\textcolor[rgb]{0.99,0.69,0.07}{Texte en orange clair}

2.4

Mise en page avance


Dans cette section, on va voir quelques commandes permettant de faire
des mises en page avances de texte. On verra comment mettre en page
des pomes, faire des paragraphes avec des formes particulires, du texte
sur plusieurs colonnes et on terminera par voir comment prsenter des
nombres avec des units et comment insrer des URLs.
Citation
Pour insrer des citations ou des extraits de roman, on peut utiliser les
environnements quote ou quotation. Les marges sont plus larges et la
largeur occupe par le texte sur la page est rduite.
Il lobserva, occupe tailler ses rosiers. Elle avait une silhouette
magnifique, toute en longueur, mais pourtant, on la devinait sportive et tonique. Il prit le temps de la dtailler.
Sa robe rouge, dcontracte mais la coupe parfaite pousait
la moindre des formes de son corps de rve. Le dcollet tait
simplement ensorcelant. [...]

La diffrence entre les deux environnements est que quotation ajoute un


alina devant chaque paragraphe.
Code
\ begin { quote }\ small
Il l observa , occupe tailler ses rosiers . Elle avait ...
\ end { quote }

Version PDF gratuite http://www.latex-howto.be/

2.4.1

30

2.4.2

CHAPITRE 2. STYLE ET MISE EN PAGE

Pome
Pour insrer un pome, on peut utiliser lenvironnement verse. Chacune
des lignes du pome doit se terminer par \\.
Demain, ds laube, lheure o blanchit la campagne,
Je partirai. Vois-tu, je sais que tu mattends.
Jirai par la fort, jirai par la montagne.
Je ne puis demeurer loin de toi plus longtemps.

Code
\ begin { verse }\ small
Demain , ds l aube , l heure o blanchit la campagne , \\
Je partirai . Vois - tu , je sais que tu m attends . \\
J irai par la fort , j irai par la montagne . \\
Je ne puis demeurer loin de toi plus longtemps .
\ end { verse }

2.4.3

Forme des paragraphes

Une
seule
chose est certaine. Une
fois que vous aurez got
LATEX, vous ne pourrez
plus vous en passer.
Vous en serez littralement amoureux !

Code

shapepar

\ h e a r t p a r {\ small Une seule chose est certaine . Une fois que vous
aurez got \ LaTeX {} , vous ne pourrez plus vous en
passer . Vous en serez littralement amoureux !}

Les autres formes possibles prdfinies dans le package sont :


\squarepar : carr ( )
\circlepar : cercle ( )

Version PDF gratuite http://www.latex-howto.be/

On peut obtenir des paragraphes qui ont des formes particulires en


utilisant le package shapepar. Celui-ci propose des formes prdfinies,
mais il permet galement den dfinir des nouvelles.

2.4. MISE EN PAGE AVANCE

2.4.4

31

\diamondpar : diamant ()
\heartpar : cur ()
\starpar : toile cinq branches (
\hexagonpar : hexagone ( )
\nutpar : crou hexagonal

Texte sur plusieurs colonnes


Pour avoir un texte sur plusieurs colonnes, il suffit dutiliser lenvironnement multicols disponible avec le package multicol. Lenvironnement
prend un paramtre qui est le nombre de colonnes dsires. En option,
on peut prciser un texte qui stendra sur toutes les colonnes.
Chapeau du texte en colonnes
Ce texte stend sur
plusieurs colonnes
qui ont t obtenues
grce lenvironne-

ment multicols disponible en important le


package multicol. Un
filet de sparation

est obtenu en dfinissant la longueur


columnseprule.

On peut dfinir lespacement entre deux colonnes avec la longueur

\columnsep et la largeur du trait de sparation avec \columnseprule.

Code

multicol

\ begin { m u l t i c o l s }{3}[\ textbf { Chapeau du texte en colonnes }]


\ small Ce texte s tend sur plusieurs colonnes ...
\ end { m u l t i c o l s }

Pour forcer un saut de colonne, il suffit dutiliser la commande

\columnbreak.

2.4.5

Nombre et quantit
Pour mettre en forme proprement des nombres, on peut utiliser la commande \numprint du package numprint.
\numprint{150000.7829}
\numprint{2e-15}

150 000,782 9
2 1015

La commande \numprint prend une option qui est une unit de mesure.
Le nombre et lunit seront placs dans une seule boite insparable. Enfin,
on peut galement utiliser les commandes \cntprint et \lenprint pour
afficher respectivement des compteurs et des longueurs.

Version PDF gratuite http://www.latex-howto.be/

\ s e t l e n g t h {\ c o l u m n s e p }{7 mm }
\ s e t l e n g t h {\ c o l u m n s e p r u l e }{1 pt }

32

CHAPITRE 2. STYLE ET MISE EN PAGE

12,5 kg de pommes et 1,5 de lait


1 pt = 0,351 46 mm = 0,013 84 in
Remarquez que pour laffichage dune longueur, loption permet de dfinir
dans quelle unit on souhaite afficher la longueur (la valeur par dfaut
tant le point). Par contre, pour \numprint, loption indique juste quelle
unit on souhaite afficher.
Code

numprint

\ n u m p r i n t [ kg ]{12.5} de pommes et \ n um pr in t {1.5} de lait


\ n e w l e n g t h {\ one }
\ s e t l e n g t h {\ one }{1 cm }
\ l e n p r i n t {\ one } = \ l e np ri nt [ mm ]{\ one } = \ l en pr in t [ in ]{\ one }

Systme International dunits (SI)


Le package siunitx est plus rcent et offre des possibilits plus riches. Il
permet de reprsenter les donnes selon les normes du systme international dunits (SI). Les commandes essentielles sont \num, \si, \ang, \SI,
\numrange et \SIrange.
La commande \num permet de reprsenter les nombres.
\num{10000.12345}
\num{1.2e-15}
\num{5 x 2e10}

Les units sont obtenues avec la commande \si. On peut les crire soit
directement, soit en utilisant des commandes. On peut changer le style
avec loption per-mode.
kg m/s2
kg m s2
kg m/s2

\si{kg.m/s^2}
\si{\kilogram\meter\per\second\squared}
\si[per-mode=symbol]{\kilogram\meter\per\second\squared}

On formate les angles en utilisant la commande \ang. On peut galement


prciser les minutes et secondes.
12.7
1 2 3
1 10

\ang{12.7}
\ang{1;2;3}
\ang{;1;10}

Enfin, pour insrer un nombre avec une unit associe, on peut soit
utiliser \num suivi de \si, soit utiliser la commande \SI qui garantit que le

Version PDF gratuite http://www.latex-howto.be/

10 000.123 45
1.2 1015
5 2 1010

2.4. MISE EN PAGE AVANCE

33

nombre de lunit forment un bloc indissociable. Loption de la commande


permet de prciser une unit qui vient avant le nombre.
15.5 N/m2
$5.99/kg

\SI{15.5}{N/m^2}
\SI[per-mode=symbol]{5.99}[\$]{\per\kilogram}

Enfin, on peut reprsenter des intervalles avec les commandes \numrange


et \SIrange.
11 to 42
120 cm to 180 cm

\numrange{11}{42}
\SIrange{120}{180}{\centi\meter}

Grce ce package, on pourra par exemple crire :


Si vous achetez 200 g de pommes $4.99/kg,
vous devrez payer un total de 1 e.
Code

sunitx, eurosym

Si vous achetez \ SI {200}{ g } de pommes \ SI [ per - mode = symbol


]{4.99}[\ $ ) {\ per \ kilo \ gram } , \\
vous devrez payer un total de \ SI {1}[ $ \ approx $ ]{\ euro }.

2.4.6

URL

Site web officiel : http://www.latex-howto.be


Donald Knuth : http://www-cs-faculty.stanford.edu/~uno/
Notez que si lURL contient les caractres % ou #, la commande \url ne
peut pas tre utilise dans le paramtre dune autre commande.
Code
\ u r l s t y l e { sf }
Site web officiel : \ url { http :// www . latex - howto . be } \\
Donald Knuth : \ url { http :// www - cs - faculty . stanford . edu /~ uno /}

url

Version PDF gratuite http://www.latex-howto.be/

On peut insrer des URL en utilisant le package url. Celui-ci dfinit une
commande \url qui permet dinsrer une URL qui pourra tre coupe
et stendre sur plusieurs lignes. On peut dfinir le style des URL en
utilisant la commande \urlstyle.

34

CHAPITRE 2. STYLE ET MISE EN PAGE

Pour pouvoir utiliser une URL avec % ou # dans le paramtre dune


autre commande, il va falloir dfinir une nouvelle URL avec \urldef. Par
exemple :
\urldef{\mywebsite}\url{http://dom.ext/d%20}

Ensuite, on peut utiliser la commande \mywebsite nimporte o. On


pourra par exemple crire :
\section{Mon site web : \mywebsite}

2.4.7

Liens hypertextes
Vous pouvez ajouter des liens hypertextes dans un document en utilisant
le package hyperref. En ajoutant simplement ce package, vous verrez que
toute une srie de liens seront automatiquement crs pour les entres de
la table des matires, pour les rfrences croises, pour les notes de bas
de page, les URL . . .
Il est galement possible dinsrer des liens explicitement avec la commande \href. Celle-ci prend deux paramtres que sont lURL du lien et
le texte qui doit apparaitre dans le texte.
Vous pouvez faire des recherches avec Google par exemple.

Vous pouvez faire des recherches avec


\ href { http :// www . google . be }{ Google } par exemple .

hyperref

Version PDF gratuite http://www.latex-howto.be/

Code

2.5. DIMENSIONS ET FORMAT DE LA PAGE

2.5

35

Dimensions et format de la page


Dans cette section, on va voir comment modifier le format de la page,
ainsi que les dimensions qui dfinissent la position du texte, des enttes
et pieds de page . . .

2.5.1

Maquette
En utilisant la commande \layout du package de mme nom, on va
pouvoir insrer la maquette du document. Il sagit dune visualisation
dune page et des diffrentes dimensions attenantes. On y voit les quatre
zones que sont le corps, lentte, le pied de page et la zone des notes de
marge. Toutes les dimensions et espacements sont prsents sur ce dessin.
La maquette de ce livre est prsente ci-contre.
Voici les principales longueurs qui dfinissent un document :
\oddsidemargin : marge sur le ct des pages impaires
\topmargin : marge en haut de page, avant lentte
\headsep : distance entre lentte et le haut du corps
\textheight : hauteur du corps du document
\textwidth : largeur du corps du document
\marginparsep : distance entre le corps et les notes de marge
\marginparwidth : largeur des notes de marge
\footskip : distance entre le corps et le pied de page
Enfin, les deux longueurs \paperwidth et \paperheight contiennent la
largeur et la hauteur du papier.
Toutes ces longueurs peuvent tre modifies avec la commande \setlength,
afin de modifier la mise en page du document. Lutilisation de la maquette
savre utile pour voir dun coup dil la disposition des lments sur
la page. On verra quil y a des packages qui vont rendre ce travail plus
facile.

Version PDF gratuite http://www.latex-howto.be/

\headheight : hauteur de lentte

36

CHAPITRE 2. STYLE ET MISE EN PAGE

Header

Margin
Notes

Body

10

11

Footer

1
1
3
5
7
9
11

one inch + \hoffset


\oddsidemargin = 62pt
\headheight = 28pt
\textheight = 486pt
\marginparsep = 7pt
\footskip = 28pt
\hoffset = 0pt
\paperwidth = 614pt

2
4
6
8
10

one inch + \voffset


\topmargin = 14pt
\headsep = 14pt
\textwidth = 307pt
\marginparwidth = 96pt
\marginparpush = 0pt (not shown)
\voffset = 0pt
\paperheight = 794pt

Version PDF gratuite http://www.latex-howto.be/

2.5. DIMENSIONS ET FORMAT DE LA PAGE

2.5.2

37

Format prdfini
En insrant le package fullpage, les marges vont tre fixes de manire
ce que le texte occupe un maximum de place sur la page. Lors de limport
du package, il faut lui prciser en option le style du document (comme
dfini par la commande \pagestyle, voir section 2.3.1).
On peut galement utiliser le package savetrees qui, comme son nom
lindique, permet dconomiser le papier. En plus de rduire au maximum
les marges, il va galement rduire les espacements, la taille de la police,
utiliser des abrviations . . .

2.5.3

Taille du papier
Voyons tout dabord comment modifier la taille du papier. Par dfaut,
le papier est au format US letter (un peu plus petit que A4). Pour
avoir du papier A4, il suffit de prciser loption a4paper la commande
\documentclass.

Code

vmargin

\ s e t p a p e r s i z e { A4 } % papier A4
\ s e t p a p e r s i z e [ landscape ]{ A5 } % papier A5 , en mode paysage
\ s e t p a p e r s i z e { custom }{10 cm }{2 cm } % 10 cm de large sur 2 cm de haut

On peut galement utiliser le package geometry dcrit la section suivante.


2.5.4

Dfinition des marges


Pour facilement dfinir les marges dun document, on peut utiliser la
commande \setmargins du package vmargin. Cette commande prend huit
paramtres qui sont respectivement la marge gauche, la marge du haut,
la largeur et hauteur du corps, la hauteur de lentte, lcart entre lentte
et le corps, la hauteur du pied de page et lcart entre le corps et le pied
de page.

Version PDF gratuite http://www.latex-howto.be/

Une autre manire de prciser le format du papier consiste utiliser


la commande \setpapersize du package vmargin. En option, on prcise
lorientation de la page et en paramtre le format du papier : A0, A1
. . ., A9, B0 . . ., B9, C0 . . ., C9, USletter, USlegal et USexecutive. On peut
galement donner trois paramtres pour dfinir une taille personnalise.

38

CHAPITRE 2. STYLE ET MISE EN PAGE

Code

vmargin

\ s e t m a r g i n s {1 cm }{1 cm }{17 cm }{25 cm }{1 cm }{5 mm }{1 cm }{5 mm }

Des variantes de la commande existent, vous les retrouverez dans la


documentation du package.
On peut galement dfinir les marges avec le package geometry. Les valeurs
des diffrentes longueurs sont spcifies en option lors du chargement du
package. Il y a tout dabord le corps du document avec son entte, son
pied de page et la zone pour les notes de marge. Viennent ensuite les
marges gauche, droite, den haut et den bas. Voici les options les plus
courantes :
paper : spficie la taille du papier (nom)
paperwidth et paperheight : spcifient la taille du papier (longueur)
width et height : dimension totale du corps du document
textwidth et textheight : dimension de la zone du texte

headheight et headsep : spcifient la hauteur de lentte et la distance entre celle-ci et le texte


foot : spcifie la distance entre la fin du texte et le pied de page
left, right, top et bottom : spcifient les marges gauche, droite,
den haut et den bas
hcentering, vcentering et centering : permettent de centrer le
contenu horizontalement et/ou verticalement
Lexemple donn en haut de page peut donc tre obtenu en important
simplement le package suivant :
Code

geometry

\ u s e p a c k a g e [ paper = a4paper , includeheadfoot , Lleft =1 cm , top =1 cm ,


t e x t w i d t h =17 cm , t e x t h e i g h t =25 cm , h e a d h e i g h t =1 cm , headsep =5 mm ,
foot =5 mm ]

Version PDF gratuite http://www.latex-howto.be/

includehead, includefoot, includeheadfoot et includemp : sont utiliss pour indiquer si on souhaite ou non lentte ou le pied de page
ou la zone pour les notes de marge

2.5. DIMENSIONS ET FORMAT DE LA PAGE

2.5.5

39

Composer un PDF
Le package pdfpages permet deffectuer facilement des oprations sur
des fichiers PDF. La premire chose quon peut faire consiste insrer
certaines pages dun document PDF dans un document LATEX. On utilise pour cela la commande \includepdf. On spcifie les pages que lon
souhaite insrer avec la possibilit de dfinir des intervalles ou dinsrer
une page blanche avec {}, avec loption pages.
Lexemple suivant insre la page 1, suivie dune page blanche, suivie des
pages 5 9, suivies de la page 15 du document monDocument.pdf.
\includepdf[pages={1,{},5-9,15}]{monDocument.pdf}

Il est galement possible dobtenir plusieurs pages par feuille. On utilise


pour cela loption nup. On dfinit ensuite lespacement mettre entre les
pages logique avec loption delta et on peut avoir une bordure autour
des pages logiques avec loption frame.
Par exemple, pour insrer toutes les pages du document monDocument.pdf,
avec 3 2 pages par feuille, spares par 5mm et une bordure, il faut
crire :
\includepdf[pages=-,nup=3x2,frame]{monDocument.pdf}

La commande suivante insre la premire page du document docA.pdf, les


pages 5 10 du document docB.pdf et enfin les pages 3 et 9 du document
docC.pdf.
\includepdfmerge{docA.pdf,1,docB.pdf,5-10,docC.pdf,3,9}

Version PDF gratuite http://www.latex-howto.be/

Enfin, on peut galement insrer des pages en provenance de plusieurs


fichiers PDF en utilisant la commande \includepdfmerge qui possde les
mmes options que \includepdf sauf loption pages.

Version PDF gratuite http://www.latex-howto.be/

CHAPITRE

Listes

Ce chapitre dcrit comment insrer des listes dlments dans un document. On verra tout dabord les listes puces, numrotes et de
description. On verra ensuite comment personnaliser les puces ou le style
de la numrotation. On terminera en regardant comment dfinir ses
propres listes.

3.1

Insrer une liste

3.1.1

Liste puces
On insre une liste puces avec lenvironnement itemize. On peut changer
les puces via loption de la commande \item, ou de manire plus gnrale
en redfinissant la commande \labelitemi.
Premier
Second
- Troisime
Comme vous pouvez le voir sur lexemple, vous pouvez redfinir la
commande \labelitemi localement afin que le changement ne sapplique
qu cette liste.
41

Version PDF gratuite http://www.latex-howto.be/

Les listes dlments sont reprsentes par les environnements itemize,


enumerate et description. Chaque lment de la liste est ensuite insr
grce la commande \item.

42

CHAPITRE 3. LISTES

Code
\ begin { itemize }\ r e n e w c o m m a n d {\ l a b e l i t e m i }{ $ \ bullet $ }
\ item Premier
\ item Second
\ item [ -] Troisime
\ end { itemize }

3.1.2

Liste numrote
On insre une liste numrote avec lenvironnement enumerate. On peut
changer le style de la numrotation des lments de la liste en redfinissant
la commande \theenumi et en utilisant le compteur enumi.
a. Premier
b. Second
c. Troisime
La numrotation par dfaut utilise les chiffres arabes. Dans lexemple
ci-dessusx, on a chang le compteur pour avoir des lettres romaines
minuscules (\alph).
Code

3.1.3

Liste de dfinitions
Enfin, on insre une liste de description avec lenvironnement description.
Les termes sont indiqus par loption de la commande \item et les dfinitions suivent.
mtophobie Peur de vomir
Villophobie Peur des animaux velus
Pantophobie
Peur de tout
Comme vous pouvez le voir sur lexemple, la dfinition se trouve par
dfaut sur la mme ligne que le mot dfini. Si vous souhaitez lavoir
sur une ligne spare, il suffit de commencer la dfinition par \hfill \\
comme on la fait pour le troisime mot.

Version PDF gratuite http://www.latex-howto.be/

\ begin { e n u m e r a t e }\ r e n e w c o m m a n d {\ th ee nu mi }{\ alph { enumi }}


\ item Premier
\ item Second
\ item Troisime
\ end { e n u m e r a t e }

3.2. STYLE DES LISTES

43

Code
\ begin { d e s c r i p t i o n }
\ item [ mtophobie ] Peur de vomir
\ item [ Villophobie ] Peur des animaux velus
\ item [ Pantophobie ] \ hfill \\ Peur de tout
\ end { d e s c r i p t i o n }

3.2

Style des listes


Dans cette section, on va voir comment personnaliser diffrents aspects
des listes. On va commencer par sintresser au style des listes numrotes.
Ensuite, on verra comment personnaliser laspect des listes (espacement,
indentation . . .).

3.2.1

Numrotation

Art. 1. Il est strictement interdit de fumer.


Art. 2. Il est autoris daller une fois aux toilettes.
Art. 3. Il est strictement interdit de regarder par la fentre.
Vous remarquerez que pour avoir la lettre A, et pas le compteur en style
lettre romaine majuscule, il a fallu lentourer daccolades.
Code

enumerate

\ begin { e n u m e r a t e }[\ bf { A } rt . 1.]


\ item Il est strictement interdit de fumer .
\ item Il est autoris d aller une fois aux toilettes .
\ item Il est strictement interdit de regarder par la fentre .
\ end { e n u m e r a t e }

On peut obtenir exactement le mme effet en utilisant le package enumitem


qui permet galement de faire beaucoup dautres choses comme on le
verra dans la suite du chapitre.

Version PDF gratuite http://www.latex-howto.be/

On a dj vu, la section 3.1.2, comment on pouvait modifier le style


de la numrotation en redfinissant la commande \theenumi. Une autre
possibilit consiste utiliser le package enumerate qui ajoute une option
lenvironnement enumerate. Cette dernire dcrit la numrotation
appliquer, o on utilise les lettres A, a, I, i et 1 pour reprsenter le
compteur dans diffrents styles.

44

CHAPITRE 3. LISTES

Ce dernier ajoute la possibilit de spcifier des options aux environnements


itemize, enumerate et description. Il est incompatible avec le package
enumerate. Les options prennent la forme cl=valeur et, pour modifier
la numrotation, il faut utiliser loption label=desc. Notez on utilise les
commandes \Alph* \alph* \Roman* \roman* et \arabic* pour reprsenter
le compteur dans diffrents styles.
Code

enumitem

\ begin { e n u m e r a t e }[ label =\ bf { A } rt . \ arabic *.]


\ item Il est strictement interdit de fumer .
\ item Il est autoris d aller une fois aux toilettes .
\ item Il est strictement interdit de regarder par la fentre .
\ end { e n u m e r a t e }

3.2.2

Espacement
On peut modifier diverses dimensions des listes. On peut modifier lespacement entre lments dune liste en redfinissant la commande de
longueur \itemsep.
Premier
Second
On peut crire \setlength{\itemsep}{5mm} ou utiliser la notation raccourcie \itemsep=5mm.
Code
\ begin { itemize }\ s e t l e n g t h {\ itemsep }{3 mm }
\ item Premier
\ item Second
\ item Troisime
\ end { itemize }

On peut modifier beaucoup dautres choses en utilisant le package


enumitem. Lexemple suivant montre une liste qui a t modifie grce
plusieurs options.
Premier
Second
Troisime

Version PDF gratuite http://www.latex-howto.be/

Troisime

3.2. STYLE DES LISTES

45

Loption label permet de changer ltiquette de chaque lment de la


liste. Avec itemsep, on change lespacement entre les lments. Ensuite,
labelsep permet de changer la distance entre ltiquette et le texte
des lments, tandis que font change la police des tiquettes. Enfin,
leftmargin spcifie la marge gauche de la liste.
Code

enumitem

\ begin { itemize }[ label = $ \ triangleright $ , itemsep =0 pt ,


font =\ bf \ Large , l a b e l s e p =5 mm , l e f t m a r g i n =2 cm ]
\ item Premier
\ item Second
\ item Troisime
\ end { itemize }

Si vous utilisez galement le package [french]{babel}, vous devrez ajouter


la commande suivante aprs ajout du package babel pour pouvoir utiliser
le package enumitem :
\frenchbsetup{CompactItemize=false}

\setlist{itemsep=5mm}

3.2.3

Liste dans le texte


Parfois, on souhaite insrer une liste numrote, mais qui se trouve dans
la continuit du texte. Pour faire cela, on peut utiliser lenvironnement
inparaenum disponible dans le package paralist. Voici un exemple dune
telle liste :
Pour installer le programme, il faut (a) dsinstaller toute ancienne version,
(b) dfragmenter le disque et (c) lancer linstallateur.
Code
Pour installer le programme , il faut
\ begin { i n p a r a e n u m }[( a )]
\ item dsinstaller toute ancienne version ,
\ item dfragmenter le disque et
\ item lancer l installateur .
\ end { i n p a r a e n u m }

paralist

Version PDF gratuite http://www.latex-howto.be/

Notez galement quon peut spcifier des options qui seront appliques
toutes les listes en utilisant les commandes \setitemize, \setenumerate,
\setdescription et \setlist. Par exemple, pour fixer lespacement entre
les lments de toutes les listes dun document cinq millimtres, il suffit
dajouter :

46

3.3

CHAPITRE 3. LISTES

Grer la numrotation
Les numros des lments des listes numrotes sont contrls par le
compteur enumi. Vous pouvez changer sa valeur afin de personnaliser les
numros qui seront affichs.
1. Premier
2. Second
6. Troisime
-9. Quatrime
-8. Cinquime
Dans lexemple ci-dessus, on a chang deux fois la valeur du compteur.
Entre le deuxime et le troisime lment, on a chang la valeur du
compteur en 5, ce qui fait que le troisime lment est numrot 6. Entre
le troisime et le quatrime lment, on a chang le compteur en 10.
Code
\ begin { e n u m e r a t e }
\ item Premier
\ item Second
\ s e t c o u n t e r { enumi }{5}
\ item Troisime

Le package enumitem propose des options pour modifier facilement la


numrotation. Loption start indique le numro auquel il faut commencer
la liste. Loption resume permet de fixer la numrotation de manire ce
quelle continue celle de lenumerate prcdent.
10. Premier
11. Second
Bla bla bla
12. Troisime
13. Quatrime
Dans cet exemple, on veut commencer la premire liste numrote 10
(start=10). Ensuite, on a du texte et la numrotation de la liste suivante
doit tre dans la continuit de la premire liste (resume).

Version PDF gratuite http://www.latex-howto.be/

\ s e t c o u n t e r { enumi }{ -10}
\ item Quatrime
\ item Cinquime
\ end { e n u m e r a t e }

3.4. DFINIR UNE LISTE

Code

47

enumitem

\ begin { e n u m e r a t e }[ start =10]


\ item Premier
\ item Second
\ end { e n u m e r a t e }
Bla bla bla
\ begin { e n u m e r a t e }[ resume ]
\ item Troisime
\ item Quatrime
\ end { e n u m e r a t e }

3.4

Dfinir une liste


En plus des environnements itemize, enumerate et description, il existe
galement lenvironnement list qui permet dinsrer une liste gnrique.
On va notamment lutiliser pour dfinir de nouveaux types de liste.
Premier
Deuxime
Troisime

Code
\ begin { list }{ $ \ star $ }{}
\ item Premier
\ item Deuxime
\ item Troisime
\ end { list }

Pour dfinir un nouveau type de liste partir de cela, il suffit dutiliser


la commande \newenvironment. Voici comment on dfinit une nouvelle
liste mylist :
\newenvironment{mylist}{\begin{list}{$\star$}{}}{\end{list}}

Version PDF gratuite http://www.latex-howto.be/

Dans lexemple ci-dessus, on a simplement dfini une liste puces dont les
puces sont dfinies par la commande \star (une toile cinq branches).
Le premier paramtre de lenvironnement indique ltiquette ajouter
chaque lment, et le second paramtre permet de dfinir les espacements
appliquer.

48

CHAPITRE 3. LISTES

On peut maintenant crire :


Code
\ begin { mylist }
\ item Premier
\ item Deuxime
\ item Troisime
\ end { mylist }

On peut galement dfinir des listes numrotes. Pour cela, il faut dabord
dfinir un nouveau compteur dans le prambule du document avec :
\newcounter{mycounter}

Ensuite, on doit indiquer quon souhaite utiliser ce compteur avec la


commande \usecounter. Enfin, pour faire apparaitre la valeur du compteur, on utilise \Alph \alph \Roman \roman ou \arabic en fonction du style
dsir. On peut par exemple dfinir :
\ n e w e n v i r o n m e n t { my numbered list }{
\ begin { list }{\ alph { mycounter })}{\ u s e c o u n t e r { mycounter }}
}{
\ end { list }
}

a) Premier
b) Deuxime
c) Troisime
Voici le code quon a utilis pour obtenir cette liste :
Code
\ begin { myn umberedl ist }
\ item Premier
\ item Deuxime
\ item Troisime
\ end { my numbered list }

On peut galement modifier diffrents paramtres despacement. Il y a


tout dabord les espacements verticaux qui peuvent tre modifis avec

Version PDF gratuite http://www.latex-howto.be/

Vous remarquerez que le compteur utilis doit tre prcis dans le second
paramtre de lenvironnement list. Avec cette nouvelle liste, on peut par
exemple obtenir :

3.5. MISE EN PAGE AVANCE

49

\parskip, \topsep, \parsep, \itemsep et \partopsep. En ce qui concerne


les espacements horizontaux, on peut utiliser \leftmargin, \rightmargin,
\labelwidth, \labelsep, \listparindent et \itemindent. Consultez la do-

cumentation pour avoir plus dinformations sur ces longueurs.

3.5

Mise en page avance


Dans cette section, on va voir quelques mises en page avances de listes.
On verra tout dabord comment imbriquer des listes. Ensuite, on verra
comment insrer des listes dexercices.

3.5.1

Liste imbrique
On peut imbriquer des listes les unes dans les autres. On pourrait par
exemple insrer une liste de tches pour la semaine :
Lundi
Faire les courses
Passer la banque
Mercredi
Samedi
Chercher carte didentit la commune
Code
\ r e n e w c o m m a n d {\ l a b e l i t e m i }{ $ \ star $ }
\ r e n e w c o m m a n d {\ l a b e l i t e m i i }{ $ \ diamond $ }
\ begin { itemize }
\ item Lundi
\ begin { itemize }
\ item Faire les courses
\ item Passer la banque
\ end { itemize }
\ item Mercredi
\ begin { itemize }
\ item Passer la poste
\ end { itemize }
\ item Samedi
\ begin { itemize }
\ item Chercher carte d identit la commune
\ end { itemize }
\ end { itemize }

Version PDF gratuite http://www.latex-howto.be/

Passer la poste

50

CHAPITRE 3. LISTES

Il sagit ici de deux listes puces qui ont t imbriques. Remarquez


quon a redfini les tiquettes des lments de la liste de premier niveau
en changeant la commande \labelitemi. Pour les lments des listes
de second niveau, cest la commande \labelitemii qui contrle leurs
tiquettes.
Les tiquettes des listes puces et celles des listes numrotes sont
contrles par une srie de commandes, correspondant au niveau de la
liste :
\labelitemi, \labelitemii, \labelitemiii et \labelitemiv
\labelenumi, \labelenumii, \labelenumiii et \labelenumiv
Comme vous pouvez le constater, il nest pas possible davoir un niveau
dimbrication suprieur 4 pour les listes. On peut dpasser cette limite
en utilisant lenvironnement outline du package de mme nom. Celuici fonctionne comme lenvironnement enumerate et permet un niveau
dimbrication de 6.
Enfin, la dernire solution consiste utiliser lenvironnement easylist
du package de mme nom. Avec cet environnement, la dfinition dune
liste imbrique sera plus claire et on na plus la limite des niveaux.
1.

On peut modifier le style grce la commande \ListProperties. Le


package est trs riche et nous vous conseillons daller lire sa documentation
pour en savoir plus.
Code
\ L i s t P r o p e r t i e s ( Progressive =5 mm )
\ begin { e a s y l i s t }
un lment
lment suivant
encore un autre
et un troisime
on revient au premier niveau
\ end { e a s y l i s t }

easylist

Version PDF gratuite http://www.latex-howto.be/

un lment
1.1.
lment suivant
1.2.
encore un autre
1.2.1.
et un troisime
2.
on revient au premier niveau

3.5. MISE EN PAGE AVANCE

3.5.2

51

Liste en colonnes
Lenvironnement tabenum du package tablists permet dinsrer des listes
dlments courts qui seront prsents en colonnes. Il est par exemple
particulirement adapt pour insrer une liste dexercices comme le montre
lexemple suivant :

1) y = x2 + 3
2) y = x 1 3) y = 2x+2
4) y = sin(2x 1)

5) y =

x+1
x

Loption de lenvironnement est identique celle de lenvironnement


enumerate une fois le package de mme nom import (voir section 3.2.1).
Une ligne vide permet dindiquer quil faut passer la ligne suivante de
la liste.
Code

tablists

\ begin { tabenum }[\ b f s e r i e s 1)]


\ t a b e n u m i t e m $ y = x ^2 + 3 $
\ t a b e n u m i t e m $ y = \ sqrt { x - 1} $
\ t a b e n u m i t e m $ y = 2^{ x + 2} $
\ t a b e n u m i t e m $ y = \ sin (2 x - 1) $
\ t a b e n u m i t e m $ y = \ frac { x + 1}{ x } $
\ end { tabenum }

Mise en page des listes de dfinitions


On peut modifier la mise en page des listes de dfinitions en utilisant
lenvironnement desclist dfini dans le package de mme nom. Lenvironnement prend deux paramtres et une option. Les paramtres contiennent
des commandes insrer avant et aprs le mot dfini. Loption de lenvironnement contient un mot qui sera utilis comme rfrence pour effectuer
lalignement des dfinitions.
Mot 1

Dfinition

Mot 2

Dfinition

Long mot Dfinition


Plus long mot Dfinition
Dans notre cas, on a utilis Long mot pour faire lalignement. Les trois
premires dfinitions sont donc alignes. Cependant, la dernire dborde,
le mot dfini tant plus long que Long mot.

Version PDF gratuite http://www.latex-howto.be/

3.5.3

52

CHAPITRE 3. LISTES

Code

desclist

\ begin { d e s c l i s t }{\ sf }{\ rm \;\ hfill - - -}[ Long mot ]


\ item [ Mot 1] Dfinition
\ item [ Mot 2] Dfinition
\ item [ Long mot ] Dfinition
\ item [ Plus long mot ] Dfinition
\ end { d e s c l i s t }

Version PDF gratuite http://www.latex-howto.be/

CHAPITRE

Images

Ce chapitre dcrit comment insrer des images dans un document. On va


commencer par voir la commande \includegraphics qui permet dinsrer
une image. On verra ensuite comment ajouter une lgende en utilisant
lenvironnement figure. Enfin, on verra comment personnaliser lapparence : mettre deux images cte cte, faire couler un paragraphe autour
dune image, insrer des parties dimage. On terminera par quelques
commandes permettant de faciliter la gestion des images dun document.

Insrer une image


On insre une image avec la commande \includegraphics disponible en
chargeant le package graphicx. La commande prend en paramtre le
chemin complet vers limage insrer et on peut spcifier toute une srie
de paramtres sous la forme cl=valeur en option.

Dans cet exemple, on insre limage running.png, en spcifiant quelle


doit avoir une largeur de deux centimtres.
Code

graphicx

\ i n c l u d e g r a p h i c s [ width =2 cm ]{ running . png }

53

Version PDF gratuite http://www.latex-howto.be/

4.1

54

4.1.1

CHAPITRE 4. IMAGES

Transformation de limage
Grce aux nombreuses options de la commande \includegraphics, on va
pouvoir effectuer diverses transformations sur limage.

Ici, on na pas prcis la taille de limage en donnant sa largeur en


centimtres, mais en spcifiant le facteur dchelle appliquer, par rapport
la taille originale de limage. On utilise pour cela loption scale=factor.
Code

graphicx

\ i n c l u d e g r a p h i c s [ scale =0.05]{ running . png }


\ i n c l u d e g r a p h i c s [ scale =0.1]{ running . png }
\ i n c l u d e g r a p h i c s [ scale =0.2]{ running . png }

Lorsque loption keepaspectratio=true est prsente, cest toujours la


dernire dimension demande qui est prise en compte. Dans notre cas,
cest donc la hauteur de limage qui sera fixe.
Code

graphicx

\ i n c l u d e g r a p h i c s [ width =2 cm , height =1 cm ]{ running . png }


\ i n c l u d e g r a p h i c s [ width =2 cm , height =1 cm , kee pasp ect rati o = true ]
{ running . png }

Enfin, on peut galement effectuer une rotation de limage en utilisant


loption angle=value. Pour dfinir le centre de rotation, il faut utiliser

Version PDF gratuite http://www.latex-howto.be/

On a vu quon pouvait prciser la largeur de limage avec width=length.


On peut galement prciser la hauteur avec height=length. Lorsque vous
prcisez les deux options, il se peut que limage soit dforme. Pour forcer
limage garder son aspect, il faut ajouter keepaspectratio=true.

4.1. INSRER UNE IMAGE

55

loption origin=label. Le label se compose de lettres parmi lrctbB pour


left, right, center, top, bottom, Baseline.

Vous remarquerez galement que lordre des options est important. Dans
le premier cas, on impose une largeur dun centimtre, puis on effectue
la rotation. Dans le deuxime cas, on procde dans lautre sens. Dans le
troisime cas, la rotation est effectue par rapport au bas (b) de limage.
Code

graphicx

\ i n c l u d e g r a p h i c s [ width =1 cm , angle =45]{ running . png }


\ i n c l u d e g r a p h i c s [ angle =45 , width =1 cm ]{ running . png }
\ i n c l u d e g r a p h i c s [ width =1 cm , angle =45 , origin = b ]{ running . png }

4.1.2

Dcoupe dune image

On a donc retir 50 bp 1 de tous les cts de limage. Remarquez quil


faut ajouter clip=true pour que le trim ait de leffet.
Code

graphicx

\ i n c l u d e g r a p h i c s [ width =2 cm ]{ images / running . png }


\ i n c l u d e g r a p h i c s [ width =2 cm , trim =50 50 50 50 , clip = true ]
{ running . png }

1. Un bp (big point) est une unit de mesure, avec 72 bp correspondant un pouce.

Version PDF gratuite http://www.latex-howto.be/

Grce aux options clip, trim et viewport, on va pouvoir insrer une


partie dune image dans un document. Avec trim, on va pouvoir spcifier
de combien il faut rogner limage gauche, en bas, droite et en haut.

56

CHAPITRE 4. IMAGES

Une autre technique pour dcouper une image consiste utiliser loption

viewport. Cette fois-ci, on va prciser les coordonnes du coin infrieur

gauche et suprieur droit de la zone de limage quil faut afficher.

Ici, on a dcid de prendre la partie de limage stendant de (0, 0)


(500, 250). Remarquez quil faut galement prciser clip=true.
Code

graphicx

\ i n c l u d e g r a p h i c s [ width =2 cm ]{ running . png }


\ i n c l u d e g r a p h i c s [ width =2 cm , viewport =0 0 500 250 , clip = true ]
{ running . png }

4.1.3

Lgende

Figure 4.1. Bonhomme qui court.

Afin de centrer limage, il faut utiliser la commande \centering. Vous


pouvez placer la lgende au-dessus ou en-dessous de limage en changeant
la position de la commande \caption.

Version PDF gratuite http://www.latex-howto.be/

Pour ajouter une lgende un image, il faut la placer dans un environnement figure et utiliser la commande \caption. Attention au fait
que lenvironnement figure dfinit un nouvel objet flottant : vous navez
donc plus le contrle absolu sur le placement de votre image. Voici un
exemple :

4.1. INSRER UNE IMAGE

57

Code

graphicx

\ begin { figure }[! h ]


\ centering
\ i n c l u d e g r a p h i c s [ width =2 cm ]{ running . png }
\ caption { Bonhomme qui court .}
\ end { figure }

Parfois, on souhaite avoir la lgende ct de la figure. Une premire


solution consiste le faire manuellement, grce deux minipage. Lautre
solution consiste utiliser le package sidecap qui propose un environnement SCfigure.

Figure 4.2. Bonhomme qui court.

La lgende sera place gauche ou droite en fonction des options utilises


lors du chargement du package. La premire option de lenvironnement
SCfigure dfinit la proportion de place laisse pour la lgende par rapport
la place prise par limage.
graphicx, sidecap

\ begin { S C f i g u r e }[1.2][! h ]
\ centering
\ i n c l u d e g r a p h i c s [ width =2 cm ]{ running . png }
\ caption { Bonhomme qui court .}
\ end { S C f i g u r e }

Enfin, on aimerait parfois pouvoir ajouter une lgende une image, sans
toutefois la placer dans un environnement figure flottant. Pour cela, il
faut utiliser la commande \captionof disponible en important le package
caption.

Figure 4.3. Bonhomme qui court.

Version PDF gratuite http://www.latex-howto.be/

Code

58

CHAPITRE 4. IMAGES

Code

graphicx, caption

\ i n c l u d e g r a p h i c s [ width =2 cm ]{ running . png }


\ c a p t i o n o f { figure }{ Bonhomme qui court .}

On utilisera notamment la commande \captionof dans les images places


dans la marge du document, et parfois galement dans les documents
plusieurs colonnes, lorsque les environnements flottants sont interdits.
4.1.4

Image sur toute la largeur


On peut insrer une image sur toute la largeur de la page en utilisant
loption width et en lui donnant comme valeur la longueur \textwidth
reprsentant la largeur de la page.

Code

graphicx

On peut galement avoir une image qui occupe la moiti de la largeur


avec width=0.5\textwidth, etc.

4.2

Positionnement
On va maintenant sintresser au positionnement de limage dans le
document, par rapport au texte ou par rapport dautres images. On va
galement sintresser aux sous-figures.

4.2.1

Alignement vertical
Lalignement vertical dune image ne peut tre dfini via une option
de la commande \includegraphics. La solution pour ajuster une image
verticalement consiste utiliser la commande \raisebox et de spcifier
une hauteur ngative.

Version PDF gratuite http://www.latex-howto.be/

\ i n c l u d e g r a p h i c s [ width =\ textwidth , trim =0 0 0 650 , clip = true ]


{ Ta fo ni _b y_ En di co . jpg }

4.2. POSITIONNEMENT

59

texte
Le seul souci avec cette technique est quil faut manuellement ajuster
la valeur donner la commande \raisebox pour avoir lalignement
souhait.
Code

graphicx

\ i n c l u d e g r a p h i c s [ width =1 cm ]{ running . png }


texte
\ r a i s e b o x { -4 mm }{\ i n c l u d e g r a p h i c s [ width =1 cm ]{ running . png }}

4.2.2

Images cte cte


Pour avoir deux images lune ct de lautre, il suffit de placer les

\includegraphics les uns la suite des autres, comme on a toujours fait

Figure 4.4. Grr.

Figure 4.5. Youpie.

On utilise donc deux environnements minipage, chacun ayant sa propre


lgende. Le contenu de chaque minipage est centr horizontalement, ainsi
que le contenu de la figure. Enfin, on aligne minipage verticalement avec
loption t afin davoir les deux lgendes au mme niveau.

Version PDF gratuite http://www.latex-howto.be/

depuis le dbut de ce chapitre. Maintenant, si on souhaite placer deux


figures avec lgende cte cte, on va devoir utiliser des minipage.

60

CHAPITRE 4. IMAGES

Code

graphicx

\ begin { figure }[! ht ]


\ centering
\ begin { m i n i p a g e }[ t ]{4 cm }
\ centering
\ i n c l u d e g r a p h i c s [ width =1.5 cm ]{ angry . png }
\ caption { Grr .}
\ end { m i n i p a g e }
\ begin { m i n i p a g e }[ t ]{4 cm }
\ centering
\ i n c l u d e g r a p h i c s [ width =1.5 cm ]{ happy . png }
\ caption { Youpie .}
\ end { m i n i p a g e }
\ end { figure }

4.2.3

Images dans la marge


On peut facilement placer une image dans la marge dun document en utilisant la commande \marginpar. Lorsque lon fait
cela, on ne peut pas utiliser lenvironnement figure et il faut
donc utiliser la commande \captionof vue la section 4.1.3 Figure 4.6.
Youpie.
pour ajouter une lgende.

Code

graphicx, caption

\ marginpar {
\ centering
\ i n c l u d e g r a p h i c s [ width =1 cm ]{ happy . png }
\ c a p t i o n o f { figure }{ Youpie .}
}

4.2.4

Rotation dimage
On a vu prcdemment quon pouvait effectuer une rotation sur une image
en utilisant loption angle=value. Maintenant, si on dsire ajouter une
lgende limage, soit on fait comme on a vu la section 4.1.3, mais alors
la lgende ne sera pas pivote avec limage, soit on utilise lenvironnement
sidewaysfigure du package rotating. Limage sera automatiquement
tourne de 90 ou 270 degrs selon quelle se trouve sur une page paire ou
impaire, et elle sera forcment place seule sur une page.

Version PDF gratuite http://www.latex-howto.be/

La largeur du texte a t localement modifie afin que vous puissiez voir


limage dans la marge. On verra plus plus tard comment faire cela. Ici,
on sintresse aux images dans la marge.

4.2. POSITIONNEMENT

Code

61

graphicx, rotating

\ begin { s i d e w a y s f i g u r e }
\ centering
\ i n c l u d e g r a p h i c s [ width =2 cm ]{ running . png }
\ caption { Bonhomme qui court .}
\ end { s i d e w a y s f i g u r e }

4.2.5

Texte coulant autour dune image


Parfois, on dsire insrer une image quon fait flotter
avec le texte environnant qui coule autour. Ici par
exemple, on a une image sur la droite et le texte de
ce paragraphe coule autour. Pour cela, on va utiliser
lenvironnement wrapfigure du package wrapfig. On
prcise en option le nombre de lignes de texte se trouvant la mme
hauteur que limage et ensuite, en paramtres, on prcise de quel ct il
faut placer limage et quelle est la largeur de la zone autour de laquelle
le texte doit couler.
graphicx, wrapfig

\ begin { w r a p f i g u r e }[5]{ r }{2.5 cm }


\ vspace { -7 mm }
\ i n c l u d e g r a p h i c s [ width =2 cm ]{ running . png }
\ end { w r a p f i g u r e }

Pour ajouter une lgende, il suffit dutiliser la commande \captionof


quon a vue la section 4.1.3.

4.2.6

Sous-figures
Enfin, pour terminer cette section, voyons maintenant comment avoir
des sous-figures. Il suffit dutiliser la commande \subfigure disponible
en important le package subfigure. La commande prend en option la
lgende et en paramtre limage.
Chacune des images peut donc avoir sa propre lgende et on peut galement conserver une lgende pour la figure dans sa globalit.

Version PDF gratuite http://www.latex-howto.be/

Code

62

CHAPITRE 4. IMAGES

(a) Grr.

(b) Youpie.

Figure 4.7. Humeurs.

Code

graphicx, subfigure

\ begin { figure }[! h ]


\ centering
\ s u b f i g u r e [ Grr .]{
\ i n c l u d e g r a p h i c s [ height =1.5 cm ]{ angry . png }
}
\ quad
\ s u b f i g u r e [ Youpie .]{
\ i n c l u d e g r a p h i c s [ height =1.5 cm ]{ happy . png }
}
\ caption { Humeurs .}
\ end { figure }

4.3

Gestion des images

Vous pouvez spcifier le chemin complet ou relatif la commande

\includegraphics. Une autre solution consiste donner la liste des chemins o chercher les images avec la commande \graphicspath.

Il est galement possible de dclarer les extensions chercher en utilisant


la commande \DeclareGraphicsExtensions. Cela permet dcrire les noms
de manire courte. On va ainsi par exemple pouvoir crire :
Code
\ g r a p h i c s p a t h {{ images /}{/ home / img /}}
\ D e c l a r e G r a p h i c s E x t e n s i o n s {. png ,. jpg }

graphicx

Version PDF gratuite http://www.latex-howto.be/

Le type des images quil est possible dinclure dans un document LATEX
dpend du compilateur utilis. Si vous travaillez avec latex pour crer
des fichiers DVI, vous pourrez insrer des images postscript. En utilisant
pdflatex, on peut insrer des images PNG, JPG et PDF.

4.4. INSRER UNE PHOTO

63

Ainsi, si on utilise la commande


\includegraphics{filename}

limage sera dabord cherche dans le rpertoire courant, puis dans images/
et enfin dans /home/img/. Le compilateur cherchera dabord le fichier
filename.png, puis filename.jpg.

4.4

Insrer une photo


Pour insrer une photo, on peut profiter de la commande \putphoto
ou de lenvironnement Photo du package photo. On peut ainsi prciser
une lgende ainsi que le nom du photographe. La seule diffrence entre
la commande ou lenvironnement est que ce dernier est un flottant.
On peut obtenir la liste des photos dun document avec la commande
\listofphotos.

Dawn Endico

Le positionnement de la photo, de la lgende et du photographe sont


contrls par loption de la commande et de lenvironnement. La premire
lettre vaut l, r, i ou o (left, right, in ou out) et permet de placer la photo.
La seconde vaut t, c ou b (top, center ou bottom) et dfinit lalignement
vertical de la lgende. Enfin, la troisime vaut u ou s (under ou side) et
dfinit la position du photographe.
Code

photo, graphicx

\ begin { Photo }[ obu ]{ photo : book - cover }{ Dawn Endico }


{ Tafoni , des sculptures dans le sable .}
\ i n c l u d e g r a p h i c s [ width =4 cm ]{ T a f o n i _ b y _ E n d i c o . jpg }
\ end { Photo }

Version PDF gratuite http://www.latex-howto.be/

Photo 1 Tafoni, des


sculptures dans le sable.

Version PDF gratuite http://www.latex-howto.be/

CHAPITRE

Tableaux

Ce chapitre dcrit comment insrer des tableaux de donnes dans un


document. On va commencer par voir les environnements tabbing et
tabular qui sont les plus utiliss. On verra ensuite comment ajouter une
lgende un tableau en utilisant lenvironnement table. Aprs cela, on
verra comment personnaliser laspect des tableaux : paisseur des filets,
alignement du texte, largeur des tableaux, couleurs et grands tableaux.
Enfin, on terminera avec quelques notions de mise en page de tableaux.

Insrer un tableau
On insre un tableau avec lenvironnement tabular qui prend un paramtre qui dcrit les colonnes du tableau. Une nouvelle colonne est dfinie
laide dune lettre qui dcrit lalignement horizontal du texte dans cette
colonne. Les valeurs possibles sont :
l texte align gauche ;
c texte est centr ;
r texte est align droite.
On dfinit ensuite les donnes lintrieur de lenvironnement. On remplit
le tableau de gauche droite et de haut en bas. On passe la colonne
suivante avec & et on passe la ligne suivante avec \\.
Voyons par exemple comment construire
Article
Livres
DVD
65

le tableau suivant :
Prix
12
17

Version PDF gratuite http://www.latex-howto.be/

5.1

66

CHAPITRE 5. TABLEAUX

Il sagit dun tableau qui comporte deux colonnes. Le texte de la premire


est align gauche et celui de la seconde est centr. Le tableau contient
trois lignes de texte. Le code pour lobtenir est :
Code
\ begin { tabular }{ lc }
Article & Prix \\
Livres & 12 \\
DVD
& 17
\ end { tabular }

5.1.1

Filets
On peut ajouter des filets verticaux et horizontaux un tableau. Les
filets verticaux sont dfinis dans loption de lenvironnement tabular. Il
suffit dinsrer | partout l o on souhaite un filet vertical. Les filets
horizontaux sont dfinis avec les donnes du tableau. La commande
\hline insre un filet horizontal. Elle doit toujours tre place avant les
donnes de la ligne. Voyons comment obtenir le tableau suivant :
Prix
12
17

On voit sur lexemple quil y a la fois des filets simples et des filets
doubles. Ce nest pas bien difficile obtenir, il suffit de placer deux filets.
Code
\ begin { tabular }{|| l | c ||}
\ hline
\ bf Article & \ bf Prix \\
\ hline \ hline
Livres & 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }

Il est galement possible davoir des filets horizontaux partiels qui ne


stendent que sur certaines colonnes. On les dfinit laide de la commande \cline qui prend en paramtre les colonnes sur lesquelles le filet
doit stendre.

Version PDF gratuite http://www.latex-howto.be/

Article
Livres
DVD

5.1. INSRER UN TABLEAU

67

La commande prend un paramtre qui est compos de deux numros


de colonnes spars par un tiret -. On peut utiliser plusieurs fois la
commande si on veut plusieurs filets partiels.
A B C D
Voici le code de ce tableau :
Code
\ begin { tabular }{ llll }
A & B & C & D \\
\ cline {1 -2}\ cline {4 -4}
\ end { tabular }

5.1.2

Lgende
Pour ajouter une lgende un tableau, il faut le placer dans un environnement table et utiliser la commande \caption. Attention au fait que
lenvironnement table dfinit un nouvel objet flottant et que vous navez
donc plus le contrle absolu sur le placement de votre tableau. Voici un
exemple :
Prix
12
17

Table 5.1. Liste des prix.

Afin de centrer le tableau, il faut utiliser la commande \centering. Vous


pouvez placer la lgende au-dessus ou en-dessous du tableau en changeant
la position de la commande \caption.
Code
\ begin { table }[! h ]
\ centering
\ begin { tabular }{|| l | c ||}
\ hline
\ bf Article & \ bf Prix \\
\ hline \ hline
Livres & 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }
\ caption { Liste des prix .}
\ end { table }

Version PDF gratuite http://www.latex-howto.be/

Article
Livres
DVD

68

5.1.3

CHAPITRE 5. TABLEAUX

Cellule paragraphe
Par dfaut, les largeurs des colonnes dpendent de leur contenu. On
peut insrer une colonne dont on fixe la largeur en utilisant le descripteur p{length}. Voici un exemple avec la seconde colonne qui fait deux
centimtres de large.
Article
Livres
DVD

Description
Livres
A5
avec couverture souple
DVD vierge
vendus par
pack de cinq

Prix
12
17

Comme vous pouvez le voir, le texte de ce type de cellule est par dfaut
justifi. On verra plus loin comment modifier cela.
Code

5.1.4

Sparateur de colonne
Entre deux colonnes, jusqu prsent, on avait soit rien du tout, soit un
filet vertical (avec |). On peut dfinir son propre sparateur de colonne
avec @{text}. Voyons par exemple comment avoir le tableau suivant dont
chaque ligne contient deux nombres spars par un /.
12/736
9231/1
9/49
De plus, on voit que le texte de la premire colonne est align droite et
celui de la seconde colonne gauche. Pour avoir le slash entre les deux
colonnes, il suffit dutiliser le sparateur @{/}.

Version PDF gratuite http://www.latex-howto.be/

\ begin { tabular }{| l | p {2.1 cm }| c |}


\ hline
\ bf Article & \ bf Description & \ bf Prix \\
\ hline
Livres & Livres A5 avec couverture souple & 12 \\
DVD
& DVD vierge vendus par pack de cinq & 17 \\
\ hline
\ end { tabular }

5.2. CELLULES SPCIALES

69

Code
\ begin { tabular }{ r@ {/} l }
12 & 736 \\
9231 & 1 \\
9 & 49 \\
\ end { tabular }

5.1.5

Rpter un descripteur
Pour rpter plusieurs fois un mme descripteur, par exemple pour avoir
un tableau de 10 colonnes centres, au lieu dcrire |c|c|c|. . ., on peut
utiliser le descripteur *{int}{desc} qui va rpter int fois le descripteur
desc. Ainsi, pour avoir un tableau 10 colonnes centres, toutes spares
par un filet vertical, on peut crire :
\begin{tabular}{*{10}{|c}|}

ou
\begin{tabular}{|*{10}{c|}}

5.2

Cellules spciales

5.2.1

Cellule sur plusieurs colonnes


La commande \multicolumn prend trois paramtres :
Le nombre de colonnes sur lesquelles la cellule stend ;
La description de la cellule ;
Le texte de la cellule.
On va par exemple pouvoir dfinir un tel tableau :
Produit

2008

Anne
2009 2010

Version PDF gratuite http://www.latex-howto.be/

On va voir quil est possible davoir des cellules qui stendent sur plusieurs
colonnes ou lignes. Pour cela, il va falloir utiliser respectivement les
commandes \multicolumn et \multirow. Pour la seconde commande, il
faudra importer le package multirow. On verra galement quon peut
avoir des cellules coupes par une barre oblique.

70

CHAPITRE 5. TABLEAUX

La seconde cellule de la premire ligne stend sur trois colonnes. Il ne


lui faut pas de filet vertical sur la gauche, mais bien sur la droite.
Code
\ begin { tabular }{| l | c | c | c |}
\ hline
\ bf Produit & \ m u l t i c o l u m n {3}{ c |}{\ bf Anne } \\
\ hline
& 2008 & 2009 & 2010 \\
\ hline
\ end { tabular }

On verra la fin de ce chapitre quon va galement utiliser \multicolumn


pour supprimer certains filets verticaux pour des mises en page avances.
5.2.2

Cellule sur plusieurs lignes


Pour avoir une cellule qui stend sur plusieurs lignes, il faut utiliser la
commande \multirow du package multirow. Elle prend trois paramtres :
Le nombre de lignes sur lesquelles la cellule stend ;
La largeur de la cellule ;
Le texte de la cellule.

Code
\ begin { tabular }{| l | l | l |}
\ hline
& & \ bf Produit \\
\ hline
\ m u l t i r o w {3}{12 mm }{\ bf Anne } & 2008 & \\
& 2009 & \\
& 2010 & \\
\ hline
\ end { tabular }

multirow

Version PDF gratuite http://www.latex-howto.be/

On va par exemple pouvoir dfinir un tel tableau :


Produit
2008
Anne 2009
2010
Il faut dfinir le \multirow lendroit o se trouverait la premire cellule.
Pour toutes les lignes suivantes, on va devoir passer la colonne suivante
avec &, sans quoi du texte viendrait encombrer la cellule tendue.

5.2. CELLULES SPCIALES

5.2.3

71

Cellule coupe par une barre oblique


Grce la commande \backslashbox du package slashbox, on va pouvoir
diviser une cellule en deux parties spares par une barre oblique.
B

A
1
2

Les
ont t obtenus avec la commande \checkmark disponible en important le package amssymb.
Code

slashbox, amssymb

\ begin { tabular }{| l | l | l |}


\ hline
\ b a c k s l a s h b o x { A }{ B } & 1 & 2 \\
\ hline
1 & \ c h e c k m a r k & \\
\ hline
2 & \ c h e c k m a r k & \ c h e c k m a r k \\
\ hline
\ end { tabular }

Rotation du texte
On souhaite parfois effectuer une rotation du texte dans une cellule. Il
suffit dutiliser la commande \rotatebox du package graphicx.
Bla

Bla

5.2.4

Bla

Remarquez quon a d ajouter une espace fine avec \, pour viter que le
texte ne colle la bordure suprieure du tableau.
Code
\ begin { tabular }{| c | c | c |}
\ hline
Bla & \ r o t a t e b o x {90}{ Bla \ ,} & Bla \\
\ hline
\ end { tabular }

graphicx

Version PDF gratuite http://www.latex-howto.be/

La commande \slashbox permet davoir une cellule divise par rapport


lautre diagonale.

72

5.3

CHAPITRE 5. TABLEAUX

Descripteurs de colonne avancs


Grce au package array, de nombreux descripteurs de colonne complmentaires sont ajouts. On va galement pouvoir dfinir ses propres
descripteurs trs facilement.

5.3.1

Nouveaux descripteurs
On a vu le descripteur p{length} qui permet dindiquer que les cellules
dune colonne seront des paragraphes de largeur fixe. Cest comme si le
contenu de chacune de ces cellules tait dans une \parbox[t]{length},
cest--dire que le contenu de la cellule est align en haut par rapport au
reste de la ligne.

Code

array

\ begin { tabular }{| p {1 cm }| m {1 cm }| b {1 cm }|}


\ hline
un long texte & a & a \\
\ hline
a & un long texte & a \\
\ hline
a & a & un long texte \\
\ hline
\ end { tabular }

Un autre nouveau descripteur disponible est !{desc}. Celui-ci est identique | si ce nest que desc est insr au lieu dun filet vertical. Il fait

Version PDF gratuite http://www.latex-howto.be/

Les deux descripteurs m{length} et b{length} correspondent respectivement une \parbox{length} et une \parbox[b]{length} (voir section 6.1.4 pour \parbox).
a
un
a
long
texte
un
long
a
a
texte
un
long
a
a
texte
Ces descripteurs dfinissent donc comment le paragraphe doit tre plac
dans la cellule, par rapport aux textes des cellules se trouvant dans la
mme ligne.

5.3. DESCRIPTEURS DE COLONNE AVANCS

73

la mme chose que @{desc}, mais sans supprimer les blancs. Voyons cela
sur un exemple :
A/A / A
On voit bien que les deux premiers A sont colls au /, tandis quentre les
deux derniers, il y a de lespace.
Code

array

\ begin { tabular }{| l@ {/} l !{/} l |}


\ hline
A & A & A \\
\ hline
\ end { tabular }

5.3.2

Insrer des commandes


Il est possible dinsrer une srie de commandes avant ou aprs le contenu
de toutes les cellules dune colonne. On va respectivement utiliser les
descripteurs >{decl} et <{decl} avant et aprs le descripteur de la colonne
quon souhaite affecter.
Prix e
12 e
17 e

Ici, on a mis les textes des cellules de la premire colonne en gras et on a


ajout le symbole e derrire les textes des cellules de la seconde colonne.
Notez que pour avoir le symbole e, il faut importer le package eurosym.
Code

array

\ begin { tabular }{| >{\ bf } l |c <{~\ euro }|}


\ hline
Article & Prix \\
\ hline
Livres & 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }

On peut par exemple utiliser ces descripteurs pour avoir une colonne
dont toutes les cellules sont passes en mode mathmatique. Pour cela, il
suffit de dclarer la colonne comme suit :
>{$}l<{$}

Version PDF gratuite http://www.latex-howto.be/

Article
Livres
DVD

74

CHAPITRE 5. TABLEAUX

Dans ce cas-ci, on pourrait galement crire :


>{\ensuremath}l

5.3.3

Dfinir ses propres descripteurs


Lorsquon souhaite personnaliser les cellules dune colonne, on va utiliser
les descripteurs >{decl} et <{decl}. Nanmoins, lorsquon doit le faire
pour plusieurs tableaux dun mme document, il devient plus pratique
de dfinir un nouveau descripteur. On va pour cela utiliser la commande
\newcolumntype qui prend deux paramtres, qui sont un nom et la description de la colonne.
Voici comment on peut rcrire lexemple prcdent en dfinissant deux
nouveaux descripteurs qui sont D et P.
Code

array

\ n e w c o l u m n t y p e { D }{ >{\ bf }l <{}}
\ n e w c o l u m n t y p e { P }{ >{} l <{~\ euro }}

Notez quon peut galement dfinir des descripteurs qui prennent des
paramtres. On spcifie le nombre de paramtres en option et on utilise
le ie paramtre avec #i (voir chapitre 12 pour plus de dtails).
\newcolumntype{M}[1]{>{}l<{~#1}}

5.3.4

Alignement sur un point dcimal


Parfois, lorsquon a des tableaux de donnes, on souhaite aligner les
nombres dune colonne sur le sparateur dcimal. Le package dcolumn
dfinit le descripteur D qui prend trois paramtres.
Article
Livres
DVD
Tondeuse

Prix
9,5
17,99
129,25

Version PDF gratuite http://www.latex-howto.be/

\ begin { tabular }{| D | P |}


\ hline
Article & Prix \\
\ hline
Livres & 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }

5.4. APPARENCE

75

Le premier paramtre indique le caractre sparateur (, dans notre


exemple). Le second paramtre indique le sparateur quil faut produire
(galement , dans notre exemple). Enfin, le dernier paramtre indique
le nombre maximal de chiffres dcimaux. Une valeur ngative fait en
sorte de centrer le sparateur dans la colonne.
Code

dcolumn

\ begin { tabular }{| l | D { ,}{ ,}{2}|}


\ hline
\ bf Article & \ bf Prix \\
\ hline
Livres
& 9 ,5 \\
DVD
& 17 ,99 \\
Tondeuse & 129 ,25 \\
\ hline
\ end { tabular }

5.4

Apparence

5.4.1

Alignement dans les cellules


On dfinit lalignement du texte dans les cellules grce aux descripteurs de
colonnes. On peut nanmoins vouloir modifier lalignement pour certaines
cellules. Pour ce faire, on utilise les commandes \raggedleft, \raggedright
et \centering.
A
left

right

center

Le problme est que ces commandes redfinissent \\ quon ne peut donc


plus utiliser pour terminer la ligne du tableau. Il faut donc utiliser
\tabularnewline la place, pour toutes les lignes contenant une des trois
commandes \raggedleft, \raggedright ou \centering.

Version PDF gratuite http://www.latex-howto.be/

Dans cette section, on va voir diffrentes choses quil est possible de faire
pour personnaliser lapparence des tableaux. On verra dabord comment
modifier lalignement du texte des cellules, ensuite on jouera sur le style
des filets, puis sur les couleurs et enfin sur lespacement.

76

CHAPITRE 5. TABLEAUX

Code
\ begin { tabular }{|*{3}{ p {2 cm }|}}
\ hline
A & B & C \\
\ hline
\ r a g g e d r i g h t left & \ r a g g e d l e f t right &
\ c e n t e r i n g center \ t a b u l a r n e w l i n e
\ hline
\ end { tabular }

5.4.2

paisseur des filets


On a vu quon pouvait avoir deux filets horizontaux ou verticaux qui
se suivent. Ils sont alors spars par un certain espace, contrl par la
commande de longueur \doublerulesep quon va pouvoir fixer zro.
Produit

Anne

Vous pourriez vous demander pourquoi on ne change pas directement


la valeur de \arrayrulewidth. On peut le faire, mais le rsultat sera
inesthtique.

\ s e t l e n g t h {\ d o u b l e r u l e s e p }{\ a r r a y r u l e w i d t h }
\ begin { tabular }{| l || l |}
\ hline
& Anne \\
\ hline \ hline
Produit & \\
\ hline
\ end { tabular }

En ce qui concerne les filets verticaux, il suffit dutiliser une barre verticale
paisse en tant que sparateur de colonne. On pourra ainsi avoir :
Produit

Anne

Remarquez quon a utilis \, pour insrer une espace fine inscable. Sans
cela, le texte aurait t compltement coll au filet vertical. Pour ce
dernier, on a utilis la commande TEX \vrule en spcifiant une certaine
largeur.

Version PDF gratuite http://www.latex-howto.be/

Code

5.4. APPARENCE

77

Code
\ begin { tabular }{| l@ {\ ,\ vrule width 1 mm \ ,} l |}
\ hline
& Anne \\
\ hline
Produit & \\
\ hline
\ end { tabular }

En ce qui concerne les filets horizontaux, on peut utiliser les commandes

\Xhline et \Xcline du package makecell qui prennent lpaisseur du trait

en paramtre.

Anne
Produit
Il y a une petite incompatibilit avec le package arydshln quon va voir
juste aprs. Pour contrer cela, il faut insrer la commande \ADLinactivate
avant lenvironnement tabular.
Code

makecell

On verra galement plus loin dans le chapitre une autre technique pour
changer lpaisseur des filets horizontaux.
5.4.3

Style des filets


On peut galement vouloir changer le style des filets. Par exemple, on
pourrait vouloir des filets pointills. Pour cela, on va faire appel au
package arydshln. Pour avoir un filet vertical pointill, il suffit dutiliser
: et pour les filets horizontaux, on utilise les commandes \hdashline et
\cdashline qui sutilisent comme \hline et \cline.
Article
Livres
DVD

Prix
12
17

Version PDF gratuite http://www.latex-howto.be/

\ begin { tabular }{| l | l |}


\ hline
& Anne \\
\ Xhline {2.5 pt }
Produit & \\
\ hline
\ end { tabular }

78

CHAPITRE 5. TABLEAUX

Vous voyez quon va bien entendu pouvoir combiner les filets normaux
avec ceux en pointills.
Code

arydshln

\ begin { tabular }{| l : c |}


\ hline
\ bf Article & \ bf Prix \\
\ hdashline
Livres & 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }

Les longueurs des traits pleins et des zones vides sont contrles par les
deux commandes de longueur \dashlinedash et \dashlinegap. On peut
galement personnaliser ces valeurs pour chaque trait en utilisant loption
des commandes \hdashline et \cdashline et en utilisant ;{length/length}
pour les filets verticaux.

Article
Livres
DVD

Prix
12
17

Code

arydshln

\ begin { tabular }{| l ;{5 pt /2 pt } c |}


\ hline
\ bf Article & \ bf Prix \\
\ h d a s h l i n e [5 pt /10 pt ]
Livres & 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }

Il est possible de paramtrer encore plus ces filets. Pour plus dinformations, je vous recommande la documentation du package arydshln.
Comme dit dans la section prcdente, on peut localement dsactiver et
activer la gestion des filets pointills grce aux commandes \ADLinactivate
et \ADLactivate. On utilise cela notamment pour rsoudre les conflits
quil pourrait y avoir avec dautres packages.

Version PDF gratuite http://www.latex-howto.be/

La premire longueur correspond au trait plein et la seconde la longueur


de la zone vide.

5.4. APPARENCE

5.4.4

79

Couleur de fond des cellules


Il est possible dajouter une couleur de fond une cellule, ou toutes
les cellules dune ligne ou dune colonne. Pour cela, on va utiliser des
commandes dfinies dans le package colortbl.
Article
Livres
DVD

Prix
12
17

Pour avoir une cellule avec couleur de fond personnalise, il suffit dutiliser
la commande \cellcolor qui prend en paramtre le nom dune couleur. On
peut galement utiliser les autres possibilits de dfinir la couleur, comme
avec la commande \color du package du mme nom. On peut par exemple
crire \cellcolor[gray]{0.5} ou alors \cellcolor[rgb]{1,1,0.2}.
Code

colortbl

\ begin { tabular }{| l | c |}


\ hline
\ bf Article & \ bf Prix \\
\ hline
Livres & \ c e l l c o l o r { red } 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }

Article
Livres
DVD

Prix
12
17

Vous devez utiliser la commande dans la premire cellule de la ligne, sans


quoi vous ferez face une erreur de compilation.
Code
\ begin { tabular }{| l | c |}
\ hline
\ r o w c o l o r [ gray ]{0.7} \ bf Article & \ bf Prix \\
\ hline
Livres & 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }

colortbl

Version PDF gratuite http://www.latex-howto.be/

Pour changer la couleur de fond de toutes les cellules dune ligne, il faut
utiliser la commande \rowcolor dans la premire cellule de la ligne.

80

CHAPITRE 5. TABLEAUX

Pour changer la couleur de fond de toutes les cellules dune colonne,


il suffit dutiliser le descripteur de colonne >{code} avec la commande
\rowcolor.
Article
Livres
DVD

Prix
12
17

On va ainsi affecter toutes les cellules dune colonne. Si on veut par


exemple avoir toutes les cellules dune colonne avec un fond gris, mais
pas la cellule de la premire ligne, on met toutes les cellules de la colonne
en gris, et puis, on met celle de la premire ligne avec un fond blanc.
Code

colortbl

\ begin { tabular }{| l | >{\ c e l l c o l o r [ gray ]{0.7}} c |}


\ hline
\ bf Article & \ c e l l c o l o r { white } \ bf Prix \\
\ hline
Livres & 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }

Article
Livres
DVD
Chaussettes
Vodka

Prix
12
17
3
15

La commande \rowcolors doit tre utilise en dehors de lenvironnement


tabular. Sachez aussi quon peut laisser les deux derniers paramtres
vides. Cela signifie simplement quil ne faut pas de couleur de fond.

Version PDF gratuite http://www.latex-howto.be/

On peut galement vouloir colorer les lignes dun tableau avec deux
couleurs diffrentes, une pour les lignes paires et lautre pour les lignes
impaires. Pour cela, on va utiliser la commande \rowcolors disponible en
chargeant \usepackage[table]{xcolor}. Le premier paramtre indique le
numro de la premire ligne quil faut colorer, ensuite les deux paramtres
suivants donnent respectivement la couleur des lignes impaires et paires.

5.4. APPARENCE

81

Code

xcolor

\ r o w c o l o r s {2}{ lightgray }{ gray }


\ begin { tabular }{| l | c |}
\ hline
\ bf Article & \ bf Prix \\
\ hline
Livres
& 12 \\
DVD
& 17 \\
Chaussettes & 3 \\
Vodka
& 15 \\
\ hline
\ end { tabular }

La commande \rowcolors sappliquera tous les tableaux se trouvant


entre le moment o vous avez crit la commande et la fin du bloc la
contenant.
Enfin, lorsque vous avez des tableaux avec des cellules qui ont t cres
avec \multicolumn ou \multirow, des problmes peuvent survenir. Vous
devrez chaque fois utiliser \cellcolor pour colorer ces cellules tendues.
5.4.5

Espacement

Article

Prix

Livres

12

DVD

17

La valeur de la commande est un nombre qui reprsente le facteur


dagrandissement de lespacement. Dans notre exemple, on a mis 1.5,
cest--dire que lespacement vaut 150% de lespacement normal.
Code
\ r e n e w c o m m a n d {\ a r r a y s t r e t c h }{1.5}
\ begin { tabular }{| l | c |}
\ hline
\ bf Article & \ bf Prix \\
\ hline
Livres
& 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }

Version PDF gratuite http://www.latex-howto.be/

Afin de modifier lespacement qui se trouve entre le texte dune cellule et


sa bordure, il faut redfinir la commande \arraystretch.

82

CHAPITRE 5. TABLEAUX

Parfois, on ne souhaite modifier lespacement que pour certaines cellules.


Une solution pour cela consiste insrer une ligne verticale de largeur
nulle dans les cellules quil faut modifier, avec la commande \rule.
Article
Livres
DVD

Prix
12
17

Dans cet exemple, on a ajout une ligne verticale de largeur nulle dans la
premire cellule. La ligne fait 1 cm de haut, et est descendue de 0,4 mm.
Code
\ begin { tabular }{| l | c |}
\ hline
\ bf \ rule [ -0.4 cm ]{0 mm }{1 cm } Article & \ bf Prix \\
\ hline
Livres
& 12 \\
DVD
& 17 \\
\ hline
\ end { tabular }

Dimensions et positionnement
Dans cette section, on va tout dabord voir comment modifier les dimensions dun tableau. On va commencer par sintresser fixer la largeur
dun tableau et puis on verra comment grer les longs tableaux qui
stendent sur plus dune page. Ensuite, on verra comment grer la position dun tableau par rapport au texte lentourant, et comment pivoter
un tableau.

5.5.1

Largeur fixe
On peut vouloir fixer la largeur totale dun tableau. Pour cela, on peut
utiliser lenvironnement tabular* qui prend en paramtre la largeur totale
du tableau.
A

Il reste un problme avec lenvironnement tabular*. Mme si on contrle


la largeur du tableau, on na pas de contrle sur les largeurs des colonnes.
Afin davoir un tableau esthtique, il faut ajouter un sparateur de colonne
lastique avec !{\extracolsep{\fill}}.

Version PDF gratuite http://www.latex-howto.be/

5.5

5.5. DIMENSIONS ET POSITIONNEMENT

83

Code
\ begin { tabular *}{4 cm }{|!{\ e x t r a c o l s e p {\ fill }} l | l |}
\ hline
A & B \\
\ hline
\ end { tabular *}

Une meilleure solution consiste utiliser lenvironnement tabularx disponible dans le package de mme nom. Les paramtres sont les mmes que
pour tabular*. La diffrence est quun nouveau descripteur de colonne est
disponible : X. Les colonnes de type X vont automatiquement se partager
de manire quilibre tout lespace horizontal restant.
A

Dans cet exemple, on a un tableau de huit centimtres de large et deux


colonnes l et deux colonnes X. Les deux colonnes X vont se partager la
largeur restante.
Code

tabularx

5.5.2

Long tableau
Parfois, on doit insrer des tableaux qui ne tiennent pas sur une seule
page. Deux solutions sont envisager : il faut soit modifier la taille du
tableau avec \scalebox par exemple, soit autoriser le tableau stendre
sur plusieurs pages en utilisant lenvironnement longtable disponible
dans le package de mme nom. Voyons un exemple :
Table 5.2 Liste des prix.
Article
Livres
DVD
Chaussettes
Vodka
Portable

Prix
12
17
3
15
93

Version PDF gratuite http://www.latex-howto.be/

\ begin { t a b u l a r x }{8 cm }{| l | X | l | X |}


\ hline
A & B & C & D \\
\ hline
\ end { t a b u l a r x }

84

CHAPITRE 5. TABLEAUX

Table 5.2 Liste des prix (suite).


Article
Chocolat
GSM
Piles

Prix
4
31
15

Vous voyez donc que le tableau commence au bas de la page prcdente


et stend jusquau dbut de celle-ci. Pour insrer un tel tableau, il faut
tout dabord dfinir les parties dentte et de bas de tableau qui se rptent sur toutes les pages ; on dlimite ces parties avec les commandes
\endfirsthead, \endhead, \endfoot et \endlastfoot qui dfinissent respectivement lentte avoir sur la premire page, sur les autres pages, le bas
avoir sur toutes les pages et sur la dernire page.
De plus, comme un long tableau nest pas un flottant, on ne peut le
placer dans un environnement table et on utilise donc directement la
commande \caption pour ajouter une lgende.
Code

longtable

Vous voyez galement que lenvironnement longtable admet une option


qui indique lalignement horizontal du tableau. On a ici mis c pour centrer
le tableau. Pour plus dinformations sur cet environnement, nous vous
renvoyons la documentation du package longtable.

Version PDF gratuite http://www.latex-howto.be/

\ begin { l o n g t a b l e }[ c ]{| l | c |}
\ caption { Liste des prix .} \\
\ hline
\ bf Article & \ bf Prix \\
\ hline
\ endfirsthead
\ caption []{ Liste des prix ( suite ).} \\
\ hline
\ bf Article & \ bf Prix \\
\ hline
\ endhead
\ hline
\ endfoot
Livres & 12 \\
DVD & 17 \\
Chaussettes & 3 \\
Vodka & 15 \\
Portable & 93 \\
Chocolat & 4 \\
GSM & 31 \\
Piles & 15
\ end { l o n g t a b l e }

5.5. DIMENSIONS ET POSITIONNEMENT

5.5.3

85

Hauteur du tableau
On peut spcifier comment le tableau est align verticalement par rapport
au texte environnant en prcisant une option lenvironnement tabular.
A
A
texte
texte
texte B texte
B
A
B
Les trois valeurs possibles pour loption sont t, c ou b pour aligner le
tableau sur le haut, pour le centrer ou laligner sur le bas. La valeur par
dfaut est c.
Code
texte \ begin { tabular }[ t ]{| l |}
\ hline A \\ B \\\ hline
\ end { tabular }
texte \ begin { tabular }[ c ]{| l |}
\ hline A \\ B \\\ hline
\ end { tabular }
texte \ begin { tabular }[ b ]{| l |}
\ hline A \\ B \\\ hline
\ end { tabular }
texte

A
texte A texte B texte
B
On voit maintenant que cest le contenu de la premire ou dernire ligne
qui est utilis pour effectuer lalignement.
Code
texte \ begin { tabular }[ t ]{| l |}
\ f i r s t h l i n e A \\ B \\\ hline
\ end { tabular }
texte \ begin { tabular }[ b ]{| l |}
\ hline A \\ B \\\ l a s t h l i n e
\ end { tabular }
texte

array

Version PDF gratuite http://www.latex-howto.be/

Lorsque lon aligne le tableau sur le haut ou le bas, le rsultat obtenu


peut vous paraitre inesthtique. Grce aux commandes \firsthline et
\lasthline disponibles dans le package array, on va obtenir un rsultat
plus joli. On utilise ces commandes la place de \hline pour le premier
et dernier filet horizontal du tableau.

86

Rotation dun tableau

ge
25
27

Les tableaux sont parfois trop larges pour tenir sur la largeur de la
page et une solution consiste effectuer une rotation de 90 degrs au
tableau. Pour faire cela, on peut utiliser lenvironnement turn du package
rotating.

Y
1984
1982

5.5.4

CHAPITRE 5. TABLEAUX

Lenvironnement prend un angle en degrs en paramtre. Notez quon


peut avoir le mme rsultat avec la commande \rotatebox du package
graphicx.
Code

rotating

Maintenant, si on dsire ajouter une lgende au tableau, soit on fait


comme on a vu la section 5.1.2, mais alors la lgende ne sera pas pivote
avec le tableau, soit on utilise lenvironnement sidewaystable du package
rotating. Le tableau sera automatiquement tourn de 90 ou 270 degrs
selon quil se trouve sur une page paire ou impaire, et il sera forcment
plac seul sur une page.
Code
\ begin { s i d e w a y s t a b l e }
\ centering
\ begin { tabular }{| c | c |}
\ hline
\ bf Y & \ bf ge \\
\ hline
1984
& 25 \\
1982
& 27 \\
\ hline
\ end { tabular }
\ caption { ges en fonction de l anne de naissance .}
\ end { s i d e w a y s t a b l e }

rotating

Version PDF gratuite http://www.latex-howto.be/

\ begin { turn }{90}


\ begin { tabular }{| c | c |}
\ hline
\ bf Y & \ bf ge \\
\ hline
1984
& 25 \\
1982
& 27 \\
\ hline
\ end { tabular }
\ end { turn }

5.6. MISE EN PAGE AVANCE

5.6

87

Mise en page avance


Dans cette dernire section sur les tableaux, on va voir quelques mises
en page avances comme les sous-tableaux, la gestion fine des filets
horizontaux ainsi que des tableaux plus complexes.

5.6.1

Sous-tableaux
On peut insrer des sous-tableaux, tout comme on avait des sous-figures
la section 4.2.6. Il suffit dutiliser la commande \subtable du package
subfigure.
(a) 2009

120

80

60

(b) 2010

90

110

90

65

86

Table 5.3. Prix moyens saisonniers.

On insre donc chaque sous-tableau avec la commande \subtable qui


prend la lgende en paramtre.
Code

subfigure

5.6.2

Style des filets horizontaux


Pour prsenter un tableau joliment, il est conseill de ne pas utiliser de
filets verticaux, mais rien que des horizontaux. De plus, le premier et le
dernier filet doivent tre plus pais et carts du texte. Afin de satisfaire
cela, on peut utiliser le package booktabs qui dfinit les commandes
\toprule, \midrule, \bottomrule et \cmidrule.

Version PDF gratuite http://www.latex-howto.be/

\ begin { table }[! h ]


\ centering
\ s u b t a b l e [2009]{
\ begin { tabular }{|*{4}{ l |}}
\ hline 120 & 80 & 60 & 90 \\\ hline
\ end { tabular }
}
\ s u b t a b l e [2010]{
\ begin { tabular }{|*{4}{ l |}}
\ hline 110 & 90 & 65 & 86 \\\ hline
\ end { tabular }
}
\ caption { Prix moyens saisonniers .}
\ end { table }

88

CHAPITRE 5. TABLEAUX

Article

Prix

Livres
DVD

12
17

On utilise donc \toprule et \midrule pour le premier et dernier filet


horizontal. Pour tous les autres filets, on utilise \midrule ou \cmidrule
pour avoir un filet partiel.
Code

booktabs

\ begin { tabular }{ lc }
\ toprule
\ bf Article & \ bf Prix \\
\ midrule
Livres
& 12 \\
DVD
& 17 \\
\ bottomrule
\ end { tabular }

Exemple dun tableau complexe


Anne

lectricit
Mathmatique

Bilan
Recettes

Dpenses

2009

42 ke

36 ke

2010

42 ke

34 ke

2009

130 ke

125 ke

2010

120 ke

122 ke

2009

37 ke

29 ke

2010

36 ke

27 ke

Cet exemple de tableau vous permet dapprendre deux choses. Tout


dabord, il est possible davoir des filets verticaux partiels en les supprimant pour certaines lignes. On fait cela en insrant un \multicolumn
dune seule cellule. Cest ce quon a fait pour les deux premires cellules
des deux premires lignes.
Ensuite, lorsquon utilise les descripteurs >{...} et <{...}, et quon ne
souhaite pas quils sappliquent sur toutes les lignes, il suffit dutiliser le
mme truc et de placer la cellule dans un \multicolumn.

Version PDF gratuite http://www.latex-howto.be/

Informatique
Dpartement

5.6.3

5.6. MISE EN PAGE AVANCE

89

Code

multirow

\ r e n e w c o m m a n d {\ a r r a y s t r e t c h }{1.5}
\ begin { tabular }{| l | l | c |*{2}{ r <{\; k \ euro }}|}
% %% Ligne 1
\ cline {3 -5}
\ m u l t i c o l u m n {1}{ l }{} & & \ m u l t i r o w {2}{1 cm }{ Anne }
& \ m u l t i c o l u m n {2}{ c |}{ Bilan } \\
% %% Ligne 2
\ cline {4 -5}
\ m u l t i c o l u m n {1}{ l }{} & & & \ m u l t i c o l u m n {1}{ c }{ Recettes }
& \ m u l t i c o l u m n {1}{ c |}{ Dpenses } \\
% %% Lignes 3 et 4
\ hline
\ m u l t i r o w {6}{3 mm }{\ r o t a t e b o x {90}{ Dpartement \;}}
& \ m u l t i r o w {2}{2.5 cm }{ Informatique } & 2009 & 42 & 36 \\
& & 2010 & 42 & 34 \\
% %% Lignes 5 et 6
\ cline {2 -3}
& \ m u l t i r o w {2}{2.5 cm }{ lectricit } & 2009 & 130 & 125 \\
& & 2010 & 120 & 122 \\
% %% Lignes 7 et 8
\ cline {2 -3}
& \ m u l t i r o w {2}{2.5 cm }{ Mathmatique } & 2009 & 37 & 29 \\
& & 2010 & 36 & 27 \\
\ hline
\ end { tabular }

Feuille de calcul
En utilisant lenvironnement spreadtab du package de mme nom, il est
possible davoir des fonctionnalits de type tableur directement dans un
document LATEX. Le paramtre de lenvironnement correspond au type
de tableau quil faut construire avec les donnes.
A
12
21
TotA 33
MoyA 16.5

B
15
17
TotB 32
MoyB 16

Total
27
38
65

On identifie une cellule par une lettre pour la colonne (a, b . . .) et un


nombre pour la ligne. Les cellules qui commencent par @ contiennent
du texte non-interprt. On peut mixer du texte et un calcul dans une
cellule en mettant le calcul entre :={}.

Version PDF gratuite http://www.latex-howto.be/

5.6.4

90

CHAPITRE 5. TABLEAUX

Code

spreadtab

\ begin { s p r e a d t a b }{{ tabular }{| cc | c |}}


\ hline
@A
& @B
& @Total \\
\ hline
12
& 15
& a2 + b2 \\
21
& 17
& a3 + b3 \\
\ hline
TotA :={ a2 + a3 } & TotB :={ b2 + b3 } & a4 + b4 \\
MoyA :={ a4 /2} & MoyB :={ b4 /2}
& \\
\ hline
\ end { s p r e a d t a b }

Le package est trs riche et nous vous conseillons de lire sa documentation


pour en savoir plus.
5.6.5

Importer un fichier CSV


Pour facilement insrer un fichier csv dans un document LATEX, on peut
utiliser le package datatool qui permet de grer des bases de donnes.
Ce package est trs riche et nous nallons pas le traiter en dtail.
Soit le fichier csv suivant :

On va pouvoir facilement linsrer dans un document et obtenir le tableau


suivant :
A
12
21

B
23
43

Somme
35
64

Pour cela, il faut tout dabord crer une nouvelle base de donnes en important le fichier csv avec la commande \DTLloaddb. Ensuite, on peut afficher
les donnes sous forme dun tableau avec la commande \DTLdisplaydb.
Code
\ D T L l o a d d b { mydb }{ data . csv }
\ D T L d i s p l a y d b { mydb }

datatool

Version PDF gratuite http://www.latex-howto.be/

A,B,Somme
12,23,35
21,43,64

CHAPITRE

Boite

Ce chapitre dcrit comment utiliser les boites. On commencera par voir


les boites basiques et leur utilit, ainsi que les boites avec une bordure.
Ensuite, on verra comment insrer des boites plus riches, notamment avec
de lombre ou avec des formes non-rectangulaires. On verra galement
comment effectuer des transformations et jouer avec les couleurs. Enfin,
on terminera le chapitre en voyant quelques boites plus sophistiques,
comme celles utilises pour prsenter le code des exemples de ce livre.

Insrer une boite


On peut insrer une nouvelle boite avec les commandes \mbox et \makebox.
La diffrence entre les deux commandes est que la premire insre une
boite dont la largeur dpend de son contenu, alors quon va pouvoir
spcifier la largeur avec la seconde commande. Une boite ne sera jamais
dcoupe et restera donc toujours sur la mme ligne. On les utilise
notamment pour empcher LATEX deffectuer une csure.
Une boite
Une belle boite
Une belle boite
Une belle boite
Une
belle
boite
La commande \makebox prend une premire option qui est la largeur de la
boite. Si vous ne spcifiez rien, la commande se comporte comme \mbox.
Il y a galement une seconde option qui permet de prciser lalignement
horizontal du texte lintrieur de la boite.
91

Version PDF gratuite http://www.latex-howto.be/

6.1

92

CHAPITRE 6. BOITE

Par dfaut, le texte est centr. Les autres valeurs possibles sont :
l texte align gauche ;
r texte align droite ;
s texte justifi.
Code
\ mbox { Une boite } \\
\ makebox [4 cm ]{ Une belle boite } \\
\ makebox [4 cm ][ l ]{ Une belle boite } \\
\ makebox [4 cm ][ r ]{ Une belle boite } \\
\ makebox [4 cm ][ s ]{ Une belle boite }

6.1.1

Boite avec bordure


On peut galement vouloir une bordure autour de la boite. Pour cela,
il suffit dutiliser les commandes \fbox et \framebox qui se comportent
exactement comme les deux commandes \mbox et \makebox quon vient de
voir. Lpaisseur de la bordure est contrle par la commande de longueur
\fboxrule.

Une belle boite


Une

belle

boite

Code
\ fbox { Une boite } \\
\ f r a m e b o x [4 cm ]{ Une belle boite } \\
\ f r a m e b o x [4 cm ][ l ]{ Une belle boite }
\ s e t l e n g t h {\ f b o x r u l e }{2 pt }
\ f r a m e b o x [4 cm ][ r ]{ Une belle boite } \\
\ f r a m e b o x [4 cm ][ s ]{ Une belle boite }

6.1.2

Dimensionnement des boites


En LATEX, tout est reprsent sous forme de boites. Celles-ci sont dfinies
par trois longueurs qui sont leur largeur, hauteur et profondeur. Chaque

Version PDF gratuite http://www.latex-howto.be/

Une boite
Une belle boite
Une belle boite

6.1. INSRER UNE BOITE

93

boite possde galement un point de rfrence situ sur sa gauche. Les


diffrentes boites des lments qui constituent une ligne sont places de
manire ce que leurs points de rfrence se situent tous sur une mme
ligne appele la ligne de base. Tous ces lments sont illustrs sur la
figure 6.1.
width

height
totalheight
depth

reference
point

baseline

Figure 6.1. Une boite LATEX.

Les valeurs de ces diffrentes longueurs peuvent tre obtenues via les
commandes \width, \height, \depth et \totalheight. Ainsi, on peut par
exemple aisment faire une boite dont la largeur est le triple de celle
occupe par son contenu.
En utilisant le package calc, on peut mme faire des calculs plus complexes. On verra dautres exemples plus tard.
Code
\ f r a m e b o x [3\ width ]{ Une belle boite }

6.1.3

Espacement des boites


On peut modifier lespace ajout entre le contenu de la boite et sa
bordure grce la commande de longueur \fboxsep. Pour ne modifier
que la hauteur de la boite, on va utiliser la mme technique que celle vue
la section 5.4.5, savoir insrer une ligne verticale de largeur nulle.
Une belle boite

Une belle boite

Version PDF gratuite http://www.latex-howto.be/

Une belle boite

94

CHAPITRE 6. BOITE

Code
\ fbox {\ rule [ -0.4 cm ]{0 mm }{1 cm } Une belle boite }
\ s e t l e n g t h {\ fboxsep }{3 mm }
\ fbox { Une belle boite }

6.1.4

Boite paragraphe
Enfin, dans les boites quon vient de voir, il nest possible de mettre
quune seule ligne de texte. Pour insrer un paragraphe dans une boite,
il convient dutiliser la commande \parbox dont le premier paramtre est
la largeur de la boite et le second son contenu.
Une belle boite
contenant
beaucoup de texte
Comme montr sur cet exemple, on contrle lalignement du texte dans
la boite avec les commandes dalignement \raggedleft, \raggedright et
\centering. Le contenu est justifi par dfaut.
Code

On peut galement contrler lalignement vertical de la boite par rapport


la ligne de base via une option de la commande. On peut aligner en
haut (t) ou en bas (b), sachant que par dfaut, la boite est centre.
A
A
texte A texte
texte B
B
B
Lalignement en haut se fait par rapport la premire ligne de texte de
la boite et lalignement en bas par rapport la dernire ligne de texte.
Code
texte \ fbox {\ parbox [ t ]{3 mm }{ A \\ B }}
texte \ fbox {\ parbox {3 mm }{ A \\ B }}
texte \ fbox {\ parbox [ b ]{3 mm }{ A \\ B }}

Version PDF gratuite http://www.latex-howto.be/

\ fbox {\ parbox {3 cm }{
\ c e n t e r i n g Une belle boite contenant beaucoup de texte
}}

6.2. BOITES DE TRANSFORMATION

6.2

95

Boites de transformation
On va maintenant voir toute une srie de boites qui permettent deffectuer
des transformations sur leur contenu. On verra comment bouger une
boite en hauteur, effectuer un redimensionnement ou une mise lchelle
et faire un effet miroir.

6.2.1

Dplacement vertical
On peut dplacer une boite verticalement en utilisant la commande

\raisebox. Celle-ci prend en premier paramtre la distance de laquelle il

faut dplacer la boite et en second argument son contenu.


comment
Bonjour,
vas-tu ? Bien,
!
merci
Une valeur positive fait monter la boite tandis quune ngative la fait
descendre.
Code
Bonjour , \ r a i s e b o x {3 mm }{ comment } vas - tu ?
Bien , \ r a i s e b o x { -3 mm }{ merci } !

Mise lchelle et dformation


La commande \scalebox du package graphicx permet de faire une mise
lchelle dune boite. La commande prend en paramtre le facteur
dchelle appliquer. Avec loption, on peut spcifier un facteur diffrent
pour la mise lchelle verticale.
Texte normal

agrandi 2 fois
rtrci 1/2 fois verticalement

Remarquez que loption de la commande arrive aprs le premier paramtre.


Le texte de la troisime ligne nest pas redimensionn horizontalement,
mais cras verticalement.
Code
Texte normal \\
\ s c a l e b o x {2}{ agrandi 2 fois } \\
\ s c a l e b o x {1}[0.5]{ rtrci 1/2 fois verticalement }

graphicx

Version PDF gratuite http://www.latex-howto.be/

6.2.2

96

6.2.3

CHAPITRE 6. BOITE

Redimensionnement
La commande \resizebox du package graphicx permet de redimensionner
une boite en spcifiant en paramtre une nouvelle largeur et hauteur.

texte

Texte

texte
texte

On peut utiliser un ! la place de la largeur ou hauteur lorsque lon veut


un redimensionnement qui conserve les proportions de la boite.
Code

graphicx

Texte \\
\ r e s i z e b o x {4 mm }{10 mm }{ texte } \\
\ r e s i z e b o x {10 mm }{4 mm }{ texte } \\
\ r e s i z e b o x {10 mm }{!}{ texte }

6.2.4

Rotation

Tourn de 3

egr
0d

et de -20
deg
rs

Un angle positif correspond une rotation dans le sens anti-horloger et


un angle ngatif correspond une rotation dans le sens horloger.
Code

graphicx

Tourn de \ r o t a t e b o x {30}{30 degrs }


et de \ r o t a t e b o x { -20}{ -20 degrs }

6.2.5

Effet miroir
La commande \reflectbox du package graphicx permet deffectuer un
effet de miroir vertical. La commande prend en paramtre le contenu de
la boite.

Version PDF gratuite http://www.latex-howto.be/

La commande \rotatebox du package graphicx permet deffectuer une


rotation sur une boite. Le premier paramtre de la commande est un
angle donn en degrs et le second est le contenu de la boite.

6.2. BOITES DE TRANSFORMATION

97

rioriM Miroir
Notez quon peut avoir exactement le mme effet de miroir vertical avec
la commande \scalebox{-1}[1]{Miroir}.
Code

graphicx

\ r e f l e c t b o x { Miroir } Miroir

6.2.6

Composition de transformation
On peut composer les transformations en utilisant plusieurs types de
boites. Par exemple, on peut produire un effet de miroir horizontal en
combinant trois transformations.
Miroir
Miroir
La premire chose faire est dappliquer un effet de miroir vertical,
ensuite, on applique une rotation de 180 degrs et enfin, il faut remonter
la boite dune fois sa hauteur (quon obtient avec \depth).
graphicx

Miroir \\
\ r a i s e b o x {\ depth }{\ r o t a t e b o x {180}{\ r e f l e c t b o x { Miroir }}}

Lorsque vous composez des transformations, il faut bien faire attention


lordre dans lequel elles sont faites. Ceci peut changer le rsultat obtenu
comme le montre lexemple suivant.
ri
riM oriM
o
i
r
Dans le premier exemple, on fait dabord un miroir vertical suivi dune
rotation de 30 degrs. Dans le second exemple, on fait les transformations
dans lautre sens.
Code
\ r o t a t e b o x {30}{\ r e f l e c t b o x { Miroir }}
\ r e f l e c t b o x {\ r o t a t e b o x {30}{ Miroir }}

graphicx

Version PDF gratuite http://www.latex-howto.be/

Code

98

6.3

CHAPITRE 6. BOITE

Styles de boites
On va maintenant voir diffrents styles de cadre. On va commencer par
voir des boites dont on peut spcifier le type de bordure. Ensuite, on
verra des boites plus riches auxquelles on peut notamment ajouter un
logo. Enfin, on terminera avec des boites de couleur.

6.3.1

Bordures
On peut obtenir diffrents types de bordures en chargeant le package
fancybox. On peut dfinir des cadres avec ombre, des cadres avec trait
double et des cadres avec coins arrondis. On utilise respectivement les
commandes \shadowbox, \doublebox, \ovalbox et \Ovalbox.

Double bordure Coins arrondis Coins arrondis


La diffrence entre les deux derniers cadres est que, avec \Ovalbox, la
bordure est plus paisse. Pour \ovalbox, elle est dfinie par \thinlines
et pour \Ovalbox, elle est dfinie par \thicklines.
Ombre

Code

fancybox

La largeur de lombre est contrle par la commande \shadowsize et les


coins arrondis sont dfinis par la commande \cornersize.
Ombre

Ombre

Coins arrondis
Coins arrondis
Code

\ s h a d o w b o x { Ombre }
\ s e t l e n g t h {\ s h a d o w s i z e }{2 pt }
\ s h a d o w b o x { Ombre } \\
\ ovalbox { Coins arrondis }
\ c o r n e r s i z e {2}
\ ovalbox { Coins arrondis }

fancybox

Version PDF gratuite http://www.latex-howto.be/

\ s h a d o w b o x { Ombre }
\ d o u b l e b o x { Double bordure }
\ ovalbox { Ovale }
\ Ovalbox { Ovale }

6.3. STYLES DE BOITES

6.3.2

99

Boites de couleur
Le package graphicx propose la commande \colorbox qui permet davoir
une boite dont on peut spcifier la couleur de fond, et la commande
\fcolorbox, qui permet en plus de spcifier la couleur de la bordure.
Une belle boite Une belle boite avec bordure

Une boite

Tout comme pour les couleurs, on peut soit spcifier un nom, soit un
modle et la valeur de la couleur pour le modle choisi.
Code

graphicx, color

\ c o l o r b o x { lightgray }{ Une belle boite }


\ f c o l o r b o x { black }{ lightgray }{ Une belle boite avec bordure }
\ f c o l o r b o x [ gray ]{0.1}{0.9}{ Une boite }

Si on dsire avoir une boite de couleur contenant des paragraphes, il suffit


de combiner une \fcolorbox avec une \parbox par exemple.
Bla
Bla
Bla

Code

graphicx, color

\ f c o l o r b o x { black }{ lightgray }{
\ parbox {5 cm }{
Bla \\
Bla \\
Bla
}
}

6.3.3

Superposition de boites
Avec ce quon a vu jusqu prsent dans ce chapitre, on peut dj faire
beaucoup de constructions assez intressantes. On va maintenant voir
comment faire une boite avec une bordure et un titre se situant par dessus
cette dernire. Pour cela, on va utiliser la commande \boxput qui permet
de superposer deux boites.

Version PDF gratuite http://www.latex-howto.be/

On peut galement combiner la \fcolorbox avec une minipage pour obtenir


le mme rsultat, en fonction de la situation et du contenu que vous
voulez placer dans la boite.

100

CHAPITRE 6. BOITE

La commande prend deux boites en paramtres et place la premire


boite derrire la seconde (ou inversement si vous utilisez la commande
\boxput*). Enfin, on doit spcifier une coordonne qui indique o la
premire boite est place par rapport la seconde. Par exemple, avec
(0, 0) elle est centre, avec (0, 1) elle est centre et en haut, avec (1, 1)
elle est en bas gauche . . .
Voici par exemple comment on peut construire une boite avec un cadre
et un titre :
Bla
Bla
Bla

Titre de la boite

On place donc une boite avec le titre et un fond blanc, obtenue avec

\colorbox, par dessus une boite avec un cadre, obtenue avec \fbox.

Code

fancybox

6.3.4

Boite riche avec logo


Pour obtenir des boites riches, avec la possibilit davoir un logo, comme
celles utilises pour prsenter les extraits de code dans ce livre, on utilise
lenvironnement bclogo dfini dans le package de mme nom. Dans la
version de base, il suffit de spcifier le titre de la boite en paramtre.
Voici ce que a donne :

Titre de la boite
Contenu de la boite
On a donc une boite avec un fond blanc, une bordure noire et un logo qui
est une fleur. Notez que la boite est dessine soit avec PSTricks, soit avec
PGF/TikZ et quil faut faire son choix lorsque lon importe le package.

Version PDF gratuite http://www.latex-howto.be/

\ boxput *(0 ,1){


\ c o l o r b o x { white }{ Titre de la boite }
}{
\ s e t l e n g t h {\ fboxsep }{6 pt }
\ fbox {\ begin { m i n i p a ge }{8 cm }
Bla \\
Bla \\
Bla
\ end { m i n i p a g e }}
}

6.4. GRANDE BOITE

Code

101

bclogo

\ begin { bclogo }{ Titre de la boite }


Contenu de la boite
\ end { bclogo }

On peut personnaliser la boite en spcifiant des options lenvironnement.


Pour plus dinformations, consultez la documentation du package. Pour
information, les boites de ce livre sont obtenues avec les options suivantes :
[couleur=black!10,couleurBord=black!50,arrondi=0.1,logo=\bccrayon]

6.4

Grande boite
On peut vouloir insrer des boites larges pouvant contenir autre chose
que simplement un mot ou une ligne de texte. Pour ce faire, il suffit de
placer le contenu de la boite dans une \parbox comme on en a dj vu
auparavant. On peut galement utiliser lenvironnement minipage.
Paragraphe 1
Paragraphe 2

Code
\ fbox {\ begin { m i n i p a g e }{8 cm }\ s e t l e n g t h {\ parskip }{5 mm }
Paragraphe 1
Paragraphe 2
\ end { m i n i p a g e }}

6.4.1

Boite sur plusieurs pages


Toutes les boites quon a vues jusqu prsent ne pouvaient pas stendre
sur plusieurs pages. Pour pouvoir faire cela, on va devoir utiliser le package
framed.
Le package framed propose quatre environnements :
framed

Version PDF gratuite http://www.latex-howto.be/

En utilisant cela, on peut redfinir diffrents paramtres comme lespacement entre paragraphes par exemple.

102

CHAPITRE 6. BOITE

shaded
snugshade
leftbar
La boite ci-dessus stend donc automatiquement sur deux pages. Les
environnements shaded et snugshade permettent davoir une boite avec
une ombre et leftbar permet davoir un trait vertical dans la marge de
gauche.
Code

framed

\ begin { framed }
Le package framed propose quatre envir onnements :
\ begin { itemize }
\ item framed
\ item shaded
\ item snugshade
\ item leftbar
\ end { itemize }
\ end { framed }

Version PDF gratuite http://www.latex-howto.be/

Le package propose galement des commandes pour dfinir de nouveaux


types de boites stendant sur plusieurs pages. Nous vous recommandons
de lire sa documentation.

CHAPITRE

Mathmatique

Ce chapitre dcrit tous les lments de base quil vous faudra maitriser
pour utiliser des mathmatiques dans un document. On va commencer
avec les symboles et les constructions de base. Ensuite, on enchainera
avec linsertion dquations et de matrices. Enfin, on terminera en voyant
comment faire de la mise en page comme des thormes par exemple.

Mode mathmatique
Il y a trois modes mathmatique diffrents. On peut insrer une formule
dans le texte en utilisant $ ... $ ou \( ... \). Pour insrer une formule
spare du texte et centre, on peut utiliser $$ ... $$ ou \[ ... \]. Enfin,
pour insrer une quation numrote, on va utiliser lenvironnement
equation.
Lorsque que lon est en mode mathmatique et quon souhaite repasser
en mode texte, il suffit dutiliser la commande \textrm. Dans ce mode,
les espaces seront nouveau pris en compte, contrairement ce qui se
passe en mode mathmatique.
Soient x et y deux entiers. Leur somme vaut :
z =x+y
On a galement la proprit suivante :
z 2 x2 + y 2
103

(7.1)

Version PDF gratuite http://www.latex-howto.be/

7.1

104

CHAPITRE 7. MATHMATIQUE

Code
Soient $ x $ et \( y \) deux entiers . Leur somme vaut :
\[
z = x + y
\]
On a galement la proprit suivante :
\ begin { e q u a t i o n }
z ^2 \ leq x ^2 + y ^2
\ end { e q u a t i o n }

7.2

Symboles
Cette section rassemble les symboles les plus courants dont vous pourriez
avoir besoin. La plupart sont disponibles directement en LATEX, tandis
que pour dautres, il faudra utiliser AMS et donc importer les packages
amsmath et amssymb.

7.2.1

Lettres grecques
Les lettres grecques minuscules sont obtenues avec des commandes, sauf
pour la lettre omicron qui est obtenue avec le o minuscule romain.

\alpha
\beta
\gamma
\delta
\epsilon
\zeta

\eta
\theta
\iota
\kappa
\lambda
\mu

\nu
\xi
o
\pi
\rho
\sigma

\tau
\upsilon
\phi
\chi
\psi
\omega

Les lettres grecques majuscules sont obtenues soit avec une lettre majuscule romaine, soit avec une commande.
A
B

E
Z

A
B
\Gamma
\Delta
E
Z

I
K

H
\Theta
I
K
\Lambda
M

N
\Xi
O
\Pi
P
\Sigma

T
\Upsilon
\Phi
X
\Psi
\Omega

Enfin, certaines lettres minuscules possdent une variante. Pour la lettre


kappa, il faut importer le package amssymb.

\varepsilon
\vartheta

\varkappa
\varpi

\varrho
\varsigma

\varphi

Version PDF gratuite http://www.latex-howto.be/

7.2. SYMBOLES

7.2.2

105

Symboles divers

<

|
+

\
>

\prime
\emptyset
\nabla
\surd
\top
\bot
\|
\angle
\triangle
\backslash
>
\geq
\succ
\succeq
\supset
\supseteq
\sqsupset *
\sqsupseteq
\triangleright
\ni
\wedge
\dashv
\parallel
\frown
\mp
\setminus
\cap
\sqcap
\oslash
\ddagger
\div
\wr
\gtrdot *
\bigtriangledown
\amalg
\rhd
\unrhd

=
=

|=

.
=

\forall
\exists
\neg
\flat
\natural
\sharp
\clubsuit
\diamondsuit
\heartsuit
\spadesuit
\gg
\ll
=
\neq
\equiv
\approx
\cong
\propto
\bowtie
\notin
\sim
\models
\perp
\asymp
\simeq
\circ
\bullet
\oplus
\ominus
\odot
\implies
\ast
\star
\doteq
\bigcirc
\Join *

Version PDF gratuite http://www.latex-howto.be/

\aleph
\hbar
\imath
\jmath
\ell
\wp
\Re
\Im
\partial
\infty
<
\leq
\prec
\preceq
\subset
\subseteq
\sqsubset *
\sqsubseteq
\triangleleft
\in
\vee
\vdash
\mid
\smile
+
\pm
\times
\cup
\sqcup
\otimes
\dagger
\cdot
\diamond
\lessdot *
\bigtriangleup
\uplus
\lhd
\unlhd

106

7.2.3

CHAPITRE 7. MATHMATIQUE

Flches
On peut obtenir toute une srie de flches en mode mathmatique. Voyons
tout dabord les flches classiques :

\rightarrow
\Rightarrow
\longrightarrow
\Longrightarrow
\downarrow
\Downarrow
\mapsto
\hookrightarrow
\nearrow
\nwarrow
\rightharpoonup
\rightharpoondown

\leftarrow
\Leftarrow
\longleftarrow
\Longleftarrow
\uparrow
\Uparrow
\longmapsto
\hookleftarrow
\searrow
\swarrow
\leftharpoonup
\leftharpoondown

\leftrightarrow
\Leftrightarrow
\longleftrightarrow
\Longleftrightarrow
\updownarrow
\Updownarrow
\leadsto *

\rightleftharpoons

Pour obtenir des flches barres, il suffit dutiliser la commande \not. Par
exemple :

\not\rightarrow

\not\Leftarrow

\nrightarrow
\nRightarrow

7.2.4

\nleftarrow
\nLeftarrow

\nleftrightarrow
\nLeftrightarrow

Raccourcis
De nombreux symboles peuvent tre obtenus avec plusieurs commandes,
afin de faciliter leurs utilisations dans certaines situations.
(quivaut )

|
=

\to
\gets
\owns
\land
\lor
\lnot
\vert
\Vert
\implies
\iff

\rightarrow
\leftarrow
\ni
\wedge
\vee
\neg
|
\|
\;\Longrightarrow\;
\;\Longleftrightarrow\;

Version PDF gratuite http://www.latex-howto.be/

Cependant, pour avoir des flches barres plus esthtiques dans certaines
situations, vous pouvez utiliser des commandes du package AMS :

7.3. CONSTRUCTIONS BASIQUES

7.2.5

107

Polices de caractres
On peut obtenir diffrentes polices de caractres en mode mathmatique.
Les lettres reprsentant les ensembles sont obtenues avec la commande
\mathbb :
A

\mathbb{A}

\mathbb{B}

\mathbb{C}

...

On peut galement obtenir des lettres rondes (calligraphies) avec la


commande \mathcal :
A

\mathcal{A}

\mathfrak{A}

\mathcal{B}

\mathcal{C}

...

Enfin, on peut galement avoir une police de type gothique avec la


commande \mathfrak :

7.3

\mathfrak{B}

\mathfrak{C}

...

Constructions basiques
On va voir toutes les constructions mathmatiques basiques dans cette
section : fraction, racine carre, fonctions, indice et exposant . . .
x10

x_{10}

Exposant

x10

x^{10}

Fraction
Racine nime

x
y

n
x

Trait horizontal

AB

\overline{AB}

AB

\underline{AB}

Vecteur

AB

\overrightarrow{AB}

Angle

AB

\widehat{AB}

Tilde

AB

\widetilde{AB}

\frac{x}{y}
\sqrt[n]{x}

Version PDF gratuite http://www.latex-howto.be/

Indice

108

7.3.1

CHAPITRE 7. MATHMATIQUE

Accolade
On peut avoir une accolade qui stend en-dessous ou au-dessus dune
formule, tout en ajoutant un texte sur laccolade avec les commandes
\overbrace et \underbrace.
3,14

S= r

rayon

Code
\[
\]

7.3.2

S = \ o v e r b r a c e {\ pi }^{3 ,14} \ cdot {\ u n d e r b r a c e { r } _ { rayon }}^2

Oprateurs de taille variable avec indice et exposant


On peut insrer des oprateurs de taille variable, pouvant prendre une
valeur en indice et en exposant. Voyons tout dabord comment insrer
une somme :
n1

x2i + 2

On utilise pour cela la commande \sum :


Code
\[
\]

\ sum_ { i = 0}^{ n - 1} { x_i ^2 + 2}

On peut galement obtenir le mme effet en utilisant les commandes

\limits et \nolimits qui permettent de spcifier les valeurs en exposant

et indice placer sur le symbole obtenu avec la commande qui prcde.


2
0

2
2

x 1 dx

x2 1 dx

2
0

x2 1 dx

Vous remarquerez quavec \limits, les valeurs sont positionnes au-dessus


et en-dessous du symbole alors quavec \nolimits, ces dernires sont
places ct du symbole.

Version PDF gratuite http://www.latex-howto.be/

i=0

7.3. CONSTRUCTIONS BASIQUES

109

Code
\[

\]

\ int_ {0}^{2} { x ^2 - 1 \ , dx }
\ qquad \ int \ limits_ {0}^{2} { x ^2 - 1 \ , dx }
\ qquad \ int \ nolimits_ {0}^{2} { x ^2 - 1 \ , dx }

Voici les oprateurs les plus courants :


\prod
\bigcap
\bigwedge
\bigoplus

7.3.3

\coprod
\bigcup
\bigvee
\bigotimes

\sum
\bigsqcup
\biguplus
\bigodot

\int
\oint
\iint
\iiint

Fonctions
Il y a toute une srie de fonctions prdfinies qui sont disponibles via des
commandes. Celles-ci sont rendues dans une police de caractre droite,
et suivies dun espace. On peut par exemple crire :
p = Pr |X| sin

\[
\]

p = \ Pr \ left [ | X | \ leq \ sin \ frac {\ pi }{4} \ right ]

Voici les fonctions prdfinies :


\arccos
\arcsin
\arctan
\arg
\cos
\cosh

\cot
\coth
\csc
\deg
\det
\dim

\exp
\gcd
\hom
\inf
\ker
\lg

\lim
\liminf
\limsup
\ln
\log
\max

\min
\Pr
\sec
\sin
\sinh
\sup

\tan
\tanh

On peut utiliser ces fonctions avec \limits et \nolimits :


limx

1
x

max x2

x[0,5]

Version PDF gratuite http://www.latex-howto.be/

Code

110

CHAPITRE 7. MATHMATIQUE

Code
\[
\]

\ lim \ nolimits_ { x \ to \ infty } \ frac {1}{ x }


\ qquad \ max_ { x \ in [0 ,5]} x ^2

Il y a galement la fonction mod utilise pour larithmtique modulaire.


On peut lobtenir avec deux commandes diffrentes : \bmod et \pmod.
a mod b

xa

(mod b)

Code
\[
\]

a \ bmod b
\ qquad x \ equiv a \ pmod { b }

Dfinir une fonction

acos x = Arc cos x


Code

amsmath

\ D e c l a r e M a t h O p e r a t o r {\ acos }{ acos }
\ r e n e w c o m m a n d {\ arccos }{\ o p e r a t o r n a m e { Arc ~ cos }}
\ begin { d o c u m e n t }
$ \ acos x = \ arccos x $

7.3.4

Superposer deux symboles


On peut superposer deux symboles avec la commande \stackrel. Celle-ci
prend deux paramtres. Le premier est le symbole qui va au-dessus du
second.
P (f ) = {x | f (x) 0}

Version PDF gratuite http://www.latex-howto.be/

Pour dfinir une nouvelle fonction, il faut utiliser la commande \DeclareMathOperator


du package amsmath. Si on souhaite redfinir une fonction qui existait
dj, on va utiliser la commande \operatorname. Ces dfinitions doivent
se faire dans le prambule du document.

7.4. DLIMITEURS

111

Code
\[
\]

7.4

P ( f ) \ s t a c k r e l {\ t r i a n g l e }{=} \{ x \ mid f ( x ) \ geq 0 \}

Dlimiteurs
Il existe toute une srie de dlimiteurs quon va pouvoir utiliser avec les
commandes \left et \right afin quils sadaptent automatiquement
leur contenu. On peut par exemple crire :
1
2
,
x2 + 1 x2
Ici, on a utilis les commandes \langle et \rangle qui permettent davoir
des chevrons.
Code
\[

\ left \ langle \ frac {1}{ x ^2 + 1} , \ frac {2}{ x ^2} \ right \ rangle

On peut galement fixer la taille des dlimiteurs en utilisant les commandes \big, \Big, \bigg et \Bigg.

Code
\[
\]

\ Bigg ( \ bigg ( \ Big ( \ big ( \ big ) \ Big ) \ bigg ) \ Bigg )

Version PDF gratuite http://www.latex-howto.be/

\]

112

CHAPITRE 7. MATHMATIQUE

Voici les dlimiteurs les plus courants :


(
[
{
/
7.4.1

(
[
\{
\langle
\lfloor
/

)
]
}
\

)
]
\}
\rangle
\rfloor
\backslash

\uparrow
\downarrow
\updownarrow
|
\lceil

\Uparrow
\Downarrow
\Updownarrow
\|
\rceil

Dfinition directe
En utilisant le package delarray, on va pouvoir dfinir directement les
dlimiteurs. Il faut par contre faire trs attention aux conflits avec dautres
packages, dont notamment dcolumn, colortbl, makecell ou tabularx.
y
2y

3x2 + x 1
x + 3

Code
\[

7.5

\ begin { array }({ cc })


y
& 3 x ^2 + x - 1 \\
2 y & -x + 3
\ end { array }

Tableaux, matrices et quations


Dans cette section, on va voir comment dfinir des tableaux en mode
mathmatique. On verra galement comment dfinir des matrices, des
systmes dquations et des listes dquations.

7.5.1

Tableaux
On peut dfinir des tableaux en mode mathmatique en utilisant lenvironnement array. Ce dernier fonctionne comme lenvironnement tabular
(section 5.1).
1 = 1
11 = 11
111 = 111

Version PDF gratuite http://www.latex-howto.be/

\]

delarray

7.5. TABLEAUX, MATRICES ET QUATIONS

113

Code
\[

\]

7.5.2

\ begin { array }{ rcl }


1
& = & 1 \\
11 & = & 11 \\
111 & = & 111
\ end { array }

Matrices et systmes dquations


On peut facilement construire des matrices et systmes dquations en
utilisant lenvironnement array et les dlimiteurs. Pour une matrice, il
suffit dutiliser des parenthses gauche et droite. Pour un systme
dquations, on place une accolade gauche et aucun dlimiteur droite.
a
c

b
d

a=b
c=d

Code
\[

7.5.3

Listes dquations
Parfois, on souhaite faire une liste dquations successives, de la forme
Y = X. Pour ce faire, on peut utiliser lenvironnement eqnarray.
y
2y

= x2 1

= x2 + x + 1

(7.2)
(7.3)

Cet environnement ne doit pas tre utilis en mode mathmatique, cest


implicite. Il correspond en fait lenvironnement array avec lalignement
rcl. De plus, chaque quation est automatiquement numrote.

Version PDF gratuite http://www.latex-howto.be/

\]

\ left (\ begin { array }{ ll }


a & b \\ c & d
\ end { array }\ right )
\ qquad
\ left \{\ begin { array }{ l }
a = b \\ c = d
\ end { array }\ right .

114

CHAPITRE 7. MATHMATIQUE

Code
\ begin { e q n a r r a y }
y & = & x ^2 - 1 \\
2 y & = & -x ^2 + x + 1
\ end { e q n a r r a y }

Pour ne pas avoir de numrotation sur les quations, il faut plutt utiliser
lenvironnement eqnarray*. On peut galement supprimer les numros
de certaines des lignes en utilisant la commande \nonumber.
y
2y
y

= x2 1

(7.4)

= x + 4

(7.5)

= x2 + x + 1

Code
\ begin { e q n a r r a y }
y & = & x ^2 - 1 \\
2 y & = & -x ^2 + x + 1 \ n on um be r \\
y & = & -x + 4
\ end { e q n a r r a y }

Thormes
On peut trs facilement insrer des nouveaux thormes (ou des dfinitions, propositions, lemmes . . .) en dfinissant des nouveaux environnements. Pour cela, il faut utiliser la commande \newtheorem au dbut du
document. Celle-ci prend deux paramtres qui sont le nom de lenvironnement et ltiquette afficher. En option, on peut spcifier le niveau de
sectionnement pour la numrotation et on peut spcifier un compteur
pour la numrotation. Voici un exemple dun tel thorme :
Thorme 7.1 (Pythagore). Le carr de la longueur de lhypothnuse dun triangle rectangle est gal la somme des carrs des
longueurs des autres cts.
On a dfini ici un environnement theorem dont les numros dpendront
du chapitre. De plus, on a donn un nom au thorme via loption de
lenvironnement. Enfin, la numrotation des propositions se fera avec le
mme compteur que celui utilis pour les thormes.

Version PDF gratuite http://www.latex-howto.be/

7.6

7.6. THORMES

115

Code
\ n e w t h e o r e m { theorem }{ Thorme }[ chapter ]
\ n e w t h e o r e m { proposition }[ theorem ]{ Proposition }
\ begin { theorem }[ Pythagore ]
Le carr de la longueur de l hypothnuse d un t r i a n g l e rectangle
est gal la somme des carrs des longueurs des autres cts .
\ end { theorem }

7.6.1

Dmonstration
On peut galement insrer une dmonstration en utilisant lenvironnement proof disponible dans le package amsthm. Le symbole QED 1 est
automatiquement ajout grce cet environnement.
Dmonstration. Soient x et y deux entiers tels que x2 + y 2 0. De
plus, soit lentier positif z dfini comme xy . On peut crire :
zy = x

(7.6)

Code
\ begin { proof }
Soient $ x $ et $ y $ deux entiers tels que $ x ^2 + y ^2 \ geq 0 $ . De
plus , soit l entier positif $ z $ dfini comme $ \ frac { x }{ y } $ .
On peut crire :
\ begin { e q u a t i o n }
zy = x \ qedhere
\ end { e q u a t i o n }
\ end { proof }

Notez quon peut galement indiquer en option lenvironnement proof


le nom du thorme qui est prouv.

1. Quod erat demonstrandum, synonyme de CQFD.

Version PDF gratuite http://www.latex-howto.be/

Parfois, le symbole QED nest pas plac comme il faut. Cest notamment
le cas lorsque la preuve se termine par une quation. Dans ce cas, on peut
utiliser la commande \qedhere pour indiquer o lon souhaite le placer.

Version PDF gratuite http://www.latex-howto.be/

CHAPITRE

Autour du texte

Dans ce chapitre, on va voir toute une srie de constructions quil est


possible de faire autour du texte. On va commencer avec les rfrences
croises. On verra ensuite les enttes et pieds de page et les notes de
marge et de bas de page. On terminera par quelques autres constructions.

8.1

Rfrences croises

y = ax2 + bx + c

(8.1)

Lquation 8.1 prsente la section 8.1 en page 117.


Dans cet exemple, on fait rfrence une quation, une section et au
numro de la page sur laquelle lquation se trouve.
Code
\ section { Rfrence croise \ label { sec : crossref }}
\ begin { e q u a t i o n }
y = ax ^2 + bx + c
\ label { eq :2 nd - deg - polynom }
\ end { e q u a t i o n }
\ it L quation ~\ ref { eq :2 nd - deg - polynom } prsente la
section ~\ ref { sec : crossref } en page ~\ pageref { eq :2 nd - deg - polynom }.

117

Version PDF gratuite http://www.latex-howto.be/

Les rfrences croises permettent de poser des tiquettes certains


endroits (une figure, un tableau, une quation . . .) et puis dy faire
rfrence automatiquement. Ltiquette est dfinie avec la commande
\label. On y fait ensuite rfrence avec \ref, ou avec \pageref pour faire
rfrence la page contenant cet lment.

118

CHAPITRE 8. AUTOUR DU TEXTE

Remarquez comment on a nomm les tiquettes en prfixant celles-ci


avec une abrviation indiquant de quel type dlment il sagit : eq: pour
les quations, sec: pour les sections . . .
Notez que pour les sections, on a plac le \label dans le paramtre de
\section. On peut galement le placer juste aprs la commande \section.
De plus, on fait chaque fois prcder les commandes \ref et \pageref
dun tilde (~). Ceci permet dviter une csure entre le mot et le numro.
8.1.1

Figures et tables
Pour les figures et les tables, la commande \label doit tre utilise aprs
la commande \caption, sans quoi vous naurez pas le bon numro puisque
cest \caption qui le gnre.
A

Table 8.1. Donnes.

Table 8.2. Donnes 2.

Comme vous pouvez le voir dans le tableau 8.1


Il est galement possible dutiliser la commande \label dans le paramtre
de la commande \caption. Ainsi, on aurait pu crire :

Code
\ begin { table }[! h ]
\ centering
\ begin { tabular }{| l |}\ hline A \\\ hline \ end { tabular }
\ caption { Donnes .}
\ label { tab : data }
\ end { table }
% [...]
\ it Comme vous pouvez le voir dans le tableau ~\ ref { tab : data }

8.1.2

Rfrence proche
Assez souvent, lorsque lon inclut une rfrence, on fait galement rfrence
la page. On va par exemple crire : Le tableau 8.1 de la page 118 .
Par contre, si llment rfrenc se situe sur la mme page, on ne doit
pas la prciser. De mme, lorsque la page est proche, on prfrerait
la page suivante ou sur la page ci-contre . . .

Version PDF gratuite http://www.latex-howto.be/

\caption{Donnes\label{tab:data}}

8.1. RFRENCES CROISES

119

Pour cela, on peut utiliser la commande \vref du package varioref. On


obtient ainsi une rfrence comme : Le tableau 8.1 page ci-contre .
Il ne faut pas oublier de slectionner loption french en important le
package. De plus, les tiquettes ne peuvent pas comporter nimporte quel
caractre. Les deux-points (:) sont notamment interdits.
Code

varioref

On obtient ainsi une rfrence comme :


\ og Le tableau ~\ vref { tab . data } \ fg .

La package propose galement une commande \vpageref qui est lquivalent de \pageref. Enfin, il y a galement les commandes \vrefrange et
\vpagerefrange qui permettent de rfrencer plusieurs lments successifs.
On va ainsi par exemple pouvoir crire :
Voir les tableaux 8.1 8.2 page prcdente.
Code

varioref

\ it Voir les tableaux ~\ v r e f r a n g e { tab . data }{ tab . data2 }.

Rfrence intelligente
Le package cleveref propose galement des nouvelles commandes permettant de grer des rfrences proches, mais il offre des fonctionnalits
complmentaires par rapport varioref. On peut afficher plusieurs rfrences avec la commande \cref et celles-ci seront tries intelligemment.
La commande \crefrange permet dafficher un intervalle de rfrences.
1
1.1

Les abeilles tueuses


Historique
[LIGNE DU TEMPS]
Figure 1 Historique.

1.2

Description

1.3

Progression et invasion
[CARTE DU MONDE]
Figure 2 Pays envahis.

La section 1 . . .
Les sections 1.1 1.3 . . .
Comme montr aux sections 1, 1.2 et 1.3 et figures 1 et 2 . . .
1

Version PDF gratuite http://www.latex-howto.be/

8.1.3

120

CHAPITRE 8. AUTOUR DU TEXTE

Code

cleveref

\ section { Les abeilles tueuses \ label { killer - bees }}


\ s u b s e c t i o n { Historique \ label { history }}
\ begin { figure }[! ht ]
\ centering
[ LIGNE DU TEMPS ]
\ caption { Historique .}
\ label { time - line }
\ end { figure }
\ s u b s e c t i o n { Description \ label { d e s c r i p t i o n }}
\ s u b s e c t i o n { Progression et invasion \ label { invasion }}
\ begin { figure }[! ht ]
\ centering
[ CARTE DU MONDE ]
\ caption { Pays envahis .}
\ label { invaded - countries }
\ end { figure }
La section ~\ ref { killer - bees } \ dots \\
Les \ c r e f r a n g e { history }{ invasion } \ dots \\
Comme montr aux \ cref { killer - bees , time - line , description ,
invasion , invaded - countries } \ dots

Texte de la rfrence
Assez souvent, lorsque lon utilise la commande \ref pour avoir un numro,
on le fait prcder dun texte. Par exemple, on veut pouvoir crire la
section 8.1.4 . La commande \labelformat du package varioref permet
dviter de chaque fois crire la section~\ref{sec:reftext}.
Code

varioref

\ l a b e l f o r m a t { s u b s e c t i o n }{ la section ~#1}
\ l a b e l f o r m a t { table }{ le tableau ~#1}
% [...]
\ Ref { sec : reftext } traite de \ dots {}
Un rsum est donn dans ~\ ref { tab : data }.

La commande \Ref ajoute une majuscule la premire lettre du texte.


Le rsultat obtenu est donc :
La section 8.1.4 traite de . . . Un rsum est donn dans le tableau 8.1. .

Version PDF gratuite http://www.latex-howto.be/

8.1.4

8.1. RFRENCES CROISES

8.1.5

121

Sous-figures et sous-tables
On a vu aux sections 4.2.6 et 5.6.1 quon pouvait dfinir des sous-figures
ou sous-tables. On peut rfrencer une sous-figure en particulier si on le
souhaite. On utilise pour cela la commande \subref du package subfigure.

(a) Grr.

(b) Youpie.

Figure 8.1. Humeurs.

La figure 8.1 prsente deux humeurs. La colre est illustre par le


dessin 8.1(a). On peut galement voir la joie sur la sous-figure (b).
Code

subfigure

La figure ~\ ref { fig : moods } prsente deux humeurs . La colre est


illustre par le dessin ~\ ref { moods : angry }. On peut
galement voir la joie sur la sous - figure ~\ subref { moods :
happy }.

8.1.6

Compteur de pages
Si vous souhaitez connaitre le numro de la page courante, il suffit
dutiliser la commande \thepage. Pour connaitre le numro de la dernire
page dun document, on peut utiliser le package lastpage qui va ajouter
une tiquette LastPage sur la dernire page. On obtient ainsi le numro
de cette dernire avec la commande \pageref{LastPage}.
Vous tes la page 121 sur un total de 201 pages.

Version PDF gratuite http://www.latex-howto.be/

\ begin { figure }[! h ]


\ centering
\ s u b f i g u r e [ Grr .]{
\ label { moods : angry }
\ i n c l u d e g r a p h i c s [ height =1.5 cm ]{ images / angry . png }
}
\ quad
\ s u b f i g u r e [ Youpie .]{
\ label { moods : happy }
\ i n c l u d e g r a p h i c s [ height =1.5 cm ]{ images / happy . png }
}
\ caption { Humeurs \ label { fig : moods }.}
\ end { figure }

122

CHAPITRE 8. AUTOUR DU TEXTE

Code

lastpage

Vous tes la page ~\ thepage {} sur un total de \ pageref { LastPage


}~ pages .

Vous remarquerez nanmoins que, dans le cas dun document avec plusieurs parties et diffrents styles de numrotation, le nombre total de
page nindique pas le nombre total de pages du document.

8.2

Lgendes
Pour insrer la lgende dune figure ou dun tableau, on utilise la commande \caption. On peut galement utiliser la commande \captionof du
package caption dans certaines situations (voir section 4.1.3).

8.2.1

Style des lgendes

A
Figure 1 La lettre A.

Les commandes \captionnamefont et \captiontitlefont permettent de dfinir le style du nom et du titre de la lgende. La commande \captiondelim
dfinit le sparateur entre le nom et le titre. Enfin, les commandes
\precaption et \postcaption indiquent du code qui sera ajout avant et
aprs celui qui produit la lgende.
Le style de la lgende prsente ci-dessus a t dfini avec les commandes
suivantes, places dans le prambule.

Version PDF gratuite http://www.latex-howto.be/

La manire la plus commode pour modifier le style des lgendes consiste


utiliser les commandes du package ccaption. Pour rappel, une lgende
est compose dun nom (figure, table . . .), dun numro, dun sparateur
(un point par dfaut) et enfin dun titre. On va pouvoir modifier le style
de ces diffrents lments.

8.3. ENTTE ET PIED DE PAGE

123

Code

ccaption

\ c a p t i o n d e l i m { -- }
\ c a p t i o n n a m e f o n t {\ small \ sf \ b f s e r i e s }
\ c a p t i o n t i t l e f o n t {\ small \ sf }
\ p r e c a p t i o n {\ rule {\ l i n e w i d t h }{0.4 pt }\\}

8.2.2

Nom des lgendes


On peut vouloir changer le nom des lgendes, et par exemple remplacer
Figure par Fig. . Pour cela, il suffit de redfinir les commandes
\figurename, \tablename . . .

Fig. 1 La lettre A.

Lorsque lon utilise lextension babel, il faut redfinir les noms pour la
bonne langue en faisant les appels dans \addto\captionsfrench dans le
prambule du document.
babel

\ addto \ c a p t i o n s f r e n c h {
\ r e n e w c o m m a n d {\ f i g u r e n a m e }{ Fig .}
\ r e n e w c o m m a n d {\ t a b l e n a m e }{ Tab .}
}

8.3

Entte et pied de page


On a vu la section 2.3.1 quil tait possible davoir diffrents types de
styles pour un document. Le style headings permet dinsrer le titre du
chapitre courant et le numro de page dans lentte, tout en laissant le
pied de page vide. On va voir comment on peut modifier lentte et le
pied de page.

8.3.1

Marque
En utilisant le style de document myheadings, on va pouvoir dfinir les
lments qui apparaissent dans lentte de la page. Tout dabord, le

Version PDF gratuite http://www.latex-howto.be/

Code

124

CHAPITRE 8. AUTOUR DU TEXTE

numro de page sera plac dans lentte, droite. On va pouvoir dfinir


ce quon place gauche dans lentte. Cette marque est contrle par
la commande \rightmark (marque des pages de droite). Dans le cas des
livres, on peut dfinir une marque diffrente pour les pages de gauche.
Elle sera contrle par \leftmark.
On ne peut pas modifier ces commandes soi-mme. On doit le faire
via \markright, qui permet de dfinir la marque des pages de droite, et
via \markboth, qui permet de dfinir les marques des pages gauche et
droite. Pour ce faire, on aimerait connaitre le titre du chapitre ou de
la section courante. On va devoir redfinir les commandes \chaptermark
et \sectionmark qui sont appeles chaque nouveau chapitre et chaque
nouvelle section. On peut utiliser les commandes \thepage, \thechapter
et \thesection qui contiennent les numros de la page, du chapitre et de
la section courante.
Code
\ begin { d o c u m e n t }
\ p a g e s t y l e { myheadings }
\ r e n e w c o m m a n d {\ s e c t i o n m a r k }[1]{ %
\ m a r k b o t h {\ today }{{\ bf \ t h e s e c t i o n }~#1}}
\ section { Introduction }
% ...

0.1 Introduction

0.1

Introduction

Hello

26 juin 2010
World !

0.2 Conclusion

0.2

Conclusion

Bye bye World !

Version PDF gratuite http://www.latex-howto.be/

Voici un exemple de ce qui est obtenu avec la classe de document book.


On voit bien quon a le titre de la section courante sur les pages impaires
et la date sur les pages paires.

8.3. ENTTE ET PIED DE PAGE

8.3.2

125

Dfinir lentte et le pied de page


En utilisant le style fancy disponible en ajoutant le package fancyhdr, on
va pouvoir modifier beaucoup plus facilement lentte et le pied de page.
On va pouvoir spcifier le texte mettre gauche, au centre et droite
de lentte et du pied de page avec les commandes \lhead, \chead, \rhead,
\lfoot, \cfoot et \rfoot. On peut galement avoir un trait horizontal
dont les longueurs sont reprsentes par les commandes \headrulewidth
et \footrulewidth.
Code

fancyhdr

\ p a g e s t y l e { fancy }
\ lhead {\ s c r i p t s i z e \ sf \ r i g h t m a r k }
\ chead {}
\ rhead {}
\ lfoot {}
\ cfoot {\ s c r i p t s i z e \ sf -\ thepage -}
\ rfoot {}
\ r e n e w c o m m a n d {\ h e a d r u l e w i d t h }{0 pt }
\ r e n e w c o m m a n d {\ f o o t r u l e w i d t h }{0.5 pt }
\ begin { d o c u m e n t }
% ...

0.1

Introduction

Hello World !
-1-

On doit redfinir toutes les parties de lentte et du pied de page, pour


vider le contenu par dfaut. On peut le faire plus rapidement en crivant :
\fancyhead{}
\fancyfoot{}

Ces deux commandes permettent de dfinir les enttes et pieds de page


de manire plus gnrale. On va utiliser leur option en spcifiant deux
lettres. La premire parmi L (gauche), C (centre) et R (droite) et la seconde
parmi E (page paire) et O (page impaire). On pourrait redfinir lexemple
prcdent avec ces commandes.

Version PDF gratuite http://www.latex-howto.be/

0.1. INTRODUCTION

126

CHAPITRE 8. AUTOUR DU TEXTE

Code

fancyhdr

\ p a g e s t y l e { fancy }
\ f a n c y h e a d {} % on efface l entte
\ f a n c y h e a d [ LO , RE ]{\ s c r i p t s i z e \ sf \ r i g h t m a r k }
\ f a n c y f o o t {} % on efface le pied de page
\ f a n c y f o o t [ C ]{\ s c r i p t s i z e \ sf -\ thepage -}
\ r e n e w c o m m a n d {\ h e a d r u l e w i d t h }{0 pt }
\ r e n e w c o m m a n d {\ f o o t r u l e w i d t h }{0.5 pt }
\ begin { d o c u m e n t }
% ...

La seule diffrence est que la section courante sera place gauche sur
les pages impaires et droite sur les pages paires. Vous pouvez galement
utiliser la commande \fancyhf, qui est encore plus gnrale. Il faut en
plus prciser H (entte) ou F (pied de page) en option.
8.3.3

Pages spciales
Certaines pages, notamment la premire page des chapitres, sont automatiquement en style plain. On peut modifier ce comportement en
redfinissant le style plain avec la commande \fancypagestyle du package
fancyhdr (section 8.3.2).
fancyhdr

\ f a n c y p a g e s t y l e { plain }{ %
\ fancyhf {} % on efface tout
\ f a n c y f o o t [ C ]{\ s c r i p t s i z e \ sf -\ thepage -}
}

8.3.4

Style personnalis
On peut compltement modifier lapparence des enttes et pied de page.
Il suffit pour cela de combiner lutilisation du package fancyhdr (section 8.3.2) avec la redfinition des marques (section 8.3.1). On peut par
exemple obtenir le rsultat suivant :
1Introduction

Introduction
Hello World !

Version PDF gratuite http://www.latex-howto.be/

Code

8.4. NOTES DE BAS DE PAGE

Code

127

fancyhdr

\ p a g e s t y l e { fancy }
\ r e n e w c o m m a n d {\ s e c t i o n m a r k }[1]{ %
\ m a r k r i g h t {{\ bf \ t h e s e c t i o n } - -\ textsc {#1}}}
\ fancyhf {}
\ lhead {\ s c r i p t s i z e \ sf \ r i g h t m a r k }

8.4

Notes de bas de page


On va maintenant voir comment ajouter des notes de bas de page dans un
document. La manire la plus simple est dutiliser la commande \footnote
qui insre une note de bas de page 1 .
Code
... insre une note de bas de page \ f o o t n o t e { Le paramtre de la
commande est le texte de la note de bas de page .}.

8.4.1

Plusieurs rfrences vers la mme note

Voici une note rfrence deux fois : ici 2 et l 2 .


Vous remarquerez quon peut dfinir soi-mme les numros de notes avec
loption des commandes. Attention cependant au fait que lorsque lon
utilise \footnotetext, le compteur des notes nest pas augment.
Code
\ f o o t n o t e t e x t [2]{ Une seule et unique note .} Voici une note
rfrence deux fois : ici \ f o o t n o t e m a r k [2] et l \ f o o t n o t e m a r k [2].

1. Le paramtre de la commande est le texte de la note de bas de page.


2. Une seule et unique note.

Version PDF gratuite http://www.latex-howto.be/

Pour faire plusieurs rfrences vers une mme note, il faut procder en
deux tapes. On dfinit tout dabord le texte de la note avec \footnotetext
et ensuite, on insre les marques avec \footnotemark.

128

8.4.2

CHAPITRE 8. AUTOUR DU TEXTE

Style des notes


On peut modifier le type de numrotation des notes en redfinissant la
commande \thefootnote. Le compteur associ aux notes de bas de page
est footnote b .
Code
\ r e n e w c o m m a n d {\ t h e f o o t n o t e }{\ alph { fo ot no te }}
... notes de bas de page est f oo tn ot e \ f oo tn ot e { Le compteur de
cette note est une lettre romaine minuscule .}.}

Les diffrents styles possibles sont \arabic, \roman, \Roman, \alph, \Alph
et \fnsymbol. La dernire commande permet davoir des symboles comme
compteur ; ils sont au nombre de 9 : , , , , , , , et . Ce style ne
peut pas tre utilis si vous avez plus de 9 notes de bas de page.
On peut modifier beaucoup dautres aspects du style des notes de bas de
page en important le package footmisc. Beaucoup de choses sont actives
via des options du package.
para : chaque note de bas de page va dans son propre paragraphe

bottom : force les notes de bas de page tre pousses tout en bas
de la page
norule : supprime le trait au-dessus des notes de bas de page
multiple : permet de grer les multiples rfrences vers des notes
8.4.3

Trait horizontal
Le trait horizontal qui spare les notes de bas de page du corps du texte
est contrl par la commande \footnoterule. On peut supprimer le trait
en la redfinissant :
\renewcommand{\footnoterule}{}

Une autre solution consiste importer le package footmisc en spcifiant


loption norule.
b. Le compteur de cette note est une lettre romaine minuscule.

Version PDF gratuite http://www.latex-howto.be/

side : les notes sont places dans la marge plutt quen bas de
document

8.4. NOTES DE BAS DE PAGE

8.4.4

129

Niveaux de notes de bas de page


On peut dfinir diffrents niveaux de notes de bas de page en utilisant le package manyfoot. On dfinit un nouveau niveau avec \DeclareNewFootnote 3 .
On doit spcifier un suffixe et on peut donner un style de numrotation
en option A .
De plus, on peut dfinir un trait horizontal de sparation entre les
diffrents niveaux de notes. Pour cela, on va utiliser la commande
\newfootnoterule du package nccrules pour dfinir le trait et la commande \SelectFootnoteRule du package manyfoot pour appliquer ce trait.
Code

manyfoot, nccrules

\ n e w f o o t n o t e r u l e { dotted }{\ m b o x f i l l [2\ width ][ s ]{.}}


\ S e l e c t F o o t n o t e R u l e { dotted }
\ D e c l a r e N e w F o o t n o t e { sec }[ Alph ]
\ begin { d o c u m e n t }
... de numrotation en option \ footnotesec { Note de second niveau ,
numrotation en lettres romaines majuscules .}.

Enfin, on dfinit un nouveau niveau de notes avec \DeclareNewFootnote.


Ce niveau est appel sec et le compteur est en lettres romaines majuscules. Une fois le nouveau niveau dfinit, on peut utiliser les commandes
\footnotesec, \footnotemarksec et \footnotetextsec.
Avec le package nccrules, on peut dfinir des traits complexes comme
ceux vus la section 2.1.3. Il suffit dutiliser \newfootnotedashrule. On
peut par exemple dfinir :
\newfootnotedashrule{dotdashed}{4 2 1 2 4 -4}{.6}

8.4.5

Notes de bas de page en fin de document


Parfois, notamment pour la rdaction darticles, on souhaite pouvoir
insrer toutes les notes de bas de page dans le corps du texte, toutes
3. Cette commande prend un paramtre.

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

A. Note de second niveau, numrotation en lettres romaines majuscules.

Version PDF gratuite http://www.latex-howto.be/

La commande \newfootnoterule prend un nom en premier paramtre et


la dfinition du trait en second paramtre. On a utilis la commande
\mboxfill pour remplir une boite avec des points. On slectionne ensuite
ce type de trait avec la commande \SelectFootnoteRule.

130

CHAPITRE 8. AUTOUR DU TEXTE

rassembles la fin par exemple. Pour ce faire, il va falloir utiliser le


package endnotes. Celui-ci dfinit les commandes \endnote, \endnotemark
et \endnotetext. On insre ensuite les notes avec \theendnotes.
Code

endnotes

\ section {L histoire }
Et c est l \ endnote { ce moment l .} qu elle a dit qu elle ne le
\ endnote { son frre .} voulait plus avec elle \ endnote { son ex copine .}.
\ theendnotes

Remarquez que vous pouvez toujours utiliser les notes de bas de page
classiques tout en utilisant les \endnote.

Lhistoire

Et cest l1 quelle a dit quelle


ne le2 voulait plus avec elle3 .

Notes
1

ce moment l.
frre.
3 son ex-copine.
2 son

8.5

Notes de marge
On peut facilement insrer une note dans la marge dun document en
utilisant la commande \marginpar. La note est place dans la marge de
droite. Pour les documents recto-verso, les notes sont places dans la
marge extrieure. La largeur de la marge est contrle par la longueur
\marginparwidth. Avec loption de la commande, on peut placer un lment
dans la marge oppose.
Code

bbding

... utilisant la commande \ m a r g i n p a r \ m a r g i n p a r {\ Pencil LeftDown }.

Version PDF gratuite http://www.latex-howto.be/

8.5. NOTES DE MARGE

8.5.1

131

Notes todo
En utilisant le package todonotes, on va pouvoir insrer des notes de type
todo dans le marge du document. On utilise pour cela la commande
\todo qui ajoute le todo dans la marge et le relie avec lendroit dans le
texte o la commande a t utilise.

blah

Code

todonotes

... cela la commande \ todo \ todo { blah } qui ajoute le todo ...

De nombreuses options sont disponibles pour modifier le style des notes,


la couleur des boites, etc. On peut galement insrer une liste des todos
avec la commande \listoftodos. Voici un exemple plus riche :
Ce texte est rempli Blah
avec plein de notes qui
ont dailleurs des couleurs
Blah
diffrentes.

Todo list
1
1

On aurait pu changer la langue du titre et viter Todo list en prcisant


loption french en chargeant le package todonotes.
Code

todonotes

\ u s e p a c k a g e [ c o l o r i n l i s t o f t o d o s ]{ todonotes }
\ begin { d o c u m e n t }
Ce texte \ todo [ color = green ]{ Blah } est rempli avec plein de
notes qui ont d ailleurs des couleurs \ todo [ color = red ]{
Blah } diffrentes .
\ listoftodos
\ end { d o c u m e n t }

8.5.2

Notes depuis des flottants


La commande \marginpar ne fonctionne pas dans les flottants, ni dans les
notes de bas de page. Pour cela, il faut utiliser la commande \marginnote

Version PDF gratuite http://www.latex-howto.be/

o Blah . . . . . .
o Blah . . . . . .

132

CHAPITRE 8. AUTOUR DU TEXTE

dfinie dans le package de mme nom. Il y a nanmoins quelques soucis


de positionnement avec ce package.

8.6

Modification
Un des avantages de LATEX est la possibilit de travailler plusieurs sur
un mme document. Il est parfois utile dindiquer les changements qui
ont eu lieu entre plusieurs versions dun mme document. Le package
changebar propose des environnements et commandes pour cela.
On peut placer les barres dans la marge gauche ou droite en spcifiant
loption leftbars ou rightbars en chargeant le package. La commande
\cbstart indique le dbut dun changement et \cbend la fin de celui-ci.
La commande \cbdelete indique quun texte a t supprim. Enfin, on
peut galement placer un texte chang dans lenvironnement changebar.
Ce texte a t ajout
Ici, quelque chose a t supprim .
Texte insr
On peut changer la couleur des barres avec la commande \cbcolor. Pour
cela il faut ajouter loption color en chargeant le package.

\ cbstart Ce texte a t ajout \ cbend


Ici , quelque chose a t supprim \ c bd el et e .
\ cbcolor { red } \ begin { c h a n g e b a r }
Texte insr
\ end { c h a n g e b a r }

changebar

Version PDF gratuite http://www.latex-howto.be/

Code

CHAPITRE

Codes source

Dans ce chapitre, on va voir comment faire pour insrer du texte brut


dans un document. On utilise notamment cela pour insrer des codes
source, des sorties de programme, ou toute autre texte qui ne doit pas tre
interprt comme du code LATEX. On verra galement comment prsenter
joliment des algorithmes.

9.1

Insertion brute

On obtient le logo LATEX avec la commande \LaTeX


La commande \verb permet dinsrer du texte brut
Dans cet exemple, on a utilis le caractre = pour dlimiter le paramtre
de la commande \verb.
Code
On obtient le logo \ LaTeX {} avec la commande \ verb =\ LaTeX =
\ begin { v e r b a t i m }
La commande \ verb permet d insrer du texte brut
\ end { v e r b a t i m }

Notez que la commande \verb ne peut pas tre utilise dans un paramtre
dune autre commande.
133

Version PDF gratuite http://www.latex-howto.be/

Pour insrer du texte brut dans un document, on peut soit utiliser la


commande \verb, soit lenvironnement verbatim. La commande \verb est
particulire en ce sens quon peut galement lutiliser avec des dlimiteurs
autres que des accolades ouvrantes et fermantes.

134

9.1.1

CHAPITRE 9. CODES SOURCE

Raccourci dinsertion brute


Cela peut vite devenir ennuyeux dcrire \verb chaque fois. Grce
au package shortvrb et sa commande \MakeShortVerb, il est possible de
dfinir un caractre de telle sorte que tout texte entour par ce caractre
sera en mode brut.
Code
\ MakeShortVerb {}
On obtient le logo \ LaTeX {} avec la commande \ LaTeX

9.1.2

Conservation des tabulations


Lenvironnement verbatimtab du package moreverb permet dinsrer du
texte brut, mais en prservant les tabulations. Loption de lenvironnement
permet de spcifier la largeur des tabulations, en nombre despaces.
if (x > 10)
print "Examen russi"
moreverb

\ begin { v e r b a t i m t a b }[3]
if ( x > 10)
print " Examen russi "
\ end { v e r b a t i m t a b }

9.1.3

Ajout des numros de ligne


Enfin, on peut ajouter les numros des lignes en utilisant lenvironnement
listing du package moreverb. Loption de lenvironnement indique lcart
entre les numros, et son paramtre la premire ligne quil faut numroter.
1
2
3

for (i = 0 to 10)
if (i mod 2 = 0)
print i

Ici, pour modifier la largeur des tabulations, il faut manuellement redfinir


la commande \verbatimtabsize.

Version PDF gratuite http://www.latex-howto.be/

Code

9.1. INSERTION BRUTE

Code

135

moreverb

\ r e n e w c o m m a n d {\ v e r b a t i m t a b s i z e }{3}
\ begin { listing }[1]{1}
for ( i = 0 to 10)
if ( i mod 2 = 0)
print i
\ end { listing }

Lenvironnement listingcont permet dinsrer un texte brut avec numrotation, cette dernire continuant celle du dernier listing insr.
4
5

else
print i + 1

Cet environnement est trs pratique lorsque vous devez prsenter un


programme par morceaux, spars par des commentaires explicatifs.
Code

moreverb

\ begin { l i s t i n g c o n t }
else
print i + 1
\ end { l i s t i n g c o n t }

Insertion depuis un fichier


On peut directement inclure un texte brut depuis un fichier texte. Pour
cela, on va utiliser la commande \verbatiminput du package verbatim.
Cette commande prend le chemin du fichier en paramtre.
Voici le contenu du fichier data.csv :
A,B,Somme
12,23,35
21,43,64
Vous pouvez galement utiliser la commande \verbatimtabinput du package moreverb pour insrer un texte brut en prservant les tabulations.
Pour avoir les numros de ligne, vous pouvez utiliser \listinginput.
Code
Voici le contenu du fichier \ texttt { data . csv } :
\ v e r b a t i m i n p u t { data . csv }

verbatim

Version PDF gratuite http://www.latex-howto.be/

9.1.4

136

9.1.5

CHAPITRE 9. CODES SOURCE

Prsenter un exemple
On peut prsenter des exemples de code LATEX avec le rsultat produit
en utilisant lenvironnement SideBySideExample du package fvrb-ex.
LATEX, cest fun :-)

\LaTeX{}, cest fun :-)

Il faut dfinir la place disponible pour le rsultat et le code avec loption

xrightmargin. On peut ensuite ajouter une bordure et la numrotation


avec les options frame et numbers.

Code

fvrb-ex

\ begin { S i d e B y S i d e E x a m p l e }
[ xrightmargin =0.5\ linewidth , frame = single , numbers = left ]
\ LaTeX {} , c est fun : -)
\ end { S i d e B y S i d e E x a m p l e }

9.2

Codes source dun programme

for ( int i = 0; i < 5; i ++)


{
System . out . println ( " i : " + i );
}

Comme on va le voir tout au long de cette section, ce package est trs


riche. Nous nallons nanmoins pas tout explorer en dtail, nous vous
renvoyons la documentation pour en savoir plus.
Code
\ begin { l s t l i s t i n g }[ language = java ]
for ( int i = 0; i < 5; i ++)
{
System . out . println (" i : " + i );
}
\ end { l s t l i s t i n g }

listings

Version PDF gratuite http://www.latex-howto.be/

Pour insrer le code source dun programme, on peut utiliser le package


listings. Ce dernier est trs riche et offre de nombreuses options dont la
coloration syntaxique. On utilise lenvironnement lstlisting pour insrer
un code source.

9.2. CODES SOURCE DUN PROGRAMME

137

En plus de lenvironnement lstlisting, on peut galement utiliser la


commande \lstinline qui fonctionne comme la commande \verb, en ce
sens quon peut utiliser nimporte quel caractre comme dlimiteur. Enfin,
la commande \lstinputlisting permet de charger un code source depuis
un fichier externe.
Il y a deux manires de prciser des options : soit via loption de lenvironnement ou de la commande, soit en utilisant la commande \lstset
qui permet de dfinir des options de manire globale.
9.2.1

Style du texte
On peut modifier le style du texte en prcisant la police, la couleur, la taille,
etc. grce aux options basicstyle (style de base), keywordstyle (mot
rserv), identifierstyle (identificateur), commentstyle (commentaire)
et stringstyle (chaine de caractres). Loption showstringspaces permet
de rendre les espaces dans les chaines de caractres visibles.
f o r ( i n t i = 0 ; i < 5 ; i ++)
{
System . out . p r i n t l n ( " i : " + i ) ;
}
listings

\ lstset { basicstyle =\ rm \ footnotesize , keywordstyle =\ b f s e r i e s \


underline , stringstyle =\ it \ color { red } , s h o w s t r i n g s p a c e s = true }

9.2.2

Numrotation
La numrotation est contrle par loption numbers quon dfinit left,
right ou none (valeur par dfaut). Le style des numros est fix par
numberstyle, et le premier numro est fix avec firstnumber qui est soit
un entier, soit last pour reprendre la numrotation. Enfin, numbersep
reprsente lcart entre les numros affichs et numberfirstline indique
sil faut ou non numroter la premire ligne.
11
12
14

for ( int i = 0; i < 5; i ++)


{
System . out . println ( " i : " + i );
}

Version PDF gratuite http://www.latex-howto.be/

Code

138

CHAPITRE 9. CODES SOURCE

Code

listings

\ lstset { numbers = left , numberstyle =\ tiny \ b fs er ie s \ underline ,


stepnumber =2 , firstnumber =11 , num berf irs tlin e = true }

9.2.3

Coloration syntaxique
On peut choisir le langage de programmation du code source prsent
afin davoir la coloration syntaxique automatique. On utilise pour cela
loption language. Pour certains langages, il faut spcifier le dialecte en
option. Par exemple, pour un programme en C#, on va crire :
\lstset{language={[Sharp]C}}

Notez quil faut englober le tout entre des accolades afin dviter des
problmes de compilation avec lextension keyval.

9.2.4

Positionnement, dimensions et marge

On a ajout une bordure dans lexemple suivant, afin que vous puissiez
voir les marges. On verra plus loin dans cette section comment faire cela.
for ( int i = 0; i < 5; i ++)
{
System . out . println ( " i : " + i );
}

Code

listings

\ lstset { l i n e w i d t h =9 cm , xleftmargin =2 cm , aboveskip =5 mm , belowskip =1


cm , float =! h }

Version PDF gratuite http://www.latex-howto.be/

On peut faire en sorte que le listing soit un flottant avec loption float.
On peut contrler les marges avant et aprs le listing avec les options
aboveskip et belowskip. Les options xleftmargin et xrightmargin spcifient les marges gauche et droite du listing. Enfin, loption linewidth
dfinit la largeur du listing.

9.2. CODES SOURCE DUN PROGRAMME

9.2.5

139

Cadre et couleur
On peut ajouter un cadre autour du listing avec loption frame. On va
utiliser les lettres tblr pour avoir une bordure en haut, en bas, gauche et
droite. Les mmes lettres en majuscule donneront une double bordure.
Avec rulesep, on contrle la distance entre les traits des bordures doubles.
Loption framesep donne la distance entre le code et la bordure tandis
que framerule donne lpaisseur de cette dernire. On peut avoir des
coins arrondis avec frameround qui prend quatre lettres (une par coin) en
paramtre, ces lettres tant t ou f selon quon veuille ou non arrondir le
coin.
On peut galement jouer avec de la couleur. Loption backgroundcolor dfinit une couleur de fond. Les options rulecolor, fillcolor et rulesepcolor
dfinissent la couleur de la bordure, du remplissage et de lcart entre les
doubles bordures.
for ( int i = 0; i < 5; i ++)
{
System . out . println ( " i : " + i );
}

Code

listings

\ lstset { frame = tBlR , rulesep =1 mm , framesep =5 mm , framerule =2 pt ,


xrightmargin =5 mm , xleftmargin =5 mm , rulecolor ={\ color [ gray
]{0.6}} , rulesepcolor ={\ color [ gray ]{0.9}}}

9.2.6

Lgende, tiquette et liste des listings


On peut ajouter une lgende avec loption caption et une tiquette pour
faire rfrence au listing avec label. Enfin, il est possible dinsrer la liste
des listings dun document avec la commande \lstlistoflistings.
for ( int i = 0; i < 5; i ++)
{
System . out . println ( " i : " + i );
}

Listing 9.1. Une boucle for en Java.

Version PDF gratuite http://www.latex-howto.be/

Notez que certaines options ne sont pas compatibles. Il nest par exemple
pas possible dutiliser framerule si frameround a t dfini.

140

CHAPITRE 9. CODES SOURCE

La lgende est par dfaut place au dessus. On peut modifier cette position
avec loption captionpos qui vaut b (bas) ou t (haut).
Code

listings

\ lstset { frame = lines , caption ={ Une boucle for en Java .} , label = lst :
java_for_loop , captionpos = b }

9.3

Algorithmes
Pour insrer des algorithmes, il est possible dutiliser lenvironnement
lstlisting du package listings vu la section prcdente. Une solution
plus pratique consiste utiliser lenvironnement algorithm du package
algorithm2e.
x5;
while x > 0 do
print x ;
xx+1
end

Code

algorithm2e

\ begin { a l g o r i t h m }
$ x \ gets 5 $ \;
\ While { $ x > 0 $ }{
print $ x $ \;
$ x \ gets x + 1 $
}
\ end { a l g o r i t h m }

9.3.1

Instructions prdfinies
De nombreuses instructions sont prdfinies. Voici les plus courantes :
Entres/Sorties : \KwData, \KwResult, \KwIn et \KwOut

Version PDF gratuite http://www.latex-howto.be/

Dans sa version basique, il suffit de placer le code de lalgorithme dans


lenvironnement algorithm. La commande \gets indique une affectation
et la commande \While permet dinsrer une boucle. Chaque instruction
simple doit se terminer par \;.

9.3. ALGORITHMES

141

Intervalle : \KwTo
Renvois de valeur : \KwRet ou \Return
Conditions : \If, \ElseIf, \Else et \eIf
Choix : \Switch, \Case et \Other
Boucles : \For, \While, \ForEach, \ForAll et \Repeat

Algorithme 1: Un exemple dalgorithme.


Input : N un entier positif
sum 0 ;
for x 0 to N do
if x est pair then
sum sum/2 ;
else
sum sum + 1 ;
end
end
return x

Code
\ begin { a l g o r i t h m }
\ caption { Un exemple d algorithme .}
\ KwIn { $ N $ un entier positif }
\ BlankLine
$ sum \ gets 0 $ \;
\ For { $ x \ gets 0 $ \ KwTo $ N $ }{
\ eIf { $ x $ est pair }{
$ sum \ gets sum / 2 $ \;
}{
$ sum \ gets sum + 1 $ \;
}
}
\ Return { $ x $ }
\ end { a l g o r i t h m }

algorithm2e

Version PDF gratuite http://www.latex-howto.be/

Cet exemple utilise quelques-unes des instructions prdfinies. De plus,


on a dj appliqu quelques modifications de style. On verra en dtails
ces modifications la section 9.3.3. Remarquez galement la commande
\BlankLine qui permet dinsrer un petit espace vertical, ainsi que la
commande \caption qui est utilise pour dfinir la lgende. Pour que
le mot Algorithme apparaisse en franais, il faut ajouter loption
french en important le package algorithm2e.

142

9.3.2

CHAPITRE 9. CODES SOURCE

Nouvelles instructions
On peut dfinir des nouvelles instructions avec diffrentes commandes.
Les principales sont \SetKw et \SetKwInput.
Precondition : S un ensemble fini dentiers
sum 0 ;
foreach i S do
sum sum + i ;
end
print sum ;
La commande \SetKw permet de dfinir un nouveau mot rserv et la
commande \SetKwInput permet de dfinir une nouvelle instruction de
type input.
Code

algorithm2e

\ SetKw { KwPrint }{ print }


\ S e t K w I n p u t { KwPre }{ Precondition }

9.3.3

Style
On peut modifier le style des algorithmes via les options du package
lorsquon limporte. Les options principales sont :
boxed ou boxruled pour avoir un cadre autour de lalgorithme, avec
la lgende dedans ou pas ;
ruled ou algoruled pour avoir des traits horizontaux avant et aprs
lalgorithme, avec plus ou moins despace ;
lined, vlined ou noline pour avoir des traits verticaux pour les
instructions composes, ou rien du tout ;
linesnumbered pour avoir les numros de ligne ;

Version PDF gratuite http://www.latex-howto.be/

\ begin { a l g o r i t h m }
\ KwPre { $ S $ un ensemble fini d entiers }
\ BlankLine
$ sum \ gets 0 $ \;
\ ForEach { $ i \ in S $ }{
$ sum \ gets sum + i $ \;
}
\ KwPrint { $ sum $ } \;
\ end { a l g o r i t h m }

9.3. ALGORITHMES

143

longend, shortend ou noend pour des fins dinstructions longues ou


courtes, ou aucune fin.
Enfin, on peut supprimer les points-virgules affichs par \; avec la commande \DontPrintSemicolon. On peut modifier la bordure avec la commande \RestyleAlgo. Les traits verticaux sont modifiables avec \SetLine,
\SetAlgoVlined et \SetNoline. On peut obtenir les numros de ligne avec
\LinesNumbered.

1
2
3
4

Input : n un entier positif


Output : la valeur de la somme 1 + 2 + + n
sum 0
for i 1 to n do
sum sum + i
return sum
Code

algorithm2e

\ R e s t y l e A l g o { boxed }

\ KwIn { $ n $ un entier positif }


\ KwOut { la valeur de la somme $ 1 + 2 + \ cdots + n $ }
\ BlankLine
$ sum \ gets 0 $ \;
\ For { $ i \ gets 1 $ \ KwTo $ n $ }{
$ sum \ gets sum + i $ \;
}
\ Return { $ sum $ } \;
\ end { a l g o r i t h m }

Version PDF gratuite http://www.latex-howto.be/

\ begin { a l g o r i t h m }
\ DontPrintSemicolon
\ SetAlgoVlined
\ LinesNumbered

Version PDF gratuite http://www.latex-howto.be/

CHAPITRE

10

Bibliographies

Dans ce chapitre, on va voir comment insrer une bibliographie en utilisant


loutil BibTEX. On verra quil y a deux manires den insrer une dans
un fichier. La seconde permet de grer sa bibliographie dans un fichier
spar et ncessite loutil BibTEX pour faire la mise en page. Cela permet
de constituer des bases de donnes bibliographiques et de les partager
entre documents et avec dautres personnes.

10.1

Insrer une bibliographie

Rfrences
[1] Christian Rolland. LATEX par la pratique. OReilly, 1999.
[KNU90] Donald E. Knuth. The TEXbook. Addison-Wesley, 1990.
[2] Frank Mittelbach and Michel Goosens. The LATEX
Companion. Addison-Wesley, 2004.

Lenvironnement thebibliography prend en option la plus longue tiquette. Celle-ci sera utilise pour aligner les diffrents lments de la
bibliographie. Par dfaut, ces diffrents lments sont numrots avec
des chiffres romains. On peut choisir autre chose avec loption de la
commande \bibitem.

145

Version PDF gratuite http://www.latex-howto.be/

Une bibliographie est insre avec lenvironnement thebibliography.


Chaque lment est insr avec la commande \bibitem qui prend comme
paramtre une tiquette (pour faire rfrence llment bibliographique).

146

CHAPITRE 10. BIBLIOGRAPHIES

Comme vous pouvez le remarquer, il faut soi-mme dfinir toute la mise


en page de lentre de la bibliographie. On verra plus loin dans le chapitre
que loutil BibTEX fera cette mise en page automatiquement.
Code
\ begin { t h e b i b l i o g r a p h y }{ KNU90 }
\ bibitem { latexpratique } Christian \ textsc { Rolland }. \ emph {\
LaTeX {} par la pratique }. O Reilly , 1999.
\ bibitem [ KNU90 ]{ texbook } Donald E . \ textsc { Knuth }. \ emph { The
\ TeX book }. Addison - Wesley , 1990.
\ bibitem { la texcompanion } Frank \ textsc { Mittelbach } and Michel
\ textsc { Goosens }. \ emph { The \ LaTeX {} Companion }.
Addison - Wesley , 2004.
\ end { t h e b i b l i o g r a p h y }

10.1.1

Citer une rfrence bibliographique


Une fois une bibliographie insre, on peut citer une rfrence en utilisant
la commande \cite. Celle-ci prend en paramtre ltiquette de lentre
que vous souhaitez rfrencer. On peut galement en donner plusieurs
spares par des virgules.

Code
Notre bibliothque propose trois livres ~\ cite { latexpratique ,
texbook , lat excompanion } :
\ begin { itemize }
\ item Les livres ~\ cite { latexpratique , la texcompanion } traitent
de \ LaTeX .
\ item Le livre ~\ cite { texbook } traite de \ TeX .
\ end { itemize }

10.2

Utiliser BibTEX
Une autre manire de grer une bibliographie consiste dfinir une base
de donnes dans un fichier .bib. Ensuite, on utilise loutil BibTEX qui va
analyser les entres rfrences et les insrer dans le document tout en
faisant leur mise en page.

Version PDF gratuite http://www.latex-howto.be/

Notre bibliothque propose trois livres [1, KNU90, 2] :


Les livres [1, 2] traitent de LATEX.
Le livre [KNU90] traite de TEX.

10.2. UTILISER BIBTEX

147

Une telle base de donnes est un fichier texte constitu denregistrements.


Chaque enregistrement correspond une entre bibliographique et est
compos de champs renseignant le titre, les auteurs . . . Voici un exemple
avec deux enregistrements :
Code
@book { latexpratique ,
author ={ Christian Rolland } ,
title ={\ LaTeX {} par la pratique } ,
year ={1999} ,
publisher ={ O Reilly }
}
@book { texbook ,
author ={ Donald E . Knuth } ,
title ={ The \ TeX book } ,
year ={1990} ,
publisher ={ Addison - Wesley }
}

Cette base de donnes doit tre enregistre comme un fichier texte avec
lextension .bib. Supposons quon lenregistre dans le fichier mabiblio.bib.

Code
\ b i b l i o g r a p h y { mabiblio }
% chargement du fichier mabiblio . bib
\ b i b l i o g r a p h y s t y l e { alpha }

Parmi les diffrents styles par dfaut, on trouve plain, unsrt, alpha et
abbrv. On peut galement insrer un lment de la base de donnes, sans
le citer en utilisant la commande \nocite.
Si on dsire que toutes les entres de la base de donnes soient insres, il
suffit de faire un \nocite{*} avant dinsrer la base avec \bibliography.
10.2.1

Bases de donnes bibliographique


Les enregistrements dune base de donnes bibliographique ont la forme
suivante :

Version PDF gratuite http://www.latex-howto.be/

On insre ensuite la bibliographie avec la commande \bibliography qui


prend en paramtre le nom du fichier .bib. On peut galement dfinir le
style avec la commande \bibliographystyle. Tous les lments qui auront
t rfrencs avec \cite seront inclus dans la bibliographie insre,
lendroit o les deux commandes suivantes auront t insres.

148

CHAPITRE 10. BIBLIOGRAPHIES

Code
@TypeDocument { tiquette ,
Champ1 ={ Valeur 1} ,
Champ2 =" Valeur 2" ,
...
Champn ={ Valeur n }
}

On peut voir que les valeurs des champs sont soit places entre accolades,
soit entre guillemets doubles. Les nombres, ainsi que les mots spciaux
ne doivent pas tre entre accolades ou guillemets. Tout ce qui nest pas
dans un enregistrement est considr comme un commentaire.
On peut dfinir des constantes avec des enregistrements de la forme

@string. On peut concatner des chaines avec le caractre #. Enfin, il


existe des constantes prdfinies pour les diffrents mois de lanne : jan,
feb, mar, apr, may, jun, jul, aug, sep, oct, nov et dec.

Code
@string { intro =" Une introduction "}

10.2.2

Types de document
Les diffrents types de documents sont repris ci-dessous. La premire
liste indique les champs obligatoires et la seconde les champs optionnels.
article (article dun journal ou dune revue)
author, title, journal, year
volume, number, pages, month, note, key
book (livre avec diteur)
author (ou editor), title, publisher, year
volume, series, address, edition, month, note, key, pages
booklet (document imprim sans diteur)
title
author, howpublished, address, month, year, note, key
conference (comme inproceedings)

Version PDF gratuite http://www.latex-howto.be/

@book { introLaTeX ,
year =2010 ,
month = dec ,
title = intro # " LaTeX "
}

10.2. UTILISER BIBTEX

149

Version PDF gratuite http://www.latex-howto.be/

inbook (partie dun livre, chapitre ou ensemble de pages)


author (ou editor), title, chapter (ou pages), publisher, year
volume, series, address, edition, month, note, key
incollection (partie dun livre qui possde son propre titre)
author, title, booktitle, year
editor, pages, organization, publisher, address, month, note, key
inproceedings (article dans actes de confrence)
author, title, booktitle, year
editor, pages, volume (ou number), series, organization, publisher,
address, month, year, note
manual (documentation technique)
title
author, organization, address, edition, month, year, note
masterthesis (thse de maitrise)
author, title, school, year
type, address, month, note
misc (autre document)

author, title, howpublished, month, year, note, key


phdthesis (thse de maitrise)
author, title, school, year
type, address, month, note
proceedings (actes de confrence)
title, year
editor, publisher, organization, address, month, note, key
techreport (rapport technique)
author, title, institution, year
type, number, address, month, note, key
unpublished (document avec auteur et titre, mais non publi)
author, title, note
month, year, key

150

10.2.3

CHAPITRE 10. BIBLIOGRAPHIES

Champs
Voici une description des diffrents champs :
address : adresse de lditeur
annote : une annotation
author : les auteurs, spars par and
booktitle : titre du livre
chapter : numro de chapitre
crossref : tiquette dune rfrence croise
edition : ldition du livre
editor : lditeur du livre
eprint : publication lectronique
howpublished : comment il a t publi
institution : institution implique dans la publication
journal : journal ou magazine o il a t publi
key : champ cach pour dfinir lordre alphabtique
month : mois de publication
note : information diverse
number : numro du journal ou du magazine
organization : sponsor dune confrence
pages : numros des pages, spars par des virgules
publisher : maison ddition
school : cole dans laquelle la thse a t crite
series : srie de livres dans laquelle le livre a t publi
title : titre du document
type : le type
url : ladresse URL
volume : numro du volume
year : anne de publication

Pour les intervalles de page, on spare la premire et la dernire page


avec un tiret moyen obtenu avec --.
10.2.4

Site web
BibTEX ntant pas tout jeune, il ny a pas de type de document reprsentant les pages web. Pour faire rfrence un site web, on va utiliser le
type @misc avec le champ howpublished.

Version PDF gratuite http://www.latex-howto.be/

10.2. UTILISER BIBTEX

151

Rfrences
[Com10] Sbastien Combfis. Tutoriel LATEX. http://www.ukonline.
be/programmation/latex/tutoriel/, July 2010.

Il faut bien entendu charger le package url dans le document qui utilise
cette bibliographie. Dans cet exemple, on a modifi le style des URL avec
\urlstyle{sf}.
Code
@misc { latex - tutorial ,
author ={ S \ ebastien Comb \ efis } ,
title ={ Tutoriel {\ LaTeX }} ,
howpublished ={\ url { http :// www . ukonline . be / programmation / latex
/ tutoriel /}} ,
year ={2010} ,
month = jul
}

Version PDF gratuite http://www.latex-howto.be/

Version PDF gratuite http://www.latex-howto.be/

CHAPITRE

11

Dessin

On pourrait rdiger plus dun livre sur le dessin avec LATEX. Dans ce
chapitre, on va rapidement passer sur les deux packages prdominants
que sont PSTricks et TikZ/PGF. On verra galement diffrents packages
permettant de faire des dessins plus cibls comme des arbres grammaticaux pour les linguistes, des molcules pour les chimistes, des circuits
pour les lectriciens . . .

11.1

Arbres

\Tree [.Racine Fils-gauche Fils-droit [.Sous-Arbre Petit-fils ] ]

Il faut bien veiller ce que chaque crochet soit prcd dune espace.
Racine

Fils-gauche

Fils-droit

Sous-Arbre
Petit-fils

153

Version PDF gratuite http://www.latex-howto.be/

Pour dessiner des arbres, on peut utiliser le package spcialis qtree.


Ce dernier permet de facilement dessiner des arbres dont on donne la
description avec la commande \Tree. On dcrit un arbre par un simple
mot pour une feuille ou par une liste de nuds spars par des espaces
et mis entre crochets pour un sous-arbre, la racine tant prcde dun
point.

154

CHAPITRE 11. DESSIN

Les arbres sont automatiquement centrs. Pour annuler ce comportement,


il suffit de spcifier loption nocenter au moment de charger le package.
On peut modifier le style en redfinissant les commandes vides suivantes :

qtreeinithook est appele au dbut de chaque arbre


qtreefinalhook est appele la fin de chaque arbre
qleafhook est appele pour chaque feuille
et qlabelhook est appele pour chaque nud interne

Enfin, on peut obtenir tout un sous-arbre sous forme dun triangle avec
la commande \qroof. On peut galement encadrer un sous-arbre avec
la commande \qframesubtree. Remarquez aussi quon nest pas oblig
davoir un texte pour chaque nud interne. Voici un exemple plus labor :
A
B
E

un sous-arbre

G
Une phrase

Remarquez que \qframesubtree ne fonctionnera pas si vous avez le package babel qui est charg.
Code
\ n e w c o m m a n d {\ q l e a f h o o k }{\ bf }
\ Tree [. A
[. B
\ qroof { un sous - arbre }. D
[E ]
]
[. C
[. F ]
[. G [{ Une phrase } ] ]
] !{\ q f r a m e s u b t r e e }
]

qtree

Version PDF gratuite http://www.latex-howto.be/

11.2. TIKZ/PGF

11.2

155

TikZ/PGF
Un package de dessin trs connu et fonctionnant avec pdfTEX est le
package TikZ/PGF. Nous nallons pas le dtailler ici car cela ncessiterait
un livre complet, mais on va simplement regarder un ou deux exemples.
Lide de base est de crer des nuds quon va ensuite relier par des
artes. On insre une nouvelle figure avec lenvironnement tikzpicture.
Voyons un premier exemple.
nud 1

Code

tikz,pgf

\ begin { tikzpicture }
\ node [ draw , shape = rectangle ] ( A ) at (0 ,0) { n \ oe ud 1};
\ node [ draw , shape = circle ] ( B ) at (3 ,0) { B };
\ draw ( A ) edge [ dashed , - >] ( B );
\ end { tikzpicture }

La commande \draw permet de faire un dessin. Dans notre cas, on dessine


une arrte entre le nud A et le nud B. Pour cela, on utilise edge qui
permet notamment de dfinir des options.
Il existe de nombreuses extensions pour TikZ/PGF. Lexemple suivant
montre lutilisation de deux extensions. La premire permet davoir des
styles de flches diffrents et la seconde permet davoir des ombres. Vous
pourrez galement voir sur lexemple suivant quon peut dfinir des
options par dfaut et quon peut ajouter des tiquettes sur les artes.
a

S1

S0
b

S2

Version PDF gratuite http://www.latex-howto.be/

La commande \node permet dajouter un nouveau nud. On dfinit


dabord des options, ensuite un nom entre parenthses suivi de at et de
la coordonne du nud et enfin, on place le texte qui doit figurer dans le
nud entre accolades.

156

CHAPITRE 11. DESSIN

Code

tikz,pgf

\ begin { tikzpicture }[ shape = circle , auto ]


\ node [ draw ] ( A ) at (0 ,0) { $ S_0 $ };
\ node [ draw , fill = white , drop shadow ] ( B ) at (3 ,1) { $ S_1 $ };
\ node [ draw ] ( C ) at (3 , -1) { $ S_2 $ };
\ draw ( A ) edge [ - t r ia ng le 60 , bend left ] node { a } ( B );
\ draw [ open reversed 45 -] ( A ) | - node [ pos =0.9] { b } ( C );
\ end { tikzpicture }

Il faut pralablement importer les deux extensions avec la commande

\usetikzlibrary dans le prambule du document :


\usetikzlibrary{arrows,shadows}

Dessiner des donnes


On peut dessiner des donnes en utilisant le package pgfplots qui se base
sur le package TikZ/PGF.
une fonction
des donnes

30
20
10
0
6

0
axe x

Code
\ begin { tikzpicture }[ scale =0.7]
\ begin { axis }[ xlabel = axe $ x $ , ylabel = axe $ y $ ]
\ addplot { x ^2 + 2* x - 1};
\ a d d l e g e n d e n t r y { une fonction }
\ addplot coordinates {
(0 ,15)
(1 ,10)
(2 ,6)
(3 ,3)
(4 ,1)
(5 ,0)
};
\ a d d l e g e n d e n t r y { des donnes }
\ end { axis }
\ end { tikzpicture }

pgfplots

Version PDF gratuite http://www.latex-howto.be/

axe y

11.2.1

11.2. TIKZ/PGF

157

On utilise lenvironnement axis pour dfinir un nouveau graphe. Ensuite,


on ajoute une courbe grce la commande \addplot. On peut soit dfinir
une quation, soit donner une srie de points. Enfin, on peut obtenir une
lgende avec \addlegendentry. Il existe de nombreuses autres possibilits
offertes par ce package et nous vous invitons consulter sa documentation
dtaille.

11.2.2

Dessiner des circuits lectriques


Le package circuitikz permet de dessiner des circuits lectriques facilement. Il se base, comme son nom le suggre, sur TikZ/PGF. Il y a
essentiellement des monopoles et des dipoles. Chacun de ces lments est
reprsent par un nud. On va utiliser node pour les monopoles et to
pour les dipoles.

R1
+
V1

C1

vext

Code

circuitikz

\ begin { circuitikz }[ american ]


\ draw ( -2 ,1) to [ voltage source , l = $ V_1 $ ] ( -2 , -1);
\ draw ( -2 ,1) to [R , l = $ R_1 $ ] (2 ,1);
\ draw (2 ,1) to [ short ] (3 ,1);
\ draw (2 ,1) to [C , l_ = $ C_1 $ ] (2 , -1);
\ draw ( -2 , -1) to [ short ] (3 , -1);
\ draw (0 , -1) node [ ground ] {};
\ draw (3 ,1) to [ open ,o -o , v ^= $ v_ { ext } $ ] (3 , -1);
\ end { circuitikz }

Nhsitez pas consulter la documentation officielle pour avoir la liste


des tous les composants quil est possible de dessiner.

Version PDF gratuite http://www.latex-howto.be/

158

11.3

CHAPITRE 11. DESSIN

PSTricks

PSTricks est un package de dessin qui permet dexploiter les possibilit


de PostScript avec LATEX. Ce package nest pas compatible avec pdfTEX
et vous devrez ds lors passer par un document en PostScript convertir
en un PDF.
Les dessins se font grce des commandes qui il faut passer, en plus
doptions et de paramtres, des coordonnes sous la forme (x,y).

4
3
2
1
0
0

pstricks, pst-all

\ p s p i c t u r e (0 ,0)(8 ,5)
\ psframe [ l i n e w i d t h =2 pt , framearc =0.3 , fillstyle = solid ,
fillcolor = red ]( -0.2 , -0.3)(1.3 ,1.2)
\ psline [ l i n e w i d t h =4 pt , linearc =0.1]{ - >}(0 ,0)(1 ,1)(1 ,0)
\ p s c i r c l e [ l i n e w i d t h =2 pt ](3 ,1) {0.7}
\ p s c i r c l e [ l i n e w i d t h =2 pt , linestyle = dashed ](3.5 ,1.8) {0.7}
\ p s c i r c l e [ l i n e w i d t h =2 pt ](4 ,1) {0.7}
\ p s b e z i e r [ showpoints = true ]{ o -|}(1 ,2)(2 ,3)(0 ,4)(3 ,4)
\ psgrid [ origin ={6 ,0} , gridcolor = gray ,
subgridcolor = lightgray ](0 ,0)(0 ,0)(2 ,4)
\ psplot [ origin ={6 ,0} , plotpoints =100 ,
l i n e w i d t h =2 pt ]{0}{2}{ x x mul }
\ endpspicture

Il existe bien dautres commandes ainsi que de nombreux autres packages


qui ont t construits sur base de PSTricks. On peut notamment dessiner
des montages pour des expriences de chimie, faire des dessins 3D . . .
Voici par exemple une utilisation du package pst-fun qui permet notamment dinsrer des fourmis avec la commande \pstAnt.

Version PDF gratuite http://www.latex-howto.be/

Code

11.3. PSTRICKS

Code

159

pstricks, pst-all, pst-fun

\ p s p i c t u r e (0 ,0)(8 ,5)
\ rput (1 ,1){\ p s s c a l e b o x {0.5}{\ psAnt }}
\ rput {45}(3 ,3){\ p s s c a l e b o x {0.4}{\ psAnt [ fillcolor = red ]}}
\ rput { -80}(1 ,4){\ p s s c a l e b o x {0.6}{\ psAnt [ fillcolor = black ]}}
\ endpspicture

Version PDF gratuite http://www.latex-howto.be/

Version PDF gratuite http://www.latex-howto.be/

CHAPITRE

12

Personnaliser LATEX

Dans ce chapitre, on va voir comment dfinir ses propres commandes et


environnements. On verra galement quelques packages et commandes
permettant deffectuer des tches rptitives et de manire automatique.
Enfin, on terminera en voyant comment dfinir ses propres environnements
flottants et comment crire dans des fichiers externes.

12.1

Commandes et environnements

Arachnophobie : Peur des araignes.


Dans la dfinition de la nouvelle commande, on utilise #i avec i tant un
chiffre entre 1 et 9, pour obtenir la valeur du ie paramtre.
Code
\ n e w c o m m a n d {\ definition }[2]{\ textbf {#1 : } #2.}
\ definition { Arachnophobie }{ Peur des araignes }

On dfinit un nouvel environnement avec la commande \newenvironment.


Cette commande prend trois paramtres qui sont le nom de lenvironnement, le code placer avant et celui placer aprs. En option, on peut
prciser le nombre de paramtres que lenvironnement prend.
161

Version PDF gratuite http://www.latex-howto.be/

On dfinit une nouvelle commande avec \newcommand. En option, on


spcifie le nombre de paramtres quelle prend. Elle peut en avoir au
maximum neuf.

162

CHAPITRE 12. PERSONNALISER LATEX

Le titre
Le contenu de la boite qui est dlimite
par un trait horizontal en haut, mais
galement en bas.
On a donc ici dfini un environnement titledbox qui permet davoir une
boite dune certaine largeur avec un titre. La boite est dlimite en haut
et en bas par un trait horizontal.
Code
\ n e w e n v i r o n m e n t { titledbox }[2]({\ begin { m in ip ag e }{#1} %
\ h r u l e f i l l ~\ r a i s e b o x { -0.4 ex }{#2}~\ h r u l e f i l l \ par \ s m a l l s k i p } %
{\ par \ h r u l e f i l l \ end { m i ni pa ge }}
\ begin { titledbox }{6 cm }{ Le titre }
Le contenu de la boite qui est dlimite par un trait horizontal
en haut , mais galement en bas .
\ end { titledbox }

On dsire parfois redfinir une commande ou un environnement qui


existait pralablement. Pour cela, il faut utiliser \renewcommand et
\renewenvironment.

Tests et rptitions
Voyons une srie de packages qui proposent des commandes qui vont
permettre de faire un peu de programmation. On va pouvoir faire des
tests, des boucles et des traitements plus sophistiqus sur du texte.

12.2.1

Conditions
Le package ifthen dfinit la commande \ifthenelse qui permet dcrire
du code LATEX seulement si une certaine condition est vrifie. La commande prend trois paramtres qui sont respectivement une condition, le
code insrer si la condition est vraie et celui insrer si elle est fausse.
12 est plus grand que 7
42 est plus petit que 69
Pour dfinir la condition, on peut utiliser les oprateurs logiques \AND,
\OR et \NOT, les parenthses \( et \), les oprateurs de comparaison <,
= et > pour comparer des nombres. La commande \isodd teste si un
nombre est impair. La commande \isundefined teste si une commande

Version PDF gratuite http://www.latex-howto.be/

12.2

12.2. TESTS ET RPTITIONS

163

nest pas dfinie. La commande \equal teste si deux chaines de caractres


sont identiques. Pour comparer des longueurs, on ne peut pas utiliser
directement <,= et >, mais il faut le faire dans la commande \lengthtest.
Code

ifthen

\ n e w c o m m a n d {\ greater }[2]{#1 est plus \ i f t h e n e l s e {#1 >#2}{ grand }{


petit } que #2}
\ greater {12}{7} \\
\ greater {42}{69}

12.2.2

Boucles

d pour une longueur


i pour un entier
r pour un rel

n pour un nombre avec un nombre fix de chiffres aprs la dcimale

Code
\ multido {}{5}{ bla } \\
\ multido {\ d =1 cm +1 mm }{5}{\ d , } \\
\ multido {\ i =4+ -1}{5}{\ i , } \\
\ multido {\ r =0+0.15}{5}{\ r , } \\
\ multido {\ n = 0 . 0 0 + 0 . 1 5} { 5 } { \ n , }

multido

Version PDF gratuite http://www.latex-howto.be/

On a parfois besoin de rpter plusieurs fois le mme code LATEX. Pour


ce faire, on peut utiliser la commande \multido dfinie dans le package
de mme nom.
blablablablabla
1864679sp 2051146sp 2237613sp 2424080sp 2610547sp
4 3 2 1 0
0.0 0.15 0.29999 0.44998 0.59998
0.00 0.15 0.30 0.45 0.60
On peut utiliser la commande pour rpter un certain nombre de fois
du code LATEX. On peut galement dfinir un compteur, le type de ce
dernier dpendant de la premire lettre du nom utilis. La dclaration
du compteur a toujours la forme \nom=initial+increment.

164

CHAPITRE 12. PERSONNALISER LATEX

Le nombre ditrations est accessible par \multidocount. On peut arrter de boucler avec la commande \multidostop. Enfin, remarquez que
pour faire un dcompte lenvers, il faut crire \i=4+-1 car \i=4-1 ne
fonctionnerait pas.
12.2.3

Manipuler des strings


Le package coolstr dfinit trois commandes qui permettent de tester si
une chaine de caractres correspond un nombre dcimal, un nombre
ou un nombre entier : \isdecimal, \isnumeric et \isint.
Le package dfinit galement la commande \substr qui permet dextraire
une sous-chaine dune chaine. Le premier paramtre correspond la
chaine traiter, le second lindice du caractre de dbut et le dernier
au nombre de caractres extraire.
N en 1983.
Ici, on part donc du septime caractre et on en prend quatre. Cela
permet donc dextraire lanne de naissance. Il faut savoir que le rsultat
de la commande \substr est un string et ne pourra donc par exemple
pas tre utilis dans un calcul.
Code

coolstr

\ printinfo {06 -11 -1983}

Le package xstring propose beaucoup plus de commandes. On va pouvoir


faire des tests, des recherches et des remplacements dans une chaine et,
enfin, compter. Nous nallons pas toutes les dtailler ici, mais voici la
liste des essentielles :
1. Commandes qui effectuent un test
\IfSubStr teste si une chaine est une sous-chaine dune autre
\IfBeginWith et \IfEndWith testent si une chaine commence
ou se termine par une autre
\IfInteger et \IfDecimal testent si une chaine est un entier
ou un nombre dcimal
\IfStrEq et \IfStrEqCase testent si deux chaines sont gales,
en ignorant ou non la casse

Version PDF gratuite http://www.latex-howto.be/

\ n e w c o m m a n d {\ printinfo }[1]{ N en \ substr {#1}{7}{4}.}

12.3. DFINIR UN FLOTTANT

165

2. Commandes qui renvoient une chaine


\StrBefore et \StrBehind renvoient la sous-chaine se trouvant
avant ou aprs une sous-chaine dune autre chaine
\StrBetween renvoie une sous-chaine se trouvant entre deux
sous-chaines dune autre chaine
\StrSubstitute renvoie une chaine dont les occurences dune
sous-chaine ont t remplaces par une chaine
\StrDel renvoie une chaine dont les occurences dune souschaine ont t supprimes
\StrLeft et \StrRight renvoient une chaine contenant les i
premiers ou derniers caractres dune chaine
\StrChar renvoie le ie caractre dune chaine
\StrMid renvoie la sous-chaine allant du ie caractre au j e
3. Commandes qui renvoient un nombre
\StrLen renvoie la longueur dune chaine
\StrCount renvoie le nombre de fois quune sous-chaine apparait dans une autre
\StrPosition renvoie la position dune sous-chaine dans une
autre

Code

xstring

\ S t r R i g h t { LaTeX }{3} \\
\ S t r S u b s t i t u t e { toto est tout }{ to }{ tu } \\
\ StrLen { A n t i c o n s t i t u t i o n n e l l e m e n t } \\
\ I f B e g i n W i t h { Maison }{ Mais }{ OUI }{ NON }

TeX
tutu est tuut
25
OUI

12.3

Dfinir un flottant
Il existe deux types de flottants par dfaut en LATEX : les figures et les
tables. Un des intrts de ceux-ci est la possibilit dajouter une lgende
avec la commande \caption. Un autre est de pouvoir gnrer une liste

Version PDF gratuite http://www.latex-howto.be/

Voyons un petit exemple avec le rsultat qui est produit par ce code :

166

CHAPITRE 12. PERSONNALISER LATEX

de tous ceux insrs dans le document. On dfinit un nouveau type de


flottant avec la commande \newfloat dfinie dans le package float.

Exemple 1 Exemple dutilisation de la formule de Pythagore.


Soit un triangle rectangle dont les longueurs de deux des cts adjacents
langle droit valent respectivement 3 et 4 centimtres. Grce au thorme
de Pythagore, on peut crire :
h2 = 32 + 42 = 9 + 16 = 25

La longueur de lhypothnuse vaut donc h = 25 = 5 centimtres.

La commande \floatstyle permet de dfinir le style de tous les nouveaux


flottants qui seront crs avec \newfloat. La commande \newfloat prend
trois paramtres qui sont le nom du flottant, son positionnement et enfin
une extension pour le fichier auxiliaire utilis pour les lister. Le nom est
dfini avec \floatname et on insre la liste des flottants avec \listof.
Code

float

\ begin { example }
Soit un t r i a n g l e rectangle dont les longueurs % ...
\ caption { Exemple d utilisation de la formule de Pythagore .}
\ end { example }
\ listof { example }{ Liste des exemples }

Les diffrents styles sont plain, plaintop, boxed et ruled. Enfin, avec le
package float, le nouveau descripteur de positionnement H permet de
forcer le flottant tre plac lendroit o il a t dclar. En fait, cela
annule le comportement flottant.
On peut galement modifier le style dun flottant dj existant avec la
commande \restylefloat. Par exemple, pour faire en sorte que toutes
les figures soient entoures dune boite, on peut crire :
\floatstyle{boxed}
\restylefloat{figure}

Version PDF gratuite http://www.latex-howto.be/

\ f l o a t s t y l e { ruled }
\ n e w f l o a t { example }{! ht }{ lex }
\ f l o a t n a m e { example }{ Exemple }

12.4. DFINIR UN COMPTEUR

12.4

167

Dfinir un compteur
On est parfois amen devoir dfinir un nouveau compteur. On les utilise
pour la numrotation ou lnumration. Un nouveau compteur se dfinit
avec la commande \newcounter qui prend en paramtre un nom.
On initialise la valeur dun compteur en utilisant la commande \setcounter
et on modifie sa valeur avec \addtocounter. Enfin, on affiche la valeur
dun compteur avec \the suivi du nom du compteur.
Il y avait 12 bires,
Marie en apporte quatre de plus, ce qui en fait 16,
mais Pierre est pass et il nen reste plus que 9.
Code
\ n e w c o u n t e r { cntBeers }
\ s e t c o u n t e r { cntBeers }{12}
Il y avait \ thecntBeers {} bires ,
\ a d d t o c o u n t e r { cntBeers }{4}
Marie en apporte quatre de plus , ce qui en fait \ thecntBeers ,
\ a d d t o c o u n t e r { cntBeers }{ -7}
mais Pierre est pass et il n en reste plus que \ thecntBeers .

12.5

\arabic : chiffres arabes

\roman ou \Roman : chiffres romains minuscules ou majuscules

\alph ou \Alph : lettres romaines minuscules ou majuscules

\fnsymbol : symboles (pour un compteur ne dpassant pas 9)

Dfinir une longueur


On a parfois besoin de dfinir des longueurs, et pour cela, on utilise
la commande \newlength qui prend un nom en paramtre. Attention
cependant que ce dernier doit tre prcd dun backslash, contrairement
au nom quon donnait un nouveau compteur.
Une fois la longueur cre, on peut linitialiser avec \setlength et on peut
modifier sa valeur avec \addtolength. On ne peut pas directement afficher
la valeur dune longueur, mais seulement lutiliser dans des commandes

Version PDF gratuite http://www.latex-howto.be/

On peut afficher un compteur avec un autre style en utilisant lune des


commandes suivantes :

168

CHAPITRE 12. PERSONNALISER LATEX

comme \hspace par exemple. Si on veut lafficher, il faut utiliser des


packages ddis comme celui dcrit la section 2.4.5 (page 31).
Papa
est l !
Code
\ n e w l e n g t h {\ sep }
\ s e t l e n g t h {\ sep }{1 cm }
\ hspace {\ sep } Papa
\ a d d t o l e n g t h {\ sep }{5 mm }
\ hspace {\ sep } est l !

Il existe galement les commandes \settowidth, \settoheight et \settodepth


qui permettent de fixer une longueur gale la largeur, la hauteur ou la
profondeur dun texte spcifi en second paramtre. On peut par exemple
obtenir un O travers par un I (O
I ) avec le code suivant :
Code
\ n e w l e n g t h {\ oisep }\ s e t t o w i d t h {\ oisep }{ O }
( O \ hspace { -0.75\ oisep } I \ hspace {0.25\ oisep })

Version PDF gratuite http://www.latex-howto.be/

CHAPITRE

13

Divers

Ce dernier chapitre fait le tour de quelques packages qui permettent


de raliser diverses choses comme insrer des mots-croiss, gnrer des
nombres alatoires, des filigranes, faire des calculs . . .

13.1

Mots-croiss

M
L

A
L

Code

T
cwpuzzle

\ PuzzleSolution
\ begin { Puzzle }{4}{3}
|{}| M | O | L | E |{}|.
| L | A |* | O | T | A |.
|{}| L | I | T |* |{}|.
\ end { Puzzle }

Lenvironnement Puzzle permet dinsrer des mots-croiss. Les cases sont


dfinies partir de la commande | qui prend un paramtre qui est soit
vide ({}), soit une lettre, soit un astrisque (*).
169

Version PDF gratuite http://www.latex-howto.be/

Le package cwpuzzle permet dinsrer des mots-croiss, avec leurs solutions. Il est galement possible de gnrer des sudoku ou des kakuro. Le
package est trs riche et offre de nombreuses autres possibilits.

170

CHAPITRE 13. DIVERS

La commande | prend deux options. La premire est le numro mettre


dans la case et la seconde est un paramtre de style. Les diffrentes
valeurs possibles sont :

f : cadre
. : vide

* : case noire
O : cercle

o : cadre et cercle

t, b, l et r : trait renforc en haut, bas, gauche et droite

T, B, L et R : trait renforc en haut, bas, gauche et droite et cadre

Les dfinitions doivent tre insres avec lenvironnement PuzzleClues.


La commande \Clue permet dinsrer une dfinition. Le second paramtre
qui est le mot dfinit nest actuellement pas utilis.
1
4

2
5

Horizontal 1 Quantit de matire 4


Note de musique 5 Retira 6 Pour
dormir
Vertical 1 Pas bien 2 Prix 3 Conjonction

Code
\ begin { m u l t i c o l s }{2}
\ PuzzleUnsolved
\ begin { Puzzle }{4}{3}
|{}
|[1] M | O |[2] L |[3] E |{}|.
|[4] L | A
|* |[5] O | T
| A |.
|{}
|[6] L | I | T
|*
|{}|.
\ end { Puzzle }
\ begin { P u z z l e C l u e s }{\ bf Horizontal }
\ Clue {1}{ MOLE }{ Quantit de matire }
% ...
\ end { P u z z l e C l u e s }
\ begin { P u z z l e C l u e s }{\ bf Vertical }
\ Clue {1}{ MAL }{ Pas bien }
% ...
\ end { P u z z l e C l u e s }
\ end { m u l t i c o l s }

cwpuzzle

Version PDF gratuite http://www.latex-howto.be/

Enfin, remarquez que PuzzleSolution permet dafficher la solution et


de masquer les dfinitions, tandis que PuzzleUnsolved permet de faire
linverse.

13.2. CODE-BARRES

13.2

171

Code-barres
Pour raliser des codes-barres pour des livres, correspondant un numro
ISBN, le moyen le plus simple consiste utiliser la commande \EANisbn
du package ean13isbn. Il suffit de dfinir le format dsir (SC0, SC1 . . .)
ainsi que le numro ISBN en option de la commande.
ISBN 978-80-7340-097-2


Code

ean13isbn

\ EANisbn [ SC0 , ISBN =978 -80 -7340 -097 -2]

Une autre possibilit plus riche consiste utiliser le package pst-barcode


qui se base sur PSTricks. Vous ne pourrez donc pas compiler votre document avec PDFLATEX. La commande \psbarcode prend trois paramtres
qui sont les donnes, les options et le type du code-barres.

Code

pst-barcode

\ begin { p s p i c t u r e }(3.5 ,2.5)


\ p s b a r c o d e { 9 7 8 8 0 7 3 4 0 0 9 7 2 } { includetext }{ ean13 }
\ end { p s p i c t u r e }

De nombreux autres formats sont disponibles avec ce package. Pour en


citer quelques-uns : EAN-13, UPC-A, onecode, ISBN, Postnet, PDF417,
Data Matrix, QR Code.

Version PDF gratuite http://www.latex-howto.be/

9 788073 400972

172

CHAPITRE 13. DIVERS

Code

pst-barcode

13.3

LAT
EX

\ begin { p s p i c t u r e }(2 ,2)


\ p s b a r c o d e { http :// www . latex - howto . be }{ eclevel = M }{ qrcode }
\ end { p s p i c t u r e }\ quad
\ begin { p s p i c t u r e }(2 ,2)
\ p s b a r c o d e { http :// www . latex - howto . be }{ rows =36 columns =36
parse }{ datamatrix }
\ end { p s p i c t u r e }

Filigrane

On peut ajouter un filigrane sur toutes les pages dun document grce au
package watermark. Le package dfinit les quatre commandes \watermark,
\leftwatermark, \rightwatermark et \thiswatermark qui permettent de
dfinir un filigrane qui sera sur toutes les pages, sur les pages paires,
impaires ou seulement sur la page courante. Remarquez par exemple le
logo LATEX qui se trouve sur le fond de cette page.
Afin de positionner ce logo, il a fallu le placer dans une minipage pour
pouvoir le prcder dun espace vertical. Une autre solution consiste
utiliser TikZ/PGF avec loption overlay.
Code

watermark

\ thiswatermark {
\ begin { m i n i p a g e }{10 cm }
\ vspace {14 cm }
\ begin { center }
\ r o t a t e b o x {55}{\ s ca le bo x {8}{\ color [ gray ]{0.9} \ LaTeX }}
\ end { center }
\ end { m i n i p a g e }
}

13.4

Nombre alatoire
Grce au package lcg, il est possible de gnrer des nombres pseudoalatoires. Une fois le package charg avec ses options, on obtient le
prochain nombre pseudo-alatoire avec la commande \rand. Ce nombre
est ensuite stock dans le compteur rand et on peut afficher sa valeur avec
les commandes dcrites la section 12.4. Parmi les options possibles, on
retrouve first et last qui indiquent lintervalle dans lequel les nombres
sont choisis.

13.5. ALPHABET PHONTIQUE INTERNATIONAL

173

Si on veut par exemple lancer trois fois un d, il faut importer :


\usepackage[first=1,last=6]{lcg}

et un tirage donnera par exemple :


6, 2 et 5
Code

lcg

\ rand \ arabic { rand } , \ rand \ arabic { rand } et \ rand \ arabic { rand }

13.5

Alphabet phontique international


On peut crire la prononciation des mots selon lalphabet phontique
international (IPA) en utilisant le package tipa. La commande \textipa
permet dintroduire la prononciation dun mot.
LATEX se prononce ["leItEk], ["leItEx] ou ["lA:tEk]

Code

tipa

Le tableau 13.1 reprend les raccourcis qui permettent dobtenir directement un caractre de lalphabet phontique international.
:
;
"

:
;
"

0
1
2
3
4
5
6
7
8
9

0
1
2
3
4
5
6
7
8
9

@
A
B
C
D
E
F
G
H
I

@
A
B
C
D
E
F
G
H
I

J
K
L
M
N
O
P
Q
R
S

J
K
L
M
N
O
P
Q
R
S

T
U
V
W
X
Y
Z
|

T
U
V
W
X
Y
Z
|

Table 13.1. Raccourcis dcriture pour les caractres de lIPA.

Version PDF gratuite http://www.latex-howto.be/

\ LaTeX {} se prononce [\ textipa {" leItEk }] , [\ textipa {" leItEx }] ou


[\ textipa {" lA : tEk }]

174

CHAPITRE 13. DIVERS

Des commandes spciales permettent dobtenir facilement des variantes


de certaines caractres. Tout dabord, la commande \* permet dobtenir
une lettre tourne de 180 degrs pour f, k, r, t ou w. Si on lutilise avec j,
n, h, l ou z, elle permet dobtenir certains caractres particuliers.

Code

tipa

\ textipa {\* f \* k \* r \* t \* w } \ textipa {\* j \* n \* h \* l \* z }

Lorsque la commande \* est suivie dautre lettres, elle se contente de


les imprimer sans aucune modification. Les trois autres commandes \;,
\: et \! sont utilises pour obtenir des petites majuscules, des symboles
rtroflexes, occlusif ou clic.

Code

tipa

On peut galement insrer les accents et marques diacritiques via des


raccourcis prsents dans le tableau 13.2.
\a
\"a
\~a
\r{a}
\s{m}
\.e
\=a
\^.a
\~.a
\u=a

a
a

a
m
e"

\"*{a}
\~*{a}
\r*{a}
\.e

\|[t
a
\|(a

a \|c{k}
a
\|+o
\|e
e
\|e
\|<o
\|>a
\|x{e}
\|w{k}
\|m{t}

t
a

\|]t
\|)a

t
a

off
efi
efl
offi
affl
e
k

Table 13.2. Accents et marques diacritiques de lIPA.

Version PDF gratuite http://www.latex-howto.be/

\ textipa {\; B \; E \; A \; H \; L \; R }
\ textipa {\: d \: l \: n \: r \: s \: z }
\ textipa {\! b \! d \! g \! j \! G \! o }

CHAPITRE

14

Classes de documents

Ce chapitre prsente quelques classes de documents usuelles qui vous


permettront de facilement rdiger des rapports, des lettres, des prsentations, des folders, des CV . . . chaque fois, un exemple minimal vous
est prsent avec le code complet correspondant. Afin den savoir plus
sur les diffrentes classes prsentes, nous vous renvoyons vers leurs
documentations respectives.
Tous les exemples de ce chapitre sont disponibles au tlchargement sur :
http://www.latex-howto.be.

175

Version PDF gratuite http://www.latex-howto.be/

Nhsitez pas les tlcharger et les utiliser comme modles pour rdiger
vos premiers documents.

176

14.1

CHAPITRE 14. CLASSES DE DOCUMENTS

crire une lettre


Code
\ d o c u m e n t c l a s s [11 pt , a4paper ]{ letter }
\ u s e p a c k a g e [ latin1 ]{ inputenc }
\ u s e p a c k a g e [ T1 ]{ fontenc }
\ u s e p a c k a g e [ french ]{ babel }
\ u s e p a c k a g e { lmodern }
\ address { Sbastien Combfis \\ Rue et numro \\ 1234 Ville }
\ s i g n a t u r e { Sbastien Combfis }
\ begin { d o c u m e n t }
\ begin { letter }{ Le destinataire \\ Sa rue \\ Et sa ville }
\ opening { Madame , Monsieur ,}
Je vous cris suite notre entretien tlphonique de ce
mercredi 6 octobre 2010 afin de \ dots
\ closing { Je vous prie d agrer , Madame , Monsieur , l
expression de mes sentiments distingus .}
\ cc { Service des achats }
\ encl { Le listing des clients potentiels .}
\ ps { PS : N oubliez pas de me transfrer les devis .}
\ end { letter }
\ end { d o c u m e n t }

Version PDF gratuite http://www.latex-howto.be/

14.1. CRIRE UNE LETTRE

177

Sbastien Combfis
Rue et numro
1234 Ville
8 octobre 2010
Le destinataire
Sa rue
Et sa ville
Madame, Monsieur,
Je vous cris suite notre entretien tlphonique de ce mercredi 6 octobre
2010 afin de . . .

Sbastien Combfis
Copie : Service des achats
P. J. : Le listing des clients potentiels.
PS : Noubliez pas de me transfrer les devis.

Version PDF gratuite http://www.latex-howto.be/

Je vous prie dagrer, Madame,


Monsieur, lexpression de mes
sentiments distingus.

178

14.2

CHAPITRE 14. CLASSES DE DOCUMENTS

Prsenter un CV
Code
\ d o c u m e n t c l a s s [11 pt , a4paper ]{ moderncv }
\ u s e p a c k a g e [ latin1 ]{ inputenc }
\ u s e p a c k a g e [ T1 ]{ fontenc }
\ u s e p a c k a g e [ french ]{ babel }
\ u s e p a c k a g e { lmodern }
\ m o d e r n c v t h e m e [ blue ]{ casual }
\ f i r s t n a m e { Sbastien }
\ f a m i l y n a m e { Combfis }
\ address { Rue et numro }{1234 Ville }
\ phone {+3 2123456 789}
\ email { info@latex - howto . be }
\ begin { d o c u m e n t }
\ maketitle
\ section { tudes }

\ section { Mmoire }
\ cvline { Titre }{ Viral marketing and community detection
algorithms }
\ cvline { Promoteur }{ Pr . Pierre Dupont }
\ cvline { Description }{ tude des techniques de marketing ...}
\ section { Exprience }
\ cventry {2009}{ Prsident }{ UCLouvain ACM Student Chapter ASBL
}{ Louvain - la - Neuve }{}{ Fondateur et prsident ...}
\ cventry {2007 - -2009}{ Assistant }{ Universit catholique de
Louvain }{ Louvain - la - Neuve }{}{ Assistant de cours ...}
\ section { Langues }
\ c v l a n g u a g e { Franais }{ Avanc }{ Langue maternelle }
\ c v l a n g u a g e { Anglais }{ Intermdiaire }{}
\ section { Informatique }
\ c v c o m p u t e r { Application }{ Eclipse , OpenOffice }{ OS }{ Windows ,
Linux , Mac OS }
\ c v c o m p u t e r { Langage }{ Java , C , C ++ , Python , PHP , MySQL , ( X )
HTML , CSS , \ LaTeX }{}{}
\ end { d o c u m e n t }

Version PDF gratuite http://www.latex-howto.be/

\ cventry {2004 - -2007}{ Ingnieur civil informaticien }{


Universit catholique de Louvain }{ Louvain - la - Neuve }{
Grande Distinction }{}
\ cventry {2002 - -2004}{ Candidature ingnieur civil }{ Universit
catholique de Louvain }{ Louvain - la - Neuve }{ Distinction }{}
\ cventry {1996 - -2002}{ Secondaire gnral renov Math - Sciences
}{ Lyce de Berlaymont }{ Waterloo }{ Grande Distinction }{}

14.2. PRSENTER UN CV

179

SbastienCombfis
tudes
20042007

Ingnieur civil informaticien, Universit catholique de Louvain, Louvain-la-Neuve,


Grande Distinction.

20022004

Candidature ingnieur civil, Universit catholique de Louvain, Louvain-la-Neuve,


Distinction.

19962002

Secondaire gnral renov Math-Sciences, Lyce de Berlaymont, Waterloo,


Grande Distinction.

Mmoire
Titre
Promoteur
Description

Viral marketing and community detection algorithms


Pr. Pierre Dupont
tude des techniques de marketing viral sur diffrents types de rseaux, utilisation de
structures communautaires dans ces rseaux pour acclrer les algorithmes et dtection de communauts influentes.

Exprience

20072009

Prsident, UCLouvain ACM Student Chapter ASBL, Louvain-la-Neuve.

Fondateur et prsident de lUCLouvain ACM Student Chapter ASBL, association qui a pour
but de promouvoir linformatique et ses applications auprs du grand public et notamment
des tudiants, professeurs et professionnels ICT. Pour ce faire, elle organise divers vnements
tels que des confrences, des tutoriaux, des formations et des concours de programmation
(http ://uclouvain.acm-sc.be).

Assistant, Universit catholique de Louvain, Louvain-la-Neuve.

Assistant de cours au Dpartement dIngnierie Informatique (INGI) de lcole Polytechnique


de Louvain (EPL) de lUniversit catholique de Louvain (UCLouvain).

Langues
Franais
Anglais

Avanc
Intermdiaire

Langue maternelle

Informatique
Application
Langage

Eclipse, OpenOffice

OS

Windows, Linux, Mac OS

Java, C, C++, Python, PHP,


MySQL, (X)HTML, CSS, LATEX

Rue et numro 1234 Ville


T +32123456789 B info@latex-howto.be

Version PDF gratuite http://www.latex-howto.be/

2009

180

14.3

CHAPITRE 14. CLASSES DE DOCUMENTS

Mettre en page un journal


Code
\ d o c u m e n t c l a s s [11 pt , a4paper ]{ papertex }
\ u s e p a c k a g e [ latin1 ]{ inputenc }
\ u s e p a c k a g e [ T1 ]{ fontenc }
\ u s e p a c k a g e { lmodern }
\ r e n e w c o m m a n d {\ logo }{
\ mylogo {\ i n c l u d e g r a p h i c s [ width =2 cm ]{ uko - logo . png }}
}
\ author { Sbastien Combfis }
\ title { World News }
\ edition { UKO Publication }
\ begin { d o c u m e n t }
\ begin { f r o n t p a g e }
\ f i r s t i m a g e { Antennae - Hubble . jpg }{ Source : NASA }
\ f i r s t n e w s { Dcouverte d une nouvelle galaxie par des
chercheurs de la NASA }{ Des chercheurs de la NASA ont
dcouverts , tt ce matin , ...}{8:42}
\ s e c o n d n e w s { Disques - durs quantiques }{ Les disques durs
quantiques seront bientt disponibles la vente pour
les particuliers .}{ Lors d un salon international
consacr aux technologies nouvelles ...}{ Technologie
}{9:12}

\ begin { i n d e x b l o c k }{ Table des matires }


\ i n d e x i t e m { Biologie -- Une dangereuse bactrie a t
dcouverte }{ bacterie }
\ i n d e x i t e m { Informatique -- Barbie geek fait son
apparition }{ barbie - geek }
\ end { i n d e x b l o c k }
\ begin { a u t h o r b l o c k }
\ i n c l u d e g r a p h i c s [ width =2 cm ]{ uko - logo . png }
UKO Publication
\ end { a u t h o r b l o c k }
\ begin { w e a t h e r b l o c k }{ Mto Belgique -- Louvain - la - Neuve }
\ w e a t h e r i t e m { symbols_1 . png }{ Aujourd hui }{12}{7}{}
\ w e a t h e r i t e m { symbols_11 . png }{ Demain }{11}{6}{}
\ w e a t h e r i t e m { symbols_9 . png }{ Lundi }{8}{5}{}
\ end { w e a t h e r b l o c k }
\ end { f r o n t p a g e }

Version PDF gratuite http://www.latex-howto.be/

\ t h i r d n e w s { Le pop - corn est bon pour le moral }{ Une nouvelle


tude vient de montrer que le pop - corn contribue
la bonne humeur .}{ Si vous vous sentez dprims de
temps en temps , rien de tel qu un bol de pop - corn
caramlis ...}{../ images / P1000166 . jpg }{ Dittique
}{12:08}

14.3. METTRE EN PAGE UN JOURNAL

181

Friday 3rd December, 2010

UKO Publication

23:12h

Dcouverte dune nouvelle


galaxie par des chercheurs
de la NASA
8:42 h | Des chercheurs de la NASA ont dcouvert, tt ce matin,

une nouvelle galaxie dans une zone jusqualors inexplore de


lUnivers. Cette dcouverte est une grande premire, tant
donn la technologie qui a t utilise navait jusqu prsent
encore jamais servi pour de telles recherches.

Source : NASA

TECHNOLOGIE

Table des matires

Disques durs quantiques


Les disques durs quantiques seront bientt disponibles la vente
pour les particuliers.
9:12 h | Lors dun salon interna- permettent de stocker des dizaines

tional consacr aux technologies


nouvelles qui a eu lieu le weekend dernier aux USA, une nouvelle entreprise a prsent ses nouveaux disques durs quantiques qui

de traoctets de donnes sur des


surfaces infrieures au centimtre
carr. Ces derniers devraient tre
disponibles pour le grand public
dici la fin de lanne.

Biologie Une dangereuse


bactrie a t dcouverte p. 2
Informatique Barbie geek
fait son apparition p. 2

DITTIQUE

Une nouvelle tude vient de montrer que le pop-corn contribue


la bonne humeur.
12:08 h | Si vous vous sentez dprims de temps

en temps, rien de tel quun bol de pop-corn


caramlis. En effet, une rcente tude mene
par des ditticiens allemands a montr que
la consommation de pop-corn caramlis contribuait remonter le moral. Les conclusions
de cette srieuse tude seront publies le mois
prochain dans la revue Food&Health.

paper

TeX

Mto Belgique Louvain-la-Neuve


Aujourdhui
12 7 C

Demain
11 6 C

Lundi
8 5 C

UKO Publication

Version PDF gratuite http://www.latex-howto.be/

Le pop-corn est bon pour le moral

182

CHAPITRE 14. CLASSES DE DOCUMENTS

Code
\ n e w s e c t i o n { Science }
\ begin { news }{3}{ Une nouvelle souche rsistante intriguante }{
Des chercheurs en microbiologie d un laboratoire
japonais ont fait une dcouverte surprenante qui
pourrait rvolutionner la biologie moderne .}{ Biologie }{
bacterie }
\ a u t h o r a n d p l a c e { SC }{ Japon }
\ image { Bacteria . jpg }{ Photo des bactries prise au
microscope lectronique .}
\ t i m e s t a m p {10:15} Alors qu ils taient en train d tudier
des levures dans le cadre d une tude ...
\ c o l u m n t i t l e { lines }{ L OMS se runit la semaine prochaine .}
Cela inquite bien videmment ces chercheurs ainsi que
toute la communaut scientifique ...
\ end { news }
\ begin { news }{3}{ Barbie geek s installe dans les supermarchs
}{ La nouvelle barbie se veut geek ! Depuis hier on peut
voir trner une barbie info rma tici enn e dans les rayons
des principaux supermarchs du pays .}{ Informatique }{
barbie - geek }
\ a u t h o r a n d p l a c e { SC }{ Belgique }
\ t i m e s t a m p {12:21} Depuis ce matin , on a pu constater l
apparition d une nouvelle barbie dans les principaux
supermarchs belges ...

Les profess ionnels de l informatique se posent nanmoins


des questions quant la mauvaise image qu une telle
barbie pourrait donner sur le mtier d informaticien
...
\ end { news }
\ end { d o c u m e n t }

Version PDF gratuite http://www.latex-howto.be/

\ e x p a n d e d t i t l e { d o u b l e b o x }{ Cette nouvelle barbie saurait elle sduire des filles et les diriger vers des
tudes en informatique ou renforcera -t - elle les prioris geeks ?}

14.3. METTRE EN PAGE UN JOURNAL

paperTeX , Friday 3rd December, 2010

Science

183

UKO Publication 2 / 2

BIOLOGIE

Une nouvelle souche rsistante intriguante


Des chercheurs en microbiologie dun laboratoire japonais ont fait une dcouverte surprenante qui
pourrait rvolutionner la biologie moderne.
SC, Japon

Photo des bactries prise au microscope lectronique.


10:15 h | Alors quils taient
en train dtudier des levures dans
le cadre dune tude sur la production dinsuline artificielle, des

chercheurs japonais ont dcouvert


des bactries assez particulires.
Ces dernires ont la capacit de se
reproduire avec dautres bactries,
en crant ainsi des nouvelles qui
ont une capacit de rsistance assez forte aux antibiotiques les plus
puissants.
Le mcanisme utilis par ces
bactries est assez particulier et
ses dtails chappent encore aux
chercheurs. Il semblerait quune
protine primitive soit implique
dans le mcanisme de mitose, mais
cela doit encore tre dmontr
grce des expriences qui sont

actuellement mises en uvre par


le laboratoire.
LOMS se runit la semaine
prochaine.
Cette affaire inquite bien
videmment ces chercheurs ainsi
que toute la communaut scientifique.
Les rsultats de ces
recherches seront prsents la semaine prochaine lors dun colloque
international qui sera suivi dune
runion de lOMS afin de prendre
des dcisions quant cette situation.

INFORMATIQUE

Barbie geek sinstalle dans les supermarchs


La nouvelle barbie se veut geek ! Depuis hier, on peut voir trner une barbie informaticienne dans
les rayons des principaux supermarchs du pays.
SC, Belgique

lunettes et est quipe dun PC dernire tait dj disponible aux

12:21 h | Depuis ce matin, on portable ; il sagit de la barbie USA le mois pass, o elle a ren-

Cette nouvelle barbie saurait-elle sduire des filles et les diriger vers
des tudes en informatique ou renforcera-t-elle les -prioris geeks ?
Les
professionnels
de
linformatique se posent nanmoins des questions quant la
mauvaise image quune telle bar-

bie pourrait donner sur le mtier nion de la fdration des profesdinformaticien, en particulier sionnels de linformatique qui aura
auprs des filles. La question sera lieu dans dix jours Bruxelles.
aborde lors de la prochaine ru-

c http://nachollopis.com - Created using paperTEX

Version PDF gratuite http://www.latex-howto.be/

a pu constater lapparition dune geek. part cela, elle a un look contr un franc succs. Elle est innouvelle barbie dans les principaux plutt sexy et porte des vtements troduite aujourdhui en Europe.
supermarchs belges. Elle a des lgers au top de la mode. Cette

184

14.4

CHAPITRE 14. CLASSES DE DOCUMENTS

Construire une prsentation avec des slides


Code
\ d o c u m e n t c l a s s { beamer }
\ u s e t h e m e { Rochester }
\ u s e p a c k a g e [ latin1 ]{ inputenc }
\ u s e p a c k a g e [ T1 ]{ fontenc }
\ u s e p a c k a g e { lmodern }
\ u s e p a c k a g e { moreverb }
% Informations sur le document
\ title { Construire une prsentation avec \ LaTeX }
\ s u b t i t l e { Le package Beamer }
\ author { Sbastien Combfis \ inst {1}}
\ i n s t i t u t e {\ inst {1} UKO }
\ date {27 novembre 2010}
\ begin { d o c u m e n t }
\ frame [ plain ]{
\ titlepage
}

\ begin { frame }[ c o n tai ns ve rb at im ]


\ f r a m e t i t l e { Dfinir un transparent }
\ begin { definition }[ Beamer ]
\ alert { Beamer } est package qui permet de raliser des
slides en \ LaTeX . Un slide est reprsent par l
environnement frame .
\ end { definition }
\ begin { block }{ Code ( d oc um en t minimal ) }
\ begin { v e r b a t i m t a b }[3]
\ begin { frame }
\ f r a m e t i t l e { Titre }
Contenu
\ end { frame }
\ end { v e r b a t i m t a b }
\ end { block }
\ end { frame }

Version PDF gratuite http://www.latex-howto.be/

\ section { Dfinir un transparent }


\ begin { frame }
\ f r a m e t i t l e { Plan }
\ t a b l e o f c o n t e n t s [ currentsect ion ]
\ end { frame }

Version PDF gratuite http://www.latex-howto.be/

Contenu
\end{frame}

\begin{frame}
\frametitle{Titre}

Code (document minimal)

Beamer est un package qui permet de raliser des slides en LATEX.


Un slide est reprsent par lenvironnement frame.

Definition (Beamer)

Dfinir un transparent

27 novembre 2010

1 UKO

Sbastien Combfis1

Le package Beamer

Construire une prsentation avec LATEX

Dfinition dun nouveau style

Redfinitions de commandes

Style prdfini

Plusieurs possibilits :

Globalement pour tout le document

Modifier le style

3 Conclusion

2 Modifier le style

1 Dfinir un transparent

Plan

14.4. CONSTRUIRE UNE PRSENTATION AVEC DES SLIDES


185

186

CHAPITRE 14. CLASSES DE DOCUMENTS

Code
\ section { Modifier le style }
\ begin { frame }
\ f r a m e t i t l e { Modifier le style }
\ only <1 >{\ f r a m e s u b t i t l e { Globalement pour tout le d oc um en t
}}
\ only <2 >{\ f r a m e s u b t i t l e { De manire locale }}
\ only <1 >{
Plusieurs possibilits :
\ begin { itemize }
\ item Style prdfini
\ item Redfinitions de commandes
\ item Dfinition d un nouveau style
\ end { itemize }

}
\ only <2 >{
Il suffit d utiliser les commandes habituelles de \
LaTeX .
}
\ end { frame }
\ section { Conclusion }
\ begin { frame }[ a l lo wf ra me br ea ks ]
\ f r a m e t i t l e { Conclusion }
Bla bla
\ framebreak

Version PDF gratuite http://www.latex-howto.be/

Suite du blabla
\ end { frame }
\ end { d o c u m e n t }

Version PDF gratuite http://www.latex-howto.be/

Suite du blabla

Conclusion II

Il sut dutiliser les commandes habituelles de LATEX.

De manire locale

Modifier le style

Bla bla

Conclusion I

14.4. CONSTRUIRE UNE PRSENTATION AVEC DES SLIDES


187

Version PDF gratuite http://www.latex-howto.be/

ANNEXE

Utiliser LATEX sur mon ordinateur

Nous nallons pas ici dtailler toutes les procdures dinstallation de LATEX
pour les diffrents systmes dexploitation existants. Des informations
dtailles sont donnes sur http://www.latex-howto.be.
Afin de pouvoir rdiger des documents avec LATEX, il faut deux lments :
une distribution qui contient tous les outils permettant de compiler
un fichier .tex et de produire un document final et un environnement
ddition permettant de rdiger le code LATEX avec laide doutils intgrs.

Windows : MikTeX 2.9 et TeXnicCenter 2.0 Alpha 3


Linux : TeXLive 2010 et Kile 2.0.3
Mac OX S : MacTeX 2010 (TeXLive 2010 et TeXShop 2.37)
Il existe galement des diteurs fonctionnant sur plusieurs plateformes
diffrentes. Parmi ceux-ci, citons Texmaker et TeXworks.

189

Version PDF gratuite http://www.latex-howto.be/

Voici les combinaisons les plus courantes de distribution et dditeur,


accompagn des numros des versions les plus rcentes aujourdhui (dcembre 2010) :

Version PDF gratuite http://www.latex-howto.be/

ANNEXE

Quelques liens utiles

LATEX HowTo
Site web officiel du livre qui comporte, outre une
version lectronique de ce livre, de nombreuses
autres informations, des liens utiles et ressources
tlchargeables . . .
http://www.latex-howto.be/

Ce site propose un tutoriel complet sur LATEX, en


franais. Chaque chapitre est accompagn dun
projet pratique vous permettant de plonger dans
LATEX tout en tant guid et en vous permettant
de dcouvrir les outils votre disposition.
http://www.ukonline.be/programmation/latex/
CTAN
Ce site rassemble tous les packages LATEX qui ont
t dvelopps. Vous y trouverez, outre le code
source des packages, leur documentation complte.
http://www.ctan.org/
191

Version PDF gratuite http://www.latex-howto.be/

UKO

192

ANNEXE B. QUELQUES LIENS UTILES

TeXample
Ce site propose une collection dexemples de dessins LATEX raliss avec le package TikZ/PGF.
Vous y trouverez plus de 200 exemples sur lesquels
vous pourrez vous baser pour vos propres crations.
http://www.texample.net/
TeXblog
Ce blog est la rfrence en ce qui concerne la ralisation de documents avec TEX et LATEX. Parcourir
ce blog vous permettra dapprendre normment
de choses.
http://www.texblog.net/

PracTeX

http://www.tug.org/pracjourn/

Les captures dcran ont t ralises le 4 dcembre 2010 sur un Mac sous Mac OS X
10.6.5 avec le logiciel Paparazzi ! 0.4.3 (http://derailer.org/paparazzi/).

Version PDF gratuite http://www.latex-howto.be/

Ce site propose un journal en ligne consacr


LATEX. Les diffrents articles publis abordent divers aspects de LATEX et sont de trs bonne qualit.
Abonnez-vous sans hsiter au flux RSS.

Liste des packages

Cette section reprend la liste des packages prsents dans ce livre. Pour
chaque package, vous trouverez galement la version qui est dcrite et a
t utilise dans ce livre.
algorithm2e

(14/12/2009)

(08/2004)

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

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

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

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

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

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

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

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

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

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

193

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

140
115
. 77
100
184
. 87
122
132
119
. 28
. 79
164
169
. 90
. 74
112
. 51
171
. 50
130

Version PDF gratuite http://www.latex-howto.be/

.....
arydshln (31/08/2004) .
bclogo (10/09/2009) . . .
beamer (12/07/2010) . . .
booktabs (14/04/2005) .
ccaption (02/09/2009) .
changebar (19/09/2005) .
cleveref (24/06/2010) .
color (14/11/2005) . . . .
colortbl (13/02/2001) .
coolstr (10/09/2009) . .
cwpuzzle (13/09/2009) .
datatool (15/09/2009) .
dcolumn (28/05/2001) . .
delarray (14/03/1994) .
desclist (23/11/2004) .
ean13isbn (20/06/2008) .
easylist (28/02/2010) .
endnotes (15/01/2003) .
amsthm

194

LISTE DES PACKAGES

enumitem

(05/03/1999)

(18/05/2009)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. 43
. 43
. 98
125
166
. 13
128
101
. 37
136
. 38
. 34
162
121
. 35
172
136
. 83
. 77
129
132
. 16
178
134
163
. 31
. 70
. 22
. 31
180
. 45
. 39
. 63
158
171
153

Version PDF gratuite http://www.latex-howto.be/

.
.
fancybox (15/05/2010)
.
fancyhdr (02/03/2004)
.
float (08/11/2001) . . .
.
fncychap (08/11/1997)
.
footmisc (18/09/2009)
.
framed (04/10/2007) . .
.
fullpage . . . . . . . . .
.
fvrb-ex (16/05/2010) .
.
geometry (13/07/2010)
.
hyperref (01/2010) . .
.
ifthen (26/05/2001) . .
.
lastpage (24/09/2010)
.
layout (25/09/2000) . .
.
lcg (10/09/2008) . . . .
.
listings (22/02/2007)
.
longtable (01/02/2004)
.
makecell (03/08/2009)
.
manyfoot (11/09/2005)
.
marginnote (05/01/2010)
.
minitoc (16/07/2008) . .
.
moderncv (24/05/2010) .
.
moreverb (03/06/2008) .
.
multido (14/05/2010) . .
.
multicol (25/09/2009) .
.
multirow (27/02/2010) .
.
nccrules (13/05/2005) .
.
numprint (17/02/2008) .
.
papertex (30/06/2010) .
.
paralist (09/05/2005) .
.
pdfpages (12/01/2010) .
.
photo (15/07/2004) . . . .
.
pstricks (25/07/2003) .
.
pst-barcode (27/08/2009)
.
qtree (12/12/2008) . . . . . .
enumerate

INDEX

195

rotating

(26/01/2010)

savetrees
sectsty

(03/06/2010)

shapepar
sectsty

(03/06/2010)

(09/2006)

(25/02/2002)

shortvrb

(25/09/2009)

sidecap

(06/06/2003)

siunitx

(15/07/2010)

slashbox

.
..
.
.
.

(27/05/1993)

spreadtab

(06/06/2010)

subfigure

(15/03/2005)

tablists

(04/08/2009)

tabularx

(07/01/1999)

tipa

(25/03/2004)

....

titlepic

(05/08/2008)

titlesec

(12/08/2007)

todonotes
ulem
url

(25/12/2009)

(21/01/2010)

(02/01/2010)

....
....

(13/09/2009)

verbatim

(12/03/2001)

vmargin

(15/07/2004)

watermark
wrapfig
xcolor

(09/12/2004)

(31/01/2003)

(21/01/2007)

xstring

(28/03/2010)

.
..
.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. 60
. 37
. 12
. 30
. 12
134
. 57
. 32
. 71
. 89
. 61
. 51
. 83
173
..6
. 10
131
. 26
. 33
119
135
. 37
172
. 61
. 80
164

Version PDF gratuite http://www.latex-howto.be/

varioref

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

Version PDF gratuite http://www.latex-howto.be/

Index

B
\backmatter, 14
\backslashbox, 69
\baselineskip, 22
bclogo, 98
beamer, 182

C
\caption, 54, 65, 116, 119,

163

caption, 55
\captiondelim, 120
\captionnamefont, 120
\captionof, 119
captionof, 55
\captionsfrench, 120
\captiontitlefont, 120
\cbcolor, 129
\cbdelete, 129

197

\cbend, 129
\cbstart, 129
ccaption, 120
\cdashline, 75
\cellcolor, 77
center, 20
\centering, 19, 54, 65
\cfoot, 122
changebar, 129
\chapter, 10
\chapterfont, 12
\chaptermark, 121
\chaptername, 12
\chaptertitlename, 12
\chead, 122
\circlepar, 30
\cite, 144
cleveref , 117
\cline, 64
Clue, 168
\cmidrule, 85
\cntprint, 31
\color, 27
color, 27
\colorbox, 97
colortbl, 77
\columnbreak, 31
\columnsep, 31
\columnseprule, 31
coolstr, 162
\cornersize, 96
\cref, 117
\crefrange, 117

Version PDF gratuite http://www.latex-howto.be/

\addcontentsline, 15
\addto, 120
\addtocounter, 165
\addtolength, 165
\ADLactivate, 76
ADLinactivate, 76
algorithm, 138
algorithm2e, 138
\allsectionsfont, 12
\Alph, 165
\alph, 40, 165
amsthm, 113
\AND, 160
\and, 6
\appendix, 14
\arabic, 165
array, 70, 110
\arrayrulewidth, 74
\arraystretch, 79
arydshln, 75
\author, 6

\bf, 24
bf, 25
\bfseries, 24
bfseries, 25
\bibitem, 143
\bibliography, 145
\bibliographystyle, 145
\BibTeX, 144
\Big, 109
\big, 109
\Bigg, 109
\bigg, 109
\bigskip, 21
\bmod, 108
booktabs, 85
\bottomrule, 85
\boxput, 97

198

INDEX

cwpuzzle, 167

D
\dashlinedash, 76
\dashlinegap, 76
\dashrule, 23
\dashrulefill, 22
datatool, 88
\date, 6
dcolumn, 72
\DeclareGraphicsExtensions,

60

E
ean13isbn, 169
\EANisbn, 169
easylist, 48
\emph, 25
\endfirsthead, 82
\endfoot, 82
\endhead, 82
\endlastfoot, 82
\endnote, 127
\endnotemark, 127
endnotes, 127
\endnotetext, 127
enumerate, 40, 41
\enumitem, 41
eqnarray, 111

F
\fancybox, 96
fancybox, 96
\fancyfoot, 123
fancyhdr, 122
\fancyhead, 123
\fancyhf, 123
\fancypagestyle, 123
\fbox, 90
\fboxrule, 90
\fboxsep, 91
\fcolorbox, 97
figure, 54
\figurename, 120
\fill, 21
\firsthline, 83
fix-cm, 27
float, 164
\floatname, 164
\floatstyle, 164
flushleft, 20
flushright, 20
fncychap, 13
\fnsymbol, 125, 165
\fontsize, 27
footmisc, 125
\footnote, 124
\footnotemark, 125
\footnoterule, 126
\footnotesize, 27
\footnotetext, 125
\footrulewidth, 122
\footskip, 34
\framebox, 90
framed, 99
\frontmatter, 14
fullpage, 36
fvrb-ex, 134

G
geometry, 36, 37
\graphicspath, 60
graphicx, 51, 93, 94, 97

H
\hdashline, 75
\headheight, 34
\headrulewidth, 122
\headsep, 34
\heartpar, 30
\height, 91
\hexagonpar, 30
\hfill, 21
\hline, 64
\hrulefill, 22
\hspace, 20
\Huge, 27
\huge, 27

I
\IfBeginWith, 162
\IfDecimal, 162
\IfEndWith, 162
\IfInteger, 162
\IfStrEq, 162
\IfStrEqCase, 162
\IfSubStr, 162
ifthen, 160
\ifthenelse, 160
\includegraphics, 51
inparaenum, 43
\isdecimal, 162
\isint, 162
\isnumeric, 162
\isodd, 160
\isundefined, 161
\it, 24
it, 25
\item, 39
\itemindent, 47
itemize, 39
\itemsep, 42, 47
\itshape, 24
itshape, 25

L
\label, 115
\labelenumi, 48
\labelenumii, 48
\labelenumiii, 48
\labelenumiv, 48

Version PDF gratuite http://www.latex-howto.be/

\DeclareMathOperator, 108
\DeclareNewFootnote, 126
\definecolor, 28
delarray, 110
\depth, 91
desclist, 49
\diamondpar, 30
document, 5
\documentclass, 5
\dominilof, 17
\dominilot, 17
\dominitoc, 17
\dotfill, 22
\doublebox, 96
\doublerulesep, 74
\DTLdisplaydb, 88
\DTLloaddb, 88

\equal, 161
\extracolsep, 80

INDEX

M
\marginpar, 128
\mainmatter, 14
\makebox, 89
makecell, 75
\MakeShortVerb, 132

\maketitle, 6
manyfoot, 126
\marginnote, 129
marginnote, 129
\marginpar, 58
\marginparsep, 34
\marginparwidth, 34, 128
\markboth, 121
\markoverwith, 26
\markright, 121
\mathbb, 105
\mathcal, 105
\mathfrak, 105
\mbox, 89
\mboxfill, 127
\mdseries, 24
\medskip, 21
\midrule, 85
\minilof, 17
\minilot, 17
minipage, 57
\minitoc, 17
minitoc, 16
\mod, 108
moderncv, 176
moreverb, 132, 133
multicol, 30
multicols, 30
\multicolumn, 67
\multido, 161
multido, 161
\multidocount, 162
\multidostop, 162
\multirow, 68
multirow, 68

N
nccrules, 22, 126
\newcolumntype, 72
\newcommand, 159
\newcounter, 165
\newenvironment, 159
\newfloat, 164
\newfootnotedashrule, 127
\newfootnoterule, 126
\newlength, 165
\newtheorem, 112
\nocite, 145

\nolimits, 106
\nonumber, 112
\normalem, 26
\normalsize, 27
\NOT, 160
\numprint, 31
numprint, 31
\nutpar, 30

O
\oddsidemargin, 34
\operatorname, 108
\OR, 160
outline, 48
\Ovalbox, 96
\ovalbox, 96
\overbrace, 106

P
\pagenumbering, 24
\pageref, 115
\pagestyle, 23
\paperheight, 34
papertex, 178
\paperwidth, 34
\paragraph, 10
paralist, 43
\parbox, 92
\parsep, 47
\parskip, 47
\part, 10
\partopsep, 47
Photo, 61
photo, 61
\pmod, 108
\postcaption, 120
\precaption, 120
proof, 113
psbarcode, 169
pst-barcode, 169
pstricks, 156
\putphoto, 61
Puzzle, 167
PuzzleClues, 168
\PuzzleSolution, 168
\PuzzleUnsolved, 168

Version PDF gratuite http://www.latex-howto.be/

\labelformat, 118
\labelitemi, 39, 48
\labelitemii, 48
\labelitemiii, 48
\labelitemiv, 48
\labelsep, 47
\labelwidth, 47
\LARGE, 27
\Large, 27
\large, 27
\lasthline, 83
\layout, 34
lcg, 170
\left, 109
leftbar, 100
\leftmargin, 47
\leftmark, 121
\lengthtest, 161
\lenprint, 31
letter, 174
\lfoot, 122
\lhead, 122
\limits, 106
list, 45
listing, 132
listingcont, 133
\listinginput, 133
listings, 134
\listof, 164
\listoffigures, 15
\listofphotos, 61
\listoftables, 15
\listoftodos, 128
\listparindent, 47
\ListProperties, 48
longtable, 81
\lstinline, 135
\lstinputlisting, 135
lstlisting, 134
\lstlistoflistings, 137
\lstset, 135

199

200

Q
\qedhere, 113
\qframesubtree, 152
\qlabelhook, 152
\qleafhook, 152
\qroof, 152
qtree, 151
\qtreefinalhook, 152
\qtreeinithook, 152
quotation, 29
quote, 29

S
savetrees, 36
\sc, 24
sc, 25
\scalebox, 93
SCfigure, 55

\scriptsize, 27
\scshape, 24
scshape, 25
\section, 10
\sectionfont, 12
\sectionmark, 121
\sectionrule, 12
sectsty, 12
\selectfont, 27
\SelectFootnoteRule, 126
\setcounter, 165
\setdescription, 43
\setenumerate, 43
\setitemize, 43
\setlength, 165
\setlist, 43
\setmargins, 36
\setpapersize, 36
\settodepth, 166
\settoheight, 166
\settowidth, 166
\sf, 24
sf, 25
\sffamily, 24
sffamily, 25
shaded, 100
\shadowsize, 96
shapepar, 30
\shorttableofcontents, 16
\shorttoc, 16
shorttoc, 16
shortvrb, 132
SideBySideExample, 134
sidecap, 55
sidewaysfigure, 58
sidewaystable, 84
siunitx, 32
\sl, 24
sl, 25
\slashbox, 69
slashbox, 69
\slshape, 24
slshape, 25
\small, 27
\smallskip, 21
snugshade, 100
spreadtab, 87
\squarepar, 30
\stackrel, 108
\starpar, 30
\StrBefore, 163

\StrBehind, 163
\StrBetween, 163
\StrChar, 163
\StrCount, 163
\StrDel, 163
\StrLeft, 163
\StrLen, 163
\StrMid, 163
\StrPosition, 163
\StrRight, 163
\StrSubstitute, 163
\subfigure, 59
subfigure, 59, 85, 119
\subparagraph, 10
\subref, 119
\subsection, 10
\substr, 162
\subsubsection, 10
\subtable, 85
\sum, 106

T
tabenum, 49
\table, 65
\tablename, 120
\tableofcontents, 15
tablists, 49
tabular, 63
tabular*, 80
\tabularnewline, 73
tabularx, 81
\textbf, 25
\textcolor, 27
\textheight, 34
\textipa, 171
\textit, 25
\textnormal, 25
\textsc, 25
\textsf, 25
\textsl, 25
\texttt, 25
\textwidth, 34
\the, 165
thebibliography, 143
\thechapter, 121
\theendnotes, 127
\theenumi, 40
\thefootnote, 125

Version PDF gratuite http://www.latex-howto.be/

\raggedleft, 19
\raggedright, 19
\raisebox, 56, 93
\rand, 170
\Ref, 118
\ref, 115
\reflectbox, 94
\renewcommand, 160
\renewenvironment, 160
\resizebox, 94
\restylefloat, 164
\rfoot, 122
\rhead, 122
\right, 109
\rightmargin, 47
\rightmark, 121
\rm, 24
\rmfamily, 24
\Roman, 165
\roman, 165
\rotatebox, 69, 94
rotating, 58, 84
\rowcolor, 77
\rowcolors, 78
\rule, 80

INDEX

INDEX
\thepage, 121
\thesection, 121
\thetitle, 11
\thicklines, 96
\thinlines, 96
\thispagestyle, 23
\tiny, 27
tipa, 171
\title, 6
\titleformat, 10
\titlelabel, 10
titlepage, 9
\titlepic, 6
titlepic, 6
titlesec, 10
\titlespacing, 10
\today, 6
\todo, 128
todonotes, 128
\topmargin, 34
\toprule, 85
\topsep, 47
\totalheight, 91
\Tree, 151
\tt, 24
tt, 25

201
\ttfamily, 24
ttfamily, 25
turn, 84

U
ulem, 25
\uline, 25
\underbrace, 106
\underline, 25
\upshape, 24
\url, 33
url, 33
\urldef, 33
\urlstyle, 33

V
varioref, 117
\verb, 131
verbatim, 131, 133
\verbatiminput, 133
verbatimtab, 132
\verbatimtabinput, 133

\verbatimtabsize, 132
verse, 29
\vfill, 21
vmargin, 36
\vpageref, 117
\vpagerefrange, 117
\vref, 117
\vrefrange, 117
\vrule, 74
\vspace, 20

W
watermark, 170
\width, 91
wrapfig, 59
wrapfigure, 59

X
\Xcline, 75
xcolor, 78
\Xhline, 75
xstring, 162

Version PDF gratuite http://www.latex-howto.be/

Vous aimerez peut-être aussi