Cours d’approfondissement de LaTeX (intermédiaire-avancé)
1. A
Approfondissement de LTEX
Formation de 12h donn´e ` l’ENS Lyon en 2011
e a
Adrien Barbaresi
1 / 100
2. Sommaire
Rappels (installation, ´diteur, compilation...)
e
Mise en page avanc´e (espacement, boˆ
e ıtes, minipages,
encadrement, tableaux, index...)
M´ta-donn´es des fichiers
e e
BibTeX (insertion et gestion des r´f´rences)
ee
Composition de diapositives (paquet beamer )
Couleurs (paquet xcolor )
Arbres (paquet TikZ )
Documents complexes (automatisation des tˆches, plusieurs
a
fichiers)
2 / 100
3. Rappels Installation
Installation sous Windows
Logiciel
A
MiKTeX : un gestionnaire de packets LTEX doubl´ d’un compilateur
e
http ://miktex.org/
Versions de Windows plus anciennes :
http ://miktex.org/2.8/setup
Packets
Installation via le gestionnaire (pr´sent dans Menu D´marrer)
e e
Interface guid´e, recherche dans la liste des packets existants
e
3 / 100
4. Rappels Installation
Installation sous Mac
Logiciel
http ://www.tug.org/mactex/
Packets
En ligne de commande : sudo tlmgr install paquet
4 / 100
5. Rappels Installation
Installation sous Linux
Paquets
texlive
texlive-latex-extra
et leurs d´pendances
e
si besoin est copie des fichiers .sty ou .bst dans le r´pertoire de travail
e
ou le r´pertoire central
e
5 / 100
6. Rappels ´
Editeur
R´capitulatif
e
Logiciel utilis´
e
L’´diteur pr´sent´ lors de ce cours est TeXMakerX
e e e
http ://texmakerx.sourceforge.net/
Solution de rechange
A d´faut (Mac OS 10.4 par ex.), on utilisera TeXMaker
e
Il s’agit du projet initial, les fonctions sont quasi-identiques
http ://www.xm1math.net/texmaker/
6 / 100
7. Rappels Compilation
Compilation en ligne de commande sous Mac et Linux
1 compilation latex ou pdflatex
2 passage par bibtex / index
3 deuxi`me compilation latex ou pdflatex
e
4 derni`re compilation (parfois n´cessaire)
e e
7 / 100
8. Rappels Compilation
Compilation en ligne de commande sous Windows
Dans le bon r´pertoire (navigation avec cd ?)
e
Une compilation par la commande texify semble possible :
1 texify -cp fichier.tex
2 bibtex / index ?
3 texify -cp yourfile.tex –run-viewer
8 / 100
9. Rappels Compilation
Traitement des erreurs
Typologie des erreurs
1 Erreurs graves qui empˆchent l’op´ration de continuer
e e
Elles provoquent une sortie imm´diate sans r´sultat
e e
2 Erreurs provoquant un arrˆt
e
On peut passer outre et forcer le programme ` continuer
a
3 Erreurs signal´es
e
Souvent des probl`mes ou changements de mise en forme
e
Dialogue
x exit, sortir de la compilation
h help, tenter d’obtenir des pr´cisions
e
r run, continuer coˆte que coˆte
u u
9 / 100
10. Rappels Format
Options des classes de documents
Liste d’options courantes :
taille normale des caract`res : 11pt ou 12pt (10pt)
e
taille du papier : a4paper ou a5paper (letterpaper )
orientation du papier : landscape (portrait)
format d’impression : twoside (oneside)
colonnes : twocolumn (onecolumn)
qualit´ : draft (final)
e
Entre parenth`ses : valeurs par d´faut dans la plupart des classes.
e e
Exemple
documentclass [ a 4 p a p e r , 1 1 pt , t w o s i d e ] { a r t i c l e }
10 / 100
11. Rappels Format
G´n´rer du texte : le packet blindtest
e e
Pour tester une mise en forme, on peut g´n´rer du texte de la fa¸on
e e c
suivante :
blindtext un paragraphe (option : peut-ˆtre multipli´)
e e
Blindtext deux options : nombre de paragraphes et nombre de
r´p´titions
e e
blinddocument document de 3 pages
Blinddocument document de 16 pages
En-tete
usepackage { b l i n d t e x t }
Exemples
blindtext [5]
blindenumerate [10]
11 / 100
12. Rappels Format
Unit´s de mesure
e
pt point
pc pica (1 pc = 12 pt)
in pouce (1 in = 72,27 pt)
cm centim`tre
e
mm millim`tre
e
em largeur de M (cadratin)
ex hauteur de x
Exemple
hspace {3em}
12 / 100
13. Rappels Format
Changer la police de caract`res
e
Passage par des packets
Une m´thode simple de changer de style peut ˆtre de rajouter une ligne `
e e a
l’en-tˆte.
e
Suggestions
usepackage { bookman }
usepackage { h e l v e t }
usepackage { mathpazo } %p a l a t i n o
usepackage { mathptmx } %t i m e s
usepackage { l m o d e r n }
13 / 100
14. Rappels Lettres
Structure de la lettre
1 classe de document : letter
2 exp´diteur : champs name signature et address
e
3 d´but de document
e
4 d´but de lettre
e
5 ouverture (opening )
6 texte
7 formule finale
8 fin de lettre et de document (closing )
Pour plus d’informations :
https ://en.wikibooks.org/wiki/LaTeX/Letters
14 / 100
15. Mise en page avanc´e
e Espaces
Gestion des espaces
Commandes vspace et hspace
Suivies d’une ´toile, elles s’appliquent mˆme en d´but et en fin de page
e e e
vspace ∗{5mm}
Autre solution pour l’espacement vertical, selon les normes de la classe de
document :
smallskip, medskip, bigskip
15 / 100
16. Mise en page avanc´e
e Espaces
Espaces entre les mots
Horizontalement
Au sein d’une mˆme ligne, on peut s´parer les mots comme suit :
e e
Pierre Paul Jacques
Chapitre 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Ligne trac´ee
P i e r r e h f i l l Paul h f i l l Jacques
C h a p i t r e 1 d o t f i l l 10
Ligne h r u l e f i l l tracee
Verticalement
La commande vfill suit le mˆme principe.
e
16 / 100
17. Mise en page avanc´e
e Espaces
D´limitation horizontale
e
Fonctionnement
La commande rule prend trois options :
1 la hauteur de la ligne (optionnel)
2 sa largeur (obligatoire)
3 son ´paisseur (obligatoire)
e
r u l e {60 p t }{3 p t }
17 / 100
18. Mise en page avanc´e
e Boˆ
ıtes
Boˆ simples I
ıtes
Il est possible de faire toutes
sortes de boˆ simples.
ıtes
Tandis que mbox ou makebox
n’entourent qu’une ligne, parbox
prend un charge tout un para-
graphe.
begin { c e n t e r }
parbox [ p o s i t i o n : ( b ) / t ] { l a r g e u r }{ t e x t e }
end{ c e n t e r }
18 / 100
19. Mise en page avanc´e
e Boˆ
ıtes
Boˆ simples II
ıtes
Les commandes fbox ou framebox permettent elles d’entourer la boˆ
ıte.
Nous verrons plus tard d’autres encadrements.
begin { c e n t e r }
framebox [ 1 5 0 p t ] [ c ] { t e x t e }
end{ c e n t e r }
19 / 100
20. Mise en page avanc´e
e Minipages
Les minipages
Description
Les minipages sont des environnements qui permettent de changer la
pr´sentation du texte au sein d’une page.
e
Elles sont notamment utiles pour mettre cˆte ` cˆte deux ´l´ments, sur
o a o ee
deux colonnes.
Deux tableaux, deux images, ou bien du texte ` cˆt´ d’une image.
a oe
Syntaxe
begin { m i n i p a g e } [ p o s i t i o n ] { l a r g e u r }
La position est optionnelle et peut ˆtre b (bottom) ou t (top).
e
20 / 100
21. Mise en page avanc´e
e Minipages
Exercice 1 : deux tableaux cˆte-`-cˆte
o a o
A B C A B C
1 2 3 1 2 3
4 5 6 4 5 6
21 / 100
22. Mise en page avanc´e
e Minipages
Solution : deux tableaux cˆte-`-cˆte
o a o
begin { m i n i p a g e } { 0 . 4 t e x t w i d t h }
begin { t a b u l a r } { | c | c | c | }
hline
A & B & C
hline
1 & 2 & 3
hline
4 & 5 & 6
hline
end{ t a b u l a r }
end{ m i n i p a g e }
begin { m i n i p a g e } { 0 . 4 t e x t w i d t h }
begin { t a b u l a r }{ c | c | c }
...
end{ t a b u l a r }
end{ m i n i p a g e }
22 / 100
23. Mise en page avanc´e
e Minipages
Exercice 2 : image comment´e
e
´e
El´phant de mer du sud
´e
(Mirounga leonina) ou El´phant
de mer austral en G´orgie du
e
Sud.
Source : https ://commons.wikimedia.org/wiki/File :Mirounga leonina.jpg
23 / 100
24. Mise en page avanc´e
e Minipages
Solution : image comment´e
e
begin { m i n i p a g e } { 0 . 4 5 t e x t w i d t h }
i n c l u d e g r a p h i c s [ w i d t h=t e x t w i d t h ] { Mirounga−l e o n i n a .
jpg }
end{ m i n i p a g e }
h s k i p 20 p t
begin { m i n i p a g e } { 0 . 4 5 t e x t w i d t h }
t e x t b f { E l e p h a n t de mer du sud } ( t e x t i t { Mirounga
l e o n i n a } ) ou t e x t b f { E l e p h a n t de mer a u s t r a l } en
G e o r g i e du Sud .
end{ m i n i p a g e }
24 / 100
25. Mise en page avanc´e
e Encadrements
NB : le paquet framed
Il permet de configurer la bordure et l’ombre, notamment avec des
couleurs.
25 / 100
26. Mise en page avanc´e
e Encadrements
Le paquet fancybox
variantes de fbox :
shadowbox
doublebox
§ ¤
¦ovalbox ¥
§ ¤
Ovalbox ¥
¦
Exemple
ovalbox { ovalbox }
26 / 100
27. Mise en page avanc´e
e Num´rotation
e
Num´rotation des pages
e
Changement du descripteur
La commande pagenumbering permet de changer la mani`re de compter
e
les pages.
arabic standard dans la plupart des classes
roman chiffres romains, minuscules
Roman chiffres romains, majuscules
alph lettres minuscules
Alph lettres majuscules
Exemple
pagenumbering { roman }
27 / 100
28. Mise en page avanc´e
e Num´rotation
e
Compteurs
Fonctionnement
On peut d´finir soi-mˆme la valeur d’un compteur via les commandes
e e
addtocounter et setcounter.
Syntaxe
addtocounter {nom}{ v a l e u r }
s e t c o u n t e r {nom}{ v a l e u r }
28 / 100
29. Mise en page avanc´e
e Index
Index I
Dans l’en-tˆte
e
Paquet makeidx
Commande makeindex
Indexer les mots l` o` c’est n´cessaire :
a u e
La t e r r e i n d e x { t e r r e } t o u r n e a u t o u r du s o l e i l
index { s o l e i l } .
Placer l’index ` l’endroit souhait´ :
a e
printindex
29 / 100
30. Mise en page avanc´e
e Index
Index II
Subdivisions dans l’index : s´parer les ´l´ments par un point d’exclamation
e ee
L ’ Europe i n d e x { Europe } comprend d e s p a y s i n d e x {
p a y s } comme l a F r a n c e i n d e x { Europe ! F r a n c e } ou l ’
A l l e m a g n e i n d e x { Europe ! A l l e m a g n e } .
G´n´rer l’index :
e e
makeindex fichier
avant la derni`re compilation
e
30 / 100
31. Mise en page avanc´e
e Index
Pour en savoir plus
Page du manuel sur wikibooks :
https ://secure.wikimedia.org/wikibooks/en/wiki/LaTeX/Indexing
31 / 100
32. Mise en page avanc´e
e Tableaux
Cellules fusionn´es
e
3700 & octal
7C0 hexadecimal
cline{2-2}
3700 octal
ligne horizontale de la
11111000000 binary
colonne n ` la colonne n
a
1984 decimal
hline hline
32 / 100
33. Mise en page avanc´e
e Tableaux
Cellules fusionn´es : code
e
begin { t a b u l a r } { | r | l | }
hline
7C0 & h e x a d e c i m a l
3700 & o c t a l c l i n e {2−2}
11111000000 & b i n a r y
hline hline
1984 & d e c i m a l
hline
end{ t a b u l a r }
33 / 100
34. Mise en page avanc´e
e Tableaux
Le paquet multirow
Team sheet
Goalkeeper GK Paul Robinson
MC David Batty
Midfielders MC Eirik Bakke
MC Jody Morris
Forward FW Jamie McMaster
ST Alan Smith
Strikers
ST Mark Viduka
Indications
usepackage{multirow}
multicolumn{3}{|c|}{Team sheet}
multirow{3}{*}{Midfielders} & MC & David Batty
34 / 100
35. Mise en page avanc´e
e Tableaux
multirow : code
begin { t a b u l a r } { | l | l | l | }
hline
multicolumn { 3 } { | c | } { Team s h e e t }
hline
G o a l k e e p e r & GK & P a u l R o b i n s o n h l i n e
m u l t i r o w {3}{∗}{ M i d f i e l d e r s } & MC & David B a t t y
& MC & E i r i k Bakke
& MC & Jody M o r r i s h l i n e
Forward & FW & Jamie McMaster h l i n e
m u l t i r o w {2}{∗}{ S t r i k e r s } & ST & Al an Smith
& ST & Mark Viduka
hline
end{ t a b u l a r }
35 / 100
36. Mise en page avanc´e
e Tableaux
multirow, multicolumn et cline
Primes colonnes vides non dessin´es
e
2 3 5 7 &&
504 3 2 0 1 multicolumn{4}{|c |}{Primes}
Powers
540 2 3 1 0
colonnes rejointes
gcd 2 2 0 0 min
Powers cline{3-6}
lcm 3 3 1 1 max
36 / 100
37. Mise en page avanc´e
e Tableaux
multirow, multicolumn et cline : code
begin { t a b u l a r }{ c c | c | c | c | c | l }
c l i n e {3−6}
& & multicolumn { 4 } { | c | } { P r i m e s } c l i n e {3−6}
& & 2 & 3 & 5 & 7 c l i n e {1−6}
multicolumn { 1 } { | c | } { m u l t i r o w {2}{∗}{ Powers }} &
multicolumn { 1 } { | c | } { 5 0 4 } & 3 & 2 & 0 & 1 &
c l i n e {2−6}
multicolumn { 1 } { | c | } { } &
multicolumn { 1 } { | c | } { 5 4 0 } & 2 & 3 & 1 & 0 &
c l i n e {1−6}
multicolumn { 1 } { | c | } { m u l t i r o w {2}{∗}{ Powers }} &
multicolumn { 1 } { | c | } { gcd } & 2 & 2 & 0 & 0 & min
c l i n e {2−6}
multicolumn { 1 } { | c | } { } &
multicolumn { 1 } { | c | } { lcm } & 3 & 3 & 1 & 1 & max
c l i n e {1−6}
end{ t a b u l a r } 37 / 100
38. Mise en page avanc´e
e Macros
Syntaxe des macros
La d´finition de commandes se fait dans l’en-tˆte ou dans le corps du
e e
document.
La modification de commandes de pr´f´rence dans l’en-tˆte mais parfois
ee e
´galement dans le corps du document.
e
La r´percussion de la commande change en fonction de son placement.
e
38 / 100
39. Mise en page avanc´e
e Macros
Exemple simple
Abr´ger du texte
e
On peut tr`s bien d´finir une abr´viation pour un texte que l’on tape
e e e
souvent.
En-tete
newcommand cad { c ’ e s t −a−d i r e }
Dans le texte
cad
cad {} ou cad ˜
39 / 100
40. Mise en page avanc´e
e Macros
Nouvelles commandes
D´finition
e
On peut d´finir autant de nouvelles commandes que n´cessaire.
e e
Ce proc´d´ autorise une personnalisation pouss´e.
e e e
Syntaxe
newcommand{nom } [ c h i f f r e ] { p r o p r i e t e }
Syntaxe
newcommand{ t a b }{ hspace ∗{3em}}
40 / 100
41. Mise en page avanc´e
e Macros
setlength
Fonctionnement
Cette commande se place en g´n´ral dans l’en-tˆte.
e e e
Il est possible d’ajuster ainsi un grand nombre de param`tres du
e
document, ind´pendamment de la classe choisie.
e
Syntaxe
s e t l e n g t h { p a r a m e t r e }{ l o n g u e u r }
41 / 100
42. Mise en page avanc´e
e Macros
Liste non-exhaustive
textwidth largeur du texte
topmargin marge en haut
oddsidemargin marge lat´rale en cas de recto-verso (evensidemargin)
e
parindent indentation des paragraphes
parskip espace entre deux paragraphes
itemsep s´paration verticale entre les ´l´ments d’une liste
e ee
baselineskip ´cart entre les lignes d’un paragraphe
e
Exemple
s e t l e n g t h { p a r i n d e n t }{0mm}
42 / 100
43. Mise en page avanc´e
e Macros
addtolength
Fonctionne selon le mˆme principe.
e
Exemple
addtolength { t e x t w i d t h }{30mm}
43 / 100
44. Mise en page avanc´e
e Macros
Modification de commandes I
Interlignes
On peut modifier les interlignes :
de mani`re ponctuelle dans le document
e
ou d’office dans l’en-tˆte
e
b a s e l i n e s k i p 10 p t
renewcommand{ b a s e l i n e s t r e t c h }{ f a c t e u r }
renewcommand{ b a s e l i n e s t r e t c h } { 1 . 3 }
44 / 100
45. Mise en page avanc´e
e Macros
Modification de commandes II
Listes personnalis´es
e
Il est possible de modifier la repr´sentation des listes, et ce aux quatre
e
niveaux pris en charge.
Ces indications doivent ˆtre plac´es avant le d´but du document.
e e e
Structure
renewcommand{ r e p r e s e n t a t i o n }{ f o r m a t { compteur }}
Exemples
renewcommand{ l a b e l i t e m i }{$ b u l l e t $}
renewcommand{ l a b e l e n u m i i } { ( roman{ e n u m i i } )
45 / 100
46. Mise en page avanc´e
e Macros
Nouveaux environnements
Il est ´galement possible de cr´er de nouveaux environnements.
e e
Comme par exemple un nouveau type de liste :
newcounter { compteur }
newenvironment { A L i s t e } [ 1 ] [ al ph ]
{ begin { l i s t }{ t e x t b f (#1{ compteur } ) }
{ usecounter { compteur }}}
{ end{ l i s t }}
begin { A L i s t }
item e s s a i
end{ A L i s t }
Aide en fran¸ais sur la syntaxe :
c
http ://www.tuteurs.ens.fr/logiciels/latex/macros.html
46 / 100
47. Mise en page avanc´e
e Macros
NB : le paquet fancyhdr
Il peut servir ` adapter ` l’envi en-tˆtes et pieds de page.
a a e
Dans les deux cas, trois crit`res : une partie gauche de la page, une
e
centrale et une sur la droite.
47 / 100
48. M´ta-informations
e
Le paquet hyperref
Il permet de mettre en valeur des liens et de g´rer les propri´t´s du fichier
e ee
PDF en sortie.
Les fonctions du paquet sont en principe pr´sentes par d´faut dans beamer.
e e
En-tete
usepackage { h y p e r r e f }
Liens cliquables
u r l { h t t p : / /www. ens−l y o n . f r }
h r e f { h t t p : / /www. ens−l y o n . f r }{ENS Lyon }
48 / 100
49. M´ta-informations
e
Param`tres PDF
e
Configuration
On peut param´trer les propri´t´s suivantes : pdftitle, pdfauthor,
e ee
pdfsubject, pdfcreator, pdfproducer, pdfkeywords.
Les plus importantes sont l’auteur, le titre, ´ventuellement le sujet et les
e
mots-cl´s.
e
Utilisation
p d f t i t l e = { text } ,
pdfauthor = { text } ,
49 / 100
50. M´ta-informations
e
Couleurs des liens
Configuration
On peut param´trer les propri´t´s suivantes : colorlinks, linkcolor,
e ee
citecolor, filecolor, urlcolor.
Exemple
c o l o r l i n k s = true ,
u r l c o l o r = blue ,
50 / 100
51. M´ta-informations
e
Bilan
Voici par exemple les lignes rajout´es dans l’en-tˆte de ce fichier :
e e
hypersetup {
pdfauthor = { Adrien Barbaresi } ,
p d f t i t l e = {LaTeX , a p p r o f o n d i s s e m e n t } ,
c o l o r l i n k s = true ,
u r l c o l o r = blue ,
l i n k s c o l o r = white ,
}
51 / 100
52. BibTeX Introduction
BibTeX
Description
Mˆme principe mais traitement ext´rioris´ :
e e e
Passage par un fichier .bib qui contient la bibliographie
Compilation sp´cifique BibTeX
e
Avantages
Travail avec une seule bibliographie, seuls les ouvrages cit´s
e
apparaissent
Choisir un style ou un ordre diff´rent sans avoir ` tout changer
e a
Outils de collecte et de gestion de r´f´rences
ee
52 / 100
53. BibTeX Introduction
Le fichier .bib
Caract´ristiques :
e
un fichier texte poss´dant l’extension .bib
e
r´f´rences dans un format sp´cifique, espac´es ` l’envi
ee e e a
d’´ventuelles erreurs dans la saisie n’apparaissent que lors de la
e
compilation
Mise en place :
saisie et/ou corrections ` la main selon un ensemble de r`gles
a e
”moisson” sur internet via des sites sp´cialis´s
e e
53 / 100
54. BibTeX Introduction
Format : un livre
Un livre doit comporter au moins les champs suivants :
auteur, titre, ´diteur et ann´e.
e e
Code
@BOOK{ P e r r a u l t 1 ,
t i t l e = { H i s t o i r e s ou c o n t e s du temps p a s s e , a v e c
des m o r a l i t e s } ,
author = { Perrault , Charles } ,
p u b l i s h e r = { Claude Barbin } ,
y e a r = 1697 ,
}
54 / 100
55. BibTeX Introduction
Livre, autre exemple
Accolades ou guillemets
Auteurs s´par´s par des and
e e
@book { Miestamo : 2 0 0 8 ,
e d i t o r = { Miestamo , M a t t i AND S i n n e m a k i , K a i u s AND
Karlsson , Fred } ,
t i t l e = {{ Language c o m p l e x i t y : t y p o l o g y , c o n t a c t ,
c ha ng e } } ,
p u b l i s h e r = ” John B e n j a m i n s P u b l i s h i n g Company ” ,
a d d r e s s = ” Amsterdam , P h i l a d e l p h i a ” ,
y e a r = ”2008” ,
}
55 / 100
56. BibTeX Introduction
Livre : champs possibles
author *
title *
publisher *
year *
volume
number
series
address
edition
month
note
56 / 100
57. BibTeX Introduction
Article : champs possibles
author *
title *
journal *
year *
volume
number
pages
month
note
57 / 100
58. BibTeX Introduction
Article : exemple
@ a r t i c l e { Weinrich :1969 ,
t i t l e ={{ T e x t l i n g u i s t i k : Zur S y n t a x d e s A r t i k e l s i n
der Deutschen Sprache }} ,
a u t h o r ={W e i n r i c h , H a r a l d } ,
j o u r n a l ={J a h r b u c h f u e r I n t e r n a t i o n a l e G e r m a n i s t i k } ,
p a g e s ={61−−74},
volume =1,
a d d r e s s ={Bern / F r a n k f u r t } ,
y e a r =1969 ,
}
58 / 100
59. BibTeX Introduction
Autres types courants
type (cat´gorie possible, cat´gorie obligatoire)
e e
incollection (booktitle)
inproceedings (organization)
misc (author, title, howpublished, year, month, note)
phdthesis (school, keywords)
techreport
unpublished
Informations compl´mentaires : www.bibtex.org
e
et ailleurs (Wikip´dia, sites personnels, etc.)
e
59 / 100
60. BibTeX Introduction
Exemple : article publi´ dans un recueil
e
@incollection { f r i s c h .02 ,
author = { Frisch , S .} ,
e d i t o r = { Broe , M. and P i e r r e h u m b e r t , J . B . } ,
t i t l e = { Temporally organized l e x i c a l
r e p r e s e n t a t i o n s as p h o n o l o g i c a l u n i t s } ,
b o o k t i t l e = { Papers i n l a b o r a t o r y phonology V:
Language a c q u i s i t i o n and t h e l e x i c o n } ,
y e a r = {2002} ,
p u b l i s h e r = { Cambridge U n i v e r s i t y P r e s s } ,
a d d r e s s = { Cambridge } ,
}
60 / 100
61. BibTeX Utilisation
Utilisation de TeXMakerX
Bibliographie → type
ou ajout des d´tails un ` un :
e a
Bibliographie → interface de dialogue
61 / 100
62. BibTeX Utilisation
Insertion
Citations dans le document : mˆme m´thode
e e
c i t e [ p . ˜ 8 4 ] { a u t 10}
Affichage de la bibliographie (ouvrages cit´s) :
e
bibliographystyle { plain }
bibliography { f i c h i e r }
62 / 100
63. BibTeX Utilisation
Pr´cisions
e
Parmi les styles courants : plain, abbrv, abstract, alpha, kluwer, etc.
Pour certaines normes : ` installer soi-mˆme... ex. : abbrv-fr
a e
Exemple
bibliographystyle { kluwer }
bibliography { t e s t −b i b l i o }
Affichage de tous les ouvrages de la bibliographie :
n o c i t e {∗}
bibliographystyle { plain }
bibliography { f i c h i e r }
63 / 100
64. BibTeX Utilisation
Compilation : circuit
1 compilation latex ou pdflatex
2 passage par bibtex
3 deuxi`me compilation latex ou pdflatex
e
4 dernier passage (idem)
Windows : mettre ` jour les param`tres BibTeX
a e
ou passer par TeXShop et choisir un circuit analogue
64 / 100
65. BibTeX Utilisation
Suite d’instructions pour Mac et Linux
Dans une console/un terminal :
Se rendre dans le r´pertoire concern´ (ex. : cd Documents/Bureau/LaTeX)
e e
latex fichier
bibtex fichier
latex fichier
latex fichier
latex peut ˆtre remplac´ par pdflatex selon la sortie d´sir´e
e e e e
65 / 100
66. BibTeX Gestion
O` trouver des r´f´rences I
u ee
Google scholar (ou ´quivalent Bing)
e
scholar.google.com
Options (en haut) → Gestion de bibliographie (tout en bas)
→ s´lectionner l’export au format BibTeX
e
Avantage : une grande majorit´ d’articles peuvent ˆtre r´f´renc´s
e e ee e
Inconv´nient : les r´f´rences (g´n´r´es automatiquement) ne sont pas
e ee e ee
toujours exemptes d’erreurs
66 / 100
67. BibTeX Gestion
O` trouver des r´f´rences II
u ee
Sites sp´cialis´s :
e e
bibsonomy.org
citeulike.org
connotea.org
...
67 / 100
68. BibTeX Gestion
Trouver et g´rer des r´f´rences
e ee
Zotero, un plugin Firefox :
d´velopp´ par des universitaires et gratuit
e e
gestion au sein du navigateur
synchronisation en ligne (compte sur le site n´cessaire)
e
r´f´rence trouv´e efficacement pour les livres (via ISBN)
ee e
ajout de r´f´rences directement sur les sites qui le permettent
ee
(biblioth`ques par ex.)
e
Par ailleurs, nombreux formats d’export (EndNote par ex.)
Site internet : zotero.org
68 / 100
69. BibTeX Gestion
G´rer des fichiers BibTeX
e
Au-del` d’une centaine de r´f´rences, un bloc-notes/´diteur peut ne plus
a ee e
suffire...
JabRef :
´dition guid´e des r´f´rences BibTeX, menus d’aide
e e ee
nombreux formats d’export
logiciel libre
Site internet : jabref.sourceforge.net
69 / 100
70. BibTeX multibib
Le paquet multibib
multibib permet de segmenter sa bibliographie en plusieurs sous-ensembles
ou d’utiliser plusieurs bibliographies.
usepackage{multibib}
70 / 100
71. BibTeX multibib
Utilisation I
Fichiers
Supposons l’existence de deux fichiers :
hist.bib et philo.bib
En-tete
n e w c i t e s { h i s t }{ n o r m a l s i z e H i s t o i r e }
n e w c i t e s { p h i l o }{ n o r m a l s i z e P h i l o s o p h i e }
71 / 100
72. BibTeX multibib
Utilisation II
Corps du document
n o c i t e h i s t {∗}
n o c i t e p h i l o {∗}
subsection { Histoire }
b i b l i o g r a p h y s t y l e f o n d l i n g { abbrv −f r }
bibliographyhist{hist}
subsection { Philosophie }
b i b l i o g r a p h y s t y l e p h i l o { abbrv −f r }
bibliographyphilo { philo }
72 / 100
73. BibTeX multibib
Aller plus loin
Section BibTeX de ce site :
http ://www.lsv.ens-cachan.fr/∼markey/bibla.php
73 / 100
74. Beamer Pr´requis
e
Classe de document
Avant tout : entrer la classe de document beamer
(Il en existe d’autres, c’est ` ce jour la plus utilis´e)
a e
Mˆmes paquets que pour le reste
e
Mˆmes indications (titre, d´but et fin de document)
e e
documentclass { beamer }
74 / 100
75. Beamer Pr´requis
e
Styles
NB : Ces ´l´ments se situent dans l’en-tˆte.
ee e
Il faut choisir un style de document.
Diff´rentes cat´gories qui laissent plus ou moins de place au centre
e e
et font ´ventuellement apparaˆ la structure.
e ıtre
On peut ´ventuellement choisir une s´rie de couleurs.
e e
Exemple
us et hem e { A n t i b e s }
usecolortheme { seahorse }
Pour un ´ventail des possibilit´s, voir ce site :
e e
http ://www.hartwork.org/beamer-theme-matrix
th`mes en abscisses, couleurs en ordonn´es
e e
75 / 100
76. Beamer Composition
Diapositives
Un document : structure et s´rie de diapositives
e
Elles sont d´limit´es par l’environnement frame.
e e
Deux syntaxes possibles :
Exemple 1
begin { f r a m e }
...
end{ f r a m e }
Exemple 2
frame {
...
}
76 / 100
77. Beamer Composition
Page de titre
En premi`re page normalement :
e
begin { f r a m e }
titlepage
end{ f r a m e }
77 / 100
78. Beamer Composition
Composition d’une diapositive
Une diapositive comporte g´n´ralement un titre :
e e
f r a m e t i t l e { C o m p o s i t i o n d ’ une d i a p o s i t i v e }
Elle peut comporter des environnements blocks de trois types :
block, exampleblock et alertblock
Syntaxe
begin { b l o c k }{ T i t r e ( ou r i e n e n t r e c r o c h e t s ) }
...
end{ b l o c k }
78 / 100
79. Couleurs
Le paquet xcolor
Utilisation
Il existe ´galement un paquet color, mais xcolor est plus efficace et permet
e
d’adapter de mani`re beaucoup plus flexible les couleurs.
e
usepackage { x c o l o r }
79 / 100
80. Couleurs
Options du paquet
Options remarquables
sortie : dvips, pdftex
mod`le de couleurs :
e
natural, rgb, cmy, cmyk, hsb, gray (de 0 ` 1)
a
RGB, HSB, Gray
HTML (de 000000 ` FFFFFF)
a
wave, longueur d’onde en nm (de 363 ` 814)
a
noms de couleurs : dvipsnames, svgnames, x11names
divers : pst, table
influence sur la compilation : override, showerrors, hiderrors
usepackage { x c o l o r }
80 / 100
81. Couleurs
Utilisation des couleurs pr´d´finies
e e
Liste des couleurs
red, green, blue, cyan, magenta, yellow, black, white, darkgray, gray,
lightgray, brown, lime, olive, orange, pink, purple, teal, violet
Exemples
c o l o r { blue !25}
c o l o r { r g b : red , 4 ; g r e e n , 2 ; y e l l o w , 1 }
81 / 100
82. Couleurs
Utilisation des couleurs
Zones param´trables
e
texte : color, textcolor
pagecolor : arri`re-plan
e
cadre : colorbox, fcolorbox
boˆ : boxframe
ıte
Syntaxe
color { specification }
pagecolor { s p e c i f i c a t i o n }
f c o l o r b o x { c o u l e u r du c a d r e }{ c o u l e u r i n t e r i e u r }{
Texte }
b o x f r a m e { l a r g e u r }{ h a u t e u r }{ p r o f o n d e u r }
82 / 100
83. Couleurs
D´finition de couleurs
e
Deux moyens possibles
definecolor : couleur personnalis´e
e
colorlet : nouvelle couleur uniquement ` partir d’une couleur existante
a
(copie la d´finition de couleur vers un nom)
e
d e f i n e c o l o r {nom}{ modele }{ s p e c i f i c a t i o n }
d e f i n e c o l o r { r e d }{ r g b } { 1 , 0 , 0 }
d e f i n e c o l o r { myblack }{ named }{ B l a c k }
c o l o r l e t {nom}{ modele }{ e x p r e s s i o n }
c o l o r l e t { t a b l e h e a d c o l o r }{ g r a y ! 2 5 }
83 / 100
84. Couleurs
Utilisation dans un tableau
Pr´requis
e
L’option table doit ˆtre active.
e
Les couleurs peuvent s’appliquer ligne par ligne ou colonne par colonne au
fil du tableau ou bien ˆtre d´finies ` l’avance.
e e a
rowcolor { tableheadcolor }
rowcolor { blue !25}
r ow c ol o rs [ hline ]{1}{ gray !25}{ y e l l o w !10}
begin { t a b u l a r } . . .
...
84 / 100
85. Couleurs
M´langes de couleurs
e
Pr´requis
e
Syntaxe : expression = ! num1 ! name1 ! num2 ! name2 ! . . . ! numn !
namen
Nombres entiers entre 0 et 100.
Les noms de couleurs doivent exister.
f c o l o r b o x { r e d ! 7 0 ! g r e e n }{− r e d ! 7 0 ! g r e e n }{ T e s t }
red !75! green !50! blue !25
−r e d ! 7 5 ! g r e e n ! 5 0 ! b l u e
85 / 100
86. Couleurs
Pour en savoir plus
Manuel du paquet xcolor :
http ://www.olos.de/ ukern/tex/xcolor/pdf/xcolor.pdf.gz
86 / 100
87. Arbres
Paquets utiles
Il existe de nombreux paquets pour faire des arbres.
A ce jour, le paquet TikZ semble s’ˆtre impos´ comme le moyen de
e e
r´aliser de nombreuses figures.
e
usepackage{tikz}
Il permet de faire de nombreux types de graphiques et sch´mas et reprend
e
dans certains cas en partie la syntaxe de ses concurrents.
Nous allons voir ` partir d’´tudes de cas comment l’utiliser.
a e
87 / 100
88. Arbres
Premier cas : un arbre simple
Noeud principal
niveau 1-1 niveau 1-2
niveau 2-1 niveau 2-2 niveau 2-3 niveau 2-4
88 / 100
89. Arbres
Premier cas : un arbre simple
begin { t i k z p i c t u r e } [ grow=down ]
t i k z s t y l e { l e v e l 1}=[ s i b l i n g d i s t a n c e =40mm]
t i k z s t y l e { l e v e l 2}=[ s i b l i n g d i s t a n c e =20mm]
node { Noeud p r i n c i p a l }
c h i l d { node { n i v e a u 1−1}
c h i l d { node { n i v e a u 2−1}}
c h i l d { node { n i v e a u 2−2}}
}
c h i l d { node { n i v e a u 1−2}
c h i l d { node { n i v e a u 2−3}}
c h i l d { node { n i v e a u 2−4}}
};
end{ t i k z p i c t u r e }
89 / 100
90. Arbres
Modification de style
niveau 2-1
niveau 1-1
niveau 2-2
Noeud principal
niveau 2-3
niveau 1-2
niveau 2-4
90 / 100
91. Arbres
Modification de style
begin { t i k z p i c t u r e } [ grow ’= r i g h t , l e v e l d i s t a n c e =40mm]
t i k z s t y l e { l e v e l 1}=[ s i b l i n g d i s t a n c e =25mm]
t i k z s t y l e { l e v e l 2}=[ s i b l i n g d i s t a n c e =10mm]
node { Noeud p r i n c i p a l }
c h i l d { node [ c i r c l e , draw ] { n i v e a u 1−1}
c h i l d { node [ r e c t a n g l e , draw ] { n i v e a u 2−1}}
c h i l d { node [ r e c t a n g l e , draw ] { n i v e a u 2−2}}
}
c h i l d { node [ c i r c l e , draw ] { n i v e a u 1−2}
c h i l d { node [ r e c t a n g l e , draw ] { n i v e a u 2−3}}
c h i l d { node [ r e c t a n g l e , draw ] { n i v e a u 2−4}}
};
end{ t i k z p i c t u r e }
91 / 100
92. Arbres
Allons plus loin
niveau 2-1
niveau 1-1
niveau 2-2
Noeud principal
niveau 2-3
niveau 1-2
niveau 2-4
92 / 100
93. Arbres
Allons plus loin
begin { t i k z p i c t u r e } [ grow ’= r i g h t , l e v e l d i s t a n c e =40mm,
e v e r y node / . s t y l e ={ f i l l =r e d ! 8 0 , c i r c l e , i n n e r s e p=1
pt } ,
l e v e l 1 / . s t y l e ={ s i b l i n g d i s t a n c e =25mm, n o d e s={ f i l l
=r e d ! 5 5 } } ,
l e v e l 2 / . s t y l e ={ s i b l i n g d i s t a n c e =10mm, n o d e s={ f i l l
=b l u e ! 2 0 } } ,
]
node { Noeud p r i n c i p a l }
c h i l d { node [ c i r c l e , draw ] { n i v e a u 1−1}
c h i l d { node [ r e c t a n g l e , draw ] { n i v e a u 2−1}}
...
};
end{ t i k z p i c t u r e }
93 / 100
94. Arbres
Sch´ma d´taill´
e e e
Mesures Base de donn´es
e
Texte enrichi
Scripts
Export XML
94 / 100
95. Arbres
Sch´ma d´taill´ : code
e e e
begin { t i k z p i c t u r e } [ grow ’= r i g h t ,−>, s e m i t h i c k ,
l e v e l 1 / . s t y l e ={ l e v e l d i s t a n c e =28mm} ,
l e v e l 2 / . s t y l e ={ l e v e l d i s t a n c e =34mm, s i b l i n g
d i s t a n c e =10mm, s h o r t e n >=1p t } , ]
node [ r e c t a n g l e , r o u n d e d c o r n e r s , draw ] { t e x t b f { T e x t e
e n r i c h i }}
c h i l d { node [ r e c t a n g l e , r o u n d e d c o r n e r s , draw ,
r e c t a n g l e s p l i t , r e c t a n g l e s p l i t p a r t s =2]{
textbf { Mesures }
nodepart { second }
Scripts}
c h i l d { node [ r e c t a n g l e , r o u n d e d c o r n e r s , draw ] {
t e x t b f { Base de d o n n e e s }}}
c h i l d { node [ r e c t a n g l e , r o u n d e d c o r n e r s , draw ] {
t e x t b f { E x p o r t XML}}}
};
end{ t i k z p i c t u r e } 95 / 100
97. R´visions
e
Exercice
R´alisez un document qui comporte les ´l´ments suivants :
e ee
deux minipages cˆte-`-cˆte, l’une d’entre elles comportant une image
o a o
une bibliographie
un index
un sch´ma en couleur
e
97 / 100
98. Documents complexes Automatiser les tˆches
a
Automatiser les tˆches : ´crire un script
a e
Le langage bash
Il permet d’ex´cuter et de grouper des commandes, dans le terminal ou au
e
sein d’un script.
Il est tr`s souvent pr´sent sur les syst`mes de type UNIX.
e e e
Il permet d’effectuer toutes les op´rations n´cessaires en ligne de
e e
commande.
Le script bash
Il poss`de une premi`re ligne qui permet d’identifier son type :
e e
#!/bin/bash
ainsi qu’une extension en .sh
Il contient ensuite une s´rie de commandes, dans notre cas ligne apr`s ligne
e e
Il s’ex´cute en ligne de commande en tapant la commande suivante :
e
bash nomdefichier.sh
98 / 100
99. Documents complexes Fichiers
´
Ecrire dans plusieurs fichiers
Input
Il est possible d’ins´rer des fichiers ` tout moment dans le document :
e a
input{fichier.tex}
Compiler ` part les fichiers
a
Pour pouvoir compiler ` part les fichiers, il faut passer par le paquet
a
subfiles.
Document racine usepackage{subfiles}
subfile{filename}
Sous-documents documentclass[rootdocument.tex]{subfiles}
99 / 100