Professional Documents
Culture Documents
Vincent Lozano
Enfin voil deux jeunes corps enlacs qui jouissent de leur jeunesse en
fleur ; dj ils pressentent les joies de la volupt et Vnus va ensemencer
le champ de la jeune femme. Les amants se pressent avidement, mlent
leur salive et confondent leur souffle en entrechoquant leurs dents. Vains
efforts, puisque aucun des deux ne peut rien dtacher du corps de
lautre, non plus quy pntrer et sy fondre tout entier. Car tel est
quelquefois le but de leur lutte, on le voit la passion quils mettent
serrer troitement les liens de Vnus, quand tout ltre se pme de
volupt. Enfin quand le dsir concentr dans les veines a fait irruption,
un court moment dapaisement succde lardeur violente ; puis cest un
nouvel accs de rage, une nouvelle frnsie. Car savent-ils ce quils
dsirent, ces insenss ? Ils ne peuvent trouver le remde capable de
vaincre leur mal, ils souffrent dune blessure secrte et inconnaissable.
Lucrce De natural rerum, Livre IV
Introduction
Mieux vaut la malice dun homme
que la bont dune femme 1 .
Lecclsiastique Si 42 14.
iii
iv
Un peu plus tard, avec la prolifration de Windows 3.1 et lengouement soudain et bien nautel pour les interfaces graphiques, je
me laissais convaincre faible que jtais dutiliser le logiciel de
traitement de texte devenu trs clbre aujourdhui dans sa version
dalors : la version 2.0 (avec une petite lettre derrire qui avait toute
son importance lpoque)... Cette version, je ne lappris quun peu
plus tard, avait la particularit intressante de comporter un bug
trs srieux qui empchait partir dun certain volume de donnes,
la sauvegarde ! Il ny a avait alors aucune solution pour sauvegarder ni rcuprer son document ; les plus teigneux dentre nous se
hasardaient supprimer quelques lignes et tentaient nouveau une
sauvegarde, mais en vain...
cette poque o les logiciels dits par la socit dont nous
tairons le nom ici, faisaient lobjet de railleries non dissimules 2 , la
plupart des utilisateurs qui mentouraient acceptait malgr tout la
situation : il tait normal dutiliser des logiciels qui se vautraient
lamentablement et notoirement sans crier gare. Cette particularit a
fait natre en moi une certitude : je naccepterai pas dutiliser de tels
logiciels. Jtais alors lve ingnieur et je pressentais quune partie
de mon travail serait consacre llaboration de documents et
lutilisation de systmes informatiques en gnral, il me fallait des
outils robustes pour y parvenir.
Cest au cours de mon DEA (quon appelle aujourdhui master
recherche) luniversit Jean Monnet et lcole des Mines de
Saint-tienne que jai dcouvert la fois Unix (dans sa version Solaris) puis Linux. Cest alors que le mot latque fut lch pas
loin de moi au dbut de ma thse (1993-94). Il tait apparemment
question dun logiciel indispensable pour produire des formules mathmatiques, et surtout il semblait vident que LATEX tait le choix
incontournable pour produire des documents scientiques. vrai
dire la question navait mme pas lair de se poser !
Jentrepris donc dinstaller cette chose qutait LATEX la
fois sur un systme Mac avec une distribution nomme OzTEX et
sur un systme Solaris, avec la distribution fournie par lassociation
Gutenberg. Il avait fallu pour cela soudoyer ladministrateur systme
pour quil accepte de crer un utilisateur privilgi texadm dont le
but tait dadministrer la distribution...
2. Parmi celles-ci, mme si elles napparurent que quelques annes aprs, on
pourra noter la clbre intervention du patron de General Motors en rponse
une provocation de Bill Gates et le non moins clbre Pige dans le cyberespace de Roberto Di Cosmo.
v
Dbut 1994, je commenais ma thse avec bien videmment la
ferme intention de la rdiger avec LATEX. Courant 1995, enthousiasm par ce que je dcouvrais, jentrepris de rdiger un guide dinitiation LATEX pour mes collgues de laboratoire, guide qui est
lorigine du prsent manuel. Cest au cours de lanne 1997, aprs
environ deux ans de pratique et dinitiation au monde de la typographie, que je me confortais dans lide que LATEX tait eectivement
le logiciel de choix pour la rdaction dun document srieux :
contrle global de la mise en page, gestion de la bibliographie, des
index (nom communs et auteurs), lgret des chiers manipuls et
surtout : la beaut du rsultat. Depuis, cest pour moi largument le
plus fort et le plus irrfutable pour utiliser LATEX.
Aujourdhui matre de confrence en informatique lcole nationale dingnieurs de Saint-tienne, jutilise LATEX pour la rdaction de documents scientiques et de supports pdagogiques. Aprs
maintenant plusieurs annes de pratique, je continue apprendre et
dcouvrir, tout en tant encore bloui par lensemble des extensions
proposes par les contributeurs du projet, ensemble dextensions qui
font de LATEX un joyeux bazar, mais aussi un outil extraordinaire
voluant dans le sens de la vritable ergonomie 3 , un outil unique
dont le souci permanent est la belle ouvrage .
Organisation du manuel
Ce manuel est une introduction au traitement de texte LATEX ;
il ne sagit pas dun manuel de rfrence, mais il a pour but de
donner les bases pour utiliser LATEX et si possible dy prendre got.
Ainsi trouvera-t-on les informations ncessaires pour commencer en
LATEX et quelques conseils sur la rdaction des documents. Pour
votre confort, nous avons eu lide lumineuse de diviser ce manuel
en chapitres et annexes. La premire partie prsente les bases de
LATEX :
Principes de base expose les concepts fondamentaux de LATEX
lire imprativement pour comprendre le reste ;
Ce quil faut savoir prsente les outils standard, ceux quil faut
connatre pour rdiger un document simple ;
Mathmatiques ou comment produire des quations ;
3. Pas celle qui consiste ajouter une entre dans un menu, ou un son
lapparition dune bote de dialogue.
vi
Un pas vers la sorcellerie pntre insensiblement dans les rouages de LATEX ; lire si vous voulez utiliser LATEX de manire
satisfaisante ;
Graphisme permet de comprendre comment insrer des graphiques dans vos documents ;
Documents scientifiques donne quelques conseils utiles pour rdiger des articles, des bibliographies, produire des index et
des prsentations ;
Documents en franais fournit quelques notions lmentaires de
typographie et prsente les principaux aspects du package
french ;
vous de jouer ! une conclusion sous forme de conseils pour chercher des informations sur TEX et LATEX.
La deuxime partie a pour but daborder les aspects plus complexes de LATEX en prenant comme prtexte dexpliquer comment ce manuel a t produit. Ne la lisez pas avant davoir lu la premire... Toute exposition mme non prolonge la deuxime
partie peut provoquer des troubles du comportement et des traumatismes irrversibles.
vii
TEX ?
Le mathmaticien Donald Ervin Knuth qui lon doit de
nombreux ouvrages de mathmatiques et dalgorithmique (notamment The Art of Computer Programing [8]) a conu dans les annes 70 un systme de traitement de texte nomm TEX aprs avoir
t du par la manire dont ses articles taient imprims par les
systmes du moment. TEX accessible au public depuis le dbut
des annes 80 est un environnement complexe de programmation compos dun processeur de macro (macro processsor ) et de
viii
quelques centaines de primitives. Un premier ensemble de macros
pr-compiles est apparu assez rapidement sous le nom de format
plain.
On pourra noter que TEX nest ni un traitement de texte (Knuth
le nomme typesetting system que lon pourrait traduire par systme de composition) ni un langage de programmation compil.
Voici quelques citations de Knuth propos de TEX 4 :
ix
LATEX ?
En 1985, quelques annes aprs la diusion publique de TEX, Leslie Lamport cre un format compos de macros permettant davoir
une vision de plus haut niveau dun document, appel LATEX et portant le numro de version 2.09. Aujourdhui, LATEX est un standard
de fait, et seuls quelques sorciers produisent encore des documents
uniquement avec TEX. Cependant, LATEX tant une surcouche de
TEX contenant donc des appels des macros de TEX il est
parfois utile de connatre quelques-uns des concepts de TEX pour se
tirer dun mauvais pas. Voici ce que dit Lamport ce propos dans
son livre [10] :
Imaginez LATEX comme une maison dont la charpente
et les clous seraient fournis par TEX. Vous nen avez pas
besoin pour vivre dans la maison, mais ils sont pratiques
pour y ajouter une nouvelle pice.
Aujourdhui et depuis 1994, une quipe mi-europenne mi-amricaine (autour de Frank Mittelbach) a pris en main le dveloppement de LATEX ; la version de LATEX parue en 1994 se nomme
LATEX 2 . Le but long terme est de concevoir un systme nomm
LATEX3.
Licence
On peut souligner que TEX et LATEX sont des logiciels faisant partie de la famille des logiciels libres et sont donc entre autres
gratuits. Ce qui caractrise les logiciels libres (free software) est galement laspect ouvert des logiciels. Il est donc possible davoir les
x
sources Web 5 de TEX. Les macros de LATEX sont quant elles distribues sous forme de code source TEX. Le fait de pouvoir obtenir les
sources dun logiciel peut sembler secondaire la plupart des utilisateurs ; il faut comprendre que cest parce que rien nest cach que
lamlioration de lexistant et la cration dextensions sont possibles.
Le fait quun logiciel soit libre ne veut pas dire quon puisse en
faire tout fait ce que lon veut. Il reste la proprit de son auteur et toute modication doit tre documente ; chacune de ces
modications doit galement donner lieu un nom de chier dirent de celui du chier initial avant modication. Ceci pour assurer cohrence et portabilit au systme (voir ce sujet ftp://ftp.
lip6.fr/pub/TeX/CTAN/macros/latex/base/lppl.txt pour la licence de LATEX 2 ).
xi
Les documents gnrs par TEX ou LATEX sont dune qualit typographique exceptionnelle (avec possibilit de rglage trs n 6 ), ceci
grce notamment :
un dessin de fontes trs soign ;
des dtails typographiques (tirets, ligatures,...) ;
avez-vous bien regard ces tirets (page 1923) ?
et le fi de n, le ffl de soue ou le fl de tre ?
un algorithme de csure trs performant ;
des formules mathmatiques particulirement russies ;
...
Dautre part, LATEX est un des rares logiciels de traitement de
texte orient vers la production de documents scientifiques. Car
outre les quations et autres formules, LATEX possde un nombre
important de fonctionnalits axes autour de la rdaction darticle
et la gnration de bibliographie et dindex.
Enn, LATEX est particulirement adapt la production de gros
documents. Pas seulement parce que la manipulation dun document
LATEX exige par essence peu de mmoire, mais parce que les mcanismes de macros et de rfrence croise (cross reference en anglais)
permettent de garder un contrle global et trs souple du document.
rfrence croise : LATEX permet de faire rfrence de manire
symbolique toute partie du document faisant lobjet dune
numrotation. Ainsi, le numro des titres, gures, tableaux,
6. titre indicatif lunit interne de mesure de TEX est le scaled point, not
sp dans le TEXbook, qui vaut 1/65536 points ; 1 point valant environ 1/72e de
pouce, 1 pouce valant 2.54 cm, lunit de base est approximativement 50 , ce
qui laisse de la marge vis vis de la rsolution des imprimantes actuelles.
xii
quations, pages, rfrences bibliographiques, items dnumration, thormes,... peut tre mentionn plusieurs endroits
dans un document de manire trs simple, sans se soucier du
numro lui-mme.
macros : sans doute laspect le plus puissant de LATEX. Il faut savoir que tout processus qui mne la gnration dun document est une squence de commandes ou macros. Chaque
utilisateur peut donc modier lallure dun document, en modiant lune des ces macros. On peut bien videmment dnir
ses propres macros pour mettre en page une partie spcique
dun document. Lide forte autour des macros est quon peut
a priori sparer le fond de la forme lors de la rdaction dun
document.
xiii
Mais si lon a besoin de changer de notation, il sura de rednir la commande \mafct pour produire aux endroits ncessaires :
F [1, 2.5] et F [x, t]. Et le tour est jou !
Un autre exemple : imaginons que votre document comporte
beaucoup de mots techniques que vous voulez mettre en vidence
dune manire particulire. Vous crirez alors dans votre document
\jargon{implmentation} en ayant pralablement dni la macro
\jargon de manire ce quelle mette en italique le mot du vocabulaire technique. Les 235 mots de jargon auxquels vous fates rfrence
dans votre document pourront tre mis en vidence autrement quen
italique si vous changez davis, et cela sans avoir passer sur les 235
occurrences des mots du jargon, mais juste en changeant la dnition de la macro \jargon. Avec un peu dentranement vous arriverez
mme faire en sorte que cette macro insre automatiquement le
mot du jargon dans lindex de votre document...
Voici un exemple un peu plus tordu : dans le titre du paragraphe
intitul Cinq bonnes raisons de ne pas [...] un peu plus haut
dans ce chapitre, je nai pas crit Cinq 10 en toutes lettres dans
le document source. En ralit le titre du paragraphe est produit
par : \ref{nbraisons} bonnes raisons... qui ache en franais le nombre correspondant aux nombres de bonnes raisons de ne
pas utiliser LATEX. Si jamais javais rajouter dautres entres dans
cette liste de bonnes raisons, il ne sera pas ncessaire de refaire la
numrotation...
Vous trouverez le long de ce manuel, dautres exemples mettant
en vidence, les faiblesses du Wysiwyg. Ce nota , vous avertissant dun point important en est un autre exemple. Car au moment
o lauteur tape ces lignes, la prsence du panneau danger est un
dtail il sagit simplement dun nota. Et lauteur a crit :
\begin{nota}
Vous trouvez le long de ce manuel...
\end{nota}
Pour en nir avec les macros, on peut dire quil sagit dune gnralisation des styles du clbre logiciel Mot de la socit
Micrologiciel . La lecture de ce document et en particulier la
deuxime partie devrait vous convaincre que les macros permettent
daller bien au-del de ces fameux styles...
Pour les accros du Wysiwyg, une quipe de dveloppeur a mis en
uvre une version What you see is what you Mean (sic) de LATEX
10. L non plus dailleurs.
xiv
nomm LyX, dont je vous invite prendre connaissance http:
//www.lyx.org.
xv
En avant !
Comme beaucoup de logiciels puissants, LATEX nest pas toujours
simple utiliser. En fait lorsque lon va dans son sens, LATEX est toujours agrable et permet eectivement comme le souligne Lamport
de ne pas se soucier de problmes de mise en page. Lorsque lon veut
changer un comportement, et que la solution consiste choisir une
autre option dune commande, tout va encore trs bien. Cependant,
mme si les choix de LATEX rpondent des conventions en vigueur
chez tous les bons imprimeurs, il arrive un jour o lon dsire avoir
une mise en page particulire quapparemment LATEX est incapable
de fournir. ce stade, plusieurs solutions sorent vous :
inclure un package qui rpond votre problme (LATEX tant
un systme ouvert, une multitude de packages plus ou moins
standardiss sont disponibles pour raliser des oprations varies voire farfelues);
demander un TEXnicien 12 de vous dpanner ;
si les deux premires solutions sont inecaces, vous navez
plus qu faire le dtective et mettre le nez dans le code 13
pour trouver la commande qui vous fait du tort et la modier. Vous aurez besoin ce stade de connaissance de la
premire couche du systme, savoir TEX. On touche sans
doute ici un des dfauts de LATEX : si dautres logiciels sont
incapables de faire des choses compliques, il est parfois difcile de faire faire LATEX des choses simples (vous en serez
probablement convaincu aprs la lecture de la deuxime partie de ce manuel).
Conventions typographiques
Certaines conventions utilises dans ce manuel ncessitent dtre
quelque peu claircies. Les extraits de code LATEX qui parsment le
document peuvent apparatre comme ceci :
% attention les yeux
Ceci est \emph{dj} du code \LaTeX.
12. ou un TEXpert, mais cest assez rare.
13. Cest la solution la plus plaisante pour ceux qui ont certaines vellits pour
xxxxx
pisser du code...
xvi
0.1
Les logiciels et les packages de LATEX sont typographis comme indiqus ci-avant. Les mots en anglais sont produits like this. Pour
mettre en vidence les parties gnriques dune commande on utilisera hcette notationi. Par exemple :
Ceci est \emph{htexte mettre emphasei} du code \LaTeX.
Quelques rares fois sont insres des commandes Unix, comme ceci :
grep -wi bidule /tmp/truc.dat | sort -n
On trouve mme dans une des annexes, des commandes pour emacs :
M-x doctor
Ch. 3
p. 43
xvii
Remerciements
La rdaction de cet ouvrage qui est initialement le guide local
du laboratoire dinformatique graphique et dingnierie de la vision
situ Saint-tienne, a dbut en 1995. Je tiens ici remercier
les membres de cette quipe de recherche qui mont fait part de
leurs remarques et encouragements. Les personnes participant au
forum fr.comp.text.tex mont indirectement apport normment
dinformations qui ont enrichi ce document, quelles en soient ici
remercies.
Je voudrais galement remercier Benjamin Bayart qui ma aid
crer certaines des extensions utilises dans ce manuel, en particulier la version initiale de la bote entourant les mini tables des
matires en tte de chapitre ; ainsi que Guillaume Connan pour ses
remarques sur lannexe concernant le format Pdf et pour ses encouragements.
Un merci particulier Denis Bitouz pour sa lecture attentive
ses conseils prcieux et les nombreuses corrections quil a apportes
la premire partie du manuel. Denis ma mis sur la voie de la
rdemption, jai fait une croix sur a4wide, eqnarray, et toutes ces
horreurs qui faisaient de moi un pauvre pcheur...
Je tiens remercier particulirement Didier Roche et Alexis
Kauffmann de FramaSoft de mavoir accord leur conance pour
crer un nouveau volume dans la collection FramaBook. Un grand
merci au groupe de relecture men par Vincent Vim . Ce groupe
et en particulier Papiray et Antoine Blanche non content de
dbusquer de nombreuses coquilles qui se tapissaient sournoisement
au fond des paragraphes, a galement corrig de vilaines rptitions.
Je tiens donc les remercier ici bien chaleureusement, dautant que
les changes ont t fructueux : laccentuation correcte de Gense,
le genre de nota, de longues discussion sur pr-requis et en-tte et
jen passe...
La lecture des grands classiques de la littrature autour de
TEX et LATEX ma inconsciemment inuenc dans la rdaction de ce
document. La lecture du TEXbook de Knuth [9] ma bien videmment donn lide de crer le panneau danger , la lecture quasi
compulsive du LATEX Companion de Goossens, Mittelbach et
Samarin [6] a trs certainement inuenc beaucoup de passages de
cet ouvrage aussi bien pour le fond que la forme. Enn la lecture
de plusieurs manuels en ligne a galement d orienter certains de
xviii
mes choix (Le Not So Short Introduction to LATEX possde par
exemple un chapitre que lon peut traduire par ce quil faut savoir )...
Avant de commencer je tiens signaler que mme si ce document a mis plusieurs annes mrir, il est dans un style tout fait
douteux. La preuve, sur ma machine, la commande :
grep -E -i on peut|permet *.tex | wc -l
donne 343 (plus dune occurrence par page) ce qui dnote un style
assez pauvre.
14. Cette ligne est une illustration de la mise en page logique, elle est cense
tre au 2/3 du blanc restant sur la page, quelle que soit la taille de ce blanc bien
sr.
Sommaire
I
1 Principes de base
1.1 Installation . . . . . . . . . .
1.2 Cycle de production . . . . .
1.3 Structure type dun document
1.4 Cest parti ! . . . . . . . . . .
1.5 Premiers outils . . . . . . . .
1.6 Premires erreurs . . . . . . .
. . . .
. . . .
source
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
6
9
11
15
15
2 Ce
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
20
23
29
30
31
31
32
34
36
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xx
2.10 O il est question de csure . . . . . . . . . . . . . .
38
3 Mathmatiques
3.1 Les deux faons dcrire des maths
3.2 Commandes usuelles . . . . . . . .
3.3 Fonctions . . . . . . . . . . . . . .
3.4 Des symboles les uns sur les autres
3.5 Deux principes importants . . . . .
3.6 Array : simple et ecace . . . . . .
3.7 quations et environnements . . .
3.8 Styles en mode mathmatique . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
44
44
47
49
51
52
54
56
4 Un
4.1
4.2
4.3
4.4
4.5
4.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
59
60
63
68
70
79
83
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Graphisme
5.1 Apritifs . . . . . . . . . . . . . .
5.2 Du format des chiers graphiques
5.3 Le package graphicx . . . . . . . .
5.4 Quelques extensions utiles . . . .
5.5 Utiliser make . . . . . . . . . . .
5.6 part a . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
85
86
86
87
90
95
97
6 Documents scientifiques
6.1 Article . . . . . . . . . .
6.2 Bibliographie . . . . . .
6.3 Index . . . . . . . . . .
6.4 Diviser votre document
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
99
100
100
106
109
documents en franais
Le problme des lettres accentues
Rdiger en franais avec LATEX . .
Le package babel et la typographie
Courrier et fax . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
111
112
112
113
118
7 Des
7.1
7.2
7.3
7.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xxi
8 vous de jouer !
8.1 Livres et autres manuels . . . . . . . . . . . . . . . .
8.2 Local . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3 ETp, Oube et niouses . . . . . . . . . . . . . . .
II
9 Outillage ncessaire
9.1 Hercule Poirot . . . . . . . . . . .
9.2 Outils de bas niveaux . . . . . . .
9.3 Structures de contrle et tests . . .
9.4 Fontes . . . . . . . . . . . . . . . .
9.5 Listes et nouveaux environnements
9.6 Des environnements qui mettent en
. . . .
. . . .
. . . .
. . . .
. . . .
bote
123
124
124
125
127
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
133
134
136
139
145
151
159
10 Cosmtique
10.1 Allure de lindex . . . . . . . . . . . . .
10.2 Allures des titres . . . . . . . . . . . . .
10.3 Gomtrie . . . . . . . . . . . . . . . . .
10.4 En-tte et pied de page . . . . . . . . .
10.5 Environnements verbatim . . . . . .
10.6 About those so called french guillemets
10.7 Une bote pour le mini-sommaire . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
163
164
166
173
175
183
187
189
11 De nouveaux jouets
11.1 Quelques bricoles
11.2 Des nota . . . . .
11.3 Des citations . .
11.4 Des lettrines . . .
11.5 Un sommaire . .
11.6 Un glossaire . . .
11.7 Des onglets . . .
11.8 Exemples LATEX .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
197
198
204
209
213
218
220
224
231
III
Annexes
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
239
xxii
A.4 Hyperliens . . . . . . . . . . . . . . . . . . . . . . . . 245
A.5 Interaction avec psfrag et pstricks . . . . . . . . . . . 246
B Mmento
B.1 Extensions . . . . . . .
B.2 Les chiers auxiliaires
B.3 AucTEX . . . . . . . .
B.4 Aspell . . . . . . . . .
.
.
.
.
251
252
253
254
256
C Symboles
C.1 Symboles standard . . . . . . . . . . . . . . . . . . .
C.2 Symboles de lAMS . . . . . . . . . . . . . . . . . . .
C.3 Symboles du package textcomp . . . . . . . . . . . .
257
258
261
264
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
D Notes de production
269
D.1 Distribution du moment . . . . . . . . . . . . . . . . 270
D.2 Les sources du manuel . . . . . . . . . . . . . . . . . 270
D.3 Compilation . . . . . . . . . . . . . . . . . . . . . . . 271
Bibliographie
273
Glossaire
277
Index
281
I
Tout ce que vous avez
toujours voulu savoir
sur LATEX sans jamais
oser le demander
Chapitre
Sommaire
1.1
1.2
1.3
1.4
1.5
1.6
Installation
Cycle de production
Structure type dun document source
Cest parti !
Premiers outils
Premires erreurs
Principes de base
Lorsquun homme a un coulement
sortant de son corps,
cet coulement est impur.
Le Lvitique Lv 15 2.
E
document type, des remarques sur les accents, quelques outils
connatre, et enn, une prsentation de lattitude avoir devant
les messages derreurs de compilation.
Principes de base
1.1 Installation
Vous voulez utiliser LATEX ? Il vous faudra installer une distribution correspondant votre systme dexploitation 1 . Les distributions fournissent des programmes permettant dautomatiser la
conguration et linstallation de LATEX, TEX et tous les utilitaires
connexes.
Sous Unix : on trouve encore la distribution teTEX bien que son
dveloppement ait t stopp en 2006. Aujourdhui, sur un
systme Unix, on installe gnralement la TEXLive (http:
//www.tug.org/texlive) ;
Sous MacOS : la distribution de rfrence est MacTEX (http://
www.tug.org/mactex) ;
Sous Windows : le plus simple est sans doute de choisir proTEXt
(http://www.tug.org/protext) qui installe la distribution
MiKTEX (http://www.miktex.org) et quelques outils de dveloppement dont un programme de visualisation de chiers
au format PostScript (gsview).
Il faut parfois ajouter ces distributions (si elles nen contiennent
pas dj un) un diteur de texte puisque vous le dcouvrirez bien
assez tt, utiliser LATEX cest taper du texte et des commandes dans
des chiers :
emacs ou vi sous Unix sont deux diteurs de rfrence qui,
bien que le premier soit nettement suprieur au second, continuent de faire lobjet dune guerre strile entre utilisateurs la
plupart du temps de mauvaise foi ;
kile et texmaker sont des environnements de dveloppement
intgr grce auxquels les utilisateurs dbutants pourront se
sentir laise pour commencer : ils ont en eet la particularit
de centraliser dans une mme interface : dition, compilation
& visualisation. Ces environnements permettent galement
de dcouvrir les commandes de LATEX par lintermdiaire de
menus, botes de dialogue et autres onglets (voir la gure 1.1a
page ci-contre pour en avoir un aperu) ;
TEXnicCenter est lquivalent (aperu la gure 1.1b) sous la
marque la fentre ;
TEXshop et iTEXmax sont les quivalents sous la marque
la pomme
1. Si vous ne savez pas ce quest un systme dexploitation, le vtre est MacOS, si vous ne savez pas quel est exactement le systme de votre machine vous
avez Fentre, sinon vous avez un Unix...
1.1 Installation
1
(a) Kile
(b) TEXnicCenter
Figure 1.1: Deux exemples denvironnement de dveloppement intgr : Kile sous Linux et TEXnicCenter sous Windows. Ils permettent de centraliser dans une mme interface : dition, compilation
& visualisation.
Principes de base
1.2.1
dition
Un document source LATEX est un chier texte 3 . Ainsi la manipulation dun chier LATEX ne demande pas de logiciel particulier,
si ce nest un diteur de texte classique. Donc, pour manipuler un
document LATEX :
2. Ces formats sont prsents un peu plus loin dans ce chapitre.
3. Cest--dire un fichier ne contenant que le code des caractres qui le composent.
1.2.2
Compilation
1.2.3
Visualisation
Principes de base
8
.pdf
pdflatex
.tex
evince
.dvi
xdvi
latex
.ps
dvips
1
Figure 1.2: Outils de production sur machines Unix
evince hnom de fichieri.pdf &
il sagit dun logiciel tournant sous linux, trs intuitif, qui donne un
aperu trs lisible du document.
On notera quil nest pas ncessaire de relancer evince aprs
chaque compilation. Il met en effet jour laffichage automatiquement.
1.2.4
Impression
1.3.1
Classe du document
Principes de base
10
1.3.2
Le prambule
1.3.3
Ajout dextension
11
1.1
\documentclass{article}
\begin{document}
Un outil qui vous tombe des
mains
tombe
toujours
dans
lendroit
le plus inaccessible, ou sur le composant
le plus fragile.
Principes de base
12
\ est le caractre dchappement : il indique LATEX que lensemble de caractres qui suit est une squence de contrle,
cest--dire une commande (ou macro) dans le sens le plus
gnral du terme. Ici, il sagit de mettre en vidence le mot
Murphy. Ceci est eectu grce la commande \emph.
{ et } sont des dlimiteurs de groupe, notions expliques un peu
plus bas.
1.4.1
1.2
To be a subscript : xi+1 , or
a superscript : ei ? thats question 1 !
13
ch. 3
p. 43
\$ \& \% \# \{ \} \_
qui donnent respectivement : $ & % # { } _. La section 2.2.5 page 28
explique comment produire les autres caractres spciaux (\ ~ ^).
1.4.2
\TeX\
hackers.
1.3
The
TEXbook
is
for
TEXhackers.
TEX has some powerful macros.
LATEX is a document preparation system
Principes de base
14
1.4.3
Accents
ch 7
p. 111
\z
\z
\^z
\c{z}
\"{z}
`z
z
z
z
Attention ! Sil est possible de saisir des documents avec des caractres accentus il ne faut pas perdre de vue quil faut alors faire
appel un encodage qui est pour linstant local une rgion du
globe. On utilise en France le codage Iso8859 avec lextension latin1
qui permet de manipuler nos jolis accents. Avant de lire prcisment
le chapitre ddi aux documents rdigs en franais, nous vous suggrons de rajouter dans votre prambule :
% c o d a g e du f i c h i e r s o u r c e :
\ usepackage [ latin 1]{ inputenc }
% c o d a g e d e s f o n t e s TeX :
8. Mais pourquoi il nous en parle, alors !?
15
Principes de base
16
dans le terminal. De manire utiliser LATEX de manire la plus enrichissante nous vous incitons trouver dans votre propre environnement
la manire dexaminer les logs de LATEX, qui vous indiqueront les
messages derreurs et autres avertissements survenant lors de la compilation.
1.6.1
Symptmes
1
2
3
4
5
6
7
8
9
10
Ce message qui vous semble srement incomprhensible, est le rsultat produit sur le terminal aprs avoir excut LATEX sur le document
erreur.tex que voici :
\documentclass{article}
\begin{document}
Il me semble bien quil y ait une erreur dans le
premier paragraphe de ce \empha{document} somme
toute assez court.
\end{document}
1.6.2
Diagnostic
17
1.6.3
Soins
1.6.4
TEX et LATEX disposent dun nombre important de messages derreur qui correspondent diverses situations. Ces messages ne sont
pas toujours comprhensibles au premier abord. Cependant on peut
dire que la plupart des erreurs viennent le plus souvent :
dune erreur de syntaxe sur les mots rservs de LATEX ;
de paires daccolades mal construites ;
dune commande mathmatique utilise en mode texte ;
dun mode mathmatique non referm ;
Principes de base
18
Y a plus qu !
Vous avez maintenant compris comment on pouvait crer un document imprimable partir dun source LATEX. Ce chapitre vous
a galement permis de comprendre le principe de lappel des commandes. Il ne vous reste qu entamer le chapitre suivant pour si vous
voulez connatre les direntes fonctionnalits que vous propose le
langage LATEX.
Chapitre
Sommaire
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
Mise en vidence
Environnements
Notes de marge
Titres
Notes de bas de page
Entte et pied de page
Flottants
Rfrences
Fichiers auxiliaires
O il est question de csure
standard LATEX, des titres, des notes de bas de page, des entte et
pied de page et des environnements ottants. Nous terminerons le
chapitre par un expos du systme de rfrences suivi dune prsentation des chiers auxiliaires gnrs par LATEX. Enn, ceux qui
auront tenu jusque l, auront la chance de pouvoir lire quelques
considrations sur la csure.
Toutes ces commandes seront utiliser avec leur comportement
par dfaut, cest--dire que nous ne prsenterons pas ici la manire
de les rednir. Vous serez par contre en mesure de produire un document classique avec les mises en page traditionnelles. Pour taper
un article plus volu, vous aurez besoin dinformations sur la manire de produire des formules mathmatiques (chapitre 3), quelques
infos sur les documents scientiques (chapitre 6), et ventuellement
sur linclusion de graphiques (chapitre 5).
19
20
Commande
Dclarations
Output
\textrm{...}
{\rmfamily ...}
roman
\textsf{...}
{\sffamily ...}
sans srif
\texttt{...}
{\ttfamily ...}
machine crire
\textup{...}
{\upshape ...}
droit
\textit{...}
{\itshape ...}
italique
\textsl{...}
{\slshape ...}
pench
\textsc{...}
{\scshape ...}
Petites Capitales
\textmd{...}
{\mdseries ...}
medium
\textbf{...}
{\bfseries ...}
gras
2.1.1
Family-shape-series
On distingue deux types de macros pour changer les trois premiers paramtres (cf. tableau 2.1) : les commandes et les dclarations. Les commandes agissent sur leur argument donn entre accolades. Les dclarations agissent comme des interrupteurs en changeant la valeur dun de ces paramtres jusqu nouvel ordre. En
21
2.1
2.2
2.1.2
2.3
Correction italique
2.4
22
On voit donc clairement que la commande \emph eectue la correction, alors quil est ncessaire de la faire explicitement laide de la
macro \/, quand on utilise la forme dclaration.
2.1.3
Tailles
immense
\huge
norme
\LARGE
\Large
trs gros
\large
gros
2.1.4
\normalsize
\small
\footnotesize
\scriptsize
\tiny
normal
petit
plus petit
rikiki
minuscule
Quelques recommandations
Lusage veut que dans la mesure du possible, on utilise avec parcimonie les changements de fontes. Il est en eet de mauvais got
deectuer des mises en vidence intempestives et inutiles ; le plus
gnralement elles surchargent le document au lieu de le rendre plus
lisible. Voici trois suggestions (toujours dusage !) sur lutilisation des
changements de fontes :
prfrer la commande \emph (par dfaut italique) que tout
autre commande pour mettre en vidence ;
rserver le gras pour une remarque particulirement importante ;
utiliser les petites capitales ne sont utiliser quasiment exclusivement que pour les noms dans un document en franais :
2.2 Environnements
23
Donald Knuth ;
la famille machine crire est souvent utilise pour produire du texte en langage de programmation ou quivalent.
bon entendeur...
Dautre part nous vous donnons ci-dessous deux considrations
quant lutilisation du changement de taille et du soulign (commande \underline) :
Perhaps poets who wish to speak in a still small voice will
cause future books to make use of frequent font variations,
but nowadays its only an occasional font freak (like the author
of this manual) who likes such experiments.
2.2 Environnements
LATEX propose une srie doutils sous la forme denvironnements.
Il sagit dune structure de bloc dont la syntaxe est la suivante :
\begin{hnom envi}
...
\end{hnom envi}
o hnom envi est le nom dun environnement. Le premier environnement rencontr jusquici est lenvironnement document. Entre le
\begin et le \end on insre une portion de texte qui va subir une
mise en page particulire.
Notons tout de suite que toute dclaration est locale un environnement ; et quil est bien sr possible de dfinir ses propres
environnements ventuellement partir dautres existants.
Le reste de cette section sera consacr la description des environnements normaliss de LATEX.
24
2.2.1
Centrage et alignement
quelques lignes
parfaitement centres
entre les marges
et le paragraphe continue...
... n de phrase.
2.6
... n de phrase.
2.5
deux lignes
alignes droite
et le paragraphe continue...
On peut noter quaux trois environnements prcdents correspondent respectivement les trois dclarations :
\centering
\raggedleft
2.2 Environnements
25
\raggedright.
On peut par exemple crire :
{\centering Emacs\\Makes\\
A\\Computer\\Slow\\}
2.7
2
2.2.2
Listes
2.8
Tout dabord itemize qui est une liste d items non numrots dont le premier niveau est marqu par un tiret () en version
franaise et par un point () par dfaut :
26
1. LATEX : A Document
preparation System
2. The LATEX Companion
et le paragraphe continue, once
again...
Les listes de description, qui nont pas dquivalent dans les traitements de texte habituels, sont malheureusement au mieux mal
employes, au pire ignores des dbutants sous LATEX.
2.2.3
Tabulations
2.10
2.9
2.2.4
Tableaux
2.2 Environnements
27
Hop :
\begin{tabular}{|r|c|}
\hline
deux & trois \\
cinq & six \\ \hline
\end{tabular}
2.11
deux
cinq
Hop :
trois
six
un :
\begin{tabular}[b]{|c|} a\\b\end{tabular}
et deux :
\begin{tabular}[t]{|r|} c\\d\end{tabular}
2.12
un :
a
b
et deux :
c
d
28
2.2.5
Simulation de terminal
class pixel{
int x,y;
public:
pixel(int i=0, int j=0);};
2.14
\begin{verbatim}
class pixel{
int x,y;
public:
pixel(int i=0, int j=0);};
\end{verbatim}
2.13
#include<stdlib.h> permet
dinclure les prototypes de la
librairie standard du C.
2.2.6
Citations
29
2.15
interrompu,
2.16
En fait ces deux environnements sont prsents par Leslie Lamport, lun (quote) pour une ou plusieurs citations courtes, et lautre
(quotation) pour une citation longue.
30
\chapter{...}
\section{...}
\subsection{...}
\paragraph{...}
\subparagraph{...}
\subsubsection{...}
\marginpar[L !][Hop !]
L !
2.4 Titres
Le tableau 2.3 montre les commandes de section disponibles dans
LATEX. La commande \chapter nest pas disponible pour la classe
de document article ; et aucune commande de titres ne peut tre
utilise dans la classe letter. Pour linstant, il faut savoir les deux
choses suivantes :
chaque titre rsultant dune commande de section est automatiquement numrot et mis dans la table des matires le
cas chant ;
la commande \tableofcontents produit une table des matires lendroit o est insre cette commande.
Dautre part toutes les commandes de titres ont un style associ
que lon peut ventuellement redfinir. Enfin, ces commandes
effectuent automatiquement les espacements verticaux avant et aprs
le titre ; ainsi toute ligne vierge insre avant ou aprs la commande
est ignore.
3.2 Conclusion
En dnitive...
31
2.18
\begin{tabular}{cc}
un & deux\footnotemark \\
trois & quatre
\end{tabular}\footnotetext{Une note.}
deux a
quatre
a. Une note.
32
2.7 Flottants
LATEX ore ses valeureux utilisateurs la possibilit dutiliser des
environnements flottants. Ces environnements ont la particularit
de rendre ottants leur contenu. Cest--dire que LATEX choisit
partir dun algorithme qui tient compte dun certain nombre de
paramtres, la position de lenvironnement dans le document.
Contrairement ce que leur nom laisse croire, les environnements de LATEX figure et table ne sont pas spcialement
conus pour insrer des figures et des tables ! En fait ils sont conus
uniquement pour faire flotter leur contenu et laisser la possibilit dinsrer une lgende. Le contenu proprement parler peut tre constitu
de ce que bon vous semble, pas ncessairement du graphique.
2.7 Flottants
2.7.1
33
Figure et table
Lenvironnement figure est gnralement utilis pour les graphiques, et lenvironnement table, pour les tableaux. Chacun de
ces environnements possde une lgende. La syntaxe dutilisation
est la suivante :
Ce paragraphe contient un
environnement ottant de
type gure . Le contenu
2.20
0+0
=
Figure 1: La tte toto
est donc susceptible de se dplacer dans la page.
Vous noterez que cest la commande \caption qui produit la lgende. Le texte Figure 1: est insr automatiquement avec le
numro correspondant la gure. Le style de la lgende est bien
entendu personnalisable.
2.7.2
Placement
LATEX tente de placer le contenu ottant en fonction des paramtres quon indique entre crochets aprs le \begin du ottant :
h : l o il apparat dans le source ;
t : en haut de la page ;
b : en bas de la page ;
p : seul sur une page
Notons quil arrive parfois que lon sarrache les cheveux, pour
placer les environnements ottants. Pour ne pas snerver, il faut
comprendre et accepter que LATEX utilise plusieurs paramtres
pour placer les figure et table. Notons parmi ces paramtres :
le nombre maximum denvironnements ottants en haut et
en bas de page ;
le pourcentage maximum de la surface de la page quoccupe
un ottant en haut et en bas de la page ;
les espacements avant et aprs le ottant.
34
Si vous avez des problmes 4 pour placer vos gures, nous vous
conseillons de suivre ces quelques recommandations :
si vous tenez crire comme le montre la figure : en attendant la gure la suite, nutilisez pas lenvironnement
figure !
utilisez plutt le systme de rfrence et crivez comme le
montre la gure 3 ;
on a toujours tendance faire des gures normes : rtrcissezles !
si vous avez des tableaux rallonge, mettez-les en annexe,
puisque de toutes faons ils gneront le lecteur ;
les paramtres de LATEX sont tudis pour quilibrer le texte
et les gures dans le document. Donc, si votre document est
une bande dessine, attendez vous au pire...
ne vous souciez du placement des gures quau moment dimprimer votre document final.
2.7.3
2.8 Rfrences
Le systme de rfrence de LATEX permet de manipuler le numro
de toute partie dun document faisant lobjet dune numrotation,
de manire symbolique. Donc sans se soucier de savoir sil sagit par
exemple, de la gure 4 ou de la gure 5. Cest un des aspects de
4. Et vous en aurez srement...
2.8 Rfrences
35
2.8.1
Principe
2.8.2
Que rfrencer ?
\section{Second degr}\label{sec-2dg}
Ce sont les quations du type :
\begin{equation}
ax^2 + bx + c = 0 \label{equ}
\end{equation}
Lquation \ref{equ} de la section
\ref{sec-2dg} page \pageref{sec-2dg}
patati patala...
(2.12)
36
toc
lof
log
aux
2.9.1
\ref{truc}
doc.aux
LATEX
ref{truc)
=
3/35
37
men
\label{truc}
...
doc.aux
ref{truc)
=
3/35
LATEX
\ref{truc}
Les rfrences peuvent tre incorrectement dnies dans les situations suivantes :
1. vous avez insr une nouvelle tiquette, et cest la premire
compilation que vous eectuez (les rfrences sont indfinies) ; et vous aurez pour cette nouvelle tiquette un message :
2.9.2
doc.aux
LATEX
38
men
doc.toc
doc.aux
LATEX
2.9.3
B.2
p. 253
Petits conseils
2.10
LATEX sappuie sur TEX pour eectuer la csure des mots en fonction dune langue dtermine. Cet algorithme dcrit lannexe H du
TEXbook constitue un des aspects les plus russis de TEX. Une manire de reconnatre un document gnr par LATEX est dexaminer
la manire dont sont coups les paragraphes ; beaucoup dautres logiciels se contentent dinsrer des blancs entre les mots. Il existe
cependant des situations o LATEX ne peut eectuer une csure correcte. Dans ce cas, LATEX vous avertira par lun des deux messages
terriants :
Underfull \hbox (badness 1810) detected at line 33
5. Et encore il na pas encore t question de bibliographie, ni dindex et de
glossaires...
39
ou bien :
Overfull \hbox (14.24376pt too wide) detected at line 41
underfull
underfull
underfull
ok
overfull
overfull
overfull
40
Guider la csure
On peut aider LATEX couper un mot en lui indiquant les endroits
o la csure peut tre eectue, en insrant aux endroits ncessaires,
la commande \-. Par exemple, si LATEX a du mal couper le mot
nonmaiavapamieu , vous pouvez entrer :
non\-mai\-a\-va\-pa\-mieu
Si vous utilisez ce mot frquemment, vous pouvez, pour vous pargner dindiquer les csures comme ci-dessus, entrer dans le prambule la commande \hyphenation :
\hyphenation{non-mai-a-va-pa-mieu}
qui indique LATEX comment couper ce mot trange.
Forcer la csure
Vous
pouvez
forcer
la
csure,
en
insrant
la commande \linebreak[hnombrei], mais cela peut avoir des rsultats catastrophiques. Si vous voyez ce que je veux dire. Le paramtre hnombrei permet de moduler la commande \linebreak. Vous
avez la possibilit de formuler un souhait timide : \linebreak[0]
ou un ordre ne pas discuter : \linebreak[4].
La commande \pagebreak[hnombrei] est la commande correspondant aux coupures de pages. Dautre part, deux commandes sont
disponibles pour eectuer un saut de page :
\clearpage nit la page actuelle ;
41
\cleardoublepage nit la page actuelle, et assure de commencer sur une page impaire, en mode recto verso.
Ces deux commandes forcent LATEX insrer toutes les gures ottantes en cours de placement.
Une autre intervention manuelle pratique dans certaines situations, consiste agrandir la hauteur de la page actuelle en faisant appel la commande :
\enlargethispage
suivie dune dimension puis dinsrer un saut de ligne :
\enlargethispage{10cm}
Empcher la csure
Il existe trois moyens de forcer LATEX ne pas couper le texte :
1. insrer lespace inscable ~ ;
2. mettre un mot dans une bote 6 avec la \mbox{hmoti} ;
3. utiliser lordre \nolinebreak :
\nolinebreak[hnombrei]
pour empcher les sauts de lignes, et \nopagebreak :
\nopagebreak[hnombrei]
o hnombrei a la mme signication que pour les commandes
\linebreak et \pagebreak.
Conclusion
Ce chapitre a prsent les fonctionnalits standard de LATEX. Si
vous avez lu attentivement jusquici, vous devriez pouvoir produire
nimporte quel document simple (sans formule ni graphique, pour
linstant). Si vous ntes pas encore en mesure de personnaliser vos
documents, ils seront tout de mme dune trs bonne qualit typographique en vous vitant de vous poser des questions mtaphysiques
sur la bonne largeur dune marge ou le bon cart entre un titre
6. Car TEX ne coupe jamais une bote.
4.2
p. 63
42
et le texte,... En eet, les comportements par dfaut de LATEX rpondent, pour la plupart, des rgles en usage dans le monde de
limprimerie.
Chapitre
Sommaire
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
Mathmatiques
Voici les noms des douze aptres :
en tte Simon que lon appelle Pierre [...]
Lvangile selon Saint Matthieu Mt 10 2.
n des aspects pratique et rigolo 1 de LATEX est bien sr la gnration de formules mathmatiques ; elles seront naturellement
belles, sans que vous nayez faire quoique ce soit 2 . De plus, si vous
avez un mauvais souvenir dun certain diteur dquations, rjouissez vous : vous navez pas besoin de souris pour crire des quations !
La gnration dquations avec LATEX est un domaine particulirement vaste. Nous prsenterons ici les bases requises pour produire
les formules usuelles . Ce chapitre ne constitue donc quune petite
introduction la manipulation des formules avec LATEX.
1. Si, si ! Il y a mme des gens qui font des formules juste pour le plaisir !
2. Ou alors juste deux ou trois petites choses...
43
Mathmatiques
44
3.1
Cet exemple nous montre donc que lon entre en mode mathmatique
interne grce au symbole $, et que le mme symbole $ permet
den sortir. Dautre part, on utilise ici lenvironnement displaymath
qui est le plus simple pour produire des quations. Ce dernier peut
tre saisi grce aux commandes \[ et \] (cf. 3.7.1 page 54).
Nous vous prsenterons au 3.7 les dirents environnements de
LATEX.
Indice et exposant
x2
x_{2y}
x2y
x_{t_0}
x t0
x^2
x2
x^{2y}
x2y
x_{t^0}
x t0
x^{2y}_{t_0}
x2y
t0
x_{t^1}^{2y}
x2y
t1
3.2.2
45
Fraction et racine
\begin{displaymath}
\sqrt{\frac{1+\sqrt[3]{3x+1}}
{3x+\frac{1-x}{1+x}}}
\end{displaymath}
3.2.3
3.2
1 + 3 3x + 1
3x + 1x
1+x
Symboles
Symboles usuels
Le tableau 3.1 donne les macros produisant une partie des symboles dont vous pourriez avoir besoin.
Table 3.1: Symboles
\pm
\otimes
\mp
\oslash
\div
\odot
\ast
\leq
\times
\geq
\bullets
\equiv
\circ
\ll
\star
\gg
\setminus \
\sim
\oplus
\simeq
\ominus
\approx
mathmatiques usuels
\cong
\imath
=
\subset
\jmath
\supset
\ell
\subseteq
\aleph
\supseteq
\nabla
\in
\|
\ni
\partial
\emptyset
\wedge
\forall
\vee
\infty
\cup
\exists
\cap
Mathmatiques
46
ch. C
p. 257
Points de suspension
$C=\{\vec{c}_0,\vec{c}_1,\dots,
\vec{c}_N\}$
est lensemble des $N$ couleurs.
3.4
3.3
Enn les commandes \vdots et \ddots sont utiliser essentiellement dans les matrices (cf. 3.6 et lexemple 3.15). Ces deux com.
.
mandes produisent respectivement : .. et . . .
Flches
Voici un moyen simple pour mmoriser les commandes permettant de gnrer des ches :
toutes les commandes nissent par arrow ;
le prxe obligatoire left ou right indique la direction ;
le prxe facultatif long donne une version longue ;
la premire lettre de la commande mise en majuscule rend la
che double ;
on peut mettre des ches aux deux extrmits en collant les
deux mots left et right.
ainsi :
\rightarrow
\Leftarrow
donne
donne
\Longleftarrow
\Longleftrightarrow
donne
donne
3.3 Fonctions
47
Lettres grecques
Les lettres grecques sutilisent de la manire la plus simple qui
soit : en les appelant par leur nom. Ainsi : \alpha donne et \pi,
. Mettre une majuscule la premire lettre de la commande,
donne la majuscule correspondante : \Gamma donne . Attention,
toutes les majuscules ne sont pas disponibles dans lalphabet grec, on
mettra par exemple en majuscule, avec la lettre A (la commande
\Alpha nexiste pas).
Lensemble des rels
Une question cruciale que se posent les rdacteurs potentiels
de documents scientiques est : Comment peut/doit-on crire le
R de lensemble des rels ? . Les avis sont partags ce sujet.
Historiquement il semble quinitialement, dans les ouvrages de mathmatiques, le symbole des rels tait typographi en gras ( Soit
x R ) et que les professeurs pour reprendre ces notations sur un
tableau avec une craie avaient recours lartice de repasser plusieurs fois sur la lettre R ; cette pratique pnible aurait volue
vers lcriture bien connue : Soit x . Il y a donc les adeptes
du R, du R, etc. Pour choisir par soi-mme, voir les packages :
bbm qui propose la commande \mathbbm{R} produisant ,
la commande \mathbbmss{R} produisant , etc.
bbold qui propose la commande \mathbbm{R} produisant ,
etc.
amssymb qui propose les commandes \mathbb{R} produisant
R ainsi que \mathbf{R} produisant R
3.3 Fonctions
3.3.1
Fonctions standards
3.5
sin2 x + cos2 x = 1
3.6
sin2 x + cos2 x = 1
Mathmatiques
48
3.7
\begin{displaymath}
T=\arg \max_{t<0} f(t)
\end{displaymath}
3.3.2
LATEX utilise une syntaxe simple permettant de produire intgrales, sommes, etc. La syntaxe est la suivante :
\hopi_{hinfi}^{hsupi}
o hopi est lun des oprateurs sum, prod, int ou lim et hinfi
et hsupi sont les bornes infrieure et suprieure de la somme ou de
lintgrale. Ainsi on peut donc crire :
Somme des termes dune suite
gomtrique :
\begin{displaymath}
\sum_{i=0}^{n}q^i=
\frac{1-q^{n+1}}{1-q}
\end{displaymath}
n
X
i=0
qi =
1 q n+1
1q
Q
Le produit sutilise de manire analogue avec la commande \prod.
Un exemple avec une intgrale, en veux-tu en voil :
On dfinit le logarithme
nprien de $x>0$ comme suit :
\begin{displaymath}
\ln(x)=\int_{1}^{x}\frac{1}{t}
\,\mathrm{dt}
\end{displaymath}
3.9
49
lim f (x) =
xx0
Jespre que vous avez apprci le beau ; pour se xer les ides
sur les deux modes mathmatiques, voici les mmes formules
Pn mais
incrustes dans le texte. Donc dabord la sommation : i=0 q i =
Rx
1q n+1
, ensuite lintgrale : 1 1t dt = ln(x), et enn la limite :
1q
limxx0 f (x) = .
Loprateur not
3.11
Mathmatiques
50
3.4.2
Accents
3.4.3
\check{x}
\grave{x}
\dot{x}
x
`
x
\breve{x}
\tilde{x}
\ddot{x}
Vecteurs
3.12
3.4.4
Commande stackrel
donne : x 7 y.
3. En ralit les mathmaticiens dignes de ce nom raffolent de ce genre de
petits chapeaux au dessus des symboles ; certains en superposent mme deux,
voire trois...
4. Le package esvect dEddie Saudrais permet de produire des vecteurs avec
des flches mieux dessines que celles proposes ici.
51
(rien)
\,
\;
\quad
\:
\qquad
3.5.1
Mathmatiques
52
ce que donnait la formule par dfaut :
n
X
i=0
qi =
1 q n+1
1q
3.5.2
un = ln n
et
vn = (1 +
3.6.1
Comment a marche
1 n
)
n
53
3.14
Soit $A=\begin{array}{rc}
-1 & 1 \\
3 & 4
\end{array}$ la matrice ...
1
3
Soit A =
...
1
4
la matrice
3.15
\begin{displaymath} A=\left[\begin{array}{ccc}
3.6.2
a0n
..
.
ann
...
..
.
...
()
[ et ]
[]
\{ et \}
{}
\lfloor et \rfloor
||
\|
\lceil et \rceil
|
\langle et \rangle
hi
kk
soit $I=
\left[\begin{array}{cc}
1&0 \\ 0&1
\end{array}\right]$
la matrice identit.
3.16
soit I =
identit.
1
0
0
1
la matrice
Mathmatiques
54
3.17
On peut galement reprendre lexemple 3.13 page 52 avec des dlimiteurs pour ajuster la taille des parenthses :
Soient les suites (un ) et (vn ) :
n
1
un = ln n et vn = 1 +
n
Il doit toujours y avoir une commande \right pour une commande \left. Cependant, il nest pas ncessaire davoir les
mmes symboles droite et gauche.
3.6.3
3.18
soit $ S_i=\left\{\begin{array}{rl}
-1 & \mbox{si $i$ est pair}
\\
1 & \mbox{sinon.}
\end{array}\right.$
soit Si =
1
1
si i est pair
sinon.
Le package amsmath permet de saisir plus simplement les matrices avec notamment deux environnements : pmatrix (p pour parenthse) et bmatrix (b pour bracket).
\begin{displaymath}
\bar{\bar{\sigma}}=\begin{bmatrix}
\sigma_{11} & \sigma_{12} \\
\sigma_{21} & \sigma_{22} \\
\end{bmatrix}
\end{displaymath}
3.19
= 11
21
12
22
3.7.1
Lenvironnement displaymath
Vous lavez compris, si vous avez lu jusquici, displaymath afche une formule centre, interrompant le paragraphe. Un raccourci
55
agrable de :
\begin{displaymath}...\end{displaymath}
3.7.2
3.20
Lenvironnement equation
Loption de classe de document leqno met le numro des quations gauche. Et loption fleqn aligne les quations gauche,
au lieu de les centrer.
3.7.3
Formules multi-lignes
(3.1)
Mathmatiques
\begin{align}
(a+b)^2 & =
& =
\end{align}
(a+b)(a+b)\nonumber\\
a^2+b^2+2ab
3.22
56
(a + b)2 = (a + b)(a + b)
= a2 + b2 + 2ab
(3.2)
(a + b)2 = (a + b)(a + b)
3.23
= a2 + b2 + 2ab
Fontes
$\mathit{A\in\Phi}$
$\mathrm{A\in\Phi}$
$\mathbf{A\in\Phi}$
$\mathsf{A\in\Phi}$
$\mathtt{A\in\Phi}$
$\mathcal{A}\in\Phi$
Soit A
Soit A
Soit A
Soit A
Soit A
Soit A
(3.3)
3.8.2
57
3.8.3
et inversement :
3.24
et inversement :
\[ \prod_{1}^{n}f_i
\mbox{ et }\textstyle\prod_{1}^{n}f_i \]
deux produits :
n
Y
fi et
Qn
fi et
Qn
fi
n
Y
1
3.25
x = burpsi f (i)
3.26
= arcsin x = Arcsin x
fi
Mathmatiques
58
\[x=\vlunch_i f(\theta)\]
o $\theta = \zirgl y$
3.27
\DeclareMathOperator*{\vlunch}{vlunch}
\DeclareMathOperator{\zirgl}{Zirgl}
x = vlunch f ()
i
o = Zirgl y
Conclusion
Ce chapitre prsente les fonctions de base pour produire des
formules. Ces commandes susent pour la plupart des documents
scientiques. Si vous tes amens rdiger des documents trus de
formules complexes, il est possible que les seules macros de LATEX
ne susent plus. Cest pourquoi la clbre American Mathematical Society a conu pour vous un package nomm AMSTEX (mise
en route : \usepackage{amsmath}) capable de gnrer des formules
particulirement tordues.
Chapitre
Sommaire
4.1
4.2
4.3
4.4
4.5
4.6
Compteurs
Longueurs
Espaces
Botes
Dfinitions
Mais encore ?
A
et magnique quest L TEX, il est ncessaire de faire une pause
et de prendre connaissance de quelques concepts importants. Il nous
A
59
60
4.1 Compteurs
Toute partie dun document faisant lobjet dune numrotation
est gre par un compteur. Ces compteurs peuvent tre incrments
ou dcrments, remis zro, etc. On peut aussi en crer pour un
usage personnel.
4.1.1
Compteurs disponibles
paragraph
subparagraph
page
equation
figure
table
footnote
mpfootnote
enumi
enumii
enumiii
enumiv
4.1.2
Manipulation
Nous vous donnons, dans les paragraphes qui suivent, les outils
de base pour manipuler les compteurs. Il est important de noter que
les compteurs sont des variables globales. Ainsi les trois commandes
dcrites plus bas ont une porte globale. Il est galement utile de
noter que ces variables sont des entiers.
Cration
On peut crer un nouveau compteur grce la commande :
4.1 Compteurs
61
\newcounter{hcpteuri}[hcpt_maitrei]
qui cre un nouveau compteur hcpteuri. Si largument optionnel
hcpt_maitrei est prsent, le compteur hcpteuri est remis zro
chaque fois que le compteur matre hcpt_maitrei est incrment.
Affectation
On aecte une valeur un compteur de la manire suivante :
\setcounter{hcompteuri}{hvaleuri}
o hcompteuri est le compteur que lon veut modier, et hvaleuri la
valeur que lon veut lui aecter.
Incrmentation
On peut incrmenter ou dcrmenter un compteur grce la
commande :
\addtocounter{hcompteuri}{hvaleuri}
o hvaleuri est un nombre positif (resp. ngatif) pour raliser une incrmentation (resp. dcrmentation). Illustrons lutilisation de cette
commande en entrant la ligne suivante dans notre document :
\addtocounter{footnote}{357}
pour changer 359 la numrotation des notes de bas de page. Pour
que tout rentre dans lordre, avec les notes de bas de page suivantes,
nous avons prfr entrer dans notre source, la commande :
\addtocounter{footnote}{-357}
et normalement 3 , nous devrions avoir une numrotation correcte.
4.1.3
Affichage
62
4.2 Longueurs
63
4.2 Longueurs
Si les compteurs sont ddis la numrotation des objets dun
document, les longueurs dnissent lencombrement dune entit. Il
sagit en quelque sorte, dun type de donne de LATEX destin
exprimer les dimensions dun objet.
4.2.1
Units
1
72.27
inch ;
:
:
:
:
:
64
4.2.2
Il existe dans LATEX et dans chaque extension des longueurs prdnies. Ces longueurs dterminent en gnral, les dimensions de
certaines parties du document. Ainsi :
\parindent est la dimension de lindentation en dbut de
paragraphe. Cette dimension est prdnie 15pt ;
\textwidth et \textheight dnissent la largeur (resp. la
hauteur) du texte ;
\baselineskip reprsente la distance entre la base de la ligne
et la base de la ligne suivante (10pt dans ce document) ;
\parskip la distance sparant deux paragraphes ; cette distance est initialise 0pt plus 1pt 5 ;
...
Il est important de comprendre quil est possible dexprimer une
dimension en fonction dune de ces dimensions internes . Ainsi :
0.5\textwidth
reprsente la moiti de largeur de la page, et :
3\parindent
quivaut trois fois lindentation des paragraphes. Notez aussi que
lon peut crire -\baselineskip pour : -1\baselineskip
4.2.3
Comme pour les compteurs, il existe quelques commandes permettant de manipuler les dimensions.
Cration
La commande suivante cre une nouvelle longueur :
\newlength{hdimi}
o hdimi est le nom de la nouvelle dimension initialise 0pt (cf.
exemple page 66).
Attention, quel que soit lendroit o intervient la commande
\newlength, la longueur dfinie est toujours globale. De plus,
dclarer deux fois la mme longueur provoque une erreur. Par contre,
la modification dune longueur est locale au groupe ({...}) o elle
survient.
5. Cf. les dimensions lastiques pour avoir la signification du plus.
4.2 Longueurs
65
Affectation
On peut aecter une valeur une longueur avec la commande :
\setlength{hdimi}{hvali}
qui aecte la valeur hvali la longueur hdimi.
Incrmentation
On incrmente une longueur comme suit :
\addtolength{hdimi}{hvali}
qui a pour eet daugmenter la longueur hdimi de la valeur hvali.
Alors que vous lisez fbrilement ce paragraphe, nous nous
sommes permis daugmenter la longueur \parindent de 30 points
avec :
\addtolength{\parindent}{30pt} Alors que vous
lisez fbrilement ce paragraphe...
Ingnierie
2.10
p. 38
66
\newlength{\malongueur}
\settowidth{\malongueur}{Machin chose}
\begin{itemize}
\item Machin chose bidule
\item \hspace{\malongueur} truc
\end{itemize}
4
4.3
4.1
truc
p. 68
4.2.4
Longueurs lastiques
4.2 Longueurs
67
zro\hspace{\stretch{1}}%
tiers\hspace{\stretch{2}}un
4.2
tiers
un
4.2.5
Affichage
1.6
p. 15
[ ... ]
Le laus initial
Document Class: book 2001/04/21 v1.4 Standard LaTeX document
(/usr/share/texmf/tex/latex/base/bk12.clo)) (./test.aux)
7. Cest la commande \hspace qui produit une espace horizontale de longueur
dfinie par son argument.
68
> 17.62482pt.
l.10 \showthe\parindent
la valeur de la longueur
la longueur afficher
?
Lorsque la compilation est lance dans un terminal de commande,
une pression sur la touche <Entre> fait reprendre la compilation.
Comme indiqu la page 15, votre environnement de dveloppement ne vous permet peut tre pas directement davoir
accs aux messages de LATEX. vous de chercher o se trouvent ces
informations...
4.3 Espaces
4.3.1
Commandes de base
Pour insrer une espace 8 entre les objets, on dispose de commandes de la forme suivante :
\hdirispace{hdimi}
o hdimi est une longueur rigide ou lastique, et hdiri vaut :
v pour une espace verticale ;
h pour une espace horizontale.
Ainsi :
un saut\hspace{1cm}de \texttt{1cm}
\vspace{2\baselineskip}
et deux lignes vierges.
un saut
de 1cm
4.3
4.3 Espaces
69
4.3.2
soit 0.5\quad
soit 1em
soit 2\quad
zro\hspace{1cm}un\par
zro \hspace{1cm}un\par
zro \hspace{1cm} un\par
4.4
Voici quelques exemples montrant lutilisation des espaces horizontales. Tout dabord, notez que les espaces entourant la commande
\hspace ne sont pas ignores :
zro
zro
zro
un
un
un
4.5
4.6
un
un
70
Espaces verticales
petite :
moyenne :
suivant...
suivant...
grande :
suivant...
haut
haut
\vfill
fragile
\hfill{}fragile\hfill{}
\vspace{\stretch{2}}
\hfill{}bas
bas
\hrulefill{}
Il est important dutiliser la commande \vspace entre deux
paragraphes au risque davoir des rsultats surprenants. Il vaut
donc mieux prendre lhabitude dinsrer un saut de paragraphe une
ligne vierge ou une commande \par avant et/ou aprs \vspace.
4.4 Botes
La dernire section de ce chapitre sera ddie aux botes, et
vous verrez que le titre du prsent chapitre sera amplement justi !
Comme nous lavons aperu prcdemment, les botes sont des entits qui contiennent dautres lments (une bote pouvant en contenir
4.4 Botes
71
une autre). Ces entits peuvent dautre part tre positionnes selon
la fantaisie 9 de lutilisateur.
Il existe deux principaux types de botes (au niveau de TEX cest
un peu plus subtil) chacun deux ayant un comportement spcique.
Nous qualierons ces deux catgories comme suit :
bote simple
bote paragraphe
Nous verrons quune manipulation habile de ces botes permet de
produire des mises en page sophistiques particulirement utiles notamment lors de la conception de transparents.
Voici un premier exemple avec des botes simples qui, jen suis
sr, vous a saut aux yeux, cest le logo de TeX : TEX. Il sagit en
fait des trois lettres, T, E et X mises en bote et assembles avec
des dcalages horizontaux et verticaux :
TEX
ul
na
re
ul
na
ul
re
c
tr itro
o
n n
ul
renault
na
ci
na
re
n n
o o
tr citr
ci
re
notez que la bote du E est dcale vers le bas et que les trois botes
se superposent. Un autre exemple :
p
un laf
m e !
b ati form
o que u
le
bo
te da m
n
ax
s ath
+
un b=
e
c
ici chaque mot est dans une bote. Chaque bote est ensuite place
par rapport aux autres avec moult dcalages et rotations. Pour en
nir avec les exemples prliminaires, nous vous donnons ici deux
exemples utilisant les botes paragraphes :
72
4.4.1
4.8
hop !
une bote
rehop ! une
Les deux arguments hlargi et hposi sont optionnels et sils sont omis,
la largeur de la bote est celle du texte. Le cas chant on saisit :
\mbox{htextei}
au lieu de \makebox[][]{htextei}. On notera galement que loption s de la commande \makebox permet dtirer le contenu pour
quil fasse exactement la dimension impose :
\makebox[4cm][s]{Ouaaah quelle fatigue !}
4.9
Botes simples
Ouaaah
quelle
fatigue !
4.4 Botes
73
alors
voil
ah oui daccord
et
ou alors
\setlength{\fboxrule}{5pt}
rouge \framebox[2cm]{vert} bleu\par
\setlength{\fboxrule}{0.4pt}
\setlength{\fboxsep}{8pt}
cyan \framebox[2cm]{magenta} jaune
cyan
vert
magenta
bleu
jaune
Un particularit des botes simples contrairement aux botes paragraphes que lon rencontrera un peu plus loin dans ce chapitre,
est quelles neffectuent pas de csure, ainsi :
=== \framebox[3cm]{a ne risque pas dtre coup, a} ===
donnera :
===
===
a ne risque pas dtre coup,
a
On peut dailleurs exploiter cette fonctionnalit pour superposer du
texte (cf. paragraphe sur les botes de largeur nulle page 75).
4.4.2
On peut avec un peu dhabitude faire subir aux botes des dplacements dans toutes les directions.
Translation verticale
La translation est permise grce la commande :
\raisebox{htransi}[hprofi][hhauti]{htextei}
74
4.12
New York,
ligne 1 : XXXXX\\
ligne 2 :
XX\raisebox{0.8\baselineskip}{O}XX\\
ligne 3 : XXXXX\\
ligne 4 : XXXXX\\
ligne 5 :
XX%
\raisebox{0.8\baselineskip}[1ex][2ex]{O}XX\\
ligne 6 : XXXXX\\
\end{flushleft}
Donnera :
ligne 1 : XXXXX
O
ligne 2 : XX XX
ligne 3 : XXXXX
ligne 4 : XXXXX
O
ligne 5 : XX XX
ligne 6 : XXXXX
On soulve un O au milieu de la ligne 2. La bordure met en
vidence la place occupe par la bote souleve 10 . Au milieu de la
ligne 5, on soulve le mme O mais cette fois en imposant les dimensions (montres par la bordure). LATEX considre donc que la bote
rsultant de la translation fait 1ex de haut et 2ex de profondeur, il
eectue les sauts de lignes en consquence.
10. Cette bordure est insre ici pour la comprhension du mcanisme.
New
4.4 Botes
75
Translation horizontale
Non la \makebox[1.5cm]{censure}%
\hspace{-1.5cm}\makebox[1.5cm]{///////}
sur Internet.
4.13
///////
censure
4.3
p. 68
sur Inter-
avant\makebox[0cm][r]{\grogra D}aprs
4.14
avant\makebox[0cm][l]{\grogra G}aprs
C
avanta
G
prs
avant
Daprs
avantaprs
on produit bien une superposition mais lalignement nest pas exactement celui auquel on sattendait ; en eet largument l met le
contenu droite du point dinsertion de la bote, et gauche pour
largument r.
Rotation
Il existe plusieurs extensions de LATEX pour faire subir des rotations des lments de texte ; nous avons choisi de prsenter ici la
commande \rotatebox de lextension graphicx prsente au chapitre
5. La syntaxe en est la suivante :
\rotatebox{hanglei}{htextei}
o hanglei est langle dans le sens trigonomtrique, et htextei llment de texte faire tourner :
Attention \rotatebox{30}{virage}
dangereux.
4.15
76
ag
Attention vir
dangereux.
p. 241
4.4.3
Botes paragraphe
\parbox[hbposi][hhauteuri][htposi]{hlargeuri}{hcontenui}
4.4 Botes
77
haut
milieu
bas
haut
milieu
bas
haut
haut
milieu
bas
milieu
bas
78
Petites astuces
unebote ltroit.
une
bote
au large.
4.4.5
4.16
4.4.4
une
bote
vide.
Sauvegarde et rutilisation
4.5 Dfinitions
79
\newsavebox{\gnu}
\sbox{\gnu}{\fbox{\textsc{Gnu}}}
\begin{center}
\usebox{\gnu}\usebox{\gnu}\usebox{\gnu}\\
\usebox{\gnu}\usebox{\gnu}\usebox{\gnu}\\
\usebox{\gnu}\usebox{\gnu}\usebox{\gnu}
\end{center}
4.5 Dfinitions
Une nouvelle fois, laissons parler le matre :
. . . they have come to be known as macros because they
are so powerful; one little macro can represent an enormous
amount of material, so it has a sort of macroscopic eect.
Lorsque dans un document, on peut dnir une entit indpendante et que cette entit apparat plus dun certain nombre de
fois il est ncessaire de se poser la question de savoir sil nest pas
judicieux den faire une macro. Voil une phrase vague ! Pour rsumer, les macros sont l pour vous viter de refaire x fois les mmes
choses. Avec un peu dexprience, on peut dnir des commandes
trs pratiques et avec le temps de plus en plus complexes.
4.5.1
Commandes
\newcommand{\lab}{$L^*a^*b^*$}
Soit \lab{} lespace...
80
Soit L a b lespace...
\newcommand{\Lab}{%
\ensuremath{L^*a^*b^*}}
Lespace \Lab{} et $\vec{c}\in\Lab$.
4.19
Voici une commande utilisant un argument : elle permet de dessiner une touche de clavier 13 :
4.20
\newcommand{\Touche}[1]{\Ovalbox{#1}}
Appuyer sur \Touche{Tab}
puis sur \Touche{Entre}
Entre
4.21
4.5 Dfinitions
81
\newcommand{\Key}[1][Enter]{\Ovalbox{#1}}
Appuyer sur \Key[Tab]{} puis sur \Key{}
4.22
Enter
4.5.2
Environnement
\newenvironment{bonmot}%
{\small\slshape\begin{flushright}}%
{\end{flushright}\normalsize\upshape}
\begin{bonmot}
Lhomme a reu de la nature\\
une clef\\
avec laquelle il remonte la femme\\
toutes les vingt-quatre heures.
\end{bonmot}
4.23
82
Il est vrai que ce bon mot serait un peu douteux si lon ne citait
son auteur. On peut y remdier en ajoutant notre environnement
un argument. Les arguments sont accessibles par # mais ne sont
visibles que dans la clause begin. On contourne ceci en sauvant
4.4.5 largument dans une bote que lon rutilise dans la clause end :
\newsavebox{\auteurbm}
\newenvironment{Bonmot}[1]%
{\small\slshape%
\savebox{\auteurbm}{%
\upshape\sffamily#1}%
\begin{flushright}}
{\\[4pt]\usebox{\auteurbm}
\end{flushright}\normalsize\upshape}
\begin{Bonmot}{Victor Hugo}
Lhomme a reu de la nature\\
une clef\\
avec laquelle il remonte la femme\\
toutes les vingt-quatre heures.
\end{Bonmot}
p. 78
Victor Hugo
4.5.3
Redfinitions
83
84
9.3
p. 139
9.5
p. 151
indiquant que le systme cherchera les chiers inclure dans le rpertoire texmf de mon rpertoire priv. Il est alors possible placer
ses extensions maison dans le rpertoire ~/texmf/tex/latex.
Un dernier conseil : pour pouvoir dnir vos commandes ou environnements de manire plus confortable, nous vous recommandons
de jeter un petit coup dil sur :
lextension ifthen qui propose des structures de contrle de
type si-alors-sinon et faire-tant-que ,
le package calc qui permet deectuer des oprations arithmtiques sur les compteurs et les longueurs.
enn lenvironnement list qui peut tre un bon point de
dpart pour se dnir un environnement de type liste.
Ces extensions et leur utilisation sont prsentes en dtail dans la
deuxime partie de ce manuel.
Chapitre
Sommaire
5.1
5.2
5.3
5.4
5.5
5.6
Apritifs
Du format des fichiers graphiques
Le package graphicx
Quelques extensions utiles
Utiliser make
part a
Graphisme
Tu ne te feras aucune image sculpte de rien
qui ressemble ce qui est dans les cieux l-haut [...]
Tu ne te prosterneras pas devant ces images ni ne les serviras.
Le Deutronome Dt 5 8.
85
Graphisme
86
5.1 Apritifs
\rule[hhposi]{hlargeuri}{hhauteuri}
o hhposi impose une ventuelle translation verticale du trait, les
deux autres arguments ont un nom susamment explicite :
Voici quelques \og traits \fg{} :
\begin{center}
\rule[1ex]{1mm}{5mm}
\quad\rule{1in}{0.4pt}
\quad\rule[-0.5em]{1em}{1em}
\end{center}
87
5.3.1
Un standard
Aujourdhui, les concepteurs de LATEX semblent stre mis daccord pour standardiser une extension graphique. Deux extensions ont
donc vu le jour n de lanne 1994 :
graphics lextension standard ;
graphicx lextension plus plus .
Nous avons choisi de vous prsenter graphicx. Il faut bien comprendre
que si linterface de cette extension est indpendante du systme
dexploitation, la partie du code grant les dirent types de chiers
graphiques est dpendante du systme sous-jacent. Aussi, est-il ncessaire de prciser un driver de package. Les drivers existants correspondent aux implantations connues de TEX sur des plate-formes
diverses 2 . Sous Unix, le driver utilis est gnralement dvips, il est
choisi par dfaut dans la distribution teTEX, si bien que la ligne :
\usepackage{graphicx}
sut pour mettre en route lextension graphicx. La commande pour
inclure un dessin ou une gure est la suivante :
\includegraphics[hoptioni]{hfichieri}
o hfichieri est un chier contenant votre gure, et hoptioni est une
liste doptions spares par des virgules. \includegraphics ne cre
pas de mise en page particulire, elle insre juste une bote contant
le graphique dans le texte. Ainsi :
1. Cherchez du ct de la suite ImageMagick pour obtenir ce programme
sil nest pas prsent sur votre systme.
2. On notera entre autres : xdvi et dvips pour le monde Unix, texture et
OzTEX pour le Mac, emTEX et dviwin pour windows.
Graphisme
88
avant
\includegraphics{punch}
et aprs.
5.2
5
avant
et aprs.
Pour assurer la portabilit de vos sources et ainsi pouvoir insrer des fichiers graphiques dans des formats diffrents, il est
impratif de ne pas prciser lextension du fichier dans la commande
\includegraphics.
2.7
p. 32
En gnral, on combine \includegraphics avec un environnement figure. Par exemple, la gure 5.1 a t produite grce au
code suivant :
\begin{figure}
\centering\includegraphics[width=5cm]{punch}
\caption{Robert (aprs quelques bires).}
\label{fig-exemple}
\end{figure}
Notez bien que lenvironnement figure assure que le graphisme
flotte dans la page et non la commande \includegraphics.
Au cas o a aurait chapp certains :
89
Lenvironnement figure
assure que le graphisme flotte dans la page ;
a nest pas la commande \includegraphics
qui assure ce rle.
5.3.2
Options
\begin{center}
\includegraphics[scale=0.2]{magma}\\
\includegraphics[width=8.5mm]{magma}\\
\includegraphics[width=2cm,
height=3mm]{magma}
\end{center}
5.3
Rotation
Vous pouvez si vous le dsirez, faire eectuer une rotation votre
gure en utilisant loption angle, dont la syntaxe est la suivante :
angle=hndegrei
\includegraphics[angle=45,
scale=0.2]{magma}
5.4
Graphisme
90
pngs/punch.png
5.5
avant
\includegraphics[draft,scale=.2]{punch}
et aprs.
avant
et aprs.
Le mode draft est enclench par dfaut lorsque loption de document draft est spcie. Si vous voulez contrer leet de loption
de document 5 , il est possible dutiliser loption final de la commande \includegraphics ou au moment dinclure lextension avec
\usepackage.
5.4.1 subfig
Cette extension permet de grer des gures comportant plusieurs
sous-gures, avec numrotation automatique et possibilit de faire
rfrence aux sous-gures elles-mmes. Par exemple :
\begin{figure}[htbp]
\begin{center}
\leavevmode
\subfloat[Magma]{%
\label{fig-uniweria-magma}
\includegraphics[width=2cm]{magma}}
3. Utiliser locate ou find pour le trouver sur votre systme.
4. http://tug.ctan.org/tex-archive/info/epslatex/french/fepslatex.
pdf
5. Par exemple, si vous voulez voir vos figures mais aussi les
OverfullBoxMark.
(a) Magma
91
(b) UZMK
\hspace{2cm}
\subfloat[UZMK]{%
\label{fig-uniweria-uzmk}
\includegraphics[height=2cm]{uzmk}}
\caption{Uniweria Zkt}
\label{fig-uniweria}
\end{center}
\end{figure}
Pour ce qui concerne les rfrences, on peut soit rfrencer la gure globale par \ref{fig-uniweria} qui donne : 5.2, soit les sousgures par leur label respectif : \ref{fig-uniweria-magma} dune
part et \ref{fig-uniweria-uzmk} dautre part, qui donnent : 5.2a
et 5.2b.
Une manire lgante de grer les \subfigures est dencapsuler chacune delles dans un environnement minipage. Le fichier subfig.pdf accompagnant la distribution, montre comment personnaliser lenvironnement subfigure, notamment les espaces interlgendes.
5.4.2
Le package wrapfig
Le package wrapfig propose lenvironnement wrapfigure permettant de faire otter une gure dans un paragraphe. Il ne sagit pas
dun environnement ottant au sens de lenvironnement figure de
LATEX puisquon spcie la position de la gure dans le paragraphe.
La syntaxe est la suivante :
\begin{wrapfigure}{hpositioni}{hlargeuri}
...
\end{wrapfigure}
Graphisme
92
5.4.3
Le package psfrag
93
ex sin(10x)
exp(-x)*sin(10*x)
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
0
(a) avant
(b) aprs
\psfrag{chane}[l][c]{hequationi}
On aura alors lassemblage suivant :
chane
et
hquationi
donne
chane
hquationi
De mme en crivant :
\psfrag{chane}[r][l]{hequationi}
on aura :
chane
et
donne
hquationi
chane
hquationi
ch. A
p. 241
Graphisme
94
5.4.4
Le package xcolor
Voici un
{\color[rgb]{.2,.4,.5}\bfseries
bleu gris}...
5.7
5.8
\color{hcouleuri}
Makefile
95
maitre.tex
f.fig
Figs
i.png
Imgs
j.png
k.jpg
Epss
f.eps
i.eps
j.eps
k.eps
Figure 5.4: Proposition darborescence pour stocker les chiers graphiques : un rpertoire pour les images et un rpertoire pour les graphiques vectoriels. Les chiers au format Eps sont enregistrs dans
un rpertoire part.
Vous noterez quen lieu et place du modle de couleur rgb
il est possible dutiliser le modle gray de manire dfinir
des nuances de gris. De mme, en utilisant le modle html, on pourra
utiliser la syntaxe du langage Html pour spcifier les couleurs.
Graphisme
96
IMGSDIR=Imgs
5.5.1
i.png j.png
et JPGS :
k.jpg
On peut ensuite partir de ces deux variables crer la liste des
chiers Eps fabriquer (rappelez-vous quils doivent rsider dans un
rpertoire part) :
IMGS2EPSS=$(patsubst %,$(EPSSDIR)/%,\
$(PNGS:.png=.eps) $(JPGS:.jpg=.eps))
Lexpression droite de laectation permet de changer lextension
en eps dans les deux listes prcdentes et de prxer chaque nom
par le rpertoire de stockage des chiers Eps. IMG2EPSS contiendra
donc :
Epss/i.eps Epss/j.eps Epss/k.eps
Cette liste constitue les prrequis (au sens de make) pour fabriquer les images. On dnit donc la cible figs comme suit :
figs : $(IMGS2EPSS)
Il faudra galement expliquer make comment on peut fabriquer
un chier au format postscript encapsul partir dune image. Ceci
pourra scrire laide de la rgle suivante :
5.6 part a
97
$(EPSSDIR)/%.eps : $(IMGSDIR)/%.png
7 convert $< EPS:$@
$(EPSSDIR)/%.eps : $(IMGSDIR)/%.jpg
7 convert $< EPS:$@
qui prcise quon utilisera lutilitaire convert 6 pour convertir un chier Png ou Jpeg en Eps.
5.5.2
$(FIGSDIR)/%.fig
$< > $@
$(FIGSDIR)/%.svg
$<
5.6 part a
On peut trouver un grand nombre dextensions permettant de
produire des graphiques correspondant un besoin particulier (circuits lectroniques, histogrammes, arbres...). Vous pouvez en eet
6. Du package ImageMagick disponible http://www.imagemagick.org, qui
convertit peu prs tout format dimages
98
Graphisme
avoir besoin, un jour, de gnrer des graphiques de manire automatique partir dune commande. Jetez alors un coup doeil sur
les direntes extensions disponibles (pstricks, METAPOST,...) ainsi
que sur lenvironnement picture et ses extensions epic et eepic. Bon
courage !
Un package ayant aujourdhui le vent en poupe est le package
TikZ. Il offre ses valeureux utilisateurs la possibilit de crer
des dessins dans un langage sappuyant sur LATEX. Cest une solution
trs intressante lorsque dans un document, des schmas reviennent
sous des formes quivalentes plusieurs reprises. Ce package sera prsent dans la prochaine dition de ce manuel.
Chapitre
Sommaire
6.1
6.2
6.3
6.4
Article
Bibliographie
Index
Diviser votre document
Documents scientifiques
Les sages thsaurisent la science
mais la bouche du fou
est un danger permanent.
Les proverbes Pr 10 14.
99
100
Documents scientifiques
6.1 Article
Pour rdiger un article, rien de bien nouveau, tout ce qui a t vu
jusquici sapplique. On notera juste lutilisation dans le prambule,
des commandes :
\title pour dnir le titre,
\date pour dnir la date,
\author pour dnir les auteurs,
\thanks pour spcier laliation des auteurs.
Pour insrer le titre partir de ces dnitions, il est ncessaire
dajouter la commande \maketitle aprs le \begin{document} :
\documentclass{article}
\title{Le seuillage 128 : une rvolution !}
\author{M. C. Orlanrien\\
Institut du Pixel\\
42007 Saint-Etienne---FRANCE}
\date{2 Avril 1927}
\begin{document}
\maketitle% cest ici quest insr le titre
...
\end{document}
6.2 Bibliographie
Il existe deux manires de rdiger une bibliographie avec LATEX :
lune que lon peut qualier de manuelle consiste insrer un environnement thebibliography dans le document, lautre que nous
allons dcrire ici, utilise le programme BibTEX. Voici le principe :
1. on cre un ou plusieurs chiers de donnes contenant une
description de chaque entre de bibliographie (article, confrence,...) au format BibTEX. Cest linvitable tche de saisie,
1. Parce quil parat quenseigner cest rpter
6.2 Bibliographie
101
6.2.1
Fichier .bib
La premire opration est de constituer 2 le chier de bibliographie qui doit de prfrence porter lextension .bib. Ce chier
doit suivre une syntaxe particulire. Tout dabord, il faut savoir que
BibTEX distingue chaque entre par son type. Ainsi, chaque entre
correspond un type de document : livre, article, confrence, rapport technique,... En tout plus dune douzaine de types de document
dirents.
Accompagnant les distributions LATEX, on trouve normalement
un fichier nomm BibTEXing (sous le nom btxdoc.pdf) crit
par Oran Patashnik il y a une vingtaine dannes et contenant une
source importante dinformation sur la manire de constuire un fichier
au format BibTEX.
Documents scientifiques
102
hchampn i = {...}
}
o hentreei est le type de document (article, inproceedings,...)
et hchamp1 i, hchamp2 i, ..., hchampn i sont les dirents champs de
lentre de bibliographie. Ces dirents mots rservs de BibTEX
peuvent tre saisis en majuscules ou en minuscules.
Le symbole hclefi doit identier le document de manire univoque. Ce symbole est rapprocher du symbole identiant une tiquette avec \label. Pour vous permettre de commencer utiliser
rapidement BibTEX nous vous donnons, ici, un exemple pour les
trois principales entres que vous serez amen utiliser :
Article dans une revue
Un article dans une revue doit tre saisi comme suit :
@article{qtz:UchArb,
author ={Uchiyama, Toshio and Arbib, Michael A.},
title = {Color Image Segmentation
Using Competitive Learning},
journal=pami,
volume =16, number=2, pages={1197--1206},
month=dec, year=1994}
Notez que :
1. les champs author, title, journal, year sont obligatoires ;
2. pour les auteurs 3 il est impratif de suivre lordre hnomi,
hprnomi et de sparer tous les auteurs par and ;
3. pour les auteurs ayant un nom compos ou particule, on
saisira :
author="de la Motte Beuvron, Alain"
donc en respectant lordre hparticulei, hnomi, hprenomi et
en utilisant la virgule en guise de sparateur comme indiqu
ci-dessus ;
4. tous les mois de lanne peuvent tre produits grce aux
chanes : jan, feb, mar, etc.
Nous avons cr par commodit labrviation pami qui est dnie au
dbut de notre chier .bib par :
@string{pami="IEEE transactions on Pattern Analysis and
Machine Intelligence"}
3. Ces remarques concernant les auteurs sont valables pour les autres entres
(confrences, livres, etc.)
6.2 Bibliographie
103
6.2.2
Citation
104
Documents scientifiques
\cite{hclefi}
La commande \cite a pour eet :
1. dinsrer un renvoi dont la forme dpend du style choisi ([2],
[Loz95],...),
2. dajouter larticle cit dans la bibliographie de votre document.
Un articleau sens large du termenapparat dans la bibliographie que sil fait lobjet dune commande \cite. Pour quun
article apparaisse sans pour autant tre cit, il faut utiliser la commande \nocite{hclefi}. Larticle rfrenc par hclefi sera alors insr
dans la bibliographie. Par ailleurs, la commande \nocite{*} insre
toutes les entres de votre fichier de biblio.
6.2 Bibliographie
6.2.3
105
Gnration
doc.aux
LATEX
fichier1.bib
doc.bbl
doc.aux
BibTEX
doc.bbl
doc.aux
LATEX
Documents scientifiques
106
export BIBINPUTS=$HOME/LaTeX/biblio//:
dans votre .bash_profile pour que BibTEX cherche vos fichiers
de bibliographie dans le rpertoire $HOME/LaTeX/biblio (cest un
exemple).
6.3 Index
La gnration dindex sappuie sur deux concepts :
1. lajout de commandes \index dans le document LATEX pour
ajouter des entres dans lindex ;
2. lutilisation du programme makeindex qui va trier et mettre
en page lindex proprement dit.
Cest la commande \printindex qui insre lindex dans le document. Cette commande est analogue \tableofcontents.
6.3.1
linsrer
6.3 Index
6.3.2
107
Dtail du fonctionnement
doc.idx
LATEX
doc.ind
doc.ilg
makeindex
makeindex est bavard sur le terminal ; voici ce quil dit pour gnrer
lindex de ce document :
This is makeindex, version 2.13 [07-Mar-1997] (using kpathsea).
Scanning input file guide.idx....done (982 entries accepted, 0 rejected).
Sorting entries...........done (11254 comparisons).
Generating output file guide.ind....done (745 lines written, 0 warnings).
Output written in guide.ind.
Transcript written in guide.ilg.
doc.tex
doc.ind
LATEX
Documents scientifiques
108
Lutilitaire makeindex reconnat loption -s qui permet de spcifier un style pour lindex. Ces stylesdfinis dans des fichiers
portant lextension .istchangent la mise en page de lindex. On
utilise un fichier style de la manire suivante :
makeindex -s hchier-stylei hdocument-maitrei
Cherchez sur votre distribution quels sont les fichiers de styles et testezles.
6.3.3
la page i
la page j
109
Par exemple :
\index{bidule|textbf}
achera le numro de la page o apparat bidule en gras (notez
quil ny a pas de caractre \ pour la commande de mise en forme).
6.3.4
Glossaire
110
Documents scientifiques
Chapitre
Sommaire
7.1
7.2
7.3
7.4
Des documents en
franais
Lhomme rpondit : cest la femme
que tu as mise auprs de moi
qui ma donn de larbre, et jai mang !
La Gense Gn 3 12.
112
113
7.3.1
Ponctuation
114
fouilla ! et \selectlanguage{english}
fouilla !\selectlanguage{french}
7.3.2
7.1
7.2
7.3.3
1er
3e
37 C
1o , 2o , 3o , 4o
no 4
No 4
115
Lettrine
trouve dans certains documents des lettrines comme celle en
Ondbut
de ce paragraphe. Le package french de Bernard Gaulle
et le package lettrine dnissent une telle commande. Nous vous proposons dans la deuxime partie de ce document un exemple de code
LATEX permettant de gnrer une telle commande.
Sommaire
Dans un document franais, on insre gnralement la table des
matires en n de document et le sommaire, qui est une table des
matires rsume, en dbut de document. Le package french propose
la commande \sommaire qui permet comme son nom lindique
un sommaire dans le document. Encore une fois, nous vous proposons
dans la deuxime partie de ce document dtudier une manire de
gnrer un tel sommaire.
7
7.3.4
Recommandations dusage
7.3
116
\nombre{12345678,23434}
7.4
et ctera
avec etc.
etc. et non pas etc...
Monsieur
avec M. 4
M. Machin
Messieurs
avec MM.
MM. Machin et Bidule
Madame
avec M\up{me}
Mme Machin
Mademoiselle
avec M\up{lle} Mlle Machin
kilomtre(s)
avec km
25 km (pas de s)
kilogramme(s) avec kg
25 kg
le sparateur de partie dcimale et partie entire est la virgule
en franais, et le point en anglais. On doit donc crire :
123, 54.
on insre un quart de cadratin tous les milliers, et millimes :
12 345 678,234 34
7.3.5
Le cas de leuro
7.3.6
117
les deux points, etc.), voici trois points importants au sujet des majuscules (capitales comme disent les typographes).
Tout dabord les majuscules doivent tre accentues (je ne
mnerve pas, jexplique) lire ce sujet ce quen dit dans son manuel,
Yves Perrousseaux. Il y est expliqu que les accents prsents sur
les majuscules depuis le xvie sicle ont disparu avec larrive des
machines crire et de composition typographique dorigine anglosaxonne. On peut galement trouver dans tous les bons ouvrages de
typographie des exemples de phrases ambigus lorsque les accents
ne sont pas mis.
Ensuite, dans un titre, on ne mettra une majuscule qu la premire lettre (contrairement langlais o on met une majuscule
chaque mot). Enn, il faut insister sur le fait que lusage des majuscules est un domaine dont les nuances sont assez subtiles saisir.
Notons ici quelques points pour apprhender ces rgles :
on crit matre de confrences (donc sans majuscule) ;
luniversit Jean Monnet (pas de majuscule universit) ;
mais lUniversit lorsquon parle de la structure en tant quentit propre ;
le ministre de lIntrieur ;
lacadmie de Lyon ;
lAssemble nationale et le Snat parce quil sagit dorganismes uniques ;
les Espagnols (pour le peuple) et le franais (pour la langue)
Je ne rsiste pas lenvie de citer Jacques Andr :
[...] Voici typiquement le genre de phrase que lon
trouve dans notre rapport dactivit :
Jean Transent, Matre de Confrence en Analyse de Donnes lUniversit de Nancy(Bien
connue de la Communaut Scientique Internationale) a donn, lors du sminaire de Biologie Informatique de Mardi 23 Juin, une confrence sur les Applications de lIntelligence Articielle lemploi de la Tlvision Haute Dnition en Robotique Avance.
Dans cette phrase, il y a 23 majuscules. Il ne devrait y en
avoir que trois (Jean, Transent et Nancy). si si...
118
et Yves Perrouseaux :
Le noyau de LATEX comprend une classe de document pour rdiger des lettres. Cependant cette classe nest pas trs souple et mal
adapte au franais 5 , Pour les lettres franaises, nous conseillons
lutilisation de la classe lettre de Denis Megvand de lobservatoire de Genve. La classe et sa documentation peuvent se trouver : ftp://obsftp.unige.ch/pub/tex/macros/lettre et dans
le paquet tetex-frogg de la distribution Debian Sarge.
7.4.1
Commandes disponibles
Voici quelques unes des entits que lon peut dnir dans la classe
lettre :
Adresse de lexpditeur en utilisant la commande \address ;
Ville originaire \lieu permet dcrire en haut droite, lendroit
do lon crit la lettre ;
Tlphone et fax sont prciss avec les commandes \telephone
et \fax respectivement ;
Signature laide de la commande \signature ;
Objet de la lettre avec la commande \conc (pour concernant) ;
Pices jointes grce la commande \encl (de langlais enclosed )
5. Apprciation personnelle sur la version 1.2z de la classe letter du 9 fvrier
1999.
7.4.2
119
Nous donnons la gure 7.1 page 121 l ossature dun document LATEX bas sur la classe lettre. Les commandes \opening et
\closing sont obligatoires et ont respectivement pour objet dintroduire les formules de politesse de dbut et de n de lettre.
7.4.3
Fichiers instituts
La classe lettre est livre avec un chier default.ins qui dnit par dfaut ladresse de lobservatoire de Genve. Ladministrateur du systme LATEX que vous utilisez devra donc adapter ce chier
votre organisation.
On peut cependant dnir son propre chier institut et linclure dans ses lettres. Lorsquon veut envoyer des lettres titre personnel 6 , il est en eet plus logique dutiliser ses propres coordonnes ; on pourra alors dnir un chier nomm moi.ins contenant
par exemple :
\address{%
M. Expditeur\\
27, rue du cube parfait\\
19683 Huit}
\lieu{Huit sur Loire}
\telephone{1234567890}
\fax{0987654321}
\signature{Tar \textsc{Tempion}}
Il sut alors de faire apppel dans le prambule du document,
la commande \institut qui cherche un chier portant lextension .ins :
\institut{moi}
7.4.4
Fax
La classe lettre contient galement un environnement pour prparer un fax avec un en-tte correspondant votre organisation. Le
6. Ce qui na pas vritablement lieu dtre puisque vous tes tout de mme
au boulot pour bosser et non pas pour envoyer du courrier personnel.
120
principe gnral et les mots cls sont les mmes condition dutiliser lenvironnement telefax en lieu et place de lenvironnement
letter.
Notez quon peut ici aussi utiliser les chiers instituts . Enn
la commande \addpages permet de grer le cas o vous joignez un
document dj imprim votre fax. Par exemple si vous avez
envoyer n pages votre fax initial, il faudra ajouter la commande
\addpages{hni}. La gure 7.2 page 122 montre le document minimal
pour crer un fax.
\opening{Madame,}
\begin{letter}{%
M\up{me} \textsc{Destinataire}\\
4, rue de Square\\
65536 Carr
}
\address{%
M. Expditeur\\
27, rue du cube parfait\\
19683 Huit}
\begin{document}
\documentclass[12pt]{lettre}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
P.j.
Mme Destinataire
4, rue de Square
65536 Carr
Tar Tempion
Madame,
Tl. 1234567890
Fax : 0987654321
M. Expditeur
27, rue du cube parfait
19683 Huit
\end{telefax}
\end{document}
\closing{ bientt.}
\opening{Cher Monsieur,}
\conc{la bazar}
\name{Ren Kspditeur}
\address{\centering
Institut du pixel\\
128 rue du niveau de gris\\
65535 rode sur Loire}
\begin{document}
\documentclass[12pt]{lettre}
\usepackage[latin1]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
Ren Kspditeur
De :
TLFAX
Nombre de pages :
Tlcopie : 01234567
TLFAX : 987.75.31
bientt.
Cher Monsieur,
Objet : la bazar
Ren Kspditeur
M. le destinataire
33 rue du fax
98000 CCIT groupe 3
TLPHONE : 987.64.20
Institut du pixel
128 rue du niveau de gris
65535 rode sur Loire
122
Des documents en franais
Chapitre
Sommaire
8.1 Livres et autres manuels
8.2 Local
8.3 EffTp, Oube et niouses
vous de jouer !
Tu ne coucheras pas avec un homme
comme on couche avec une femme.
Cest une abomination.
Le Lvitique Lv 18 22.
il est vrai que LATEX permet de faire peu prs tout ce que lon
veut, il est souvent dicile de savoir comment le lui demander.
Nous tenterons ici de vous donner quelques points dentre pour
chercher plus de documentation sur le monstre.
123
vous de jouer !
124
La documentation standard concernant TEX et LATEX est constitue des ouvrages suivants :
LATEX: A Document Preparation System de L. Lamport [10] ;
The LATEX Companion [6] de M. Goossens, F. Mittelbach
et A. Samarin
The LATEX Graphics Companion [5] des mmes auteurs ;
The TEXbook [9] de Knuth ;
La (vieillissante) FAQ franaise de LATEX disponible lurl
suivante :
http://www.grappa.univ-lille3.fr/FAQ-LaTeX.
On y trouve aujourdhui environ 70 questions rpondant essentiellement des problmes classiques de mise en page.
Deux ouvrages dinitiation en franais sont parus rcemment:
LATEX de D. Bitouz et J.C. Charpentier [4] ;
LATEX pour limpatient de C. Chevalier et al. [3].
Voici une liste douvrage traitant de LATEX 2 en franais :
Apprends LaTeX ! de M. Baudoin ;
Joli manuel pour LATEX 2 de B. Bayart
Aide mmoire pour LATEX de C. Willems et F. Geraerds ;
Guide dintroduction franais au traitement de texte LATEX
crit par F. Geraerds ;
Une courte (?) introduction a LATEX 2 de T. Oetiker, H.
Partl, I. Hyna, E. Schlegl, traduit de lallemand.
Ces documents sont gnralement disponibles au format pdf.
8.2 Local
Avant de vous jeter sur ce pauvre rseau international, sachez que
si vous avez la chance dutiliser la distribution TEXLive, vous aurez
accs un utilitaire vous permettant deectuer une rercherche dans
lensemble de la documentation, par exemple :
texdoc graphicx
trouve automatiquement pour vous le manuel de lextension graphicx. Lurl suivante :
file:///usr/local/texlive/2013/doc.html
125
vous fournit une page avec lindex des packages installs sur votre
distribution TEXLive ( condition de lavoir installe dans le dossier
/usr/local/ bien sr).
Enn, nhsitez pas utiliser les commandes de recherche de
chiers disponibles sur votre systme pour essayer de trouver des
informations sur un package ou une fonte partir de son nom. Par
exemple, sur un systme Unix :
locate babel.pdf
8.3.1
CTAN
8.3.2
Sites Web
vous de jouer !
126
Enn, sur le modle du site Stack Overow , une plateforme alimente par les utilisateurs eux-mmes :
http://tex.stackexchange.com
8.3.3
Les newsgroups
vous de jouer !
II
Tout ce que vous avez
toujours voulu savoir
sur (Tout ce que vous
avez toujours voulu
savoir sur LATEX sans
jamais oser le
demander) sans jamais
oser le demander
Introduction
Que tes pieds sont beaux dans ta chaussure, fille de prince!
Les contours de ta hanche sont comme des colliers, uvre des mains dun
artiste.
Ton sein est une coupe arrondie, O le vin parfum ne manque pas
Ton corps est un tas de froment, Entour de lis 1 .
Le Cantique des cantiques Ct 7 2.
129
130
Lide a germ dans mon esprit dcrire les chapitres suivants
aprs avoir eu plusieurs questions de lecteurs me demandant sils
pouvaient rutiliser tel ou tel aspect du style de ce document. Le
chantier que reprsente la rdaction des pages qui suivent a t
pour moi titanesque dans la mesure o jai d prsenter des aspects de LATEX qui ne font plus partie des connaissances de base et
qui sont donc ce titre plus diciles expliquer 2 . Enn et non
des moindres ce qui reste gnralement de lordre du bazar priv
a d ici tre rationnalis pour tre prsentable. Ce qui na pas
t une mince aaire.
Jai voulu dans cette partie prsenter la dmarche que jai adopte pour gnrer ce document. Je ne prtends pas quil sagit du seul
moyen possible pour obtenir la mise en page que vous avez sous les
yeux. Par exemple, certaines parties de ce document auraient pu tre
produites laide de paquets existants fournissant des fonctionnalits analogues ou mme meilleures que celles des outils dvelopps
ici.
Lide sous-jacente cette partie est donc bien de guider lutilisateur curieux vers des pistes dexploration de LATEX, de montrer
comment on peut laide de quelques outils, mettre au point des
commandes originales correspondant exactement ses propres besoins. Ces pistes sont susament gnrales pour tre suivies telles
quelles ou adaptes pour des cas similaires ou non. Il sagit donc
de dcouvrir les grands classiques des fonctionnalits internes de
LATEX et davoir la satisfaction sans pour autant prner la
r-invention de la roue de crer ses propres outils
Jai tent, autant que possible, de prsenter des commandes nutilisant que LATEX. Il a cependant parfois t ncessaire dutiliser certaines des fonctionnalits de TEX ce qui a donn loccasion de les
prsenter ici. Cette partie se compose donc de trois chapitres :
Outillage ncessaire qui prsente les commandes connatre permettant de squiper pour la suite. On y trouve par exemple
quelques pistes sur la structure des chiers dune distribution
LATEX, des ides pour changer les fontes dun document, et
une prsentation dtaille de la cration de nouveaux environnements bass sur les listes ;
Cosmtique qui prsente les outils qui ont t mis en uvre pour
changer lallure des titres, des en-ttes et pieds de page, des
2. Dautant plus, je lcris en petit, que je ne les matrise pas du tout.
131
marges, et quelques autres petites choses ;
De nouveaux jouets qui est loccasion dexpliquer la cration des
onglets de ce manuel, du glossaire, des exemples, du sommaire, des lettrines, des notas, et de quelques autres bricoles.
Certaines explications donnes dans les chapitres qui suivent
sont tellement fumeuses que mme lauteur ne les comprend
pas. Certaines solutions apportes aux problmes ne sont que partielles.
Enfin, certaines choses restent mystrieuses pour votre serviteur ; dans
ces situations, un panneau dos dne est insr dans le paragraphe.
Chapitre
Sommaire
9.1
9.2
9.3
9.4
9.5
9.6
Hercule Poirot
Outils de bas niveaux
Structures de contrle et tests
Fontes
Listes et nouveaux environnements
Des environnements qui mettent
en bote
Outillage ncessaire
Que tu es belle, que tu es agrable,
mon amour, au milieu des dlices !
Ta taille ressemble au palmier,
Et tes seins des grappes.
Le Cantique des cantiques Ct 7 7.
133
Outillage ncessaire
134
9.1.2
135
dfinition de \leavevmode
Outillage ncessaire
136
9.1
\newcommand{\beurk}{
bidule
}
==(\beurk)==
9.3
==(bidule)==
9.2
\newcommand{\ahhh}{%
bidule%
}
==(\ahhh)==
137
Il est impratif\begin{hyperimportant} de
multiplier les
sauvegardes\end{hyperimportant} de vos
documents personnels
9.4
Pour viter davoir se soucier de ce genre de problme on a gnralement recours deux commandes permettant de supprimer ces
espaces doubles. On fait appel, pour liminer ceux situs avant la
squence \ignorespaces et pour ceux situs aprs, la commande
\unskip.
La commande \ignorespaces
Cette commande procde lexpansion des commandes qui la
suivent en ignorant tous les espaces qui la suivent :
a\truc\bidule b\par
a\ignorespaces\truc\bidule b
9.5
\newcommand{\truc}{ }
\newcommand{\bidule}{ }
a b
ab
Outillage ncessaire
Il est impratif
\begin{hyperimportant}
de multiplier les sauvegardes
\end{hyperimportant}
de vos documents personnels.
9.6
138
La commande \unskip
Si vous tes attentif, vous noterez que deux espaces entre sauvegardes et de rsistent nos assauts. Cest l quintervient la
primitive TEX \unskip qui enlve le dernier espace insr :
a\truc\bidule b\par
a\truc\bidule\unskip b
9.7
\newcommand{\truc}{ }
\newcommand{\bidule}{ }
a b
ab
Il est impratif
\begin{hyperimportant}
de multiplier les sauvegardes
\end{hyperimportant}
de vos documents personnels.
9.2.2
9.8
Le caractre @
139
\makeatletter
% ici on peut bidouiller
\renewcommand{\@ttention}{oulala...}
\makeatother
% ici on ne peut plus
La commande hypothtique \@ttention peut uniquement tre manipule si le caractre @ est une lettre. Cest le rle de \makeatletter
qui transforme le caractre @ en une lettre comme les autres, tandis
que la commande \makeatother lui raecte sa fonction spciale.
Cette manipulation nest pas ncessaire dans les fichiers de
styles inclus avec la commande \usepackage pour lesquels la
lettre @ peut tre utilise comme un caractre.
9.2.3
Le \let de TEX
Outillage ncessaire
140
\ifthenelse{ hexpression boolennei }
{ ... code LaTeX si vrai ... }
{ ... code LaTeX si faux ... }
et :
9.3.1
p. 139
141
\ifthenelse{\boolean{hid booleni}}
{ code LaTeX si hid booleni vaut vrai }
{ code LaTeX sil vaut faux
9.3.2
Exemples
On souhaite crire une commande pour produire le dveloppement de la fonction factorielle 2 de manire pouvoir crire :
On peut exprimer la factorielle
de 9 comme suit :
9.9
9! = 9 8 7 6 5 4 3 2 1
Une faon de rsoudre le problme est dcrire une commande contenant une boucle \whiledo :
\newcommand{\itfactorielle}[1]{%
\setcounter{cptfact}{#1}% on stocke larg. dans un compteur
\whiledo{\value{cptfact}>1}{% tant quil est > 1
2. Y en a qui nont pas grand chose faire de leur journe...
Outillage ncessaire
142
9.10
249
75
221
88
143
9.11
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Outillage ncessaire
144
240
9.12
246
241
247
252
9.3.3
242
248
253
243
249
254
244
250
245
255
peut ne pas donner le rsultat escompt. Le compteur de page lorsquil est examin la frontire entre deux pages peut ne pas tre
jour : le compteur de page sil est interrog au dbut dune page
renverra le numro de la page prcdente... Ceci est d la manire
dont TEX procde pour eectuer les sauts de page. Pour contourner
ce problme plusieurs solutions sont possibles. Celle adopte dans
ce document consiste utiliser le package chngpage qui insre articiellement un \label lendroit o lon veut tester la parit de la
page.
Par consquent dans le cas o le test de parit raliser peut
tre valu la frontire entre deux pages, il faudra crire :
\checkoddpage%
\ifcpoddpage
... la page est impaire ...
\else
... la page est paire...
\fi
251
9.4 Fontes
145
9.4 Fontes
9.4.1
9.4.2
Outillage ncessaire
146
m
m
bx
sbc
n
sl
n
n
Codage T1
normal
pench
gras tendu normal
semi gras condens normal
m
m
m
m
n
it
sl
sc
Codage T1
normal
italique
pench
petites capitales
Codage T1
m n normal
9.4 Fontes
147
m
m
m
Codage T1
n normal
it italique
Codage T1
n normal
Fontes en bton
Elles ont t dessines par Knuth pour son ouvrage intitul
Mathmatiques concrtes . Le package beton 5 permet de les charger dans un document.
Concrete fonts (ccr)
Codage T1
machin Bidule Chouette chose
m n
normal
machin Bidule Chouette chose m sc petites capitales
machin Bidule Chouette chose
m sl
pench
machin Bidule Chouette chose
m it
italique
Fontes gothiques
Les fontes ci-deous sont dites de la famille gothique et ne sont `a utiliser que
dans un contexte bien precis faute de rendre le texte parfaitement illisible, comme
celui que vous etes en train de lire actuellement, dailleurs vous avez probablement
dej`a arrete, donc je peux dire des gros mots : caca...
Gothique (ygoth)
Codage U
main Bidule Cuette ose m n
Fraktur (yfrak)
main Bidule Chouette ose
Schwabacher (yswab)
main Bidule Chouette ose
Codage U
m n
Codage U
m n
Fontes PostScript
Les fontes ci-dessous sont gnralement disponibles gratuitement
et rsident la plupart du temps dans les imprimantes.
5. Notez ici le jeu de mots dsopilant, concrete veut aussi dire bton en
langue anglaise.
Outillage ncessaire
148
Times (ptm)
machin Bidule Chouette chose
machin Bidule Chouette chose
machin Bidule Chouette chose
MACHIN B IDULE C HOUETTE CHOSE
machin Bidule Chouette chose
Palatino (ppl)
machin Bidule Chouette chose
machin Bidule Chouette chose
machin Bidule Chouette chose
MACHIN B IDULE C HOUETTE CHOSE
machin Bidule Chouette chose
charter (bch)
machin Bidule Chouette chose
machin Bidule Chouette chose
machin Bidule Chouette chose
MACHIN B IDULE C HOUETTE CHOSE
machin Bidule Chouette chose
m
m
m
m
b
m
m
m
m
b
n
it
sl
sc
n
Codage T1
normal
italique
pench
petites capitales
gras
n
it
sl
sc
n
Codage T1
normal
italique
pench
petites capitales
gras
Codage T1
n
normal
it
italique
sl
pench
sc petites capitales
n
gras
m
m
m
m
b
m
m
m
m
b
Codage T1
n
normal
it
italique
sl
pench
sc petites capitales
n
gras
m
m
m
m
b
Codage T1
n
normal
it
italique
sl
pench
sc petites capitales
n
gras
9.4 Fontes
149
Helvetica (phv)
machin Bidule Chouette chose
machin Bidule Chouette chose
MACHIN B IDULE C HOUETTE CHOSE
machin Bidule Chouette chose
machin Bidule Chouette chose
Avantgarde (pag)
machin Bidule Chouette chose
machin Bidule Chouette chose
MACHIN B IDULE C HOUETTE CHOSE
machin Bidule Chouette chose
machin
machin
MACHIN
machin
Courier (pcr)
Bidule Chouette
Bidule Chouette
BI D U L E CH O U E T T E
Bidule Chouette
m
m
m
b
CHOSE
chose
n
sl
sc
n
n
Codage T1
normal
pench
petites capitales
gras
gras condens
Codage T1
n
normal
sl
pench
sc petites capitales
n
gras
m
m
m
b
chose
chose
9.4.3
m
m
m
b
bc
Codage T1
n
normal
sl
pench
sc petites capitales
n
gras
Codage T1
n normal
Changer de fontes
Globalement
On peut changer de police de caractres en utilisant des packages
plus ou moins standard de la distribution LATEX :
N mathptmx
N newcent
N mathpazo
: pour le Palatino ;
N ...
Outillage ncessaire
150
ce qui signie que comme expliqu au 9.4.1 page 145 on a redni les trois familles roman , sans srif et machine crire
en les nommant par leur nom LATEX standardis : pcn pour PostScript NewCentruy, pag pour PostScript AvantGarde etc. Les noms
standardiss sont donns dans les tableaux de la section prcdente.
Localement
{\fontfamily{cmfr}\selectfont On passe
en Funny Roman et mme quon peut
faire de l\emph{italique}... cest
dingue !} Et hop nous voila de nouveau
en \verb+\rmdefault+
9.14
9.13
Big!
Avant
aprs.
bon b l moins davoir une bonne loupe vous ne serez pas capable
9.15
\DeclareFixedFont{\toupiti}
{T1}{pag}{m}{n}{3pt}
Avant {\toupiti bon b l moins davoir
une bonne loupe vous ne serez pas capable
de lire ce texte} aprs.
151
de lire ce texte
9.5.1
Principe
Outillage ncessaire
152
(4)
tiquette:
(3)
(2)
Remarque assez importante: (2) si la largeur de ltiquette est infrieure \labelwidth alors ce
texte est insr dans une bote de largeur
\labelwidth. Dans le cas contraire, comme cest le cas ici, le texte de ltiquette
sera insr dans une bote de la largeur ncessaire et le paragraphe sera indent en
consquence.
\makelabel qui attend un argument, permet de produire ltiquette. Ainsi lorsquon entre \item[htexte tiquettei], il est
fait appel la commande \makelabel{htexte tiquettei}.
9.5.2
Rglage de ltiquette
labelwidth
labelsep
labelwidth
2
153
labelsep
itemindent
itemindent
leftmargin
Paragraphe
rightmargin
leftmargin
Paragraphe
rightmargin
9.5.3
Rglages verticaux
On peut galement rgler les blancs verticaux dans lenvironnement list. Ces paramtres permettent notamment de dnir les
espaces entre les paragraphes constituant les entres de liste, mais
galement les blancs que lon veut insrer avant ou aprs la liste. Il
sagit de :
\itemsep : lespace entre chaque entre de liste ;
\parsep : lespace entre deux paragraphes lintrieur dune
entre de liste ;
\topsep : le blanc insr avant et aprs lenvironnement cr,
auquel est ajout \partopsep si celui-ci commence un nouveau paragraphe.
9.5.4
Outillage ncessaire
154
4.0pt
4.0pt
8.0pt
2.0pt
9.16
X ooooooooooooooo
ooooooooooooooo
oo
uuuuuuuuuuuuuu
uuuu
Machin v v v v v v v v v v v v
Aprs aprs aprs aprs aprs
aprs aprs aprs aprs aprs
9.5.5
e e e e e e e e e
e e e e e e e e e
eeeeeeeeeeeeeeee
eeeeeeeeeeeeeeee
eee
9.17
155
Exemples
\begin{ficaux}
\item[tex] fichier source \LaTeX{} ; bla
blabla blabla blabla blabla blabla bla
blabla blabla blabla blabla
\item[aux] fichier auxiliaire ...
\item[log] le fichier de trace ...
\item[dvi] fichier \emph{device
independant},...
\end{ficaux}
9.18
aux
log
dvi
Outillage ncessaire
156
labelwidth
labelwidth
2
labelsep
Paragraphe
leftmargin
leftmargin
labelsep
itemindent
Paragraphe
rightmargin
rightmargin
3
2
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooooooooooooo
oooooooooooooo
ooooooo
ooooooooooooo
oooooooooooooo
oooooooooooooo
ooooooooooo
ooooooooooooo
oooooooooooooo
ooooooo
9.19
\begin{question}
\item o o o o o o
o o o o o o o o
\item o o o o o o
o o o o o o o o
o o o o o o o o
\item o o o o o o
o o o o o o o o
\end{question}
157
\begin{packages}
\item[bidule] cette extension permet
dinsrer des bidules dans son
document sans avoir savoir sil
sagit de machin ou de truc.
\end{packages}
9.20
N bidule
: cette extension
permet dinsrer des bidules
dans son document sans
avoir savoir
sil sagit de
machin ou de
truc.
Outillage ncessaire
158
labelwidth
2
itemindent
labelwidth
3
1
leftmargin
labelsep < 0
Paragraphe
rightmargin
itemindent
leftmargin
3 labelsep < 0
Paragraphe
rightmargin
(a) Utiliser un \labelsep ngatif. (b) Crer une bote paragraphe pour
superposer ltiquette et le paragraphe.
9.5.6
159
\setlength{\itemsep}{.8\baselineskip}%
\renewcommand{\makelabel}[1]{%
\boiteentreeglossaire{##1}}}}
{\end{list}}
La valeur .8\baselineskip pour \itemsep permet darer le glossaire en insrant des blancs entre chaque entre. La commande permettant de gnrer la bote contenant lentre de liste superposer
est :
\newcommand{\boiteentreeglossaire}[1]{%
\parbox[b]{\labelwidth}{%
\setlength{\fboxsep}{3pt}%
\setlength{\fboxrule}{.4pt}%
\shadowbox{\sffamily#1}\\\hfill\mbox{}}}
Pour comprendre comment est positionne cette bote, nous avons
quelque peu modi la commande prcdente pour dessiner un cadre
autour :
Bidule
ooooooooooooo
ooooooooooooooo
ooooooooooooooo
ooooo
9.21
\begin{leglossaire}
\renewcommand{\boiteentreeglossaire}{%
\fboiteentreeglossaire}%
\item[Bidule] o o o o o o o o o o o o
o o o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o o o
\item[Truc muche] o o o o o o o o o o
o o o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o o o
\end{leglossaire}
Truc muche
ooooooooooooo
ooooooooooooooo
ooooooooooooooo
ooo
Outillage ncessaire
160
9.6.1
Principe
9.6.2
Exemple
la question : comment pourrait-on faire pour encadrer cette remarque ? nous rpondons sans hsiter : avec lenvironnement lrbox.
Dans la mesure o il ny a pas de moyen avec LATEX de commencer
une \fbox dans la clause begin et de la nir dans la claude end, on
utilisera le principe suivant :
1. stocker le contenu encadrer laide de lenvironnement
lrbox
2. lencadrer en rutilisant la bote ainsi construite.
On aura donc :
161
\newsavebox{\boiteremarque}
\newenvironment{remarque}{%
% clause begin
\begin{lrbox}{\boiteremarque}% dbut mise en bote
\begin{minipage}{.8\textwidth}}{%
% clause end
\end{minipage}
\end{lrbox}% fin mise en bote
% production de la bote encadre
\begin{center}
\fbox{\usebox{\boiteremarque}}
\end{center}}
Cette ide est utilise plusieurs reprises dans les deux chapitres
qui suivent.
Il faut noter que la bote que dfinit lenvironnement lrbox est
une bote simple linstar des botes cres par les commandes
de la famille \mbox et par consquent ne peut contenir de saut de
paragraphe.
4.4.1
p. 72
Chapitre
Sommaire
10.1
10.2
10.3
10.4
10.5
10.6
Allure de lindex
Allures des titres
Gomtrie
En-tte et pied de page
Environnements verbatim
About those so called french
guillemets
10.7 Une bote pour le mini-sommaire
10
Cosmtique
Je me dis: Je monterai sur le palmier, Jen saisirai les rameaux !
Que tes seins soient comme les grappes de la vigne,
Le parfum de ton souffle comme celui des pommes,
Et ta bouche comme un vin excellent qui coule aisment pour mon bien-aim,
Et glisse sur les lvres de ceux qui sendorment !
Le Cantique des cantiques Ct 7 10.
163
Cosmtique
164
10.1
Allure de lindex
prambule
01
\indexspace
espace inter-groupe
\end{theindex}
postambule
165
{\large\sffamily\bfseries%
\shadowbox{C}\hfil}\nopagebreak
10.1
10
Cosmtique
166
10.2
01
profondeur
-1
0
1
2
Titre
subsubsection
paragraph
subparagraph
profondeur
3
4
5
167
\newcommand{\section}{%
\@startsection%
{section}% nom du titre
{1}% niveau de titre
{0pt}% indentation
{-3.5ex plus -1ex minus -.2ex}% espace vertical avant
{2.3ex plus.2ex}% espace vertical aprs
{\normalfont\Large\bfseries}} % allure du titre
Ce code permet de dnir comment sera produit le titre dune section. On constate que la commande \section fait appel la commande \@startsection, cette dernire attendant six arguments :
le nom du titre : section, subsection, etc.
son niveau : 1 pour section, 2 pour subsection, 3 pour
subsubsection, etc.
son indentation ;
le blanc vertical avant le titre ;
le blanc vertical aprs le titre ;
un ensemble de dclarations pour formater le titre lui-mme.
On pourra donc noter que la mise en page par dfaut de LATEX pour
les sections dans la classe book est la suivante :
pas dindentation (0pt)
espace avant le titre de 3.5ex avec un tolrance de plus -1ex
et moins -.2ex ;
espace aprs le titre de 2.3ex avec une tolrance de plus
.2ex ; on pourra noter que si lespace est ngatif, le paragraphe commence juste aprs le titre, et non sur un nouveau
paragraphe ;
les titres sont en gros et en gras dans la fonte normale .
Pour dnir lallure des sections de ce document, nous avons introduit trois longueurs pour lindentation de sections, subsections
et subsubsections :
\newlength{\sectiontitleindent}
\newlength{\subsectiontitleindent}
\newlength{\subsubsectiontitleindent}
Ces longueurs ont pour valeur :
\setlength{\sectiontitleindent}{-1cm}
\setlength{\subsectiontitleindent}{-.5cm}
\setlength{\subsubsectiontitleindent}{-.25cm}
10
168
Cosmtique
Dautre part, nous avons dni une fonte particulire pour les titres,
dnie comme suit :
\newcommand{\sectionfont}{%
\fontencoding{\encodingdefault}%
\fontfamily{pag}%
\fontseries{bc}%
\fontshape{n}%
\selectfont}
Cette commande permet de slectionner la fonte PostScript AvantGarde en gras condens (cf. 9.4 page 145). Finalement, pour dnir
lallure de nos sections on utilisera :
\renewcommand{\section}{%
\@startsection%
{section}%
{1}%
{\sectiontitleindent}%
{-3.5ex plus -1ex minus -.2ex}%
{2.3ex plus.2ex}%
{\sectionfont\Large}}
Des commandes quivalentes ont t crites pour les titres de niveaux
infrieurs.
10.2.3 Chapitres
01
169
10
Cosmtique
170
En-tte des chapitres proprement parler
Chapitre
10
minipage
pour
le
mini
sommaire
Le titre du chapitre
Le squelette pour raliser un tel assemblage de bote est le suivant :
01
\begin{cadrechap}
\begin{minipage}[t][6cm][t]{0.75\linewidth}
% insertion ici du minisommaire
\end{minipage}
\begin{minipage}[t]{0.25\linewidth}
% insertion ici du n de chapitre
\end{minipage}
\begin{flushright}
% insertion ici du titre du chapitre
\end{flushright}
\end{cadrechap}
Il est sans doute utile de noter ici que la bote de gauche (celle
qui reoit la mini table des matires) a une hauteur impose ce qui
permet de produire les en-ttes de chapitres de manire identique
quel que soit le nombre de sections de chapitres (et donc quelle que
soit la hauteur de la mini table des matires). Pour nir, il reste
dnir des fontes pour les dirents lments. Pour ce manuel ont
t dnies :
% numro du chapitre
\DeclareFixedFont{\chapnumfont}{T1}{phv}{b}{n}{80pt}
171
{\chapnumfont 8}
{\chaptitfont Oula !}
10.2
Dailleurs :
Oula !
10.2.4 Parties
Dans le chier book.cls on trouve la dnition de la commande
\part :
\newcommand\part{%
\cleardoublepage
\thispagestyle{plain}
[...]
\null\vfil
\secdef\@part\@spart}
qui nous informe qu linstar des chapitres, la commande \part
fait appel deux commandes distinctes pour produire les parties
numrotes et non numrotes (grce un appel aux commandes
\@part et \@spart respectivement). Dans un premier temps nous
avons impos que le style de page pour les dbuts de partie soit vide
(cest--dire sans numro de page ni en-tte etc.), nous avons donc
crit :
\newcommand\part{%
\cleardoublepage
\thispagestyle{empty}% la place de plain par dfaut
[...]
\null\vfil% un bote vide et un ressort vertical
\secdef\@part\@spart}
On peut ensuite examiner la dnition de la commande \@part qui
produit la page de partie :
\def\@part[#1]#2{%
10
172
Cosmtique
[...]
{\centering % centrage
[...]
\huge\bfseries \partname\nobreakspace\thepart
\par
\vskip 20\pt
[...]
\Huge \bfseries #2\par}%
\@endpart}
En examinant ce code on constate que la page de partie est constitue dune ligne en gros caractres gras, du nom Partie suivie du
numro de la partie 4 :
\huge\bfseries \partname\nobreakspace\thepart
suivie 20 points plus bas du titre de la partie (contenu dans largument #2). Pour ce manuel, nous avons redni la commande \@part
comme suit :
01
\def\@part[#1]#2{%
[...]
{\centering
\interlinepenalty \@M
\normalfont
[...]
\partnumfont \thepart % juste le numro de la partie
\par
\vskip 50\p@% 50 point au lieu de 20...
\partfont #2\par}% le titre avec une fonte personnalise
\@endpart}
Pour garder une homognit avec les en-ttes de chapitres on a
dni les commandes de fontes comme suit :
\newcommand{\partfont}{%
\fontencoding{\encodingdefault}\fontfamily{phv}%
\fontseries{bc}\fontshape{n}%
\fontsize{32}{34}%
\selectfont}
\DeclareFixedFont{\partnumfont}{T1}{phv}{bc}{n}{80}%
4. En ralit, aprs avoir enclench le package babel et loption french
ces deux commandes sont redfinies pour produire quelque chose du style :
Premire partie
10.3 Gomtrie
173
10.3
Gomtrie
10
Cosmtique
174
height
Corps
du
texte
footskip
left
notes de marge
paperheight
headheight
entte
top
width
headsep
paperwidth
01
patati patata
pied de page
marginparsep
marginparwidth
175
10.4
10
10.4
176
VL
VL
177
10.4
10.4
178
VL
ou :
\markright{htextei}
Nous allons imaginer que les arguments htextex i sont stocks dans
une pile et une le. Dans cet ordre dide :
\markboth empile htexteg i, et stocke htexted i dans la le ;
\markright stocke htextei dans la le.
Ces deux commandes de marquage peuvent tre appeles plusieurs fois ou jamais, sur une mme page. Les donnes de la pile
et de la le seront exploites au moment de gnrer les en-ttes et
pieds de page, lorsque TEX achve la mise en forme de la page, et
ceci grce aux commandes :
\leftmark renvoie le sommet de la pile, cest--dire htexteg i
du dernier appel \markboth ;
\rightmark renvoie le dbut de la le, cest--dire htexted i
du premier appel \markboth ou htextei du premier appel
\markright.
Une petite subtilit au sujet de la file que nous prsentons
ici : tant quaucune commande de marquage najoute de
donnes au cours dune page, la file contiendra la dernire information
insre dans les pages prcdentes. La file est vide ds quune
commande \markboth ou \markright survient.
10
01
\renewcommand\frontmatter{%
\cleardoublepage
\@frontmattertrue
\@mainmatterfalse
\pagenumbering{roman}% numrotation en romain
}
\renewcommand\mainmatter{%
\cleardoublepage
\@mainmattertrue
\@frontmatterfalse
\pagenumbering{arabic}% numrotation en chiffres arabes
}
\renewcommand\backmatter{%
\cleardoublepage
\@frontmatterfalse
\@mainmatterfalse
}
181
10
Cosmtique
182
01
% entte en minuscule :
\fancyhead[LO]{\nouppercase\rightmark}
\fancyhead[RE]{\nouppercase\leftmark}%
2. recopier la dnition de la macro \tableofcontents provenant de book.cls, et la modier pour supprimer les commandes \MakeUppercase. Faire la mme chose pour lindex
et la bibliographie.
Dans ce document, cest la deuxime solution qui a t adopte. On
en a galement prot pour insrer lindex et la bibliographie dans
la table des matires, ce qui nest pas le comportement par dfaut de
LATEX et de la classe book. Nous avons donc pour lenvironnement
theindex :
\renewenvironment{theindex}
{%
[...]
183
10.5
Environnements verbatim
10
Cosmtique
184
{ \catcode\/=0 \catcode\(=1
\catcode\)=2 \catcode\#=14
\catcode\{=11 \catcode\}=11
\catcode\\=11
# a on devrait pas le voir...
\bidule{truc muche} /textbf(en gras)
)\par
on retourne dans le monde \LaTeX{}...
10.4
01
10.3
3 plus 4 = 7
185
*\show~
> ~=macro:
->\nobreakspace {}.
<*> \show~
10
La commande \marg permet de produire son argument entre chevrons simples et en pench. Les autres paramtres de la commande 11.1.1
\DefineVerbatimEnvironment ont pour but de prciser lallure de p. 198
la bordure (paramtres frame...), la marge de gauche (paramtre
xleftmargin) et le fait que les premiers caractres de chaque ligne
seront systmatiquement ignors (gobble). Comme le montre la documentation du package fancyvrb beaucoup dautres options sont
disponibles.
Un autre environnement de ce genre a t cr pour saisir les
commandes dEmacs dans lannexe consacre AucTEX. Lenvironnement en question (baptis emacscom) a t cr comme suit :
\DefineVerbatimEnvironment{emacscom}{Verbatim}{%
Cosmtique
186
commandchars= ,
frame=leftline, framerule=1mm, framesep=2mm,
gobble=2, xleftmargin=15pt}
10.6
Tetris
dans
M-x tetris
01
\begin{C}
/* hello world en C */
int main()
{
printf("Hello !\n");
return 0;
}
\end{C}
10.7
187
\begin{Cbis}
/* hello world en C */
int main()
{
printf("Salut !\n");
return 0;
}
\end{Cbis}
10.8
On aura :
/ h e l l o world en C /
i n t main ( )
{
p r i n t f ( " S a l u t ! \ n" ) ;
return 0 ;
}
10.6
i n t main ( )
{
p r i n t f ( " Hi ! \ n" ) ;
10.9
\begin{Cter}
int main()
{
printf("Hi !\n");
return @\fbox{code de retour}@;
}
\end{Cter}
return
code de retour ;
10
Cosmtique
188
\catcode\ =13
\catcode\ =13
puis dni les deux commandes suivantes :
01
\newcommand{\fermerguillemets}{%
\unskip\kern.15em\symbol{20}}
\newcommand{\ouvrerguillemets}{%
\symbol{19}\ignorespaces\kern.15em}
\setcounter{car}{1}
\whiledo{\value{car}<64}{%
\symbol{\value{car}}$_{\thecar}$
\stepcounter{car}}
10.10
On notera lutilisation de la commande TEX \kern permettant dinsrer un blanc inscable dune longueur donne, de la commande
9.2.1 \unskip et enn de la commande \symbol qui insre ici les 19e et
p. 138 20e caractres de la fonte courante :
1 2 3 4 5 6 7 8 9 10 11
12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29
30 31 32 !33 "34 #35 $36 %37
&38 39 (40 )41 *42 +43 ,44 -45 .46
/47 048 149 250 351 452 553 654 755
856 957 :58 ;59 <60 =61 >62 ?63
189
\let =\fermerguillemets
\let =\ouvrerguillemets
Cette faon de faire a trois inconvnients mineurs que je suis
bien incapable de rsoudre aujourdhui. Tout dabord, les moteurs sachant grer le codage Utf 8 et permettant TEX de rendre actif
le caractre (alors cod sur 2 octets), sont aujourdhui peu rpandus
et javoue humblement que je ne les ai pas encore tests. Par consquent la manipulation propose ici est limite aux codages utilisant 1
octet par caractre . Ensuite on ne peut utiliser ces guillemets dans
un titre au risque davoir des artfacts dans les signets/bookmarks
dun fichier pdf. Enfin, ces guillemets ne fonctionnent pas avec lenvironnement ltxexemple dfini la fin du chapitre suivant. Un drame
quoi !
10.7
10
Cosmtique
190
\titlebox{\footnotesize Un titre}{%
Le contenu de la bote}
10.11
Le contenu de la bote
\setlength{\fboxsep}{5pt}
\setlength{\fboxrule}{2pt}
\titlebox{Un autre titre}{%
\begin{minipage}{3cm}\begin{center}
truc\\ muche
\end{center}\end{minipage}}
10.12
ou encore :
Un autre titre
truc
muche
\framebox[3cm]{%
\leaders\hbox{o}\hfill}
oooooooooooooooo
\framebox[3cm]{%
\leaders\hbox to 3pt{o}\hfill}
10.14
10.15
01
10.13
permet donc de remplir lhespacei avec hce qui vous chantei. Par
exemple :
10.16
\framebox[3cm]{%
\leaders\hbox to5pt{%
\leaders\hrule width1pt\hfill%
\kern2pt}\hfill}
191
\framebox[4cm]{%
\hskip0pt plus 2fill X%
\hskip0pt plus 3fill}
10.17
La dimension :
\hskip 0pt plus hnifill
permet de dnir une longueur lastique de raideur relative n. Dans
lexemple prcdent la lettre X se trouve donc au 2/5 de la bote...
En utilisant ce type de blanc lastique et des \leaders, on peut
dnir la commande suivante :
\newcommand{\traitressort}[2][1]{%
\leaders\hrule height#2\hskip0pt plus #1fill\relax}
\framebox[4cm]{%
\traitressort[2]{2ex}X%
\traitressort{2pt}}
10.18
10
Cosmtique
192
10.7.4 Le code
Nous allons avoir besoin dune bote pour stocker la \parbox
centrale :
\newsavebox{\boitetitre}
et de deux dimensions :
01
\newlength{\largeurboitetitre}
\newlength{\hauteurboitetitre}
qui portent un nom susamment explicite et par consquent me
dispense ainsi de faire des phrases alambiques expliquant la signication de telle ou telle variable. La premire tche que lon va
demander la commande \titlebox est de stocker son contenu et
de le mesurer :
\newcommand{\titlebox}[2]{%
\begin{lrbox}{\boitetitre}% stockage du contenu
\kern\fboxsep#2\kern\fboxsep
\end{lrbox}
% mesure de la largeur de la parbox centrale
\settowidth{\largeurboitetitre}{\usebox{\boitetitre}}%
% mesure de la hauteur de la parbox centrale
\settoheight{\hauteurboitetitre}{\usebox{\boitetitre}}%
\settodepth{\tempdim}{\usebox{\boitetitre}}%
\addtolength{\hauteurboitetitre}{%
193
\tempdim+2\fboxrule+2\fboxsep}%
... }
\kern est une commande TEX permettant dinsrer un blanc inscable, ici de largeur \fboxsep. Notez que pour mesurer la hauteur
totale on a recours une longueur temporaire qui nous permet de
faire la somme de la hauteur (height) et la profondeur (depth). On
ajoute ensuite cette hauteur totale deux fois lpaisseur du trait
et deux fois lespace \fboxsep. Vous vous souvenez sans doute que
les dimensions \fboxrule et \fboxsep dnissent respectivement
lpaisseur du trait et lespace entre la bordure et le contenu dune
bote simple. Par consquent, on a :
4.4.1
\largeurboitetitre correspond la largeur de la \parbox p. 72
centrale augmente de deux fois \fboxsep ;
\hauteurboitetitre correspond la hauteur totale augmente de lespace occupe par les deux traits horizontaux :
2(\fboxsep+\fboxrule).
On peut donc construire une premire version de la commande :
\newcommand{\titleboxI}[2]{%
...
\parbox{\fboxrule}{% le trait de gauche
\rule{\fboxrule}{\hauteurboitetitre}}%
\parbox{\largeurboitetitre}{% la bote centrale
\begin{flushleft}
\usebox{\boitetitre}
\end{flushleft}}%
\parbox{\fboxrule}{% le trait de droite
\rule{\fboxrule}{\hauteurboitetitre}}}}
Ce qui donnera pour linstant :
Bidule truc muche
\titleboxI{encore}{%
\parbox{4cm}{truc\\bidule\\machin}}
truc
bidule
machin
10.19
Il reste donc modier le contenu de la \parbox centrale pour ajouter les deux traits horizontaux, celui du bas, et celui du haut coup
par le titre. Lide est dentasser trois botes :
1. une bote contenant le titre et des traits ressorts :
10
Cosmtique
194
2. la bote stockant le contenu (\boitetitre) ;
3. un trait de largeur \largeurboitetitre.
Voici une premire approche :
\newcommand{\titleboxII}[2]{%
...
\parbox{\largeurboitetitre}{% la bote centrale
\begin{flushleft}
\makebox[\largeurboitetitre]{%
\traitressort{\fboxrule}#1%
\traitressort[5]{\fboxrule}}\\
\usebox{\boitetitre}\\
\rule{\largeurboitetitre}{\fboxrule}
\end{flushleft}}
...}
qui donnera :
titre
Bidule truc muche
\titleboxII{encore}{%
\parbox{4cm}{truc\\machin}}
01
10.20
encore
truc
machin
10.21
195
encore
truc
machin
\titleboxIV{encore}{%
\parbox{4cm}{truc\\machin}}
encore
truc
machin
10.22
10
196
Cosmtique
Dautres amliorations laisses en guise dexercice pourraient tre apportes cette commande. On pourra par exemple
dfinir un argument optionnel permettant de rgler labaissement du
titre (on a mis ici -0.5ex en dur). Il est galement possible de rgler le
rapport des traits entourant le titre. Enfin, il est tout fait envisageable
de rgler lespace autour du titre (ici il ny en a pas).
01
Chapitre
Sommaire
11.1
11.2
11.3
11.4
11.5
11.6
11.7
11.8
Quelques bricoles
Des nota
Des citations
Des lettrines
Un sommaire
Un glossaire
Des onglets
Exemples LATEX
11
De nouveaux jouets
Je suis mon bien-aim, Et ses dsirs se portent vers moi.
Viens, mon bien-aim, sortons dans les champs, Demeurons dans les villages!
Ds le matin nous irons aux vignes, Nous verrons si la vigne pousse,
Si la fleur souvre, Si les grenadiers fleurissent.
L je te donnerai mon amour.
Le Cantique des cantiques Ct 7 11.
197
De nouveaux jouets
198
11.1
Quelques bricoles
fichier
11.1
11
\newcommand{\marg}[2][]{%
{\normalfont%
\textsl{$\langle$#2%
% si l argument optionnel est prsent
\ifthenelse{\equal{#1}{}}{}
{$_\mathit{#1}$}% on laffiche en indice
$\rangle$}}}%
La commande \normalfont permet de revenir la fonte par dfaut
dans le document. Ce qui explique que hfichieri napparat pas
en fonte machine crire dans lexemple 11.1.
Dans la version lectronique du document version lue sur un
cran il a t dcid, pour la mise en vidence, dutiliser la couleur
plutt que les caractres h et i. Ainsi on peut dnir la commande
\colarg :
1. Pour black & white argument...
199
\newcommand{\colarg}[2][]{{%
\normalfont\color{blue!90}#2% un bleu
\ifthenelse{\equal{#1}{}}{}{$_\mathit{#1}$}}}
On pourra ensuite grce un boolen habilement positionn, dnir 9.3.1
une commande gnrique \marg faisant appel lune ou lautre des p. 140
versions (noir & blanc ou couleur) :
\ifversionenligne
\let\marg\colarg
\else
\let\marg\bwarg
\fi
Cette construction fait appel la commande \let de TEX prsente
de manire lumineuse la section 9.2.3 page 139.
11.3
11
\newcommand{\ltxpack}[1]{%
\ltx@pack{#1}%
\protect\index{extensions!\protect\texttt{#1}}%
\protect\index{#1@\protect\textsf{#1 extension}}}
qui appelle la commande prcdente, et qui insre deux entres dans
lindex. Une de la forme hnom du packagei extension et lautre
comme sous-entre de extensions . La commande \protect per- 6.3
met ici dviter les ennuis si la commande \ltxpack est elle-mme p. 106
en argument dune autre commande. Dans un mme ordre dide, la
commande \ltxcom est dnie tout dabord par :
200
De nouveaux jouets
\newcommand{\ltx@com}[1]{%
\texttt{\symbol{92}#1}}
permettant de produire en fonte machine crire, le nom de la commande prcd du caractre \. La commande \symbol est une commande LATEX permettant dinsrer ici le 92e caractre de la fonte
slectionne (en loccurrence le backslash). On peut alors dnir la
commande nale :
\newcommand{\ltxcom}[1]{%
\ltx@com{#1}%
\index{#1@\protect\texttt{\symbol{92}#1}}}
qui appelle la commande prcdente et introduit une entre dans
lindex. Lide retenir, cest quil est peut tre utile de dnir des
commandes pour insrer automatiquement des entres dans lindex.
On pourrait par exemple dnir une commande :
\newcommand{\jargonanglais}[1]{%
\emph{#1}%
\index{#1}}
permettant la fois de formater les mots du jargon en anglais, et
de les insrer dans lindex, voire dans un index spcial. De mme
si un mot revient souvent dans un document on peut dnir une
commande pour le produire et linsrer dans lindex. Par exemple
dans ce manuel, on a dni :
11
\newcommand{\postscript}{%
PostScript%
\protect\index{PostScript}}
201
\voir{chap-glossaire}{glossaire}
Toute la dicult de la conception de cette commande rside dans
lorientation des triangles qui dpend de la parit de la page. Cette
dicult peut tre leve grce lutilisation du package chngpage
comme expliqu au paragraphe 9.3.3 page 144.
Le reste concerne la mise en page des triangles. Pour cela deux
commandes ont t dnies, produisant chacunes les renvois dans la
marge et les marques dans le texte. Do la forme de la commande
\voir :
\newcommand{\voir}[3][\S]{%
\checkoddpage%
\ifcpoddpage
\v@irpageimpaire{#1}{#2}{#3}}{% renvoi sur page impaire
\else
\v@irpagepaire{#1}{#2}{#3}}} % renvoi sur page paire
\fi
On notera quoutre les deux arguments obligatoires, la commande
accepte un argument optionnel dni par dfaut comme tant le caractre de paragraphe (). Les deux commandes \v@irpageimpaire
et \v@irpagepaire sont symtriques lune de lautre et ont pour
objet :
1. de placer un triangle du bon ct du texte faisant lobjet
du renvoi
2. de produire une note marginale avec la cible du renvoi.
11.4
11
De nouveaux jouets
202
{\footnotesize\sffamily%
\mbox{}\hfill p.~\pageref{#2}\hfill\mbox{}}}}
4.4.3
p. 76
11
\newenvironment{changemargin}[2]%
{\begin{list}{}{%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
}\item }%
{\end{list}}
Lide est donc de dnir une liste dont on change les marges. Les
deux arguments quattend cet environnement correspondent respectivement aux dimensions des marges gauche et droite. Une ide intressante serait celle dun environnement dans lequel les marges ont
des dimensions direntes selon la parit de la page. Un tel environnement peut tre dni comme suit :
3. Qui possde un lom prdestil...
203
Figure 11.1: Une gure qui ne sert rien si ce nest montrer quon peut momentanment changer les marges gauche et droite quand on a besoin de place...
\newenvironment{agrandirmarges}[2]{%
\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{0pt plus 1pt}%
\checkoddpage%
\ifcpoddpage
\setlength{\leftmargin}{-#1}
\setlength{\rightmargin}{-#2}
\else
\setlength{\leftmargin}{-#2}
\setlength{\rightmargin}{-#1}
\fi}\item }%
{\end{list}}
Notez quon utilise ici la commande \isodd pour tester la parit
de la page. La gure 11.1 montre un exemple dutilisation de cet
environnement avec le code suivant :
\begin{figure}[tb]
\begin{agrandirmarges}{1cm}{2cm}
% ici on a 1cm de plus ct reliure
%
et 2cm de plus ct bord
...
\caption{Une figure qui ne sert rien...}
\end{agrandirmarges}
\end{figure}
11
De nouveaux jouets
204
11.2
Des nota
11
\parshape=5
1.5cm 2.5cm
1.5cm 2.5cm
1cm 2cm
1cm 2cm
0pt \textwidth
a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a
11.5
par un environnement dni par votre serviteur, bas sur une fonctionnalit de niveau TEX dcouverte lors de mes laborieuses lecture
du TEXBook : la commande \parshape. Cette commande permet
de donner une forme arbitraire un paragraphe :
aaaaaaaa
aaaaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaa
205
\setlength{\larnota}{.9cm}
\setlength{\largligne}{%
\textwidth-\larnota}
\parshape=3
\larnota\largligne
\larnota\largligne
0pt\textwidth
\noindent Attention ce paragraphe a
uniquement pour but de montrer que lon
peut dcaler deux lignes dans un
paragraphe et ensuite continuer comme
si de rien ntait...
11.6
Attention ce paragraphe a
uniquement pour but de
montrer que lon peut dcaler
deux lignes dans un paragraphe et
ensuite continuer comme si de rien
ntait...
11
11.7
\setlength{\larnota}{.9cm}
\setlength{\largligne}{%
\textwidth-\larnota}
\parshape=3
\larnota\largligne\larnota\largligne
0pt\textwidth\noindent%
\includegraphics[width=\larnota]{%
\ficnota}
Attention ce paragraphe a uniquement
pour but de montrer que lon peut dcaler
deux lignes dans un paragraphe [...]
De nouveaux jouets
\setlength{\larnota}{.9cm}
\setlength{\largligne}{%
\textwidth-\larnota}%
\parshape=3
\larnota\largligne\larnota\largligne%
0pt\textwidth\noindent%
\makebox[0pt][r]{%
\includegraphics[width=\larnota]{%
\ficnota}}%
Attention ce joli paragraphe a
uniquement pour but de montrer que
lon peut dcaler deux lignes dans
un paragraphe [...]
11.8
206
Attention
11.9
11
\setlength{\larnota}{.9cm}
\setlength{\largligne}{%
\textwidth-\larnota}
\parshape=3
\larnota\largligne\larnota\largligne
0pt\textwidth\noindent%
\raisebox{-\larnota}{%
\makebox[0pt][r]{%
\includegraphics[width=\larnota]{%
\ficnota}}}%
Attention ce joli paragraphe a uniquement
pour but de montrer que lon peut dcaler
deux lignes dans un paragraphe [...]
ce
joli
para-
Bon, encore rat, il faut faire croire LATEX que la bote quon
translate verticalement est de taille nulle :
11.10
\setlength{\larnota}{.9cm}
\setlength{\largligne}{%
\textwidth-\larnota}
\parshape=3
\larnota\largligne\larnota\largligne
0pt\textwidth\noindent%
\raisebox{-\larnota}[0pt][0pt]{%
\makebox[0pt][r]{%
\includegraphics[width=\larnota]{%
\ficnota}}}%
Attention ce joli paragraphe a uniquement
pour but de montrer que lon peut dcaler
deux lignes dans un paragraphe [...]
207
\setlength{\padnota}{5pt}
\setlength{\larnota}{.9cm}
\setlength{\indnota}{\larnota+\padnota}
\setlength{\largligne}{%
\textwidth-\indnota}
\parshape=3
\indnota\largligne\indnota\largligne
0pt\textwidth\noindent%
\raisebox{-\larnota+2.2ex}[0pt][0pt]{%
\makebox[0pt][r]{%
\includegraphics[width=\larnota]{%
\ficnota}%
\hspace*{\padnota}}}%
Attention ce joli paragraphe a uniquement
pour but de montrer quon peut dcaler
deux lignes dans un paragraphe [...]
11.11
11
208
De nouveaux jouets
\newenvironment{pictonote}[1]{%
\begin{list}{}{%
\setlength{\labelsep}{0pt}%
\setlength{\rightmargin}{15pt}}
\item%
\setlength{\indentationnota}{%
\@totalleftmargin+\largeurnota+\paddingnota}%
\setlength{\largeurlignenota}{%
\linewidth-\largeurnota-\paddingnota}%
\parshape=3%
\indentationnota\largeurlignenota%
\indentationnota\largeurlignenota%
\@totalleftmargin\linewidth%
\raisebox{-\largeurnota+2.2ex}[0pt][0pt]{%
\makebox[0pt][r]{%
\includegraphics[width=\largeurnota]{#1}%
\hspace{\paddingnota}}}%
\ignorespaces}{%
\end{list}}
On notera lutilisation de la dimension \@totalleftmargin
permettant dobtenir la largeur de la marge de gauche dans
une liste, en tenant compte dventuelles imbrications. En effet la dimension \leftmargin dans une liste correspond la marge de gauche
relativement lenvironnement contenant la dite liste.
11
On pourra ensuite utiliser cet environnement en lui passant en paramtre un chier particulier, ou mieux dnir un nouvel environnement par exemple :
\newenvironment{nota}{%
\begin{pictonote}{hvotre fichieri}}{\end{pictnote}}
Pour terminer cette section sur les nota il faut savoir que cet
environnement a un dfaut : Si un nota contient un saut de
paragraphe, un espace est de nouveau laiss libre pour un pictogramme
Oui oui comme dans celui-ci, vous voyez bien quil y a un emplacement prvu pour le pictogramme, alors quici on na pas
vraiment lintention den mettre un, non ? Pour viter ce genre de
dsagrment il faut rinitialiser les retraits au niveau TEX grce aux
incantations vaudoues suivantes :
\par\parshape=1\@totalleftmargin\linewidth
qui pourra faire lobjet dune commande insrer manuellement au
dbut de chaque nouveau paragraphe, comme je viens de le faire ici :-)
11.3
209
Des citations
11.3.1 pigraphes
Les pigraphes provocatrices de ce manuel ont t produites par
un environnement que jai nomm epigraphe. Par exemple au dbut
du code LATEX du chapitre 2, on trouve :
\chapter{Ce quil faut savoir}
\label{chap-savoir}
\begin{epigraphe}{Les proverbes Pr \textbf{21} 11}
Quand on chtie le railleur, le simple sassagit ;\\
quand on instruit le sage, celui-ci gagne en savoir.
\end{epigraphe}
Lenvironnement epigraphe est dni comme suit :
\newenvironment{epigraphe}[1]
{% clause begin
\vspace*{-1.5cm}%
\small\sffamily% mise en vidence
\savebox{\nomepigraphe}{#1}% une bote pour sauvegarder
% l origine de la citation
\slshape% tout est pench
\begin{changemargin}{0pt}{-2cm}% on se met au large
\begin{flushright}}% tout est pouss droite
{% clause end
\\[4pt]\usebox{\nomepigraphe}.% insertion de lorigine
\end{flushright}%
\end{changemargin}\par\vspace*{0.6cm}}
11
Il faut bien entendu dclarer la bote quon utilise pour sauvegarder 4.4.5
p. 78
lorigine de notre citation :
\newsavebox{\nomepigraphe}
Les blanc verticaux (\vspace) insrs avant et aprs cet environnement permettent de caler correctement lpigraphe entre le dbut du
chapitre et la minitable des matires.
11.3.2 Citations
Quelques citations parsment le manuel que vous avez sous les
yeux. Elles ont t produites avec un environnement fait maison :
De nouveaux jouets
210
xxxxxxxxxxxxx
\begin{unecitation}[Georges
\textsc{Bataille}]
La vieillesse renouvelle la terreur
linfini. Elle ramne ltre sans
finir au commencement. Le commencement
quau bord de la tombe jentrevois est
le \emph{porc} quen moi la mort ni
linsulte ne peuvent tuer. La terreur
au bord de la tombe est divine et je
menfonce dans la terreur dont je suis
lenfant.
\end{unecitation}
xxxxxxxxxxxxxxx
11.12
xxxxxxxxxxxxx
La vieillesse renouvelle
la terreur linni. Elle ramne ltre sans nir au
commencement. Le commencement quau bord de
la tombe jentrevois est le
porc quen moi la mort ni
linsulte ne peuvent tuer.
La terreur au bord de la
tombe est divine et je menfonce dans la terreur dont
je suis lenfant.
Georges Bataille
xxxxxxxxxxxxxxx
11
11.13
211
Avant avant avant avant avant
avant avant avant avant avant
avant avant avant avant
Dans presque tous les pays
les femmes sont esclaves ;
tant quelles ne seront pas
compltement mancipes,
notre propre libert sera
impossible.
Michel Bakounine, 1845
Aprs aprs aprs aprs aprs
aprs aprs aprs aprs aprs
aprs aprs aprs aprs
On peut galement changer lindentation du paragraphe dans la minipage (qui vaut par dfaut 0pt dans cet environnement) en modiant dans lenvironnement la valeur de la longueur \parindent :
...
\begin{lrbox}{\boitecitation}
\begin{minipage}{.8\linewidth}%
\setlength{\parindent}{10pt}% indente la 1re ligne
...
On se rfrera aux paragraphes 9.2.1 et 9.2.1 page 138 pour la signication des commandes \ignorespaces et \unskip. Ce qui donne :
11
De nouveaux jouets
11.14
212
11
213
\definecolor{coulcitation}{rgb}{0.90,0.75,0.20}%
Il sut alors de remplacer la commande \usebox de la clause end
par quelque chose du genre :
\setlength{\fboxsep}{10pt}%
\colorbox{coulcitation}{\usebox{\boitecitation}}
Ce qui donnera nalement :
11.4
11.15
Des lettrines
11.16
Les documents soigns font souvent appel aux lettrines qui permettent, selon les rgles dusage en typographie, de produire la premire lettre du chapitre en gros, ainsi que le mot ou groupe de mots
qui suit. Par exemple :
es documents
soigns
font souvent appel aux
lettrines, qui selon les rgles
dusage en typographie...
11
De nouveaux jouets
214
\def\bidule{machin truc}
\bidule{} et \bidule
11.17
\bidule{ab}{cd}
11.18
\def\bidule#1#2{(1=#1) et (2=#2)}
(1=ab) et (2=cd)
\bidule abcd
11.19
\def\bidule#1#2{(1=#1) et (2=#2)}
(1=a) et (2=b)cd
(1=a) et (2=b) cd
\bidule ab cd
\def\bidule#1#2/{(1=#1) et (2=#2)}
Ici, on indique que pour appeler la commande \bidule il faut lui
faire suivre deux arguments suivis du caractre /.
\bidule abc/d
\bidule ab/cd
11.20
11
On remarque donc que si on ne dlimite pas explicitement les arguments avec les caractres { et }, le premier argument (#1) est remplac par le premier caractre rencontr, le deuxime argument (#2)
par le deuxime caractre, etc. Encore plus intressant, on peut dnir trs souplement le format dappel de la commande, par exemple :
(1=a) et (2=bc)d
(1=a) et (2=b)cd
Par consquent cette dernire commande prendra comme premier argument, le premier caractre rencontr, et comme deuxime : tout ce
quelle trouve jusquau caractre /. On peut donc crer une bauche
de commande pour une lettrine :
11.21
215
on b ouala le travail
on b
11.22
\def\glurps#1#2/{%
{\Huge#1}%
\raisebox{\baselineskip}{\textsc{#2}}}
\newcommand{\lettrinedev}[1]{\glurps#1/}
\lettrinedev{Bon b} ouala le travail
ouala le travail
H op
11
Paragraphe
De nouveaux jouets
216
11.23
\setlength{\indletB}{.8cm}% au pif
\setlength{\larligB}{\textwidth-\indletB}
\setlength{\indletH}{1.5cm}% au pif
\setlength{\larligH}{\textwidth-\indletH}
Ce paragraphe est
\parshape=3
prt recevoir une jolie let\indletH\larligH
trine qui occupera deux lignes en\indletB\larligB
viron voire mme exactement.
0pt\textwidth
Ce paragraphe est prt
recevoir une jolie lettrine qui occupera
deux lignes environ voire mme exactement.
\DeclareFixedFont{%
\lettrinefont}{T1}{ppl}{m}{n}{%
2\baselineskip}
{\lettrinefont
Pour crire les grosses lettres}
11.24
Pour crire
les
grosses
lettres
11
217
\setlength{\larligH}{\textwidth-\indletH}%
\setlength{\larligB}{\textwidth-\indletB}%
\parshape=3\indletH\larligH\indletB\larligB%
0cm\textwidth%
\noindent\usebox{\lalettrine}}
Qui donne 6 :
Ce chapitre a
11.25
pour but de produire des caractres les uns derrire les autres
et ainsi de former des mots donnant lieu des phrases.
Les lecteurs trs attentifs auront not que ce nota nest pas la
bonne place. Il semblerait que des translations horizontales et verticales soient ncessaires. On commencera ici par se dcaler vers la
gauche. la dernire ligne de la dnition de \lettrine, on crira
donc :
% dcalage quivalent la largeur totale
\noindent\hspace{-\indletH}
qui produira :
e chapitre
derrire les autres et ainsi de former des mots donnant lieu des
phrases.
11.27
derrire les autres et ainsi de former des mots donnant lieu des
phrases.
6. Des traits ont t ajouts pour bien situer la bote englobant la lettrine.
11
De nouveaux jouets
218
11.5
Un sommaire
Cest une pratique courante que le sommaire dun document rdig en franais soit plac en tte de document et contienne un
condens de la table des matires. Cette dernire est quant elle
gnralement insre la n. En fouillant dans le chier book.cls
dnissant la classe ponyme, on trouve une instruction commune
aux commandes \tableofcontents et \listoffigures : la commande \@starttoc.
\@starttoc{toc}
11
11.5 Un sommaire
219
faut savoir que les commandes \chapter, \section, etc. font toutes
appel une commande pour insrer une entre dans la table des
matires. Ainsi quand on crit :
\section{Bidule truc muche}
il sera fait appel la commande :
\addcontentsline{toc}{section}{Bidule truc muche}
pour insrer le titre dans la table des matires. De mme lorsquon
crit :
\chapter{Machin chose}
il sera fait automatiquement appel :
\addcontentsline{toc}{chapter}{Machin chose}
Cette dernire commande crit dans le chier de table des matires
(portant donc lextension toc) la ligne :
\contentsline{chapter}{%
\numberline {1}Machine chose}{3}{chapter.1}
Et (Hercule Poirot a eu du pain sur la planche), il se trouve que
cette dernire commande, fait nalement appel une commande de
la forme :
\l@htype dentrei
pour produire lentre dans la table. Par exemple la commande prcdente fait appel l@chapter. Ceci parce quon trouve la dnition
suivante :
\def\contentsline#1{\csname l@#1\endcsname}
dans latex.ltx. Nous passons volontairement sous silence le dtail
de ces commandes, et on se contentera ici de savoir que la commande \l@section produit une entre de table de matires pour les
sections, \l@subsection produit une entre pour les subsections,
etc. Pour nir notre sommaire, il reste crire dans le chier de
sommaire. Nous avons choisi dinsrer dans le sommaire les titres
de parties, chapitres et sections. Pour arriver nos ns, nous avons
ajout cette insertion la commande \addcontentsline originale :
% sauvegarde de l originale
\let\aclORIG\addcontentsline
% redfinition
11
De nouveaux jouets
220
\renewcommand{\addcontentsline}[3]{%
\aclORIG{#1}{#2}{#3}% appel de loriginale
\ifthenelse{% on insre sections , chapitres et parties
\equal{#2}{section} \or \equal{#2}{chapter}
\or \equal{#2}{part}}{%
\aclORIG{som}{#2}{#3}}{}}
Il faut noter que notre sommaire sera mis en page exactement
de la mme manire que la table des matires, puisque tous
deux font appel la mme commande interne :
\aclORIG{som}{section}{...}
cest donc la commande \l@section qui sera appele pour mettre en
page lentre. Pour mettre en page le sommaire diffremment, il aurait
fallu crire :
\aclORIG{som}{somsection}{...}
puis dfinir la commande \l@somsection pour mettre en page les
entres de sections dans le sommaire...
11.6
11
Un glossaire
11.6 Un glossaire
221
11
De nouveaux jouets
222
\boiteentreeglossaire{##1}}}}
{\end{list}}
o \boiteentreeglossaire est :
\newcommand{\boiteentreeglossaire}[1]{%
\parbox[b]{\labelwidth}{%
\setlength{\fboxsep}{3pt}%
\setlength{\fboxrule}{.4pt}%
\shadowbox{\sffamily#1}\\\hfill\mbox{}}}
\begin{leglossaire}
\item[Sphre] Patate bien rgulire.
\end{leglossaire}
11.28
On se reportera au paragraphe mentionn ci-dessus pour les explications de ces commandes. En tous les cas on aura :
Sphre
Patate bien rgulire.
11
keyword "\\glossaryentry"
Pour que chaque entre soit constitue dun terme et de sa dnition,
nous avons dni la commande suivante :
\newcommand{\entreeglossaire}[2]{\glossary{[#1] #2}}
De telle sorte que :
\entreeglossaire{Sphere}{Patate bien rgulire.}
aura pour eet dcrire :
\glossary{[Sphre] Patate bien rgulire.}
dans le chier .glo. Aprs appel de makeindex :
makeindex -s glossaire.ist hdocumenti.glo -o hdocumenti.glx
11.6 Un glossaire
223
11
De nouveaux jouets
224
11
11.7
Des onglets
225
11
De nouveaux jouets
226
9.4
de la page
p. 145
11.29
Et voici la bote :
Et voici la bote : \b@iteonglet...
11
...
\setlength{\fboxsep}{15pt}
En voici une autre : \b@iteonglet...
11.30
En
voici
11
une
autre
...
11
227
Postionnement horizontal
Dans le cas des pages impaires, il faut dans un premier temps
pousser la bote de longlet vers la droite, et vers la gauche pour les
pages paires. Qu cela ne tienne 8 :
\newcommand{\ongletI}{%
\ifthenelse{\isodd{\value{page}}}{%
% page impaire
\hspace*{\marginparwidth}\hspace*{\marginparsep}}{%
% page paire
\hspace*{-\marginparwidth}\hspace*{-\marginparsep}}%
\b@iteonglet}
Voici ce que donnerait cette commande sur cette page :
227
11
11
De nouveaux jouets
228
26
27
corps du document
11
11
229
11
230
De nouveaux jouets
\newcommand\appendix{\par
\setcounter{chapter}{0}%
\setcounter{section}{0}%
[...]
\gdef\thechapter{\@Alph\c@chapter}}
on peut comprendre ici que lorsquon commence les annexes avec la
commande \appendix, le compteur de chapitre est remis zro, et
produit en lettre majuscule. Il faut donc trouver une parade pour que
longlet continue se dcaler mme aprs les annexes. La solution
que jai adopte consiste simplement utiliser un nouveau compteur
permettant de numroter les chapitres et les annexes. Pour cela, on
le dclare :
\newcounter{chapitre}
On prcise tout de suite quon veut le produire en chire arabe :
\renewcommand{\thechapitre}{\arabic{chapitre}}
On ajoute la mise zro de ce compteur dans la dnition de
\frontmatter :
\renewcommand\frontmatter{%
\cleardoublepage
\setcounter{chapitre}{1}
[...]
}
11
Exemples LATEX
11.31
11.8
231
11
232
De nouveaux jouets
il faut dune part pouvoir produire hcontenui tel quel (en verbatim),
et dautre part pouvoir linterprter cest--dire le traiter comme
LATEX le ferait. Finalement, on se rend compte quil faudrait demander LATEX de traiter deux fois hcontenui ce qui nest pas envisageable. Une solution pour contourner ce problme est prcisment
de sauvegarder hcontenui dans un chier pour pouvoir le rutiliser,
soit en tant que verbatim, soit pour tre interprt par LATEX. La
premire dicult surmonter est donc de crer un environnement
sauvegardant son contenu :
\newenvironment{ltxexemple}{%
\VerbatimEnvironment
\begin{VerbatimOut}{\jobname.exa}}{% clause begin
\end{VerbatimOut}}% clause end
11
Ne me demandez surtout pas quoi peut bien servir la commande \VerbatimEnvironment non documente dans le package, mais ncessaire au bon fonctionnement de lenvironnement dfini ci-dessus.
Tout cela est bien joli, mais cet environnement ne fait que sauvegarder son contenu dans un chier. Il faut donc crire dans la clause
end de lenvironnement :
\end{VerbatimOut}%
\VerbatimInput{\jobname.exa}% le contenu tel quel
\input{\jobname.exa}% le contenu interprt par LaTeX
233
Ainsi :
\begin{ltxexemplei}
du code \LaTeX{}...
\end{ltxexemplei}
du code \LaTeX{}...
donne :
du code LATEX...
Il reste donc modier la mise en page des deux parties. Ce qui fait
lobjet du paragraphe suivant.
11
De nouveaux jouets
234
\begin{ltxexempleii}
du code \LaTeX{}...
\par\noindent
et cest tout.
\end{ltxexempleii}
Donnera :
du code \LaTeX{}...
\par\noindent
et cest tout.
du code LATEX...
et cest tout.
Nous avons mis des bordures aux ras des deux botes entre et
sortie pour mettre en vidence leurs dimensions. On peut galement noter ici que la clause begin de lenvironnement est en
ralit dnie comme suit :
\pagebreak[3]% on suggre de changer de page ici
\VerbatimEnvironment%
\begin{VerbatimOut}[gobble=2]{\jobname.exa}
Loption [gobble=2] permet de manger systmatiquement deux
caractres au dbut de chaque ligne car tout bon diteur 9 ajoute
des espaces pour lindentation du source. Ainsi le code :
\begin{ltxexempleii}
du code \LaTeX{}...
\par\noindent
et cest tout.
\end{ltxexempleii}
11
donnerait :
code \LaTeX{}...
ar\noindent
cest tout.
p. 60
\newcounter{c@exemple}[chapter]
9. Je veux bien sr parler de //
vi, pardon, Emacs...
235
11.34
Ainsi :
La petite bote (
11.34
11
De nouveaux jouets
236
11.35
qui donnera :
\setlength{\fboxsep}{-2pt}
\setlength{\fboxrule}{.5mm}
Ceci est un \fbox{EXEMPLE} idiot...
Voici un exemple.\label{monexemple}
11.36
11
237
ce qui est correct du point de vue de la syntaxe. Cependant la porte de la commande \renewcommand est ici locale au groupe dans
lequel le test \ifthenelse intervient. Pour contourner ce problme
on utilisera la construction TEX :
\global\def\l@belex{}
en lieu et place du \renewcommand pour eectuer une rednition
porte globale...
11
De nouveaux jouets
238
\rule{3pt}{.7\hauteurdutrait}\\\nointerlineskip%
\rotatebox{90}{\affichenumex}\\\nointerlineskip%
% 30% en dessous
\rule{3pt}{.3\hauteurdutrait}%
\end{center}}
La commande \nointerlineskip permet de supprimer tout blanc
vertical supplmentaire qui pourrait tre insr par la commande \\.
Plus de dtails sont donns la section prsentant limplmentation
10.7.4 de la bote avec titre pour la minitable des matires.
Voil, cest tout pour ce merveilleux
environnement \ltxenv{ltexexemple}. Notez
que la dimension \texttt{3pt} pourrait
faire lobjet de la dfinition dune
longueur...
11
11.37
p. 192
III
Annexes
Annexe
Sommaire
A.1
A.2
A.3
A.4
A.5
Principe gnral
Ce qui change
Trucs et astuces
Hyperliens
Interaction avec psfrag et pstricks
241
242
243
A.3.2 Vignettes
Les versions rcentes de pdflatex permettent de crer des vignettes (thumbnail ) pour les visualiseurs evince et Acrobat Reader
pour ne citer queux. Auparavant, il tait ncessaire dutiliser le package thumbpdf :
\usepackage{thumbpdf}
244
puis excuter :
thumbpdf monfichier.pdf
A.3.3 Pagination
Pour faire apparatre les numros de pages du document dans
le navigateur Acrobat Reader, il est ncessaire dajouter loption
pdfpagelabels linclusion du package hyperref (cf. suivant).
A.3.4 Signets
10.4.4 lon rednit le \backmatter est sans nul doute un bon choix.
p. 179
Pour en finir avec les bookmarks, afin que celui de lindex pointe
effectivement sur lindex (!), on devra cette fois avoir recours
une incantation chamanique :
\let\printindexORIG\printindex
\renewcommand{\printindex}{%
\cleardoublepage
\phantomsection% cration dune fausse section
\addcontentsline{toc}{chapter}{Index}
\printindexORIG}
A.4 Hyperliens
245
A.4 Hyperliens
Le package hyperref permet dinsrer dans les chiers .dvi
et .pdf des commandes spciales qui pourront tre exploites par les
navigateurs (xdvi et Acrobat Reader entre autres). On pourra alors
cliquer sur le texte produit par les commandes telles que \ref pour
se rendre automatiquement la zone rfrence. Dans le document
que vous avez sous les yeux, la version lectronique possde des liens
sur lesquels on peut cliquer pour :
toutes les rfrences gnres par \ref, \pageref et \vref ;
les notes de bas de page ;
les url produites par la commande \url ;
les renvois bibliographiques ;
les pages pour chaque entre dindex.
Pour activer ce systme dhyperliens, on crira :
\ifpdf
\usepackage[pdftex=true,
hyperindex=true,
colorlinks=true]{hyperref}
\else
\usepackage[hypertex=true,
hyperindex=true,
colorlinks=false]{hyperref}
\fi
Ce qui fera apparatre les liens en couleur uniquement dans la version
Pdf. Ceux de la version PostScript seront quant eux produits en
noir ce qui assurera leur lisibilit si le document est imprim en noir
et blanc.
Lordre dans lequel on inclura les diffrents packages pour un
document influera sur le bon fonctionnement de lextension hyperref. Il arrive mme que lendroit choisi pour linclusion provoque une
erreur de compilation. vous de trouver la bonne squence :-)
246
On obtient a :
Soit :
Dingue, non ? Certes. Le principe de lextension pstricks est dinsrer du code PostScript dans le chier .dvi, code qui pourra tre
galement trait par le programme dvips. L o a se corse cest
lorsque lon veut utiliser ces bestioles avec pdflatex. En eet ce dernier crant directement un chier .pdf partir du .tex, insrer du
PostScript dans le chier au format Pdf naura aucun eet... Il est
malgr tout possible de contourner le problme :
1. gnrer dabord un document LATEX minimal contenant les
commandes pstricks ;
2. compiler ce document avec LATEX pour gnrer un .dvi ;
3. demander dvips de crer un chier au format PostScript
encapsul avec loption -E ;
4. convertir ce chier au format Pdf ;
5. inclure ce chier au moment dutiliser pdflatex.
Tout cela est videmment un peu tordu mais peut tre automatis
laide dun Makele, dun petit script Unix, et dune commande...
247
Tout dabord :
\newcommand{\includepstricksgraphics}[1]{%
\ifpdf\includegraphics{#1}\else\input{#1}\fi}
Lide est donc dextraire la portion de code contenant des commandes pstricks pour les stocker dans un chier bidule.tex, puis
lorsquon crit :
\includepstricksgraphics{bidule}
on inclura bidule.pdf si on utilise pdflatex et bidule.tex si on
utilise LATEX. Ensuite, le petit script Unix quon peut adapter
ses besoins :
#!/bin/sh
# on enlve lextension du 1er argument
FILE=${1%.*}
# cration dun fichier temporaire psttemp.tex
cat > psttemp.tex <<EOF
\documentclass{manuel}
mettre la classe et les packages adquats
\thispagestyle{empty}
\begin{document}
\input{$FILE}
\end{document}
EOF
# Cration du fichier dvi
latex psttemp
# Cration du fichier eps
dvips -E $TMPFILE.dvi -o psttemp.eps
# Cration du fichier pdf
epstopdf psttemp.eps --debug --outfile=$FILE.pdf
# effacement des fichiers temporaires
rm -f psttemp.*
Sauv sous le nom pstricks.sh, ce script peut tre invoqu comme
ceci :
./pstricks.sh bidule.tex
et cre le chier bidule.pdf que pdflatex aura la sagesse dinclure
grce la commande \includepstricksgraphics dont le code est
donn plus haut. Pour ce qui est du Makele, il nest pas trs dicile
partir du script prcdent de dnir une rgle ayant pour but de
248
A.5.2 psfrag
La limitation et le principe sont les mmes que pour pstricks. Pour
utiliser psfrag avec pdflatex, il est ncessaire de procder comme suit :
249
\thispagestyle{empty}
\begin{document}
\input{$1}
\end{document}
EOF
echo "Cration du fichier dvi"
latex $TMPFILE > $LOGFILE
echo "Cration du fichier $TMPFILE.eps"
dvips -E $TMPFILE.dvi -o $TMPFILE.eps >> $LOGFILE 2>&1
}
On utilise ensuite cette fonction par deux fois comme suit, dans le
script :
FILE=${1%.*}
TMPFILE=truc
LOGFILE=truc.log
sanspsfrag=$TMPFILE-sanspsf.tex
# on enlve les lignes contenant la commande \psfrag
# et on rcupre la bote englobante du fichier eps
# sans les psfrag
grep -v \\\\psfrag $FILE.tex > $sanspsfrag
genere_eps $sanspsfrag
bonnebb=$(grep "^%%BoundingBox" $TMPFILE.eps | head -1)
# on rcupre la bote englobante du fichier eps
# avec psfrag
genere_eps $FILE
mauvaisebb=$(grep "^%%BoundingBox" $TMPFILE.eps | head -1)
# on remplace la bote englobante par la bonne
sed -i "s/$mauvaisebb/$bonnebb/" $TMPFILE.eps
echo "Cration du fichier pdf"
epstopdf $TMPFILE.eps --debug \
--outfile=pdfs/${FILE##*/}.pdf >>
$LOGFILE 2>&1
250
Annexe
Sommaire
B.1
B.2
B.3
B.4
Extensions
Les fichiers auxiliaires
AucTEX
Aspell
B
Mmento
251
Mmento
252
B.1
Extensions
N amsmath
N array
N hhline
N fancyhdr
N varioref
N ifthen
N chapterbib
N overcite
N bibunits
253
\shadowbox
: propose quatre variantes
de
\fbox
,
:
\doublebox , \ovalbox et \Ovalbox
.
N algorithms
: pour crire des algorithmes sous la forme dun environnement qui peut tre ottant ou non ;
N geometry
N url
N fancyvrb
B.2
Voici la liste des chiers que vous pourrez trouver sur votre disque
ct de votre document source. Ces chiers portent tous une extension de trois lettres, les voici 1 :
tex
aux
chier auxiliaire que LATEX utilise pour rsoudre les rfrences, entre autres ;
log
dvi
toc
lof
lot
bib
bbl
blg
Mmento
254
idx
ind
ilg
B.3
AucTEX
B.3.1
Formatage du source
B.3 AucTEX
B.3.2
255
Raccourcis
fontes
C-c C-f (Changer Fonte) suivi de :
C-e insre \emph{}
C-b insre \textbf{}
C-t insre \texttt{}
C-s insre \textsl{}
C-c insre \textsc{}
...
Section
C-c C-s insre une Section en vous demandant son niveau, son
titre et son label dans le minibuer.
Commandes et Environnement
M-Tab tente de complter le nom en cours (automatic completion).
C-c RET insre une commande.
C-c C-e insre un Environnement 2 .
C-u C-c C-e change un environnement.
C-c ] ferme un environnement en ajoutant la commande \end qui
manque.
B.3.3
Compilation
Mmento
256
B.4 Aspell
Aspell est un correcteur orthographique multilingue quon peut
interfacer avec lditeur de texte tout faire Emacs. Pour lutiliser
dans Emacs, deux commandes connatre :
M-x ispell-change-dictionary
Il est particulirement utile de noter que lon peut congurer le programme Aspell pour lui demander explicitement dignorer ou non les
arguments des commandes LATEX. On pourra par exemple ne pas
vrier largument dune commande ne contenant pas de franais.
Ainsi, si lon dnit la commande :
\newcommand{\bidule}[2]{% commande prenant 2 arguments
... }
Il sura dcrire dans son chier ~/.aspell.conf :
add-tex-command bidule pP
Annexe
Sommaire
C.1 Symboles standard
C.2 Symboles de lAMS
C.3 Symboles du package textcomp
C
Symboles
ous trouverez dans cette annexe, une liste de tous les sym-
257
Symboles
258
\varepsilon
\zeta
\vartheta
\iota
\mu
\nu
\pi
\varpi
\sigma
\varsigma
\phi
\varphi
\omega
\Gamma
\Xi
\Phi
\Delta
\Pi
\Psi
\pm
\mp
\times
\div
\ast
\star
\circ
\bullet
\sum
\bigcap
\bigodot
\oint
Table
\cdot
\cap
\cup
\uplus
\sqcap
\sqcup
\vee
\wedge
C.2:
\Theta
\Sigma
\Omega
\diamond
\bigtriangleup
\bigtriangledown
\triangleleft
\triangleright
\oplus
\delta
\eta
\kappa
\xi
\rho
\tau
\chi
\Lambda
\Upsilon
\ominus
\otimes
\oslash
\odot
\bigcirc
\dagger
\ddagger
\amalg
\ldots
...
\cdots
\vdots
..
.
\ddots
..
R
W
U
259
\leq
\prec
\preceq
\ll
\subset
\subseteq
\sqsubseteq
\in
\vdash
\leftarrow
\Leftarrow
\rightarrow
\Rightarrow
\leftrightarrow
\Leftrightarrow
\mapsto
\hookleftarrow
\leftharpoonup
\leftharpoondown
\aleph
\hbar
\imath
\jmath
\ell
\wp
\Re
\Im
Table C.5:
\geq
\succ
\succeq
\gg
\supset
\supseteq
\sqsupseteq
\ni
\dashv
Les relations.
\equiv
\sim
\simeq
\asymp
\approx
\cong
\neq
\doteq
\propto
\prime
\emptyset
\nabla
\surd
\top
\bot
\|
\angle
\forall
\exists
\neg
\flat
\natural
\sharp
k
\backslash
\partial
=
6=
.
=
\models
\perp
\mid
\parallel
\bowtie
\smile
\frown
|=
|
k
\uparrow
\Uparrow
\downarrow
\Downarrow
\updownarrow
\Updownarrow
\nearrow
\searrow
\swarrow
\nwarrow
\infty
\triangle
\clubsuit
\diamondsuit
\heartsuit
\spadesuit
l
m
Symboles
260
\arccos
\arcsin
\arctan
\arg
\uparrow
\{
\lfloor
\langle
|
\cos
\cosh
\cot
\coth
h
|
\rmoustache
\arrowvert
Table C.8:
\csc \exp
\deg \gcd
\det \hom
\dim \inf
Les fonctions.
\ker
\limsup
\lg
\ln
\lim
\log
\liminf \max
\}
} \updownarrow l
\rfloor
\lceil
\rangle
i /
/
\|
k
\min
\Pr
\sec
\sin
\sinh
\sup
\tan
\tanh
\Downarrow
\Updownarrow
\rceil
\backslash
grands
dlimiteurs.
\rgroup
k
\bracevert
\lgroup
C
\lhd
\sqsubset
\Box
symboles de latexsym
\unlhd
E \unrhd
\Join
\mho
\leadsto
261
\Lleftarrow
\leftarrowtail
\looparrowleft
\curvearrowleft
x
\circlearrowleft
\upuparrows
\upharpoonleft
\multimap
\leftrightsquigarrow
\rightleftarrows
\rightrightarrows
\twoheadrightarrow
\rightarrowtail
\rightleftharpoons
\curvearrowright
\Rsh
\downdownarrows
\downharpoonright
\rightsquigarrow
\circlearrowright
\upharpoonright
\leftleftarrows
\twoheadleftarrow
\leftrightharpoons
\Lsh
\downharpoonleft
\rightrightarrows
\rightleftarrows
\looparrowright
L99
"
y
Symboles
262
6
/
S
;
j
4
w
a
&
T
,
k
<
v
'
263
\digamma
\ulcorner
\nmid
\nvdash
0
\ntriangleleft
\ntrianglelefteq 5
\subsetneq
( \varsubsetneq
\varsubsetneqq
& \ngtr
\ngeqslant
\ngeqq
\gneqq
\gvertneqq
\gnapprox
\nsucc
\succnsim
\succnapprox
\nshortparallel /
\nparallel
\nVDash
3 \ntriangleright
\nsupseteq
+ \nsupseteqq
#
\varsupsetneq
! \supsetneqq
%
\lrcorner
de lAMS
\nleqslant
\lneqq
\lnapprox
\precnsim
\nshortmid
\nvDash
\nsubseteq
\subsetneqq
\ngeq
\gneq
\gnsim
\nsucceq
\ncong
\nvDash
\ntrianglerighteq
\supsetneq
\varsupsetneqq
:
<
.
2
*
$
2
4
)
'
Symboles
264
\hbar
\triangledown
\circledS
\nexists
\Game
\varnothing
\blacksquare
\sphericalangle
\diagup
\square
s \angle
\mho
a \Bbbk
k
\blacktriangle N
\blacklozenge
\complement
\diagdown
de lAMS
\vartriangle
\lozenge
\measuredangle
\Finv
\backprime
\blacktriangledown
\bigstar
\eth
>
`
8
H
\textascendercompwordmark
\textasciiacute
\textasciibreve
\textasciicaron
\textasciidieresis
\textasciigrave
`
\textasciimacron
\textasterisksymcentered
\textbaht
\textbardbl
\textbigcircle
\textblank
\textborn
\textbrokenbar
\textbullet
\textcapitalcompwordmark
\textcelsius
\textcent
\textcentoldstyle
\textcircledP
\textcolonmonetary
\textcopyleft
\textcopyright
\textcurrency
\textdagger
\textdaggerdbl
\textdblhyphen
\textdblhyphenchar
\textdegree
265
Table C.21: Symboles du package textcomp (suite).
\textdied
d
\textdiscount
\textdiv
\textdivorced
\textdollar
$
\textdollaroldstyle
\textdong
\textdownarrow
\texteightoldstyle
\textestimated
\texteuro
\textfiveoldstyle
\textflorin
\textfouroldstyle
\textfractionsolidus
\textgravedbl
\textguarani
\textinterrobang
\textinterrobangdown
\textlangle
\textlbrackdbl
\textleaf
l \textleftarrow
\textlira
\textlnot
\textlquill
\textmarried
\textmho
\textminus
\textmu
\textmusicalnote
\textnaira
\textnineoldstyle
\textnumero
\textohm
\textonehalf
\textoneoldstyle
\textonequarter
\textonesuperior
\textopenbullet
\textordfeminine
\textordmasculine
\textparagraph
\textperiodsymcentered
\textpertenthousand
\textperthousand
\textpeso
\textpilcrow
\textpm
\textquotesingle
'
\textquotestraightbase
\textquotestraightdblbase
\textrangle
\textrbrackdbl
\textrecipe
\textreferencemark
\textregistered
\textrightarrow
\textrquill
\textsection
\textservicemark
\textsevenoldstyle
\textsixoldstyle
\textsterling
\textsurd
\textthreeoldstyle
\textthreequarters
\textthreequartersemdash
\textthreesuperior
\texttildelow
~
\texttimes
\texttrademark
\texttwelveudash
\texttwooldstyle
\texttwosuperior
\textuparrow
\textwon
\textyen
\textzerooldstyle
%
Symboles
266
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
267
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
&
48
49
64
80
96
65
81
97
34
35
50
51
66
82
98
67
83
99
36
52
37
54
69
100
53
68
84
38
85
101
39
56
71
102
55
70
86
40
87
103
41
57
72
73
88
104
89
105
42
43
44
<
45
46
>
47
58
59
60
61
62
63
74
90
106
75
91
107
76
92
108
77
93
109
78
94
110
79
95
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
176
192
177
193
162
178
194
179
195
180
196
181
197
182
198
183
199
184
200
185
201
186
171
187
202
203
172
188
204
189
205
190
206
191
207
218
219
220
221
222
223
240
241
242
243
244
245
246
247
248
249
234
250
235
251
236
252
237
253
175
217
233
174
216
232
173
215
231
170
214
230
169
213
229
168
212
228
167
211
227
166
210
226
165
209
225
164
208
224
163
238
254
239
255
Annexe
Sommaire
D.1 Distribution du moment
D.2 Les sources du manuel
D.3 Compilation
Notes de production
269
Notes de production
270
D.1
Distribution du moment
D.2
D.2.1 Structure
Les sources du manuel sont organises selon le principe suivant :
sources LATEX dans le rpertoire corps avec un chier par
chapitre ;
les styles (sty et cls) dans le rpertoire styles ;
les images dans un rpertoire pngs ;
le rpertoire texs contient des sources LATEX inclure dans
le document (modles de lettre, de fax, code contenant des
appels Psfrag ou Pstricks) ;
les sources xfig dans le rpertoire figs ;
tout ce qui a trait lindex, la bibliographie et au glossaire
est stock dans le rpertoire bibidx ;
Les sources xfig et certains bouts de chiers LATEX sont traduits
au format pdf, postscript encapsul ou non, par un makele les stockant :
dans le rpertoire epss
dans le rpertoire pdfs
dans le rpertoire pss
selon le moteur utilis (latex ou pdflatex).
D.2.2 Styles
D.3 Compilation
271
D.3
Compilation
D.3.1 Makefile
Larborescence racine des sources contient un chier Makele
pour le manuel, quil faut copier :
cp Makefile.frama Makefile
D.3.2 Figures
Les gures peuvent tres compiles grce aux commandes :
make figs
Il faut disposer du logiciel transfig connexe xfig pour traduire
les sources en pdf et eps. Sur le site http://cours.enise.
fr/info/latex est disponible une archive contenant les figures dj
traduites...
Notes de production
272
D.3.4 Pdf
Rien de particulier
pdflatex framabook
make bibindex
pdflatex framabook
pdflatex framabook
Bibliographie
[1] the UK List of TEX Frequently Asked Questions on the Web .
une mine dinformations en anglais, disponible http://www.
tex.ac.uk/cgi-bin/texfaq2html, listant les fameuses questions
frquemment poses sur TEX & LATEX (contrairement ce que
le titre indique).
[3] W. Appel, E. Chevalier, E. Cornet, Desreux S., Fleck J.J., and Pichaureau P.. LATEX pour limpatient. In Technique
et pratique. H & K, 2007.
[4] Denis Bitouz and Jean-Cme Charpentier. LATEX. In Collection Synthex. Pearson Education France, September 2006.
[5] M. Goossens, S. Rahtz, and F. Mittelbach. The LATEX
Graphics Companion. Addison-Wesley, 1997.
Par les auteurs du LATEX Companion, un livre sur lutilisation des
graphiques au sens large du terme, avec notamment une exploration
des packages permettant de dessiner avec LATEX et une prsentation
de lutilisation des fontes Postscript.
273
274
Bibliographie
[6] Michel Goossens, Franck Mittelbach, and Alexander Samarin. The LATEX companion. Addison-Wesley, 1994.
LA bible de LATEX2 et de ses packages. Ce livre qui est un must
pour tout utilisateur qui veut comprendre les fonctions internes de
LATEX contient des informations trs prcises sur : la manire de
personnaliser les mises en page par dfaut, lutilisation des fontes,
moult packages, etc.
[11] Vincent Lozano. Tout ce que vous avez toujours voulu savoir
sur Unix sans jamais oser le demander , 2006. http://www.
enise.fr/cours/info/unix.
[12] Lars Madsen. Avoid eqnarray ! . The PracTEX Journal, (4),
2006.
Bibliographie
275
Un article recensant les pourquoi ne pas utiliser cet environnement. Larticle doit tre disponible http://home.imf.au.dk/
daleif.
[13] Yves Perrousseaux. Manuel de typographie franaise lmentaire. Atelier Perrousseaux, 1995.
Un petit livre trs pdagogique sur la typographie, contenant un
historique trs intressant, et une liste de rgles en usage dans le
monde de la typographie.
Glossaire
Compilation
Mme si ce terme nest pas trs rigoureux dun point de
vue scientique, on appelle compilation la phase permettant
de traduire le source LATEX en un chier au format DVI ou
PDF.
Document matre
Cest le document source qui contient le begin{document}
dans le contexte dun document divis en plusieurs chiers.
Document source
Un document texte contenant le texte et les commandes
LATEX. TEX Cest le document ne pas perdre car il est
la source de la production papier, cran, etc. au mme titre
quun code source en langage C est la source dun programme
excutable.
Dvi
Format de chier Device Independent mis au point par
277
278
Glossaire
Knuth de manire crer, partir du document source, un
document dont le format est indpendant de la plateforme et
du matriel.
Fichiers auxiliaires
Les chiers produits par LATEX lors dune compilation. Ils
portent le nom du document source, et ont une extension de
trois lettres rappelant leur rle.
Format
Cest un ensemble de commandes ou macro prcompiles
et stockes dans un chier portant gnralement lextension
.fmt. Les plus connus de ces ensembles sont le format plain
de TEX et le format LATEX.
Macro
Cest loutil permettant de faire faire des choses compliques LATEX en passant en ordre simple. Les macros, appeles aussi commandes, ressemblent un peu aux routines des
langages de programmation.
PDF
Pour portable document format, format de chier cr par la
socit Adobe, dont le but est de pouvoir changer facilement
des documents dun systme un autre. Le format PDF peut
tre cr de plusieurs faons partir dun source LATEX(cf. A
page 241).
PostScript
Langage dni par la socit Adobe pour dcrire un document destin limpression. Ce langage compos de primitives de bas niveau peut tre interprt par des logiciels pour
raliser des aperus avant impression ou directement par des
circuits lectroniques embarqus sur les imprimantes pour gnrer limage imprimer.
Glossaire
279
Rfrences
Systme proposant de manipuler les numros des paragraphes, quations, chapitres, etc. de manire symbolique, permettant de saranchir de la dicult de les mettre jour
lorsque lon change la mise en page.
LATEX
Cest lensemble de macros dni par Leslie Lamport au
dessus de TEX. La version utilise aujourdhui est LATEX 2 .
TEX
Le moteur de base, LATEX tant un ensemble de macros
formant une surcouche. La version de TEX est stabilise la
version 3.14159, chaque nouvelle version Knuth ajoute une
dcimale.
Index
A
Symboles
. . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Q
. . . . . . . . . . . . . . . . . . . . . . . . . . 48
P
. . . . . . . . . . . . . . . . . . . . . . . . . . 48
\( . . . . . . . . . . . . . . . . . . . . . . . . . 140
\) . . . . . . . . . . . . . . . . . . . . . . . . . 140
\, . . . . . . . . . . . . . . . . . . . . . . . . . . 49
\- . . . . . . . . . . . . . . . . . . . . . . . . . . 40
... extension . . . . . . . . . . . . . . . . 149
\/ . . . . . . . . . . . . . . . . . . . . . . . . . . 22
\= . . . . . . . . . . . . . . . . . . . . . . . . . . 26
@ . . . . . . . . . . . . . . . . . . . . . . . . . 138
\[ . . . . . . . . . . . . . . . . . . . . . . . . . . 44
$ . . . . . . . . . . . . . . . . . . . . . . . 12, 44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
TEXnicCenter . . . . . . . . . . . . . . . . . 4
TEXshop . . . . . . . . . . . . . . . . . . . . . 4
\] . . . . . . . . . . . . . . . . . . . . . . . . . . 44
R
281
282
alignement
droite . . . . . . . . . . . . . . . . 24
gauche . . . . . . . . . . . . . . . 24
\Alph . . . . . . . . . . . . . . . . . . . . . . 62
\alph . . . . . . . . . . . . . . . . . . . . . . 62
\alpha . . . . . . . . . . . . . . . . . . . . . 47
amsmath extension . . . . . . 43, 52,
5456, 58, 252
amssymb extension . . vi, 43, 46,
47, 201, 257
\AND . . . . . . . . . . . . . . . . . . . . . . 140
\appendix . . . . . . . . . . . . . . . . 230
\arabic . . . . . . . . . . . . . . . . . . . . 62
\arccos . . . . . . . . . . . . . . . . . . . 260
\arcsin . . . . . . . . . . . . . . . . . . . 260
\arctan . . . . . . . . . . . . . . . . . . . 260
\arg . . . . . . . . . . . . . . . . . . . 48, 260
argument
de commandes . . . . . . . . . 80
optionnel . . . . . . . . . . . 11, 81
array extension . . . . . . . . . 27, 252
array envir. . . . . . . . . . . . . 52, 53
article
rdaction . . . . . . . . . . . . . 100
style . . . . . . . . . . . . . . . . . . 100
Aspell . . . . . . . . . . . . . . . . .251, 256
aspell . . . . . . . . . . . . . . . . . . . . . . . vi
AucTEX . . . . . . . . . . . . . . . . . . . . 251
AucTEX . . . . . 101, 103, 254, 255
\author . . . . . . . . . . . . . . . . . . . 100
B
babel extension . . . . 15, 111116,
172, 184, 187, 188
\backmatter . . . . 110, 182, 244
\bar . . . . . . . . . . . . . . . . . . . . . . . 50
\baselineskip longueur . . . 64,
195
bash . . . . . . . . . . . . . . . . . . . . . . . . 83
bbm extension . . . . . . . . . . . . . . .47
Index
bbold extension . . . . . . . . . . . . . 47
beton extension . . . . . . . . . . . . 147
\bfseries . . . . . . . . . . . . . . . . . 20
BibTEX . . . . . . . . . . . . . . . . . . . . 105
BIBINPUTS
variable denvironnement 105
bibliographie
article . . . . . . . . . . . . . . . . 102
citations . . . . . . . . . . . . . . 103
confrence . . . . . . . . . . . . 103
livre . . . . . . . . . . . . . . . . . . 103
saisie . . . . . . . . . . . . . . . . . 101
style . . . . . . . . . . . . . . . . . . 101
alpha, 104
plain, 104
unsrt, 104
\bibliography . . . . . . . . . . . . 104
\bibliographystyle . . . . . . 104
\bibname . . . . . . . . . . . . . . . . . .182
BibTEX . . . . . . 100106, 253255
bibunits extension . . . . . . . . . . 252
bidouillage . . . . . . . . . . . . . . . . 138
bidule extension . . . . . . . . . . . . 157
\bidule . . . . . . . . . 137, 139, 214
bmatrix envir. . . . . . . . . . . . . . .54
\boiteentreeglossaire . . 222
book.cls . . .165, 166, 168, 169,
171, 173, 182, 218, 229
bookmarks . . . . . . . . . . . 189, 244
bote
bordure . . . . . . . . . . . . . . . . 73
dimensions . . . . . . . . . . . . . 65
et csure . . . . . . . . . . . . . . . 41
exemples . . . . . . . . . . . . . . . 70
paragraphe . . . . . . . . . . . . .76
positionnement . . . . . . . . .73
sauvegarde . . . . . . . . . . . . . 78
simple . . . . . . . . . . . . . . . . . 72
Bravo . . . . . . . . . . . . . . . . . . . . . . xii
\breve . . . . . . . . . . . . . . . . . . . . . 50
brouillon mode . . . . . . . . . . . . . 39
Index
\bsc . . . . . . . . . . . . . . . . . . . . . . 116
\bwarg . . . . . . . . . . . . . . . . . . . . 198
\bwmarg . . . . . . . . . . . . . . . . . . . 198
C
cadre de bote . . . . . . . . . . . . . . 73
cadrechap envir. . . . . . . . . . . 169
calc extension . . . . . . . . . . . . . . . 84
\caption . . . . . . . . 33, 34, 36, 63
caractre
dchappement . . . . . . . . . 12
spciaux . . . . . . . . . . . . . . . 12
caractre @ . . . . . . . . . . . . . . . . 138
\cdots . . . . . . . . . . . . . . . . . . . . . 46
center envir. . . . . . . . . . . . 24, 28
\centering . . . . . . . . . . . . . . . . 24
centrage . . . . . . . . . . . . . . . . . . . . 24
changebar extension . . . . . . . . 138
\chapter . . . . 30, 110, 168, 219,
230, 244
\chapter* . . . . . . . . . . . . . . . . 169
chapterbib extension . . . . . . . . 252
\chaptermark . . . . . . . . . . . . . 179
\check . . . . . . . . . . . . . . . . . . . . . 50
chngpage extension . . . . 144, 201
citations . . . . . . . . . . . . . . . 28, 103
\cite . . . . . . . . . . . .101, 103, 104
\cleardoublepage . . . . 41, 177
\clearpage . . . . . . . . . . . . . . . . 40
\closing . . . . . . . . . . . . . . . . . .119
codage
iso-latin1 . . . . . . . . . . . . . 112
OT1 . . . . . . . . . . . . . . . . . . 112
T1 . . . . . . . . . . . . . . . . . . . . 112
\colarg . . . . . . . . . . . . . . . . . . . 198
\colorbox . . . . . . . . . . . .226, 228
commande
appel . . . . . . . . . . . . . . . . . . 13
dnitions . . . . . . . . . . . . . 79
rednition . . . . . . . . . . . . 82
283
commentaires . . . . . . . . . . . . . . . 12
compilation . . . . . . . . . . . . . . . . . . 7
et rfrences . . . . . . . . . . . 36
compteur
achage . . . . . . . . . . . . . . . 61
manipulation . . . . . . . . . . .60
\conc . . . . . . . . . . . . . . . . . . . . . 118
concrete . . . . . . . . . . . . . . . . . . . 147
\contentsname . . . . . . . . . . . . 182
convert . . . . . . . . . . . . . . . . . . 86, 97
\cos . . . . . . . . . . . . . . . . . . . 48, 260
\cosh . . . . . . . . . . . . . . . . . . . . . 260
\cot . . . . . . . . . . . . . . . . . . . . . . 260
\coth . . . . . . . . . . . . . . . . . . . . . 260
courrier . . . . . . . . . . . . . . . . . . . 118
\creerlettrine . . . . . . . . . . 216
\csc . . . . . . . . . . . . . . . . . . . . . . 260
csure . . . . . . . . . . . . . . . . . . . . . . 38
D
\date . . . . . . . . . . . . . . . . . . . . . 100
date du jour . . . . . . . . . . . . . . . . 15
\ddot . . . . . . . . . . . . . . . . . . . . . . 50
\ddots . . . . . . . . . . . . . . . . . . . . . 46
\DeclareFixedFont . . . . . . . 150
\DefineVerbatimEnvironment 185
\deg . . . . . . . . . . . . . . . . . . . . . . 260
\degres . . . . . . . . . . . . . . . . . . . 114
depth . . . . . . . . . . . . . . . . . . . . . 193
\depth longueur . . . . . . . . . . . . 78
description envir. . . . . . . . . . 25
dessin . . . . . . . . . . . . . . . . . . . . . . 85
\det . . . . . . . . . . . . . . . . . . . . . . 260
\dim . . . . . . . . . . . . . . . . . . . . . . 260
dimension dun objet . . . . . . . 65
displaymath envir. . . . . . 44, 54
\displaystyle . . . . . . . . . . . . . 57
diviser document . . . . . . . . . . 109
docstrip extension . . . . . . . . . . . 92
document
284
diviser . . . . . . . . . . . . . . . . 109
document envir. . . . . . . . . . . . . 23
documentation . . . . . . . . . . . . 124
\documentclass . . . . . . . . . 9, 10
\dominitoc . . . . . . . . . . . . . . . 189
\dot . . . . . . . . . . . . . . . . . . . . . . . 50
\dotfill . . . . . . . . . . . . . . . . . . . 69
\dots . . . . . . . . . . . . . . . . . . . . . . 46
\doublebox . . . . . . . . . . . . . . . 253
\dp . . . . . . . . . . . . . . . . . . . . . . . .232
draft option de classe . . . . . . 39
dvipdf . . . . . . . . . . . . . . . . . . . . . 242
dvips . . . . . . . . 8, 87, 92, 246, 248
dviwin . . . . . . . . . . . . . . . . . . . . . . 87
dnition . . . . . . . . . . . . . . . . . . . 79
commandes . . . . . . . . . . . . 79
environnement . . . . . . . . . 81
dlimiteurs . . . . . . . . . . . . . . . . . 53
E
e dans la . . . . . . . . . . . . . . . . . . 114
dition . . . . . . . . . . . . . . . . . . . . . . .6
eepic extension . . . . . . . . . . . . . . 98
\em . . . . . . . . . . . . . . . . . . . . . . . . . 21
Emacs . . . 7, 101, 103, 185, 186,
234, 251, 254256
emacs . . . . . . . . . . . . . . . vi, xvi, 4
emacscom envir. . . . . . . . . . . . 185
\emph . . . . . . . . . . 12, 21, 22, 146
emphase fontes . . . . . . . . . . . . . 22
emTEX . . . . . . . . . . . . . . . . . . . . . . 87
\encl . . . . . . . . . . . . . . . . . . . . . 118
\enlargethispage . . . . . . . . . 41
\enspace . . . . . . . . . . . . . . . . . . . 69
\ensuremath . . . . . . . . . . 80, 142
\entreeglossaire . . . . . . . . 223
entte . . . . . . . . . . . . . . . . . . . . . . 31
enumerate envir. . . . . . . . .25, 35
environnement
dnition . . . . . . . . . . . . . . 81
Index
rednition . . . . . . . . . . . . 82
environnements
TeXtoEPS . . . . . . . . . . . . . 248
VerbatimOut . . . . . . . . . 231
align* . . . . . . . . . . . . . . . . .56
align . . . . . . . . . . . . . . 55, 56
array . . . . . . . . . . . . . . 52, 53
bmatrix . . . . . . . . . . . . . . . 54
cadrechap . . . . . . . . . . . . 169
center . . . . . . . . . . . . . 24, 28
description . . . . . . . . . . .25
displaymath . . . . . . . 44, 54
document . . . . . . . . . . . . . . 23
emacscom . . . . . . . . . . . . . 185
enumerate . . . . . . . . . 25, 35
epigraphe . . . . . . . . . . . . 209
eqnarray . . . . . . . . .xvii, 55
equation . . . . . . . . . . . . . . 55
ficaux . . . . . . . . . . . . . . . 155
figure . . 3235, 88, 89, 91
flushleft . . . . . . . . . . . . . 24
flushright . . . . . . . . . . . . 24
hyperref . . . . . . . . . . . . . 245
itemize . . . . . . . . . . . . 25, 77
letter . . . . . . . . . . . . . . . 120
list . . . . . 84, 151153, 207
lrbox . . . . . . . . . . . . 159161
ltexexemple . . . . . . . . . 238
ltxexempleenv . . . . . . . 233
ltxexemple 189, 231, 232,
235, 236
minipage . . . . . . . 77, 78, 91
picture . . . . . . . . . . . . 86, 98
pmatrix . . . . . . . . . . . . . . . 54
question . . . . . . . . . . . . . 157
quotation . . . . . . . . . 28, 29
quote . . . . . . . . . . . . . . 28, 29
split . . . . . . . . . . . . . . . . . . 56
subfigure . . . . . . . . . . . . . 91
tabbing . . . . . . . . . . . . . . . 26
table . . . . . . . . . . 32, 33, 35
Index
tabular 26, 27, 52, 76, 252
telefax . . . . . . . . . . . . . . 120
thebibliography . . . . 100,
105, 182
theglossary . . . . . . . . . 221
theindex . . . . . . . . . . . . . 182
unixcom . . . . . . . . . . . . . . 185
verbatim . . . . .28, 185, 253
wrapfigure . . . . . . . . . . . . 91
epic extension . . . . . . . . . . . . . . . 98
epigraphe envir. . . . . . . . . . . 209
eqnarray envir. . . . . . . . xvii, 55
\equal . . . . . . . . . . . . . . . . . . . . 140
equation
quation
multiligne, 55
\equation . . . . . . . . . . . . . . . . . 36
equation envir. . . . . . . . . . . . . 55
quation . . . . . . . . . . . . . . . . . . . . 44
erreurs
corrections . . . . . . . . . . . . . 17
de compilation . . . . . . . . . 16
messages . . . . . . . . . . . . . . . 16
escape char . . . . . . . . . . . . . . . . . 13
espace . . . . . . . . . . . . . . . . . . . . . . 68
dans le source . . . . . . . . . . 12
horizontale . . . . . . . . . . . . . 69
inscable . . . . . . . . . . . 13, 41
mathmatiques . . . . . . . . . 51
prdnie . . . . . . . . . . . . . . 69
verticale . . . . . . . . . . . . . . . 70
esvect extension . . . . . . . . . . . . . 50
tiquette . . . . . . . . . . . . . . . . . . . 35
\etiquettequestion . . . . . . 157
eurosym extension . . . . . . . . . . 116
even . . . . . . . . . . . . . . . . . . . . . . . 176
evince . . . . . . . . . . . . . . . . .68, 243
\exp . . . . . . . . . . . . . . . . . . . . . . 260
exposant . . . . . . . . . . . . . . . . 13, 44
extensions
... . . . . . . . . . . . . . . . . . . . 149
285
TikZ . . . . . . . . . . . . . . . . . . . 98
a4wide . . . . . . . . . . . . . . .xvii
algorithms . . . . . . . . . . . 253
amsmath 43, 52, 5456, 58,
252
amssymb . . . . vi, 43, 46, 47,
201, 257
array . . . . . . . . . . . . . 27, 252
babel . . . 15, 111116, 172,
184, 187, 188
bbm . . . . . . . . . . . . . . . . . . . . 47
bbold . . . . . . . . . . . . . . . . . . 47
beton . . . . . . . . . . . . . . . . . 147
bibunits . . . . . . . . . . . . . 252
bidule . . . . . . . . . . . . . . . 157
calc . . . . . . . . . . . . . . . . . . . 84
changebar . . . . . . . . . . . . 138
chapterbib . . . . . . . . . . . 252
chngpage . . . . . . . . 144, 201
docstrip . . . . . . . . . . . . . . 92
eepic . . . . . . . . . . . . . . . . . . 98
epic . . . . . . . . . . . . . . . . . . . 98
esvect . . . . . . . . . . . . . . . . .50
eurosym . . . . . . . . . . . . . . 116
fancybox . . . . . . . . . 80, 253
fancyhdr . . . . 32, 175, 176,
182, 225, 226, 252
fancyvrb . . . 163, 183, 185,
187, 231, 253
french . . vi, 112, 115, 188,
252
geometry . . . 173, 175, 253
graphics . . . . . . . . . . . . . . 87
graphicx . . .75, 87, 89, 94,
124, 226
hhline . . . . . . . . . . . . . . . 252
hyperref . . . 242, 244, 245
ifpdf . . . . . . . . . . . . . . . . . 243
ifthen . . 84, 139, 140, 252
latexsym . . . . .46, 257, 260
lettrine . . . . . . . . . . . . . 115
286
Index
listings 28, 183, 186, 187
lmodern . . . . . . . . . . . . . . 242
mathpazo . . . . . . . . . . . . . 149
mathptmx . . . . . . . . 145, 149
mini-toc . . . . . . . . . . . . . 189
minitoc . . . . . . . . . 196, 253
newcent . . . . . . . . . 145, 149
overcite . . . . . . . . . . . . . 252
packages . . . . . . . . . . . . . xvi
pifont . . . . . . . . . . . . . . . 257
psfrag . . . . . . . . 92, 93, 248
pstricks . . . . . 98, 246248
subfig . . . . . . . . . . . . . . . . .90
textcomp . . . 116, 257, 264,
265
thumbpdf . . . . . . . . . . . . . 243
times . . . . . . . . . . . . . . . . . 145
url . . . . . . . . . . . . . . . . . . . 253
varioref . . . . . . . . 199, 252
wrapfig . . . . . . . . . . . . 91, 92
xcolor . . . . . . . . . . . . 94, 212
textcomp . . . . . . . . . . . . . 257
inclusion . . . . . . . . . . . . . . . 10
options . . . . . . . . . . . . . . . . 11
F
faire-tant-que . . . . . . . . . . . . . . . 84
fancybox extension . . . . . .80, 253
\fancyfoot . . . . . . . . . . . . . . . 176
fancyhdr extension 32, 175, 176,
182, 225, 226, 252
\fancyhead . . . . . . . . . . . . . . . 175
fancyvrb extension . . . . 163, 183,
185, 187, 231, 253
fax . . . . . . . . . . . . . . . . . . . . . . . . 118
\fax . . . . . . . . . . . . . . . . . . . . . . 118
\fbox . . . . . . . . . 73, 77, 160, 253
\fboxrule longueur . . . 73, 193
\fboxsep longueur 73, 94, 193,
194, 226, 228
Index
emphase . . . . . . . . . . . . . . . 22
gras . . . . . . . . . . . . . . . . . . . . 22
machine crire . . . . 20, 23
mathmatiques . . . . . . . . . 56
mise en vidence . . . . . . . 20
penche . . . . . . . . . . . . . . . . 21
petites majuscules . . 20, 23
sans srif . . . . . . . . . . . . . . . 21
soulign . . . . . . . . . . . . . . . . 23
taille . . . . . . . . . . . . . . . 22, 23
usage . . . . . . . . . . . . . . . . . . 22
\fontfamily . . . . . . . . . . . . . . 150
\fontseries . . . . . . . . . . . . . . 150
\fontshape . . . . . . . . . . . . . . . 150
\fontsize . . . . . . . . . . . . . . . . 150
\footnote . . . . . . . . . . 31, 62, 77
\footnotemark . . . . . . . . . . . . . 31
\footnotesize . . . . . . . . . . . . . 22
\footnotetext . . . . . . . . . . . . . 31
\footrulewidth . . . . . . . . . . 175
format
chiers graphiques . . . . . 86
\frac . . . . . . . . . . . . . . . . . . . . . . 45
fraction . . . . . . . . . . . . . . . . . . . . . 45
\fraction . . . . . . . . . . . . . . . . . 81
\framebox . . . . . . . . . . . . . 73, 190
french extension . . . vi, 112, 115,
188, 252
\frontmatter . . . 110, 181, 230
G
\Gamma . . . . . . . . . . . . . . . . . . . . . 47
\gcd . . . . . . . . . . . . . . . . . . . . . . 260
geometry extension 173, 175, 253
\geometry . . . . . . . . . . . . . . . . 173
gglo.ist . . . . . . . . . . . . . . . . . .221
ghostscript . . . . . . . . . . . . . . . . . . . 6
ghostview . . . . . . . . . . . . . . . . . . . 76
gimp . . . . . . . . . . . . . . . . . . . . 86, 87
glossaire . . . . . . . . . . . . . . . . . . . 109
287
glossaire.ist . . . . . . . . . . . . 224
\glurps . . . . . . . . . . . . . . 213, 216
gnuplot . . . . . . . . . . . . . . . . . . . . . 86
graphics extension . . . . . . . . . . . 87
graphicx extension . . . 75, 87, 89,
94, 124, 226
graphique . . . . . . . . . . . . . . . . . . 85
et mathmatiques . . . . . . 92
gras fontes . . . . . . . . . . . . . . . . . . 22
\grave . . . . . . . . . . . . . . . . . . . . . 50
grep . . . . . . . . . . . . . . . . . . . . . . . 250
groupes . . . . . . . . . . . . . . . . . . . . .21
groupes de discussion . . . . . . 126
gsview . . . . . . . . . . . . . . . . . . . . . . . 4
guillemets . . . . . . . . . . . . . 15, 115
gv . . . . . . . . . . . . . . . . . . . . . . . . . . 76
H
\hat . . . . . . . . . . . . . . . . . . . . . . . 50
\hauteurboitetitre longueur 193
\hauteurdutrait longueur 237
\hauteurtrait longueur . . 237
\hbox . . . . . . . . . . . . . 39, 135, 190
\headrulewidth . . . . . . . . . . 175
height . . . . . . . . . . . . . . . . . . . . . 193
\height longueur . . . . . . . . . . .78
\hfill . . . . . . . . . . . . . 29, 69, 190
hhline extension . . . . . . . . . . . . 252
\hline . . . . . . . . . . . . . . . . . . . . . 27
\hom . . . . . . . . . . . . . . . . . . . . . . 260
\hrule . . . . . . . . . . . . . . . . . . . . 190
\hrulefill . . . . . . . . . . . . . . . . 69
\hspace . . . . . . . . . . . . . . . . . . . . 75
\hspace* . . . . . . . . . . . . . . . . . . . 68
\ht . . . . . . . . . . . . . . . . . . . . . . . .232
\Huge . . . . . . . . . . . . . . . . . . . . . . 22
\huge . . . . . . . . . . . . . . . . . . . . . . 22
hyperref extension 242, 244, 245
\hyperref . . . . . . . . . . . . . . . . 202
hyperref envir. . . . . . . . . . . . 245
288
hyphenation . . . . . . . . . . . . . . . . . 6
\hyphenation . . . . . . . . . . . . . . 40
I
iTEXmax . . . . . . . . . . . . . . . . . . . . . 4
\ieme . . . . . . . . . . . . . . . . . . . . . 114
\ier . . . . . . . . . . . . . . . . . . . . . . 114
ifpdf extension . . . . . . . . . . . . . 243
ifthen extension . . . 84, 139, 140,
252
\ifthenelse . . . . . . . . . 142, 237
\ignorespaces . . . . . . . 137, 211
image . . . . . . . . . . . . . . . . . . . 85, 87
\imath . . . . . . . . . . . . . . . . . . . . . 50
impression . . . . . . . . . . . . . . . . . . . 8
\include . . . . . . . . . . . . . 109, 110
\includegraphics . . . . . . 8890
\includeonly . . . . . . . . . . . . . 109
\includepstricksgraphics 247
inclusion
dextensions . . . . . . . . . . . . 10
dimages . . . . . . . . . . . . . . . 87
de graphiques . . . . . . . . . . 87
ind.dvi . . . . . . . . . . . . . . . . . . . 166
index . . . . . . . . . . . . . . . . . . . . . 106
\index . . . . . . . . . . . . . . . . . . . . 106
\indexname . . . . . . . . . . . . . . . 182
\indexspace . . . . . . . . . . . . . . 165
indice . . . . . . . . . . . . . . . . . . . 13, 44
\indletB longueur . . . 215, 216,
218
\indletH longueur . . . 215, 216
\indnota longueur . . . . . . . . 206
\inf . . . . . . . . . . . . . . . . . . . 48, 260
Inkscape . . . . . . . . . . . . . . . . . . . . 97
\input . . . . . . . . . . . . . . . . 83, 110
\InputIfFileExists . . . . . . 224
\institut . . . . . . . . . . . . . . . . 119
\int . . . . . . . . . . . . . . . . . . . . . . . 58
intgrale . . . . . . . . . . . . . . . . . . . . 48
Index
\isodd . . . . . . . . . . . . . . . 140, 203
italique fontes . . . . . . . . . . . . . . 22
\item . . . . . . . . . . . . . . . . . . . . . 221
\itemindent longueur 151154
itemize envir. . . . . . . . . . . 25, 77
\itemsep longueur . . . 153, 154,
159
\itshape . . . . . . . . . . . . . . . . . . . 20
J
\jmath . . . . . . . . . . . . . . . . . . . . . 50
\jobname . . . . . . . . . . . . . . . . . .224
K
kdvi . . . . . . . . . . . . . . . . . . . . . . . . . 6
\ker . . . . . . . . . . . . . . . . . . . . . . 260
\kern . . . . . . . . . . . . . . . . 188, 193
kile . . . . . . . . . . . . . . . . . . . . . . . . . . 4
\kill . . . . . . . . . . . . . . . . . . . . . . 26
L
\Lab . . . . . . . . . . . . . . . . . . . . . . . 80
\label 35, 36, 56, 102, 144, 236
\labelsep longueur . . 152154,
158
\labelwidth longueur 152154
\langle . . . . . . . . . . . . . . . 53, 198
\LARGE . . . . . . . . . . . . . . . . . . . . . 22
\Large . . . . . . . . . . . . . . . . . . . . . 22
\large . . . . . . . . . . . . . . . . . . . . . 22
\largeurboitetitre longueur 193,
194
\larligB longueur . . . . . . . . 215
\larligH longueur . . . 215, 216
latex . . . . . . . . . . . . . . . . . . . . . . . 242
latex.ltx . . . . . . . 177, 219, 231
latexsym extension . 46, 257, 260
Index
\lceil . . . . . . . . . . . . . . . . . . . . . 53
\ldots . . . . . . . . . . . . . . . . . . . . . 15
\leaders . . . . . . . . . . . . . 190, 191
\leavevmode . . . . . . . . . . . . . . 135
\left . . . . . . . . . . . . . . . . . . . . . . 54
\leftmargin longueur 152154,
208
\leftmark . . . . . . . . . . . .178, 179
\lengthtest . . . . . . . . . . . . . . 140
\let . . . . . . . . . . . . . . . . . .139, 199
letter envir. . . . . . . . . . . . . . . 120
lettres grecques . . . . . . . . . . . . . 47
lettrine . . . . . . . . . . . . . . . . . . . . 115
lettrine extension . . . . . . . . . . . 115
\lettrine . . . . . . . . . . . .216, 217
\lfloor . . . . . . . . . . . . . . . . . . . . 53
\lg . . . . . . . . . . . . . . . . . . . . . . . .260
\lieu . . . . . . . . . . . . . . . . . . . . . 118
like this . . . . . . . . . . . . . . . . . . . xvi
\lim . . . . . . . . . . . . . . . . . . . 58, 260
\liminf . . . . . . . . . . . . . . . . . . . 260
limite . . . . . . . . . . . . . . . . . . . . . . .49
\limsup . . . . . . . . . . . . . . . . . . . 260
\linebreak . . . . . . . . . . . . . 40, 41
\linewidth longueur . . . . . . . 67
linux . . . . . . . . . . . . . . . . . . . . . . . . . 8
list envir. . . . 84, 151153, 207
liste . . . . . . . . . . . . . . . . . . . . .25, 84
ditems . . . . . . . . . . . . . . . . 25
des gures . . . . . . . . . . . . . 34
des tables . . . . . . . . . . . . . . 34
description . . . . . . . . . . . . . 25
enumration . . . . . . . . . . . 25
listings extension . . 28, 183, 186,
187
\listoffigures . . . . . . . 34, 218
\listoftables . . . . . . . . . . . . . 34
\listparindent longueur 152,
154
livres . . . . . . . . . . . . . . . . . . . . . . 124
lmodern extension . . . . . . . . . . 242
289
\ln . . . . . . . . . . . . . . . . . . . . 48, 260
\log . . . . . . . . . . . . . . . . . . . 48, 260
logiciels connexes
TEXnicCenter . . . . . . . . . . . . 4
TEXshop . . . . . . . . . . . . . . . . . 4
Acrobat Reader . . 242, 243,
245
acrobat reader . . . . . . . . . . . 6
Aspell . . . . . . . . . . . . 251, 256
aspell . . . . . . . . . . . . . . . . . . .vi
AucTEX . . . . . . . . . . . . . . . 251
bash . . . . . . . . . . . . . . . . . . . 83
BibTEX . . . . . . . . . . . . . . . .105
BibTEX . 100106, 253255
Bravo . . . . . . . . . . . . . . . . . .xii
convert . . . . . . . . . . . . . 86, 97
dvipdf . . . . . . . . . . . . . . . . .242
dvips . . . 8, 87, 92, 246, 248
dviwin . . . . . . . . . . . . . . . . . . 87
Emacs . . . . 7, 101, 103, 185,
186, 234, 251, 254256
emacs . . . . . . . . . . . vi, xvi, 4
evince . . . . . . . . . . . . 68, 243
fig2dev . . . . . . . . . . . . . . . . . 97
ghostscript . . . . . . . . . . . . . . 6
ghostview . . . . . . . . . . . . . . 76
gimp . . . . . . . . . . . . . . . 86, 87
gnuplot . . . . . . . . . . . . . . . . .86
grep . . . . . . . . . . . . . . . . . . 250
gsview . . . . . . . . . . . . . . . . . . . 4
gv . . . . . . . . . . . . . . . . . . . . . 76
iTEXmax . . . . . . . . . . . . . . . . .4
Inkscape . . . . . . . . . . . . . . . .97
kdvi . . . . . . . . . . . . . . . . . . . . . 6
kile . . . . . . . . . . . . . . . . . . . . . . 4
latex . . . . . . . . . . . . . . . . . . 242
linux . . . . . . . . . . . . . . . . . . . . 8
luaTEX . . . . . . . . . . . . . . . . 112
lualatex . . . . . . . . . . . . . . . . . .7
make . . . . . . . 85, 95, 96, 248
makebst . . . . . . . . . . . . . . . 101
290
makeindex . . . . . . . 106108,
164166, 220223, 254
metafont . . . . . . . . . . . . . . . 86
pdflatex . . . . . . . 7, 242244,
246248
pdftex . . . . . . . . . . . . . . . . .112
ps2pdf . . . . . . . . . . . . . . . . 242
psfrag . . . . . . . 241, 246, 248
pstricks . . . . . . 241, 246, 248
texmaker . . . . . . . . . . . . . . . . 4
texture . . . . . . . . . . . . . . . . . 87
transfig . . . . . . . . . . . . . . . 271
vi . . . . . . . . . . . . . . . . . . . . . . . 4
xdvi . . . . 6, 76, 87, 245, 255
xeTEX . . . . . . . . . . . . . . . . . 112
xelatex . . . . . . . . . . . . . . . . . . 7
Xfig . . . . . . . . . . . . . . . . . . . 242
xfig . . . . . . . 86, 97, 270, 271
xpdf . . . . . . . . . . . . . . . . . . . . .6
yap . . . . . . . . . . . . . . . . . . . . . .6
longueurs . . . . . . . . . . . . . . . . . . . 63
manipulation . . . . . . . . . . .64
prdnies . . . . . . . . . . . . . 64
lastiques . . . . . . . . . . . . . . 66
lrbox envir. . . . . . . . . . . 159161
ltexexemple envir. . . . . . . . . 238
\ltxcom . . . . . . . . . . . . . . . . . . . 199
ltxexemple envir. . . . 189, 231,
232, 235, 236
ltxexempleenv envir. . . . . . 233
\ltxpack . . . . . . . . . . . . . 157, 199
luaTEX . . . . . . . . . . . . . . . . . . . . .112
lualatex . . . . . . . . . . . . . . . . . . . . . . 7
M
machine crire fontes . . . . . 23
macro . . . . . . . . . . . . . . . . . . . . . . 79
dnitions . . . . . . . . . . . . . 79
rednition . . . . . . . . . . . . 82
Magma . . . . . . . . . . . . . . . . . . . . . 89
Index
\mainmatter . . . . 110, 169, 181
majuscules . . . . . . . . . . . . . . . . 116
make . . . . . . . . . . . 85, 95, 96, 248
\makeatletter . . . . . . . . . . . . 139
\makeatother . . . . . . . . . . . . . 139
\makebox . . . 72, 73, 75, 79, 190
makebst . . . . . . . . . . . . . . . . . . . 101
makefile . . . . . . . . . . . . . . . . . . . 95
\makeglossary . . . . . . . . . . . . 220
\makeindex . . . . . . . . . . . . . . . 107
makeindex . . . 106108, 164166,
220223, 254
\makelabel . . . . . .152, 154, 157
\maketitle . . . . . . . . . . . . . . . 100
\MakeUppercase . . . . . . . . . . 182
\marg . . . . . . . . . . . . . . . . 185, 199
marge
changements de . . . . . . . 253
note de . . . . . . . . . . . . . . . . 29
\marginpar . . . . . . . . . . . . . . . . 29
\markboth . . . . . . . . . . . .177, 178
\markright . . . . . . . . . . 177, 178
\mathbb . . . . . . . . . . . . . . . . . . . . 47
\mathbbm . . . . . . . . . . . . . . . . . . . 47
\mathbbmss . . . . . . . . . . . . . . . . 47
\mathbf . . . . . . . . . . . . . . . . 47, 56
\mathcal . . . . . . . . . . . . . . . . . . . 56
\mathit . . . . . . . . . . . . . . . . . . . . 56
mathpazo extension . . . . . . . . 149
mathptmx extension . . . 145, 149
\mathrm . . . . . . . . . . . . . . . . . . . . 56
\mathsf . . . . . . . . . . . . . . . . . . . . 56
\mathtt . . . . . . . . . . . . . . . . . . . . 56
mathmatiques
et dnitions de commande
80
fonctions . . . . . . . . . . . . . . . 47
fontes . . . . . . . . . . . . . . . . . . 56
formules . . . . . . . . . . . . . . . 54
modes . . . . . . . . . . . . . . . . . 44
style . . . . . . . . . . . . . . . . . . . 57
Index
symboles . . . . . . . . . . . . . . . 45
matrice . . . . . . . . . . . . . . . . . . . . . 53
\max . . . . . . . . . . . . . . . . . . . 48, 260
\mbox . 41, 52, 72, 79, 135, 161,
190
\mdseries . . . . . . . . . . . . . . . . . 20
metafont . . . . . . . . . . . . . . . . . . . . 86
\min . . . . . . . . . . . . . . . . . . . 48, 260
mini-toc extension . . . . . . . . . . 189
minipage envir. . . . . . 77, 78, 91
minitoc extension . . . . . . 196, 253
\minitoc . . . . . . . . . . . . . . . . . .189
mode
brouillon . . . . . . . .10, 39, 90
recto verso . . . . . . . . . . . . . 10
N
\newboolean . . . . . . . . . . . . . . 140
newcent extension . . . . . 145, 149
newcent.sty . . . . . . . . . . . . . . 149
\newcommand . . . 58, 79, 81, 213
\newcounter . . . . . . . . . . 60, 143
\newenvironment . . . . . .81, 186
\newlength . . . . . . . . . . . . . . . . 64
\newsavebox . . . . . . . . . . . . . . . 78
newsgroup . . . . . . . . . . . . . . . . . 126
\No . . . . . . . . . . . . . . . . . . . . . . . .114
\no . . . . . . . . . . . . . . . . . . . . . . . .114
\NoAutoSpaceBeforeFDP . . 113
\nocite . . . . . . . . . . . . . . . . . . . 104
\nointerlineskip . . . 195, 238
\nolimits . . . . . . . . . . . . . . . . . 58
\nolinebreak . . . . . . . . . . . . . . 41
\nonumber . . . . . . . . . . . . . . . . . 55
\nopagebreak . . . . . . . . . . . . . . 41
\normalfont . . . . . . . . . . . . . . 198
\normalsize . . . . . . . . . . . . . . . 22
\NOT . . . . . . . . . . . . . . . . . . . . . . 140
\not . . . . . . . . . . . . . . . . . . . . . . . 49
note de bas de page . . . . . . . . .31
291
\nouppercase . . . . . . . . . . . . . 182
numrotation . . . . . . . . . . . . . . . 60
O
odd . . . . . . . . . . . . . . . . . . . . . . . 176
\OE . . . . . . . . . . . . . . . . . . . . . . . .114
. . . . . . . . . . . . . . . . . . . . . . . . . . 114
\oe . . . . . . . . . . . . . . . . . . . . . . . .114
\og . . . . . . . . . . . . . . . 15, 115, 188
\oint . . . . . . . . . . . . . . . . . . . . . . 49
\onglet . . . . . . . . . . . . . . 226, 229
\ongletfont . . . . . . . . . . . . . . 226
\opening . . . . . . . . . . . . . . . . . .119
options
de graphicx . . . . . . . . . . . 89
de classe . . . . . . . . . . . . . . . 10
oprateur \not . . . . . . . . . . . . . . 49
\OR . . . . . . . . . . . . . . . . . . . . . . . .140
\Ovalbox . . . . . . . . . . . . . . 80, 253
\ovalbox . . . . . . . . . . . . . . . . . .253
overcite extension . . . . . . . . . . 252
overfull . . . . . . . . . . . . . . . . . . . . . 38
\overrightarrow . . . . . . . . . . 50
OzTEX . . . . . . . . . . . . . . . . . . . . . . 87
P
packages extension . . . . . . . . . xvi
\padnota longueur . . . . . . . . 207
\pagebreak . . . . . . . . . . . . . 40, 41
\pagenumbering . . . . . . . . . . 181
\pageref . . . . . . . . . . . . . . 35, 245
\pagestyle . . . . . . . . . . . . . . . . 32
\par . . . . . . . . . . . . . . . . 12, 24, 70
\paragraph . . . . . . . . . . . . . . . . 30
paragraphe
sparation . . . . . . . . . . . . . 66
\parbox . 7678, 192, 193, 202,
237
parenthses . . . . . . . . . . . . . . . . . 53
292
\parindent longueur . . 78, 211
\parindent . . . . . . . . . . . . . 64, 65
\parsep longueur . . . . . 153, 154
\parshape . . 204, 205, 213, 215
\parskip . . . . . . . . . . . . . . . 64, 66
\part . . . . . . . . . . . . . 30, 171, 173
\partopsep longueur . 153, 154
pdflatex . . . 7, 242244, 246248
pdftex . . . . . . . . . . . . . . . . . . . . . 112
petites majuscules fontes . . . 23
\phantomsection . . . . . . . . . 245
\pi . . . . . . . . . . . . . . . . . . . . . . . . . 47
picture envir. . . . . . . . . . . 86, 98
pied de page . . . . . . . . . . . . . . . . 31
pifont extension . . . . . . . . . . . . 257
pmatrix envir. . . . . . . . . . . . . . .54
points . . . . . . . . . . . . . . . . . . . . . . 69
points de suspension . . . . 15, 46
positionnement de bote . . . . 73
PostScript . . . 4, 68, 76, 85, 86,
92, 145, 150, 245, 246,
248, 257
\Pr . . . . . . . . . . . . . . . . . . . . . . . .260
prambule . . . . . . . . . . . . . . . 9, 10
\primo . . . . . . . . . . . . . . . . . . . . 114
\printindex . . . . 106, 107, 245
\prod . . . . . . . . . . . . . . . . . . . . . . 48
produit . . . . . . . . . . . . . . . . . . . . . 48
\protect . . . . . . . . . . . . . . . . . .199
ps2pdf . . . . . . . . . . . . . . . . . . . . . 242
psfrag extension . . . . 92, 93, 248
\psfrag . . . . . . . . . . . . . . . . 92, 93
psfrag . . . . . . . . . . . . 241, 246, 248
pstricks extension . . 98, 246248
pstricks . . . . . . . . . . 241, 246, 248
Q
\qquad . . . . . . . . . . . . . . . . . 51, 69
\quad . . . . . . . . . . . . . . . . . . . 51, 69
\quarto . . . . . . . . . . . . . . . . . . . 114
Index
question envir. . . . . . . . . . . . 157
quotation envir. . . . . . . . .28, 29
quote envir. . . . . . . . . . . . . 28, 29
R
racine . . . . . . . . . . . . . . . . . . . . . . 45
\raggedleft . . . . . . . . . . . . . . . 24
\raggedright . . . . . . . . . . . . . . 25
\raisebox . . . . . . . . . 73, 74, 228
\rangle . . . . . . . . . . . . . . . 53, 198
\rceil . . . . . . . . . . . . . . . . . . . . . 53
recto verso . . . . . . . . . . . . . . . . . 10
rednitions . . . . . . . . . . . . . . . . 82
\ref . . . . . . . . . 35, 242, 245, 252
\reflectbox . . . . . . . . . . . . . . 226
\renewcommand . . . . 58, 82, 237
\renewenvironment . . . . . . . . 82
ressort . . . . . . . . . . . . . . . . . . . . . . 66
\rfloor . . . . . . . . . . . . . . . . . . . . 53
\right . . . . . . . . . . . . . . . . . . . . . 54
\right. . . . . . . . . . . . . . . . . . . . . 54
\rightmargin longueur . . . 152,
154
\rightmark . . . . . . . . . . 178, 179
\rmfamily . . . . . . . . . . . . . . . . . 20
\Roman . . . . . . . . . . . . . . . . . . . . . 62
\roman . . . . . . . . . . . . . . . . . . . . . 62
\rotatebox . . . . . . . . . . . . . . . . 75
rotation
de botes . . . . . . . . . . . . . . . 75
de graphiques . . . . . . . . . . 89
\rule . . . . . . . . . . . . . . . . . . . . . . 86
rfrence . . . . . . . . . . . . . . . . . . . 34
aux subfigures . . . . . . . . 91
et chier auxiliaires . . . . 36
non dnie . . . . . . . . . . . . . 36
un objet . . . . . . . . . . . . . 35
une page . . . . . . . . . . . . . 35
Index
S
\S . . . . . . . . . . . . . . . . . . . . . . . . . . 15
saut
de ligne . . . . . . . . . . . . . . . . 12
de paragraphe . . . . . . . . . .11
sauvegarde de bote . . . . . . . . . 78
\savebox . . . . . . . . . . 78, 79, 232
\sbox . . . . . . . . . . . . . . . . . . . 78, 79
\scriptscriptstyle . . . . . . . 57
\scriptsize . . . . . . . . . . . . . . . 22
\scriptstyle . . . . . . . . . . . . . . 57
\scshape . . . . . . . . . . . . . . . . . . . 20
\sec . . . . . . . . . . . . . . . . . . . . . . 260
\section 30, 36, 166, 167, 179,
219
section numbering depth . . .166
\section* . . . . . . . . . . . . . . . . . 30
\sectionmark . . . . . . . . . . . . . 179
\secundo . . . . . . . . . . . . . . . . . .114
\selectfont . . . . . . . . . . . . . . 150
\setboolean . . . . . . . . . . . . . . 140
\setbox . . . . . . . . . . . . . . . . . . . 232
\setcounter . . . . . . . . . . . . . . . 61
\setlength . . . . . . . . . . . . . . . . 65
\settodepth . . . . . . . . . . . . . . . 66
\settoheight . . . . . . . . . 66, 231
\settotoalheight . . . . . . . . 237
\settowidth . . . . . . . . . . 66, 231
\sffamily . . . . . . . . . . . . . . . . . 20
\shadowbox . . . . . . . . . . . . . . . 253
shape . . . . . . . . . . . . . . . . . . . . . 146
\showthe . . . . . . . . . . . . . . . . . . . 67
si-alors-sinon . . . . . . . . . . . . . . . 84
\signature . . . . . . . . . . . . . . . 118
simulation de terminal . . . . . . 28
\sin . . . . . . . . . . . . . . . . . . . 48, 260
\sinh . . . . . . . . . . . . . . . . . . . . . 260
sites internet . . . . . . . . . . . . . . 125
\slshape . . . . . . . . . . . . . . . 20, 21
\small . . . . . . . . . . . . . . . . 22, 233
293
sommaire . . . . . . . . . . . . . . . . . . 115
\sommaire . . . . . . . . . . . .115, 218
somme . . . . . . . . . . . . . . . . . . . . . 48
soulign
fontes . . . . . . . . . . . . . . . . . . 23
sous-gures . . . . . . . . . . . . . . . . . 90
split envir. . . . . . . . . . . . . . . . . 56
\sqrt . . . . . . . . . . . . . . . . . . . . . . 45
\stackrel . . . . . . . . . . . . . . . . . 50
\stretch . . . . . . . . . . . . . . . . . . . 67
subfig extension . . . . . . . . . . . . . 90
\subfigure . . . . . . . . . . . . . . . . 91
subfigure envir. . . . . . . . . . . . 91
\subparagraph . . . . . . . . . . . . . 30
\subsection . . . . . . . 30, 62, 166
\subsubsection . . . . . . . . . . . .30
\sup . . . . . . . . . . . . . . . . . . . 48, 260
\symbol . . . . . . . . . . . . . . 188, 200
\symboles . . . . . . . . . . . . . . . . 143
symboles mathmatiques . . . 45
T
tab le of contents depth . . . 166
tabbing envir. . . . . . . . . . . . . . .26
table . . . . . . . . . . . . . . . . . . . . . . . 33
liste des . . . . . . . . . . . . . . . . 34
placement . . . . . . . . . . . . . . 33
table envir. . . . . . . . . . 32, 33, 35
table des matires . . . . . . . . . . 37
numrotation . . . . . . . . . 166
profondeur . . . . . . . . . . . . 166
tableau . . . . . . . . . . . . . . . . . . . . . 26
mathmatique . . . . . . . . . 52
\tableofcontents . 30, 37, 38,
106, 182, 218
tabular envir. . . 26, 27, 52, 76,
252
tabulations . . . . . . . . . . . . . . . . . 26
taille
des fontes . . . . . . . . . . . . . . 22
294
des graphiques . . . . . . . . . 89
\tan . . . . . . . . . . . . . . . . . . . 48, 260
\tanh . . . . . . . . . . . . . . . . . . . . . 260
telefax envir. . . . . . . . . . . . . 120
\telephone . . . . . . . . . . . . . . . 118
\tempodim longueur . . . . . . . 237
\tertio . . . . . . . . . . . . . . . . . . . 114
\TeX . . . . . . . . . . . . . . . . . . . . . . . 13
TEXINPUTS
variable denvironnement 83
texmaker . . . . . . . . . . . . . . . . . . . . . 4
\text . . . . . . . . . . . . . . . . . . . . . . 52
\textbf . . . . . . . . . . . . . . . 20, 146
textcomp extension . . . 116, 257,
264, 265
textcomp extension . . . . . . . . . 257
\texteuro . . . . . . . . . . . . . . . . 116
\textheight . . . . . . . . . . . . . . . 64
\textit . . . . . . . . . . . . . . . . . . . . 20
\textmd . . . . . . . . . . . . . . . . . . . . 20
TeXtoEPS envir. . . . . . . . . . . . 248
\textrm . . . . . . . . . . . . . . . . . . . . 20
\textsc . . . . . . . . . . . . . . . . . . . . 20
\textsf . . . . . . . . . . . . . . . . . . . . 20
\textsl . . . . . . . . . . . . . . . . . . . . 20
\textstyle . . . . . . . . . . . . . . . . 57
\texttt . . . . . . . . . . . . . . . . . . . . 20
\textup . . . . . . . . . . . . . . . . . . . . 20
texture . . . . . . . . . . . . . . . . . . . . . .87
\textwidth longueur . . 78, 205
\textwidth . . . . . . . . . . . . . . . . 64
\thanks . . . . . . . . . . . . . . . . . . . 100
\the . . . . . . . . . . . . . . . . . . . . 61, 62
thebibliography envir. . . 100,
105, 182
\thefigure . . . . . . . . . . . . . . . . 62
\thefootnote . . . . . . . . . . . . . . 62
theglossary envir. . . . . . . . . 221
theindex envir. . . . . . . . . . . . 182
\thepage . . . . . . . . . . . . . . . . . . . 62
\thesubsection . . . . . . . . . . . .62
Index
\thispagestyle . . . . . . . . . . . .32
thumbpdf extension . . . . . . . . 243
TikZ extension . . . . . . . . . . . . . . 98
\tilde . . . . . . . . . . . . . . . . . . . . . 50
times extension . . . . . . . . . . . . .145
\times . . . . . . . . . . . . . . . . . . . . 142
\tiny . . . . . . . . . . . . . . . . . . . . . . 22
tirets . . . . . . . . . . . . . . . . . . . . . . . 15
\title . . . . . . . . . . . . . . . . . . . . 100
\titlebox . . . . . . . . . . . .192, 196
titre . . . . . . . . . . . . . . . . . . . . . . . . 30
dun document . . . . . . . . 100
numrotation . . . . . . . . . 166
\today . . . . . . . . . . . . . . . . . . . . . 15
\topsep longueur . . . . . 153, 154
\totalheight longueur . . . . .78
traits . . . . . . . . . . . . . . . . . . . 69, 86
transfig . . . . . . . . . . . . . . . . . . . . 271
translation de bote . . . . . 73, 75
\truc . . . . . . . . . . . . . . . . . . . . . 137
\ttfamily . . . . . . . . . . . . . . . . . 20
\typeout . . . . . . . . . . . . . . . . . .224
typographie
lettrine . . . . . . . . . . . . . . . 115
majuscules . . . . . . . . . . . . 116
ponctuation . . . . . . . . . . . 113
rgles . . . . . . . . . . . . . 22, 115
U
underfull . . . . . . . . . . . . . . . . . . . 38
\underline . . . . . . . . . . . . . . . . 23
unit des longueurs . . . . . . . . . 63
Unix vii, x, 7, 86, 87, 134, 246,
247, 251
unixcom envir. . . . . . . . . . . . . 185
\unskip . . . . 137, 138, 188, 211
\up . . . . . . . . . . . . . . . . . . . . . . . .116
\upshape . . . . . . . . . . . . . . . . . . . 20
url extension . . . . . . . . . . . . . . . 253
\url . . . . . . . . . . . . . . . . . . . . . . 245
Index
\usebox . . . . . . . . . . . . . . . 79, 213
\usecounter . . . . . . . . . . . . . . 157
\usepackage . . 10, 83, 90, 139,
173
V
\value . . . . . . . . . . . . . . . 140, 142
variable denvironnement
BIBINPUTS . . . . . . . . . . . . 105
TEXINPUTS . . . . . . . . . . . . . 83
varioref extension . . . . . . 199, 252
\vbox . . . . . . . . . . . . . . . . . . . . . . 39
\vdots . . . . . . . . . . . . . . . . . . . . . 46
\vec . . . . . . . . . . . . . . . . . . . . . . . 50
vecteurs . . . . . . . . . . . . . . . . . . . . 50
\verb . . . . . . . . . . . . . . . . . . . . . . 28
\verb* . . . . . . . . . . . . . . . . . . . . . 28
verbatim envir. . . . 28, 185, 253
\VerbatimEnvironment . . . 232
\VerbatimInput . . . . . . . . . . 231
VerbatimOut envir. . . . . . . . . 231
\vfill . . . . . . . . . . . . . . . . . . . . . 70
vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
visualisation . . . . . . . . . . . . . . . . . 7
\voir . . . . . . . . . . . . . . . . . 200202
\vref . . . . . . . . . . . .199, 245, 252
\vspace . . . . . . . . . . . . . . . 70, 209
\vspace* . . . . . . . . . . . . . . . . . . . 68
W
\whiledo . . . . . . . . . . . . . 141, 142
\width longueur . . . . . . . . . . . . 78
wrapfig extension . . . . . . . . 91, 92
\wrapfig . . . . . . . . . . . . . . . . . . . 92
wrapfigure envir. . . . . . . . . . . 91
Wysiwyg . . . . . . . . . . . . . . xii, xiii
295
X
xcolor extension . . . . . . . . 94, 212
xdvi . . . . . . . . . 6, 76, 87, 245, 255
xeTEX . . . . . . . . . . . . . . . . . . . . . 112
xelatex . . . . . . . . . . . . . . . . . . . . . . . 7
Xfig . . . . . . . . . . . . . . . . . . . . . . . 242
xfig . . . . . . . . . . . .86, 97, 270, 271
xpdf . . . . . . . . . . . . . . . . . . . . . . . . . 6
Y
yap . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1 Principes de base
1.1 Installation . . . . . . . . . . . . . . . . .
1.2 Cycle de production . . . . . . . . . . . .
1.2.1 dition . . . . . . . . . . . . . . .
1.2.2 Compilation . . . . . . . . . . . . .
1.2.3 Visualisation . . . . . . . . . . . .
1.2.4 Impression . . . . . . . . . . . . .
1.3 Structure type dun document source . . .
1.3.1 Classe du document . . . . . . . .
1.3.2 Le prambule . . . . . . . . . . . .
1.3.3 Ajout dextension . . . . . . . . . .
1.4 Cest parti ! . . . . . . . . . . . . . . . . .
1.4.1 Quelques caractres sont spciaux
1.4.2 Appel des commandes . . . . . . .
1.4.3 Accents . . . . . . . . . . . . . . .
1.5 Premiers outils . . . . . . . . . . . . . . .
1.6 Premires erreurs . . . . . . . . . . . . . .
1.6.1 Symptmes . . . . . . . . . . . . .
297
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
6
6
7
7
8
9
9
10
10
11
12
13
14
15
15
16
298
Diagnostic . . . . . . . . . . . . . . . . . . . .
Soins . . . . . . . . . . . . . . . . . . . . . . .
Une collection de message . . . . . . . . . . .
16
17
17
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
20
20
21
22
22
23
24
25
26
26
28
28
29
30
31
31
32
33
33
34
34
35
35
36
36
37
38
38
40
3 Mathmatiques
3.1 Les deux faons dcrire des maths
3.2 Commandes usuelles . . . . . . . .
3.2.1 Indice et exposant . . . . .
3.2.2 Fraction et racine . . . . . .
3.2.3 Symboles . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
44
44
44
45
45
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3.4
3.5
3.6
3.7
3.8
299
Fonctions . . . . . . . . . . . . . . . . . . .
3.3.1 Fonctions standards . . . . . . . . .
3.3.2 Intgrales, sommes et autres limites
Des symboles les uns sur les autres . . . . .
3.4.1 Loprateur not . . . . . . . . . . .
3.4.2 Accents . . . . . . . . . . . . . . . .
3.4.3 Vecteurs . . . . . . . . . . . . . . . .
3.4.4 Commande stackrel . . . . . . . .
Deux principes importants . . . . . . . . . .
3.5.1 Espaces en mode mathmatique . .
3.5.2 Texte en mode mathmatique . . . .
Array : simple et ecace . . . . . . . . . . .
3.6.1 Comment a marche . . . . . . . . .
3.6.2 Array et les dlimiteurs . . . . . . .
3.6.3 Pour vous simplier la vie... . . . . .
quations et environnements . . . . . . . .
3.7.1 Lenvironnement displaymath . . .
3.7.2 Lenvironnement equation . . . . .
3.7.3 Formules multi-lignes . . . . . . . .
Styles en mode mathmatique . . . . . . . .
3.8.1 Fontes . . . . . . . . . . . . . . . . .
3.8.2 Taille des symboles . . . . . . . . . .
3.8.3 Crer de nouveaux oprateurs . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
47
48
49
49
50
50
50
51
51
52
52
52
53
54
54
54
55
55
56
56
57
57
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
59
60
60
60
61
63
63
64
64
66
67
68
68
69
70
72
73
300
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
76
78
78
79
79
81
82
83
5 Graphisme
5.1 Apritifs . . . . . . . . . . . . . . . . .
5.2 Du format des chiers graphiques . . .
5.3 Le package graphicx . . . . . . . . . . .
5.3.1 Un standard . . . . . . . . . .
5.3.2 Options . . . . . . . . . . . . .
5.4 Quelques extensions utiles . . . . . . .
5.4.1 subfig . . . . . . . . . . . . . .
5.4.2 Le package wrapfig . . . . . . .
5.4.3 Le package psfrag . . . . . . . .
5.4.4 Le package xcolor . . . . . . . .
5.5 Utiliser make . . . . . . . . . . . . . .
5.5.1 Convertir les images . . . . . .
5.5.2 Convertir les chiers de dessin
5.6 part a . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
85
86
86
87
87
89
90
90
91
92
94
95
96
97
97
6 Documents scientifiques
6.1 Article . . . . . . . . . . . . . . . . . . .
6.2 Bibliographie . . . . . . . . . . . . . . .
6.2.1 Fichier .bib . . . . . . . . . . .
6.2.2 Citation . . . . . . . . . . . . . .
6.2.3 Gnration . . . . . . . . . . . .
6.3 Index . . . . . . . . . . . . . . . . . . .
6.3.1 Ce quil faut faire . . . . . . . . .
6.3.2 Dtail du fonctionnement . . . .
6.3.3 Dirents types dentre dindex
6.3.4 Glossaire . . . . . . . . . . . . .
6.4 Diviser votre document . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
99
100
100
101
103
105
106
106
107
108
109
109
4.5
4.6
.
.
.
.
.
.
.
.
301
7 Des
7.1
7.2
7.3
documents en franais
Le problme des lettres accentues
Rdiger en franais avec LATEX . .
Le package babel et la typographie
7.3.1 Ponctuation . . . . . . . . .
7.3.2 L-a, e dans la, t-i, t-i, a ! .
7.3.3 Outils du package babel . .
7.3.4 Recommandations dusage .
7.3.5 Le cas de leuro . . . . . . .
7.3.6 Au sujet des majuscules . .
7.4 Courrier et fax . . . . . . . . . . .
7.4.1 Commandes disponibles . .
7.4.2 Document bas sur la classe
7.4.3 Fichiers instituts . . . .
7.4.4 Fax . . . . . . . . . . . . .
8 vous de jouer !
8.1 Livres et autres manuels .
8.2 Local . . . . . . . . . . . .
8.3 ETp, Oube et niouses
8.3.1 CTAN . . . . . . .
8.3.2 Sites Web . . . . .
8.3.3 Les newsgroups . .
II
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
lettre
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
111
112
112
113
113
114
114
115
116
116
118
118
119
119
119
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
123
124
124
125
125
125
126
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9 Outillage ncessaire
9.1 Hercule Poirot . . . . . . . . . . . . . .
9.1.1 Fouiller dans les chiers . . . . .
9.1.2 Examiner les macros . . . . . . .
9.2 Outils de bas niveaux . . . . . . . . . .
9.2.1 Pour qui sont ces pourcents ? . .
9.2.2 Le caractre @ . . . . . . . . . .
9.2.3 Le \let de TEX . . . . . . . . .
9.3 Structures de contrle et tests . . . . . .
9.3.1 Boolens et oprateurs associs .
9.3.2 Exemples . . . . . . . . . . . . .
9.3.3 Tester la parit des pages . . . .
9.4 Fontes . . . . . . . . . . . . . . . . . . .
9.4.1 Le jeu des trois familles . . . .
9.4.2 Dsignation des fontes et de leurs
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
attributs
127
.
.
.
.
.
.
.
.
.
.
.
.
.
.
133
134
134
134
136
136
138
139
139
140
141
144
145
145
145
302
149
151
151
152
153
153
155
158
159
160
160
10 Cosmtique
10.1 Allure de lindex . . . . . . . . . . . . . . . . . . . .
10.2 Allures des titres . . . . . . . . . . . . . . . . . . . .
10.2.1 Numrotation dans la table des matires . . .
10.2.2 Sections et niveaux infrieurs . . . . . . . . .
10.2.3 Chapitres . . . . . . . . . . . . . . . . . . . .
10.2.4 Parties . . . . . . . . . . . . . . . . . . . . . .
10.3 Gomtrie . . . . . . . . . . . . . . . . . . . . . . . .
10.4 En-tte et pied de page . . . . . . . . . . . . . . . .
10.4.1 Cas de la premire page des chapitres . . . .
10.4.2 Pages vierges avant le dbut dun chapitre . .
10.4.3 Mcanisme de marqueurs . . . . . . . . . . .
10.4.4 Organisation du document . . . . . . . . . .
10.4.5 Numroter lintroduction en roman petites
capitales . . . . . . . . . . . . . . . . . . . .
10.4.6 Index, bibliographie et table des matires . .
10.5 Environnements verbatim . . . . . . . . . . . . .
10.5.1 Digression vers les caractres... . . . . . . . .
10.5.2 Environnements maison bass sur fancyvrb . .
10.5.3 Environnements pour langages de programmation . . . . . . . . . . . . . . . . . . . . . .
10.6 About those so called french guillemets . . . . . . .
10.7 Une bote pour le mini-sommaire . . . . . . . . . . .
10.7.1 Linterface de la commande . . . . . . . . . .
10.7.2 Quand mme un peu de TEX . . . . . . . . .
10.7.3 Conception de la bote . . . . . . . . . . . . .
10.7.4 Le code . . . . . . . . . . . . . . . . . . . . .
10.7.5 Utilisation avec package minitoc . . . . . . . .
163
164
166
166
166
168
171
173
175
176
177
177
179
9.5
9.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
181
182
183
183
185
186
187
189
190
190
192
192
196
303
11 De nouveaux jouets
11.1 Quelques bricoles . . . . . . . . . . . . . . . . . . .
11.1.1 Arguments et convention typographique . .
11.1.2 Autour de la gnration de lindex . . . . .
11.1.3 Des renvois . . . . . . . . . . . . . . . . . .
11.1.4 Changement de marges . . . . . . . . . . .
11.2 Des nota . . . . . . . . . . . . . . . . . . . . . . . .
11.3 Des citations . . . . . . . . . . . . . . . . . . . . .
11.3.1 pigraphes . . . . . . . . . . . . . . . . . .
11.3.2 Citations . . . . . . . . . . . . . . . . . . .
11.4 Des lettrines . . . . . . . . . . . . . . . . . . . . . .
11.4.1 La commande \glurps ou un pas vers TEX
11.4.2 Insertion de la lettrine dans un paragraphe
11.5 Un sommaire . . . . . . . . . . . . . . . . . . . . .
11.6 Un glossaire . . . . . . . . . . . . . . . . . . . . . .
11.6.1 Tordre le cou makeindex . . . . . . . . . .
11.6.2 Un environnement pour le glossaire . . . . .
11.6.3 Produire le chier .glx . . . . . . . . . . .
11.6.4 Recollons les morceaux . . . . . . . . . . . .
11.7 Des onglets . . . . . . . . . . . . . . . . . . . . . .
11.7.1 Ide retenue . . . . . . . . . . . . . . . . . .
11.7.2 Les botes dans la marge . . . . . . . . . . .
11.7.3 Position des onglets . . . . . . . . . . . . .
11.8 Exemples LATEX . . . . . . . . . . . . . . . . . . . .
11.8.1 Outils ncessaires . . . . . . . . . . . . . . .
11.8.2 Le principe de lenvironnement ltxexemple
11.8.3 Mises en bote . . . . . . . . . . . . . . . .
11.8.4 Numrotation des exemples . . . . . . . . .
11.8.5 Le trait central . . . . . . . . . . . . . . . .
III
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Annexes
197
198
198
199
200
202
204
209
209
209
213
213
215
218
220
220
221
222
223
224
225
225
226
231
231
232
233
234
237
239
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
241
242
242
243
243
243
244
244
304
A.4 Hyperliens . . .
A.5 Interaction avec
A.5.1 pstricks
A.5.2 psfrag .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
245
246
246
248
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
251
252
253
254
254
255
255
256
C Symboles
C.1 Symboles standard . . . . . . . . . . . . . . . . . . .
C.2 Symboles de lAMS . . . . . . . . . . . . . . . . . . .
C.3 Symboles du package textcomp . . . . . . . . . . . .
257
258
261
264
D Notes de production
D.1 Distribution du moment . . . .
D.2 Les sources du manuel . . . . .
D.2.1 Structure . . . . . . . .
D.2.2 Styles . . . . . . . . . .
D.3 Compilation . . . . . . . . . . .
D.3.1 Makele . . . . . . . . .
D.3.2 Figures . . . . . . . . .
D.3.3 Dvi et postscript . . . .
D.3.4 Pdf . . . . . . . . . . . .
D.3.5 Nettoyage de printemps
269
270
270
270
270
271
271
271
272
272
272
B Mmento
B.1 Extensions . . . . . . . . . .
B.2 Les chiers auxiliaires . . .
B.3 AucTEX . . . . . . . . . . .
B.3.1 Formatage du source
B.3.2 Raccourcis . . . . .
B.3.3 Compilation . . . . .
B.4 Aspell . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Bibliographie
273
Glossaire
277
Index
281