Académique Documents
Professionnel Documents
Culture Documents
LaTeX HowTo Full
LaTeX HowTo Full
LATEX HowTo
Sbastien Combfis
LATEX HowTo
Publication
LATEX HowTo
par Sbastien Combfis
Avant-propos
viii
Introduction
1
. . . .
. . . .
. . . .
figures
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Images
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . .
. . . . . .
. . . . . .
et tables
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
10
15
.
.
.
.
.
19
19
23
24
29
35
.
.
.
.
.
41
41
43
46
47
49
53
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
4.1
4.2
4.3
4.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
91
91
95
98
101
9.2
9.3
vii
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
189
191
193
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
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
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
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
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.
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/
Philosophie
INTRODUCTION
Commandes
Les commandes prennent la forme suivante :
\nom[option]{paramtre_1}{paramtre_2}...{paramtre_n}
LATEX
c
n
x
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.
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 }
CHAPITRE
Structurer le document
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 }
1.2
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
\ d o c u m e n t c l a s s { article }
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
1.2.2
Code
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
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.
LATEX How-To
graphicx
Sbastien Combfis
10
1.3
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-
Les abeilles
Introduction
1.1
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
1.3. SECTIONNEMENT
11
1)
Les abeilles
Introduction
1.1)
1.2)
Dclin de la population
Code
titlesec
12
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 }
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 }}
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.
1.3.2
14
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
Parties de livre
On peut dlimiter les diffrentes parties dun livre avec les commandes
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.
1.3.4
1.4
15
1.4.1
Pour ajouter une entre dans une table, il faut utiliser la commande :
\addcontentsline{Extension}{Division}{Texte}
16
1.4.3
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
Code
shorttoc
Type de document
Page de titre . . .
Sectionnement . .
Table des matires
. . . . . . .
. . . . . . .
. . . . . . .
et liste des
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
figures et tables
.
.
.
.
6
4
9
14
17
minitoc
\ dominitoc
\ tableofcontents
% ...
\ s e t c o u n t e r { minitocdepth }{1}
\ minitoc
CHAPITRE
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
20
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
\ 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.
Code
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 .
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
Code
\ hfill A \ hfill B \ hfill C
Ici, on a utilis trois fois la commande \hfill. Lespace total restant est
donc divis en trois parts gales.
22
Code
Une ligne de texte \\
\ hspace {1 cm } Pas de dcalage \\
\ hspace *{1 cm } Un dcalage de 1 centimtre \\
\ hspace *{\ fill } Texte pouss droite
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
)
B
2.1.3
2.2. CSURE
Code
23
nccrules
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}
24
2.3
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
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
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
26
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 }
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
ulem
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}
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.
2.3.5
28
ABC
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
Code
29
color
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
2.4.1
30
2.4.2
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
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 !}
2.4.4
31
\diamondpar : diamant ()
\heartpar : cur ()
\starpar : toile cinq branches (
\hexagonpar : hexagone ( )
\nutpar : crou hexagonal
Code
multicol
\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.
\ 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
numprint
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}
\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
10 000.123 45
1.2 1015
5 2 1010
33
\SI{15.5}{N/m^2}
\SI[per-mode=symbol]{5.99}[\$]{\per\kilogram}
\numrange{11}{42}
\SIrange{120}{180}{\centi\meter}
sunitx, eurosym
2.4.6
URL
url
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
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.
hyperref
Code
2.5
35
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.
36
Header
Margin
Notes
Body
10
11
Footer
1
1
3
5
7
9
11
2
4
6
8
10
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
38
Code
vmargin
geometry
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.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}
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
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
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.
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
3.2.1
Numrotation
enumerate
44
CHAPITRE 3. LISTES
enumitem
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 }
Troisime
45
enumitem
\setlist{itemsep=5mm}
3.2.3
paralist
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
\ 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 }
Code
47
enumitem
3.4
Code
\ begin { list }{ $ \ star $ }{}
\ item Premier
\ item Deuxime
\ item Troisime
\ end { list }
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 galement dfinir des listes numrotes. Pour cela, il faut dabord
dfinir un nouveau compteur dans le prambule du document avec :
\newcounter{mycounter}
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 }
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 :
49
3.5
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 }
Passer la poste
50
CHAPITRE 3. LISTES
easylist
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.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
tablists
Dfinition
Mot 2
Dfinition
3.5.3
52
CHAPITRE 3. LISTES
Code
desclist
CHAPITRE
Images
graphicx
53
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.
graphicx
graphicx
55
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
4.1.2
graphicx
56
CHAPITRE 4. IMAGES
Une autre technique pour dcouper une image consiste utiliser loption
graphicx
4.1.3
Lgende
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 :
57
Code
graphicx
\ 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.
Code
58
CHAPITRE 4. IMAGES
Code
graphicx, caption
Code
graphicx
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.
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
4.2.2
60
CHAPITRE 4. IMAGES
Code
graphicx
4.2.3
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.
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
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.
Code
62
CHAPITRE 4. IMAGES
(a) Grr.
(b) Youpie.
Code
graphicx, subfigure
4.3
\includegraphics. Une autre solution consiste donner la liste des chemins o chercher les images avec la commande \graphicspath.
graphicx
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.
63
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
Dawn Endico
photo, graphicx
CHAPITRE
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
5.1
66
CHAPITRE 5. TABLEAUX
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 }
Article
Livres
DVD
67
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
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 @{/}.
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
2008
Anne
2009 2010
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
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
5.2.3
71
A
1
2
Les
ont t obtenus avec la commande \checkmark disponible en important le package amssymb.
Code
slashbox, amssymb
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
72
5.3
CHAPITRE 5. TABLEAUX
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
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
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.
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
5.3.2
array
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<{$}
Article
Livres
DVD
74
CHAPITRE 5. TABLEAUX
5.3.3
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
Prix
9,5
17,99
129,25
5.4. APPARENCE
75
dcolumn
5.4
Apparence
5.4.1
right
center
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
Anne
\ 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.
Code
5.4. APPARENCE
77
Code
\ begin { tabular }{| l@ {\ ,\ vrule width 1 mm \ ,} l |}
\ hline
& Anne \\
\ hline
Produit & \\
\ hline
\ end { tabular }
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
Prix
12
17
78
CHAPITRE 5. TABLEAUX
Vous voyez quon va bien entendu pouvoir combiner les filets normaux
avec ceux en pointills.
Code
arydshln
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
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.
5.4. APPARENCE
5.4.4
79
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
Article
Livres
DVD
Prix
12
17
colortbl
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
Prix
12
17
colortbl
Article
Livres
DVD
Chaussettes
Vodka
Prix
12
17
3
15
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
Espacement
Article
Prix
Livres
12
DVD
17
82
CHAPITRE 5. TABLEAUX
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
5.5
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
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
84
CHAPITRE 5. TABLEAUX
Prix
4
31
15
longtable
\ 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.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
86
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
rotating
rotating
5.6
87
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
subfigure
5.6.2
88
CHAPITRE 5. TABLEAUX
Article
Prix
Livres
DVD
12
17
booktabs
\ begin { tabular }{ lc }
\ toprule
\ bf Article & \ bf Prix \\
\ midrule
Livres
& 12 \\
DVD
& 17 \\
\ bottomrule
\ end { tabular }
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
Informatique
Dpartement
5.6.3
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
5.6.4
90
CHAPITRE 5. TABLEAUX
Code
spreadtab
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
A,B,Somme
12,23,35
21,43,64
CHAPITRE
Boite
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
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
Une boite
Une belle boite
Une belle boite
93
height
totalheight
depth
reference
point
baseline
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
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
\ fbox {\ parbox {3 cm }{
\ c e n t e r i n g Une belle boite contenant beaucoup de texte
}}
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
agrandi 2 fois
rtrci 1/2 fois verticalement
graphicx
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
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
graphicx
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.
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 }}}
graphicx
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.
Code
fancybox
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
\ 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.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
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.
100
CHAPITRE 6. BOITE
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
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.
Code
101
bclogo
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
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 }
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)
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
\varepsilon
\vartheta
\varkappa
\varpi
\varrho
\varsigma
\varphi
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 *
\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\;
Cependant, pour avoir des flches barres plus esthtiques dans certaines
situations, vous pouvez utiliser des commandes du package AMS :
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}
...
\mathcal{A}
\mathfrak{A}
\mathcal{B}
\mathcal{C}
...
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}
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
x2i + 2
2
2
x 1 dx
x2 1 dx
2
0
x2 1 dx
i=0
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 }
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
\[
\]
\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
1
x
max x2
x[0,5]
Code
110
CHAPITRE 7. MATHMATIQUE
Code
\[
\]
xa
(mod b)
Code
\[
\]
a \ bmod b
\ qquad x \ equiv a \ pmod { b }
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
7.4. DLIMITEURS
111
Code
\[
\]
7.4
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
\[
On peut galement fixer la taille des dlimiteurs en utilisant les commandes \big, \Big, \bigg et \Bigg.
Code
\[
\]
\]
112
CHAPITRE 7. MATHMATIQUE
(
[
\{
\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
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
\]
delarray
113
Code
\[
\]
7.5.2
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)
\]
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.
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 }
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.
CHAPITRE
Autour du texte
8.1
Rfrences croises
y = ax2 + bx + c
(8.1)
117
118
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
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 . . .
\caption{Donnes\label{tab:data}}
119
varioref
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
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
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
8.1.3
120
Code
cleveref
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 }.
8.1.4
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.
subfigure
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.
122
Code
lastpage
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
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.
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
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
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
Code
124
0.1 Introduction
0.1
Introduction
Hello
26 juin 2010
World !
0.2 Conclusion
0.2
Conclusion
8.3.2
125
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-
0.1. INTRODUCTION
126
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 !
Code
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
8.4.1
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
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}{}
side : les notes sont places dans la marge plutt quen bas de
document
8.4.4
129
manyfoot, nccrules
8.4.5
.......................
130
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
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
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 ...
Todo list
1
1
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
o Blah . . . . . .
o Blah . . . . . .
132
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.
changebar
Code
CHAPITRE
Codes source
9.1
Insertion brute
Notez que la commande \verb ne peut pas tre utilise dans un paramtre
dune autre commande.
133
134
9.1.1
9.1.2
\ 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
for (i = 0 to 10)
if (i mod 2 = 0)
print i
Code
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
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 }
verbatim
9.1.4
136
9.1.5
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 :-)
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
listings
137
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
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
Code
138
Code
listings
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
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
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.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
9.2.6
Notez que certaines options ne sont pas compatibles. Il nest par exemple
pas possible dutiliser framerule si frameround a t dfini.
140
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
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
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
142
9.3.2
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
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 ;
\ 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
1
2
3
4
algorithm2e
\ R e s t y l e A l g o { boxed }
\ begin { a l g o r i t h m }
\ DontPrintSemicolon
\ SetAlgoVlined
\ LinesNumbered
CHAPITRE
10
Bibliographies
10.1
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
146
10.1.1
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.
147
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
148
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
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)
@book { introLaTeX ,
year =2010 ,
month = dec ,
title = intro # " LaTeX "
}
149
150
10.2.3
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
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.
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
}
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
Il faut bien veiller ce que chaque crochet soit prcd dune espace.
Racine
Fils-gauche
Fils-droit
Sous-Arbre
Petit-fils
153
154
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
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 }
S1
S0
b
S2
156
Code
tikz,pgf
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
axe y
11.2.1
11.2. TIKZ/PGF
157
11.2.2
R1
+
V1
C1
vext
Code
circuitikz
158
11.3
PSTricks
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
Code
11.3. PSTRICKS
Code
159
\ 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
CHAPITRE
12
Personnaliser LATEX
12.1
Commandes et environnements
162
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 }
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
12.2
163
ifthen
12.2.2
Boucles
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
164
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
coolstr
165
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
Voyons un petit exemple avec le rsultat qui est produit par ce code :
166
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}
\ 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
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
168
CHAPITRE
13
Divers
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 }
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
f : cadre
. : vide
* : case noire
O : cercle
o : cadre et cercle
2
5
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
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
Code
pst-barcode
9 788073 400972
172
Code
pst-barcode
13.3
LAT
EX
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.
173
lcg
13.5
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
|
174
Code
tipa
Code
tipa
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
\ 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
175
Nhsitez pas les tlcharger et les utiliser comme modles pour rdiger
vos premiers documents.
176
14.1
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.
178
14.2
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 }
14.2. PRSENTER UN CV
179
SbastienCombfis
tudes
20042007
20022004
19962002
Mmoire
Titre
Promoteur
Description
Exprience
20072009
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).
Langues
Franais
Anglais
Avanc
Intermdiaire
Langue maternelle
Informatique
Application
Langage
Eclipse, OpenOffice
OS
2009
180
14.3
181
UKO Publication
23:12h
Source : NASA
TECHNOLOGIE
DITTIQUE
paper
TeX
Demain
11 6 C
Lundi
8 5 C
UKO Publication
182
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 ...
\ 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 ?}
Science
183
UKO Publication 2 / 2
BIOLOGIE
INFORMATIQUE
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-
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
Contenu
\end{frame}
\begin{frame}
\frametitle{Titre}
Definition (Beamer)
Dfinir un transparent
27 novembre 2010
1 UKO
Sbastien Combfis1
Le package Beamer
Redfinitions de commandes
Style prdfini
Plusieurs possibilits :
Modifier le style
3 Conclusion
2 Modifier le style
1 Dfinir un transparent
Plan
186
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
Suite du blabla
\ end { frame }
\ end { d o c u m e n t }
Suite du blabla
Conclusion II
De manire locale
Modifier le style
Bla bla
Conclusion I
ANNEXE
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.
189
ANNEXE
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/
UKO
192
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/).
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
.....
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
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
.
.
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
varioref
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
\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
\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
\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
\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