Vous êtes sur la page 1sur 119

TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR

AT L EX
SANS JAMAIS OS ER LE DEMANDER

A Ou comment utiliser L TEX quand on ny connat goutte

Vincent Lozano lozano@enise.fr

Version du 15 septembre 2006 Dernire mise jour sur : http://www.enise.fr/cours/info/latex

Enn voil deux jeunes corps enlacs qui jouissent de leur jeunesse en eur ; 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 soue en entrechoquant leurs dents. Vains eorts, 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. Enn 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 sourent 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.

e manuel constitue une introduction au traitement de texte L TEX ; il ne sagit pas dun manuel de rfrence, mais il a pour but de donner les bases pour C utiliser L T X et si possible dy prendre got. Ainsi trouvera-t-on les informations
A A E A ncessaires pour commencer en L TEX et quelques conseils sur la rdaction des documents. Pour votre confort, nous avons eu lide gniale de diviser ce manuel en A TEX : chapitres et annexes. La premire partie prsente les bases de L A Principes de base expose les concepts fondamentaux de L TEX 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. Un pas vers la sorcellerie pntre un peu plus profondment dans les rouages de A A TEX ; lire si vous voulez utiliser L TEX de manire satisfaisante. L Graphisme permet de comprendre comment insrer des graphiques dans vos documents. Documents scientiques donne quelques conseils pour rdiger articles, bibliographies, indexes et transparents. Documents en franais fournit quelques notions de typographie lmentaires et prsente les principaux aspects du package french. vous de jouer ! une conclusion sous forme de conseils pour chercher des inforA TEX. mations sur TEX et L
AT X en La deuxime partie a pour but daborder les aspects plus complexes de L E prenant comme prtexte dexpliquer comment ce manuel a t produit. Ne la lisez pas avant davoir lu la premire... Toute expositionmme non prolonge la deuxime partie peut provoquer des troubles du comportement et des traumatismes irrversibles.

Viennent ensuite les annexes : Gnrer des documents en PDF comme son nom lindique explique la mthode utilise pour gnrer la version pdf de ce manuel ; Memento est un fourre-tout qui propose une liste non exhaustive dextension utiles, les raccourcis de AucTEX, et la conguration de aspell pour emacs ; Symboles une liste des symboles mathmatiques disponibles en standard et avec lextension amssymb.
1 Les pigraphes de ce document sont tires de lAncien et du Nouveau testament. Ces citations sont insres par pure provocation de ma part, et ontparfoisun lien avec le titre du chapitre.

iii

iv Il est conseill de lire dans lordre les premiers chapitres jusquaux mathmatiques. Les autres peuvent se lire indpendamment les uns des autres. Encore une fois, la deuxime partie du manuel nest lire quaprs avoir matris les concepts de base. Un index en n de document constitue un bon point dentre pour retrouver des A informations. Enn, linstar des auteurs de la FAQ franaise de L TEX, je nai pas fait deort particulier pour traduire systmatiquement tous les termes du jargon de A TEX et de linformatique en gnral. L

TEX ?
Le mathmaticien Donald Ervin Knuth qui lon doit de nombreux ouvrages de mathmatiques et dalgorithmique (notamment The art of computer programing [5])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. TEXaccessible au public depuis le dbut des annes 80est un environnement complexe de programmation compos dun processeur de macro (macro processsor ) et de 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 TEX3
Des mots anglais comme technology sont drivs de racines grecques commenant par les lettres ... ; ce mme mot grec voulant dire la fois art et technologie. Do le nom TEX, qui est la forme en majuscules de .

Systme TEX
Bien que 90 % des informations donnes dans ce manuel soient indpendantes du systme dexploitation, le systme sous-jacent aux exemples est un Unix. En A particulier, la distribution de L TEX utilise est la distribution teTEX (http://www. tetex.org). Si le logiciel qui vous permet de dialoguer avec votre ordinateur est dit par une entreprise bas Redmond aux tats-Unis, alors vous pouvez installer la version MikTEX (http://www.miktex.org) trs facile dusage.

Au sujet de la prononciation du X de TEX :

Ce quil faudrait que vous sachiez


Les pr-requis pour tre mme de comprendre de quoi il est question dans ce A TEX ; il sadresse donc aux dbutants. Le lecteur manuel sont nuls pour ce qui est de L devra cependant possder une connaissance de base dun systme dexploitation en tant quutilisateurdonc en gros savoir manipuler des chiers. Savoir crer un chier PostScript encapsul sur son systme, partir dun logiciel de dessin ou de manipulation dimage, est galement ncessaire.

[...] Cest le son ch en allemand comme dans ach ; cest le j espagnol [...]. Lorsque vous le dites correctement votre ordinateur, lcran doit devenir lgrement humide.

Votre humble serviteur se contente lui de le prononcer TeK pour contrecarrer laspect caoutchouteux et viter davoir nettoyer son cran rgulirement. Enn pour ce qui est du logo lui-mme Knuth fait remarquer que ce dplacement du E est l pour rappeler quil sagit de typographie, et insiste sur le fait que dans une situation o lon veut parler de TEX sans avoir les moyens dabaisser le E, il faudra crire TeX. La version actuelle de TEX est 3.14159 (les versions comme vous lavez compris tendent vers ) ; Knuth estime que le dernier bug a t trouv et corrig dans TEX le 27 novembre 1985 (prface du livre TEX : le programme) et propose une rcompense de $20.48 qui en trouve un nouveau (!). A L TEX ? 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 niA TEX et portant le numro de version 2.09. Aujourveau dun document, appel L A dhui, L TEX est un standard de fait, et seuls quelques sorciers produisent encore A TEX tant une surcouche des documents uniquement avec TEX. Cependant, L de TEXcontenant donc des appels des macros de TEXil 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 [7] :
AT X comme une maison dont la charpente et les clous seraient Imaginez L E fournis par TEX. Vous nen avez pas besoin pour vivre dans la maison, mais ils sont pratiques pour y ajouter une nouvelle pice.
3

Ce que vous ne saurez pas


Ce fabuleux manuel que vous avez entre les mains soure tout de mme de quelques lacunes ; parmi celles-ci : A il manque une explication claire de la manire dont TEX et L TEX grent les fontes. Vous ne trouverez dailleurs nulle part le mot METAFONT; A TEX vous napprendrez pas comment installer et administrer une distribution L sur un systme Unix ; vous ne trouverez pas de catalogue ou dinventaires des extensions existantes, utiles ou inutiles, compatibles ou incompatibles, etc. ; la question de luf et la poule est galement occulte, ainsi que celle des liens entre Dieu et la science ; ...
Il est important de noter que le titre de ce manuel est un mensonge hont. Dautre part, les images de la couverture mises disposition par Knuth 2 sont dessines par Duane Bibby et nont rien voir avec le sujet du prsent manuel puisquil sagit de dessins censs reprsenter les programmes TEX et METAFONT.

http://www-cs-faculty.stanford.edu/~uno/graphics.html

Tir du chapitre introductif The Name of the Game du TEXBook.

vi Un peu plus loin :


AT X a t conu pour permettre un auteur de faire abstraction des soucis L E de mise en page, et se concentrer sur lcriture. Si vous passez beaucoup de AT X. temps sur la forme, vous faites un mauvais usage de L E

vii 5. vous ne savez pas o se trouve la touche \ sur votre clavier ; si vous vous reconnaissez dans une de ces catgories, mieux vaut vous contenter de votre systme actuel. A Quelques bonnes raisons dutiliser L TEX
A Il nest pas question ici de convaincre le lecteur de la supriorit de TEX et L TEX par rapport un autre systme, de toutes manires, vous lisez ce manuel, donc vous tes inconsciemment convaincu. Laissons donc la parole au concepteur de TEX :

Aujourdhui et depuis 1994, une quipe mi-europenne mi-amricaine (autour de A A TEX ; la version de L TEX Frank Mittelbach) a pris en main le dveloppement de L A parue en 1994 se nomme L TEX 2 . Le but long terme est de concevoir un systme A nomm L TEX3.

Licence
A On peut souligner que TEX et L TEX sont des logiciels faisant partie de la famille des logiciels libres et sont doncentre autresgratuits. Ce qui caractrise les logiciels libres (free software ) est galement laspect ouvert des logiciels. Il est donc A TEX sont quant elles possible davoir les sources Web4 de TEX. Les macros de L 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.

By preparing a manuscript in TEX format, you will be telling a computer exactly how the manuscript is to be transformed into pages whose typographic quality is comparable to that of the worlds nest printers. D. E. Knuth in the TEXbook [6].
A Les documents gnrs par TEX ou L TEX sont dune qualit typographique exceptionnelle (avec possibilit de rglage trs n5 ), ceci grce notamment : un dessin de fontes trs soign ; des dtails typographiques (tirets, ligatures,...) ; avez-vousbienregard 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 ; ... A TEX est un des rares logiciels de traitement de texte orient vers la Dautre part, L production de documents scientiques. Car outre les quations et autres formules, A L TEX possde un grand nombre de fonctionnalits axes autour de la rdaction darticle et la gnration de bibliographie et dindex. A TEX est particulirement adapt la production de gros documents. Enn, L A Pas seulement parce que la manipulation dun document L TEX exige par essence peu de mmoire, mais parce que son mcanisme de macros et de rfrence croise (cross reference en anglais) permettent de garder un contrle global et trs souple du document. A TEX permet de faire rfrence de manire symbolique toute rfrence croise : L partie du document faisant lobjet dune numrotation. Ainsi, le numro des titres, gures, tableaux, 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. A TEX. Il faut savoir que tout promacros : sans doute laspect le plus puissant de L cessus 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.
5 titre indicatif lunit interne de mesure de TEX est le scaled point, not sp dans le TEXbook, qui vaut 65536 points ; 1 point valant environ 1/72ede 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.

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/ A TEX 2 ). CTAN/macros/latex/base/lppl.txt pour la licence de L A Cinq bonnes raisons pour ne pas utiliser L TEX Il existe plusieurs raisons pour lesquelles il est impratif de ne pas utiliser A L TEX : 1. vous utilisez un traitement de texte uniquement pour faire vos cartes de vux, votre courrier, pour noter quelques ides, etc. ; 2. vous adorez les souris (1 ou 3 boutons indiremment) et vous pensez que la seule manire dcrire des quations est de les utiliser (les souris) de manire intensive ; 3. vous pensez quUnix cest prise de tte et pas convivial et/ou vous avez une aversion particulire pour tout langage de programmation ; 4. vous trouvez normal : 1o que votre logiciel prfr ne puisse pas lire le document que vous aviez produit avec la version prcdente, et/ou 2o que la nouvelle version vous oblige changer de systme dexploitation, et 3o que la nouvelle version dudit systme dexploitation vous oblige changer dordinateur, et 4o que votre nouvel ordinateur...
Le langage Web conu par Knuth est quali de langage de programmation littraire. partir dun document source Web, on peut produire le code Pascal ou C du programme ainsi quune documentation en TEX de ce code.
4

viii

ix Pour les accros du Wysiwyg, une quipe de dveloppeur a mis en uvre une A TEX nomm LyX, dont je vous version What you see is what you Mean (sic ) de L invite prendre connaissance http://www.lyx.org.

Les limites du Wysiwyg


A A L TEX est le contraire dun Wysiwyg, puisquun source L TEX est un document texte compos du texte lui-mme et des commandes de mise en page. Lamport prsente ce type dapproche comme tant une mise en page logique par opposition la mise en page visuelle.6

Comment imprimer ce manuel ?


Avec une imprimante,9 en utilisant exclusivement les chiers proposs sur http: //www.enise.fr/cours/info/latex. Ce manuel est conu pour tre imprim en deux pages logiques par page physique (2up printing comme disent nos amis anglosaxons). En dautres termes, chaque page de ce document doit apparatre sur une page au format A5. Quatre solutionset quatre chiers associssont possibles : 1. une version destine tre relie du long cot de la feuille A4, cest la solution pour ceux qui ne disposent pas de massicot ; le chier portant le nom guide-latex-0.pdf est en outre gnr pour prsenter la page impaire (dite belle page) droite (cf. gure 1(a)) ; 2. une version pour ceux qui disposent dun massicot : dans ce cas, il faudra plier le document et le relier au niveau de cette pliure (voir gure 1(b)). Le chier correspondant se nomme guide-latex-1.pdf ; 3. une version contenant 2 exemplaires (chier guide-latex-2.pdf). On reliera ces deux exemplaires comme indiqu la gure 1(c) ; 4. une version au format PostScript guide-latex.ps.gz pour ceux qui voudraient faire leur sauce ...
Attention, les deux derniers chiers au format Pdf, sont prvus pour tre imprims en recto verso en demandant limprimante de retourner la feuille du ct court. Il faudra donc veiller ce que le pilote dimprimante utilise cette option.

On pourrait cependant dire que EX est un Wywsiewyg (what you will see is exactly what you get) puisquaprs compilation on peut visualiser lcran une image exacte du document futur sur papier. Voici donc un exemple7 parmi dautres qui met en vidence les limites du Wysiwyg et les avantages de la mise en page logique : Supposons que dans un document apparaisse un certain nombre de fois, une fonction quelconque ayant deux arguments. La notation tant un point dlicat dans llaboration de documents scientiques, on pourra dnir une macro \mafct permettant de produire une telle fonction. Ainsi les squences \mafct{1}{2.5} et \mafct{x}{t} produiront respectivement F , (1, 2.5) et F, (x, t). 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... 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 Cinq8 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 A TEX. nombre correspondant aux nombres de bonnes raisons de ne pas utiliser L
Vous trouverez le long de ce manuel, dautres exemples mettant en vidence, les faiblesses du Wysiwyg. Cette 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 dtailil sagit simplement dune nota. Et lauteur a crit :

A L T

En avant !
A Comme beaucoup de logiciels puissants, L TEX nest pas toujours simple utiA liser. En fait lorsque lon va dans son sens, L TEX 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, A mme si les choix de L TEX rpondent des conventions en vigueur chez tous les bons imprimeurs, il arrive un jour o lon dsire avoir une mise en page particuA TEX est incapable de fournir. ce stade, plusieurs solutions lire quapparemment L sorent vous : A TEX tant un systme ou inclure un package qui rpond votre problme (L vert, une multitude de packages plus ou moins standardiss sont disponibles pour raliser des oprations varies voire farfelues); demander un TEXnicien10 de vous dpanner;
9 10

\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...
6 Pour faire un peu de mauvais esprit, les logiciels du type Wysiwyg ont dailleurs t qualis A par Kernighan (dixit Lamport dans son livre sur L TEX) de what you see is all what youve got ! 7 Lamport propose un exemple analogue celui-ci dans son manuel. 8 L non plus dailleurs.

Arf arf (comme disait Frank Zappa). ou un TEXpert, mais cest assez rare.

xi 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, quils en soient ici remercis. 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.
A TEX ma La lecture des grands classiques de la littrature autour de TEX et L inconsciemment inuenc dans la rdaction de ce document. La lecture de TEXbook de Knuth ma bien videmment donn lide de crer le panneau danger ! , la lecture A TEX companion de Goossens, Mittelbach et Samarin a quasi compulsive du L 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 A TEX ) possde orienter certains de mes choix (Le Not So Short Introduction to L par exemple un chapitre que lon peut traduire par ce quil faut savoir ...
TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR

TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR

AT L EX
SANS JAMAIS OS ER LE DEMANDER

A Ou comment utiliser L TEX quand on ny connat goutte

Vincent Lozano lozano@enise.fr

Version du 13 avril 2006 Dernire mise jour sur : http://www.enise.fr/cours/info/latex

(a) Reliure longue

TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR

AT L EX
SANS JAMAIS OS ER LE DEMANDER

AT L EX
SANS JAMAIS OS ER LE DEMANDER

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

A Ou comment utiliser L TEX quand on ny connat goutte

A Ou comment utiliser L TEX quand on ny connat goutte

donne 468 (plus de deux par page) et ce qui dnote un style assez pauvre.

Vincent Lozano lozano@enise.fr

Vincent Lozano lozano@enise.fr

Version du 13 avril 2006 Dernire mise jour sur : http://www.enise.fr/cours/info/latex

Version du 13 avril 2006 Dernire mise jour sur : http://www.enise.fr/cours/info/latex

(b) Reliure courte 1 ex.

(c) Reliure courte 2 ex.

Fig. 1 Les versions imprimables si les deux premires solutions sont inecaces, vous navez plus qu faire le dtective et mettre le nez dans le code11 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 A des dfaut de L TEX : si dautres logiciels sont incapables de faire des choses A TEX des choses simples (vous compliqus, il est parfois dicile de faire faire L en serez probablement convaincu aprs la lecture de la deuxime partie de ce manuel).

Bonne lecture et bon courage !12

Remerciements
La rdaction de cet ouvrage qui est initialement le guide local du laboratoire dinformatique graphique et dingnierie de la vision situ Saint-Etienne, a dbut en 1995. Je tiens ici remercier les membres de cette quipe de recherche qui mont
11

Cest la solution la plus plaisante pour ceux qui ont certaines vellits pour xxxxx pisser du code...

12 Cette ligne est une illustration de la mise en page logique, elle est cens tre au 2/3 du blanc restant sur la page, quelle que soit la taille de ce blanc bien sr.

Sommaire

A Tout sur L TEX

1
. . . . . . . . . . . un document type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 . 3 . 5 . 7 . 10 . 10 13 13 16 20 20 21 22 22 24 25 27 31 31 32 34 36 37 38 39 40 43 43 46 49 51 58 61

1 Principes de base 1.1 Cycle de production 1.2 Le document source : 1.3 Cest parti ! . . . . . 1.4 Premiers outils . . . 1.5 Premires erreurs . .

2 Ce quil faut savoir 2.1 Mise en vidence . . . . . . 2.2 Environnements . . . . . . . 2.3 Notes de marge . . . . . . . 2.4 Titres . . . . . . . . . . . . 2.5 Notes de bas de page . . . . 2.6 Entte et pied de page . . . 2.7 Flottants . . . . . . . . . . . 2.8 Rfrences . . . . . . . . . . 2.9 Fichiers auxiliaires . . . . . 2.10 O il est question de csure

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

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 Changer le style en mode mathmatique 4 Un 4.1 4.2 4.3 4.4 4.5 4.6 pas vers la sorcellerie Compteurs . . . . . . . Longueurs . . . . . . . Espaces . . . . . . . . Botes . . . . . . . . . Dnitions . . . . . . . Mais encore ? . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

xiii

xiv 5 Graphisme 5.1 Apritifs . . . . . . . . . . . . . . 5.2 Du format des chiers graphiques 5.3 Le package graphicx . . . . . . . . 5.4 Quelques extensions utiles . . . . 5.5 part a . . . . . . . . . . . . . 6 Documents scientiques 6.1 Articles . . . . . . . . 6.2 Bibliographie . . . . . 6.3 Index . . . . . . . . . . 6.4 Diviser votre document 7 Des 7.1 7.2 7.3 7.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 63 64 64 66 70 71 71 72 76 78 79 79 81 81 84 89 89 90 90

xv 11.7 Des onglets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 A TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 11.8 Exemples L

III

Annexes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

173
. . . . . . . . . 175 175 175 176 177 177 181 181 182 183 184

A Gnrer des documents en pdf A.1 Principe gnral . . . . . . . . . . A.2 Ce qui change . . . . . . . . . . . A.3 Trucs et astuces . . . . . . . . . . A.4 Hyperliens . . . . . . . . . . . . . A.5 Interaction avec psfrag et pstricks B Mmento B.1 Extensions B.2 Les chiers B.3 AucTEX . B.4 Aspell . . . . . . . . . . auxiliaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

documents en franais Le problme des lettres accentues . . Rdiger un document en franais avec Le package babel et la typographie . Courrier et fax . . . . . . . . . . . .

. . . . A L TEX . . . . . . . .

8 vous de jouer ! 8.1 Livres et autres manuels . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 ETp, Oube et niouses . . . . . . . . . . . . . . . . . . . . . . . .

C Symboles C.1 Symboles standard . . . . . . . . . . . . . . . . . . . . . . . . . . . C.2 Symboles de lAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 Symboles du package textcomp . . . . . . . . . . . . . . . . . . . . . Bibliographie

187 . 188 . 191 . 193 197 199 201

II

A Tout sur ( Tout sur L TEX)

93
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 97 99 102 105 110 117 117 119 123 125 131 133 134 141 141 146 149 152 156 157

Glossaire Index

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

. . . . .

. . . . .

10 Cosmtique 10.1 Allure de lindex . . . . . . . . . . . . . . . . . . 10.2 Allures des titres . . . . . . . . . . . . . . . . . . 10.3 Gomtrie . . . . . . . . . . . . . . . . . . . . . . 10.4 Entte et pied de page . . . . . . . . . . . . . . . 10.5 Environnements bass sur fancyvrb . . . . . . . . 10.6 About those so called french guillemets . . . . . 10.7 Un bote spciale pour la mini-table des matires 11 De nouveaux jouets 11.1 Quelques bricoles 11.2 Des notas . . . . 11.3 Des citations . . 11.4 Des lettrines . . . 11.5 Un sommaire . . 11.6 Un glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

I
Tout ce que vous avez toujours A TEX sans jamais voulu savoir sur L oser le demander

1
Sommaire 1.1 1.2 1.3 1.4 1.5 Cycle de production Le document source : un document type Cest parti ! Premiers outils Premires erreurs

Principes de base

1
Lorsquun homme a un coulement sortant de son corps, cet coulement est impur. Le Lvitique Lv 15 2.

chapitre expose les mcanismes de base de L TEX. Vous y trouverez donc, prsentation dune session L TEX classique, la structure dun document Ceune
A A

type, des remarques sur les accents, quelques outils connatre, et enn, une prsentation de lattitude avoir devant les messages derreurs de compilation.

1.1

Cycle de production
A Mme si L TEX nest pas proprement parl un langage de programmation compil, on peut malgr tout faire une analogie entre le cycle de production dun docuA ment L TEX et le cycle dition-compilation-excution dun dveloppement de logiciel avec un langage de programmation classique.

1.1.1 dition
A Un document source L TEX est un chier texte.1 Ainsi la manipulation dun A TEX ne demande pas de logiciel particulier, si ce nest un diteur de texte chier L A classique. Donc, pour manipuler un document L TEX :

emacs nom de chier .tex & ou : vi nom de chier .tex devrait sure pour entrer dans ce monde sauvage et inconnu quest la saisie dun A document L TEX. Sous Windows, on squipera dun diteur de texte de son choix.2 A Notez quon a coutume de donner lextension .tex aux sources L TEX.
1 2

Cest--dire un chier ne contenant que le code des caractres qui le composent. Il existe une version dEmacs pour Micrologiciel Fentre, avis aux amateurs.

4
.tex
A TEX L

Principes de base
.dvi
xdvi

1.2 Le document source : un document type

dvips nom de chier .dvi Il est aussi possible de gnrer un chier PostScript en redirigeant la sortie de dvips :
.ps

dvips

dvips monfichier.dvi -o monfichier.ps Le chier monfichier.ps est un chier ASCII pur contenant des commandes PostScript. Pour prparer un chier destin dautres imprimantes, il faut spcier en ligne de commande : dvips -P cong monfichier.dvi o cong dsigne une imprimante particulire ou une option dnies par ladmiA nistrateur du systme L TEX que vous utilisez.
Le format PostScript dni par Adobe est un langage dimpression trs rpandu sur les systmes Unix. De nombreux utilitaires autour du Postscript sont disponibles, voir par exemple les trs bons psutils disponibles par exemple ftp://ftp.lip6.fr/ pub/TeX/CTAN/support/psutils ou toute autre bonne crmerie CTAN 4 prs de chez vous ou sous la forme dun paquet Debian.

Fig. 1.1 cycle de production sur machines Unix

1.1.2 Compilation
On lance la compilation grce la commande : latex nom de chier .tex La compilation gnre un jour ou lautre des erreurs. Il en sera question la section 1.5 page 10. En tout cas, aprs suppression des erreurs de compilation, on obtient un chier portant lextension dvi pour device independant. Ce qui signie que le chier contient des informations indpendantes du priphrique de sortie (cran, imprimantes, ...). Ce chier de type binaire contenant une image du document portable sur tout systme TEX quel que soit le systme dexploitation. Il existe ensuite des programmes permettant soit : de visualiser le document : dvi bitmap cran ; de limprimer : dvi langage imprimante de le convertir : dvi chier PostScript La gure 1.1 illustre les divers programmes entrant en jeu dans la production du document nal sur une machine Unix.

1.2

Le document source : un document type


Nous allons prsenter dans cette section un document type. Tous les documents A L TEX ont en eet une structure commune, de la forme suivante : \documentclass[ cOption1 , cOption2 ,...)]{ classe } \usepackage[ pOption1 , pOption2 ]{ package } ... prambule ... \begin{document} ... le texte ... \end{document}
A TEX peut se dcomposer comme suit : Ainsi tout document L spcication de la classe du document ; prambule : utilisation de packages particuliers ; initialisations et dclarations diverses ; corps du document Voici quelques dtails sur chacune de ces parties.
4

1.1.3 Visualisation
La visualisation seectue simplementaprs compilation sans erreurgrce au programme xdvi en tapant la commande : xdvi nom de chier .dvi & il sagit dun logiciel tournant sous X Window, trs intuitif, qui donne un aperu trs lisible du document. La distribution teTEX pour Windows propose un visualiseur nomm yap3

On notera quil nest pas ncessaire de relancer xdvi ou yap aprs chaque compilation. Ils mettent en eet jour lachage automatiquement.

1.1.4 Impression
Pour imprimer un document, on utilise le programme dvips comme suit :
3

Pour yet another previewer , soit encore un visualiseur (humour dinformaticien)...

voir le chapitre 8 page 89 pour la signication de ce terme

Principes de base

1.3 Cest parti !

1.2.1 Classe du document


La classe est une indication donne EX qui va dterminer la mise en page de certaines parties du document. Suivant la classe de document utilise, certaines commandes seront disponibles ou non (\chapter disponible pour la classe book mais indisponible pour la classe article, par exemple). Dautre part, une commande donne aura une signication spcique selon la classe choisie (titres, tables des A matires,...). Tout document L TEX commence donc ncessairement par linstruction \documentclass avec entre accolades une classe de document qui peut-tre : article pour un article ; proc pour un article dans le style IEEE proceedings ; report pour un rapport de plusieurs dizaines de pages ; book pour un livre ou une thse ; letter pour une lettre ; slides pour produire des transparents On peut videmment dnir sa propre classe de document. Les options de la classe sont prcises entre crochets et peuvent tre les suivantes (non-exhaustif) : 11pt,12pt pour changer la taille des caractres de manire globale ; twocolumn pour gnrer un document en 2 colonnes ; twoside pour gnrer un document en recto verso ; draft pour gnrer le document en mode brouillon ; ... On pourra donc par exemple, entrer : \documentclass{article} pour avoir toutes les options par dfaut (10pt, une colonne, mode recto,...). \documentclass[12pt]{article} pour un article en 12pt (par dfaut la taille et de 10pt), ou encore : \documentclass[twoside,draft]{report} pour un rapport en recto verso et mode brouillon.
A L T

Si module1 , module2 et module3 ont en commun une option opt1, on peut entrer : \usepackage[ opt1 ]{ module1 , module2 , module3 } Par contre si loption opt1 ne concerne que lextension module2 , il sera ncessaire dentrer les deux lignes suivantes : \usepackage{ module1 , module3 } \usepackage[ opt1 ]{ module2 } Voici deux exemples : \usepackage[xdvi,draft]{graphicx} % package graphicx % option draft et xdvi \usepackage{array,subfigure} % packages array, subgure
Toutes les options (de classe, de packages, ou de commandes) sont par dnition ! des arguments optionnels. On peut donc dj retenir le fait que tout argument L AT X E donn entre crochets [...] est un argument facultatif.

1.3

Cest parti !
Nous allons tenter, dans cette section, de prsenter, partir dun document ne A contenant que quelques commandes de mise en page, les principes de base de L TEX.

\documentclass{article} \begin{document} Un outil qui chappe des mains tombe toujours dans lendroit le plus inaccessible, ou sur le composant le plus fragile. Cette loi est galement connue sous le nom de \emph{gravit slective}. \end{document}

Un outil qui chappe des mains tombe toujours dans lendroit le plus inaccessible, ou sur le composant le plus fragile. Cette loi est galement connue sous le nom de gravit slective.

1.2.2 Le prambule
Le prambule est la zone situe entre la clause \documentclass et la clause \begin{document}. Cette zone est la zone o lon peut spcier les extensions que lon veut inclure (voir le paragraphe suivant), linitialisation de variables globales (marges,...), la dnition de styles (titres, numrotation,...), ou de macros particulires.

1.2.3 Ajout dextension


A La commande \usepackage de L TEX pourrait tre compare une directive A TEX sous #include du langage C. Elle permet de rajouter des fonctionnalits L forme de macros et/ou denvironnement.5 ce stade, il faut juste noter que lon peut inclure plusieurs packages en une seule ligne :

Cet exemple illustre un certain nombre de principes parmi les plus importants de A L TEX, savoir : A TEX la n Ligne vierge saut de paragraphe : une ligne vierge indique L dun paragraphe. Ainsi dans lexemple prcdent, le premier paragraphe commence Un outil et ni avec fragile. La commande \par est quivalente la ligne vierge et peut donc galement tre utilise pour commencer ou nir un paragraphe.
A L TEX ignore les sauts de lignes : ce ne sont pas les sauts de lignes dans le document source qui dnissent lallure du paragraphe dans le document nal. A TEX coupe, indente et justie automatiquement chaque paragraphe, sauf L contre-ordre de votre part. A L TEX ignore les espaces multiples : taper un espace ou dix huit mille sept cent quatre vingt quatre est quivalent, comme le montrent les espaces insrs avant tombe et avant lendroit. Ceci est aussi vrai pour les sauts de paragraphes : entrer une ligne vierge ou plusieurs revient au mme.

\usepackage{ module1 , module2 , module3 ,...}


5

Ce terme est expliqu au chapitre suivant.

Principes de base

1.3 Cest parti !


The \TeX book is for \TeX \TeX\ has some powerful macros.
1.3

9
hackers. The TEXbook is for TEXhackers. TEX has some powerful macros. AT X is a document preparation system L E

A \ est le caractre dchappement : il indique L TEX que le mot 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 groupe de mot gravit slective. Ceci est eectu grce la commande \emph.

{ et } sont des dlimiteurs de groupe, notions expliques un peu plus bas.

\LaTeX{} is a document preparation system

1.3.1 Quelques caractres sont spciaux


Comme le suggre lintervention du caractre \, il existe dautres symboles ayant A une signication spciale pour L TEX. Il sagit des 10 caractres suivants : \ $ & % # ^_ { } ~ Voici un petit exemple, utilisant une partie de ces symboles :
% paragraphe sans intrt \textbf{To be} a subscript : $x_{i+1}$, or a superscript : $e^{i\pi}$ ? thats question~1 ! % or question 2 ? To be a subscript : xi+1 , or a superscript : ei ? thats question 1 !

On peut rsumer le mcanisme en deux rgles. Il y a deux types de caractres qui A indiquent L TEX la n du nom de la macro : les espaces ; ils sont cependant ignors dans la production du document ; tout caractre autre que les caractres de la catgorie lettre (alphabet majuscule et minuscule).
le caractre \ (o est le caractre espace) est appel un espace de contrle ; cet AT X. Cest pourquoi : et\\\hop! produira ; espace nest jamais ignor par L E et hop !. En fait, il est bon de prendre lhabitude dappeler les macros sous la forme \ fonction { arguments } et donc dutiliser la troisime forme de lexemple prcdent plutt que la deuxime.Cela vite de se poser le problme de lespace ignor 7 . On crira AT X is a ... avec \LaTeX{} is a .... donc the TEXbook avec the \TeX{}book et L E

ch. 3 p. 31

Pour linstant, il faut donc savoir que : A % indique L TEX dignorer le restant de la ligne. Cest donc le symbole du commentaire (quivalent au // du C++) ; A TEX rencontre un $ il $ est le symbole de dbut et n de formule. Lorsque L commute en mode mathmatique , jusquau symbole $ suivant ; A ~ est lespace inscable6 , il empche L TEX de faire une csure cet endroit particulier. Il existe un nombre important de situations o il est ncessaire dinsrer un caractre inscable (tout ce qui est du style : figure~4). Cependant, il nexiste pas de rgles systmatisant lusage dun tel caractre ; _ et ^ permettent respectivement de passer en indice et en exposant. Attention, ces symboles ne sont autoriss quen mode mathmatique ; { et } sont respectivement les caractres de dbut et n de groupe. Deux types de groupement sont donns titre dexemple lun, en mode mathmatique, pour grouper la sous-formule mettre en indice ou en exposant ; lautre pour grouper les mots mettre en gras. On peut produire une partie des caractres spciaux dans le texte grce aux commandes suivantes : \$ \& \% \# \{ \} \_ qui donnent respectivement : $ & % # { } _. La section 2.2.5 page 19 explique comment produire les autres caractres spciaux (\ ~ ^).

1.2

1.3.3 Accents
A Les franais ont souvent une apprhension utiliser L TEX cause des accents. Pas daolement ! vous naurez pas saisir les caractres accentus comme indiqu dans le tableau 1.1. Il est quand mme bon de noter quil est possible daccentuer (et cdiller ) nimporte quel type de caractre, y compris les majuscules.

Tab. 1.1 saisie des accents avec des caractres 7 bits accent aigu accent grave accent circonexe cdille trma \z \z \^z \c{z} \"{z} ` z z z z

1.3.2 Appel des commandes


Vous avez compris que pour appeler une commande ou macro, il est ncessaire dinsrer le caractre dchappementescape char en anglaiset de le faire suivre A TEX pour par le nom de la macro que vous voulez utiliser. Mais comment fait L reprer la n du nom de la macro ? Prenons comme exemple la macro \TeX qui produit le logo TEX.
6

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 le votre prambule : \usepackage[latin1]{inputenc} % codage du chier source \usepackage[T1]{fontenc} % codage des fontes TeX \usepackage[francais]{babel} % document en franais pour attaquer un document en franais.
7

ch 7 p. 79

Voir aussi, le paragraphe 2.10 page 27 sur le contrle de la csure

Mais pourquoi il nous en parle, alors !?

10

Principes de base

1.5 Premires erreurs

11

1.4

Premiers outils
Voici quelques macros et ligatures connatre car souvent utilises dans un doA TEX distingue trois types de tirets : cument. Tout dabord, L - pour Saint-tienne ; -- pour page 1224 ; --- pour ouvrir une parenthsecomme cela. Les guillemets doivent tre entrs comme ceci : et pour les textes en anglais ; << et >> ou avec et si votre clavier le permet,8 et pour les textes en franais . Voici pour nir quelques commandes utiles : \today produit la date du jour : 15 septembre 2006 ; \S donne le signe paragraphe : ; \ldots permet de saisir les points de suspension dans un document anglais. . . Ils doivent tre saisis avec trois points : ... dans un document franais (voir le chapitre 7 pour quelques notions de typographie franaise)... Enn, souvenez-vous quen anglais, on ne saisit pas despace avant les ponctuations doubles (: ; ! ?)contrairement au franais. Rappelez-vous aussi que dans ce doux pays quest la France, on roule surtout droite.

1.5.2 Diagnostic
On peut donc expliquer de manire simple le message derreur : ligne 1 vous utilisez TEX version 104 prs ; ligne 2 vous compilez le chier erreur.tex ;
A ligne 3 vous utilisez L TEX 2 version de dcembre 95 ;

ligne 45 vous utilisez la classe de document standard article ; ligne 6 par dfaut, la taille 10pt est utilise ; ligne 7 le message derreur proprement dit ; ligne 89 la ligne o sest produit lerreur ainsi que son numro dans le document source erreur.tex ; ligne 10 le prompt ? particulirement angoissant de TEX A TEX La coupure forme par les lignes 8 et 9, indique prcisment lendroit o L a perdu les pdales. Le message : ! Undefined control sequence.
A TEX. Et vous indique que la commande que vous avez entre nest pas connue par L eectivement, la commande \empha nexiste pas.

1.5

Premires erreurs
A Si vous utilisez L TEX en interactif vous serez amens un jour ou lautre voir apparatre lcran, un message barbare de ce type :

1.5.3 Soins
A Mais que rpondre L TEX, lorsquil nous ache son fameux prompt ? ? Voici, A TEX : trois solutions, les plus couramment utilises pour communiquer un peu avec L appuyer sur <Entre> pour ignorer lerreur ; taper X permet de quitter la compilation ; A TEX de continuer en ignorant tous les autres mes taper R pour demander L sages derreur ; taper I pour insrer une correction et continuer la compilation. Sachant que cette correction ne sera pas insre dans le document source ; taper H pour demander un plus dinformation quant lerreur ; voici ce que vous dit TEX pour le Undefined control sequence :

1.5.1 Symptmes

1 2 3 4 5 6 7 8 9 10

This is TeX, Version 3.1415 (C version 6.1) (erreur.tex LaTeX2e <1995/12/01> (/usr/local/lib/texmf/tex/cls/article.cls Document Class: article 1995/11/30 v1.3p Standard LaTeX document class (/usr/local/lib/texmf/tex/clo/size10.clo)) (erreur.aux) ! Undefined control sequence. l.5 paragraphe de ce \empha {document} ?

The control sequence at the end of the top line of your error message was never \defed. If you have misspelled it (e.g., \hobx), type I and the correct spelling (e.g., I\hbox). Otherwise just continue, and Ill forget about whatever was undefined.

Ce message qui vous semble srement incomprhensible, est le rsultat produit sur A le terminal aprs avoir excut L TEX 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}
8

1.5.4 Une collection de message


A TEX et L TEX 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 : A dune erreur de syntaxe sur les mots rservs de L TEX ; de paires daccolades mal construites ; dune commande mathmatique utilise en mode texte ; dun mode mathmatique non referm ; dun package que vous avez oubli dinclure ;

Alt Gr Alt Gr z x sur un clavier gr par Xfree86 sous Linux, par exemple.

12 dune n de journe dicile ; ...

Principes de base

Y a plus qu !
Vous avez maintenant compris comment on pouvait crer un document impriA mable partir dun source L TEX. Ce chapitre vous a galement permis de comprendre le principe de lappel des commandes. Il ne vous reste plus qu entamer le chapitre suivant pour connatre les direntes fonctionnalits que vous propose le A TEX. langage L

2
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

Ce quil faut savoir

2
Quand on chtie le railleur, le simple sassagit ; quand on instruit le sage, celui-ci gagne en savoir. Les proverbes Pr 21 11.

A E 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 A chiers auxiliaires gnrs par L TEX. 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 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).

l sera question dans ce chapitre, des commandes de mise en page de base connatre pour gnrer un document avec L TEX. Nous traiterons en vrac des mises I en vidences, des environnements standard L T X, des titres, des notes de bas de
A

2.1

Mise en vidence
A Pour comprendre un tant soit peu le mcanisme de slection de fontes de L TEX, il faut savoir quon distingue au moins quatre paramtres dans une fonte : A TEX utilise par dfaut 3 types de famille : cest la forme globale de la fonte. L familles : roman, sans srif et machine crire. Le mot anglais utilis par A L TEX est family style : cest lallure (en anglais shape ) de la fonte : italique pench et Petites Majuscules.

13

14 Tab. 2.1 dclarations de changement de fontes Commande \textrm{...} \textsf{...} \texttt{...} \textup{...} \textit{...} \textsl{...} \textsc{...} \textmd{...} \textbf{...} Dclarations {\rmfamily ...} {\sffamily ...} {\ttfamily ...} {\upshape ...} {\itshape ...} {\slshape ...} {\scshape ...} {\mdseries ...} {\bfseries ...} Output roman sans srif

Ce quil faut savoir

2.1 Mise en vidence


\sffamily Le jazz est une musique o le {\slshape silence\/} a toujours raison ; cest pour cela quil na pas dautre issue que limpossible.

15
Le jazz est une musique o le silence a toujours raison ; cest pour cela quil na pas dautre issue que limpossible.

machine crire droit italique pench Petites Majuscules medium gras

2.1.2 Correction italique


Une autre raison pour laquelle il est recommand dutiliser les commandes plutt que les dclarations, est que les commandes eectuent la correction italique contrairement aux dclarations. La correction italique est un espace quil est ncessaire de rajouter la n dun groupe de mots en italique, pour viter que celui-ci ne touche le mot suivant. Cet espacement est fonction du caractre mis en jeu :
le {\em chef} a toujours raison.\par le {\em chef\/} a toujours raison.\par le \emph{chef} a toujours raison.\par le chef a toujours raison. le chef a toujours raison. le chef a toujours raison.

2.3

A graisse : cest lpaisseur (serie pour L TEX) des traits. Par dfaut 2 paisseurs : mdium et gras ;

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.

taille : taille des caractres.

2.1.3 Tailles
On dispose des macros donnes au tableau 2.2 pour changer la taille de la fonte en cours. Ces macros sont des dclarations et il existe pour chacune delles un environnement portant le mme nom. Tab. 2.2 changement de taille \Huge \huge \LARGE \Large \large

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 rgle gnrale, on utilisera les commandes pour mettre en vidence un mot ou un groupe de mots :
une \emph{variable} de type \texttt{char} est \textsc{Toujours} code sur \textbf{8 bits}. une variable de type char est Toujours code sur 8 bits.
2.1

immense norme
trs gros
moins gros
gros

2.4

\normalsize \small \footnotesize \scriptsize \tiny

normal
petit
plut petit
rikiki
minuscule

Notez lutilisation dans lexemple prcdent, de la commande \emph (dont la dclaration quivalente est \em qui permet de mettre en vidence de manire lgante un groupe de mots. Il est fortement conseill dutiliser les commandes plutt que les dclarations. Cependant lorsquune longue portion de texte est changer, il sera parfois plus judicieux dutiliser les commandes :1
{\em The music of \bfseries Magma \mdseries is like a mirror where everyone can see a reflection of who he is.} The music of Magma is like a mirror where everyone can see a reection of who he is.

2.1.4 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, qui le plus gnralement 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 ;

Lexemple suivant illustre lutilisation de groupes. La dclaration \slshape se situe dans un groupe, elle est donc locale ce groupe. Dautre part, un groupe hrite les paramtres du groupe qui lenglobe. Ainsi, silence est crit en fonte sans srif (groupe englobant) et pench (dclaration locale).
1

Ainsi que lors de la dnition de commandes.

2.2

16

Ce quil faut savoir

2.2 Environnements
...fin de phrase. \begin{flushright} deux lignes\\ alignes droite \end{flushright} et le paragraphe continue... ...n de phrase.

17

les petites capitales ne sont utiliser quasiment exclusivement que pour les noms dans un document en franais : Donald Knuth ; la famille machine crire est souvent utilis 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. Donald Knuth in the TEXbook [6]. Note that underlining for emphasis is considered bad practice in the publishing world. Underlining is only used when the output device cant do highlighting in another wayfor example, when using a typewriter. AT X companion [3]. Michel Goossens et al. in the L E

2.6

deux lignes alignes droite et le paragraphe continue...

Noter lemploi dans les deux prcdents exemples de la commande \\ pour passer la ligne. En gnral, on utilise lenvironnement flushleft avec des commandes \\. Par contre, on peut lutiliser pour produire un paragraphe comme celui-ci, non justi A droite, en laissant L TEX le soin dinsrer les sauts de lignes.
La grande majorit des environnements passent la ligne pour insrer leur contenu. Cependant, il est important de comprendre quun environnement interrompt le paragraphe dans lequel il est insr, mais ne le termine pasvous pourrez dailleurs remarquer AT X insre graque la phrase et le paragraphe continue nest pas indente. En outre, L E cieusement autour de chaque environnement un espace vertical.

2
2.2

Environnements
EX propose une srie doutils sous la forme denvironnements. Il sagit dune structure de bloc dont la syntaxe est la suivante : \begin{ nom env } ... \end{ nom env } o nom env 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 dnir ses propres environnements ventuellement partir dautres existants.
A L T

On peut noter quaux trois environnements prcdents correspondent respectivement les trois dclarations : \centering, \raggedleft et \raggedright. On peut par exemple crire :
Emacs stands for : {\centering Emacs\\Makes\\ A\\Computer\\Slow\\}
2.7

Emacs stands for : Emacs Makes A Computer Slow

2.2.2 Listes
A L TEX ore la possibilit dutiliser trois principaux types de listes sous forme denvironnement : itemize, enumerate et description. Il est possible de dnir A ses propres listes , si celles de L TEX de vous conviennent pas. Mais voici les listes standard : Tout dabord itemize qui est une liste d items non numrots dont le premier niveau est marqu par un tiret () en version franaise, et un point () par dfaut :

Le reste de cette section sera consacr la description des environnements norA maliss de L TEX.

9.5 p. 110

2.2.1 Centrage et alignement


Pour centrer quelques lignes, on utilise lenvironnement center :
...fin de phrase. \begin{center} quelques lignes \\ parfaitement centres \\ entre les marges \end{center} et le paragraphe continue... ...n de phrase. quelques lignes parfaitement centres entre les marges et le paragraphe continue...

...toujours la fin dune phrase. \begin{itemize} \item dans un calcul complexe, un facteur du numrateur passe toujours au dnominateur \item une virgule est toujours mal place \end{itemize} et le truc continue, imperturbablement...

...toujours la n dune phrase. dans un calcul complexe, un facteur du numrateur passe toujours au dnominateur une virgule est toujours mal place et le truc continue, imperturbablement...

2.5

De mme on peut aisment aligner un paragraphe droite grce lenvironnement flushright :

Vient ensuite lenvironnement enumerate, sur le mme principe que le prcdent mais o les items sont numrots. tant donn que ces environnements peuvent tre inclus les uns dans les autres, nous vous prsenterons enumerate et description dans un mme exemple :

2.8

18
...encore la fin dune phrase. \begin{description} \item[\TeX] The \TeX{}book \item[\LaTeX] deux livres importants : \begin{enumerate} \item \LaTeX{} : a document preparation system \item the \LaTeX{} companion \end{enumerate} \end{description} et le paragraphe continue, encore et encore...

Ce quil faut savoir

2.2 Environnements

19

...encore la n dune phrase. TEX The TEXbook A L TEX deux livres importants :
AT X : a document preparation 1. L E system
2.9

AT X companion 2. the L E et le paragraphe continue, encore et encore...

r : alignement droite ; c : centrage ; l : alignement gauche ; le caractre & est le sparateur des colonnes ; la commande \\ permet de passer la ligne ; les bordures verticales sinsrent dans la chane de mise en page grce au caractre | ; les bordures horizontales laide de la commande \hline. On peut donc jouer sur le nombre de \hline et de | pour changer lallure des bordures. Le package array permet quelques fantaisies avec les tableaux.

2.2.3 Tabulations

Si la plupart des environnements commencent une nouvelle ligne, ce nest pas le cas de lenvironnement tabular. Il cre juste une bote dans le texte courant.

\begin{tabbing} gauche \= au centre \= droite \\ \> modr \\ \> \> conservateur \\ xxxxxxxxxxx \= \kill \> sans opinion \end{tabbing}

gauche au centre droite modr conservateur sans opinion

2.10

Vous avez donc compris que largument b (resp. t) pose (resp. acrroche ) le tableau sur la ligne. Sans cet argument le tableau est centr verticalement, comme dans le premier exemple de la section.

2.2.5 Simulation de terminal


Lenvironnement verbatim insre son contenu mot pour mot. Il ore donc la possibilit de rentrer nimporte quel caractre mme spcial, et donc, par exemple dcrire une portion de code C++:
\begin{verbatim} class pixel{ class pixel{ int x,y; int x,y; public: public: pixel(int i=0, int j=0); pixel(int i=0, int j=0); ...}; \end{verbatim} On peut tout crire dans un environnement verbatim sauf la squence de carac! tres : \end{verbatim} !

Cet exemple illustre deux autres principes : on peut positionner une tabulation avec un modle et ne pas acher la ligne correspondante avec la commande \kill ; une nouvelle commande \= enlve le taquet qui suit logiquement, sil existe.

2.2.4 Tableaux
A Lenvironnement pour produire les tableaux en L TEX se nomme tabular. Le systme de bordures nest pas trs sophistiqu, mais, pour des tableaux bordures simples les rsultats sont acceptables :2

2.12

Lenvironnement tabbing permet dutiliser les bonnes vieilles tabulations de la machine crire. On pose les taquets de tabulations grce la commande \= et on se dplace de taquet en taquet avec la commande \>. En outre, la commande \\ permet de passer la ligne.

On peut en outre prciser le positionnement vertical du tableau grce un argument optionnel :


un : \begin{tabular}[b]{|c|} a\\ b\end{tabular} et deux : \begin{tabular}[t]{|r|} c\\ d\end{tabular} a un : b et deux :

2
c d

...};

Voici un tableau : \begin{tabular}{|r|c|} \hline deux & trois \\ cinq & six \\ \hline \end{tabular}

Voici un tableau :
2.11

deux cinq

trois six

Il existe deux commandes permettant de produire une portion de texte comme le fait lenvironnement verbatim : il sagit de \verb et \verb*. La forme toile remplace le caractre par . Largument de ces commandes nest pas donn entre accolades ({ }) mais par tout autre caractre : 1o autre que les caractres spciaux et 2o ntant pas contenu dans largument.
La dclaration : \verb+#include<stdlib.h>+ permet dinclure les prototypes de la librairie standard du~C. La dclaration : #include<stdlib.h> permet dinclure les prototypes de la librairie standard du C.

on peut donc comprendre grce cet exemple, les chose suivantes : lenvironnement tabular attend un paramtre qui est en quelque sorte une chane de format . chaque colonne doit correspondre un caractre de positionnement :
2 Lannexe B donne quelques pistes pour trouver des packages permettant de crer des tableaux plus complexes.

La commande \verb ne peut en aucun cas se trouver dans largument dune commande, quelle quelle soit.

2.14

20

Ce quil faut savoir

2.5 Notes de bas de page Tab. 2.3 sectioning commands \part{...} \section{...} \paragraph{...} \chapter{...} \subsection{...} \subparagraph{...} \subsubsection{...}

21

2.2.6 Citations
Les environnements quote et quotation permettent dinsrer une citation dans le texte. Voici dabord quote :
...encore la fin dune phrase. \begin{quote} Tout est relatif.\hfill\textbf{Einstein}. Il nest pas certain que tout soit certain. \hfill\textbf{Pascal}. \end{quote} et le paragraphe interrompu, continue...
2.15

...encore la n dune phrase. Tout est relatif. Einstein. Il nest pas certain que tout soit certain. Pascal. et le paragraphe interrompu, continue...

4.2.4 p. 48

La commande \hfill insre un espace qui stend horizontalement de manire innie . Lenvironnement quotation dire quelque peu de quote :
...encore la n dune phrase. Lhomme est plein dimperfections mais on ne peut que se montrer indulgent si lon songe lpoque o il fut cr. Alphonse Allais. et ce brave paragraphe qui continue...

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 rednir. Enn, ces commandes eectuent automatiquement les espacements verticaux avant et aprs le titre ; ainsi toute ligne vierge insre avant ou aprs la commande est ignore.

...encore la fin dune phrase. \begin{quotation} Lhomme est plein dimperfections mais on ne peut que se montrer indulgent si lon songe lpoque o il fut cr.\par \raggedleft Alphonse \textsc{Allais}. \end{quotation} et ce brave paragraphe qui continue...

...tiens cest la fin dune phrase. \section{La quantification} Le processus de quantification...

...tiens cest la n dune phrase.

2.16

3.2

La quantication

Le processus de quantication...

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.

Il existe une forme toile (par exemple : \section*) de chaque commande de titres permettant dinsrer un titre non numrot. Mais attention, ce titre napparatra pas dans la table des matires . Les commandes de section prennent galement un argument optionnel permettant de prciser une entre de table matires dirente du titre de la section. Par exemple : \section[Paulette]{Ctait bien, ctait chouetteuuuu} insre Paulette dans la table des matires en lieu et place du titre insr dans le document.

2.9.2 p. 26

2.3

Notes de marge
La commande \marginpar cre un mini-paragraphe dans la marge, la syntaxe est la suivante : \marginpar{ texte } Pour distinguer la page droite de la page gauche en mode recto-verso, on pourra utiliser : \marginpar[ textegauche ][ textedroite ] o textgauche et textdroite seront respectivement les textes qui apparatront en marge selon la parit du numro de la page. Ainsi :

2.5

Notes de bas de page


Linsertion dune note de bas de page seectue de manire simple par la commande \footnote{ texte }. La numrotation est automatique, et par dfaut, les A notes sont numrotes lintrieur dun chapitre. Voici ce que donne L TEX :

donne ce que vous pouvez constatez dans la marge.

2.18

Youhou !

\marginpar[Youhou !][Coucou !]

Contre toute attente, cest la commande \verb+footnote+\footnote{Comme son nom lindique...} qui insre une note de bas de page.

Contre toute attente, cest la commande footnotea qui insre une note de bas de page.
a

Comme son nom lindique...

2.4

Titres
A Le tableau 2.3 montre les commandes de section disponible dans L TEX. La commande \chapter nest pas disponible pour la classe de document article ; et aucune

Il arrive lorsquon travaille en milieu particulirement hostile que la commande \footnote ne produise pas leet dsir. Il est alors ncessaire de procder en deux temps : 1. poser une marque de note, commande \footnotemark ;

22

Ce quil faut savoir 2. entrer le texte de la note de base de pagecommande \footnotetextlorsque les conditions sont plus favorables.

2.7 Flottants

23

2.7.1 Figure et table


Lenvironnement figure est en gnral utilis pour les graphiques, et lenvironnement table, pour les tableaux. Chacun de ces environnements possde une lgende. La syntaxe dutilisation est la suivante :3
Ce paragraphe contient un environnement flottant de type \ltxenv{figure}. Le contenu est donc susceptible de se dplacer dans la page. \begin{figure} \begin{center} 0 + 0 \\ = \end{center} \caption{la tte toto} \end{figure} Ce paragraphe contient un environnement ottant de type figure. Le contenu 0+0 = Figure 1: la tte toto. est donc susceptible de se dplacer dans la page.

Par exemple, il semble dlicat de mettre une note de bas de page dans un tableau, on crira donc :
\begin{tabular}{cc} un & deux\footnotemark \\ trois & quatre \end{tabular}\footnotetext{Une note.} un trois
a

deuxa quatre

Une note.

2.6

Entte et pied de page


A Les commandes standard de L TEX permettant de personnaliser les enttes et pied de page sont assez rudimentaires mais mritent dtre mentionnes ici, puisquelles peuvent sure dans certains cas.

Nous ne nous attarderons pas plus sur ces commandes, car il nous semble que le package fancyhdrdocument dans fancyhdr.dviest beaucoup plus confortable utiliser et ore des fonctionnalits bien plus intressantes que les options standard de AT X. Lutilisation de ce package pour produire les entte et pied de page du manuel que L E vous avez sous les yeux est explique la section 10.4.

Vous noterez que cest la commande \caption qui produit la lgende. Le texte gure 1 est insr automatiquement avec le numro correspondant la gure. Le style de la lgende est bien entendu personnalisable.

Sans faire appel un package particulier, on peut spcier le style dentte et pied de page laide de la commande \pagestyle : \pagestyle{ style } dans le prambule du document ; le paramtre style pouvant prendre les valeurs suivantes : empty ni entte, ni pied de page ; plain cest le style par dfaut, le pied de page contient les numros de pages centrs ; headings suivant le style de document, un certain nombre dinformations sont insres dans lentte et le pied de page (par exemple dans le style report en recto-verso, sont insrs en entte : soit le titre du chapitre en cours, soit le titre de la section en cours) ; myheadings un style qui permet de personnaliser les informations insrer. Il existe dautre part une commande \thispagestyle, qui permet de changer ou de spcier le style de la page courante.

2.7.2 Placement
A L TEX 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 comprendreet accepterque A TEX utilise plusieurs paramtres pour placer les figure et table. Notons parmi L 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. Si vous avez des problmes4 pour placer vos gures, nous vous conseillons de suivre ces quelques recommandations : si vous tenez crire comme le montre la gure : 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 : rtrcissez-les ! si vous avez des tableaux rallonge, mettez-les en annexe, puisque de toutes faons ils gneront le lecteur ; A les paramtres de L TEX sont tudis pour quilibrer le texte et les gures dans le document. Donc, si votre document est une bande dessine, attendez vous
3 La commande \ltxenv est une commande dnie par lauteur pour homogniser lcriA ture du nom des environnements de L TEX et les insrer automatiquement dans lindex (cf. 11.1.2 page 142). 4 Et vous en aurez srement...

2.7

Flottants
A L TEX ore ses valeureux utilisateurs la possibilit dutiliser des environnements ottants. Ces environnements ont la particularit de rendre ottants leur contenu. A TEX choisit partir dun algorithme qui tient compte dun certain Cest--dire, que L nombre de paramtres, la position de lenvironnement dans le document. AT X figure Contrairement ce que leur nom laisse croire, les environnements de L E et table ne sont pas spcialement conus pour insrer des gures et des tables ! En fait ils sont conus uniquement pour faire otter 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.

24

Ce quil faut savoir au pire... ne vous souciez du placement des gures quau moment dimprimer votre document nal.

2.9 Fichiers auxiliaires les ottants (figure, table, ...) ; les quations (cf. chapitre 3) ; les items de liste numre (enumerate par exemple) ... Voici un exemple synthtisant les trois commandes de rfrencement :
\section{Second degr}\label{sec-2degre} 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-2degre} page \pageref{sec-2degre} patati patala...

25

2.7.3 Liste des gures


La commande \listoffigures (resp. \listoftables) insre une liste des gures (resp. des tableaux) de votre document. La liste est imprime l o apparat la commande. Ces commandes produisent un chier portant lextension .lof (resp. .lot). En outre, de manire analogue aux commandes de sections qui alimentent la table des matires, la commande \caption prend un argument optionnel permettant de dnir lentre dans la table des gures. Par dfaut cette commande utilise la lgende comme entre :

3.5 Second degr


Ce sont les quations du type : ax2 + bx + c = 0 (2.12)

Lquation 2.12 de la section 3.5 page 13 patati patala...

2
2.8

\caption[Hop]{Ici on peut raconter sa vie puisque a mettra pas le foin dans la liste des figures avec un titre rallonge vu quon a mis Hop la place de cette lgende qui nen finit pas...}

Dans cet exemple on fait rfrence une \section et une \equation (cf. chapitre 3). En outre, on fait rfrence la page o apparat la section en question.
lorsque vous placez un \label dans un environnement ottant, placez le toujours aprs la commande \caption. Sinon, la rfrence pointera sur la section et non sur la gure.

Rfrences
A Le systme de rfrence de L TEX 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. A TEX qui vous vitera beaucoup de travail. Et qui sexplique Cest un des aspects de L en quelques lignes.

2.9

Fichiers auxiliaires
Pour bien comprendre le mcanisme de rfrencement, il nous reste examiner A TEX crit sur votre disque lorsquil compile un chier source. Pour linstant, ce que L voici les chiers que vous pourrez rencontrer : dvi log limage de votre document ;
A cest le bavardage de L TEX lors de la dernire compilation. En gnral, il correspond peu ou prou ce que vous avez sur votre terminal au moment de la compilation ;

2.8.1 Principe
Pour utiliser une rfrence, on a deux tches eectuer : 1o poser une tiquette symbolique dans le texte, 2o appeler cette tiquette pour faire rfrence, soit au numro de lobjet rfrenc, soit au numro de la page o se trouve lobjet rfrenc. Cest dune simplicit enfantine : On pose une tiquette avec la commande \label : \label{ tiquette } o tiquette est une chane de caractres ne comprenant pas de caractres spciaux. On fait rfrence au numro de lobjet rfrenc avec la commande \ref : \ref{ tiquette } on fait rfrence la page avec \pageref : \pageref{ tiquette }

aux toc lof

le chier auxiliaire, il stocke les informations concernant les rfrences, les numros de pages, les titres, ... ; le chier contenant la table des matires ; le chier contenant la liste des gures.

2.9.1 Interaction avec les rfrences


A L TEX gre les rfrences de la manire suivante : lors dun premier parcours, il stocke les rfrences dans le chier nom-doc .aux o nom-doc est le nom de votre document. laide dun exemple o lon aurait plac une tiquette a5 pour la section 3 la page 35 dun document, voyons le principe du mcanisme de rsolution des rfrences. A 1. la premire compilation avec L TEX stocke dans le chier auxiliaire .aux le numro de ltiquette (le numro de la section dans notre exemple) et le numro de la page o cette tiquette apparat :
5

2.8.2 Que rfrencer ?


Les objets que lon peut rfrencer sont les suivants : les titres ;

Ce qui est une mauvaise ide dans la mesure o a nest pas trs parlant ...

26
doc.tex
\ref{a}

Ce quil faut savoir


doc.aux
A L TEX
Undefined reference a ref(a)=3/35

2.10 O il est question de csure

27

Vous serez donc confronts au phnomne suivant : lorsquau cours de la rdaction dun document contenant dj lordre \tableofcontents, vous insrez une commande de section, elle napparatra dans la table des matires quaprs deux compilations.

A L TEX envoie donc lors de cette compilation un avertissement prcisant que ltiquette a est indnie ;

2.9.3 Petits conseils


Prenez lhabitude de crer un rpertoire pour chaque document que vous rdigeA rez. L TEX cre en eet plusieurs chiers autour de votre .tex6 . Dautre part, ne vous souciez pas trop, lors de la rdaction de votre document, de savoir si les rfrences ou la table des matires sont jour : elles le seront bien un jour ou lautre ! En fait, il faut sassurer que les rfrences sont correctes avant dimprimer. Enn, de mme quon eectue de temps en temps un make clean lorsquon nest plus sr de ses chiers objets, il est bon quand il vous semble que tout va mal, deacer les chiers auxiliaires et de reprendre la compilation.

2. on eectue donc une deuxime compilation qui va cette fois exploiter le contenu du chier auxiliaire :
doc.tex
\label{a} ... \ref{a}

doc.aux
A L TEX
ref(a)=3/35

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 indnies ) ; et vous aurez pour cette nouvelle tiquette un message : Reference zaub on page 2 undefined on input line 17. 2. les changements que vous avez apports votre document ont sans doute chang la numrotation des pages ou le placement des objets (gures, quations,...), les rfrences sont alors mal dnies, et vous serez avertis par un message en n de compilation : Label(s) may have changed. Rerun to get cross-references right. 3. vous faites rfrence une tiquette qui nexiste pas. Dans ce cas, 18 compilations ne changeront rien votre problme.

B.2 p. 182

2.10

O il est question de csure


A L TEX sappuie sur TEX pour eectuer la csure des mots en fonction dune langue dtermine. Cette algorithme dcrit lannexe H du TEXbook constitue un des aspects les plus russis de TEX. Une manire de reconnatre un document gnr A TEX est dexaminer la manire dont sont coups les paragraphes ; beaucoup par L dautres logiciels se contentent dinsrer des blancs entre les mots. Il existe cependant A A TEX ne peut eectuer une csure correcte. Dans ce cas, L TEX des situations o L vous avertira par lun des deux messages terriants :

Underfull \hbox (badness 1810) detected at line 33

ou bien :
Overfull \hbox (14.24376pt too wide) detected at line 41

2.9.2 Interaction avec la table des matires


On retrouve un peu le mme principe avec la table des matires. Lorsque vous insrez la commande \tableofcontents dans votre document, la table des matires va tre cre en deux tapes, comme suit : 1. un premier parcours pour rcuprer les informations lies aux titres de tout le document et stockage dans le chier nom-du-document .toc :
doc.tex
A L TEX

.dvi

.toc

2. un deuxime passage pour inclure nom-du-document .tocdonc la table des matiresdans le document nal :
.toc doc.tex
A L TEX

.dvi

un trs bas niveau, TEX produit votre document en assemblant des botes. Chaque caractre est contenu dans une bote qui lui est propre ; les mots sont forms par assemblage de ces botes. Et ainsi de suite, pour les lignes qui forment des paragraphes puis des pages. Pour rsumer et prsenter les choses de manire simple, disons que TEX est en mode horizontal pour assembler les mots et manipule alors des \hbox ; il est en mode vertical et manipule des \vbox lorsquil cre les pages. Aussi, lors de lassemblage de ces botes, si TEX juge que le rsultat ne sera pas esthtique, il vous avertira par les deux types de messages prsents plus haut. Ces messages ont la signication suivante : Underfull \hbox les botes sont assembles de manire un peu lche ; TEX vous donne la laideur de la ligne (badness) sachant quune ligne parfaite a une laideur de 0, et que la pire des lignes, une laideur de 10000 ; Overfull \hbox les botes sont un peu trop serres ; TEX vous indique en pt le dpassement dans la marge. A Si une page est trop lche, L TEX parlera de \vbox dans ses messages. Le tableau 2.4 page suivante illustre le phnomne sur une phrase.
6

Et encore il na pas encore t question de bibliographie, ni dindex et de glossaires...

28 rage ! dsespoir ! vieillesse ennemie ! rage ! dsespoir ! vieillesse ennemie ! rage ! dsespoir ! vieillesse ennemie ! rage ! dsespoir ! vieillesse ennemie ! rage ! dsespoir ! vieillesse ennemie ! rage ! dsespoir ! vieillesse ennemie ! rage ! dsespoir ! vieillesse ennemie ! Tab. 2.4 under et overfull hbox

Ce quil faut savoir underfull underfull underfull ok overfull overfull overfull

2.10 O il est question de csure

29

\clearpage nit la page actuelle ; \cleardoublepage nit la page actuelle, et assure de commencer sur une page impaire, en mode recto verso. A TEX insrer toutes les gures ottantes en cours Ces deux commandes forcent L de placement.

Une autre intervention manuelle pratique dans certaines situations, consiste agrandir la hauteur de la page actuelle avec la commande \enlargethispage suivi dune dimension puis dinsrer un saut de ligne : \enlargethispage{10cm} [...le texte un peu trop long...] \clearpage au niveau de la page trop courte n explicite de la page allonge de 10cm

4.2 p. 46

Il est possible en utilisant loption de document draft de faire apparatre dans la marge une barre noire comme en marge de ce paragraphe, indiquant les Overfull \hbox. Cette option permet de localiser rapidement la ligne en cause.

Empcher la csure
A TEX ne pas couper le texte : Il existe trois moyens de forcer L

1. insrer lespace inscable ~ ;

2.10.1 Contrler la csure


A L TEX peut avoir des dicults couper une phrase pour les raisons suivantes : il ne reconnat pas le mot couper : ce cas est exceptionnel ; lendroit o la csure devrait avoir lieu est un objet qui ne peut tre coup, par exemple un objet du type \verb|...|, une quation,... Nous vous donnons ci-dessous quelques mthodes pour contrler la csure.

2. mettre un mot dans une bote avec la commande \mbox{ mot } ;


7

3. utiliser lordre \nolinebreak : \nolinebreak[ nombre ] pour empcher les sauts de lignes, et la commande \nopagebreak : \nopagebreak[ nombre ] o nombre a la mme signication que pour les commandes \linebreak et \pagebreak.

Lorsquaucune de ces mthodes ne vous donnent satisfactionceci peut se produire ! si votre phrase contient trop dobjets que T X ne peut couperil ny a pas dautre E solution que de tourner sa phrase diremment pour contourner le problme.

Guider la csure
A TEX couper un mot en lui indiquant les endroits o la cOn peut aider L sure peut tre eectue, en insrant aux endroits ncessaires, la commande \-. Par A exemple, si L TEX a du mal couper le mot nonmaiavapamieu, vous pouvez entrer :

Conclusion
A Ce chapitre a donc prsent les fonctionnalits standard de L TEX. Si vous avez lu attentivement jusquici, vous devriez donc 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 et le texte,... A TEX rpondent pour la plupart, des En eet, les comportements par dfaut de L rgles en usage dans le monde de limprimerie.

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}
A TEX comment couper ce mot trange. qui indique L

Forcer la csure Vous pouvez forcer la csure, en insrant la commande \linebreak[ nombre ], mais cela peut avoir des rsultats catastrophiques. Si vous voyez ce que je veux dire. Le paramtre nombre 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[ nombre ] est la commande correspondant aux coupures de pages. Dautre part, deux commandes sont disponibles pour eectuer un saut de page :

Car TEX ne coupe jamais une bote.

3
Sommaire 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 Les deux faons dcrire des maths Commandes usuelles Fonctions Des symboles les uns sur les autres Deux principes importants Array : simple et efcace quations et environnements Changer le style en mode mathmatique

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 de L TEX est bien sr la gnration de formules mathmatiques. Les formules que vous produirez seront naturellement U belles, sans que vous nayez faire quoique ce soit. De plus, pour ceux qui ont un
1 A 2

mauvais souvenir dun certain diteur dquations, vous pouvez vous rjouir : vous A TEX ! navez pas besoin de la souris pour crire des quations avec L A La gnration dquations avec L TEX 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 A TEX. avec L

3.1

Les deux faons dcrire des maths


A L TEX distingue deux manires dcrire des mathmatiques. Lune consiste insrer une formule dans le texte, comme ceci : ax + b = c ; lautre consiste crire une ou plusieurs formules dans un environnement, par exemple :

dU = W + Q sachant que chacun de ces deux modes respectent un certain nombre de principes quant la taille et position des dirents symboles. Voici un exemple avec les deux modes :

1 2

Si, si ! Il y a mme des gens qui font des formules juste pour le plaisir ! Ou alors juste deux ou trois petites choses...

31

32
Dterminer la fonction drive de $f(x)$ : \begin{displaymath} f(x)=\sqrt{\frac{x-1}{x+1}} \end{displaymath} si elle existe.

Mathmatiques
Dterminer la fonction drive de f (x) : f (x) = si elle existe. x1 x+1

3.2 Commandes usuelles

33

3.2.3 Symboles
Symboles usuels Le tableau 3.1 vous donne les macros produisant une grande partie des symboles dont vous aurez besoin. Tab. 3.1 symboles mathmatiques usuels \pm \mp \div \ast \times \bullets \circ \star \setminus \oplus \ominus \ \otimes \oslash \odot \leq \geq \equiv \ll \gg \sim \simeq \approx \cong \subset \supset \subseteq \supseteq \in \ni \emptyset \forall \infty \exists = \imath \jmath \ell \aleph \nabla \| \partial \wedge \vee \cup \cap

Cet exemple nous montre donc que lon entre en mode mathmatique interne grce au symbole $, et que cest le mme symbole $ qui permet den sortir. Dautre part, on utilise ici lenvironnement displaymath qui est lenvironnement le plus simple pour produire des quations. Nous vous prsenterons au 3.7 les dirents A TEX. environnements de L

3.2

Commandes usuelles
Comme mentionn au 1.3.1 page 8, _ et ^ sont les commandes permettant de produire respectivement indices et exposants. Il est ncessaire de grouper les arguments entre accolades pour que ces commandes agissent sur plusieurs symboles.

3.2.1 Indice et exposant

3.1

3
ch. C p. 187

x_2 x^2

x2 x
2

x_{2y} x^{2y} x^{2y}_{t_0}

x2y x
2y y x2 t0

x_{t_0} x^{t^0} x_{t^1}^{2y}

x t0 x t0
y x2 t1

Nous avons recens prs de 450 symboles disponibles avec les packages latexsym et amssymb. Notre but nest donc pas de les prsenter ici ! Le tableau 3.1 est une slection parmi les symboles standard. Nous avons jug quils faisaient partie des symboles les plus utilesce qui, malgr la prsence tout fait fortuite de laleph dans ce tableau, dmontre que le niveau en mathmatiques de lauteur de ce document avoisine le ras des pquerettes.

3.2.2 Fraction et racine


Voici comment produire des racines et des fractions : la commande \frac{ num }{ denom } produit une fraction forme par le numrateur num et le dnominateur denom ; la commande \sqrt[ n ]{expr} ache la racine n e de son argument arg Notons que ces deux commandes ne produisent pas le mme achage selon le mode mathmatique : interne ou quation. Ainsi voici une fraction : sin 1 et une racine : x+1 3x2 1 et leur quivalent en mode quation : 1 sin x + 1 3x2 1

Points de suspension On utilise couramment pour conomiser de lencre des points de suspension dans des formules. Il en existe de trois types. La commande \dots produit des points poss sur la ligne :
$C=\{\vec{c}_0,\vec{c}_1,\dots,\vec{c}_N\}$ est lensemble des $N$ couleurs. C = {c0 , c1 , . . . , cN } est lensemble des N couleurs.
3.3 3.4

La commande \cdots produit des points centrs verticalement sur le signe gal :
$\vec{\mu}=\frac{1}{N} (\vec{c}_0+\vec{c}_1+\cdots+\vec{c}_N)$ est la moyenne des $N$ couleurs.
1 = N (c0 + c1 + + cN ) est la moyenne des N couleurs.

Pour en nir avec ces deux commandes, voyons comment elles peuvent tre imbriques et leet que cela produit :
\begin{displaymath} \sqrt{\frac{1+\sqrt[3]{3x+1}} {3x+\frac{1-x}{1+x}}} \end{displaymath} 1 + 3 3x + 1 x 3x + 1 1+x

Enn les commadnes \vdots et \ddots sont utiliser essentiellement dans les matrices (cf. 3.6 et lexemple 3.15). Ces deux commandes produisent respectivement : . . . . et . . . Flches Voici un moyen simple pour mmoriser les commandes permettant de gnrer des ches :

3.2

34

Mathmatiques

3.3 Fonctions
$sin^2(x)+cos^2(x)=1$ sin2 (x) + cos2 (x) = 1
3.6

35

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 \Longleftarrow \Leftarrow \Longleftrightarrow 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 R, etc.

donne donne = donne donne

A La dirence rside dans le fait que L TEX traite la chane cos comme une suite de variable (donc produites en italiques) alors que la fonction \cos produit cos en roman. Une autre dirence importante est le placement dventuels indices (cf. lexemple de la fonction \max ci-dessous) Parmi les fonctions mathmatiques stanA dard de L TEX, on trouvera : toutes les fonctions trigonomtriques : \sin, \cos et \tan. En rajoutant arc devant, vous aurez les rciproques, et h derrire vous obtiendrez les versions hyperboliques. les logarithmes nprien et dcimal dnis respectivement par les fonctions \ln et \log. les fonctions \sup, \inf, \max, \min, et \arg qui vous permettront de gnrer des formules de ce genre :

\begin{displaymath} T=\arg \max_{t<0} f(t) \end{displaymath}

T = arg max f (t)


t<0

3.7

notez lutilisation de loprateur indice _ et le placement rsultant avec la commande \max.

3.3.2 Intgrales, sommes et autres limites


A L TEX utilise une syntaxe simple pour produire des intgrales, des sommes, etc. La syntaxe est la suivante : \ op _{ inf }^{ sup } o op est lun des oprateurs \sum, \prod, \int ou \lim et inf et sup 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-q} \end{displaymath}

Somme des termes dune suite gomtrique :


n

qi =
i=0

1 qn 1q

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 comme suit : \begin{displaymath} \ln(x)=\int_{1}^{x}\frac{1}{t}dt \end{displaymath} On dnit le logarithme nprien comme suit : x 1 ln(x) = dt 1 t

3.3

Fonctions
Lorsquon veut produire des fonctions mathmatiques classiques (logarithmes, A TEX prvues cet eet. Voici un trigonomtrie,...), il faut utiliser les fonctions de L exemple pour vous en convaincre.

3.3.1 Fonctions standards

Si vous tes plutt curviligne, vous pouvez utiliser \oint qui donne : . Bon, je vous donne juste un exemple avec une limite mais cest bien parce que cest vous :

$\sin^2(x)+\cos^2(x)=1$
A Et sans les fonctions L TEX :

sin2 (x) + cos2 (x) = 1

3.5

3.9

36
$f(x)$ admet une limite $\ell$ en $x_0$ : \begin{displaymath} \lim_{x\rightarrow x_0}f(x)=\ell \end{displaymath} f (x) admet une limite
3.10

Mathmatiques
en x0 :

3.5 Deux principes importants Tab. 3.2 espacement en mode mathmatique \! \ \, \quad \: \qquad \;

37

xx0

lim f (x) =

Jespre que vous avez apprci le beau et le magnique ; pour se xer les ides sur les deux modes mathmatiques, voici les mmes formules mais incrustes 1q n i dans le texte. Donc dabord la sommation : n i=0 q = 1q , ensuite lintgrale : x 1 dt = ln(x), et enn la limite : limxx0 f (x) = . 1 t

met le symb1 sur symb2 . Par exemple : x\stackrel{f}{\longmapsto}y donne : x y .


f

3.4

Des symboles les uns sur les autres 3.5


Soit x I un rel...
3.11

3.4.1 Loprateur not


Loprateur \not permet de produire la ngation dune relation :

Deux principes importants


A Pour bien comprendre la manire dont L TEX gnre les formules, il faut saisir les deux principes suivants : A TEX ignore les espaces entre les symboles mathmatiques ; ainsi : $x+1$ Espaces : L A produira la mme formule que $x + 1$. Cest L TEX qui insre les espaces lendroit o il juge que cest le plus judicieux ;

Soit $x \not\in I$ un rel...

le rsultat est donc un slash sur le symbole suivant. Attention, cet oprateur nest pas trs performant : $\not\longrightarrow$ donne : , mais est satisfaisant pour les symboles dune largeur raisonnable.

3.4.2 Accents
Il est souvent utile,3 daccentuer les symboles en guise de notation particulire. Voici les accents disponibles : \hat{x} \acute{x} \bar{x} x \check{x} x \grave{x} x \dot{x} x \breve{x} x ` \tilde{x} x \ddot{x} x x x

Texte4 : tout groupe de symboles est considr comme un groupe de variables ou fonctions ; ainsi $x=t avec t>0$ produira x = tavect > 0 et non ce que vous espriez : x = t avec t > 0. Une fois ces deux principes acquis, voyons comment on peut faire avec.

3.5.1 Espaces en mode mathmatique


A Tout dabord, sachez que L TEX fait un choix despacement qui est en gnral correct. Cependant le jour o vous aurez jouer lXXXXX enculeur /////// de mouche, les commandes du tableau 3.2 vous permettront dinsrer un ou des espaces dans des formules. Dans ce tableau, on montre leet des commandes despacement entre deux symboles . Pour ce qui concerne les mouches, sachez que lauteur de ce manuel a sournoisement insr un certain nombre despacements au numrateur du calcul de la somme des termes de la suite gomtrique ( 3.3.2 page 35), pour aligner les deux q de la fraction. Voici ce que donnait la formule par dfaut : n

3.4.3 Vecteurs
Il existe deux faons dobtenir un vecteur : \vec pour les petits symboles car \vec est une commande daccentuation ; \overrightarrow dans les autres cas.
Soit $\overrightarrow{A\!B}$ dfini dans la base $(\vec{\imath},\vec{\jmath})$. Soit AB dni dans la base (, ).
3.12

qi =
i=0

1 qn 1q

Notez que $\vec{A\!B}$ aurait donn : AB .

et voyons si les histoires de q vous donnent le sens de lobservation.

3.4.4 Commande stackrel


La commande \stackrel permet de poser deux symboles lun sur lautre : \stackrel{ symb1 }{ symb2 }
En ralit les mathmaticiens dignes de ce nom raolent de ce genre de petits chapeaux au dessus des symboles ; certains en superposent mme deux, voire trois...
3

3.5.2 Texte en mode mathmatique


Le moyen le plus simple dinsrer du texte dans une formule, et de mettre le texte en bote et dinsrer quelques espaces :
4 Linsertion de texte dans une formule ne devient un problme que dans un environnement de la famille displaymath, et nen est pas un en mode interne. Puisque vous pouvez toujours crire $x=t$ avec $t>0$, bien sr !

38
Soient les suites $(u_n)$ et $(v_n)$ : \begin{displaymath} u_n=\ln n\quad \mbox{et}\quad v_n=(1+\frac{1}{n})^n \label{ex-maths-suite} \end{displaymath}

Mathmatiques

3.7 quations et environnements

39

Soient les suites (un ) et (vn ) :


3.13

o delim1 et delim2 sont deux dlimiteurs et mobjet un objet mathmatique. Parmi les dlimiteurs, voici les plus usits :
1 n ) n

( et ) \{ et \} \lceil et \rceil |

() {} ||

[ et ] \lfloor et \rfloor \langle et \rangle \|

[]

un = ln n et

vn = (1 +

Vous trouverez des dtails sur la commande \mbox la section 4.4.1 page 53.

3.6

Array : simple et efcace


Lenvironnement array est un environnement qui vous permettra de produire la grande majorit de vos formules. Comme son nom lindique il range des objets en ligne et colonne. En fait cest le pendant de lenvironnement tabular du mode texte. Et comme tabular, array ne passe pas la ligne.

Lintrt des dlimiteurs est quils sadaptent automatiquement la taille des objets quils entourent :
soit $I= \left[\begin{array}{cc} 1&0 \\ 0&1 \end{array}\right]$ la matrice identit. 1 0 0 1

On peut galement reprendre lexemple 3.13 page ci-contre avec des dlimiteurs pour ajuster la taille des parenthses :
Soient les suites $(u_n)$ et $(v_n)$ : \begin{displaymath} u_n=\ln n\quad\mbox{et} \quad v_n=\left(1+\frac{1}{n}\right)^n \end{displaymath} Soient les suites (un ) et (vn ) : un = ln n et vn = 1+ 1 n
n
3.17

3.16

soit I =

la matrice identit.

3.6.1 Comment a marche


La syntaxe rappelle celle de tabular : \begin{array}[ vpos ]{ format } ... \end{array} o format prcise pour chaque colonne lalignement : c pour centr, l pour align gauche et r pour align droite ; largument optionnel vpos spcie quant lui le positionnement vertical du tableau . Comme dans les tableaux, on notera lutilisation des commandes : & comme sparateur de colonne ; \\ pour passer la ligne.
1 1 Soit A = la matrice ... 3 4

2.2.4 p. 18

Il doit toujours y avoir une commande \right pour une commande \left. Cependant, il nest pas ncessaire davoir les mmes symboles droite et gauche.

Voici un exemple o on utilise la commande \right. pour spcier que lon nutilise pas de symbole droite :
soit $ S_i=\left\{\begin{array}{rl} -1 & \mbox{si $i$ est pair} \\ 1 & \mbox{sinon.}\end{array}\right.$ soit Si = 1 si i est pair 1 sinon.

Soit $A=\begin{array}{rc} -1 & 1 \\ 3 & 4 \end{array}$ la matrice ...

3.14

Voici un exemple utilisant les points de suspensions :


\begin{displaymath} A=\left[\begin{array}{ccc} a_{00} & \dots & a_{0n}\\ \vdots & \ddots & \vdots\\ a_{n0} & \dots & a_{nn} \end{array}\right]\end{displaymath}

3.7
a00 . . . an0 . . . a0n . .. . . . . . . ann

quations et environnements
A Nous prsenterons dans ce paragraphe trois environnements standard de L TEX permettant de produire des formules.

A=

3.7.1 Lenvironnement displaymath


Vous lavez compris, si vous avez lu jusquici, displaymath ache une formule centre, interrompant le paragraphe. Un raccourci agrable de : \begin{displaymath}...\end{displaymath} est : \[...\]. Ainsi :
Distance colorimtrique :\[ \Delta E=\sqrt{ \Delta L^{*2}+ \Delta a^{*2}+\Delta b^{*2}} \] Distance colorimtrique :
3.19

3.6.2 Array et les dlimiteurs


On utilise couramment lenvironnement array pour produire des matrices. Il faut alors avoir recours des dlimiteurs. Ces dlimiteurs sont de la famille des parenthses et permettent denglober un objet mathmatique entre crochets, accolades, etc. La syntaxe est la suivante : \left delim1 mobjet \right delim2

3.15

3.18

E =

L2 + a2 + b2

40

Mathmatiques

3.8 Changer le style en mode mathmatique

41

3.7.2 Lenvironnement equation


Lenvironnement equation est lquivalent du prcdent, sauf quil numrote la formule.
retenir : \begin{equation} \ln(ab)=\ln(a)+\ln(b) \end{equation} retenir :
3.20

fonction) est produit en italique dans le document nal. Or dans certains cas, il est utile de pouvoir forcer le style de fonte. Voici comment raliser un tel exploit : Soit Soit Soit Soit Soit Soit $\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

ln(ab) = ln(a) + ln(b)

(3.1)

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


Nous nirons la prsentation des environnements standard par lenvironnement eqnarray qui permet de produire des formules de plusieurs lignes. Il sagit dune sorte de fusion entre un environnement array trois colonnes et une equation o : \\ passe la ligne ; chaque ligne est numrote sauf si la commande \nonumber est prsente dans la ligne ; on procde lalignement avec deux5 oprateurs &.
\begin{eqnarray} (a+b)^2 & = & (a+b)(a+b)\nonumber\\ & = & a^2+b^2+2ab \end{eqnarray}

la commande \mathcal doit prendre exclusivement des lettres majuscules comme argument. Dans le cas contraire, les rsultats seront farfelus. Par exemple, la squence :

\mathcal{abcd\Gamma} donne .

3.8.2 Taille des symboles


A L TEX distingue quatre styles dcriture des formules. Ces modes sont utiliss A suivant la situation dans laquelle se trouve L TEX lorsquil produit une partie dune formule :

texte pour une formule insre dans le texte courant ;


3.21

(a + b)2 = (a + b)(a + b) = a2 + b2 + 2ab (3.2)

equation pour une formule sous forme dquation ; indice pour lcriture des indices ; sous-indice pour les indices dindices chacun de ces modes peut tre enclench explicitement par lutilisateur grce aux dclarations suivantes : \textstyle pour le mode texte ; \displaystyle pour le mode quation ; \scriptstyle pour le mode indice ; \scriptscriptstyle pour le mode indice dindice Voici deux exemples illustrant comment forcer le mode texte en mode quation et inversement :
deux produits : $\prod_{1}^{n}f_i$ et $\displaystyle\prod_{1}^{n}f_i$ et inversement : \[ \prod_{1}^{n}f_i \mbox{ et }\textstyle\prod_{1}^{n}f_i \]
3.23

Il existe une forme toile de lenvironnement : eqnarray* o aucune des lignes nest numrote.
Si vous voulez faire rfrence certaines lignes dun eqnarray, il vous faudra poser ! autant de \label ncessaires sur chaque ligne correspondante. Dautre part, il nest pas possible de faire rfrence au groupe dquations form par leqnarray de manire globale.

Pour en nir avec les formules multi-lignes, voici une utilisation de eqnarray permettant de couper et mettre en page les longues quations. Voici un exemple :
\begin{eqnarray*} \lefteqn{d^2(\vec{c}_1,\vec{c}_2) =}\\ & & (r_1-r_2)^2 + (g_1-g_2)^2+(b_1-b_2)^2 \end{eqnarray*}

deux produits : et inversement :


n

3.22

d2 (c1 , c2 ) = (r1 r2 )2 + (g1 g2 )2 + (b1 b2 )2

n 1 fi

et
1

fi

fi et
1

n 1 fi

3.8

Changer le style en mode mathmatique


A L TEX fournit plusieurs commandes permettant de changer de fontes dans les modes mathmatiques. Par dfaut tout symbole ou suite de caractres (autre quune
5

3.8.1 Fontes

Conclusion
Ce chapitre a tent de prsenter 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 A TEX ne susent plus. Cest pourquoi la clbre American les seules macros de L

Puisquil y a trois colonnes.

42

Mathmatiques

Mathematical Society a conu pour vous un package nomm AMSTEX (mise en route : \usepackage{amsmath}) capable de gnrer des formules particulirement tordues.

4
Sommaire 4.1 4.2 4.3 4.4 4.5 4.6 Compteurs Longueurs Espaces Botes Dnitions Mais encore ?

Un pas vers la sorcellerie

3
A

Et lorsque lAgneau ouvrit le septime sceau il se t un silence dans le ciel, environ une demi-heure... LApocalypse Ap 8 1.

de quelques concepts importants. Il nous semble en eet fondamental dassimiler ces notions pour pouvoir jouer les Hercule Poirot dans les nombreux chiers qui forment le systme. Nous tenterons donc de prsenter dans ce chapitre les compteurs, les longueurs, les espaces et les botes. Ces quatre notions vous seront utiles si vous A voulez utiliser L TEX autrement quen acceptant docilement ce quil vous propose.
Ce chapitre traite de concepts assez subtils saisir 1 ; nous vous conseillons donc vivement dexprimenter car les outils prsents ici sont ceux qui orent le plus de satisfaction mais qui entranent aussi les plus grandes pertes de cheveux (essentiellement par arrachage).

de continuer lexploration de ce systme monstrueux et magnique Avant quest L TEX, il est ncessaire de faire une pause et de prendre connaissance

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


Les compteurs sont principalement lis aux titres, aux numros de pages, aux environnements ottants (environnements figure et table), aux quations (environnement equation), aux notes de bas de page et aux items dnumration (environnement enumerate). Le tableau 4.1 page suivante vous donne le nom des principaux compteurs de A L TEX. Vous remarquerez quils portent gnralement le nom des objets auxquels ils
1

Lauteur nest lui-mme pas sr davoir tout compris...

43

44
A Tab. 4.1 les compteurs de L TEX

Un pas vers la sorcellerie

4.1 Compteurs

45

part chapter section subsection subsubsection

paragraph subparagraph page equation

figure table footnote mpfootnote

enumi enumii enumiii enumiv

pour changer359 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 Afchage
Pour acher un compteur on utilise la commande : \the nom-du-compteur En fait, toute commande ou environnement qui donne lieu lachage dun compteur fait appel ce type de commande. Ainsi, on a par exemple : \thepage produit : 45 et est appele notamment chaque saut de page, \thefootnote produit : 3 et est appele par \footnote, \thesubsection produit : 4.1.3 et est appele par \subsection, ... Les commandes de la famille \the sont gnralement dnies partir des commandes de formattage suivantes : \arabic{ compteur }, \roman{ compteur } et \Roman{ compteur }, \alph{ compteur } et \Alph{ compteur } en voici quelques exemples : \arabic{page} produit : 45 ; \alph{footnote} produit : c et \Alph{section} produit : A ; \Roman{subsection} produit : III et \roman{page} produit : xlv ; ... Il est courant de rednir les commandes de la famille \the pour personnaliser un document. Par exemple, dans la classe de document utilise pour ce manuel, la commande \thefigure est dnie comme suit : \arabic{chapter}.\arabic{figure} ce qui produit dans les lgendes des gures une numrotation forme par : 1) le numro du chapitre en chire arabe, 2) un point, et 3) le numro de la gure en chire arabe. Il est possible de rednir cet achage en dnissant la commande \thefigure par exemple comme suit : (\Roman{chapter}):\arabic{section}.\arabic{figure} Ce qui permet dobtenir un numro de gure relativement immondedans les lgendes quelque peu dirent du style prdni. Ici, on a donc redni la commande \thefigure pour produire une numrotation forme par le numro du chapitre entre parenthses et en chires romains, suivi du numro de section et du numro de la gure en chire arabe, spars Fig. (IV):1.1 la lgende par un point. Le Fig. ainsi que le tiret qui suit le numro de la gure sont quant eux dnis au niveau de la commande \caption...
359 3

sont associs. Les compteurs enumi...enumiv sont associs aux items de niveaux 1 4 de lenvironnement enumerate. Le compteur mpfootnote est le compteur de note de bas de page de lenvironnement minipage dont il est question au paragraphe 4.4.3 .

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 note que ces variables sont des entiers. Cration On peut crer un nouveau compteur grce la commande : \newcounter{ cpteur }[ cpt_maitre ] qui cre un nouveau compteur cpteur . Si largument optionnel cpt_maitre est prsent, le compteur cpteur est remis zro chaque fois que le compteur matre cpt_maitre est incrment. Affectation On aecte une valeur un compteur de la manire suivante : \setcounter{ compteur }{ valeur } o compteur est le compteur que lon veut modier, et valeur la valeur que lon veut lui aecter. Incrmentation On peut incrmenter ou dcrmenter un compteur grce la commande : \addtocounter{ compteur }{ valeur } o valeur 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}

Mme si ce changement est un peu ridicule... On croise les doigts !

46

Un pas vers la sorcellerie

4.2 Longueurs

47

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 A type de donne de L TEX destin exprimer les dimensions dun objet.

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.1 Units
Toutes les dimensions doivent avoir une unit ; une dimension de type rigide 4 a la forme suivante : nombre unit o nombre est un nombre positif ou ngatif et ventuellement avec une partie A dcimale, et unit une unit de mesure reconnue par L TEX. Voici une liste non exhaustive des units lgales : cm pour centimtre ; mm pour millimtre ; in pour les allerginch au systme mtrique (environ 2.54cm) ; pt pour point : couramment utilis en typographie : em : la largeur de la lettre M de la fonte courante ; ex : la hauteur de la lettre x de la fonte courante Notez que les units em (resp. ex) sont gnralement utilises pour des dimensions horizontales (reps. verticales) et permettent de manipuler des dimensions dpendantes de la taille de la fonte courante. Voici quelques exemples de dimensions : 1cm 1in 3mm 2em 10pt : : : : :
1 72.27

4.2.3 Manipulation des longueurs


Comme pour les compteurs, il existe quelques commandes permettant de manipuler les dimensions. Cration La commande suivante cre une nouvelle longueur : \newlength{ dim } o dim est le nom de la nouvelle dimension initialise 0pt.
Attention, quel que soit lendroit o intervient la commande \newlength, la longueur dnie est toujours globale. De plus, dclarer deux fois la mme longueur provoque une erreur. Par contre, la modication dune longueur est locale au groupe ({...}) o elle survient.

inch ;

Affectation On peut aecter une valeur une longueur avec la commande : \setlength{ dim }{ val } qui aecte la valeur val la longueur dim . Incrmentation On incrmente une longueur comme suit : \addtolength{ dim }{ val } qui a pour eet daugmenter la longueur dim de la valeur val . L tout de suite alors que vous lisez fbrilement ce paragraphe, nous nous sommes permis daugmenter la longueur \parindent de 30 points avec : \addtolength{\parindent}{30pt} L tout de suite alors que vous lisez fbrilement... pour illustrer lutilisation de lincrmentation des longueurs. Aprs ce paragraphe, on a crit : \addtolength{\parindent}{-30pt} Pour que tout rentre dans lordre.

A 4.2.2 Quelques longueurs de L TEX


A Il existe dans L TEX et dans chaque extension que vous utiliserez 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 la base de la ligne suivante (10pt dans ce document) ; \parskip la distance sparant deux paragraphes ; cette distance est initialise 0pt plus 1pt5 ; ...
4 5

On verra plus loin quil existe des dimensions lastiques. cf. les dimensions lastiques pour avoir la signication du plus.

48 Obtenir les dimensions dun objet


2.10 p. 27

Un pas vers la sorcellerie

4.3 Espaces 1. une longueur nulle ; 2. la capacit de stirer indniment avec une certaine force.

49

Comme il en a t vaguement question prcdemment , au niveau de TEX, les dirents objets qui composent le document sont assembls dans des botes. Ces botes sont positionnes les unes par rapport aux autres en alignant leur point de rfrence. Ces points aligns forment une ligne imaginaire confondue avec la base de la ligne. Toute bote est caractrise par trois dimensions : sa largeur ; sa hauteur : du point de rfrence au haut de la bote ; sa profondeur : du point de rfrence jusquau bas de la bote. Voici par exemple comment sont assembles les botes du mot Ingnierie :

A TEX 2 dispose dune commande permettant de spcier une longueur lastique en L prcisant son degr dlasticit :

\stretch{ nbre } o nbre est la force du ressort. Ce nombre peut tre sign et avoir une partie dcimale. Voici un exemple :
zro\hspace{\stretch{1}} tiers \hspace{\stretch{2}} un zro tiers un
4.1

Ing ni e r i e

les symboles reprsentent les points de rfrence. On voit ici que toutes les botes ont une profondeur nulle sauf celle de la lettre g. Mais fermons la parenthse concernant les botes ! Il est donc possible dextraire les caractristiques dun objet (un lettre, un mot, une bote, etc.) laide des commandes suivantes :

A Ce code L TEX introduit des espaces8 de longueurs lastiques entre les mots zro tiers un. Le deuxime ressort a une raideur deux fois plus importante que le premier. Lespacement est donc double. Vous noterez aussi que ces ressorts ont une lasticit relative mais innie ; cest pourquoi les mots zro et un sont pousss contre les marges. Enn, sachez que \fill est un raccourci agrable de \stretch{1}.

\settowidth{ dim }{ obj } \settoheight{ dim }{ obj } \settodepth{ dim }{ obj } trois commandes qui aectent la dimension dim respectivement la largeur, la hauteur et la profondeur de lobjet obj .

4.2.5 Afchage
Il est parfois utile dacher la valeur dune longueur. Pour ce faire on peut avoir recours la commande \showthe qui interrompt la compilation pour acher la valeur de la longueur passe en paramtre. Ainsi : \showthe\linewidth acher la valeur de la longueur \linewidth en interrompant la aura sur la console quelque chose du genre : compilation . On

4.2.4 Longueurs lastiques


Les dimensions prsentes jusquici sont des dimensions rigides,6 il existe cependant des longueurs lastiques ou ressort. Au niveau de TEX, un grand nombre de dimensions sont dnies comme suit : val plus p_val minus m_val cette syntaxe permet de dnir une longueur ayant la dimension val , mais pouvant selon les circonstances sagrandir ou se rtracter. Et ainsi, si on appelle dim la dimension cre, on a: val m_val dim val + p_val Par exemple, la longueur \parskip qui spare deux paragraphes conscutifs, est xe : 0pt plus 1pt
A ce qui signie quau cas o la page est un peu lche, L TEX insrera entre les paragraphes un blanc vertical de 1 point. On ne peut pas directement7 crer de telles lonA gueur avec L TEX. Cependant ces dimensions ont surtout un intrt lors de la cration A de macros complexes ou dextensions. Par contre, les utilisateurs de L TEX auront la chance inoue de pouvoir manipuler une autre famille de longueurs lastiques tout aussi intressantes. Cette famille possde les deux particularits suivantes :
6 7

1.5 p. 10

[ ... ] Le laus initial Document Class: book 2001/04/21 v1.4 Standard LaTeX document class (/usr/share/texmf/tex/latex/base/bk12.clo)) (./test.aux) > 17.62482pt. la valeur de la longueur l.10 \showthe\parindent la longueur acher ? Lorsque la compilation est lance dans un terminal de commande, une pression sur la touche entre fait reprendre la compilation.

4.3

Espaces
On appelle espaces les blancs que lon insre divers endroits dans un document. Il existe des commandes permettant dinsrer des blancs de longueur prdnie ou A TEX. choisie par lutilisateur. Il sagit bien sr de longueur au sens de L
8 Cest la commande \hspace qui produit une espace horizontale de longueur dnie par son argument.

Sauf \parskip. Pas avec la commande \setlength.

50

Un pas vers la sorcellerie

4.4 Botes
zro \hfill{} un\par zro \hrulefill{} un\par zro \dotfill{} un\par

51
zro un zro un zro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . un

4.3.1 Commandes de base


Pour insrer une espace entre les objets, on dispose de commandes de la forme suivante :
9

\ dir space{ dim } o dim est une longueur rigide ou lastique, et dir vaut : v pour une espace verticale ; h pour une espace horizontale. Ainsi :
un saut\hspace{1cm}de \texttt{1cm} \vspace{2\baselineskip}
4.2

Et pour nir, la force relative des ressorts :


zro \dotfill{} demi \hfill{} un\par zro \hrulefill{} tiers \hspace{\stretch{2}} un\par zro . . . . . . . . . . . . . . . demi tiers zro un un

un saut

de 1cm

A Vous aurez donc compris que les ressorts prdnis de L TEX ( savoir \hfill, \hrulefill, et \dotfill) ont une raideur de 1.

et deux lignes vierges.

et deux lignes vierges.

Espaces verticales Voici trois grands classiques de la famille des espaces verticales : \smallskip pour un petit saut vertical ; \medskip pour un saut vertical moyen ; \bigskip pour un grand saut vertical ces espaces sutilisent comme la commande \vspace leur eet : dfaut : suivant... petite : suivant... moyenne : suivant... grande :

Dans certaines situations, TEX supprime les espaces. Il est alors ncessaire dutiliser la forme toile des commandes despacement, savoir \hspace* et \vspace*. Les situations en question sont : le dbut et la n de page ; le dbut et la n dune ligne sil ne sagit pas de la premire ou de la dernire ligne du paragraphe.

4.5

4.4

4.3.2 Quelques espaces prdnies


On dispose de plusieurs commandes despacement, regroupes en deux catgories selon le mode horizontal ou vertical. Espaces horizontales Voici quelques espaces rigides : \enspace : \quad : \qquad : soit 0.5\quad soit 1em soit 2\quad

suivant... Il existe une espace verticale lastique prdnie : \vfill quivalent : \par\vspace{\fill} cest--dire, un saut de paragraphe, suivi dune espace verticale de dimension \fill.
\hrulefill{} haut \vfill \hfill{}fragile\hfill{} \vspace{\stretch{2}} \hfill{}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 paragrapheune ligne vierge ou une commande \paravant et/ou aprs \vspace. bas haut

fragile

et quelques espaces lastiques : \hfill : soit \hspace{\fill} \hrulefill : comme \hfill mais trace une ligne \dotfill : comme \hfill mais trace des points Voici quelques exemples montrant lutilisation des espaces horizontales. Tout dabord, notez que les espaces entourant la commande \hspace ne sont pas ignors :
zro\hspace{1cm}un\par zro \hspace{1cm}un\par zro \hspace{1cm} un\par zro zro zro un un un

4.3

A Voici ensuite, les espaces lastiques de L TEX :


9 Nous utilisons ici le genre fminin du mot espace qui dsigne alors les petites tiges mtalliques utilises autrefois en imprimerie pour sparer les mots et les lettres. Aujourdhui, le genre fminin est utilis dans le monde de la typographie et de la photo-composition.

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

52

Un pas vers la sorcellerie

4.4 Botes

53

pouvant en contenir une autre). Ces entits peuvent dautre part tre positionnes selon la fantaisie10 de lutilisateur. Il existe deux principaux types de botes (au niveau de TEX cest un peu plus subtil) chacun des ces types de botes ayant un comportement spcique. Nous qualierons ces deux types comme suit : bote simple bote paragraphe Nous verrons quune manipulation habile de ces botes permet de produire des mises en page sophistiques et est particulirement utile notamment lors de la conception de transparents. Voici un premier exemple avec des botes simples qui, je 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 :

4.4.1 Botes simples


La premire catgorieles botes simplesse comporte comme des mots dans un paragraphe. Voici leurs caractristiques : on peut imposer sa largeur, sa hauteur est donne par ce quelle contient, Elle ne doit pas contenir de saut de paragraphe Sans bordure La commande \makebox permet de construire une bote simple. \makebox[ larg ][ pos ]{ contenu } o larg est la largeur dsire, pos la position (c=centr, l=align gauche ou r= droite) de contenu dans la bote. Voici quelques exemples :
et \makebox[2cm][c]{hop !} une bote\par et \makebox[3cm][r]{rehop !} une autre et et
4.7

TEX
notez que la bote du E est dcale vers le bas et que les trois botes se superposent. Un autre exemple :
c tr itro o n n
ul

hop !

une bote rehop ! une autre

Les deux arguments larg et pos sont optionnels et sils sont omis, la largeur de la bote est celle du texte. Le cas chant on saisit : \mbox{ texte } au lieu de \makebox[][]{ texte }. On notera galement que loption s de la commande \makebox permet dtirer le contenu pour quil fasse exactement la dimension impose :
\makebox[5cm][s]{Ouaaahhh quelle fatique !} Ouaaahhh quelle fatique !
4.8

ci

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 :
p un laf th e ! un m form e at u b iq le o ue m ax bo da a+ te ns b= c

re

na

ul

et pour viter les querelles culturelles :

na re re na ul

Ceci est une bote paragraphe de 4cm de large. Une telle bote est capable de conte- le texte continue, et, nir peu prs tout ce quon trouve dans un A TEX. document L

Voici une image en couleur, avec ses 3 composantes : RRRR RRRR GGGG BBBB RRRR GGGG BBBB RRRR GGGG BBBB GGGG BBBB
10

Deux longueurs sont disponibles pour changer lallure des \framebox : \fboxsep la distance entre la bordure et le texte, \fboxrule lpaisseur du trait.
\setlength{\fboxrule}{5pt} rouge \framebox[2cm]{vert} bleu\par \setlength{\fboxrule}{0.4pt} \setlength{\fboxsep}{8pt} cyan \framebox[2cm]{magenta} jaune

4.9

4.10

Humm... ainsi quavec patience et bonne humeur...

ci n n o o tr citr

renault

re na ul t

Avec bordure On construit une bote entoure par une bordure grce la commande \framebox qui suit la mme syntaxe que \makebox : \framebox[ larg ][ pos ]{ texte } le raccourci \fbox{ texte } existe comme pour les botes sans bordure. Ce qui donne :
bon \framebox[1.5cm][c]{alors} voil\par et \framebox[2.8cm][r]{ah oui} daccord\par \fbox{alors} bon alors voil ah oui daccord et alors

rouge cyan

vert magenta

bleu jaune

54

Un pas vers la sorcellerie

4.4 Botes Bote simple de largeur nulle

55

4.4.2 Manipulation de botes simples


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{ trans }[ prof ][ haut ]{ texte } o trans est le dplacement que vous voulez aiger texte . Par exemple :
Cest haut \raisebox{8pt}{New York,} New York \raisebox{-1ex}{USA.}
4.11

Il est parfois utile de manipuler les botes de largeur nulle, par exemple dans le cas o lon souhaite superposer des lments. En imposant une dimension nulle en guise de premier argument optionnel de la commande \makebox :
\newcommand{\grogra}{\huge\bfseries} avant\makebox[0cm][c]{\grogra C}aprs
4.14

avantaprs

avant\makebox[0cm][l]{\grogra G}aprs avant\makebox[0cm][r]{\grogra D}aprs

C G prs avanta avant Daprs

Cest haut

New York,

New York USA.

A Les deux arguments optionnels prof et haut permettent de faire croire L TEX que la bote rsultant de la translation a une hauteur de haut et une profondeur de prof . Lexemple suivant illustre lutilisation de la commande \raisebox avec ses arguments optionnels.

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
A TEX pour faire subir des rotations des lIl existe plusieurs extensions de L ments de texte ; nous avons choisi de vous prsenter la commande \rotatebox de lextension graphicx prsente au chapitre 5. La syntaxe en est la suivante :

\begin{flushleft} 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}

ligne 1 : XXXXX O ligne 2 : XX XX ligne 3 : XXXXX ligne 4 : XXXXX O ligne 5 : XX XX ligne 6 : XXXXX

\rotatebox{ angle }{ texte } o angle est langle dans le sens trigonomtrique, et texte llment de texte faire tourner :
4.15

Attention \rotatebox{30}{virage} dangereux.

Attention vir

age

dangereux.

On soulve un O au milieu de la ligne 2. La bordure met en vidence la place occupe par la bote souleve.11 Au milieu de la ligne 5, on soulve le mme O mais A TEX considre cette fois en imposant les dimensions (montres par la bordure). L donc que la bote rsultant de la translation fait 1ex de haut et 2ex de profondeur, il eectue les sauts de lignes en consquence. Translation horizontale
4.3 p. 49

La version actuelle de xdvi nest pas en mesure dacher les objets qui ont subi une rotation.12 Cette lacune (avec quelques petites autres) sera peut-tre corrige dans les prochaines versions. La parade est de visualiser la sortie PostScript avec ghostview ou gv, ou la sortie Pdf .

A p. 175

4.4.3 Botes paragraphe


Les botes dites botes paragraphe ont la particularit de pouvoir contenir des sauts de ligne et des sauts de paragraphe (contrairement aux botes dites simples ). Il existe deux manires de crer des botes paragraphe ; la premire avec la commande \parbox : \parbox[ bpos ][ hauteur ][ tpos ]{ largeur }{ contenu } o contenu est llment de texte mettre en bote, largeur la largeur de la bote crer, bpos un argument optionnel prcisant le point de rfrence. Cet argument optionnel est rapprocher de celui de lenvironnement tabular . Par exemple : Voici --- \parbox{2.1cm}{une bote\\paragraphe} --- une --- \parbox[t]{2.1cm}{autre bote\\paragraphe} --- et --- \parbox[b]{2.1cm}{une bote\\paragraphe}
12

Les translations horizontales ne sont pas proprement parler des caractristiques des botes, puisquon les obtient en insrant des espaces appropries. Voici un exemple :
Non la /////// censure sur Internet.

Non la \makebox[1.5cm]{censure}% \hspace{-1.5cm}\makebox[1.5cm]{///////} sur Internet.

4.13

2.2.4 p. 18

Notez que ce nest pas forcment la meilleure faon de hachurer un mot, mais que cela illustre la manire de dplacer un bote horizontalement, laide dun \hspace ngatif.
11

Cette bordure est insre ici pour la comprhension du mcanisme.

Lobjet est ach mais sans la rotation.

56

Un pas vers la sorcellerie

4.4 Botes
Ce que jai dire\footnote{Cest un bien grand mot.} nest pas franchement parler : \begin{itemize} \item ni trs intressant ; \item ni particulirement indispensable \end{itemize} mais bon, jen parle quand mme. Javais autre chose raconter mais a mest sorti de la tte... \end{minipage} Dans les botes paragraphe la longueur \parindent est mise zro. Ce qui explique que Javais autre chose ... dans lexemple prcdent nest pas indent. Enn, contrairement aux \parboxs, dans une minipage lorsquon fait rfrence la dimension \textwidth, il sagit de celle de la bote et non de celle du texte.

57

qui donne (avec des bordures pour mettre en vidence les dimensions des botes) : une bote une bote une autre bote et paragraphe Voici paragraphe paragraphe Pour construire une bote paragraphe en imposant sa hauteur, on utilise largument optionnel hauteur . On peut alors ventuellement prciser la position verticale tpos du texte dans la bote. Par dfaut tpos vaut bpos , et il peut prendre les valeurs habituelles c pour centr, t et b pour haut et bas ; plus une valeur : s pour spcier que le texte peut stirer (stretch) sur toute la hauteur de la botedans ce cas cest lutilisateur de positionner le texte. Par exemple : ---\parbox[b][2cm]{2cm}{haut\par milieu\par bas}} \parbox[b][2cm][t]{2cm}{haut\parmilieu\par bas}} \parbox[b][2cm][c]{2cm}{haut\par milieu\par bas}} \parbox[b][2cm][s]{2cm}{haut\par \vspace{\stretch{2}} milieu\par\vfill bas}}--donne avec les \fbox pour y voir un peu plus clair : haut milieu bas haut milieu bas

4.4.4 Petites astuces


Toutes les fonctions concernant les botes peuvent prendre en paramtre de longueur les dimensions suivantes : \width : la largeur du texte contenu, \height : la hauteur du texte contenu, \depth : la profondeur du texte contenu, \totalheight : (hauteur + profondeur) du texte. Il est alors possible de prciser les dimensions de la bote relativement au texte quelle contient. Ce qui peut tre utile dans certaines situations :
une \framebox[0.7\width]{bote} ltroit. une \framebox[1.8\width]{bote} au large. une \fbox{% \parbox[c][3\height]{1cm}{bote\\vide.}}
4.16

haut milieu bas

haut milieu bas

Pour crer une bote paragraphe, il peut tre utile dutiliser lenvironnement minipage, qui simule la cration dune page avec dventuelles notes de bas de page, tableaux, listes, etc.13 La syntaxe est analogue \parbox sauf quil sagit dun environnement : \begin{minipage}[ bpos ][ hauteur ][ tpos ]{ largeur } ... \marg{texte} ... \end{minipage} Voici un exemple : Ce que jai direa nest pas franchement parler : ni trs intressant ; ni particulirement indispensable mais bon, jen parle quand mme. Javais autre chose raconter mais a mest sorti de la tte...
a

unebote ltroit. une bote au large. bote vide.

une

Pour une raison x, y ou z , on peut vouloir raconter sa vie avec une minipage. Comme dans cet exemple l

4.4.5 Sauvegarde et rutilisation


A Il est possible de stocker un extrait de code L TEX dans une bote pour le A rutiliserceci par exemple lorsque ce code exige de L TEX des ressources importantes ; dans ce cas on procde en 3 tapes :

Cest un bien grand mot.

1. dclaration dun bote avec la commande \newsavebox, 2. stockage avec \sbox ou \savebox, 3. rutilisation avec \usebox

Dans cet exemple on a cr une minipage faisant la moiti (55%) de la largeur du texte, et contenant un environnement itemize et une \footnote. La bote ainsi cre est centre par rapport au paragraphe Pour une raison... car largument optionnel pos est absent :
\parbox{0.40\textwidth}{... Comme dans cet exemple l $\longrightarrow$}\hfill \begin{minipage}{0.55\textwidth}
13

Cet environnement ne peut toutefois pas contenir de ottants.

58 Par exemple voici une texture de Gnu :


\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}

Un pas vers la sorcellerie

4.5 Dnitions

59

La commande \ensuremath permet de sassurer que la commande sera utilise dans un environnement mathmatique, quel que soit le contexte, comme dans lexemple ci-dessous.
Gnu Gnu Gnu Gnu Gnu Gnu Gnu Gnu Gnu
AT X ne sont pas tout fait des fonctions au sens Les macros ou commandes de L E dun langage de programmation, elles sapparentent plutt au #define du C. Et en ce sens, elles suivent le mcanisme dexpansion. Ainsi, dans le premier exemple de la fonction \Lab, \Lab se dploie en $L^* a^* b^*$. On comprend donc pourquoi, $...\Lab$ aurait gnr une erreur de compilation.

4.17

On peut faire une analogie entre le couple de commande \sbox et \savebox et le couple \mbox et \makebox (cf. 4.4.1).

Si lon souhaite dnir une fonction avec un ou plusieurs arguments (9 au maximum), no problemo :
\newcommand{\fraction}[2]{% \raisebox{0.5ex}{#1}% \slash\raisebox{-0.5ex}{#2}} \fraction{1}{2} et \fraction{3}{4} font \fraction{5}{4}

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. D. E. Knuth in the TEXbook.

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.

On remarquera donc que : la macro \fraction prend 2 arguments, on fait rfrence au ne argument avec #n, les caractres % sil vous paraissent saugrenus, permettent dinsrer des sauts de ligne dans le code sans insrer despace dans le document (voir aussi le paragraphe 9.2.1 page 99 ce sujet). On peut aussi dnir une commande dont le premier argument est optionnel. La syntaxe est alors la suivante :
A TEX } \newcommand{ nomcom }[ narg ][ arg defaut ]{ code L

4.20

4.5

Dnitions

1/2 et 3/4 font 5/4

4.5.1 Commandes
La commande \newcommand permet de dnir une macro, son utilisation est trs simple :
A \newcommand{ nomcom }[ nargs ]{ code L TEX }

o narg est le nombre darguments, sachant que #1 sera largument par dfaut, A def defaut est la valeur que prend #1 par dfaut, et code L TEX le code de la commande. Voici par exemple une commande qui dessine une touche de clavier :15
\newcommand{\Touche}[1][Entre]{\Ovalbox{#1}} Appuyer sur \Touche[Tab]{} puis sur \Touche{} Appuyer sur Tab puis sur Entre
4.21

o nargs est le nombre darguments au sens arguments dune fonction dun lanA TEX le code dnissant votre commande. Voici gage de programmationet code L un exemple de macro, dnissant le symbole de lespace L*a*b*14 :
\newcommand{\lab}{$L^*a^*b^*$} Soit \lab{} lespace...
4.18

On voit donc que largument 1 est facultatif et sa valeur par dfaut est : Entre. On notera galement que lutilisation de largument optionnel requiert des crochets et non des accolades.
On peut trs bien imaginer que lon ait dnir une commande ayant un argument optionnel et un ou plusieurs arguments obligatoires. Dans ce cas le premier argument obligatoire sera #2. Dautre part, notez quon ne peut rendre optionnel que le premier argument dune commande.

Soit L a b lespace...

Notez que cette commande ne prend pas dargument, il nest donc pas ncessaire ici dutiliser largument optionnel nargs . Pour amliorer un peu lutilisation de cette commande, on peut la dnir comme suit :
\newcommand{\Lab}{% \ensuremath{L^*a^*b^*}} Lespace \Lab{} et $\vec{c}\in\Lab$.
14

4.5.2 Environnement
Il est possible de dnir ses propres environnements de la manire suivante : \newenvironment{ nom env }[ narg ]{ clause begin }{ clause end }
15

Lespace L a b et c L a b .

a cest ce quon veut pas faire.

4.19

Cette commande fait appel la commande \Ovalbox dnie dans le package fancybox.

60

Un pas vers la sorcellerie

4.6 Mais encore ?

61

o nom env est le nom de lenvironnement ainsi dni, narg le nombre darguments, et clause begin et clause end les pr et post traitement de lenvironnement. Il est pratique de dnir des environnements partir dautres, par exemple A TEX : les environnements de L
\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.6

Mais encore ?
Si vous avez lintention de crer des chiers contenant des commandes de votre cr, vous devez ajouter la ligne : setenv TEXINPUTS $HOME/LaTeX/mesmacros//: dans votre .login si vous utilisez csh, ou :

4.22

Lhomme a reu de la nature une clef avec laquelle il remonte la femme toutes les vingt-quatre heures.

export TEXINPUTS=$HOME/LaTeX/mesmacros//:
A TEX cherche aussi les dans votre .bash_profile si vous utiliser bash, pour que L chiers dans le rpertoire $HOME/LaTeX/mesmacros (cest un exemple) et ses sousrpertoires. La ligne \usepackage{moncru} vous permettera alors dutiliser votre A ensemble de commandes. L TEX cherchera alors le chier moncru.sty. Une autre solution est dutiliser la commande \input{moncru.sty}. Un dernier conseil : pour pouvoir dnir vos commandes ou environnement 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-alorssinon 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.

4.4.5 p. 57

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 largument dans une bote que lon rutilise dans la clause end :

9.3 p. 102

\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}

Lhomme a reu de la nature une clef avec laquelle il remonte la femme toutes les vingt-quatre heures.
4.23

9.5 p. 110

Victor Hugo

La citation nen reste certes pas moins douteuse...

4.5.3 Rednitions
Il est possible de rednir commandes et environnement avec : \renewcommand{ nomcom }[ nargs ]{ codeTEX } pour les commandes et : \renewenvironment{ nom_env }[ narg ]{ clause_begin }{ clause_end } pour les environnements. On rednit les commandes essentiellement pour personA TEX. On procde alors de la manire la plus naliser le comportement factieux de L naturelle qui soit, par exemple : \renewcommand{\thepage}{\Roman{page}} numrote les pages en chire romain majuscule.
AT X est un sujet trs vaste qui La modication du comportement par dfaut de L E dpasse le cadre de cette partie. Mais sachez que si vous modiez une commande ou un environnement dont vous ne matrisez pas toutes les fonctionnalits, attendez vous des rsultats bizarres ! La lecture de la deuxime partie prsente le moyen de rednir AT X. certaines commandes de L E

5
Sommaire 5.1 5.2 5.3 5.4 5.5 Apritifs Du format des chiers graphiques Le package graphicx Quelques extensions utiles 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.

images dans un document. Ceci tant d au fait que les imprimantes sont de A plus en plus performantes et bon march. Il faut cependant se replacer dans le ujourdhui il est tout fait naturel dinsrer des dessins, gures et autres contexte des annes 80 pendant lesquelles TEX a pris son essor. cette poque, les imprimantes faisaient leur apparition et le matriel de qualit professionnelle ntait pas accessible par le particulier. Beaucoup de solutions ont cependant mrges sappuyant la plupart sur le langage dimpression PostScript devenu un standard de facto. A Aujourdhui, ils existent plusieurs solutions autour de L TEX pour insrer des graphiques dans un document. Parmi elles on notera lutilisation de metafont (lutiA TEX), la programmation dun environnement picture litaire qui gre les fontes de L ou la mise en uvre dun code PICTEX. Ces solutions ne seront par dcrites ici car nous considrons quelles sont dune utilisation un peu droutante au premier abord ; il est tout de mme bon de connatre leur existence. Lapproche adopte A dans ce manuel pour manipuler des graphiques est dinsrer dans le source L TEX un chier au format PostScript encapsul contenant le graphique en question, ce dernier ayant t cr par un logiciel de dessin tel que xg, gnuplot, gimp, etc.

5.1

Apritifs
Il nest pas inutile de connatre la commande \rule qui permet de faire des traits : \rule[ hpos ]{ largeur }{ hauteur } o hpos impose une ventuelle translation verticale du trait, les deux autres arguments ont un nom susamment explicite : 63

64
Voici quelques << traits >> : \begin{center} \rule[1ex]{1mm}{5mm}\quad\rule{1in}{0.4pt} \quad\rule[-0.5em]{1em}{1em} \end{center}

Graphisme
Voici quelques traits :
5.1

5.3 Le package graphicx

65

5.2

Du format des chiers graphiques


Pour inclure des dessins ou des images dans vos documents, il faut inclure un A TEX permet dinclure des chiers de type PS pour Postchier. La conguration de L Script et EPS pour Encapsuled PostScript. Ce chier peut tre gnr par nimporte quel programme. Si le format PostScript vous semble contraignant, sachez que : tout bon logiciel de dessin vectoriel vous permet dexporter vos schmas au format EPS. Ce format est devenu la rfrence en matire dimpression. toute image peut tre convertie au format EPS. Sur un systme Unix, le programme convert permet deectuer cette opration.1

Fig. 5.1 Robert. o chier.eps est une chier contenant votre gure, et option est une liste doptions spares par des virgules. La commande \includegraphics ne cre pas de mise en page particulire, elle insre juste une bote contant le graphique dans le texte. Ainsi :
avant \includegraphics{punch} et aprs.

5.3

Le package graphicx
A L TEX, ou plutt TEX, na pas t initialement conu pour manipuler des graphiques (images, dessins,...). De ce fait, une multitude dextensions ont t proposes, aucune nayant vraiment russi simposer ou tre vraiment indpendante des systmes dexploitation.

avant

et aprs.

5
figure . Par
2.7 p. 22

En gnral, on combine \includegraphics avec un environnement exemple, la gure 5.1 a t produite grce au code suivant : \begin{figure} \begin{center} \includegraphics[width=5cm]{punch} \end{center} \caption{Robert.}\label{fig-exemple} \end{figure}

5.3.1 Un standard
A Aujourdhui, les concepteurs de L TEX 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 :

5.3.2 Options
Le package graphicx possde plusieurs options permettant de contrler linsertion des graphiques. Parmi les options disponibles voici les plus utilises : Changement dchelle Il existe trois manires dagir sur la taille dun graphique. scale= ratio avec 0 < ratio 1, permet de changer la taille globale de la gure ; width= dimen permet dimposer la largeur du graphique ; height= dimen permet dimposer la hauteur du graphique.

\usepackage{graphicx} sut pour mettre en route lextension graphicx. La commande pour inclure un dessin ou une gure est la suivante : \includegraphics[ option ]{ chier.eps }
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.

66
\begin{center} \includegraphics[scale=0.2]{magma}\\ \includegraphics[width=8.5mm]{magma}\\ \includegraphics[width=2cm,height=3mm]{magma} \end{center}

Graphisme

5.4 Quelques extensions utiles

67

5.3

(a) Magma

(b) UZMK

Rotation Vous pouvez si vous le dsirez, faire eectuer une rotation votre gure en utilisant loption angle, dont la syntaxe est la suivante : angle= ndegre o ndegre est un angle prcis en degrs dans le sens trigonomtrique.

Fig. 5.2 Uniweria Zkt

On trouvera dans le chier grfguide.ps3 une description dtaille de cette extension.

5.4

\includegraphics[angle=45,scale=0.2]{magma}

Mode brouillon Loption draft permet de produire les gures en mode brouillon : seul un cadre avec le nom du chier inclus est produit dans le document nal.
avant \includegraphics[draft,scale=.2]{punch} et aprs.

\begin{figure}[htbp] \begin{center} \leavevmode \subfigure[Magma]{% \label{fig-uniweria-magma} \includegraphics[width=2cm]{magma}} \hspace{2cm} \subfigure[UZMK]{% \label{fig-uniweria-uzmk} \includegraphics[height=2cm]{uzmk}} \caption{Uniweria Zkt} \label{fig-uniweria} \end{center} \end{figure}

5.5

epss/punch.eps avant et aprs.

Pour ce qui concerne les rfrences, on peut soit rfrencer la gure globale par \ref{fig-uniweria} qui donne : 5.2, soit les sous-gures par leur label respectif : \ref{fig-uniweria-magma} et \ref{fig-uniweria-uzmk} qui donnent : 5.2(a) et 5.2(b).
Une manire lgante de grer les \subfigures est dencapsuler chacune delles dans un environnement minipage. On trouvera dans le chier subfigure.dvi accompagnant la distribution, comment personnaliser lenvironnement subfigure, notamment les espaces inter-lgendes.

Le mode draft est enclench par dfaut lorsque loption de document draft est spcie. Si vous voulez contrer leet de loption de document4 , il est possible dutiliser loption final de la commande \includegraphics ou au moment dinclure lextension avec \usepackage.

5.4.2 Le package wrapg


Le package wrapg propose lenvironnement wrapfigure permettant de faire otter une gure dans un paragraphe. Il ne sagit pas dun environnement ottant A TEX puisquon spcie la position de la au sens de lenvironnement figure de L gure dans le paragraphe. La syntaxe est la suivante : \begin{wrapfigure}{ position }{ largeur } ... \end{wrapfigure} o position est la position de la gure (l ou r) et largeur la largeur de la gure insrer. Voici un exemple :
\begin{wrapfigure}{r}{1.5cm} \includegraphics[width=1cm]{polygons} \end{wrapfigure} Le package \ltxcom{wrapfig} nest--- ma connaissance---pas document sous

5.4

Quelques extensions utiles


Voici dans les paragraphes qui suivent trois extensions utiles pour la production de documents contenant des graphiques.

5.4.1 subgure
Cette extension permet de grer des gures comportant plusieurs sous-gures, avec numrotation automatique et possibilit de faire rfrence aux sous-gures ellesmmes. Par exemple :
3 4

Utiliser locate ou find pour le trouver sur votre systme. Par exemple, si vous voulez voir vos gures mais aussi les OverfullBoxMark.

68
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0 1 2 3 4 5 exp(-x)*sin(10*x) 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0 1 2 3 4

Graphisme ex sin(10x)

5.4 Quelques extensions utiles

69

diaire de deux arguments optionnels la commande \psfrag. Supposons quon dnisse ces points de rfrence comme suit : \psfrag{chane}[l][c]{ equation } On aura alors lassemblage suivant :
chane

et

quation

donne

chane quation

De mme en crivant :
5

(a) avant

(b) aprs

\psfrag{chane}[r][l]{ equation } on aura : chane


chane

Fig. 5.3 Utilisation de psfrag, gauche la gure originale, droite la gure avec A un remplacement par une quation L TEX.

et

quation

donne

quation

la forme dun fichier \texttt{dvi} ; par contre il est possible...

Dans lexemple de la gure 5.3(b), on a fait correspondre le ct droit de lquation (1er argument optionnel r) avec le ct droit de la chane (2e argument optionnel r). La documentation du package est trs instructive ce sujet...

Le package \wrapfig nest ma connaissancepas document sous la forme dun chier dvi ; par contre il est possible de trouver des informations trs dtailles dans le chier .sty lui-mme qui se trouve dans larborescence TEX dans : [...]/misc/wrapfig.sty. On notera au passagecar il faut parler pour faire un paragraphe un peu longque la rgle veut que tout package soit auto-document grce une extension connue sous le nom de doc. Ainsi toute extensionpackage en anglaiscontient aussi bien le code que la documentation. Une procdure dinstallation permet dextraire lun et lautre. Lauteur de wrapg na vraisemblablement pas suivi cette rgle, tant pis...

AT X, on ne peut Attention, si on gnre un document pdf partir du source L E quutiliser le package psfrag quau prix de manipulations un peu tordues .

ch. A p. 175

5.4.4 Le package color


Lextension color est mise au point par lquipe qui a dvelopp le package graphicx. Il peut tre intressantpar exemple pour produire des transparentsde gnrer du texte en couleur. Le package color permet les constructions suivantes :
Du texte {en \color{red}rouge} et \textcolor{cyan}{en cyan}.
5.6

5.4.3 Le package psfrag


Une autre extension intressante est lextension psfrag. Elle a pour but de pouvoir A runir la puissance dun chier PostScript et la beaut des quations de L TEX. Un problme se pose en eet lorsque lon veut intgrer des quations un dessin, car la gnration dquations nest pas prvue dans la plupart des logiciels de dessin. La solution adopte par les auteurs de psfrag est dutiliser la commande \psfrag pour insrer les quations la place de chanes de caractres prsentes dans le dessin. Ainsi, pour avoir la gure 5.3(b) au lieu de la gure 5.3(a), on a procd comme suit : 1. ajout avant le \includegraphics{courbe} la ligne : \psfrag{exp(-x)*sin(10*x)}[r][r]{$e^{-x}\sin(10x)$} qui permet de remplacer la chane de caractres faisant oce de lgende par une belle quation ; 2. le rsultat nest pas visible dans le chier .dvi, par contre dvips se charge dexploiter les instructions prcdentes pour modier le chier PostScript gnr. Le positionnement de lquation se fait en faisant correspondre deux points de rfrence, lun appartenant lquation, lautre la chane de caractres remplacer. Cest lutilisateur dindiquer o se trouve ces points de rfrence, par linterm-

Une bote \colorbox{green}{Verte}. Une \fcolorbox{blue}{yellow}{autre bote}.

Du texte en rouge et en cyan. Une bote Verte . Une autre bote .

On aura compris quon dispose pour le texte : de la dclaration : \color{ couleur } et de la commande : \textcolor{ couleur }{ texte } et pour les botes : sans bordure : \colorbox{ couleur du fond }{ contenu } avec bordure : \fcolorbox{ couleur bordure }{ couleur fond }{ contenu } Les deux commandes pour les botes en couleur sont sensible la longueur \fboxsep. Quid des couleurs qui nont pas de nom ? vous entends-je marmonner in petto...

70 Ce quoi je rponds sur le champ :


Voici un {\color[rgb]{.2,.4,.5}\bfseries bleu gris}...
5.7

Graphisme

Voici un bleu gris...

Il est aussi possible de donner un petit nom cette dernire couleur :


\definecolor{bleugris}{rgb}{.2,.4,.5} Voici un {\color{bleugris}\bfseries bleu gris}... Voici un bleu gris...

6
Sommaire 6.1 6.2 6.3 6.4 Articles Bibliographie Index Diviser votre document

Documents scientiques

Vous noterez quen lieu et place de rgb il est possible dutiliser le mot clef gray de manire dnir des nuances de gris.

5.5

part a
On peut trouver un grand nombre dextensions permettant de produire des graphiques correspondant un besoin particulier (arbres, circuit lectroniques, histogrammes,...). Vous pouvez en eet 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 !

5.8

Les sages thsaurisent la science mais la bouche du fou est un danger permanent. Les proverbes Pr 10 14.

oici venu le moment de vous parler des quelques caractristiques des documents dits scientiques. Si le problme des formules et autres quations a t abord V avec brio au chapitre 3, il reste tout de mme un gros morceau avaler : la bibliographie. Sachez quand mme que si lingurgitation peut tre dicile, la suite vous permettra de vous simplier grandement le travail. Nous proterons galement de ce chapitre pour expliquer le principe de la gnration dindex. Nous vous parlerons donc des quelques particularits de la rdaction darticles, ensuite viendra un expos sur la gnration dune bibliographie, la gnration dindex, enn la mthode utile connatre pour diviser un gros document en petites parties.

6.1

Articles
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 : \author pour dnir les auteurs, \title pour dnir le titre, \date pour dnir la date. 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 qu est insr le titre ... \end{document}

71

72

Documents scientiques

6.2 Bibliographie

73

Nous rptons :1 cest la commande \maketitle qui gnre et insre le titre et non les dnitions du prambule. En rgle gnrale, les confrences ou revues qui fournissent un chier de style, proposent quelques variantes, par exemple une commande \address pour sparer les auteurs et leur adresse respective. Mais lide de base reste la mme.

6.2

Bibliographie
A Il existe deux manires de rdiger une bibliographie avec L TEX : 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 :

o entree est le type de document (article, inproceedings,...) et champ 1 , champ2 ,..., champn sont les dirents champs de lentre de bibliographie. Ces dirents mots rservs de BibTEX peuvent tre saisis en majuscules ou en minuscules. Le symbole clef 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 amens utiliser : Article dans une revue Un article dans une revue doit tre saisi comme suit :
@article{qtz:UchArb, author ="T. Uchiyama and M. A. Arbib", title = {Color Image Segmentation Using Competitive Learning}, journal=pami, volume =16, number=2, pages={1197--1206}, month=dec, year=1994}

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, 2. dans le document, on fait rfrence aux entres par la commande \cite, 3. la bibliographie sera formate automatiquement selon un style particulier que vous choisirez. Lavantage de cette mthode est que vous saisissez une fois pour toute les entres de votre bibliographie. De plus, vous navez pas vous soucier de sa mise en page, dans la mesure o vous utilisez des chiers de style ; il en existe plusieurs dizaines correspondant toute sorte de standards, revues et autres confrences. On trouve aussi beaucoup de bases de donnes bibliographiques au format BibTEX que lon peut utiliser directement dans ses documents. Nous rptons quil existe des standards en matire de bibliographie, mais que malheureusement certaines revues prennent un malin plaisir pondre leur propre style de bibliographie. Le jour o vous publierez dans ce genre de revue, vous aurez crer ou adapter un chier de style. Pour ce faire, cherchez du cot de lutilitaire makebst.

Notez que : 1. Les champs author, title, journal, year sont obligatoires, 2. pour les auteurs, il est impratif de suivre lordre prnom - nom et de sparer tous les auteurs par and. 3. tous les mois de lanne sont dnis par dfaut avec des abrviations de trois lettres (jan, feb, mar, etc.) Nous avons dni par commodit labrviation pami qui est dnie au dbut de notre chier .bib par :
@string{pami="IEEE transactions on Pattern Analysis and Machine Intelligence"}

6.2.1 Fichier .bib


La premire opration est de constituer2 le chier de bibliographie. 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. Chaque type dentre contient son tour un certain nombre de champs dcrivant lentre. La structure dune entre de bibliographie est la suivante : @ entree { clef champ1 = champ2 = ... champn = }
1 2

Article dans une confrence Eh oui, BibTEX distingue un article dans une revue, et un article dans une confrence. La structure est sensiblement la mme, si ce nest quon utilise le champ booktitle pour le titre de la confrence, la place du titre de la revue :
@Inproceedings{qtz:BouOrch, author="Charles A. Bouman and Michael T. Orchard", title={Color Image Display with a Limited Palette Size}, booktitle={SPIE Conference on Visual Communications and Image Processing}, volume=1199,pages={522--533}, year=1989}

, {...}, "...", {...}

Parce quil parat quenseigner cest rpter Le module AucTEX dEmacs possde un mode BibTEX trs pratique.

ici les champs author, title, booktitle, year sont obligatoires, et lon doit choisir entre volume et number.

74 Un extrait de livre

Documents scientiques

6.2 Bibliographie

75

On cite souvent un extraitchapitre(s), et/ou page(s)dun livre plutt que le livre lui-mme :
@inBook{col:McA, author = {D. L. MacAdam}, title = {Color Measurement}, chapter = 4, pages = {48--49}, publisher = {Springer-Verlag}, year = 1985}

Il faut ensuite spcier quels sont les chiers contenant les informations bibliographiques sur lesquelles pointent les commandes \cite de votre document : \bibliography{ chier1,chier2,... } indiquera BibTEX de considrer les chiers fichier1.bib, fichier2.bib,... lors de son traitement.

6.2.3 Gnration
On gnre la bibliographie en quatre tapes :
A TEX pour que le chier auxiliaire 1. on eectue une premire compilation avec L .aux contienne les informations de citations :
doc.tex
A L TEX

Sont obligatoires : author, title, chapter et/ou pages, publisher (lditeur) et year.
Encore une fois nous ne saurons trop vous conseiller dexploiter le mode BibTEX du module AucTEX dEmacs. Ce mode vous propose notamment un menu contenant tous les types dentre. La slection dun item de ce menu insre un squelette dentre dans votre chier .bib. Ce module est tlchargeable ftp://ftp.lip6.fr/pub/TeX/ CTAN/support/auctex et galement disponible sous la forme dun paquet Debian.

.dvi

.aux

2. on lance BibTEX pour gnrer la bibliographie dans le chier .bbl : bibtex doc
.aux
fichier1.bib

6.2.2 Citation
Une fois le (ou les) chier(s) de bibliographie constitu(s), on peut faire rfrence aux entres par lintermdiaire des clefs, avec la commande \cite :

\cite{ clef } la commande \cite a pour eet : 1. dinsrer un renvoi dont la forme dpend du style choisi ([2], [Loz95],...), 2. et dajouter larticle cit dans la bibliographie de votre document.
Un articleau sens large du termenapparat dans la bibliographe que sil fait lobjet dune commande \cite. Pour quun article apparaisse sans pour autant tre cit, il faut utiliser la commande \nocite{ clef }. Larticle rfrenc par clef sera alors insr dans la bibliographie. Par ailleurs, la commande \nocite{*} insre toutes les entres de votre chier de biblio.

.dvi

BibTEX

.aux .bbl

A 3. on eectue une deuxime compilation avec L TEX pour insrer la bibliographie :


.bbl doc.tex
A L TEX

.aux .dvi

.aux

Avant de passer ltape de gnration proprement dite, il est ncessaire dinsrer A la n du document L TEX un appel la commande \bibliographystyle pour stipuler un style de bibliographie, puis un appel la commande \bibliography pour insrer eectivement la bibliographie. Pour le style : \bibliographystyle{ style }
A TEX sont : Les trois style s prdnis3 de L plain les citations sont sous la forme [2], et la bibliographie est classe par auteur, unsrt idem mais pas de tri, les documents apparaissent dans lordre o ils sont cits ; trs utilis pour les actes de confrence. alpha les citations sont sous la forme auteurs abrgs + anne.
3 Cherchez sur les sites CTAN, dans le rpertoire biblio/bibtex/contrib il y a plusieurs dizaines dautres styles disponibles.

4. une troisime compilation est ncessaire pour rsoudre les rfrences. Si vous tes curieux, vous verrez que le chier .bbl contient un environnement thebibliography prt lemploi4 et que le chier .blg est lquivalent du .log : un chier log contenant les ventuelles erreurs ou warnings de la dernire utilisation de BibTEX.

Le programme BibTEX est sensible la variable denvironnment BIBINPUTS. Il peut donc parfois tre ncessaire dajouter la ligne : export BIBINPUTS=$HOME/LaTeX/biblio//:

dans votre .bash_profile pour que BibTEX cherche vos chiers de bibliographie dans le rpertoire $HOME/LaTeX/biblio (cest un exemple).
4

Cest--dire, celui que vous auriez d vous palucher si vous nutilisiez pas BibTEX.

76

Documents scientiques

6.3 Index

77

6.3

Index
La gnration dindex sappuie sur deux concepts :
A TEX pour ajouter des entres 1. lajout de commandes \index dans le document L dans lindex ;

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.

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 la commande \tableofcontents.

6.3.1 Ce quil faut faire


Voici un petit mmo pour faire un index. rajouter deux commandes dans le document matre : \makeindex \begin{document} ... le document ... \printindex \end{document} ajouter une entre dans lindex :
A TEX de gnrer les index pour dire L

Il faut donc veiller aux ventuels rejets ou avertissements (warnings ) et se reporter A TEX perau chier log doc.ilg le cas chant. La deuxime compilation avec L met dinsrer lindex format (chier doc.ind) lendroit spci par la commande \printindex dans doc.tex :
doc.tex .ind .dvi
A L TEX

.aux

Pour rellement linsrer dans le document

Lutilitaire makeindex reconnat loption -s qui permet de spcier un style pour lindex. Ces stylesdnis dans des chiers portant lextension .istchangent la mise en page de lindex. On utilise un chier style de la manire suivante :

makeindex -s chier-style

document-maitre

Cherchez sur votre distribution quels sont les chiers de styles et testez-les.

\index{bidule}

insre bidule dans lindex

pour gnrer lindex pour le document doc.tex, on lancera successivement les trois commandes suivantes : latex doc makeindex doc latex doc

6.3.3 Diffrents types dentre dindex


On peut utiliser des entres un peu plus sophistiques que la forme vue jusqu maintenant (<mot> et <page>). Il existe au moins trois autres entres : 1. les entres hirarchiques : \index{bidule!chouette} insre une sous-entre chouette bidule 2. les entres cheval sur plusieurs pages : \index{bidule|(} \index{bidule|)} gnre une entre de type : bidule ij 3. les entres symboliques : \index{alpha@\alpha} ajoute la lettre grecque et la classe lentre alpha Cette dernire forme peut galement tre utilise pour mettre dans lindex une entre avec une mise en forme particulire, par exemple : \index{bonjour@\textbf{bonjour} ajoute bonjour (bonjour en gras) dans lindex, et classe cette entre bonjour. Enn on peut vouloir acher les numros de pages avec une mise en vidence particulire. On utilisera alors la forme : la page i la page j

6.3.2 Dtail du fonctionnement


La premire compilation du document doc.tex ( la condition que la squence de contrle \makeindex soit prsente dans son prambule) gnre un chier doc.idx contenant les entres de lindex en vrac :
doc.tex
A L TEX

.dvi

.idx

On utilise ensuite makeindex pour classer et supprimer les doublons dans ce chier doc.idx, le rsultat est mis dans doc.ind ; une trace de lexcution est stocke dans doc.ilg :
.idx .ind makeindex .ilg

78 \index{ entre | commande de mise en forme } Par exemple : \index{bidule|textbf}

Documents scientiques

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).

7
Sommaire 7.1 7.2 7.3 7.4

Des documents en franais


Le problme des lettres accentues AT X Rdiger un document en franais avec L E Le package babel et la typographie Courrier et fax Lhomme rpondit : cest la femme que tu as mise auprs de moi qui ma donn de larbre, et jai mang ! La Gnse Gn 3 12.

6.3.4 Glossaire
On a parfois besoin de prciser la signication de certains termes dun document ; la partie dun manuel qui regroupe lexplication de ces termes sappelle un glossaire. Pour en gnrer, il faut procder de manire analogue un index avec quelques petites variations prsentes au paragraphe 11.6 page 157.

6.3.1 p. 76

6.4

Diviser votre document


Lorsquon manipule un gros document, on peut le diviser naturellement en chapitres ou parties. Il est alors conseill de crer un document matre charg dinclure ces chapitres ou parties. Le document matre a lallure suivante : \documentclass{book} \begin{document} \frontmatter % tout ce qui est introductif \include{preface} \tableofcontents \mainmatter % le corps du document \include{chapitre1} \include{chapitre2} \backmatter % tout ce qui vient en n de document \bibliographstyle{plain} \bibliography{machin,bidule,truc} \end{document} Lintrt des commandes \include rside dans le fait quelles vous permettent de travailler sur un nombre rduit de chapitres la fois, tout en gardant lintgrit du document. On utilise pour cela la commande \includeonly : \includeonly{preface,savoir} dans le prambule, permet de compiler uniquement la prface (chier preface.tex) et le chapitre contenu dans le document savoir.tex.
Chaque commande \include commence une nouvelle page. Et il ny a apparemment pas moyen de passer outre. Vous aurez donc compris que \include est utiliser avec les commandes de section qui sautent une page (\chapter et cie). Si vous tenez insrer un chier sans saut de page utiliser la commande \input. Par contre, vous ne bncierez pas du mcanisme de document matre.

dont on ne peut se soustraire, il sagit la plupart du temps de rgles dusage, quil est conseill de suivre pour rendre un document lisible ne perturbant pas le lecteur. Ces conseils dusage donnent gnralement un aspect srieux voire professionnel un document. Il existe plusieurs ouvrages traitant de la typographie franaise, je citerais ici le lexique de limprimerie nationale [4] et le manuel dYves Peyrousseaux [8]. Ce chapitre contient des informations sommaires sur la manire dont sont codes A les fontes dans L TEX pour obtenir les accents de la langue franaise. Suivent quelques rgles de typographie et une prsentation du package babel permettant de simplier la saisie de documents en franais. Ce chapitre se termine sur une prsentation dune classe de document lettre ayant pour but de composer des lettres et des fax.

composition dun document en franais suit des rgles quil est bon de Ces rgles en question ne sont pas proprement parler des directives Laconnatre.

7.1

Le problme des lettres accentues


Il y a quelques annes, lorsque TEX a t conu, les fontes utilises ne comportaient pas de lettres accentues. Chacune de ces fontes tait code laide de 7 bits par caractre, et donc contenaient quelques 128 caractres codables. Provenant des tats-Unis, ces 128 caractres ne comportaient videmment pas les caractres accentus de la langue franaise. Cest la raison pour laquelle, pendant un long moment A TEX taient contraints de saide valeureux utilisateurs francophones de TEX et de L sir leur document en fran\c{c}ais avec des caract{\e}res assez p{\e}nibles {\a} taper. Aujourdhui, ces petits dsagrments ne sont plus quun mauvais souvenir. Depuis 1990 un codage des fontes tenant compte de caractres accentus de plusieurs langues a t adopt et porte le nom de Cork encoding ou de codage T1. Le tableau 7.1(a) page suivante donne titre indicatif les caractres correspondants chaque valeur. Dans ces tableaux, les cases sont numrotes partir de 0, les valeurs augmentent de droite gauche et de haut en bas. 79

Enn, il est utile de noter que les commandes \frontmatter, \mainmatter et \backmatter ne sont pas indispensables, mais permettent automatiquement dadopter une numrotation en roman pour les pages introductives et dautres petites choses.

80

Des documents en franais

A 7.2 Rdiger un document en franais avec L TEX

81

` 0 @ P p NUL DLE SP 0 @ P p

! 1 A Q a q

" 2 B R b r ETX DC3 # 3 C S c s


# 3 C S c s EOT DC4 $ 4 D T d t


$ 4 D T d t

% 5 E U e u ENQ NAK % 5 E U e u


& 6 F V f v ACK SYN & 6 F V f v




7 G W g w BEL ETB 7 G W g w
 

( 8 H X h x

) 9 I Y i y BS CAN ( 8 H X h x

* : J Z j z HT EM ) 9 I Y i y


+ ; K [ k {

, < L \ l |

= M ] m } VT ESC + ; K [ k {

. > N ^ n ~ NP FS , < L \ l |


/ ? O _ o CR GS = M ] m } 

On peut remarquer que le codage des fontes est dirent de celui des caractres ; le tableau 7.1(b) montre le codage dit iso-latin1 qui fait maintenant oce de standard pour le codage des caractres de la plupart des langues europennes. Les packages A TEX contiennent donc une opration de traduction du codage des caractres L (par ex. iso-latin1) en codage des fontes (par ex: codage T1).

7.2

A Rdiger un document en franais avec L TEX


A Il existe deux packages L TEX permettant de franciser un document : le package french et le package babel. Pour des raisons tout fait partisanes, nous nous intresserons au deuxime. On met en branle le package babel comme suit :

\usepackage[francais]{babel} Cet ordre dans le prambule met en route cinq fonctionnalits qui sont : Csure : babel gre la csure des paragraphes en tenant compte de la langue franaise,1 et plus particulirement des mots accentus du franais ; Typographie : les rgles de typographie franaise sont appliques notamment en ce qui concerne les guillemets et les signes de ponctuation ; Mise en page : il sagit essentiellement de rintroduire lindentation du dbut de paragraphe qui suit un titre de section,2 changement du symbole et despacement pour les environnements de types listes, ... Traduction : tous les mots susceptibles dtre traduits (chapitre, table des matires, etc.) sont traduits en franais ; Macros : un ensemble de macros sont disponibles avec le package babel, ces macros permettent de saisir correctement certaines construction courante en franais, C, ... telles que no , 1er , 2o , 37

(a) Codage Cork (T1)

SOH DC1 ! 1 A Q a q

STX DC2 " 2 B R b r


NL SUB * : J Z j z a
o

SO RS . > N n


SI US / ? O _ o DEL

7.3

Le package babel et la typographie


Lensemble des rgles lies la typographie franaise dpasse largement le cadre de ce chapitre. Heureusement le package babel permet pratiquement de les utiliser sans les connatre. Il sut simplement de respecter quelques rgles de saisie A TEX pour que la composition respecte les rgles de typographie les du document L plus courantes. Ainsi, titre dexemple, si vous prenez soin de saisir un espace avant le point virgule, babel insrera un quart de cadratin inscable avant ce point virgule ; ce qui est une pratique courante en typographie franaise.

(b) Caractres iso-latin1

7.3.1 Ponctuation
Les rgles connatre pour la ponctuation peuvent se rsumer laide des deux propositions suivantes : 1. on saisit un espace avant et aprs tous les signes de ponctuation doubles, cest-dire les signes ; : ! ? et 2. on saisit un espace aprs (et pas avant) les signes de ponctuation simples, cest--dire les signes . , ( et )
1 2

Tab. 7.1 Codage des fontes T1 et codage de caractres Iso-latin1. Le tableau du bas montre un codage de caractres (incluant les lettres accentues de plusieurs langues europennes) aujourdhui trs rpandu : le codage iso-latin1.

On ne coupe pas de la mme manire les mots anglais et les mots franais. Ce qui nest pas le cas en typographie anglaise.

82

Des documents en franais

7.3 Le package babel et la typographie

83

Le respect de cette saisie permet babel dinsrer les espaces ncessaires avant et aprs les signes de ponctuation. ce sujet, il est intressant de remarquer que lespace avant les points dinterrogation et dexclamation sont des espaces nes :
fouilla ! et \selectlanguage{english} fouilla !\selectlanguage{french} fouilla ! et fouilla !
7.1

7.3.4 Recommandations dusage


Les recommandations qui suivent ne sont pas proprement parl des fonctionnalits du package babel ; ces recommandations sont des conseils que vous pourrez retrouver dans des ouvrages ayant trait la typographie : les guillemets la franaise se saisissent soit avec et si votre clavier permet de les gnrer, soit avec les signes infrieurs et suprieurs : << et >> ; Les guillemets langlaise se saisissent avec les quote et backquote : et ; dans tous les cas, utiliser " pour les guillemets nest pas recommand ; les locutions latines se saisissent a priori en italique ; on abrge : et ctera avec etc. etc. et non pas etc... Monsieur avec M.3 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 :
\nombre{12345678,23434} 12 345 678,234 34
7.3

7.3.2 L-a, e dans la, t-i, t-i, a !


Je cite Serge Gainsbourg en guise de titre de ce paragraphe sur les deux jolies ligatures de la langue franaise : et . Au sujet de la saisie de ces ligatures, on peut au choix : soit saisir \oe et \ae (\AE et \OE en masjucules) :
L\ae titia va au Sacr C\oe{}ur. Ltitia va au Sacr Cur.
7.2

lutilisation des accolades est laisse la discrtion du lecteur. Soit saisir directement sur votre clavier sil le permet. titre indicatif, AltGr+a donne le dans la sur un systme Linux digne de ce nom. Et pour une histoire complique le dans lo ne se trouvant pas dans la norme iso-latin1, mon clavier nest pas en mesure de fournir la ligature .

7.3.3 Outils du package babel


Un grand nombre de petites choses restent toujours trs oues quant la manire correcte de les typographier . Je pense toutes ces abrviations courantes telles que : Monsieur, Madame, premier, deuxime, primo, etc. Heureusement le package babel rpondent certaines de nos interrogations. 1\ier 3\ieme 37\degres{} C \primo, \secundo, \tertio, \quarto \no 4 \No 4 Lettrine n trouve dans certains documents des lettrines comme celle en dbut de ce paragraphe. Le package french de Bernard Gaulle dnit une telle commande. O Nous vous proposons dans la deuxime partie de ce document un exemple de code
A TEX permettant de gnrer une telle commande. L

1er 3e 37 C 1 o , 2o , 3o , 4o no 4 No 4

il est dusage dcrire les noms propres en petites capitales, comme ceci : John Coltrane. Ici on a utilis la commande \textsc{Coltrane} ; le package babel contient la macro \fsc : \fsc{COLTRANE}, fsc{Coltrane} et \fsc{coltrane} donnent le rsultat escompt ; on crit les sigles sans point et en lettre capitales (RATP, SNCF, ENISE). Certains sigles qui se prononcent bien peuvent mme scrire en minuscules : Assedic, Inserm, etc.

7.3.5 Le cas de leuro


Le symbole de leuro peut tre produit laide de la commande \texteuro du package textcomp. On obtient alors le caractre : ou en utilisant la fonte sans srif.

7.3.6 Au sujet des majuscules


En dehors des cas bien connus on lon doit mettre ou ne pas mettre de majuscules (il faut en mettre en dbut de phrase, ne pas en mettre pour commencer une parenthse, selon le contexte aprs 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 que dit Yves Perrousseaux dans son manuel. Il y est expliqu que les accents prsents sur les majuscules depuis le xvie sicle ont disparu
3

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 lindiqueun 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.

Et non pas Mr qui est labrviation anglaise de mister.

84

Des documents en franais

7.4 Courrier et fax


\documentclass[12pt]{lettre} \usepackage[francais]{babel} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \begin{document} \begin{letter}{% M\up{me} \textsc{Destinataire}\\ 4, rue de Square\\ 65536 Carr } \address{% M. Expditeur\\ 27, rue du cube parfait\\ 19683 Huit} \lieu{Huit sur Loire} \telephone{1234567890} \fax{0987654321} \signature{Tar \textsc{Tempion}} \conc{au sujet du bidule} \opening{Madame,} ... Le corps de la lettre ... \closing{Veuillez agrer, madame, lexpression de mes salutations distingues} \encl{Deux ou trois choses.} \end{letter} \end{document}
P.j. Deux ou trois choses.

85

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 que ce sont des organismes 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...

M. Expditeur 27, rue du cube parfait 19683 Huit Tl. 1234567890 Fax : 0987654321

Huit sur Loire, le 4 aot 2006

Mme Destinataire 4, rue de Square 65536 Carr

Objet : au sujet du bidule

Madame, ... Le corps de la lettre ...

Veuillez agrer, madame, lexpression de mes salutations distingues

Tar Tempion

Jacques Andr [1].

et Yves Perrouseaux :
Les dnominations dune dignit, dune charge, dun grade ou dune fonction sont des noms communs : ... le prsident du conseil gnral, etc. Cest un nom commun, au
mme titre que le concierge ou les femmes de mnage du conseil gnral.

Fig. 7.1 Ossature dun document bas sur la classe lettre.

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) ; Les pices jointes grce la commande \encl (de langlais enclosed )

Yves Perrouseaux [8].

7.4

Courrier et fax
A Le noyau de L TEX comprend une classe de document pour rdiger des lettres. Cependant cette classe nest pas trs souple et pas adapte au franais.4 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.
4

7.4.2 Structure dun document bas sur la classe lettre


A Nous donnons la gure 7.1 l ossature dun document L TEX bas sur la classe lettre. Les commandes \opening et \closing sont obligatoires et ont pour objet dintroduire les formules de politesse de dbut et de n de lettre, respectivement.

Apprciation personnelle sur la version 1.2z de la classe letter du 9 fvrier 1999.

86

Des documents en franais

7.4 Courrier et fax

87

7.4.3 Fichiers instituts


La classe lettre est livre avec un chier default.ins qui dnit par dfaut A ladresse de lobservatoire de Genve. Ladministrateur du systme L TEX 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,5 il est en eet pratique de passer par son propre chier plutt quau nom de son organisation ; 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 dinsrer dans le prambule du document, la commande \institut qui cherche un chier portant lextension .ins : \institut{moi}
\address{\centering Institut du pixel\\ 128 rue du niveau de gris\\ 65535 rode sur Loire} \name{Ren Kspditeur} \conc{la bazar} \opening{Cher Monsieur,}
Ren Kspditeur Saint-tienne, le 6 fvrier 2005 Objet : la bazar

\documentclass[12pt]{lettre} \usepackage[latin1]{inputenc} \usepackage[french]{babel} \usepackage[T1]{fontenc} \begin{document}

Institut du pixel 128 rue du niveau de gris 65535 rode sur Loire

FAX

TLPHONE : +33 4 77 92 30 30

FAX : +33 4 77 92 30 39

\begin{telefax}{01234567}{% numro de fax M. le destinataire\\ 33 rue du fax\\ 98000 CCIT groupe 3}

M. le destinataire 33 rue du fax 98000 CCIT groupe 3 Ren Kspditeur

Fax : 01234567

De :

Nombre de pages :

7.4.4 Fax

La classe lettre contient galement un environnement pour prparer un fax avec un entte correspondant votre organisation. Le principe gnral et les mots clefs sont les mmes lexception quil faut utiliser lenvironnement telefax en lieu et place de lenvironnement letter. Notez quon peut ici aussi utiliser les chier 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{ n }. La gure 7.2 page ci-contre montre le document minimal pour crer un fax.

Cher Monsieur, ... patila patala bientt.

... patila patala \closing{ bientt.} \end{telefax} \end{document}

Fig. 7.2 Ossature dun document fax

5 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.

8
Sommaire 8.1 8.2 8.3 Livres et autres manuels Local 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.

E S 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.

A il est vrai que L T X permet de faire peu prs tout ce que lon veut, il est

8.1

Livres et autres manuels


A La documentation standard concernant TEX et L TEX est constitue des ouvrages suivants : A TEX a document preparation system de L. Lamport ; L A The L TEX companion [3] de M. Goossens, F. Mittelbach et A. Samarin A TEX Graphics Companion [2] des mmes auteurs ; The L The TEXbook [6] de Knuth ; A La FAQ franaise de L TEX disponible lurl suivante : http://www.grappa.univ-lille3.fr/FAQ-LaTeX. On y trouve aujourdhui autour de 70 questions rpondant essentiellement des problmes classiques de mise en page. Ce document est actuellement maintenu par B. Bayard A TEX navigator (cf. plus bas) traitant Les documents en ligne rfrencs par le L A de L TEX 2 en franais, sont les suivants : Apprends LaTeX ! de M. Baudoin ; A TEX 2 de B. Bayart Joli manuel pour L A Aide mmoire pour L TEX de C. Willems et F. Geraerds ; A TEX crit par F. Ge Guide dintroduction franais au traitement de texte L raerds ; A Une courte (?) introduction a L TEX 2 de T. Oetiker, H. Partl, I. Hyna, E. Schlegl, traduit de lallemand. Ces documents sont disponibles au format dvi et/ou PostScript et parfois pdf.

89

90

vous de jouer !

8.3 EffTp, Oube et niouses

91

8.2

Local
Avant de vous jeter sur ce pauvre rseau international, sachez que si vous avez la chance dutiliser la distribution teTEX, vous trouverez sous larborescence TEX (/usr/share/texmf/doc1 ), un rpertoire doc contenant un certain nombre de documentations intressantes : latex : la doc de toutes les extensions installes au format dvi ; fonts : des docs sur les fontes disponibles ; ... Dautre part, vous trouverez dans le menu daide dEmacs un guide de rfrence au format info trs pratique ; avec notamment la syntaxe de toutes les commandes A et environnements standard de L TEX. Enn, nhsitez pas utiliser les commandes de recherches de chiers disponibles sur votre systme pour essayer de trouver des informations sur un package ou une fonte partir de son nom.

8.3.3 Les newsgroups


A Il existent deux groupes de discussion sur TEX et L TEX : comp.text.tex environ 150 messages par jour ! Mais on peut y apprendre des choses, et fr.comp.text.tex beaucoup moins de transit et en franais. Ces groupes de discussion constituent une source dinformation extraordinaire si on veut bien faire leort de trier un peu les messages parfois un peu trop nombreux. Vous pouvez en dernier recours c.--d., aprs vous tre documentposer une question sur le groupe. Si vous tes clair et concis, la rponse ne se fait en gnral gure attendre.

vous de jouer !

8.3

EffTp, Oube et niouses


Comme pour la plupart des logiciels gratuits, on trouve une foultitude dinformations sur internet.

8.3.1 Sites FTP


Il a t cr une archive standard pour TEX et Cie portant le doux nom de CTAN pour Comprehensive TeX Archive Network. Cette archive est copie sur plusieurs sites franais, donc inutile daller encombrer les quelques lignes qui traversent locan, vous trouverez votre bonheur dans : ftp://ftp.lip6.fr/pub/TeX/CTAN ma connaissance un serveur franais trs complet, avec des mirroirs de beaucoup de sites. ftp://ftp.loria.fr/pub/tex/ctan, ici il ny a jamais grand monde. Larborescence du CTAN est la mme quel que soit le site, et on notera entre autres : A TEX et ses extensions, macros/latex la racine de L graphics la racine de ce qui touche de prs ou de loin au graphisme, A support les logiciels qui tournent autour de L TEX : correcteurs orthographiques, convertisseurs, diteurs,... ...

8.3.2 Sites Web


Encore une fois, ne cherchez pas plus loin : http://tex.loria.fr un serveur trs bien fait, avec de trs nombreux pointeurs. Une rfrence ! On pourra galement se rfrer au site : http://www.latex-project.org
A pour avoir des infos sur les modications du format L TEX 2 et de lavancement du A TEX3. projet L
1

Ou quelque chose dapprochant suivant linstallation eectue.

II
Tout ce que vous avez toujours voulu savoir sur (Tout ce que vous avez toujours voulu savoir A sur L TEX sans jamais oser le demander) sans jamais oser le demander

Introduction
Que tes pieds sont beaux dans ta chaussure, lle 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. 2 Le Cantique des cantiques Ct 7 2.

ce que vous avez toujours voulu savoir sur L TEX sans jamais oser le demander) C sans jamais oser le demander . Elle a pour but dexpliquer comment les chapitres ette partie sintitule Tout ce que vous avez toujours voulu savoir sur (Tout
A

prcdents ont t produits, et donc prsente les direntes commandes et environnement qui ont t dnis pour gnrer le manuel que vous avez sous les yeux. Mais son objectif est plus large puisque nous esprons fournir ici au courageux lecteur, une base solide pour la cration de ses propres styles... Lide a germ dans mon esprit dcrire les chapitres suivants aprs avoir eu plusieurs questions de lecteurs me demandant sils pouvaient rutiliser tels ou tels aspects du style de ce document. Le chantier que reprsente la rdaction des pages qui suivent a t pour moi A TEX qui ne font titanesque dans la mesure o jai d prsenter des aspects de L plus partie des connaissances de base et qui sont donc ce titre plus diciles expliquer.3 Enn, 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 simplement 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 A TEX, de montrer comment on peut laide de quelques des pistes dexploration de L 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 mon avis de dcouvrir les A grands classiques des fonctionnalits internes de L TEX .
A Jai tent, autant que possible, de prsenter des commandes nutilisant que L TEX. 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 structures des A chiers dune distribution L TEX, des ides pour changer les fontes dun document, et un prsentation dtaille de la cration de nouveaux environnements bass sur les listes ;
2 Les pigraphes de cette partie sont toutes tires du Cantiques des cantiques et nont jamais de lien avec le titre du chapitre. 3 Dautant plus, je lcris en petit, que je ne les matrise pas du tout.

95

96 Cosmtique qui prsente les outils qui ont t mis en uvre pour changer lallure des titres, des enttes et pieds de page, des 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 glossaire, 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 comprends pas. Certaines solutions apportes aux problmes ne sont que partielles. Enn, certaines choses restent mystrieuses pour votre serviteur, dans ces situations, un panneau dos dne est insr dans le paragraphe.

9
Sommaire 9.1 9.2 9.3 9.4 9.5 Hercule Poirot Outils de bas niveaux Structures de contrle et tests Fontes Listes et nouveaux environnements

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.

ce chapitre nous prsentons les outils prrequis permettant de crer des Dans commandes et des environnements plus complexes que ceux exposs au cha-

pitre 4. Nous protons dailleurs de cette introduction pour dire que le chapitre 4 auquel nous faisons rfrence ici doit tre correctement digr pour commencer la lecture de cette partie. Quelques mcanismes autour des fontes sont galement prA TEX. sents ainsi que quelques pistes pour fouiller dans les sources de L

9.1

Hercule Poirot
A Tout dabord, pour personnaliser un document crit avec L TEX, il est ncessaire de connatre la manire dont sont organiss les chiers qui composent la distribuA tion du systme TEX/L TEX que vous utilisez. Votre serviteur utilise la distribution teTEX pour Unix (http://www.tetex.org). Dans cette distribution on pourra dans un premier temps compulser les documentations des packages se trouvant dans le rpertoire :

9.1.1 Fouiller dans les chiers

/usr/share/texmf/doc/latex/ Ce rpertoire contient dautres sous-rpertoires, gnralement un par package, et donc la documentation est sous la forme dun chier dvi ou PostScript. Dans certaines situations, il est ncessaire daller scruter le source des packages. Dans la distribution teTEX ces sources se trouvent dans : /usr/share/texmf/tex/latex et l aussi, on trouvera gnralement un rpertoire par package, contenant les sources dans un chier au format texte, portant lextension .sty et ventuellement des 97

98

Outillage ncessaire

9.2 Outils de bas niveaux *\show\hbox > \hbox=\hbox. <*> \show\hbox cest une primitive

99

A chiers connexes. Enn, pour comprendre le comportement par dfaut de L TEX, indpendamment des packages que lon peut inclure, on pourra avoir recours au A source de L TEX dans :

/usr/share/texmf/tex/latex/base/latex.ltx et aux sources des classes de documents dans : /usr/share/texmf/tex/latex/base/book.cls pour la classe book.

On constate ici qu que \hbox nest pas dnie partir dune autre commande. Il sagit donc de ce TEX appelle une primitive. Lexploration peut tre poursuivie : *\show\leavevmode > \leavevmode=macro: ->\unhbox \voidb@x . <*> \show\leavevmode et ainsi de suite...

dnition de \leavevmode

9.1.2 Examiner les macros


Un moyen pratique de trouver la dnition dune commande consiste le demanA der L TEX lors dune session interactive. On lance directement dans un terminal de commande du systme dexploitation : latex Mon systme me rpond froidement : This is e-TeXk, Version 3.14159-2.1 (Web2C 7.4.5) %&-line parsing enabled. ** linvite de ce prompt spartiate (**) qui est le cri du TEX tout nu , je rponds A bravement &latex pour demander charger le format L TEX. La rponse ne tarde pas : **&latex entering extended mode LaTeX2e <2001/06/01> Babel <v3.7h> and hyphenation patterns for american, french loaded. * Notez que le prompt a perdu une toile. partir de maintenant on peut crire un A TEX interactivement. Ce qui a certes peu dintrt dans labsolu, mais document L peut savrer trs utile pour obtenir la dnition dune commande avec la syntaxe. On pourra par exemple taper : *\show commande pour avoir la dnition de commande . Par exemple : *\show\mbox > \mbox=\long macro: #1->\leavevmode \hbox {#1}. <*> \show\mbox

9.2

Outils de bas niveaux


A Vous avez peut-tre dj remarqu que le code L TEX contient parfois des caractres % en n de ligne. La prsence de ces % sexplique par le fait quun saut de ligne dans le code insre un espace dans le texte. Ainsi la commande :

9.2.1 Pour qui sont ces pourcents ?

\newcommand{\beurk}{bidule} peut scrire pour des raisons de lisibilit :


\newcommand{\beurk}{ bidule } ==(\beurk)==

On constate donc quil y a deux espaces non dsirs autour du mot bidule . On peut viter cela en crivant :
\newcommand{\ahhh}{% bidule% } ==(\ahhh)==

9.1 9.2

==( bidule )==

==(bidule)==

Il existe une autre situation o les espaces peuvent simmiscer pernicieusement dans le texte. Dnissons un environnement : \newenvironment{hyperimportant}{% \bfseries\itshape}{% \upshape\mdseries}
Il est impratif \begin{hyperimportant} de multiplier les sauvegardes \end{hyperimportant} de vos documents personnels

cest la dnition

nous montre la dnition de la commande \mbox. On remarque que cette commande lorsquelle est appele, se transforme en un appel \leavevmode et \hbox. Notre esprit de curiosit nous pousse donc crire :

Si vous regardez attentivement le texte produit, vous noterez quil y a deux espaces de chaque ct de la squence mise en italique gras de ... sauvegardes :

9.3

Il est impratif de multiplier les sauvegardes de vos documents personnels

100

Outillage ncessaire

9.2 Outils de bas niveaux


\newcommand{\truc}{ }\newcommand{\bidule}{ } a\truc\bidule b\par a\truc\bidule\unskip b a b ab
9.7

101

deux espaces avant de introduits par le saut de ligne la n de est impratif et celui la n de \begin{hyperimportant} ; deux espaces aprs sauvegardes induits par le saut ligne la n de sauvegardes et par celui la n de \end{hyperimportant}. La preuve, si on supprime ces sauts de ligne :
Il est impratif\begin{hyperimportant} de multiplier les sauvegardes\end{hyperimportant} de vos documents personnels Il est impratif de multiplier les sauvegardes de vos documents personnels

Finalement la dnition correcte de notre environnement est la suivante : \newenvironment{hyperimportant}{% \bfseries\itshape\ignorespaces}{\unskip\upshape\mdseries} qui devrait supprimer tous les espaces indsirables :
Il est impratif \begin{hyperimportant} de multiplier les sauvegardes \end{hyperimportant} de vos documents personnels.

Pour viter davoir se soucier de ce genre de problme on a gnralement recours deux commandes permettant de supprimer ces espaces doubles. Pour les liminer avant la squence on fait appel \ignorespaces et pour ceux situs aprs, la commande \unskip. La commande \ignorespaces Cette commande procde lexpansion des commandes qui suivent en ignorant tous les espaces qui la suivent :
\newcommand{\truc}{ }\newcommand{\bidule}{ } a\truc\bidule b\par a\ignorespaces\truc\bidule b a b ab
9.5

9.4

9.2.2 Le caractre @
Lorsque vous vous lancerez dans lexploration des sources des packages vous remarquerez que le nom dune grande partie des commandes qui y sont dnies contient le caractre @. Or dans un document .tex, il nest pas autoris dexcuter une commande dont le nom contient ce dernier. Ceci permet protger ou de limiter la porte des commandes des packages. Par exemple la commande \cb@defpoint, dnie dans le package changebar, ne peut pas tre appele par un utilisateur du package. De manire pouvoir rednir ces commandes internes, il est ncessaire deectuer la petite manipulation suivante : \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 la commande \makeatletter qui transforme le caractre @ en une autre lettre comme les autres, tandis que \makeatother lui raecte sa fonction spciale.

Dans lexemple ci-dessus, les commandes \truc et \bidule ont pour seul but de produire un espace lorsquelles seront appeles. Par consquent, la ligne : a\truc\bidule b produira a{}b cest--dire les deux lettres a et b spares par deux espaces. Lappel avec la commande \ignorespaces ignorecomme son nom lindiqueles deux espaces produits par les commandes \truc et \bidule. On peut donc utiliser cette commande dans notre exemple prcdent :

\newenvironment{hyperimportant}{% \bfseries\itshape\ignorespaces}{\upshape\mdseries} qui devrait supprimer un espace :


Il est impratif \begin{hyperimportant} de multiplier les sauvegardes \end{hyperimportant} de vos document personnels.

9.8

Il est impratif de multiplier les sauvegardes de vos documents personnels.

9.6

Il est impratif de multiplier les sauvegardes de vos document personnels.

Cette manipulation nest pas ncessaire dans les chiers de styles inclus avec la commande \usepackage pour lesquels la lettre @ peut tre utilis comme un caractre.

La manire dont TEX peut changer la catgorie des caractres est explique au chapitre suivant au paragraphe 10.5.1 page 131.

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 :

9.2.3 Le \let de TEX


A Il est parfois utile de modier une commande interne de L TEX de manire ajouter quelque chose son comportement par dfaut. Par exemple pour modier la commande interne \bidule,1 on peut procder comme suit :
1 Oui oui a nest pas une commande interne, mais un exemple idiot de nom de commande qui nexiste pas...

102

Outillage ncessaire

9.3 Structures de contrle et tests \ifthenelse{\boolean{ id boolen }} { code LaTeX si id boolen vaut vrai } { code LaTeX sil vaut faux

103

1. on sauvegarde la commande grce linstruction \let de TEX : \let\biduleORIG\bidule 2. on rednit la commande \bidule en se basant sur la dnition intiale : \renewcommand{\bidule}{quelque chose en plus\biduleORIG} 3. on peut mme si ncessaire revenir la dnition initiale grce : \let\bidule\biduleORIG

Il est bon de connatre la version TEX de ce qui prcde. On trouve en eet dans les A TEX du code crit en TEX, et en particulier lutilisation de la structure packages L de contrle Si Alors Sinon . Voici un exemple pour dnir un nouveau boolen avec monsieur TEX : \newif\ifimprimantecouleur On le positionne faux avec : \imprimantecouleurfalse et vrai avec : \imprimantecouleurfalse On peut ensuite exploiter ce boolen dans une structure Si Alors Sinon la mode TEX comme suit : \ifimprimantecouleur ... % code si on a une imprimante couleur \else ... % code si c est une imprimante noir et blanc \fi

9.3

Structures de contrle et tests


Les structures introduites par le package ifthen suivent la syntaxe : \ifthenelse{ expression boolenne } { ... code LaTeX si vrai ... } { ... code LaTeX si faux ... } et : \whiledo{ expression boolenne } { ... code LaTeX tant que cest vrai ... } L expression boolenne peut tre constitue selon le contexte de direntes commandes du package ifthen, et parmi elles : lexpression nombre1 > nombre2 , lexpression nombre1 < nombre2 ou lexpression nombre1 = nombre2 permettant de comparer les deux valeurs numriques nombre1 et nombre2 ; \equal{ C1 }{ C2 } qui renvoie vrai ou faux selon que la chane de caractre C1 est gale la chane C2 ; \isodd{ nombre } qui renvoie vrai si le nombre est impair, faux sinon ; \value{ compteur } qui renvoie la valeur dun compteur sous la forme dun nombre exploitable dans les conditions boolennes ; \lengthtest{ test longueur } qui renvoie lvaluation de test longueur , test A contenant les oprateurs <, > ou = et des longueurs L TEX comme oprandes. On notera galement quon pourra utiliser les connecteurs logiques \OR, \AND et \NOT qui jouent le rle quon attend deux dans une expression boolenne. On peut grouper des expressions avec les oprateurs \( et \).

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 10 comme suit : \begin{displaymath} 10!=\itfactorielle{10} \end{displaymath} On peut exprimer la factorielle de 10 comme suit :
9.9

10! = 10 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 largument dans un compteur \whiledo{\value{cptfact}>1}{% tant quil est > 1 \thecptfact\times% on lache avec un \addtocounter{cptfact}{-1}}% on dcrmente le compteur 1}% on ache 1 la n Il faudra bien sr dclarer le compteur : \newcounter{cptfact} On notera que dans la condition boolenne de la boucle TantQue , on fait appel la commande \value pour comparer la valeur du compteur avec la valeur 1. Un peu plus tordu : on peut implmenter cette commande de manire rcursive :
2

9.3.1 Boolens et oprateurs associs


Le package ifthen propose ses vaillants utilisateurs la possibilit de manipuler des boolens. On peut en dclarer un avec la commande \newboolean : \newboolean{ id boolen } qui dnit une variable boolenne identie par id boolen . On pourra ensuite lui aecter la valeur true ou false avec la commande \setboolean : \setboolean{ id boolen }{ valeur }
9.3 p. 102

Et bien sr on pourra utiliser le boolen ainsi cr avec les structures de contrle , par exemple comme ceci :

Y en a qui nont pas grand chose faire de leur journe...

104

Outillage ncessaire

9.4 Fontes \whiledo{\value{clig}<\value{cligmax}}{% \setcounter{ccol}{0}% remise zro du compteur de colonne % et pour chaque colonne : \whiledo{\value{ccol}<\value{ccolmax}}{% % on calcule le numro du symbole \setcounter{csym}{% \value{clig}*\value{ccolmax}+\value{ccol}+#1} % si sa valeur est infrieure 256 \ifthenelse{\value{csym}<256}{% \affsymb{#2}{\thecsym}}{% on lache \mbox{}}% sinon on cr un bote vide \stepcounter{ccol}}% on passe la colonne suivante \stepcounter{clig}% on passe la ligne suivante % on saute une ligne , sauf la n \ifthenelse{\value{clig}<\value{cligmax}}{\\}{}}} Il faudra bien sr dclarer les cinq compteurs avec la commande \newcounter.

105

\newcommand{\recfactorielle}[1]{% version rcursive : \setcounter{cptfact}{#1}% on aecte largument au compteur \ifthenelse{#1>1}{% si cette valeur est suprieure 1 \thecptfact\times% on lache suivie de \addtocounter{cptfact}{-1}% on dcrmente le compteur \recfactorielle{\thecptfact}}% on fait un appel rcursif {1}}% sinon (valeur=1) on ache 1 Cette commande produit videmment le mme rsultat que la prcdente. On notera que dans la condition du \ifthenelse on compare un nombre (#1) avec un autre (1). Enn on pourra remarquer que la prsence de la commande \times impose le mode mathmatique pour excuter ces commandes. On peut contourner le problme, si ncessaire, avec la commande \ensuremath. Le \whiledo et le \ifthenelse ont t utiliss dans le document que vous avez sous les yeux pour gnrer les tableaux de symboles la page 195 et 196, ainsi que les tableaux sur le codage la page 80 du chapitre sur les documents en francais. Nous avons tout dabord cr une commande permettant dacher un symbole :
9.10

4.5.1 p. 58

\affsymb{pzd}{249} \affsymb{pzd}{75} \affsymb{pzd}{221} \affsymb{pzd}{88}

249

&
75

221

3
88

Cette commande est la suivante : \newcommand{\affsymb}[2]{% \framebox{% un cadre \parbox[][16pt][b]{1em}{% autour dune boite paragraphe \centering% de 16 pt de hauteur, 1em de large , \Pisymbol{#1}{#2}\\ % dont le contenu centr \tiny#2}}}% est compos du symbole et de son numro
C p. 187

Et je sais que vous tes tout particulirement curieux de voir ce que fait cette commande lorsque le compteur dpasse les bornes : \begin{center} \symboles[240]{psy}{3}{6} \end{center}

Et je sais que vous tes tout particulirement curieux de voir ce que fait cette commande lorsque le compteur dpasse les bornes :
240 9.12 241

242

243

244

245

246

247

248 253

249

250

251

252

254

255

Largument #1 est le nom de la police (pzd ou psy), et largument #2 est le numro de symbole . Sinon, rien de particulier dans cette commande, si vous avez suivi jusquici (notamment en lisant le chapitre 4 et plus particulirement le paragraphe 4.4 page 51)... Nous avons ensuite dni une commande permettant dacher un srie de symboles :
Voici les symboles Zapf Dingbats, partir du No 40, sur 3 lignes et 6 colonnes : v
40 9.11

9.4

Fontes
Pour conserver une homognit dans lallure des caractres dans un document A L TEX, sont dnies trois familles : 1. la famille roman celle que vous tes en train de lire ; 2. la famille sans srif que vous tes galement en train de lire linstant mme ; 3. et la famille machine crire, galement appelle typewriter lorsquon est anglophone, quecela ne vous aura sans doute pas chappvous tes en train de lire. Il est important de noter que ces trois familles de fontes sont par dfaut trois familles de la police baptise par son auteur (Knuth lui-mme) Computer Modern . Elles sont conues pour sharmoniser au sein dun mme document. Dans cet ordre dide, il faudra toujours veiller ce que ces trois familles (roman, sans srif, et machine A TEX crire) soient visuellement compatibles entre elles. Les distributions de L proposent gnralement des packages permettant dutiliser les fontes PostScript dans un document, avec notamment le clbre3 package times utilisant : 1. Times pour la famille roman celle que vous tes en train de lire ;
3

9.4.1 Le jeu des trois familles

9
Voici les symboles Zapf Dingbats, partir du \No 40, sur 3 lignes et 6 colonnes : \begin{center} \symboles[40]{pzd}{3}{6} \end{center}

u
41


42


43


44


45


46


47

i
48


49


50


51


52


53


54


55


56


57

Voici le code de la commande \symboles : \newcommand{\symboles}[4][0]{% \setcounter{clig}{0}% Mise zro des compteurs de ligne \setcounter{ccol}{0}% et de colonne \setcounter{cligmax}{#3}% arguments 3 et 4 pour xer \setcounter{ccolmax}{#4}% le nombre max de colonnes et de lignes % Pour chaque ligne :

Mais obsolte. Aujourdhui il est conseill dutiliser le package mathptmx

106

Outillage ncessaire

9.4 Fontes Computer Modern typewriter (cmtt) machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose Codage T1 normal italique pench petites capitales Codage T1 n normal

107

2. Helvetica pour la famille sans srif que vous tes galement en train de lire linstant mme ; 3. Courrier pour la famille machine crire. De mme le package newcent utilise : 1. NewCentury pour la famille roman celle que vous tes en train de lire ; 2. AvantGarde pour la famille sans srif que vous tes galement en train de lire linstant mme ; 3. Courrier pour la famille machine crire.

m m m m

n it sl sc

Computer Modern bonacci (cmb) machin Bidule Chouette chose Computer Modern funny roman (cmfr) machin Bidule Chouette chose machin Bidule Chouette chose Computer Modern dunhil (cmdh) machin Bidule Chouette chose Fontes en bton

9.4.2 Dsignation des fontes et de leurs attributs


A Une fonte4 ou police de caractres est dnie dans L TEX par plusieurs caractristiques dont il a t question au paragraphe 2.1 page 13. De manire dsigner la fonte laide des commandes que nous allons dcouvrir dans ce paragraphe, on utilisera : un codage qui sera quelques exceptions prs le codage T1 ; une srie de caractres identiant la famille : cmr pour computer modern roman , ptm pour PostScript times , etc. une srie de caractres dsignant la graisse de la fonte, m pour mdium , b pour bold (gras), bx pour bold extended (gras tendu, cest--dire gras avec des caractres plus large), etc. une srie de caractres dnissant lallure (shape en anglais) de la fonte : n pour normal , it pour italique , sl pour slanted (pench), etc.

m m

Codage T1 n normal it italique

Codage T1 n normal

Elles ont t dessines par Knuth pour son ouvrage intitul Mathmatiques concrtes . Le package beton5 permet de les charger dans un document. Concrete fonts (ccr) machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose Fontes gothiques `
     

Fontes computer modern Il sagit dun ensemble de fontes dessines par Donald Knuth. et utilises par A TEX. Les commandes \emph, \textbf, etc. slectionnent donc autodfaut dans L matiquement ces polices. Computer Modern roman (cmr) machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose Computer Modern sans srif (cmss) machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose
4

m m m m

n sc sl it

Codage T1 normal petites capitales pench italique

m m m m bx bx bx b

n it sl sc n it sl n

Codage T1 normal italique pench petites capitales gras tendu normal gras tendu italique gras tendu pench gras normal

    

      

  

 

 



  







  

Gothique (ygoth)
& #% $ "# )' ( +* -" ). ) ,, ! ')

Codage U m n Codage U m n Codage U m n

m m bx sbc

n sl n n

Codage T1 normal pench gras tendu normal semi gras condens normal
5

Fraktur (yfrak)
; :9 3 21 65 87 8= /0 6 8 ; <<8 1 42

Schwabacher (yswab)
> ?  @   >

Terme faisant rfrence au plomb de limprimerie...

Notez ici le jeu de mots dsopilant, concrete veut aussi dire bton en langue anglaise.







108 Fontes PostScript

Outillage ncessaire

9.4 Fontes Avantgarde (pag) machin Bidule Chouette chose machin Bidule Chouette chose MACHIN B IDULE C HOUETTE CHOSE machin Bidule Chouette chose Courier (pcr) machin Bidule Chouette chose machin Bidule Chouette chose M A C H I N BI D U L E CH O U E T T E C H O S E machin Bidule Chouette chose Zapf Chancery (pzc)
machin Bidule Chouette chose

109 Codage T1 normal pench petites capitales gras Codage T1 normal pench petites capitales gras

Les fontes ci-dessous sont gnralement disponibles gratuitement et rsident la plupart du temps dans les imprimantes. 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 New century (pnc) machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose MACHIN B IDULE C HOUETTE CHOSE machin Bidule Chouette chose Bookman (pbk) machin Bidule Chouette chose machin Bidule Chouette chose machin Bidule Chouette chose MACHIN B IDULE C HOUETTE CHOSE machin Bidule Chouette chose Helvetica (phv) machin Bidule Chouette chose machin Bidule Chouette chose MACHIN B IDULE C HOUETTE CHOSE machin Bidule Chouette chose machin Bidule Chouette chose m m m m b m m m m b m m m m b m m m m b m m m m b m m m b bc n it sl sc n Codage T1 normal italique pench petites capitales gras Codage T1 normal italique pench petites capitales gras

m m m b

n sl sc n

m m m b

n sl sc n

n it sl sc n

Codage T1 n normal

9.4.3 Changer de fontes


Globalement On peut changer de police de caractres en utilisant des packages plus ou moins A TEX : standard de la distrubtion L mathptmx : pour utiliser le vilain Times New Roman ; newcent ... : pour le New Century ; : et dautres, navez qu fouiller votre distribution... mathpazo : pour le Palatino ; Si lon examine le contenu du chier newcent.sty on trouve simplement : \renewcommand{\rmdefault}{pnc} \renewcommand{\sfdefault}{pag} \renewcommand{\ttdefault}{pcr} ce qui signie quecomme expliqu au 9.4.1 page 105on a redni les trois familles roman , sans srif et machine crire en les nommant par leur A TEX standardis : pcn pour PostScript NewCentruy, pag pour PostScript nom L AvantGarde etc. Les noms standardiss sont donns dans les tableaux de la section prcdente. Localement Il est toujours possible de changer localement de fonte dans un texte en spciant les paramtres ncessaires :
{\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+ On passe en Funny Roman et mme quon peut faire de litalique... cest dingue ! Et hop nous voila de nouveau en \rmdefault

Codage T1 n normal it italique sl pench sc petites capitales n gras Codage T1 n normal it italique sl pench sc petites capitales n gras n it sl sc n n sl sc n n Codage T1 normal italique pench petites capitales gras

Codage T1 normal pench petites capitales gras gras condens

Les appels quil est possible de faire avant la commande \selectfont sont :

9.13

110

Outillage ncessaire

9.5 Listes et nouveaux environnements

111

\fontencoding pour le codage ; \fontfamily avec comme argument la famille (cmr pour Computer Modern, ptm pour PostScript Times, etc.) ; \fontseries pour prciser la graisse (argument b pour gras, m pour la graisse moyenne, etc. ) ; \fontshape pour lallure de la fonte (argument n pour normal, sl pour pench, etc.) ; \fontsize avec deux arguments : la taille des caractres et lespace entre deux lignes conscutives. Voici un autre exemple :
{\fontfamily{ppl}\fontseries{b}% \fontsize{2cm}{2.5cm}\selectfont gros !} Et nous voila de nouveau en \verb+\rmdefault+

la production de ltiquette : cest--dire la manire dont on va eectivement produire le titre de chaque entre de la liste. La liste suivante tente dillustrer les direntes dimensions que lon peut modier pour dnir sa propre liste : Horizontales:
(3) (4)

la dimension \itemindent (1) permet dintroduire une indentation pour le premier paragraphe dune entre de liste. la marge de gauche peut tre est dnie par la dimension \leftmargin (4) et celle de droite par \righmargin ;
(1) (2)

gros !
Avant

tiquette:
(3)

Et nous voila de nouveau en \rmdefault

la dimension \labelsep (2) dtermine la dimension sparant ltiquette du dbut du paragraphe. La dimension (3) \labelwidth dnit quant elle la largeur de la bote contenant ltiquette. (5) Si on commence un nouveau paragraphe dans une entre de liste, ce paragraphe est indent de \listparindent (5) qui vaut 0 point par dfaut.

Finalement pour utiliser plusieurs endroits dans un document, une fonte dont tous les attributs sont xes, on pourra avoir recours la commande \DeclareFixedFont prenant six arguments (nom, codage, famille, graisse, allure, taille) et permettant dtre ensuite utilis comme une dclaration :
\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.

9.14

Remarque assez importante: (2) si la largeur du texte de ltiquette est infrieure \labelwidth alors ce texte est insr dans une bote de largeur \labelwidth. Dans le cas contraire, comme ici, le texte de ltiquette sera insr dans une bote de la largeur ncessaire et le paragraphe sera indent en consquence.
La commande \makelabel prenant un argument, permet de produire ltiquette. Ainsi lorsquon entre la commande \item[ texte tiquette ], il est fait appel la commande \makelabel{ texte tiquette }.

9.15

bon b l moins davoir une bonne loupe vous ne serez pas capable de lire ce texte

aprs.

9.5

Listes et nouveaux environnements


plusieurs reprises dans ce document, nous avons eu recours lenvironnement list permettant de crer des environnements bass sur le principe des listes (numrots, de descriptions, etc.). Nous donnons ici les bases ncessaires pour pouvoir utiliser cet environnement en sappuyant sur des exemples.

9.5.2 Rglage de ltiquette


Pour comprendre le fonctionnement de lenvironnement list et plus particulirement le principe du positionnement relatif de ltiquette et du paragraphe adjacent, on peut imaginer que les lments sont positionns dans lordre suivant : 1. le paragraphe est dabord positionn par rapport la marge de gauche laide de la longueur \leftmargin ; 2. la premire ligne du paragraphe est ensuite indent laide de la longueur \itemindent ; 3. puis ltiquette est positionne relativement au dbut du paragraphe ainsi indent laide de la longueur \labelsep. Il dcoule de ceci que lentre de liste (ou tiquette) peut tre produite dans la marge de gauche... La gure 9.1 page suivante illustre le positionnement de lentre de liste par rapport au paragraphe dans les deux situations suivantes : cas de la gure 9.1(a) o la largeur de lentre de liste est infrieure la dimension \labelwidth. Dans ce cas lentre de liste est positionne une distance de \labelsep du paragraphe, lui mme tant indent de \itemindent et positionn par rapport la marge gauche laide de \leftmargin ; cas de la gure 9.1(b) : la largeur de lentre de liste est suprieure la dimension \labelwidth. Dans ce cas lentre de liste est toujours positionne la distance \labelsep du paragraphe, mais celui-ci est indent dune valeur suprieure \itemindent.

9.5.1 Principe
Pour dnir un environnement bas sur les listes, on utilisera la syntaxe suivante : \newenvironment{maliste}% {\begin{list}% { ... code pour litem par dfaut ... } { ... caractristiques de la liste ... } }% {\end{list}} Lenvironnement list prend donc deux arguments. Le premier permet de dnir lallure de ltiquette (ou item) par dfaut. Le second permet de dnir la liste elle-mme et en particulier : Sa gomtrie : les marges, les espaces entre les paragraphes composant la liste, les espaces entre la liste et lenvironnement dans lequel elle est insre, etc.

112

Outillage ncessaire

9.5 Listes et nouveaux environnements \newenvironment{listebasique} {\begin{list}{}{}} {\end{list}}

113

labelwidth

labelsep
2

labelwidth itemindent
1

labelsep

On aura :
Avant avant avant avant avant avant avant avant \begin{listebasique} \item[X] o o o o o o o o o o o o o o o o u u u u u u u u u u \item[Machin] v v v v \end{listebasique} Aprs aprs aprs aprs aprs aprs aprs aprs avant avant avant avant avant avant o o o o o o o o o o o o o o o o o o o o u u u u u u u u u u v v v v v v v v v v aprs aprs aprs aprs aprs aprs Avant avant avant avant avant avant avant avant avant avant avant avant avant avant X oooooooooooooooooooooo oooooooooooooo uuuuuuuuuuuuuuuuuuuu
9.16

leftmargin

Paragraphe rightmargin

itemindent leftmargin Paragraphe rightmargin

(a) Cas standard

(b) Largeur suprieure \labelwidth

Fig. 9.1 Positionnement de lentre de liste

Machin v v v v v v v v v v v v v v Aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs

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.

avec des tiquettes, et sans tiquette :


Avant avant avant avant avant avant avant avant \begin{listebasique} \item[] e e e e e e e e e e e e e e e e e \end{listebasique} Aprs aprs aprs aprs aprs aprs aprs aprs avant avant avant avant avant avant e e e e e e e e e e e e e e e e e e e e
9.17

Avant avant avant avant avant avant avant avant avant avant avant avant avant avant eeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeee Aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs

9.5.4 Valeurs par dfaut


Tous les paramtres de lenvironnement list ont des valeurs par dfaut. Les longueurs pour les rglages horizontaux sont par dfaut les suivantes sur le systme de votre serviteur : dimension \itemindent \listparindent \rightmargin \leftmargin \labelwidth \labelsep Et pour les rglages verticaux : dimension \itemsep \parsep \topsep \partopsep valeur par dfaut 4.0pt plus 2.0pt minus 1.0pt 4.0pt plus 2.0pt minus 1.0pt 8.0pt plus 2.0pt minus 4.0pt 2.0pt plus 1.0pt minus 1.0pt valeur par dfaut 0pt 0pt 0pt 25pt 20pt 5pt

aprs aprs aprs aprs aprs aprs

9.5.5 Exemples
A La liste dcrivant les chiers auxiliaires de L TEX situe la page 182 a t produite avec le code suivant :

\begin{ficaux} \item[tex] fichier source \LaTeX{} ; blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla \item[aux] fichier auxiliaire ... \item[log] le fichier de trace ... \item[dvi] fichier \emph{device independant},... \end{ficaux}

tex

AT X ; blabla blabla blachier source L E bla blabla blabla blabla blabla blabla blabla blabla blabla

aux
9.18

chier auxiliaire ... le chier de trace ... chier device independant,...

log dvi

Lenvironnement ficaux a lui t conu comme suit : \newenvironment{ficaux}{% \begin{list}{}{% \setlength{\labelwidth}{1cm}% largeur de la bote englobant le label \setlength{\labelsep}{8pt}% espace entre paragraphe et l tiquette \setlength{\leftmargin}{\labelwidth+\labelsep}% marge de gauche \renewcommand{\makelabel}[1]{% production de ltiquette : \framebox[\labelwidth]{\texttt{##1}}}}}{\end{list}}

La commande \makelabel est quant elle dnie par : \hfil #1 par consquent, dans la bote de largeur \labelwidth, le contenu de ltiquette est pouss droite. Ainsi si on dnit une liste simple avec :

114

Outillage ncessaire

9.5 Listes et nouveaux environnements \newcommand{\etiquettequestion}[1]{% \makebox[\labelwidth]{\Pisymbol{pzd}{47}$_\thecptquestion$}}

115

labelwidth
2

labelwidth labelsep Paragraphe


3 2

Finalement la commande :
labelsep itemindent

\renewcommand{\makelabel}[1]{\etiquettequestion{##1}}}} rednit la commande \makelabel comme faisant appel notre joli crayon. Le premier et unique argument est pass \etiquettequestion laide de lexpression ##1, car #1 dsignerait, dans le contexte de la dnition de environnement question, le premier argument de celui-ci. Dans ce manuel, on trouve dans le mmento une liste de packages (page 181) produite par le code suivant : \newenvironment{packages}{\begin{list}{}{% \setlength{\labelwidth}{2.5cm}% \setlength{\itemindent}{0pt}% \setlength{\leftmargin}{\labelwidth+\labelsep}% \renewcommand{\makelabel}[1]{% $\blacktriangle$ \ltxpack{##1} \hfil:}}}{\end{list}} La commande \ltxpack est dnie au paragraphe 11.1.2 page 142. Pour information, lenvironnement ci-dessus donne :
\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} bidule : cette extension permet dinsrer des bidules dans son document sans avoir savoir sil sagit de machin ou de truc.

leftmargin rightmargin

leftmargin

Paragraphe rightmargin

(a) Liste chiers auxiliaires

(b) Liste questions

Fig. 9.2 Postionnement des tiquettes dans les listes exemple. Dans cet exemple la relation : \leftmargin=\labelwidth+\labelsep permet de positionner lentre de liste comme indiqu la gure 9.2(a). Un autre exemple : la cration dun environnement de liste numrote pour produire des questions dans un nonc de travaux pratiques ou autre devoir surveill...
\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}

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

1 2
9.19

oooooooooooooooooooo oooooooooooooo oooooooooooooooooooo ooooooooooooooooooooo ooooooooooo oooooooooooooooooooo oooooooooooooo

9.5.6 Un exemple un peu plus tordu...


Nous allons dtailler dans cette section la manire dont la liste composant le glossaire de la page 199 a t gnre. Cette liste dont lallure est donne ci-dessous exploite deux ides : 1re ide La longueur \labelsep peut tre ngative ce qui permet de superposer lentre de liste avec le paragraphe. Ceci est illustr la gure 9.3(a) page suivante ; Deuxime ide On peut crer une bote paragraphe pour la bote produisant ltiquette. La bote ainsi cre pourra donc tre compose de deux lignes : celle du haut contenant le texte de ltiquette, celle du dessous tant vide, se superpose avec le paragraphe (gure 9.3(b)). Le code permettant de gnrer la liste ci-dessus et celle du glossaire de ce manuel est donc : \newenvironment{glossaire}{\begin{list}{}{% \setlength{\labelwidth}{.5\textwidth}% \setlength{\labelsep}{-.8\labelwidth}% \setlength{\itemindent}{\parindent}%

3

Cet environnement a t produit par le code suivant : \newenvironment{question}{\begin{list}{}{% \usecounter{cptquestion}% \setlength{\labelwidth}{2em}% \setlength{\labelsep}{1em}\setlength{\itemindent}{15pt}% \setlength{\leftmargin}{.8cm}\setlength{\rightmargin}{10pt} \renewcommand{\makelabel}[1]{\etiquettequestion{##1}}}} {\end{list}} Le positionnement correspondant est montr la gure 9.2(b). On notera que dans la dnition de la liste est fait usage de la commande \usecounter permettant de dnir une liste numrote et de prciser quel compteur est utilis. On devra donc dclarer le compteur en question : \newcounter{cptquestion} Enn, chaque entre de liste compose du numro de la question et dun joli crayon est produite par la commande :

9.20

116

Outillage ncessaire

labelwidth
2

itemindent

labelwidth

itemindent

10
Sommaire 10.1 10.2 10.3 10.4 10.5 10.6 10.7 Allure de lindex Allures des titres Gomtrie Entte et pied de page Environnements bass sur fancyvrb About those so called french guillemets Un bote spciale pour la mini-table des matires

Cosmtique

leftmargin

labelsep < 0

leftmargin

labelsep < 0

Paragraphe rightmargin

Paragraphe rightmargin

(a) Utiliser un \labelsep ngatif.

(b) Crer une bote paragraphe pour superposer ltiquette et le paragraphe.

Fig. 9.3 Postionnement de ltiquette dans la liste glossaire . \setlength{\leftmargin}{25pt}% \setlength{\rightmargin}{0pt}% \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 boite, nous avons quelque peu modi la commande prcdente pour dessiner un cadre autour :
\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 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 o o o o o o \end{leglossaire} Bidule ooooooooooooooooooooo oooooooooooooooooooooo ooooooooooo
9.21

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 soue 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.

ide gnrale de ce chapitre, laissant prsager des macros parfumes, est de prsenter les outils standard de L TEX qui ont t personnaliss pour produire L certaines parties du document. Ces personnalisations sentendent plusieurs niA

veaux : en utilisant des options de packages (par exemple pour les enttes de page), ou parfois en mettant le nez dans la dnition des macros, comme pour lallure des chapitres et des sections, ou en modiant plus en profondeur ces macros comme dans le cas de la mini table des matires. Une partie du chapitre est consacre aux outils que lon peut mettre au point partir du package fancyvrb. Enn un combat en rgle contre les guillemets franais est men en guise de clture de ce chapitre.

10.1

Allure de lindex
Pour changer lallure de lindex, il faut comprendre que lorsquon tape fbrilement avec ses petits doigts la commande : makeindex document on gnre alors un chier document .ind contenant quelque chose ressemblant : \begin{theindex} \item Cosmic debries, 12,34 \indexspace espace inter-groupe 117 prambule

10

Truc muche ooooooooooooooooooooo oooooooooooooooooooooo ooooooooo

118 \item Debra kadabra, 23 \end{theindex}

Cosmtique entre, sparateur, page postambule

10.2 Allures des titres Ce qui vous lavez compris, produira par exemple pour la lettre c :
{\large\sffamily\bfseries% \shadowbox{C}\hfil}\nopagebreak
10.1

119

En ralit, ce code est gnr partir dentits gnriques ayant des valeurs prdnies et pouvant tre modies. Pour sen convaincre, il sut de savoir que le programme makeindex peut gnrer un chier .ind contenant autre chose que du A code L TEX. Pour comprendre cette aaire dentits gnriques, on pourrait dcrire le travail de makeindex comme suit : 1. crire le prambule en examinant la valeur de lentit preamble ; 2. Pour chaque entre du chier .idx: (a) crire le contenu de lentit item_0 ; (b) crire lentre ( Cosmic debries dans lexemple prcdent) ; (c) crire le sparateur (valeur de lentit delim_0) ; (d) crire le numro de page 3. chaque n de groupe (changement de lettre) crire le contenu de lentit group_skip ; 4. crire le postambule en examinant la valeur de lentit postamble. Les valeurs des entits auxquelles il est fait allusion sont par dfaut les suivantes : preamble item_0 delim_0 group_skip postamble "\\begin{theindex}\n" "\n \\item" ", " "\n\n \\indexspace\n" "\n\n\\end{theindex}\n"

Cette commande sera prcde par le contenu de group_skip qui, nous lavons dit un peu plus haut, vaut par dfaut \indexspace. Nous avons aprs quelques mois de recherche,2 dnich la dnition de cette commande dans book.cls et lavons modie pour augmenter lgrement lespace entre les groupes : \renewcommand\indexspace{\par \vskip 20pt plus5pt minus3pt\relax}
Ce paragraphe ne donne bien videmment quun aperu trs succinct des fonctionnalits proposes par makeindex. Outre les informations que lon peut trouver dans AT X companion, la page de manuel de cet utilitaire dans un environnement Debian le L E donne une liste exhaustive des entits gnriques que lon peut dnir. Un chier nomm ind.dvi crit par P. Chen et M. A. Harrinson constitue galement un bon point de dpart pour la personnalisation de lindex.

10.2

Allures des titres


Nous proposons ici dexposer la manire dont on a modi lallure des titres A TEX. standard (partie, chapitre, section, etc.) de L

10.2.1 Sections et niveaux infrieurs


Dans le chier book.cls du systme TEX, on trouve le code suivant :3 \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. A TEX pour les sections On pourra donc noter que la mise en page par dfaut de L dans la classe book est la suivante : pas dindentation (0pt)
2 3

Ces valeurs peuvent tre modies par lintermdiaire dun chier de style auquel on met gnralement lextension .ist et que lon utilisera lors de lappel makeindex de la manire suivante : makeindex -s style .ist document Ainsi pour produire lindex de ce document, nous avons dans un premier temps redni les sparateurs de niveau 1 et 2 : delim_0 \\dotfill \ " delim_1 \\dotfill \ "

01

on remplace donc la virgule qui spare par dfaut lentre dindex et son numro de page par des points de suspensions. Ensuite, en lisant scrupuleusement la documentation makeindex,1 on apprend qucrire : headings_flag 1 est la manire polie de demander makeindex de produire entre les groupes dentres la lettre correspondant au groupe. Cette lettre sera (en majuscule) et encadre par les contenus respectifs des entits heading_prefix et heading_suffix. Qu cela ne tienne, pour produire nos jolies botes ombres, nous crivons dans le chier de style : heading_prefix "{\\large\\sffamily\\bfseries\\shadowbox{" heading_suffix "}\\hfill}\\nopagebreak\n"
1

10

Voir galement la nota qui suit pour les rfrences bibliographiques utiles.

Je plaisante, juste quelques semai... minutes veux-je dire. Lgrement simpli...

120

Cosmtique

10.2 Allures des titres

121

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} 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 Avant-Garde en gras condens (cf. 9.4 page 105). 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.

2. \@schapter pour les titres de chapitre non numrots (s pour star ou toile faisant rfrence la commande \chapter*). En cherchant vaillamment la dnition de ces deux commandes (toujours dans le chier book.cls), on trouve quelque chose du genre : \def\@chapter[#1]#2{% ... \refstepcounter{chapter}% \typeout{\@chapapp\space\thechapter.}% message sur le terminal \addcontentsline{toc}{chapter}% ajout du titre dans la toc ... \if@twocolumn ... \else% le cas dun document une colonne \@makechapterhead{#2}% la ligne qui nous intresse \fi} ce qui nous met sur la voie... en eet la commande \@makechapterhead (quon peut traduire littralement par faire lentte de chapitre ) est la commande quil va nous falloir rednir pour changer lallure des enttes. Une recherche supplmentaire nous met galement sur la piste de la commande \@makeschapterhead produisant lentte dun chapitre non numrot. Pour ce manuel, nous avons redni la commande \@makechapterhead comme suit : \renewcommand{\@makechapterhead}[1]{% \begin{cadrechap} \if@mainmatter {\chapnumfont\thechapter}\hfill{\chapfont#1} \else \mbox{}\hfill{\chapfont#1} \fi \end{cadrechap} \vspace{1cm}} La commande \@makechapterhead attend un argument qui est le titre du chapitre. Lenvironnement cadrechap permet simplement dlargir la marge de droite de deux centimtres : \newenvironment{cadrechap}% {\begin{list}{}{% \setlength{\leftmargin}{0pt}% \setlength{\rightmargin}{-2cm}% on se met au large \setlength{\itemindent}{0pt}% \setlength{\labelsep}{0pt}% }\item}% {\end{list} Enn on notera lutilisation du boolen @mainmatter permettant de savoir si on se trouve dans la partie centrale du document. Si cest le cas (lorsquon a appel la commande \mainmatter, cf. 6.4 page 78), alors : on ache le numro du chapitre (\thechapter) dans une fonte particulire (\chapnumfont) ;

01

10

10.2.2 Chapitres
En fouillant dans le chier book.cls, on trouve la commande : \newcommand{\chapter}{% ... \thispagestyle{plain}% ... \secdef\@chapter\@schapter} % la ligne qui nous intresse La commande \chapter fait donc elle-mme appel deux commandes distinctes : 1. \@chapter pour les titres de chapitre qui sont numrots ;

122

Cosmtique

10.3 Gomtrie \vskip 20\pt [...] \Huge \bfseries #2\par}% \@endpart}

123

on insre un ressort horizontal (\hfill) ; on ache le titre du chapitre (#1) dans une police particulire (\chapfont). Si on nest pas dans la partie centrale, on nache pas de numro de chapitre, mais juste le titre pouss droite. Les commandes permettant de mettre en vidence le numro du chapitre et son titre sont respectivement : \DeclareFixedFont{\chapnumfont}{T1}{phv}{bc}{80pt} \DeclareFixedFont{\chapfont}{T1}{phv}{b}{n}{24.88pt} Finalement, si on crit : \begin{cadrechap} {\chapnumfont11}\hfill{\chapfont Le titre de la mort qui tue} \end{cadrechap}

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 #1). Pour ce manuel, nous avons redni la commande \@part comme suit : \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 enttes de chapitre 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}%
On notera galement que la commande \@part se termine par lappel une autre commande : \@endpart. En examinant le chier book.cls on pourra se rendre compte que cette dernire permet d quilibrer le ressort vertical de la commande \part et de sauter une page blanche...

10.2.3 Parties

11
On obtient :

Le titre de la mort qui tue

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 entte etc.), nous avons donc crit :

01

\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{% [...] {\centering % centrage [...] \huge\bfseries \partname\nobreakspace\thepart \par

10.3

Gomtrie
Les direntes dimensions de chaque page de ce document ont t dnies laide du package geometry et de la commande : \geometry{% a4paper, body={150mm,250mm}, left=25mm,top=25mm, headheight=7mm,headsep=4mm, marginparsep=4mm,
4 En ralit, aprs avoir enclench le package babel et loption french ces deux commandes sont rednies pour produire quelque chose du style : Premire partie

10

124 marginparwidth=27mm}

Cosmtique

10.4 Entte et pied de page

125

qui dnit respectivement (voir aussi gure 10.1) : un corps de texte faisant 150 mm de largeur par 250 mm ; le positionnement du corps du texte dans la page, 25 mm du bord gauche du papier, et 25 mm du bord suprieur du papier ; la hauteur de lentte (7mm) et lespace entre lentte et le texte lui-mme (4 mm) ; la taille du papier : standard A4 ; la largeur de la marge pour les notes de marges (2.7 cm).
paperwidth width entete headheight

la hauteur de la surface rserve lentte peut tre dnie laide de la formule magique headheight= hauteur et sa position par rapport au corps du texte laide de headsep= espace . la position du pied de page peut tre dnie laide de footskip= espace qui impose lespace entre le bas du corps du texte et la premire ligne du contenu du pied de page. Note de marge dans le mme esprit la largeur et la position de la surface rserve aux notes de marge peuvent tre dnies laide de marginparwidth= largeur et marginparsep= espace .
Dans le package geometry les dimensions concernant lentte, le pied de page et la zone pour les notes de marge, sont par dfaut comptabilises en plus du corps du texte. Des options permettent dinclure lune ou lintgralit de ces dimensions dans le corps du texte pour le calcul, en disant par exemple : je veux que la largeur soit de 10 centimtres notes de marge comprises. (voir la documentation du package pour les dtails).

headsep

top

10.4
Corps du texte notes de marge height

Entte et pied de page


Les zones au-dessus et en dessous du corps du texte appeles entte et pied de page peuvent tre personnalises laide du package fancyhdr. Le principe de base est simple,5 il sut dutiliser la commande : \pagestyle{fancy} pour spcier quon veut utiliser des enttes et des pieds de page dnis grce au package fancyhdr. Par dfaut le package produit des traits horizontaux en dessous de lentte et au-dessus du pied de page dont les paisseurs sont dnies par les commandes \footrulewidth et \headrulewidth. On peut ensuite utiliser les commandes : \fancyhead pour dnir lentte ; \fancyfoot pour dnir le pied de page ; Ces deux commandes peuvent prendre un argument optionnel constitu dune ou deux squences des caractres suivants : E ou O pour spcier la parit de la page (paire=even, impaire=odd) ; R, L, C pour spcier o lon veut produire linformation : respectivement droite, gauche ou au centre ; Voici un exemple : \fancyhf{} % on eace tout et on recommence % EN TTE : % initiales droite sur page paire , gauche sur page impaire : \fancyhead[RE,LO]{VL} % numro de page au centre : \fancyhead[C]{\thepage} % numro de section droite sur page impaire , gauche sur page paire : \fancyhead[LE,RO]{\thesection} % PIED DE PAGE :
5 Vous ne serez sans doute pas tout fait daccord avec le terme simple aprs avoir lu la suite...

paperheight

left

footskip

patati patata pied de page marginparsep marginparwidth

Fig. 10.1 Quelques unes des dimensions pour dnir la gomtrie dun document.

01

De manire gnrale, comme le montre la gure 10.1, le package geometry permet de dnir un certain nombre de dimensions que lon peut passer soit en option la commande \usepackage soit laide de la commande \geometry. Dimension du papier : a4paper, a5paper, etc. pour utiliser un format de papier prdni, paperwidth== dim et paperheight= dim pour spcier une dimension de papier libre, par exemple pour un document qui sera massicot. Texte : soit avec : body={ largeur , hauteur } soit avec : width= largeur et height= hauteur . le texte est positionn lintrieur de la page par rapport un point de rfrence spci avec top= pos_vert et left= pos_horiz Haut et bas de page :

10

10.4

126

VL

VL

127

10.4

% une image droite sur page impaire , gauche sur page paire : \fancyfoot[RO,LE]{\includegraphics[height=4ex]{punch}} % titre gauche sur page impaire , droite sur page paire : \fancyfoot[LO,RE]{% Tout ce que vous avez toujours voulu savoir sur \LaTeX{}} % paisseur des traits \renewcommand{\footrulewidth}{3pt}

droite) le titre de la dernire section de la page. Il est possible de produire ce genre A TEX dispose dun mcanisme de marqueurs que nous allons tenter denttes car L dexpliquer ici.
AT X produisent une Il nest pas inutile de prciser maintenant que lorsque TEX et L E page, ils vont garnir lentte et le pied en fonction dinformation collectes le long de la page en question. La production de lentte et du piedsest donc postrieure la composition de la page.

10.4.1 Cas de la premire page des chapitres


A Dans la classe book, L TEX fait automatiquement appel au style plain pour les premires pages de chapitre. Pour demander au package fancyhdr de dnir un style particulier pour ces pages, on crit :

Les commandes \markboth et \markright Soient les commandes : \markboth{ texteg }{ texted } ou : \markright{ texte } Nous allons imaginer que les arguments textex sont stocks dans une pile et une le. Dans cet ordre dide : \markboth empile texteg , et stocke texted dans la le ; \markright stocke texte 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 enttes et pied 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 texteg du dernier appel \markboth ; \rightmark renvoie le dbut de la le, cest--dire texted du premier appel \markboth ou texte du premier appel \markright.
Une petite subtilit au sujet de la le que nous prsentons ici : tant quaucune commande de marquage najoute de donnes au cours dune page, la le contiendra la dernire information insre dans les pages prcdentes. La le est vide ds quune commande \markboth o \markright survient.

% le cas de la premire page dun chapitre \fancypagestyle{plain}{% \fancyhf{}% on eace tout \fancyfoot[C]{\thepage}% numro en bas de la page % on eace tous les traits \renewcommand{\headrulewidth}{0pt}% \renewcommand{\footrulewidth}{0pt}} Vriez maintenant que les pages 3, 13, 31, 63, etc. ont ce style...

10.4.2 Pages vierges avant le dbut dun chapitre


A Dans la classe book en mode recto-verso (cest le cas de ce document), L TEX commence par dfaut un chapitre sur une page impaireappel dans le jargon typograA phique la belle page . Pour ce faire L TEX fait appel dans direntes commandes internes, la commande \cleardoublepage qui permet dinsrer si ncessaire une page blanche avant le dbut du chapitre. Cette page reoit par dfaut le style des enttes et pied en cours. Dans le manuel que vous avez sous les yeux, nous avons impos un style vide ces pages en modiant la dnition de la commande \cleardoublepage du chier latex.ltx :

\renewcommand{\cleardoublepage}{% rednition de la commande \clearpage\ifodd\c@page\else \hbox{} \vspace*{\fill} \thispagestyle{empty}% ligne ajoute \newpage \fi} Feuilletez le manuel et cherchez si les pages vierges avant le dbut des chapitres sont bien vides...

Un autre moyen de comprendre ce mcanisme de marqueurs pourrait tre de dire : \leftmark contient la dernire information que jai insre sur la pile ( laide du premier argument de \markboth) ; \rightmark contient la premire information de la le , si on en a mis une sur cette page, ou la dernire qui a t enl ( laide du deuxime argument de \markboth ou de largument de \markright.
Il peut tre utile de savoir que lauteur a utilis ces commandes pour la production dun trombinoscope compos de plusieurs dizaines de noms et photos par page. Lide tait dexploiter le mcanisme de marquage pour faire apparatre dans lentte le premier et le dernier nom de la page, comme dans un dictionnaire. Il sut pour cela dappeler pour chaque personne (nom et photo) la commande :

10.4.3 Mcanisme de marqueurs


Vous aurez sans doute remarqu que dans ce manuel, les enttes des pages contiennent des informations qui dpendent du contexte. Sont en eet insrs sur les pages paires (page de gauche) le titre du chapitre, et sur les pages impaires (page de
A Tout ce que vous avez toujours voulu savoir sur L TEX

\markboth{ nom du gugusse }{ nom du gugusse } puis dinsrer dans les enttes la commande \rightmark sur les pages de gauche (impaires) et \leftmark sur les pages de droite (paires)...
A Tout ce que vous avez toujours voulu savoir sur L TEX

128

\rightmark vaut 10.4 Entte et pied de page et leftmark vaut Cosmtique

10.4 Entte et pied de page \newif\if@mainmatter

129

Interactions avec les commandes de paragraphe chaque dbut de chapitre, de section, de sous-section, etc. une commande A TEX fait appel aux commandes de marquages prsentes au paragraphe interne de L prcdent, pour stocker des informations susceptibles denrichir lentte ou le pied de page. Ces commandes se nomment : \chaptermark pour les chapitres ; \sectionmark pour les sections ; ... elles attendent un argument qui contient le titre du chapitre ou du paragraphe. Dans ce manuel, les deux commandes prcdentes ont t dnies comme suit : \renewcommand{\sectionmark}[1]{% #1 contient le titre de la section \markright{\sectionfont\thesection\ #1}} \renewcommand{\chaptermark}[1]{% #2 contient le titre du chapitre \markboth{\sectionfont#1}{}} Puis : \fancyhead[LE,RO]{\thepage} \fancyhead[LO]{\rightmark} \fancyhead[RE]{\leftmark} Par consquent : droite des pages paires, on trouve (\leftmark) le dernier titre de chapitre rencontr ; gauche des pages impaires, on trouve (\rightmark) le numro et le titre de la premire \section de cette page, ou le numro et le titre de la dernire \section rencontre... Si vous ne me croyez pas voyez par vous-mme le haut de cette page.

A TEX pour savoir si on se trouve dans le main matter ou utilis par dfaut dans L pas. Nous avons en outre dni pour notre document un autre boolen :

\newif\if@frontmatter qui nous permettra deectuer des traitements particuliers lorsquon sera dans la partie introductive du document. Les trois commandes dlimitant les trois parties sont dnies par : \renewcommand\frontmatter{% \cleardoublepage \@frontmattertrue \@mainmatterfalse \pagenumbering{roman}% numrotation en romain } \renewcommand\mainmatter{% \cleardoublepage \@mainmattertrue \@frontmatterfalse \pagenumbering{arabic}% numrotation en chires arabes } \renewcommand\backmatter{% \cleardoublepage \@frontmatterfalse \@mainmatterfalse }
A TEX on peut comprendre que \pagenumbering, la En farfouillant dans le code de L commande permettant de changer la numrotation, rinitialise le compteur de page 1.

10.4.4 Organisation du document


Il est ncessaire de savoir que dans un document tel que celui que vous lisez, A il existe trois parties qui sont reconnues par L TEX : le front matter, le main matter et le back matter dsignant respectivement le dbut du document (comportant gnralement la prface et le sommaire), la partie principale, et la partie cloturant le document (comportant gnralement la table des matires, le ou les index, la ou les bibliographies, le glossaire, etc). On doit alors explicitement crire un document A TEX comme suit : L \documentclass{ classe du document } \begin{document} \frontmatter % introduction [...] \mainmatter % partie principale [...] \backmatter % pour clore le document [...] \end{document} Nous verrons dans la suite de ce chapitre que nous serons amens modier les trois commandes permettant de passer dune partie une autre. Pour linstant, il faut savoir que la classe book dnit un boolen :

10.4.5 Numroter lintroduction en roman petites capitales


Votre serviteur a tenu ce que les pages de lintroduction soient numrotes en chires romains et petites capitales. On ne peut malheureusement pas crire : \renewcommand{\thepage}{\textsc{\roman{page}}} Puisque cela provoque une incompatibilit avec la gestion de lindex. Lide retenue est de procder comme suit : 1. utiliser la numrotation en chire romain minuscule ; 2. dans le pied de page acher \textsc{\thepage} ; 3. modier la commande \index pour que les numros de pages sache en petites capitales. Do dans la dnition de \frontmatter on ajoutera : \let\indexORI\index% sauvegarde de la dnition initiale \renewcommand{\index}[1]{\indexORI{##1|textsc}} \fancyfoot{} \fancyhead[LE,RO]{\textsc{\thepage}} Et dans la dnition de \mainmatter :

01

10

130 \let\index\indexORI% pour revenir la dnition initiale

Cosmtique

10.5 Environnements bass sur fancyvrb \renewenvironment{theindex} {% [...] % insertion dans la table des matires \addcontentsline{toc}{chapter}{\indexname} \@mkboth{\indexname}{\indexname}% suppression de \MakeUppercase \thispagestyle{plain} [...] {\if@restonecol\onecolumn\else\clearpage\fi}

131

Pour tre parfaitement rigoureux on va modier lallure des premires pages de chapitre : \fancypagestyle{plain}{% \fancyhf{} \if@frontmatter % introduction \fancyfoot[C]{\textsc{\thepage}} \else \fancyfoot[C]{\thepage} \fi \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt}} \makeatother

10.5

Environnements bass sur fancyvrb


Le package fancyvrb permet de produire des environnement de type verbatim avec beaucoup plus de souplesse. Il permet notamment de personnaliser dventuelles A bordures, les marges, et surtout on peut schapper vers L TEX au beau milieu de A TEX. En dautres lenvironnement, ou comme disent les anglophones : to escape to L termes, bien qutant dans un environnement o les caractres \, { et } sont sans A eet, il est malgr tout possible de faire appel des commandes L TEX.

10.4.6 Interaction avec index, bibliographie et table des matires


Dans la classe book, deux environnements sont dnis : thebibliography permettant de produire la bibliographie ; theindex pour produire lindex ; et la commande : \tableofcontents pour produire la table des matires. Ces environnements et cette commande sont conus pour produire des enttes avec le numro de la page et le nom du chapitre en majuscules savoir \bibname, \indexname et \contentsname. Voici par exemple un extrait de \tableofcontents : \newcommand\tableofcontents{% [...] \chapter*{\contentsname \@mkboth{% \MakeUppercase\contentsname}% {\MakeUppercase\contentsname}}% \@starttoc{toc}% [...] }

10.5.1 Digression vers les caractres...


Il peut ne pas tre inutile6 de faire ici une petite digression sur la manire dont TEX mange et digre les caractres quon lui fournit. Il faut savoir que les caractres peuvent entrer dans seize catgories direntes. Chaque caractre peut nappartenir qu une catgorie la fois. Chacune de ces catgories permet de basculer TEX vers un traitement particulier. Par exemple lorsque le caractre \ est rencontr, TEX va lire les caractres qui suivent pour connatre le nom de la commande (ou squence de contrle ), lorsquil rencontre le caractre {, TEX va ouvrir un nouveau groupe, lorsque que le caractre % est lu, TEX va ignorer les caractres jusqu la n de la ligne, cest--dire jusqu ce quil rencontre un caractre catgoris n de ligne , etc. Parmi les catgories reconnues par TEX :
A Catgorie 0 caractre de contrle (\ dans L TEX) ; A Catgorie 1 dbut de groupe ({ dans L TEX) ; A Catgorie 2 n de groupe (} dans L TEX) ;

01

Jai souhait que dans ce manuel les enttes ne soient pas en majuscules. Deux solutions sont possibles : 1. utiliser la commande \nouppercase du package fancyhdr et crire dans la dnition de \backmatter : \fancyhead[LO]{\nouppercase\rightmark}% entte en minuscule \fancyhead[RE]{\nouppercase\leftmark}% 2. recopier la dnition de \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 A TEX et de la classe book. Nous avons donc pour pas le comportement par dfaut de L lenvironnement theindex :

Catgorie 11 lettre ;
A TEX) ; Catgorie 14 commentaire (% dans L On peut donc samuser changer le contenu de chaque catgorie. Dans lexemple ci-dessous, on a transform les caractres \, {et } en lettres, et on a dcid que les caractres /, ( et ) appartiendraient respectivement aux catgories : caractre de contrle, dbut de groupe et n de groupe. Le caractre # a galement t chang de catgorie, cest dsormais un caractre de commentaire.

10

Les franais sont parait-il des spcialistes de la litote. Mais ne nous garons pas...

132
{ \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{}...

Cosmtique

10.6 About those so called french guillemets

133
11.1.1 p. 141

En outre, il est intressant de savoir que TEX peut rendre actifs certains caractres (qui entrent alors dans la catgorie 13). Ces caractres peuvent alors tre dnis comme des commandes voici un exemple idiot :
\catcode\+=13 \newcommand{+}{plus} 3 + 4 = 7 3 plus 4 = 7

10.2

\bidule{truc muche} en gras AT X... on retourne dans le monde L E

La commande \marg permet de produire son argument entre chevrons simples et en pench. Les autres paramtres de la commande \DefineVerbatimEnvironment ont pour but de prciser lallure de 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 (emacscom) a t cr comme suit : \DefineVerbatimEnvironment{emacscom}{Verbatim}{% commandchars= , frame=leftline, framerule=1mm, framesep=2mm, gobble=2, xleftmargin=15pt} qui donne par exemple :
Pour jouer Tetris dans \soft{Emacs} : \begin{emacscom} M-x tetris \end{emacscom} Pour jouer Tetris dans Emacs :
10.5

Dans cet exemple on a rendu actif le caractre +, puis on la dni comme une commande. Vous noterez quici on a pu crer une commande que lon utilise sans faire appel au caractre \.
Il peut tre utilise de savoir que lorsquon charge le package babel et lextension franaise, les caractres de ponctuations double sont galement rendus actifs notamment pour empcher la csure avant ceux-ci. En outre le caractre ~ est dans la catgorie des AT X. On peut dailleurs voir sa dnition dans une session L AT X caractres actifs dans L E E interactive :

10.3

M-x tetris

10.6

About those so called french guillemets


Un des plaisirs de la typographie franaise est sans aucun doute lutilisation de ces merveilleux guillemets la franaise ... Cependant le package babel ne gre pas la csure correctement sil on saisit dans un document : \begin{minipage}{5cm} Une courte phrase dans une bote ayant pour unique but de montrer que ces symboles ne se comportent pas comme de gentils guillemets. \end{minipage} Cette courte phrase a pour unique but de montrer que ces petits symboles ne se comportent pas comme de gentils guillemets.

*\show~ > ~=macro: ->\nobreakspace {}. <*> \show~

10.5.2 Environnements maison


Les environnements du type de verbatim ont pour but de changer lappartenance des caractres leur catgorie respective. En outre, le package fancyvrb permet de dA TEX. Dans ce document, nir quels caractres permettent de repasser le contrle L lenvironnement unixcom a t dni comme suit :

01

\DefineVerbatimEnvironment{unixcom}{Verbatim}{% commandchars= , frame=single, framerule=.4pt, framesep=1.5mm, gobble=2, xleftmargin=15pt}

on aura la minipage suivante :

10

Cet environnement est donc un environnement de type verbatim mais dans lequel A on peut excuter des commandes L TEX laide des caractres de catgorie 0, de catgorie 1 et de catgorie 2. On peut bien videmment choisir nimporte quel caractre cette n. Il faut cependant garder lesprit que ceux-ci doivent tre la fois lisibles pour lutilisateur et peu utiliss dautres n que de repasser le contrle A L TEX.

Ce qui est pour le moins gnant... Il est bien sr possible de saisir ces guillemets avec les commandes \og et \fg fournies par le package babel, mais cela est au got de votre serviteur trop contraignant dans la mesure o ce caractre est directement accessible depuis le clavier.7 Il existe une solutionqui avait t adopt par le package frenchpalliant le problme de la csure qui consiste rendre actifs les 10.5.1 p. 131 caractres et . Nous avons donc crit : \catcode\ =13 \catcode\ =13 puis dni les deux commandes suivantes :
7

Pour afficher le contenu dune variable : \begin{unixcom} echo ${ marg nom variable } \end{unixcom}

Pour acher le contenu dune variable : echo ${ nom variable }

Alt-Gr-z et Alt-Gr-x.

134

Cosmtique

10.7 Un bote spciale pour la mini-table des matires

135

\newcommand{\fermerguillemets}{\unskip\kern.15em\symbol{20}} \newcommand{\ouvrerguillemets}{\symbol{19}\ignorespaces\kern.15em}
9.2.1 p. 100

10.7.1 Linterface de la commande


Plusieurs solutions sont possibles pour crer une telle commande. En sinspiA rant de linterface des botes de L TEX, on peut crer une macro dont la syntaxe dutilisation serait :
\titlebox{\footnotesize Un titre}{% Le contenu de la bote}
10.7

On notera lutilisation de la commande TEX \kern permettant dinsrer un blanc inscable dune longueur donne, de la commande \unskip et enn de la commande \symbol qui insre ici les 19e et 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

Le contenu de la bote

Un titre

\setcounter{car}{1} \whiledo{\value{car}<64}{% \symbol{\value{car}}$_{\thecar}$ \stepcounter{car}}

ou encore :
\setlength{\fboxsep}{5pt} \setlength{\fboxrule}{2pt} \titlebox{Un autre titre}{% \begin{minipage}{3cm}\begin{center} truc\\ muche \end{center}\end{minipage}} Un autre titre truc muche

\let =\fermerguillemets \let =\ouvrerguillemets


Cette faon de faire a deux inconvnients mineurs que je suis bien incapable de rsoudre aujourdhui. Dune part on ne peut utiliser ces guillemets dans un titre au risque davoir des artefacts dans les signets/bookmarks dAcrobat. Dautre part, ces guillemets ne fonctionne pas avec lenvironnement ltxexemple dni la n du chapitre suivant. Un drame quoi !

10.7.2 Quand mme un peu de TEX


La primitive de TEX \leaders permet de remplir un espace lastique avec ce qui vous passe par la tte. Sa syntaxe : \leaders ce qui vous chante espace permet donc de remplir l espace avec ce qui vous chante . Par exemple :
10.9

10.7

Un bote spciale pour la mini-table des matires


Le package mini-toc permetcomme son nom lindiquede produire des mini tables des matires que lon peut insrer dans un document un endroit donn, gnralement en dbut de chapitre. Aprs avoir utilis lordre \dominitoc dans le prambule, on fait ensuite appel la commande \minitoc pour insrer cette minitable des matires lendroit voulu. La documentation du package explique tout cela en dtail et prsente notamment les dirents styles que lon peut utiliser. Pour ce manuel, jai trouv lide dune table des matires en dbut de chapitre sduisante, mais les styles proposs par le package ne me convenaient pas. En fait je souhaitais pouvoir mettre les titres de sections dans un bote comme ceci :

\framebox[3cm]{% \leaders\hbox{o}\hfill}

10.8

Enn, on a aect aux caractres les deux commandes prcdentes :

10.6

oooooooooooooo

La primitive \hbox de TEX (utilise par \mbox et \makebox) permet de crer des botes horizontales :
\framebox[3cm]{% \leaders\hbox to 3pt{o}\hfill}
10.10

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

Les \leaders peuvent galement tre utiliss avec la primitive \hrule de TEX permettant de dessiner des traits :
\framebox[3cm]{% \leaders\hrule height 4pt\hfill}

01

Sommaire x.1 Le premier titre x.2 Le deuxime titre x.3 etc. Cest--dire une bote avec un titreici le titre est Sommaire . ma connaissance, A TEX ne propose pas de telles botes et suite une question pose sur les forums L de discussions, une bonne meen loccurrence Benjamin Bayartme propose un code TEX rpondant au cahier des charges. Je vous propose dans ce paragraphe, une A version8 L TEX dune bote avec titre...
8 Tout fait discutable et limite dans ses fonctionnalits comme tout logiciel pondu par un bricoleur...

10

Ici, le ressort \hfill stire les trois centimtres de la \framebox et est rempli par un trait de hauteur quatre points.
\framebox[3cm]{% \leaders\hbox to5pt{% \leaders\hrule width1pt\hfill% \kern2pt}\hfill}

Dans lexemple ci-dessus, lespace de trois centimtres est rempli par des boites de cinq points de large, contenant chacunes delles des \leaders comme dans lexemple prcdent, et un blanc de deux points de large.

10.12

10.11

136
4.2.4 p. 48

Cosmtique du ressort de la manire suivante :


10.13

10.7 Un bote spciale pour la mini-table des matires

137

Avec TEX, on peut rgler la raideur

\framebox[5cm]{% \hskip0pt plus 2fill X\hskip0pt plus 3fill}

La dimension : \hskip 0pt plus n fill 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} pouvant tre par exemple utilise comme suit :
\framebox[5cm]{% \traitressort[2]{2ex}X\traitressort{2pt}}
10.14

\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}{\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 : \largeurboitetitre correspond la largeur de la \parbox 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 :
\titleboxI{titre}{Bidule truc muche}
10.15

on a donc dans la bote de cinq centimtres : un blanc lastique de raideur 2, rempli dun trait de quatre points de hauteur ; la lettre X ; un blanc lastique de raideur 1, rempli dun trait de deux points de hauteur. Nous allons bien entendu nous servir de cette commande pour la suite...

4.4.1 p. 53

10.7.3 Conception de la bote


Pour concevoir la bote proprement parler, nous allons crer trois \parbox comme suit : titre contenu Il y a : deux \parboxs pour contenir les deux traits verticaux droite et gauche ; une \parbox pour le centre, contenant le trait du haut interrompu par le titre, le contenu, et en bas un trait horizontal. Nous allons voir maintenant comment on peut construire ces trois botes et les positionner correctement les unes par rapport aux autres.

01

Bidule truc muche truc bidule machin

10

10.7.4 Le code
Nous allons avoir besoin dune bote pour stocker la \parbox centrale : \newsavebox{\boitetitre} et de deux dimensions : \newlength{\largeurboitetitre} \newlength{\hauteurboitetitre} qui portent un nom susamment explicite mvitant ainsi 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 :

\titleboxI{encore}{% \parbox{4cm}{truc\\bidule\\machin}}

Il reste donc modier le contenu de la \parbox centrale pour ajouter les deux traits horizontaux, celui de bas, et celui de haut coup par le titre. Lide est dentasser trois botes : 1. une bote contenant le titre et des traits ressorts : 2. la bote stockant le contenu (\boitetitre) ; 3. un trait de largeur \largeurboitetitre.

138 Voici une premire approche :

Cosmtique

10.7 Un bote spciale pour la mini-table des matires

139

\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 encore truc bidule machin

manire ce que les lignes soit espaces de la longueur \baselineskip. On trouve dans le TEXbook, la page 79 du chapitre traitant des glues :
Exception : no interline glue is inserted before or after a rule box. You can also inhibit interline glue by saying \nointerlineskip between two boxes.

Lordre \nointerlineskip rsout donc le problme : \newcommand{\titleboxIV}[2]{% ... \parbox{\largeurboitetitre}{% la bote centrale \begin{flushleft} \makebox[\largeurboitetitre]{% \traitressort{\fboxrule}% \raisebox{-.5ex}[0pt][0pt]{#1}% \traitressort[5]{\fboxrule}}\\[\fboxsep]\nointerlineskip \usebox{\boitetitre}\\[\fboxsep]\nointerlineskip \rule{\largeurboitetitre}{\fboxrule} \end{flushleft}} ...} ce qui donnera :
titre Bidule truc muche encore truc bidule machin
10.18

\titleboxII{titre}{Bidule truc muche}


10.16

\titleboxII{encore}{% \parbox{4cm}{truc\\bidule\\machin}}

On dirait que cest pas tout fait a . Il faudrait penser faire en sorte que la commande \\ eectue un saut vertical quivalent la dimension \fboxsep. On en prote au passage pour faire subir au titre une translation verticale vers le bas : \newcommand{\titleboxIII}[2]{% ... \parbox{\largeurboitetitre}{% la bote centrale \begin{flushleft} \makebox[\largeurboitetitre]{% \traitressort{\fboxrule}% \raisebox{-.5ex}[0pt][0pt]{#1}% \traitressort[5]{\fboxrule}}\\[\fboxsep] \usebox{\boitetitre}\\[\fboxsep] \rule{\largeurboitetitre}{\fboxrule} \end{flushleft}} ...} ce qui donnera :
titre Bidule truc muche encore truc bidule machin

\titleboxIV{titre}{Bidule truc muche} \titleboxIV{encore}{% \parbox{4cm}{truc\\bidule\\machin}}

Ce qui rpond au cahier des charges.


Dautres amliorationslaisses en guise dexercicepeuvent tre apportes cette commande. On pourra par exemple dnir un argument optionnel permettant de rgler labaissement du titre (on a mis ici -.5ex en dur). Il est galement possible de rgler le rapport des traits entourant le titre. Enn, il est tout fait envisageable de rgler lespace autour du titre (ici il ny en a pas).

01

10.7.5 Utilisation avec package minitoc


Lutilisation de la commande \titlebox prcdemment dnie, dans le package minitoc se fait simplement en revtant le chapeau de monsieur Poirot. En inspectant la loupe le chier de style, on trouve la dnition dune commande nomme \minitoc@. Jai simplement recopi le code de cette macro et insr un appel la merveilleuse commande \titlebox.

10

\titleboxIII{titre}{Bidule truc muche}


10.17

\titleboxIII{encore}{% \parbox{4cm}{truc\\bidule\\machin}}

On dirait que a na pas arrang grand chose... Il faut savoir que lorsque TEX entasse des botes en mode vertical, il insre de lui mme des espaces entres ces botes de

11
Sommaire 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 Quelques bricoles Des notas Des citations Des lettrines Un sommaire Un glossaire Des onglets AT X Exemples L E

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 eur souvre, Si les grenadiers eurissent. L je te donnerai mon amour. Le Cantique des cantiques Ct 7 11.

N pour ce manuel. Pour comprendre la plupart des commandes et environnements dnis ici, il est impratif davoir lu les deux prcdents chapitres... Il est question
ous prsentons dans ce chapitre les outils qui ont t crs spcialement dans ce chapitre de la manire dont la nota avec panneau danger a t cre, des lettrines apparaissant en dbut de chapitres, du sommaire, du glossaire, des onglets contenant le numro du chapitre courrant, et enn de lenvironnement permettant A TEX et son interprtation cte cte. de produire du code L

11.1

Quelques bricoles
Dans un document parlant de langage informatique, il est important de faire ressortir clairement les arguments de commande ou de fonction. Par exemple on crira :

11.1.1 Arguments et convention typographique

11

Pour compiler le fichier \marg{fichier} : \begin{flushleft} \ttfamily latex \marg{fichier} \end{flushleft}

Pour compiler le chier chier :


11.1

latex chier

La commande \marg crit son argument en fonte penche, entre les symboles et produits respectivement par les commandes \langle et \rangle en mode math141

142

De nouveaux jouets

11.1 Quelques bricoles

143

matique. De plus vous aurez sans doute remarqu quon peut utiliser une notation indice comme dans lexemple ci-dessous :
Pour copier des fichiers : \begin{flushleft}\ttfamily cp \marg[1]{fichier} ... \marg[n]{fichier} \marg[dst]{fichier} \end{flushleft}

permettant de produire en fonte machine crire, le nom de la commande prcd du A TEX permettant dinsrer caractre \. La commande \symbol est une commande L 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 dnit : \newcommand{\postscript}{% PostScript % \protect\index{PostScript}}

Pour copier des chiers :


11.2

cp chier1

... chiern

chierdst

La commande \marg est dnie comme suit : \newcommand{\marg}[2][]{% {\normalfont% \textsl{$\langle$#2% \ifthenelse{\equal{#1}{}}{} % si largument optionnel est prsent {$_\mathit{#1}$}% on lache en indice $\rangle$}}}% La commande \normalfont permet de revenir la fonte par dfaut dans le document. Ce qui explique que chier napparat pas en fonte machine crire dans lexemple 11.1.

11.1.2 Autour de la gnration de lindex


Lorsque dans le texte du prsent manuel, il est question dune commande, dun environnement, dun package, dune classe de document, etc. il est fait appel une commande particulire insrant automatiquement une entre dans lindex. Ainsi par exemple :
Le package \ltxpack{varioref} permet dutiliser la commande \ltxcom{vref}... Le package varioref permet dutiliser la commande \vref...
11.3

11.1.3 Des renvois


Vous aurez sans doute remarqu que ce manuel est parsem de renvois comme celui-ci parlant de glossaire qui na strictement rien voir avec le propos du moment si ce nest quil sagit dun renvoi. La commande mise en uvre pour les renvois a t baptise \voir et attend deux arguments : \voir{ label cible }{ texte objet du renvoi } Par exemple, le renvoi prcdent a t produit par : \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 est leve grce lutilisation dun \ifthenelse habilement coupl avec la commande \isodd testant la parit dun nombre : \ifthenelse{\isodd{\value{page}}} { ... la page est impaire ... } { ... la page est paire ... } 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]{% \ifthenelse{\isodd{\value{page}}}{% \v@irpageimpaire{#1}{#2}{#3}}{ % renvoi sur page impaire \v@irpagepaire{#1}{#2}{#3}}} % renvoi sur page impaire
C p. 199

La commande \ltxpack est dnie comme suit. Tout dabord : \newcommand{\ltx@pack}[1]{% \upshape\textsf{#1}} dnissant la commande \ltx@pack permettant simplement de produire le nom du package en sans srif. On dnit ensuite :

11
6.3 p. 76

\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 nom du package extension et lautre comme sous-entre de extensions. La commande \protect permet ici dviter les ennuis si la commande \ltxpack est elle-mme en argument dune autre commande. Dans un mme ordre dide, la commande \ltxcom est dnie tout dabord par : \newcommand{\ltx@com}[1]{% \texttt{\symbol{92}#1}}

11

144

De nouveaux jouets

11.1 Quelques bricoles

145

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. dencadrer le texte objet du renvoi par des triangles correctement orients ; 2. de produire une note marginale avec la cible du renvoi. Les triangles sont obtenus laide de symboles contenus dans le package amssymb :
Oh les joulis triangles : $\blacktriangleleft$ et $\blacktriangleright$ ! Oh les joulis triangles : et !

Fig. 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...

Le petit triangle plat est obtenu grce la commande suivante : \newcommand{\petit@triangle}{% \makebox[2.5pt]{\tiny$\blacktriangle$}} On peut alors crire :
Mais, il sont tous \petit@triangle{}petits ces \petit@triangle{}triangles...
11.5

\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 base sur cet environnement pourrait tre 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 : \newenvironment{agrandirmarges}[2]{% \begin{list}{}{% \setlength{\topsep}{0pt}% \setlength{\listparindent}{\parindent}% \setlength{\itemindent}{\parindent}% \setlength{\parsep}{0pt plus 1pt}% \ifthenelse{\isodd{\value{page}}}% {\setlength{\leftmargin}{-#1}\setlength{\rightmargin}{-#2}} {\setlength{\leftmargin}{-#2}\setlength{\rightmargin}{-#1}} }\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.4 11.6

Mais, il sont tous petits ces triangles...

Il nest pas inutile de noter lusage de la bote de deux points et demi de large pour A faire croire ce naf de L TEX que cest la largeur eective de \blacktriangle. Ce qui nest bien entendu pas le cas, mais contribue coller ce petit triangle au mot qui le suit. Je sens que vous ntes pas convaincu, donc :
Mais, il sont tous {\tiny$\blacktriangle$}% petits ces {\tiny$\blacktriangle$}triangles... Mais, il sont tous petits ces triangles...

Voici nalement la commande permettant de faire un renvoi dans le cas dune page paire : \newcommand{\v@irpagepaire}[3]{% \petit@triangle#3{\small$\blacktriangleleft$}% le renvoi est gauche \marginpar{{\small% on crit en petit dans la marge % le numro et la page de la cible du renvoi ... $\blacktriangleright$ #1~\ref{#2} p.~\pageref{#2}}}} Pour la page impaire il faut faire la mme chose que pour la page paire, mais en tenant compte que cest une page impaire :-)

11

11.1.4 Changement de marges


plusieurs reprises dans ce document, jai eu recours des changement de marges A TEX avec le rsultat en provisoires. Cest le cas par exemple des exemples de code L face, ou pour les pigraphes. Pour ce faire, Marie-Paul Kluth qui maintient la Faq A franaise de L TEX avait suggr un environnement ressemblant celui-ci : \newenvironment{changemargin}[2]% {\begin{list}{}{% \setlength{\listparindent}{\parindent}% \setlength{\itemindent}{\parindent}%

11

146

De nouveaux jouets

11.2 Des notas


\setlength{\larnota}{.7cm} \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...

147

11.2

Des notas
Le dessin du pictogramme1 a t conu avec le logiciel xg et est reprsent la gure 11.2 en trois centimtres de large. Les notas insres a et l dans

!
Fig. 11.2 Le dessin du panneau danger le document, ont t produites par un environnement dni par votre serviteur, et base 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 :
\parshape=5 2cm 3cm 2cm 3cm 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 a a a a a a a a a aaaaaaaaa aaaaaaaaaa aaaaaaa aaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaa

Bon, il reste essayer de mettre limage dans le trou laiss par la commande \parshape. Essayons simplement :
\setlength{\larnota}{.7cm} \setlength{\largligne}{\textwidth-\larnota} \parshape=3 \larnota\largligne\larnota\largligne 0pt\textwidth\noindent% \includegraphics[width=\larnota]{notabene} Attention ce paragraphe a uniquement pour but de montrer que lon peut dcaler deux lignes dans un paragraphe [...]

11.8

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...

videmment, limage se pose sur la ligne comme nimporte quel autre caractre. On la met dans une bote de largeur nulle dont le contenu est align droite :
\setlength{\larnota}{.7cm} \setlength{\largligne}{\textwidth-\larnota}% \parshape=3 \larnota\largligne\larnota\largligne% 0pt\textwidth\noindent% \makebox[0pt][r]{% \includegraphics[width=\larnota]{notabene}}% Attention ce joli paragraphe a uniquement pour but de montrer que lon peut dcaler deux lignes dans un paragraphe [...]

11.7

11.9

Attention ce paragraphe a uniquement pour but de montrer que lon peut dcaler deux lignes dans un paragraphe [...]

11

Le nombre suivant le signe = permet de spcier le nombre de lignes auxquelles on imposera une dformation. Suivent ensuite des couples de dimensions indiquant le retrait et la longueur de chaque ligne dforme. Dans lexemple ci-dessus : les deux premires lignes auront un retrait de deux centimtres et mesureront chacune trois centimtres ; les deux lignes suivantes seront indentes dun centimtre et mesureront deux centimtres ; la cinquime et dernire spcication dtermine lallure de toutes les lignes restantes : retrait de zro centimtre et longueur de la ligne gale la longueur prdnie \textwidth. Pour insrer une nota dans un paragraphe, on va donc dplacer les deux premires lignes laide de cette commande.

Il reste faire subir au pictogramme, une translation verticale (la pictogramme est pratiquement carr, on se sert donc de la dimension \indnota) :
\setlength{\larnota}{.7cm} \setlength{\largligne}{\textwidth-\larnota} \parshape=3 \larnota\largligne\larnota\largligne 0pt\textwidth\noindent% \raisebox{-\larnota}{% \makebox[0pt][r]{% \includegraphics[width=\larnota]{notabene}}}% Attention ce joli paragraphe a uniquement pour but de montrer que lon peut dcaler deux lignes dans un paragraphe [...]

11.10

Attention ce joli paragraphe a uniquement pour but de montrer que lon peut dcaler deux lignes dans un paragraphe [...]

11

!
11.11

Attention ce joli paragraphe a uniquement

pour but de montrer que lon peut dcaler deux lignes dans un paragraphe [...]

1 Lide de ces pictogramme a t inspir par la lecture de TEXbook, comme je lexplique en introduction.

148

De nouveaux jouets

11.3 Des citations \indentationnota\largeurlignenota % \@totalleftmargin\linewidth% \raisebox{-\largeurnota+1ex}[0pt][0pt]{% \makebox[0pt][r]{% \includegraphics[width=\largeurnota]{notabene}% \hspace{\paddingnota}}}% \ignorespaces}{% \end{list}}

149

A Bon, encore rat, il faut faire croire L TEX que la bote quon translate verticalement est de taille nulle :

\setlength{\larnota}{.7cm} \setlength{\largligne}{\textwidth-\larnota} \parshape=3 \larnota\largligne\larnota\largligne 0pt\textwidth\noindent% \raisebox{-\larnota}[0pt][0pt]{% \makebox[0pt][r]{% \includegraphics[width=\larnota]{notabene}}}% Attention ce joli paragraphe a uniquement pour but de montrer que lon peut dcaler deux lignes dans un paragraphe [...]

On y est presque. Deux ajustements sont ncessaires : la bote est un peu trop basse, puisque la ligne de rfrence est le bas de la ligne du texte. Par consquent on peut enlever 1ex (la hauteur dun caractre) la translation ; il serait bon dajouter un espace entre le pictogramme est le texte. On dnit pour cela une longueur \padnota.
\setlength{\padnota}{5pt} \setlength{\larnota}{.7cm} \setlength{\indnota}{\larnota+\padnota} \setlength{\largligne}{\textwidth-\indnota} \parshape=3 \indnota\largligne\indnota\largligne 0pt\textwidth\noindent% \raisebox{-\larnota+1ex}[0pt][0pt]{% \makebox[0pt][r]{% \includegraphics[width=\larnota]{notabene}% \hspace*{\padnota}}}% Attention ce joli paragraphe a uniquement pour but de montrer quon peut dcaler deux lignes dans un paragraphe [...]

11.12

Attention ce joli paragraphe a uniquement pour but de montrer que lon peut dcaler deux lignes dans un paragraphe [...]

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 eet la dimension \leftmargin dans une liste correspond la marge de gauche relativement lenvironnement contenant la dite liste.

11.3

Des citations
Les pigraphes provocatrices de ce manuel ont t produites par un environneA ment que jai nomm epigraphe. Par exemple au dbut du code L TEX 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}} Il faut bien entendu notre citation : dclarer la bote quon utilise pour sauvegarder lorigine de

11.3.1 pigraphes

Attention ce joli paragraphe a uniquement pour but de montrer quon peut dcaler deux lignes dans un paragraphe [...]

11

Et ouala ! Il ne reste qu modier ce code pour crer un nouvel environnement. Le technique choisie ici est de se baser sur lenvironnement list prsent au paragraphe 9.5 page 110. Le code complet de lenvironnement est le suivant : \newenvironment{nota}{% \begin{list}{}{% \setlength{\labelsep}{0pt}% \setlength{\rightmargin}{15pt}} \item% \setlength{\indentationnota}{% \@totalleftmargin+\largeurnota+\paddingnota}% \setlength{\largeurlignenota}{% \linewidth-\largeurnota-\paddingnota}% \parshape=3% \indentationnota\largeurlignenota %

11.13

11
4.4.5 p. 57

\newsavebox{\nomepigraphe} Les espaces insres avant et aprs cet environnement permettent de caler correctement lpigraphe entre le dbut du chapitre et la mini table des matires.

150

De nouveaux jouets

11.3 Des citations ... \begin{list}{}{% % on met 25pt droite comme gauche \setlength{\rightmargin}{\leftmargin}% % on indente le paragraphe \setlength{\itemindent}{10pt}}% \item[]} ...
Avant avant avant avant avant avant avant avant avant avant avant avant avant avant \begin{citationii}{% Michel \textsc{Bakounine}, 1845} Dans presque tous les pays les femmes sont esclaves ; tant quelles ne seront pas compltement mancipes, notre propre libert sera impossible. \end{citationii} Aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs

151

11.3.2 Citations
Quelques citations parsment le manuel que vous avez sous les yeux. Elles ont t produites avec un environnement fait maison :
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 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

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

11.14

Nous allons crer pas pas cet environnement de manire mettre le doigt sur A quelques problmes classiques auxquels on peut tre confront avec monsieur L TEX. On peut dans un premier temps denir lenvironnement de citation en sinspirant de celui dni au paragraphe 4.5.2 page 59 : % un boite pour l auteur de la citation \newsavebox{\auteurcitation} \newenvironment{citationi}[1]{% clause begin \small\slshape% on passe en petit et pench % on sauve l argument 1 pour l auteur \savebox{\auteurcitation}{\upshape#1}% \begin{list}{}{}% on commence une liste avec tout par dfaut \item[]} % clause end {% on saute un paragraphe et on pousse l auteur de la citation droite \par\mbox{}\hfill\usebox{\auteurcitation} \end{list}} Cet embryon de citation est une utilisation basique de lenvironnement list.
Avant avant avant avant avant avant avant avant avant avant avant avant avant avant \begin{citationi}{% Michel \textsc{Bakounine}, 1845} Dans presque tous les pays les femmes sont esclaves ; tant quelles ne seront pas compltement mancipes, notre propre libert sera impossible. \end{citationi} Aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs 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

Maintenant on se propose dinsrer des guillemets en dbut et n de citation, avec le code suivant : ... \begin{list}{}{% % on met 25pt droite comme gauche \setlength{\rightmargin}{\leftmargin}% % on indente le paragraphe \setlength{\itemindent}{10pt}}% \item[] \ignorespaces}% guillemets ouvrants en dbut de citation {\unskip % guillemets fermants en n de citation \par\mbox{}\hfill\usebox{\auteurcitation} ... On se rfrera aux paragraphes 9.2.1 et 9.2.1 page 100 pour la signication des commandes \ignorespaces et \unskip. Ce qui donne :
Avant avant avant avant avant avant avant avant avant avant avant avant avant avant \begin{citationiii}{% Michel \textsc{Bakounine}, 1845} Dans presque tous les pays les femmes sont esclaves ; tant quelles ne seront pas compltement mancipes, notre propre libert sera impossible. \end{citationiii} Aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs aprs 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

11

11.16

11

11.15

tape suivante : on souhaite insrer une marge droite et indenter lgrement la citation. Il sut de modier la dnition de la liste comme suit :

Enn, dernier eort, on se propose de rendre largument auteur de la citation optionnel de manire pouvoir produire une citation sans auteur si besoin est. Lide

11.17

152

De nouveaux jouets

11.4 Des lettrines En eet, pour crer une commande avec TEX, on peut crire :
\def\bidule{machin truc} \bidule{} et \bidule
11.19

153

est de dclarer un boolen de manire mmoriser le fait quun auteur est prsent ou pas : \newboolean{auteurcitationpresent} On modie ensuite la dnition de lenvironnement comme suit : \newenvironment{unecitation}[1][] {% argument optionnel vide par dfaut % Clause begin : % on note si on a un auteur pour la citation ou pas \ifthenelse{\equal{#1}{}}% {\setboolean{auteurcitationpresent}{false}}% {\setboolean{auteurcitationpresent}{true}}% ... Puis on modie la clause \end de lenvironnement en insrant lauteur uniquement sil est prsent en argument : { % clause end de l environnement % s il y a un auteur on le met pouss tout droite \ifthenelse{\boolean{auteurcitationpresent}}% {\par\nopagebreak\hfill\usebox{\nomcitation}} {}% sinon on ne fait rien ... \end{list}}

machin truc et machin truc

Avec un ou plusieurs arguments, on crira


\def\bidule#1#2{(1=#1) et (2=#2)} \bidule{ab}{cd}
11.20 11.21 11.22

(1=ab) et (2=cd)

On note quen TEX, on crit dans la dnition les arguments dans lordre. Ce qui est intressant et que lon va exploiter pour notre lettrine, peut tre illustr par les exemples dutilisation de la commande \bidule suivants :
\def\bidule#1#2{(1=#1) et (2=#2)} \bidule abcd \bidule ab cd (1=a) et (2=b)cd (1=a) et (2=b) cd

11.4

Des lettrines
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 :

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 : \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 (1=a) et (2=bc)d (1=a) et (2=b)cd

\lettrine{Les documents} soigns font souvent appel aux lettrines, qui selon les rgles dusage en typographie...

es documents soigns font souvent appel aux lettrines, qui selon les rgles dusage en typographie...

Il y a deux dicults dont une a dj t surmonte : comment appliquer un traitement une seule lettre dun argument dune commande ; comment dcaler les lignes pour laisser la place la lettrine. On utilisera pour cela la commande \parshape comme pour la nota ( 11.2 page 146).

11.18

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 :
\def\glurps#1#2/{{\Huge#1}\textsc{#2}} \newcommand{\lettrinedev}[1]{\glurps#1/} \lettrinedev{Bon b} ouala le travail

11

A Au niveau de L TEX cest la commande \newcommand qui permet de crer de A nouvelles commandes. Une des limitations de L TEX pour ce qui concerne la cration de commandes rside dans le fait que les dlimiteurs darguments sont toujours les caractres { et }. Comme nous le verrons un peu plus bas, au niveau de TEX, cette contrainte nexiste pas.

On va mme pousser le vice jusqu mettre la grosse lettre un peu plus bas :
\def\glurps#1#2/{% {\Huge#1}% \raisebox{\baselineskip}{\textsc{#2}}} \newcommand{\lettrinedev}[1]{\glurps#1/} \lettrinedev{Bon b} ouala le travail

11.23

11.4.1 La commande \glurps ou un pas vers TEX

Bon b ouala le travail

11

11.24

on b ouala le travail

154

De nouveaux jouets

11.4 Des lettrines \newsavebox{\lalettrine}% une bote pour la lettrine \def\creerlettrine#1#2/{% \savebox{\lalettrine}{% {\lettrinefont#1}\raisebox{\baselineskip}{\textsc{#2}}}% \settowidth{\indletB}{{\lettrinefont#1}}% \settowidth{\indletH}{\usebox{\lalettrine}}}

155

11.4.2 Insertion de la lettrine dans un paragraphe


Pour insrer la lettrine dans un paragraphe on aura recours la commande \parshape. La gure 11.3 montre que lon doit dnir deux dimensions pour insrer la lettrine : 1. lindentation de la premire ligne, correspondant la largeur de la grosse lettre plus celle de la suite de la lettrine ; 2. lindentation de la deuxime ligne, correspondant la largeur de la grosse lettre ventuellement augmente dune espace pour arer un peu.

H op
Paragraphe

La commande \creerlettrine (digne hritire de \glurps) sauve donc la lettrine dans une bote et en prote pour sauvegarder la largeur de la grosse lettre dans la dimension \indletB, et la dimension de lensemble dans \indletH. Tentons maintenant, une premire version de la lettrine : \newcommand{\lettrineI}[1]{% \creerlettrine#1/% \setlength{\larligH}{\textwidth-\indletH}% \setlength{\larligB}{\textwidth-\indletB}% \parshape=3\indletH\larligH\indletB\larligB% 0cm\textwidth% \noindent\usebox{\lalettrine}} Qui donne :3
\lettrineI{Ce chapitre} a pour but de produire des caractres les uns derrire les autres et ainsi de former des mots donnant lieu des phrases. a pour but de produire des caractres les uns derrire les autres et ainsi de former des mots donnant lieu des phrases.

Fig. 11.3 Insertion de la lettrine dans un paragraphe On dnit les dimensions suivantes : \indletH et \larligH respectivement lindentation et la largeur de la premire ligne (la ligne du Haut ) du paragraphe contenant une lettrine ; \indletB et \larligB la mme chose pour la deuxime ligne (la ligne du Bas ) Ceci permet dcrire quelque chose du genre :
\setlength{\indletB}{.8cm}% au pif \setlength{\larligB}{\textwidth-\indletB} \setlength{\indletH}{1.5cm}% au pif \setlength{\larligH}{\textwidth-\indletH} \parshape=3 \indletH\larligH \indletB\larligB 0pt\textwidth \noindent Ce paragraphe est prt recevoir une jolie lettrine qui occupera deux lignes environ voire mme exactement...

e chapitre

11.25

Ce paragraphe est prt recevoir une jolie lettrine qui occupera deux lignes environ voire mme exactement...

Les lecteurs trs attentifs auront not que cette 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 la commande \lettrine, on crira donc : \noindent\hspace{-\indletH}% dcalage quivalent la largeur totale qui produira :
\lettrineII{Ce chapitre} a pour but de produire des caractres les uns derrire les autres et ainsi de former des mots donnant lieu des phrases.

11.27 11.28

11

Lemplacement est prt, il reste insrer la grosse lettre et ce qui suit la bonne place. On commence par crer une commande pour la fonte utiliser :
\DeclareFixedFont{% \lettrinefont}{T1}{ppl}{m}{n}{2\baselineskip} {\lettrinefont Pour crire les grosses lettres}

ractres les uns derrire les autres et ainsi de former des mots donnant lieu des phrases.

Ce chapitre a pour but de produire des ca11

Puis on intgre la translation verticale : \noindent\hspace{-\indletH}% \raisebox{-\baselineskip}[0pt][0pt]{\usebox{\lalettrine}} qui produira :


\lettrineIII{Ce chapitre} a pour but de produire des caractres les uns derrire les autres et ainsi de former des mots donnant lieu des phrases.
3

Pour crire les grosses lettres

11.26

Ensuite on va modier la commande \glurps2 et la commande \lettrine pour quelles calculent elles-mmes les dimensions dnies ci-avant (\indletH, \larligH, ...).
Vous pourrez notez quil est tout fait inadmissible dutiliser des noms aussi ridicules pour les commandes que vous serez amens dnir...
2

11.29

de former des mots donnant lieu des phrases.

e chapitre a pour but de produire des caCractres les uns derrire les autres et ainsi

Des traits ont t rajouts pour bien situer la bote englobant la lettrine.

156

De nouveaux jouets

11.6 Un glossaire

157

Les lecteurs encore veills auront remarqu que la grosse lettre est un peu trop rapproche du texte. On peut donc augmenter lgrement la dimension \indletB. Voici nalement le code de la lettrine : \newcommand{\lettrine}[1]{% \creerlettrine#1/% \addtolength{\indletB}{3pt}% pour avoir un peu despace \setlength{\larligH}{\textwidth-\indletH}% \setlength{\larligB}{\textwidth-\indletB}% \parshape=3% \indletH\larligH\indletB\larligB0cm\textwidth % \noindent\hspace{-\indletH}% \raisebox{-\baselineskip}[0pt][0pt]{\usebox{\lalettrine}}}

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@ type dentre 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 ici 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 % rednition \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 :

11.5

Un sommaire
Cest une pratique courante que le sommaire dun document rdig en franais soit plac en tte de document et contient un condens de la table des matires. Cette dernire est quant elle gnralement insre la n. En fouillant dans le chier book.cls on trouve une instruction commune aux commandes \tableofcontents et \listoffigures : la commande \@starttoc. \@starttoc{toc} pour la commande \tableofcontents et : \@starttoc{lof}
A TEX \@starttoc pour la commande \listoffigures. La commande interne de L permet de commencer un table (matires, gures, etc.) partir dun chier auxiliaire portant lextension donn en argument, ici toc pour la table des matire et lof pour la liste des gures. Nous avons donc cr dans un premier temps la commande \sommaire comme suit :

\newcommand{\sommaire}{% \chapter*{Sommaire} \@starttoc{som}} Le chier portant lextension som contiendra les entres du sommaire. Ltape suivant consiste remplir le chier som. Pour cela, il 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}

\aclORIG{som}{section}{...} cest donc la commande \l@section qui sera appele pour mettre en page lentre. Pour mettre en page le sommaire diremment, il aurait fallu crire : \aclORIG{som}{somsection}{...} puis dnir la commande \l@somsection pour mettre en page les entres de sections dans le sommaire...

11

11

11.6

Un glossaire
Il est souvent utile dagrmenter un document dun glossaire ayant pour but de rendre moins mystrieux les termes du jargon quon appelle aussi vocabulaire technique. Nous proposons ici une mthode sappuyant sur le programme makeindex prsent au paragraphe 6.3 page 76 et sur le paragraphe 10.1 page 117 prsentant les outils permettant de changer lallure de lindex.

158

De nouveaux jouets

11.6 Un glossaire o \boitentreeglossaire est : \newcommand{\boiteentreeglossaire}[1]{% \parbox[b]{\labelwidth}{% \setlength{\fboxsep}{3pt}% \setlength{\fboxrule}{.4pt}% \shadowbox{\sffamily#1}\\\hfill\mbox{}}}

159

11.6.1 Tordre le cou makeindex


De mme que pour la cration dun index, on doit mettre dans le prambule du document la commande \makeglossary. Cette commande demande monsieur A TEX de bien vouloir crer un chier portant lextension glo, rceptacle des entres L de glossaire. On pourra crire : \glossary{machin chouette chose} pour ajouter machin chouette chose dans le glossaire. En ralit cette commande a pour eet dajouter dans le chier dextension glo, la ligne : \glossaryentry{machin chouette chose}{ n o page } La phase suivante consiste produire le glossaire proprement dit grce au programme makeindex et au chier dentres de glossaire : makeindex -s style glossaire document .glo -o document .glx

On se reportera au paragraphe mentionne ci-dessus pour les explications de ces commandes. En tous les cas on aura :
\begin{leglossaire} \item[Sphre] Patate bien rgulire. \end{leglossaire} Sphre
11.30

Patate bien rgulire.

11.6.3 Produire le chier .glx


De manire ce que makeindex produise le chier dextension glx avec cet environnement on doit crire le chier de style suivant : preamble "\n\begin{leglossaire}" postamble "\n\end{leglossaire}" Doit galement apparatre dans ce chier de styleque lon nommera par exemple glossaire.istle mot clef dsignant les entres de glossaire dans le chier .glo : 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 document .glo -o document .glx on aura dans le chier .glx : \begin{leglossaire} \item [Sphre] Patate bien rgulire., n o de page \end{leglossaire} Si vous mavez bien suivi jusquici, vous devriez rler et me dire : faudrait ptt voir enlever cette vilaine virgule et ce numro de page... Certes. La virgule est automatiquement mise par makeindex comme dlimiteur de premier niveau entre une entre dindex et le numro de page o apparat cette entre. Pour utiliser autre chose quune virgule (ici rien en loccurrence) on crit dans le chier de style :

qui produit, en utilisant comme chier de style gglo.ist le glossaire suivant : \begin{theglossary} \item machin chouette chose\pfill 27 \end{theglossary} On note donc que le glossairequil va falloir insrer explicitement dans notre documentest constitu par lenvironnement theglossary et que chaque entre donne lieu un \item et son numro de page (ici 27 pour lexemple). Pour arriver nos ns, il nous faudra :
A TEX ; 1. dnir lenvironnement theglossary car rien nest fait par dfaut dans L

2. produire les entres avec un terme suivi de sa dnition, sous la forme : \begin{theglossary} \item[ terme ] blabla de dfinition \end{theglossary} 3. supprimer les numros de pages puisquils napparaissent pas dans un glossaire. Ces trois tches font lobjet des paragraphes suivants.

11.6.2 Un environnement pour le glossaire

11

Au paragraphe 9.5.6 page 115 du chapitre 9, nous avons propos une liste particulire permettant de prsenter les entres dans une bote avec une ombre. La dnition tait la suivante : \newenvironment{glossaire}{\begin{list}{}{% \setlength{\labelwidth}{.5\textwidth}% \setlength{\labelsep}{-.8\labelwidth}% \setlength{\itemindent}{\parindent}% \setlength{\leftmargin}{25pt}% \setlength{\rightmargin}{0pt}% \setlength{\itemsep}{.8\baselineskip}% \renewcommand{\makelabel}[1]{\boiteentreeglossaire{##1}}}} {\end{list}}

11

160 delim_0 ""

De nouveaux jouets

11.7 Des onglets

161

Il reste rgler le cas du numro de page. La solution que jai adopte consiste utiliser une commande absorbante en guise de mise en forme du numro de page (cf. 6.3.3 page 77). Voici la commande\entreeglossaire modie : \newcommand{\pasdenumerodepage}[1]{}% mange largument \newcommand{\entreeglossaire}[2]{% \glossary{[#1] #2|pasdenumerodepage}} ceci permet de crer le chier .glx de la forme : \begin{leglossaire} \item [Sphre] Patate bien rgulire.\pagedenumerodepage{27} \end{leglossaire} qui enverra le numro de page (ici 27 pour lexemple) dans le vide intersidral.

Enn \jobname contient le nom du chier (ou document matre) en cours de compilation et la commande \typeout ache un message sur la console de compilation. Enn, le chier glossaire.ist contient nalement : delim_0 "" preamble "\n\\begin{leglossaire}" postamble "\n\\end{leglossaire}" keyword "\\glossaryentry"

11.7

Des onglets
Javais initialement prvu de mettre en page ce document sur du papier plus petit que le standard A4 pour ensuite le massicoter. Do lide de crer des onglets, petits carrs colors se retrouvant au ras de la feuille aprs massicotage. Le fait que ltablissement dans lequel je travaille sest spar de son massicot hydraulique dune part, et que dautre part tout le monde na pas facilement accs ce type de matriel ma fait changer davis quant au bien fond que ce document devait imprativement tre massicot. Les onglets sont malgr tout rests dans le document, bien que leur place nest plus tout fait au ras de la feuille. Voici comment ils ont t gnrs...

11.6.4 Recollons les morceaux


Pour en nir avec le glossaire, il nous faut crer une commande susamment souple qui aura essentiellement pour but de produire un chapitre contenant le glossaire, cest--dire dinsrer dans le document le chier .glx. On peut dcomposer les tches eectuer par la commande en question, comme suit : crer un nouveau chapitre (avec comme titre glossaire ) ; lire les entres de glossaire (commandes \entreeglossaire) depuis un chier ; insrer le chier .glx Voici la commande eectuant ces traitements : \newcommand{\printglossary}[1][glossaire.tex]{% \chapter*{Glossaire} \label{chap-glossaire} \markboth{Glossaire}{Glossaire}% entte de page % insertion dans la table des matires : \addcontentsline{toc}{chapter}{Glossaire} % insertion des entres de glossaire : \InputIfFileExists{#1}{% \typeout{Donnes du glossaire}}{% \typeout{Pas de fichier glossaire.tex}} % insertion du chier . glx \InputIfFileExists{\jobname.glx}{% \typeout{Glossaire tri}}{% \typeout{Pas de fichier \jobname.glx}} } On notera les points suivants concernant cette commande : le chier dentre de glossaire est par dfaut le chier nomm glossaire.tex ; on a dcid dinsrer le glossaire dans la table des matires ; pour insrer un chier, on fait appel la commande \InputIfFileExists A TEX ayant la forme suivante : dnie dans le format L \InputIfFileExists{ chier inclure } A TEX si le chier existe } { code L A { code L TEX si le chier nexiste pas }

11.7.1 Ide retenue


Le cahier des charges est le suivant : les onglets apparaissent sur chaque page du cot oppos la reliure ; ils sont produits lenvers sur les pages paires ; ils doivent tre une hauteur proportionnelle au numro du chapitre. Do lide : dutiliser les fonctionnalits du package fancyhdr pour produire les onglets ; utiliser des translations verticales pour les positionner ;

11.7.2 Les botes dans la marge


De manire produire les numros de chapitres dans la marge, jai simplement cr des botes paragraphe de largeur et hauteur imposes :4 \newlength{\ongletwidth} \newlength{\ongletheight} \setlength{\ongletheight}{32pt} \setlength{\ongletwidth}{.96cm} Voici la commande produisant la bote : \newcommand{\b@iteonglet}{% \colorbox[gray]{.7}{% une bote avec un fond gris contenant % la bote paragraphe de largeur et hauteur xe : \parbox[t][\ongletheight][s]{\ongletwidth}{% \vfill%
4 On remarquera cette maladie des informaticiens de nommer les variables avec des noms moiti en franais et en anglais...

11

11

162 \centering% % on applique un eet miroir selon la parit \ifthenelse{\isodd{\value{page}}}{% \ongletfont\thechapter}{% \reflectbox{\ongletfont\thechapter}}% \vfill}}}

De nouveaux jouets de la page

11.7 Des onglets % page paire \hspace*{-\marginparwidth}\hspace*{-\marginparsep}}% \b@iteonglet} Voici ce que donnerait cette commande sur cette page : 163

163

On notera lutilisation de la commande \reflectbox du package graphicx. On pourra galement remarquer que le contenu de la bote paragraphe est centr en hauteur grce deux ressorts verticaux et quon insre nalement dans cette bote le numro du chapitre dans une mystrieuse fonte enclenche par la commande \ongletfont.
Et voici la bote :
11.31

11
Pour ne placer corretement le numro de la page dans lentte, il faut donc leurrer A L TEX en utilisant une bote de largeur nulle contenant la bote de longlet et les espaces de translation horizontale : \newcommand{\ongletII}{% \makebox[0pt][l]{% \ifthenelse{\isodd{\value{page}}}{% \hspace*{\marginparwidth}\hspace*{\marginparsep}}{% \hspace*{-\marginparwidth}\hspace*{-\marginparsep}}% \b@iteonglet}} qui donnerait sur cette page : 163

...

Et voici la bote : \b@iteonglet...

11

Il est important de noter que les botes produites par \colorbox sont assujetties la dimension \fboxsep :
En voici une autre :
11.32

...

\setlength{\fboxsep}{15pt} En voici une autre : \b@iteonglet...

11

11.7.3 Position des onglets


Pour positionner les onglets, il faut eectuer deux translations : une horizontale pour pousser longlet jusquau bout de la zone de note marginale ; une verticale en fonction du numro de chapitre. On utilisera le mcanisme de dnition des enttes de page du package fancyhdr pour positionner les onglets. Lide est simple, on crit : \fancyhead[RO]{\bfseries\thepage\onglet} \fancyhead[LE]{\onglet\bfseries\thepage} pour dire quen plus du numro de page en gras, on mettra dans lentte le rsultat de la commande \onglet ( droite sur les pages impaires et gauche sur les pages paires). Nous allons voir comment construire pas pas cette commande. Pour les pages impaires, sil on veut pousser la bote de longlet contre le bord de la zone rserve aux notes marginales, on doit galement tenir compte de la largeur totale de cette bote, comme le montre les points de rfrences dans le schma cidessous :

26
corps du document

27

zones des notes marginales

11

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 :5 \newcommand{\ongletI}{% \ifthenelse{\isodd{\value{page}}}{% % page impaire \hspace*{\marginparwidth}\hspace*{\marginparsep}}{%
5 Je suis toujours trs mu de commencer une phrase par le beau Q de la police Computer Modern...

Par consquent, le positionnement horizontal est obtenu grce la commande : \newcommand{\ongletIII}{% \makebox[0pt][l]{% \ifthenelse{\isodd{\value{page}}}{% page impaire \hspace*{\marginparwidth}\hspace*{\marginparsep}% \hspace*{-\ongletwidth}\hspace{-2\fboxsep}}{% page paire \hspace*{-\marginparwidth}\hspace*{-\marginparsep}}% \b@iteonglet}} puisqu la largeur de la bote de longlet, il faut rajouter deux fois la dimension \fboxsep induite par la commande \colorbox.

11

164 Positionnement vertical

De nouveaux jouets

11.7 Des onglets \hspace*{-\marginparwidth}\hspace*{-\marginparsep}}% % calcul de la position verticale \setlength{\ongletvpos}{% -\ongletvshift -\ongletheight*\real{\thechapter}*\real{\ongletsep}}% % positionnement de l onglet \raisebox{\ongletvpos}[0pt][0pt]{\b@iteonglet}}}

165

Reste maintenant traiter le problme du positionnement vertical... La commande \raisebox va nous permettre de positionner verticalement longlet. De plus avec la forme suivante : \raisebox{ dplacement }[0pt][0pt]{ objet dplacer }
A on fait croire L TEX que l objet dplacer a une hauteur nulle. Il ny aura par consquent pas de dplacement des objets aux alentours et en particulier ceux constituant lentte de la page. Par exemple, en crivant :

\newcommand{\ongletIV}{% \makebox[0pt][l]{% \ifthenelse{\isodd{\value{page}}}{% \hspace*{\marginparwidth}\hspace*{\marginparsep}% \hspace*{-\ongletwidth}\hspace{-2\fboxsep}}{% \hspace*{-\marginparwidth}\hspace*{-\marginparsep}}% \raisebox{-5cm}[0pt][0pt]{\b@iteonglet}}} On place partir dici un onglet cinq centimtres vers le bas : 164 La mthode choisie pour dnir le placement de la bote est la suivante : pour le chapitre de numro c : se dplacer vers le bas dune dimension xe donne df ; ajouter ce dplacement un dplacement proportionnel c. Le dplacement de longlet pour le chapitre c peut scrire : c hauteur onglet

Ouf ! a marche... Oui pour le chapitre ne faisant pas partie des annexes. Mais pour ceux en faisant partie, numrots A, B, etc. a ne collera pas. Puisquon ne pourra pas calculer la position verticale en fonction de ces numros. En petit coup dil dans book.cls nous conrme cela : \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 commande \frontmatter : \renewcommand\frontmatter{% \cleardoublepage \setcounter{chapitre}{1} [...] } Puis chaque appel de la commande \chapter, on incrmente le compteur : \renewcommand{\chapter}{% \cleardoublepage \stepcounter{chapitre} \thispagestyle{plain} [...] }

11

o est un facteur permettant despacer les onglets. Si = 1, les onglets seront espacs dexactement la longueur de la bote, avec = 2 ils seront spars par un espacement gal deux fois la hauteur de longlet, etc. Voici pour le premier dplacement : % position de la premire tiquette \newlength{\ongletvshift} \setlength{\ongletvshift}{2cm} Puis pour le facteur alpha :

11

\newcommand{\ongletsep}{1.37} On dclare une dimension permettant de positionner longlet : \newlength{\ongletpos} On peut maintenant crire, la commande \onglet : \newcommand{\onglet}{% \makebox[0pt][l]{% \ifthenelse{\isodd{\value{page}}}{% \hspace*{\marginparwidth}\hspace*{\marginparsep}% \hspace*{-\ongletwidth}\hspace*{-2\fboxsep}% }{%

11

166

De nouveaux jouets

A 11.8 Exemples L TEX

167

11.8

A Exemples L TEX
Pour clore ce chapitre, nous prsenterons lenvironnement ltxexemple permettant dintroAT X et le rsultat duire des exemples de code L E dans le document...

Pour clore ce chapitre, nous prsenterons lenvironnement \ltxenv{ltxexemple} permettant dintroduire des exemples de code \LaTeX{} et le rsultat dans le document...

il faut dune part pouvoir produire contenu tel quel (en verbatim), et dautre part A TEX le ferait. Finalement, on se pouvoir linterprter cest--dire le traiter comme L A rend compte quil faudrait demander L TEX de traiter deux fois contenu ce qui nest pas envisageable. Une solution pour contourner ce problme est prcisment de sauvegarder contenu dans un chier pour pouvoir le rutiliser, soit en tant que A verbatim, soit pour tre interprter par L TEX. 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
Ne me demandez pas quoi sert la commande \VerbatimEnvironment non documente dans le package, mais ncessaire au bon fonctionnement de lenvironnement dni ci-dessus.

11.8.1 Outils ncessaires


Le package fancyvrb propose deux fonctionnalits axes autour des chiers. Tout dabord, la commande \VerbatimInput permet dinsrer le contenu dun chier. Par exemple : \VerbatimInput[lastline=4]{jouets.tex} donne (jouets.tex est le chier source de ce chapitre) : \chapter{De nouveaux jouets} \label{chap-jouets} \begin{epigraphe}{Le Cantique des cantiques Ct \textbf{7} 11} Ensuite, lenvironnement VerbatimOut ralisant la tche inverse : \begin{VerbatimOut}{ chier } A TEX code L \end{VerbatimOut}
A stockera le code L TEX dans le chier nomm chier . Le deuxime outil ncessaire est dni en sinspirant de la dnition des commandes \settowidth, \settoheight, etc. dans le chier latex.ltx. Il sagit dune commande permettant de rcuprer la hauteur totale dun objet, cest--dire sa hauteur additionne de sa profondeur :

11.33

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 Ainsi : \begin{ltxexemplei} du code \LaTeX{}... \end{ltxexemplei} du code \LaTeX{}...
A du code L TEX...

donne :

Il reste donc modier la mise en page des deux parties. Ce qui fait lobjet du paragraphe suivant.

\newcommand{\settototalheight}[2]{% \setbox\@tempboxa\hbox{{#2}}% sauvegarde de lobjet mesurer \setlength{#1}{\ht\@tempboxa}% rcupration de la hauteur \addtolength{#1}{\dp\@tempboxa}% laquelle on ajoute la profondeur \setbox\@tempboxa\box\voidb@x}% vidange de la bote temporaire

11.8.3 Mises en bote


Lide de base consiste mettre dans deux botes : \newsavebox{\b@iteentree} \newsavebox{\b@itesortie}
A TEX). On pour stocker l entre (le code) et la sortie (le code interprt par L crira donc dans la clause end de lenvironnement :

11

On notera lutilisation des commandes TEX, \ht et \dp renvoyant respectivement la hauteur et la largeur dune bote. La commande \setbox et lquivalent TEX de A TEX et enn, \savebox. La bote \@tempboxa est une bote temporaire utilise par L la bote \voidb@x est une bote vide.

11

11.8.2 Le principe de lenvironnement ltxexemple


Lenvironnement ltxexemple que nous prsentons en dbut de section, est un peu plus complexe que ce que nous avons rencontr jusqu maintenant. En eet lorsquon crit : \begin{ltxexemple} contenu \end{ltxexemple}

[...] \end{VerbatimOut}% \begin{ltxexempleenv}% pour agrandir les marges \savebox{\b@iteentree}{% sauvegarde du code en verbatim \begin{minipage}{.53\linewidth} \VerbatimInput{\jobname.exa} \end{minipage}}% \savebox{\b@itesortie}{% code interprt \begin{minipage}{.44\linewidth} \setlength{\parindent}{10pt}% par dfaut 0pt

168 \input{\jobname.exa} \end{minipage}}% \usebox{\b@iteentree} \usebox{\b@itesortie} \end{ltxexempleenv}


11.1.4 p. 144

De nouveaux jouets

A 11.8 Exemples L TEX

169

\newcounter{c@exemple}[chapter] qui sera donc remis zro chaque chapitre. On prcise la manire dont il sachera lorsquon y fera rfrence : \renewcommand{\thec@exemple}{\thechapter.\arabic{c@exemple}} chaque appel lenvironnement ltxexemple, on fera appel : \refstepcounter{c@exemple} pour incrmenter le compteur et mettre jour le systme de rfrence. La petite bote noire que vous avez pu apercevoir au milieu des exemples a pour largeur \l@rgeurnumex (dnie 16 points) et est produite par : \newcommand{\affichenumex}{% \raisebox{-1.7pt}[0pt][0pt]{% \setlength{\fboxsep}{.7pt}% \colorbox{black}{% la bote noire \makebox[\l@rgeurnumex]{% une bote de largeur xe (16 pt) \color{white}% le contenu en blanc \tiny\textsf{\thec@exemple}}}}} Ainsi :
11.36

Lenvironnement ltxexempleenv est analogue celui que nous avons prsent au paragraphe concernant l agrandissement des marges . La seule dirence est quil bascule en \small et eectue quelques rglages sur les blancs verticaux. On notera que la bote entre occupera 53% de la largeur de la page et, la bote sortie 44%. Ainsi, le code : \begin{ltxexempleii} du code \LaTeX{}... \par\noindent et cest tout. \end{ltxexempleii} Donnera :

du code \LaTeX{}... \par\noindent et cest tout.

AT X... du code L E 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 diteur6 ajoute des espaces pour lindentation du source. Ainsi le code : \begin{ltxexempleii} du code \LaTeX{}... \par\noindent et cest tout. \end{ltxexempleii} donnerait :

La petite bote (\affichenumex)

La petite bote ( 11.36 )

Un nouvelle version de lenvironnement ltxexemple pourrait donc tre : \newenvironment{ltxexempleiii}{% \VerbatimEnvironment % \begin{VerbatimOut}[gobble=2]{\jobname.exa}}{% \end{VerbatimOut}% \begin{ltxexempleenv}% \refstepcounter{c@exemple}% incrmentation du compteur \savebox{\b@iteentree}{ [...] }% \savebox{\b@itesortie}{ [...] }% \usebox{\b@iteentree}% \kern2pt% \parbox{3pt}{\rotatebox{90}{\affichenumex}}% \kern2pt% \usebox{\b@itesortie} \end{ltxexempleenv}}% qui donnera :
\setlength{\fboxsep}{-2pt} \setlength{\fboxrule}{.5mm} Ceci est un \fbox{EXEMPLE} idiot...
11.37

11

code \LaTeX{}... ar\noindent cest tout.

AT X... arcest tout. code L E

11

La suite de la mise en page consiste en la cration du trait central. Ceci fait lobjet du paragraphe 11.8.5 page 170. Avant cela nous nous attarderons sur la numrotation des exemples.

Ceci est un EXEMPLE idiot...

11.8.4 Numrotation des exemples


4.1 p. 43
6

La dernire dicult est de grer le systme de rfrencement. En eet, on ne peut pas crire : : Voici un exemple.\label{monexemple}. Puisque la squence \label{monexemple} apparatra dans lexemple :

Pour numroter les exemples, il est ncessaire de dclarer un compteur


Je veux bien sr parler de vi, // pardon, Emacs...

170
11.38

De nouveaux jouets
Voici un exemple.

A 11.8 Exemples L TEX

171

Voici un exemple.\label{monexemple}

% hauteur du trait sans la bote du numro \setlength{\tempodim}{\hauteurtrait-\l@rgeurnumex} Nous avons dcid aprs un vote bulletin secret en assemble gnrale, de dessiner 70% du trait au dessus du numro et 30% en dessous. Par consquent le trait central est produit dans un \parbox comme suit : % le trait central \parbox{3pt}{% \begin{center} \rule{3pt}{.7\tempodim}\\\nointerlineskip % 70% au dessus \rotatebox{90}{\affichenumex}\\\nointerlineskip % \rule{3pt}{.3\tempodim}% 30% en dessous \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 de la bote avec titre pour la mini-table 10.7.4 p. 136 des matires.
Voil, cest tout pour ce merveilleux Voil, cest tout pour ce merveilleux environenvironnement \ltxenv{ltexexemple}. Notez que la nement ltexexemple. Notez que la dimension dimension \texttt{3pt} pourrait faire lobjet 3pt pourrait faire lobjet de la dnition dune de la dfinition dune longueur... longueur...
11.39

Ce qui nest pas souhaitable... La solution adopte ici a t de passer lventuelle tiquette de \label lenvironnement par le truchement dune commande. On a dni : \newcommand{\l@belex}{} % la valeur courante du label} \newcommand{\labelexemple}[1]{% commande pour la mettre jour \renewcommand{\l@belex}{#1}} Ainsi avant lutilisation dun environnement ltxexemple il sura dappeler : \labelexemple{ tiquette } pour pouvoir ensuite y faire rfrence avec \ref{ tiquette } o une commande quivalente. Dans la dnition de lenvironnement ltxexemple, on a ajout : \ifthenelse{\equal{\l@belex}{}}{}{% si le label courant nest pas vide \label{\l@belex}}% on pose un label qui signie en franais : si la commande \l@belex est dnie une valeur non vide, on pose une tiquette (commande \label) avec cette valeur . Il faut ensuite repositionner la commande \l@belex une valeur vide car dans le cas contraire ltiquette serait dnie plusieurs fois (message Label xxx multiply dened de A L TEX). On pourrait donc crire : \ifthenelse{\equal{\l@belex}{}}{}{% si le label courant nest pas vide \label{\l@belex}% on pose un label \renewcommand{\l@belex}{}} 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.8.5 Le trait central


Il reste donc traiter la partie ayant pour but de tracer le vilain trait entre les deux botes. La premire chose faire est de mesurer la hauteur totale des deux botes, et de conserver la plus importante. Ceci est ralis grce au code suivant :

11

% mesure de la bote d entre \settototalheight{\hauteurtrait}{\usebox{\b@iteentree}} % mesure de la bote de sortie \settototalheight{\tempodim}{\usebox{\b@itesortie}} % on garde la plus grande \ifthenelse{\tempodim>\hauteurtrait}{% \setlength{\hauteurtrait}{\tempodim}}{} On aura bien sr pralablement dclar les dimensions \hauteurtrait et \tempodim. La commande \settotoalheight est quant elle prsente au paragraphe 11.8.1. Le trait noir tracer entre lentre et la sortie mesure exactement \hauteurtrait moins \l@rgeurnumex (la largeur de la bote contenant le numro de lexemple). On stocke cette dimension :

11

III
Annexes

A
Sommaire A.1 A.2 A.3 A.4 A.5

Gnrer des documents en pdf

Principe gnral Ce qui change Trucs et astuces Hyperliens Interaction avec psfrag et pstricks

dtre eectivement portable dun ordinateur un autre, et de manire plus gnrale, dun systme dexploitation un autre. Il est donc intressant aujourdhui de A pouvoir gnrer de tels chiers partir dun source L TEX.

C table document format). Ce format cr par la socit Adobe prsente lavantage


Principe gnral

ette annexe prsente un moyen de gnrer des documents au format Pdf (por-

A.1

Il y a au moins trois faons de gnrer des chiers au format Pdf partir dun A TEX : document L 1. laide de pdatex qui sutilise en lieu et place du programme latex pour A traduire le source L TEX en Pdf ; 2. laide de dvipdf permettant de traduire le chier Dvi en Pdf ; 3. laide de ps2pdf pour traduire une sortie PostScript en Pdf.
Votre serviteur qui a une certaine exprience de la premire solution sattardera sur pdatex. Un des pr-requis pour une utilisation correcte de ce logiciel est linstallation de lextension CM-Super font de Vladimir Volovich. On peut trouver des documentation sur le oube permettant dinstaller cette extension sur une distribution Debian avec teTEX(http://sravier.free.fr/linux/debian_latex_cm-super.html).

A.2

Ce qui change
Pour compiler le chier source utilisera la programme pdatex : pdflatex monfichier.tex commande qui, si le document source ne contient pas derreur, crera le chier nomm monfichier.pdf. Voici ensuite quelques remarques importantes : 175
A L T

A
EX et produire un chier au format Pdf, on

176

Gnrer des documents en pdf

A.4 Hyperliens On peut alors gnrer les vignettes comme suit : thumbpdf monfichier.pdf

177

Graphiques : ils devront tre inclus au format Png ou Jpeg pour les images et Pdf pour les dessins.1 Liens : condition dinclure le package hyperref, le document Pdf contiendra automatiquement des liens chaque occurrence de la commande \ref, dans la table des matires, dans lindex, etc. De plus une table des matires droulante sera gnre pour le programme acrobat reader.

Cette commande cre un chier nomm monfichier.tpt qui sera inclus la compilation suivante avec pdatex.

A.3 Trucs et astuces


Puisquon gnre souvent du Dvi ou du Pdf partir du mme source et que lon doit inclure des chiers graphiques des formats direntes selon la situation. On peut utiliser lastuce suivante : dabord crer un nouveau if : \newif\ifpdf % dclaration dun nouveau if TeX \ifx\pdfoutput\undefined \pdffalse % on gnre du Dvi \else \pdfoutput=1 % on gnre du Pdf \pdftrue \fi

A.4

Hyperliens
Le package hyperref permet dinsrer des commandes spciales dans les chiers .dvi et .pdf qui pourront tre exploites par les navigateurs (xdvi et Acrobat reader pour ne pas les citer). 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 mettre en branle ce systme dhyperliens, on crira : \ifpdf \usepackage[pdftex=true, hyperindex=true, colorlinks=true]{hyperref} \else \usepackage[hypertex=true, hyperindex=true, colorlinks=false]{hyperref} \fi Les liens seront mis en couleur uniquement pour la version Pdf. Dans le cas contraire la version imprimer apparatra en gris plus ou moins clair sur imprimante laser noir et blanc...
Lordre dans lequel on inclura les dirents packages pour un document inuera 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 :-)

A.3.1 Gestion des graphiques


Ensuite on pourra crire quelque chose du genre : \ifpdf \graphicspath{{pngs/}{{pdfs/}} \else \graphicspath{{epss}} \fi Si on a pris soin de ranger les chiers graphiques dans les rpertoires pngs, pdfs et epss... Ce nouveau if permet galement des constructions du style : \ifpdf \includegraphics[pdftex]{graphicx} \else \includegraphics{graphicx} \fi

Et de manire gnrale cela permet de produire quelque chose de particulier dans la version Pdf et pas dans la version Dvi et vice versa.

A.5

Interaction avec psfrag et pstricks


To trick en anglais, ou tricher en franais... En gros en crivant a : Soit : \begin{pspicture}[](-1,-1)(1,1) \parametricplot[linewidth=.5pt,plotstyle=ccurve]% {0}{360}{4 t mul sin 3 t mul sin} \psgrid[gridlabels=0pt](-1,-1)(1,1)

A.5.1 pstricks

A.3.2 Vignettes
Il est possible de crer des vignettes (thumbnail ) pour Acrobat reader en utilisant le package thumbpdf : \usepackage{thumbpdf}
1

Les chiers du logiciel Xg peuvent tre convertis en Pdf

178

Gnrer des documents en pdf

A.5 Interaction avec psfrag et pstricks dvips -E $TMPFILE.dvi -o psttemp.eps # Cration du fichier pdf epstopdf psttemp.eps --debug --outfile=$FILE.pdf # effacement des fichiers temporaire rm -f psttemp.* Ce script sauv sous le nom pstricks.sh pourra tre invoqu comme suit : ./pstricks.sh bidule.tex

179

\end{pspicture} \quad le trac de $x=\sin(4t), y=\sin(3t)$... On obtient a :

Soit :

le trac de x = sin(4t), y = sin(3t)...

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 si lon veut utiliser ces bestioles avec pdatex. En eet ce dernier crant directement un chier .pdf partir du .tex, on aura beau insrer du PostScript dans le chier au format Pdf, cela naura aucun eet... Il est malgr tout possible de contourner le problme, comme cela :
A TEX minimal contenant les commandes ps1. dabord gnrer un document L tricks ; A TEX pour gnrer un .dvi ; 2. compiler ce document avec L

et devrait crer le chier bidule.pdf que pdatex 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 transformer un chier .tex en un chier .pdf. Avec le version Gnu de make, on aura quelque chose du genre : %.pdf : %.tex ./pstricks.sh $<
Le programme dvips nest pas toujours en mesure de calculer correctement la bote englobante pour le PostScript encapsul. En particulier la section 41 de la documentation de pstricks2 indique que dvips nest pas capable de tenir compte du code postscript gnr pour estimer cette bote englobante. Dans ce cas, il est conseill soit dajouter du texte autour du graphique et dvips arrive sen sortir, soit dutiliser lenvironnement TeXtoEPS. Le document temporaire du script prcdent devient alors : cat > psttemp.tex <<EOF \documentclass{manuel} \usepackage{pst-eps} \thispagestyle{empty} \begin{document} \begin{TeXtoEPS} \input{$FILE} \end{TeXtoEPS} \end{document} EOF

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 pdatex. Tout cela est videmment un peu tordu mais peut tre automatis laide dun Makele, dun petit script Unix, et dune commande... 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}
A on inclura bidule.pdf si on utilise pdatex et bidule.tex si on utilise L TEX. Ensuite, le petit script Unix quon peut adapter ses besoins :

Pour aider PSTricks calculer la bote

#!/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 adequat \thispagestyle{empty} \begin{document} \input{$FILE} \end{document} EOF # Cration du fichier dvi latex psttemp # Cration du fichier eps

A.5.2 psfrag
La limitation et le principe sont les mme que pour pstricks. Pour pouvoir utiliser psfrag avec pdatex, il est ncessaire de procder comme suit :
A TEX minimal contenant des commandes psfrag ; 1. dabord gnrer un document L A 2. compiler ce document avec L TEX 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 pdatex.
2

http://tug.org/PSTricks

180

Gnrer des documents en pdf

Il y a cependant un petit hic car la gure dont on calcule la bote englobante avec dvips contient du texte gnr par psfrag indiquant les remplacements qui seront eectus. On doit donc tenir compte de cela. Dans le script shell, on cre une fonction : function genere_eps { cat > $TMPFILE.tex <<EOF \documentclass{manuel}

B
Sommaire B.1 B.2 B.3 B.4 Extensions Les chiers auxiliaires AucTEX Aspell

Mmento

\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

mettre la classe et les packages qui vont bien

B.1

Extensions
A Comme il en est question dans la prface de ce document, TEX et L TEX sont des A systmes ouverts. Autour du noyau L TEX gravitent un certain nombre de packages standard qui constituent la base du systme. Mais tout utilisateur peut faire voluer A TEX en lui rajoutant des fonctionnalits diverses. On trouve donc une multitude L doutils sous formes dextensions (ou packages en anglais) ou sous forme de classe de documents. Certaines sont devenues des standards, toutes sont disponibles A sur les serveurs ddis la distribution de L TEX (cf. chapitre 8) ou sur des pages personnelles, dautres sont fournies avec les Call for papers et autres authors guide. Nous vous donnons ici une liste de packages classiques et vous invitons vous rfrer la documentation qui est gnralemnent jointe au package. Notez que le site du loria propose une liste des packages gnraux http://www.loria. fr/services/tex/packages.html#latex ; il existe dautre part un moteur de rercherche contenant plus de mille extensions rfrences, ftp://ftp.loria.fr/pub/ unix/tex/ctan/help/Catalogue/catalogue.html.

# on enlve les lignes contenant la commande \psfrag # et on rcupre la boite 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 boite englobante du fichier eps avec psfrag genere_eps $FILE mauvaisebb=$(grep "^%%BoundingBox" $TMPFILE.eps | head -1) # on remplace la boite 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 # un petit coup de toilette rm -f $TMPFILE.* $LOGFILE $sanspsfrag
Ce script a plusieurs limitations. Parmi elles : il chouera si une commande \psfrag stend sur plusieurs lignes. On demande en eet grep denlever les lignes contenant \psfrag sans vrier que la commande ne se termine pas une ou plusieurs lignes plus bas...

french

: utilis pour franciser les documents. Ne coupe pas une phrase entre un mot et une double ponctuation. Propose aussi quelques commandes axes sur la typographie franaise (voir chapitre 7) ; : amliore lutilisation de tabular ;
A TEX ; : tend les bordures de tableaux de base de L

amsmath : le package pour faire des formules et quations perfectionnes ; array hhline fancyhdr varioref

: permet de personnaliser en-tte et pied de page. Jetez un coup dil sur ceux de ce manuel ; : propose la commande \vref la place de \ref. Celle-ci ajoute page suivante, page 12, ou rien du tout selon o se trouve lobjet rfrenc par rapport la position du renvoi ; : fournit deux structure de contrle un if then else et un do while . Ce qui permet de faire des commandes un peu plus volues ;

ifthen

chapterbib : permet dinsrer une bibliographie chaque n de chapitre ; 181

182 overcite bibunits fancybox a4wide : crit les citations bibliographiques sous forme dexposant ;

Mmento

B.3 AucTEX

183

: permet de produire des bibliographies composes de plusieurs units ; : propose quatre variantes de \fbox :

Vous pouvez eacer : tous les chiers auxiliaires, les chiers log, ainsi que les chiers de tables des matires et listes de gures et tables. Vous pouvez aussi eacer : le chier bbl si vous tes capable de le gnrer partir dun chier bib et BibTEX. Les chiers dindex peuvent gnralement tre eacs puisquils sont en principe produits par makeindex. Le chier dvi A nest pas indispensable puisque vous tes cens avoir le source L TEX
A TEX et les ventuels chiers de styles que vous Vous devez garder : le source L avez dnis (sty et cls) ; mais si vous en tes au stade de la dnition de classe, le conseil est probablement un peu saugrenu...

\shadowbox

, \doublebox ,

: largit de manire importante la largeur du texte ;

\ovalbox et \Ovalbox .

algorithms : pour crire des pseudo-algorithmes (facilement francisable .) sous la forme dun environnement qui peut tre ottant ou non ; geometry : une extension permettant de changer les marges et la plupart des dimensions intervenant au niveau de la page, de manire assez souple ; url : permet dcrire des adresses sous forme dune url, la csure est gre pour le mieux ;

B.3

AucTEX
AucTEX est un module dEmacs qui permet de faciliter la saisie de documents A L TEX. Ce module est automatiquement charg lorsquon ouvre un document portant lextension .tex, .sty ou .cls. On peut distinguer trois types daide dans AucTEX : 1. laide au formatage du source (couleur, indentation,...) 2. les raccourcis claviers pour insrer de commandes ou des environnements, 3. laide la compilation.

fancyverb : propose une version amliore de lenvironnement verbatim ;

B.2 Les chiers auxiliaires


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 log dvi toc lof lot bib bbl blg idx ind ilg
A chier source L TEX ; A chier auxiliaire que L TEX utilise pour rsoudre les rfrences, entre autre ;

B.3.1 Formatage du source


Les couleurs et la touche tab jouent le mme rle que dans un buer C ou C++. On notera que M-q formate un paragraphe, c.--d., dcoupe automatiquement le paragraphe en ligne de longueur peu prs gales.

le chier de trace (dit log le en anglais) contenant les infos de la compilation ; chier device independant, qui va pouvoir tre ach ou imprim selon la situtation ; chier contenant la table des matires (intiales de table of contents ) ; chier contenant la liste des gures (list of gure ); chier contenant la liste des tables ; chier source BibTEX contenant des entres de bibliographie ; chier contenant la bibliographie, peut tre gnr partir de BibTEX ; chier trace de BibTEX ; chier des entres dindex non tri ; chier contenant lindex, est gnralement gnr par makeindex ; chier trace de makeindex ; chier contenant des dnitions de commandes modiant la mise en page, ou fournissant des outils particuliers ; un chier denissant une classe. standard ;

B.3.2 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 mini-buer. Commandes et Environnement M-Tab tente de complter le nom en cours (automatic completion ). C-c RET insre une commande.

sty cls

A TEX, Pour archiver un document L


1 Certains packages crent leur propres chiers auxiliaires comme le package minitoc et la classe lettre ; ils ne sont pas mentionns dans cette liste.

184

Mmento

B.4 Aspell add-tex-command bidule pP

185

C-c C-e insre une Environnement.2 C-u C-c C-e change un environnement. C-c ] ferme un environnement en ajoutant la commande \end qui manque.

pour demander Aspell de vrier le second paramtre (P), mais dignorer le contenu du premier (p). Pour ignorer les deux, on aurait crit : add-tex-command bidule pp Enn, Emacs dispose galement dun mot de correction de mot la vole 3 quon peut activer ou dsactiver avec la commande : M-x flyspell-mode

B.3.3 Compilation
C-c C-c tente de suivre de cycle de compilation dun document, en lanant suivant A la situation, L TEX, BibTEX, xdvi,... Notez aussi que AucTEX permet de grer le mcanisme du document matre (cf. 6.4). Pour cela il vous demandera de saisir le nom du document matre lorsque vous ouvrirez un nouveau document dans Emacs. Dans le cas contraire il faudra expliquer gentiment AucTEX qui est le document matre avec : M-x TeX-master-file-ask ou C-c _ vous devrez alors saisir le nom du chier matre. En agissant ainsi, lorsque vous lancerez une compilation avec C-c C-c sur un des documents esclaves , cest sur le master quelle agira.

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 selectionne la langue du dictionnaire (francais ou english), et : M-x ispell-buffer commence une session de correction sur le buer. Il est galement possible de vrier lorthographe dun seul mot avec la commande : M-x ispell-word ou M-$
lheure o jcris ces lignes, la distribution Debian ne congure pas Emacs pour utiliser le programme Aspell par dfaut. Il faut donc ajouter dans votre chier .emacs, la ligne :

(setq-default ispell-program-name "aspell")

Il est particulirement utile de noter que lon peut congurer le programme Aspell pour lui demander explicitement dignorer ou non les arguments des commandes A L TEX. On pourra par exemple ne pas vrier largument dune commande ne contenant pas de franais. Ainsi, sil on dnit la commande : \newcommand{\bidule}[2]{% commandes prenant 2 arguments ... } Il sura dcrire dans son chier ~/.aspell.conf :
2 Pour certains environnements et certaines commandes dont la syntaxe est connue par AucTEX il vous sera demand quelques prcisions (valeurs des arguments, lgendes, format du tableau,...). 3

Daucuns diront la ourde ...

C
Sommaire C.1 C.2 C.3 Symboles standard Symboles de lAMS Symboles du package textcomp

Symboles

Vous trouverez dans cette annexe, une liste de tous les symboles mathmatiA ques disponibles dans L TEX. Nous avons spar ces symboles en quatre catgories : les symboles standards du tableau C.1 au tableau C.10 ; A TEX disponibles avec le package latexsym donns par le ta les symboles de L bleau C.11 ; les symboles de lAmerican Mathematical Society disponibles avec le package amssymb, du tableau C.12 au tableau C.19 ; les symboles disponibles avec le package textcomp (tableaux C.20 et C.21); les symboles des polices PostScript bien connues ZapfDingbats et Symbol. Les symboles de ces fontes sont accessibles en incluant le package pifont et en utilisant la commande : \Pisymbol{pzd}{ numro } pour les symboles de la police Zapf, et : \Pisymbol{psy}{ numro } pour ceux de la police Symbol. Le nombre numro est le numro de la case correspondant au symbole choisi dans la table C.22 page 195 ou C.23.

C
187

188

Symboles

189

C.1 Symboles standard


Tab. C.5 Les relations. \alpha \epsilon \theta \lambda o \varrho \upsilon \psi \Gamma \Xi \Phi o Tab. C.1 Les lettres grecques. \beta \gamma \varepsilon \zeta \vartheta \iota \mu \nu \pi \varpi \sigma \varsigma \phi \varphi \omega \Delta \Pi \Psi \Theta \Sigma \Omega \delta \eta \kappa \xi \rho \tau \chi \leq \prec \preceq \ll \subset \subseteq \sqsubseteq \in \vdash \geq \succ \succeq \gg \supset \supseteq \sqsupseteq \ni \dashv \equiv \sim \simeq \asymp \approx \cong \neq \doteq \propto \models \perp \mid \parallel \bowtie = \smile = \frown . = |= |

\Lambda \Upsilon

Tab. C.2 Les oprateurs binaires. \pm \mp \times \div \ast \star \circ \bullet \cdot \cap \cup \uplus \sqcap \sqcup \vee \wedge \setminus \wr \diamond \bigtriangleup \bigtriangledown \triangleleft \triangleright \oplus \ \ominus \otimes \oslash \odot \bigcirc \dagger \ddagger \amalg

\leftarrow \Leftarrow \rightarrow \Rightarrow \leftrightarrow \Leftrightarrow \mapsto \hookleftarrow \leftharpoonup \leftharpoondown

Tab. C.6 Les ches. \longleftarrow \Longleftarrow \longrightarrow \Longrightarrow \longleftrightarrow \Longleftrightarrow \longmapsto \hookrightarrow \rightharpoonup \rightharpoondown

= =

\uparrow \Uparrow \downarrow \Downarrow \updownarrow \Updownarrow \nearrow \searrow \swarrow \nwarrow

\sum \bigcap \bigodot

Tab. C.3 Les symboles de tailles variables. \prod \coprod \int \bigcup \bigsqcup \bigvee \bigotimes \bigoplus \biguplus

\oint \bigwedge

Tab. C.7 Divers. \aleph \hbar \imath \jmath \ell \wp \Re \Im \prime \emptyset \nabla \surd \top \bot \| \angle \forall \exists \neg \flat \natural \sharp \backslash \partial \infty \triangle \clubsuit \diamondsuit \heartsuit \spadesuit \

Tab. C.4 Les points. \ldots . . . \cdots \vdots . . . \ddots .. .

190

Symboles

191

Tab. C.8 Les fonctions. \arccos \arcsin \arctan \arg \cos \cosh \cot \coth \csc \deg \det \dim \exp \gcd \hom \inf \ker \lg \lim \liminf \limsup \ln \log \max \min \Pr \sec \sin \sinh \sup \tan \tanh

C.2

Symboles de lAMS
Tab. C.12 Les ches de lAMS \dashleftarrow \leftleftarrows \Lleftarrow \twoheadleftarrow \looparrowleft \leftrightharpoons \circlearrowleft \Lsh \upharpoonleft \downharpoonleft \leftrightsquigarrow \rightrightarrows \rightrightarrows \rightleftarrows \rightarrowtail \looparrowright \curvearrowright \circlearrowright \downdownarrows \upharpoonright \rightsquigarrow

Tab. C.9 Les dlimiteurs. \uparrow \{ \lfloor \langle | \Uparrow { \} \rfloor \rangle | \| \downarrow } \updownarrow \lceil / \Downarrow \Updownarrow \rceil / \backslash \

\dashrightarrow \leftrightarrows \leftarrowtail \curvearrowleft \upuparrows \multimap \rightleftarrows \twoheadrightarrow \rightleftharpoons \Rsh \downharpoonright

\rmoustache \arrowvert

Tab. C.10 Les grands dlimiteurs. \lmoustache \rgroup | \Arrowvert \bracevert

\lgroup

Tab. C.11 Les symboles de latexsym \lhd \sqsubset \Box \rhd \sqsubset \Diamond \unlhd \Join \leadsto \unrhd \mho

\leq \lesssim \lessdot \lesseqgtr \risingdotseq \backsimeq \sqsubset \precsim \trianglelefteq \smallsmile \Bumpeq \eqslantgtr \gtrdot \gtreqless \circeq \thickapprox \sqsupset \succsim \trianglerighteq \shortparallel \varpropto \backepsilon

Tab. C.13 Les relations de lAMS \leqslant \eqslantless \lessapprox \approxeq \lll \lessgtr \lesseqqgtr \doteqdot \fallingdotseq \backsim \subseteqq \Subset \preccurlyeq \curlyeqprec \precapprox \vartriangleleft \vDash \Vvdash \smallfrown \bumpeq \geqq \geqslant \gtrsim \gtrapprox \ggg \gtrless \gtreqqless \eqcirc \triangleq \thicksim \supseteqq \Supset \succcurlyeq \curlyeqsucc \succapprox \vartriangleright \Vdash \shortmid \between \pitchfork \blacktriangleleft \therefore \blacktriangleright \because

192

Symboles

193

Tab. C.14 Ngations de ches de lAMS \nleftarrow \nRightarrow \nrightarrow \nleftrightarrow \nLeftarrow \nLeftrightarrow

Tab. C.18 Oprateurs binaires de lAMS \dotplus \Cup \doublebarwedge \boxdot \ltimes \rightthreetimes \circleddash \symcenterdot \smallsetminus \barwedge \boxminus \boxplus \rtimes \curlywedge \circledast \intercal \Cap \veebar \boxtimes \divideontimes \leftthreetimes \curlyvee \circledcirc

Tab. C.15 Lettres grecques et hbraques de lAMS \digamma \varkappa \beth \daleth \gimel

Tab. C.19 Symboles divers de lAMS Tab. C.16 Dlimiteurs de lAMS \ulcorner \urcorner \llcorner \lrcorner \hbar \triangledown \circledS \nexists \Game \varnothing \blacksquare \sphericalangle \diagup \hslash \square \angle \mho \Bbbk \blacktriangle \blacklozenge \complement \diagdown k \vartriangle \lozenge \measuredangle \Finv \backprime \blacktriangledown \bigstar \eth

Tab. C.17 Ngations de relations de lAMS \nless \nleqq \lvertneqq \nprec \precnapprox \nmid \ntriangleleft \subsetneq \varsubsetneqq \ngeqslant \gneqq \gnapprox \succnsim \nshortparallel \nVDash \nsupseteq \varsupsetneq \nleq \lneq \lnsim \npreceq \nsim \nvdash \ntrianglelefteq \varsubsetneq \ngtr \ngeqq \gvertneqq \nsucc \succnapprox \nparallel \ntriangleright \nsupseteqq \supsetneqq \nleqslant \lneqq \lnapprox \precnsim \nshortmid \nvDash \nsubseteq \subsetneqq \ngeq \gneq \gnsim \nsucceq \ncong \nvDash \ntrianglerighteq \supsetneq \varsupsetneqq

C.3

Symboles du package textcomp


Tab. C.20 Symboles du package textcomp. \textascendercompwordmark \textacutedbl \textasciiacute \textasciibreve \textasciicaron \textasciidieresis \textasciigrave \textasciimacron \textasterisksymcentered \textbaht \textbardbl \textbigcircle \textblank \textborn \textbrokenbar \textbullet \textcapitalcompwordmark \textcelsius \textcent \textcentoldstyle \textcircledP \textcolonmonetary \textcopyleft \textcopyright
 

194

Symboles

195

Tab. C.21 Symboles du package textcomp (suite). \textcurrency \textdaggerdbl \textdblhyphenchar \textdied \textdiv \textdollar \textdong \texteightoldstyle \texteuro \textflorin \textfractionsolidus \textguarani \textinterrobang \textlangle \textleaf \textlira \textlquill \textmho \textmu \textnaira \textnumero \textonehalf \textonequarter \textopenbullet \textordmasculine \textperiodsymcentered \textperthousand \textpilcrow \textquotesingle \textquotestraightdblbase \textrbrackdbl \textreferencemark \textrightarrow \textsection \textsevenoldstyle \textsterling \textthreeoldstyle \textthreequartersemdash \texttildelow \texttrademark \texttwooldstyle \textuparrow \textyen \textdagger \textdblhyphen \textdegree \textdiscount \textdivorced \textdollaroldstyle \textdownarrow \textestimated \textfiveoldstyle \textfouroldstyle \textgravedbl \textinterrobangdown \textlbrackdbl \textleftarrow \textlnot \textmarried \textminus \textmusicalnote \textnineoldstyle \textohm \textoneoldstyle \textonesuperior \textordfeminine \textparagraph \textpertenthousand \textpeso \textpm \textquotestraightbase \textrangle \textrecipe \textregistered \textrquill \textservicemark \textsixoldstyle \textsurd \textthreequarters \textthreesuperior \texttimes \texttwelveudash \texttwosuperior \textwon \textzerooldstyle

Tab. C.22 La police Zapf Dingbats


0 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

w
39

v
40

u
41


42


43


44


45


46


47

i



49


50


51


52


53 69


54


55


56


57


58


59


60

61

62

63

48

64

65


66


67


68

!
70

"
71

#
72

$
73

%
74

&
75

'
76

(
77

)
78

*
79

+
80

,
81

82

.
83

/
84

0
85

1
86

2
87

3
88

4
89

5
90

6
91

7
92

8
93

9
94

:
95

;
96


<
97

=
98

>
99

?
100

@
101

A
102

B
103

C
104

D
105

E
106

F
107

G
108

H
109

I
110

J
111 127

112
 !

K
113 129

114 130

L
115 131

M
116 132

N
117 133

O
118 134

Q
119 135

R
120 136

S
121 137

T
122 138

a
123 139

b
124 140

c
125 141

d
126 142 143

128
#

"

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

%
'

e
160 161

f
162

g
163

h
164

j
165

k
166

l
167

p
168

o
169

n
170

m
171

x
172

y
173

z
174

{
175

&

|
176

}
177

~
178


179

180

181

182

183

184

185

186

187

188

189

190

191

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

192

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224
1

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239 255


5 6 2

240
4

242

243

244

245

246

247

248

249

250

251

252

253

254

241

<

>

196

Symboles

Bibliographie

[1] Jacques Andr. Petites leons de typographie. 1990.


AT X navigator http://www.loria. On doit pouvoir trouver ce document sur le L E fr/services/tex/typographie/typo.dvi. Il sagit dun article intressant sur la typographie avec beaucoup dexemples sur les lemploi des majuscules, la ponctuations, lusage du soulign et les caractres franais. A [2] M. Goossens, S. Rahtz, and F. Mittelbach. The L TEX Graphics Companion. Addison-Wesley, 1997. A Par les auteurs du L TEX Companion, un livre sur lutilisation des graphiques au sens large du terme, avec notamment une exploration des packages permettant de dessiner AT X et une prsentation de lutilisation des fontes Postscript. avec L E A [3] Michel Goossens, Frani Mittelbach, and Alexander Samarin. The L TEX companion. Addison-Wesley, 1994. AT X2 et de ses packages. Ce livre qui est un must pour tout utilisateur LA bible de L E AT X contient des informations trs qui veut comprendre les fonctions internes de L E prcises sur : la manire de personnaliser les mises en pages par dfaut, lutilisation des fontes, moult packages, etc.

Tab. C.23 Le police Symbol


0 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 50

35

# 3

36

%
37 53

&
38 54

39

40

41

42

43

+ ;

44

45

46

47

48

49

51

52

55

56

57

58

59

60

<

61

62

>

63

64

65

66 82

67 83

68

69

70 86

71

72

73

74

75 91

76

77 93

78

79 95

80 96

81

84 100

85 101

87 103

88 104

89 105

90 106

92 108

94 110

97 113

98

99

102

107

109

111

112

114

115

116

117

118

119

120

121

122

123

124

125

126

[4] Lexique des rgles typographiques en usage lImprimerie nationale, 1990.


Il sagit de lensemble des rgle qui sont appliques dans les livres produits par lImprimerie nationale. Ce lexique est prsent sous la forme de thmes class par ordre alphabtique. Cest une source dinformations intressante puisquelle fait rfrence dans limprimerie franaise.

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 187

173

174

175

176

177

178

179

180

181

182

183

184

185

186

188 204

189

190 206

191

[5] D. E. Knuth. The Art of Computer Programming, volume 13. Addison-Wesley, 199798.
Trois volumes sur lart de programmer . Un quatrime tome est en prparation. Cet ensemble de livres a t accueilli par la communaut scientique comme un des ouvrages les plus importants de ce sicle (cf. http://www.amsci.org/amsci/ bookshelf/centurylist.html ce sujet et http://www-cs-staff.stanford.edu/ ~knuth/taocp.html sur la page web de Knuth pour plus dinfo sur TAOCP ).

192

193

194

195 211

196

197

198

199

200

201

202

203

205

207

208

209

210

212

213

214

215

216

217

218


219 220 235

221

222 238

223

224

225

226

227

228

229

230

231

232

233

234

236

237

239

246

248

[6] Donald E. Knuth. The TEXBook. Addison-Wesley, 1988.


LA bible de TEX. Un livre plein de virages dangereux expliquant trs prcisment le fonctionnement interne de TEX. Cest un ouvrage de rfrence qui, est assez dicile lire, et qui ne constitue pas une introduction TEX destine aux dbutants, mon avis.
A [7] Leslie Lamport. L TEX : A Document Preparation System. Addison-Wesley, 2e edition, 1994.

240

241

242

243

244

245

247

249

250

251

252

253

254

255

AT X dans sa seconde dition couvrant L AT X 2 . Bien videmLe livre de lauteur de L E E ment une trs bonne introduction, avec en n douvrage un guide de rfrence des commandes.

[8] Yves Perrousseaux. Manuel de typographie franaise lmentaire. Atelier Perrousseaux, 1995. 197

198

Bibliographie

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, A on appelle compilation la phase permettant de traduire le source L TEX 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
A Un document texte contenant le texte et les commandes L TEX. 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 mise au point par Knuth de manire crer, partir du document source, un document dont le format est indpendant de la plateforme et du matriel utilis. Fichiers auxiliaires
A Les chiers produits par L TEX lors dune compilation. Ils portent le nom du document source, et ont une extension de trois lettres rappellant 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 A TEX. sont le format plain de TEX et le format L Macro
A Cest loutil permettant de faire faire des choses compliques L TEX en passant en ordre simple. Les macros, appeles aussi commandes, ressemble 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 crer de plusieurs faons partir dun A TEX(cf. A page 175). source L 199

200 PostScript

Glossaire

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 ralis des aperu avant impression ou directement par des circuits lectroniques embarqus sur les imprimantes pour gnrer limage imprimer. Rfrences Systme permettant de manipuler les numros des paragraphes, quations, chapitres, etc. de manire symbolique, pour saranchir de la dicult les mettre jour lorsquon change la mise en page.
A L TEX

Index
Symboles
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 \( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 \) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 \- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ... extension . . . . . . . . . . . . . . . . . . . . . . 109 \/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 \= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 $ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8, 32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 amssymb extension . . . iii, 33, 144, 187 \AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 \appendix . . . . . . . . . . . . . . . . . . . . . . 165 \arabic . . . . . . . . . . . . . . . . . . . . . . . . . . 45 \arccos . . . . . . . . . . . . . . . . . . . . . . . . . 190 \arcsin . . . . . . . . . . . . . . . . . . . . . . . . . 190 \arctan . . . . . . . . . . . . . . . . . . . . . . . . . 190 \arg . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 argument de commandes . . . . . . . . . . . . . . . . 59 optionnel . . . . . . . . . . . . . . . . . . . 7, 59 array extension . . . . . . . . . . . . . . . 19, 181 array environnement . . . . . . . . . 38, 40 article rdaction . . . . . . . . . . . . . . . . . . . . . 71 style . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Aspell . . . . . . . . . . . . . . . . . . . . . . . 184, 185 aspell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii AucTEX . . . . . . . . . . . . . . 72, 74, 183, 184 \author . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Cest lensemble de macros dni par Leslie Lamport au dessus de TEX. A La version utilise aujourdhui est L TEX 2 . TEX
A Le moteur de base, L TEX 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.

A
a4wide extension . . . . . . . . . . . . . . . . . 182 accents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 et fontes . . . . . . . . . . . . . . . . . . . . . . 79 mathmatique . . . . . . . . . . . . . . . . 36 saisie . . . . . . . . . . . . . . . . . . . . . . . . . . 9 sur les majuscules . . . . . . . . . . . . .83 accolades . . . . . . . . . . . . . . . . . . . . . . . . . 38 Acrobat . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Acrobat reader . . . . . . . . . . . . . . 176, 177 acrobat reader . . . . . . . . . . . . . . . . . . . .176 \acute . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 \addcontentsline . . . . . . . . . . . . . . 157 \addpages . . . . . . . . . . . . . . . . . . . . . . . . 86 \address . . . . . . . . . . . . . . . . . . . . . 72, 85 \addtocounter . . . . . . . . . . . . . . . . . . . 44 \addtolength . . . . . . . . . . . . . . . . . . . . 47 \AE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 \ae . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 algorithms extension . . . . . . . . . . . . . . 182 alignement droite . . . . . . . . . . . . . . . . . . . . . . . 16 gauche . . . . . . . . . . . . . . . . . . . . . . 17 \Alph . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 \alph . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 \alpha . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 amsmath extension . . . . . . . . . . . . . . . 181 201

B
babel extension . . .79, 8183, 123, 132, 133 \backmatter . . . . . . . . . . . . . . . . 78, 130 \bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 \baselineskip longueur . . . . . 46, 139 bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 bbm extension . . . . . . . . . . . . . . . . . . . . . 34 bbold extension . . . . . . . . . . . . . . . . . . . . 34 beton extension . . . . . . . . . . . . . . . . . . 107 \bfseries . . . . . . . . . . . . . . . . . . . . . . . . 14 BibTEX . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 BIBINPUTS variable denvironnement . . . . . .75 bibliographie article . . . . . . . . . . . . . . . . . . . . . . . . 73 citations . . . . . . . . . . . . . . . . . . . . . . 74 confrence . . . . . . . . . . . . . . . . . . . . 73 livre . . . . . . . . . . . . . . . . . . . . . . . . . . 74 saisie . . . . . . . . . . . . . . . . . . . . . . . . . 72 style . . . . . . . . . . . . . . . . . . . . . . . . . . 72

202 alpha, 74 plain, 74 unsrt, 74 \bibliography . . . . . . . . . . . . . . . . . . . 74 \bibliographystyle . . . . . . . . . . . . . 74 \bibname . . . . . . . . . . . . . . . . . . . . . . . . 130 BibTEX . . . . . . . . . . . . . . 7275, 182184 bibunits extension . . . . . . . . . . . . . . . . 182 bidouillage . . . . . . . . . . . . . . . . . . . . . . .101 bidule extension . . . . . . . . . . . . . . . . . . 115 \bidule . . . . . . . . . . . . . . . .100102, 153 \blacktriangle . . . . . . . . . . . . . . . . .144 \boitentreeglossaire . . . . . . . . . 159 book.cls . . . . . 119123, 130, 156, 165 bote bordure . . . . . . . . . . . . . . . . . . . . . . . 53 dimensions . . . . . . . . . . . . . . . . . . . . 48 et csure . . . . . . . . . . . . . . . . . . . . . . 29 exemples . . . . . . . . . . . . . . . . . . . . . . 51 paragraphe . . . . . . . . . . . . . . . . . . . 55 positionnement . . . . . . . . . . . . . . . 54 sauvegarde . . . . . . . . . . . . . . . . . . . . 57 simple . . . . . . . . . . . . . . . . . . . . . . . . 53 \breve . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 brouillon mode . . . . . . . . . . . . . . . . . . . 28

Index \cite . . . . . . . . . . . . . . . . . . . . . 72, 74, 75 \cleardoublepage . . . . . . . . . . 29, 126 \clearpage . . . . . . . . . . . . . . . . . . . . . . 29 \closing . . . . . . . . . . . . . . . . . . . . . . . . . 85 codage iso-latin1 . . . . . . . . . . . . . . . . . . . . . 79 OT1 . . . . . . . . . . . . . . . . . . . . . . . . . . 79 T1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 colonne double . . . . . . . . . . . . . . . . . . . . . 6 color extension . . . . . . . . . . . . . . . . . . . . 69 \colorbox . . . . . . . . . . . . . . . . . . 162, 163 commande appel . . . . . . . . . . . . . . . . . . . . . . . . . . 8 dnitions . . . . . . . . . . . . . . . . . . . . 58 rednition . . . . . . . . . . . . . . . . . . . 60 commentaires . . . . . . . . . . . . . . . . . . . . . . 8 compilation . . . . . . . . . . . . . . . . . . . . . . . . 4 et rfrences . . . . . . . . . . . . . . . . . . 25 compteur achage . . . . . . . . . . . . . . . . . . . . . . 45 manipulation . . . . . . . . . . . . . . . . . 44 \conc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 \contentsname . . . . . . . . . . . . . . . . . . 130 convert . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 \cos . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 \cosh . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 \cot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 \coth . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 courrier . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 \creerlettrine . . . . . . . . . . . . . . . . .155 \csc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 csh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 csure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Index dimension dun objet . . . . . . . . . . . . . 48 displaymath environnement . . 32, 39 \displaystyle . . . . . . . . . . . . . . . . . . . 41 diviser document . . . . . . . . . . . . . . . . . 78 doc extension . . . . . . . . . . . . . . . . . . . . . 68 document diviser . . . . . . . . . . . . . . . . . . . . . . . . 78 document environnement . . . . . . . . . 16 documentation . . . . . . . . . . . . . . . . . . . . 89 \documentclass . . . . . . . . . . . . . . . . . . . 6 \dominitoc . . . . . . . . . . . . . . . . . . . . . 134 \dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 \dotfill . . . . . . . . . . . . . . . . . . . . . 50, 51 \dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 \doublebox . . . . . . . . . . . . . . . . . . . . . 182 \dp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 draft option de classe . . . . . . . . . . . . 28 dvipdf . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 dvips . . . . . . . . . . . .4, 5, 64, 68, 178180 dviwin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 dnition . . . . . . . . . . . . . . . . . . . . . . . . . 58 commandes . . . . . . . . . . . . . . . . . . . 58 environnement . . . . . . . . . . . . . . . . 59 dlimiteurs . . . . . . . . . . . . . . . . . . . . . . . 38

203 VerbatimOut . . . . . . . . . . . . . . . . 166 array . . . . . . . . . . . . . . . . . . . . . 38, 40 cadrechap . . . . . . . . . . . . . . . . . . . 121 center . . . . . . . . . . . . . . . . . . . . . . . 16 description . . . . . . . . . . . . . . . . . 17 displaymath . . . . . . . . . . . . . . 32, 39 document . . . . . . . . . . . . . . . . . . . . . 16 emacscom . . . . . . . . . . . . . . . . . . . . 133 enumerate . . . . . . . . . . . . . . . . 17, 25 epigraphe . . . . . . . . . . . . . . . . . . . 149 eqnarray* . . . . . . . . . . . . . . . . . . . . 40 eqnarray . . . . . . . . . . . . . . . . . . . . . 40 equation . . . . . . . . . . . . . . . . . . . . . 40 ficaux . . . . . . . . . . . . . . . . . . . . . . 113 figure . . . . . . . . . 22, 23, 25, 65, 67 flushleft . . . . . . . . . . . . . . . . . . . . 17 flushright . . . . . . . . . . . . . . . . . . .16 hyperref . . . . . . . . . . . . . . . . . . . . 177 itemize . . . . . . . . . . . . . . . . . . 17, 56 letter . . . . . . . . . . . . . . . . . . . . . . . 86 list . . . . . . . 61, 110112, 148, 150 ltexexemple . . . . . . . . . . . . . . . . 171 ltxexempleenv . . . . . . . . . . . . . . 168 ltxexemple . . . 134, 166, 169, 170 minipage . . . . . . . . . . . . . . 56, 57, 67 picture . . . . . . . . . . . . . . . . . . 63, 70 question . . . . . . . . . . . . . . . . . . . . 115 quotation . . . . . . . . . . . . . . . . . . . . 20 quote . . . . . . . . . . . . . . . . . . . . . . . . .20 subfigure . . . . . . . . . . . . . . . . . . . . 67 tabbing . . . . . . . . . . . . . . . . . . . . . . 18 table . . . . . . . . . . . . . . . . . 22, 23, 25 tabular . . . . . . 18, 19, 38, 55, 181 telefax . . . . . . . . . . . . . . . . . . . . . . 86 thebibliography . . . . 72, 75, 130 theglossary . . . . . . . . . . . . . . . . 158 theindex . . . . . . . . . . . . . . . . . . . . 130 unixcom . . . . . . . . . . . . . . . . . . . . . 132 verbatim . . . . . . . . . . . 19, 132, 182 wrapfigure . . . . . . . . . . . . . . . . . . .67 epic extension . . . . . . . . . . . . . . . . . . . . . 70 epigraphe environnement . . . . . . . 149 eqnarray environnement . . . . . . . . . 40 eqnarray* environnement . . . . . . . . 40 \equal . . . . . . . . . . . . . . . . . . . . . . . . . . 102 equation quation csure, 40 quation

E
e dans la . . . . . . . . . . . . . . . . . . . . . . . . . 82 dition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 eepic extension . . . . . . . . . . . . . . . . . . . . 70 \em . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Emacs 3, 72, 74, 90, 133, 168, 183185 emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii emacscom environnement . . . . . . . . 133 \emph . . . . . . . . . . . . . . . . . 8, 14, 15, 106 emphase fontes . . . . . . . . . . . . . . . . . . . 15 emTEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 \encl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 \enlargethispage . . . . . . . . . . . . . . . 29 \enspace . . . . . . . . . . . . . . . . . . . . . . . . . 50 \ensuremath . . . . . . . . . . . . . . . . 59, 104 \entreeglossaire . . . . . . . . . . . . . . 160 entte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 enumerate environnement . . . . . 17, 25 environnement dnition . . . . . . . . . . . . . . . . . . . . . 59 rednition . . . . . . . . . . . . . . . . . . . 60 environnements TeXtoEPS . . . . . . . . . . . . . . . . . . . . 179

C
cadre de bote . . . . . . . . . . . . . . . . . . . . 53 cadrechap environnement . . . . . . . 121 calc extension . . . . . . . . . . . . . . . . . . . . . 61 \caption . . . . . . . . . . . . . . . . . . 2325, 45 caractre dchappement . . . . . . . . . . . . . . . . . 7 spciaux . . . . . . . . . . . . . . . . . . . . . . . 8 caractre @ . . . . . . . . . . . . . . . . . . . . . . 101 \cdots . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 center environnement . . . . . . . . . . . . 16 \centering . . . . . . . . . . . . . . . . . . . . . . 17 centrage . . . . . . . . . . . . . . . . . . . . . . . . . . 16 changebar extension . . . . . . . . . . . . . . 101 \chapfont . . . . . . . . . . . . . . . . . . . . . . 122 \chapnumfont . . . . . . . . . . . . . . . . . . . 121 \chapter . . . 20, 21, 78, 120, 156, 165 \chapter* . . . . . . . . . . . . . . . . . . . . . . 121 chapterbib extension . . . . . . . . . . . . . . 181 \chaptermark . . . . . . . . . . . . . . . . . . . 128 \check . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 citations . . . . . . . . . . . . . . . . . . . . . . 20, 74

D
\date . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 date du jour . . . . . . . . . . . . . . . . . . . . . . 10 \ddot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 \ddots . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 \DeclareFixedFont . . . . . . . . . . . . . 110 \DefineVerbatimEnvironment . . 133 \deg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 \degres . . . . . . . . . . . . . . . . . . . . . . . . . . 82 \depth longueur . . . . . . . . . . . . . . . . . . 57 description environnement . . . . . . 17 dessin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 \det . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 \dim . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

204 multiligne, 40 \equation . . . . . . . . . . . . . . . . . . . . . . . . 25 equation environnement . . . . . . . . . 40 quation . . . . . . . . . . . . . . . . . . . . . . . . . . 31 erreurs corrections . . . . . . . . . . . . . . . . . . . . 11 de compilation . . . . . . . . . . . . . . . . 10 messages . . . . . . . . . . . . . . . . . . . . . . 11 espace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 dans le source . . . . . . . . . . . . . . . . . . 7 horizontale . . . . . . . . . . . . . . . . . . . . 50 inscable . . . . . . . . . . . . . . . . . . . 8, 29 mathmatiques . . . . . . . . . . . . . . . 37 prdnie . . . . . . . . . . . . . . . . . . . . . 50 verticale . . . . . . . . . . . . . . . . . . . . . . 51 tiquette . . . . . . . . . . . . . . . . . . . . . . . . . . 24 \etiquettequestion . . . . . . . . . . . . 115 \exp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 exposant . . . . . . . . . . . . . . . . . . . . . . . 8, 32 extensions ... . . . . . . . . . . . . . . . . . . . . . . . . . . 109 a4wide . . . . . . . . . . . . . . . . . . . . . . 182 algorithms . . . . . . . . . . . . . . . . . 182 amsmath . . . . . . . . . . . . . . . . . . . . . 181 amssymb . . . . . . . . . iii, 33, 144, 187 array . . . . . . . . . . . . . . . . . . . . 19, 181 babel . . . 79, 8183, 123, 132, 133 bbm . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 bbold . . . . . . . . . . . . . . . . . . . . . . . . .34 beton . . . . . . . . . . . . . . . . . . . . . . . 107 bibunits . . . . . . . . . . . . . . . . . . . . 182 bidule . . . . . . . . . . . . . . . . . . . . . . 115 calc . . . . . . . . . . . . . . . . . . . . . . . . . . 61 changebar . . . . . . . . . . . . . . . . . . . 101 chapterbib . . . . . . . . . . . . . . . . . 181 color . . . . . . . . . . . . . . . . . . . . . . . . .69 doc . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 eepic . . . . . . . . . . . . . . . . . . . . . . . . .70 epic . . . . . . . . . . . . . . . . . . . . . . . . . . 70 fancybox . . . . . . . . . . . . . . . . 59, 182 fancyhdr . 22, 125, 126, 130, 161, 162, 181 fancyverb . . . . . . . . . . . . . . . . . . . 182 fancyvrb . . . . . . 117, 131133, 166 french . . . . . . iii, 81, 82, 133, 181 geometry . . . . . . . . . . 123125, 182 graphics . . . . . . . . . . . . . . . . . . . . . 64 graphicx . . . . . 55, 64, 65, 69, 162 hhline . . . . . . . . . . . . . . . . . . . . . . 181

Index hyperref . . . . . . . . . . . . . . . 176, 177 ifthen . . . . . . . . . . . . . . 61, 102, 181 latexsym . . . . . . . . . . . 33, 187, 190 mathpazo . . . . . . . . . . . . . . . . . . . . 109 mathptmx . . . . . . . . . . . . . . . 105, 109 metapost . . . . . . . . . . . . . . . . . . . . . 70 mini-toc . . . . . . . . . . . . . . . . . . . . 134 minitoc . . . . . . . . . . . . . . . . 139, 182 newcent . . . . . . . . . . . . . . . . 106, 109 overcite . . . . . . . . . . . . . . . . . . . . 182 pifont . . . . . . . . . . . . . . . . . . . . . . 187 psfrag . . . . . . . . . . . . . . . 68, 69, 179 pstricks . . . . . . . . . . . 70, 178, 179 subfigure . . . . . . . . . . . . . . . . . . . . 66 textcomp . . . . . . .83, 187, 193, 194 thumbpdf . . . . . . . . . . . . . . . . . . . . 176 times . . . . . . . . . . . . . . . . . . . . . . . 105 url . . . . . . . . . . . . . . . . . . . . . . . . . . 182 varioref . . . . . . . . . . . . . . . 142, 181 wrapfig . . . . . . . . . . . . . . . . . . 67, 68 fancyvrb . . . . . . . . . . . . . . . . . . . . 117 textcomp . . . . . . . . . . . . . . . . . . . . 187 inclusion . . . . . . . . . . . . . . . . . . . . . . . 6 options . . . . . . . . . . . . . . . . . . . . . . . . 7

Index .dvi . . . . . . . . . . . . . . . . . . . . . . . 4, 25 .lof . . . . . . . . . . . . . . . . . . . . . . 24, 25 .log . . . . . . . . . . . . . . . . . . . . . . . . . . 25 .lot . . . . . . . . . . . . . . . . . . . . . . . . . . 24 .toc . . . . . . . . . . . . . . . . . . . . . . 25, 26 auxiliaire . . . . . . . . . . . . . . . . . . . . . 25 graphique . . . . . . . . . . . . . . . . . . . . . 64 postscript . . . . . . . . . . . . . . . . . . . . . . 4 source . . . . . . . . . . . . . . . . . . . . . . . . . 5 chiers book.cls . 119123, 130, 156, 165 gglo.ist . . . . . . . . . . . . . . . . . . . . 158 glossaire.ist . . . . . . . . . . . . . . 161 ind.dvi . . . . . . . . . . . . . . . . . . . . . 119 latex.ltx . . . . . . . . . 126, 157, 166 newcent.sty . . . . . . . . . . . . . . . . 109 gure . . . . . . . . . . . . . . . . . . . . . . . . . 23, 63 et mathmatiques . . . . . . . . . . . . . 68 incruste . . . . . . . . . . . . . . . . . . . . . . 67 liste de . . . . . . . . . . . . . . . . . . . . . . . 24 placement . . . . . . . . . . . . . . . . . . . . 23 figure environnement 22, 23, 25, 65, 67 \fill . . . . . . . . . . . . . . . . . . . . . . . . . 49, 51 flushleft environnement . . . . . . . . 17 flushright environnement . . . . . . . 16 ches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 fonction mathmatiques . . . . . . . . . . 34 \fontencoding . . . . . . . . . . . . . . . . . . 110 fontes correction italique . . . . . . . . . . . . .15 emphase . . . . . . . . . . . . . . . . . . . . . . 15 gras . . . . . . . . . . . . . . . . . . . . . . . . . . 15 machine crire . . . . . . . . . . . 14, 16 mathmatiques . . . . . . . . . . . . . . . 40 mise en vidence . . . . . . . . . . . . . . 13 penche . . . . . . . . . . . . . . . . . . . . . . . 14 petites majuscules . . . . . . . . . 14, 16 sans srif . . . . . . . . . . . . . . . . . . . . . 14 soulign . . . . . . . . . . . . . . . . . . . . . . .16 taille . . . . . . . . . . . . . . . . . . . . . . 15, 16 usage . . . . . . . . . . . . . . . . . . . . . . . . . 15 \fontfamily . . . . . . . . . . . . . . . . . . . . 110 \fontseries . . . . . . . . . . . . . . . . . . . . 110 \fontshape . . . . . . . . . . . . . . . . . . . . . 110 \fontsize . . . . . . . . . . . . . . . . . . . . . . 110 \footnote . . . . . . . . . . . . . . . . 21, 45, 56 \footnotemark . . . . . . . . . . . . . . . . . . . 21 \footnotesize . . . . . . . . . . . . . . . . . . . 15

205 \footnotetext . . . . . . . . . . . . . . . . . . . 22 \footrulewidth . . . . . . . . . . . . . . . . .125 format chiers graphiques . . . . . . . . . . . . 64 formule csure . . . . . . . . . . . . . . . . . . . . . . . . 40 \frac . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 fraction . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 \fraction . . . . . . . . . . . . . . . . . . . . . . . . 59 \framebox . . . . . . . . . . . . . . . . . . . 53, 135 french extension . . iii, 81, 82, 133, 181 \frontmatter . . . . . . . . . . 78, 129, 165 \fsc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

G
\Gamma . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 \gcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 geometry extension . . . . . . 123125, 182 \geometry . . . . . . . . . . . . . . . . . . . . . . 124 gglo.ist . . . . . . . . . . . . . . . . . . . . . . . . 158 ghostview . . . . . . . . . . . . . . . . . . . . . . . . . 55 gimp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . 78 glossaire.ist . . . . . . . . . . . . . . . . . . 161 \glurps . . . . . . . . . . . . . . . 152, 154, 155 gnuplot . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 graphics extension . . . . . . . . . . . . . . . . . 64 graphicx extension . 55, 64, 65, 69, 162 graphique . . . . . . . . . . . . . . . . . . . . . . . . .63 et mathmatiques . . . . . . . . . . . . . 68 gras fontes . . . . . . . . . . . . . . . . . . . . . . . . 15 \grave . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 groupes de discussion . . . . . . . . . . . . . 91 guillemets . . . . . . . . . . . . . . . . . . . . . 10, 83 gv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

F
faire-tant-que . . . . . . . . . . . . . . . . . . . . . 61 fancybox extension . . . . . . . . . . . . 59, 182 \fancyfoot . . . . . . . . . . . . . . . . . . . . . 125 fancyhdr extension . . 22, 125, 126, 130, 161, 162, 181 \fancyhead . . . . . . . . . . . . . . . . . . . . . 125 fancyverb extension . . . . . . . . . . . . . . . 182 fancyvrb extension . . 117, 131133, 166 fancyvrb extension . . . . . . . . . . . . . . . . 117 fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 \fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 \fbox . . . . . . . . . . . . . . . . . . . . 53, 56, 182 \fboxrule longueur . . . . . . . . . 53, 137 \fboxsep longueur . . 53, 69, 137, 138, 162, 163 \fg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 ficaux environnement . . . . . . . . . . . 113 chier .aux . . . . . . . . . . . . . . . . . . . . . . . . . . 25 .bbl . . . . . . . . . . . . . . . . . . . . . . . . . . 75 .bib . . . . . . . . . . . . . . . . . . 72, 74, 75 .blg . . . . . . . . . . . . . . . . . . . . . . . . . . 75

H
\hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 \hauteurboitetitre longueur . . 137 \hauteurtrait longueur . . . . . . . . 170 \hbox . . . . . . . . . . . . . . . . 27, 98, 99, 135 \headrulewidth . . . . . . . . . . . . . . . . .125 \height longueur . . . . . . . . . . . . . . . . . 57 \hfill . . . . . . . . . . 20, 50, 51, 122, 135 hhline extension . . . . . . . . . . . . . . . . . . 181

206 \hline . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 \hom . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 \hrule . . . . . . . . . . . . . . . . . . . . . . . . . . 135 \hrulefill . . . . . . . . . . . . . . . . . . . 50, 51 \hspace . . . . . . . . . . . . . . . . . . . . . . . . . . 54 \hspace* . . . . . . . . . . . . . . . . . . . . . . . . . 50 \ht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 \Huge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 \huge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 hyperref extension . . . . . . . . . . . 176, 177 hyperref environnement . . . . . . . . 177 \hyphenation . . . . . . . . . . . . . . . . . . . . 28

Index \item . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 \itemindent longueur . . . . . . 111, 112 itemize environnement . . . . . . . 17, 56 \itemsep longueur . . . . . . . . . .112, 116 \itshape . . . . . . . . . . . . . . . . . . . . . . . . . 14

Index \lim . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 \liminf . . . . . . . . . . . . . . . . . . . . . . . . . 190 limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 \limsup . . . . . . . . . . . . . . . . . . . . . . . . . 190 \linebreak . . . . . . . . . . . . . . . . . . . 28, 29 \linewidth longueur . . . . . . . . . . . . . 49 list environnement 61, 110112, 148, 150 liste . . . . . . . . . . . . . . . . . . . . . . . . . . . 17, 61 ditems . . . . . . . . . . . . . . . . . . . . . . . 17 des gures . . . . . . . . . . . . . . . . . . . . 24 des tables . . . . . . . . . . . . . . . . . . . . . 24 description . . . . . . . . . . . . . . . . . . . . 17 enumration . . . . . . . . . . . . . . . . . . 17 \listoffigures . . . . . . . . . . . . . 24, 156 \listoftables . . . . . . . . . . . . . . . . . . . 24 \listparindent longueur . . 111, 112 livres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 \ln . . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 \log . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 logiciels connexes Acrobat . . . . . . . . . . . . . . . . . . . . . . 134 Acrobat reader . . . . . . . . . . .176, 177 acrobat reader . . . . . . . . . . . . . . . . 176 Aspell . . . . . . . . . . . . . . . . . . . 184, 185 aspell . . . . . . . . . . . . . . . . . . . . . . . . . iii bash . . . . . . . . . . . . . . . . . . . . . . . . . . 61 BibTEX . . . . . . . . . . . . . . . . . . . . . . . .75 BibTEX . . . . . . . . . . 7275, 182184 convert . . . . . . . . . . . . . . . . . . . . . . . .64 csh . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 dvipdf . . . . . . . . . . . . . . . . . . . . . . . 175 dvips . . . . . . . . 4, 5, 64, 68, 178180 dviwin . . . . . . . . . . . . . . . . . . . . . . . . .64 Emacs . . . . 3, 72, 74, 90, 133, 168, 183185 emacs . . . . . . . . . . . . . . . . . . . . . . . . . iii ghostview . . . . . . . . . . . . . . . . . . . . . 55 gimp . . . . . . . . . . . . . . . . . . . . . . . . . . 63 gnuplot . . . . . . . . . . . . . . . . . . . . . . . 63 grep . . . . . . . . . . . . . . . . . . . . . . . . . 180 gv . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 info . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 latex . . . . . . . . . . . . . . . . . . . . . . . . . 175 make . . . . . . . . . . . . . . . . . . . . . . . . 179 makebst . . . . . . . . . . . . . . . . . . . . . . . 72 makeindex . . . . . . . 76, 77, 118, 119, 157159, 182, 183 metafont . . . . . . . . . . . . . . . . . . . . . . 63

207 pdatex . . . . . . . . . . . . 175, 177179 ps2pdf . . . . . . . . . . . . . . . . . . . . . . . 175 psfrag . . . . . . . . . 175, 177, 179, 180 pstricks . . . . . . . . . . . . . 175, 177, 179 texture . . . . . . . . . . . . . . . . . . . . . . . . 64 X Window . . . . . . . . . . . . . . . . . . . . . . 4 xdvi . . . . . . . . . . . 4, 55, 64, 177, 184 Xg . . . . . . . . . . . . . . . . . . . . . . . . . 176 xg . . . . . . . . . . . . . . . . . . . . . . 63, 146 yap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 longueurs . . . . . . . . . . . . . . . . . . . . . . . . . 46 manipulation . . . . . . . . . . . . . . . . . 47 prdnies . . . . . . . . . . . . . . . . . . . . 46 lastiques . . . . . . . . . . . . . . . . . . . . . 48 ltexexemple environnement . . . . . 171 \ltxcom . . . . . . . . . . . . . . . . . . . . . . . . . 142 \ltxenv . . . . . . . . . . . . . . . . . . . . . . . . . . 23 ltxexemple environnement .134, 166, 169, 170 ltxexempleenv environnement . . 168 \ltxpack . . . . . . . . . . . . . . . . . . . 115, 142

J
\jobname . . . . . . . . . . . . . . . . . . . . . . . . 161

K
\ker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 \kern . . . . . . . . . . . . . . . . . . . . . . 134, 137 \kill . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

I
\ieme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 \ier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 ifthen extension . . . . . . . . . . 61, 102, 181 \ifthenelse . . . . . . . . . . 104, 143, 170 \ignorespaces . . . . . . . . . . . . . 100, 151 image . . . . . . . . . . . . . . . . . . . . . . . . . 63, 64 impression . . . . . . . . . . . . . . . . . . . . . . . . . 4 imprimantes . . . . . . . . . . . . . . . . . . . . . . . 5 \include . . . . . . . . . . . . . . . . . . . . . . . . . 78 \includegraphics . . . . . . . . . . . . 65, 66 \includeonly . . . . . . . . . . . . . . . . . . . . 78 \includepstricksgraphics . . . . . 179 inclusion dextensions . . . . . . . . . . . . . . . . . . . .6 dimages . . . . . . . . . . . . . . . . . . . . . . 64 de graphiques . . . . . . . . . . . . . . . . . 64 ind.dvi . . . . . . . . . . . . . . . . . . . . . . . . . 119 index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 \index . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 \indexname . . . . . . . . . . . . . . . . . . . . . 130 \indexspace . . . . . . . . . . . . . . . . . . . . 119 indice . . . . . . . . . . . . . . . . . . . . . . . . . . 8, 32 \indletB longueur . . . . . . . . . . 154156 \indletH longueur . . . . . . . . . .154, 155 \indnota longueur . . . . . . . . . . . . . . 147 \inf . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 \input . . . . . . . . . . . . . . . . . . . . . . . .61, 78 \InputIfFileExists . . . . . . . . . . . . 160 \institut . . . . . . . . . . . . . . . . . . . . . . . . 86 \int . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 intgrale . . . . . . . . . . . . . . . . . . . . . . . . . . 35 \isodd . . . . . . . . . . . . . . . . 102, 143, 145 italique fontes . . . . . . . . . . . . . . . . . . . . 15

L
\Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 \label . . . . . . . . . . . 24, 25, 40, 73, 170 \labelsep longueur . . . 111, 112, 115, 116 \labelwidth longueur . . . . . . 111, 112 \langle . . . . . . . . . . . . . . . . . . . . . 39, 141 \LARGE . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 \Large . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 \large . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 \largeurboitetitre longueur . . 137 \larligB longueur . . . . . . . . . . . . . . 154 \larligH longueur . . . . . . . . . . . . . . 154 latex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 latex.ltx . . . . . . . . . . . . . 126, 157, 166 latexsym extension . . . . . . . 33, 187, 190 \lceil . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 \ldots . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 \leaders . . . . . . . . . . . . . . . . . . . 135, 136 \leavevmode . . . . . . . . . . . . . . . . . .98, 99 \left . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 \leftmargin longueur . 111, 112, 149 \leftmark . . . . . . . . . . . . . . . . . . 127, 128 \lengthtest . . . . . . . . . . . . . . . . . . . . 102 \let . . . . . . . . . . . . . . . . . . . . . . . . 101, 102 letter environnement . . . . . . . . . . . . 86 lettres grecques . . . . . . . . . . . . . . . . . . . 34 lettrine . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 \lettrine . . . . . . . . . . . . . . . . . . 154, 155 \lfloor . . . . . . . . . . . . . . . . . . . . . . . . . . 39 \lg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 \lieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

M
machine crire fontes . . . . . . . . . . . .16 macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 dnitions . . . . . . . . . . . . . . . . . . . . 58 rednition . . . . . . . . . . . . . . . . . . . 60 Magma . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 \mainmatter . . . . . . . . . . . . 78, 121, 129 majuscules . . . . . . . . . . . . . . . . . . . . . . . .83 make . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 \makeatletter . . . . . . . . . . . . . . . . . . 101 \makeatother . . . . . . . . . . . . . . . . . . . 101 \makebox . . . . . . . . . . . . . 53, 55, 58, 135 makebst . . . . . . . . . . . . . . . . . . . . . . . . . . .72 \makeglossary . . . . . . . . . . . . . . . . . . 158 \makeindex . . . . . . . . . . . . . . . . . . . . . . 76 makeindex . 76, 77, 118, 119, 157159, 182, 183 \makelabel . . . . . . . . . . . . 111, 112, 115 \maketitle . . . . . . . . . . . . . . . . . . . 71, 72 \MakeUppercase . . . . . . . . . . . . . . . . .130 \marg . . . . . . . . . . . . . . . . . . 133, 141, 142 marge changements de . . . . . . . . . . . . . . 182 note de . . . . . . . . . . . . . . . . . . . . . . . 20 \marginpar . . . . . . . . . . . . . . . . . . . . . . 20 \markboth . . . . . . . . . . . . . . . . . . . . . . 127

208 \markright . . . . . . . . . . . . . . . . . . . . . 127 \mathbbm . . . . . . . . . . . . . . . . . . . . . . . . . 34 \mathbbmss . . . . . . . . . . . . . . . . . . . . . . 34 \mathbf . . . . . . . . . . . . . . . . . . . . . . . . . . 41 \mathcal . . . . . . . . . . . . . . . . . . . . . . . . . 41 \mathit . . . . . . . . . . . . . . . . . . . . . . . . . . 41 mathpazo extension . . . . . . . . . . . . . . 109 mathptmx extension . . . . . . . . . 105, 109 \mathrm . . . . . . . . . . . . . . . . . . . . . . . . . . 41 \mathsf . . . . . . . . . . . . . . . . . . . . . . . . . . 41 \mathtt . . . . . . . . . . . . . . . . . . . . . . . . . . 41 mathmatiques et dnitions de commande . . . 59 fonctions . . . . . . . . . . . . . . . . . . . . . . 34 fontes . . . . . . . . . . . . . . . . . . . . . . . . . 40 formules . . . . . . . . . . . . . . . . . . . . . . 39 modes . . . . . . . . . . . . . . . . . . . . . . . . 31 style . . . . . . . . . . . . . . . . . . . . . . . . . . 41 symboles . . . . . . . . . . . . . . . . . . . . . . 33 matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 \max . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 \mbox . . . . . . . . . 29, 38, 53, 58, 98, 135 \mdseries . . . . . . . . . . . . . . . . . . . . . . . . 14 metafont . . . . . . . . . . . . . . . . . . . . . . . . . . 63 metapost extension . . . . . . . . . . . . . . . . 70 \min . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 mini-toc extension . . . . . . . . . . . . . . . . 134 minipage environnement . . 56, 57, 67 minitoc extension . . . . . . . . . . . . 139, 182 \minitoc . . . . . . . . . . . . . . . . . . . . . . . . 134 mode brouillon . . . . . . . . . . . . . . . 6, 28, 66 recto verso . . . . . . . . . . . . . . . . . . . . . 6

Index \nolinebreak . . . . . . . . . . . . . . . . . . . . 29 \nonumber . . . . . . . . . . . . . . . . . . . . . . . . 40 \nopagebreak . . . . . . . . . . . . . . . . . . . . 29 \normalfont . . . . . . . . . . . . . . . . . . . . 142 \normalsize . . . . . . . . . . . . . . . . . . . . . 15 \NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 \not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 note de bas de page . . . . . . . . . . . . . . . 21 \nouppercase . . . . . . . . . . . . . . . . . . . 130 numrotation . . . . . . . . . . . . . . . . . . . . . 43

Index \parshape . . . . . . . . 146, 147, 152, 154 \parskip . . . . . . . . . . . . . . . . . . . . . 46, 48 \part . . . . . . . . . . . . . . . . . . . 21, 122, 123 \partopsep longueur . . . . . . . . . . . . 112 pdatex . . . . . . . . . . . . . . . . 175, 177179 petites majuscules fontes . . . . . . . . . .16 \pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 picture environnement . . . . . . . 63, 70 pied de page . . . . . . . . . . . . . . . . . . . . . . 22 pifont extension . . . . . . . . . . . . . . . . . . 187 points . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 points de suspension . . . . . . . . . . 10, 33 positionnement de bote . . . . . . . . . . 54 PostScript . . . . 4, 5, 55, 63, 64, 68, 89, 105, 109, 110, 178, 179, 187 \Pr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 prambule . . . . . . . . . . . . . . . . . . . . . . . 5, 6 \primo . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 \printindex . . . . . . . . . . . . . . . . . .76, 77 \prod . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 produit . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 \protect . . . . . . . . . . . . . . . . . . . . . . . . 142 ps2pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 psfrag extension . . . . . . . . . . . 68, 69, 179 \psfrag . . . . . . . . . . . . . . . . . . . . . . 68, 69 psfrag . . . . . . . . . . . . . 175, 177, 179, 180 pstricks extension . . . . . . . . 70, 178, 179 pstricks . . . . . . . . . . . . . . . . 175, 177, 179

209 \reflectbox . . . . . . . . . . . . . . . . . . . . 162 \renewcommand . . . . . . . . . . . . . . 60, 170 \renewenvironment . . . . . . . . . . . . . . 60 ressort . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 \rfloor . . . . . . . . . . . . . . . . . . . . . . . . . . 39 \righmargin longueur . . . . . . . . . . . 111 \right . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 \right. . . . . . . . . . . . . . . . . . . . . . . . . . . 39 \rightmargin longueur . . . . . . . . . . 112 \rightmark . . . . . . . . . . . . . . . . 127, 128 \rmfamily . . . . . . . . . . . . . . . . . . . . . . . . 14 \Roman . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 \roman . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 \rotatebox . . . . . . . . . . . . . . . . . . . . . . 55 rotation de botes . . . . . . . . . . . . . . . . . . . . . .55 de graphiques . . . . . . . . . . . . . . . . . 66 \rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 rfrence . . . . . . . . . . . . . . . . . . . . . . . . . . 24 aux subfigures . . . . . . . . . . . . . . 67 et chier auxiliaires . . . . . . . . . . . 25 non dnie . . . . . . . . . . . . . . . . . . . . 25 un objet . . . . . . . . . . . . . . . . . . . . 24 une page . . . . . . . . . . . . . . . . . . . . 24

O
\OE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 \oe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 \og . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 \oint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 \onglet . . . . . . . . . . . . . . . . . . . . 162, 164 \ongletfont . . . . . . . . . . . . . . . . . . . . 162 \opening . . . . . . . . . . . . . . . . . . . . . . . . . 85 options de graphicx . . . . . . . . . . . . . . . . . . 65 de classe . . . . . . . . . . . . . . . . . . . . . . . 6 oprateur \not . . . . . . . . . . . . . . . . . . . . 36 \OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 \Ovalbox . . . . . . . . . . . . . . . . . . . . 59, 182 \ovalbox . . . . . . . . . . . . . . . . . . . . . . . . 182 overcite extension . . . . . . . . . . . . . . . . 182 overfull . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 \overrightarrow . . . . . . . . . . . . . . . . 36 OzTEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

S
\S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 saut de ligne . . . . . . . . . . . . . . . . . . . . . . . . 7 de paragraphe . . . . . . . . . . . . . . . . . 7 sauvegarde de bote . . . . . . . . . . . . . . . 57 \savebox . . . . . . . . . . . . . . . . 57, 58, 166 \sbox . . . . . . . . . . . . . . . . . . . . . . . . . 57, 58 \scriptscriptstyle . . . . . . . . . . . . . 41 \scriptsize . . . . . . . . . . . . . . . . . . . . . 15 \scriptstyle . . . . . . . . . . . . . . . . . . . . 41 \scshape . . . . . . . . . . . . . . . . . . . . . . . . . 14 \sec . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 \section . . . . . . . 21, 25, 119, 128, 156 \section* . . . . . . . . . . . . . . . . . . . . . . . . 21 \sectionmark . . . . . . . . . . . . . . . . . . . 128 \secundo . . . . . . . . . . . . . . . . . . . . . . . . . 82 \selectfont . . . . . . . . . . . . . . . . . . . . 109 \setboolean . . . . . . . . . . . . . . . . . . . . 102 \setbox . . . . . . . . . . . . . . . . . . . . . . . . . 166 \setcounter . . . . . . . . . . . . . . . . . . . . . 44 \setlength . . . . . . . . . . . . . . . . . . . . . . 47 \settodepth . . . . . . . . . . . . . . . . . . . . . 48

Q
\qquad . . . . . . . . . . . . . . . . . . . . . . . .37, 50 \quad . . . . . . . . . . . . . . . . . . . . . . . . . 37, 50 \quarto . . . . . . . . . . . . . . . . . . . . . . . . . . 82 question environnement . . . . . . . . 115 quotation environnement . . . . . . . . 20 quote environnement . . . . . . . . . . . . . 20

P N
\newboolean . . . . . . . . . . . . . . . . . . . . 102 newcent extension . . . . . . . . . . . 106, 109 newcent.sty . . . . . . . . . . . . . . . . . . . . 109 \newcommand . . . . . . . . . . . . . 58, 59, 152 \newcounter . . . . . . . . . . . . . . . . 44, 105 \newenvironment . . . . . . . . . . . . . . . . 59 \newlength . . . . . . . . . . . . . . . . . . . . . . 47 \newsavebox . . . . . . . . . . . . . . . . . . . . . 57 newsgroup . . . . . . . . . . . . . . . . . . . . . . . . 91 \No . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 \no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 \nocite . . . . . . . . . . . . . . . . . . . . . . . . . . 74 \nointerlineskip . . . . . . . . . 139, 171 \padnota longueur . . . . . . . . . . . . . . 148 \pagebreak . . . . . . . . . . . . . . . . . . . 28, 29 \pagenumbering . . . . . . . . . . . . . . . . .129 \pageref . . . . . . . . . . . . . . . . . . . . 24, 177 \pagestyle . . . . . . . . . . . . . . . . . . . . . . 22 \par . . . . . . . . . . . . . . . . . . . . . . . . . . . 7, 51 \paragraph . . . . . . . . . . . . . . . . . . . . . . 21 paragraphe sparation . . . . . . . . . . . . . . . . . . . . 48 \parbox . . . . . . . . 5557, 136, 137, 171 parenthses . . . . . . . . . . . . . . . . . . . . . . . 38 \parindent longueur . . . . . . . . . . . . . 57 \parindent . . . . . . . . . . . . . . . . . . . 46, 47 \parsep longueur . . . . . . . . . . . . . . . .112

R
racine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 \raggedleft . . . . . . . . . . . . . . . . . . . . . 17 \raggedright . . . . . . . . . . . . . . . . . . . . 17 \raisebox . . . . . . . . . . . . . . . . . . . 54, 164 \rangle . . . . . . . . . . . . . . . . . . . . . 39, 141 \rceil . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 recto verso . . . . . . . . . . . . . . . . . . . . . . . . . 6 rednitions . . . . . . . . . . . . . . . . . . . . . . 60 \ref . . . . . . . . . . . . . . . 24, 176, 177, 181

210 \settoheight . . . . . . . . . . . . . . . 48, 166 \settotoalheight . . . . . . . . . . . . . . 170 \settowidth . . . . . . . . . . . . . . . . 48, 166 \sffamily . . . . . . . . . . . . . . . . . . . . . . . . 14 \shadowbox . . . . . . . . . . . . . . . . . . . . . 182 \showthe . . . . . . . . . . . . . . . . . . . . . . . . . 49 si-alors-sinon . . . . . . . . . . . . . . . . . . . . . 61 \signature . . . . . . . . . . . . . . . . . . . . . . 85 simulation de terminal . . . . . . . . . . . . 19 \sin . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 \sinh . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 sites internet . . . . . . . . . . . . . . . . . . . . . .90 \slshape . . . . . . . . . . . . . . . . . . . . . . . . . 14 \small . . . . . . . . . . . . . . . . . . . . . . 15, 168 sommaire . . . . . . . . . . . . . . . . . . . . . . . . . 82 \sommaire . . . . . . . . . . . . . . . . . . . 82, 156 somme . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 soulign fontes . . . . . . . . . . . . . . . . . . . . . . . . . 16 sous-gures . . . . . . . . . . . . . . . . . . . . . . . 66 \sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 \stackrel . . . . . . . . . . . . . . . . . . . . . . . . 36 \stretch . . . . . . . . . . . . . . . . . . . . . . . . . 49 subgure extension . . . . . . . . . . . . . . . . 66 \subfigure . . . . . . . . . . . . . . . . . . . . . . 67 subfigure environnement . . . . . . . . 67 \subparagraph . . . . . . . . . . . . . . . . . . . 21 \subsection . . . . . . . . . . . . . . . . . .21, 45 \subsubsection . . . . . . . . . . . . . . . . . . 21 \sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 \sup . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 \symbol . . . . . . . . . . . . . . . . . . . . 134, 143 \symboles . . . . . . . . . . . . . . . . . . . . . . 104 symboles mathmatiques . . . . . . . . . . 33

Index tabulations . . . . . . . . . . . . . . . . . . . . . . . 18 taille des fontes . . . . . . . . . . . . . . . . . . . . . 15 des graphiques . . . . . . . . . . . . . . . . 65 \tan . . . . . . . . . . . . . . . . . . . . . . . . . 35, 190 \tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 telefax environnement . . . . . . . . . . . 86 \telephone . . . . . . . . . . . . . . . . . . . . . . 85 \tempodim longueur . . . . . . . . . . . . . 170 \tertio . . . . . . . . . . . . . . . . . . . . . . . . . . 82 \TeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 TEXINPUTS variable denvironnement . . . . . .61 \textbf . . . . . . . . . . . . . . . . . . . . . 14, 106 textcomp extension . . 83, 187, 193, 194 textcomp extension . . . . . . . . . . . . . . . 187 \texteuro . . . . . . . . . . . . . . . . . . . . . . . . 83 \textheight . . . . . . . . . . . . . . . . . . . . . 46 \textit . . . . . . . . . . . . . . . . . . . . . . . . . . 14 \textmd . . . . . . . . . . . . . . . . . . . . . . . . . . 14 TeXtoEPS environnement . . . . . . . . 179 \textrm . . . . . . . . . . . . . . . . . . . . . . . . . . 14 \textsc . . . . . . . . . . . . . . . . . . . . . . . . . . 14 \textsf . . . . . . . . . . . . . . . . . . . . . . . . . . 14 \textsl . . . . . . . . . . . . . . . . . . . . . . . . . . 14 \textstyle . . . . . . . . . . . . . . . . . . . . . . 41 \texttt . . . . . . . . . . . . . . . . . . . . . . . . . . 14 \textup . . . . . . . . . . . . . . . . . . . . . . . . . . 14 texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 \textwidth longueur . . . . . . . . 57, 146 \textwidth . . . . . . . . . . . . . . . . . . . . . . 46 \the . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 thebibliography environnement 72, 75, 130 \thechapter . . . . . . . . . . . . . . . . . . . . 121 \thefigure . . . . . . . . . . . . . . . . . . . . . . 45 \thefootnote . . . . . . . . . . . . . . . . . . . . 45 theglossary environnement . . . . . 158 theindex environnement . . . . . . . . 130 \thepage . . . . . . . . . . . . . . . . . . . . . . . . . 45 \thesubsection . . . . . . . . . . . . . . . . . . 45 \thispagestyle . . . . . . . . . . . . . . . . . . 22 thumbpdf extension . . . . . . . . . . . . . . .176 \tilde . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 times extension . . . . . . . . . . . . . . . . . . . 105 \times . . . . . . . . . . . . . . . . . . . . . . . . . . 104 \tiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 tirets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 \title . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Index \titlebox . . . . . . . . . . . . . . . . . . 136, 139 titre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 dun document . . . . . . . . . . . . . . . . 72 \today . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 \topsep longueur . . . . . . . . . . . . . . . .112 \totalheight longueur . . . . . . . . . . . 57 traits . . . . . . . . . . . . . . . . . . . . . . . . . 50, 63 translation de bote . . . . . . . . . . . . . . . 54 \truc . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 \ttfamily . . . . . . . . . . . . . . . . . . . . . . . . 14 \typeout . . . . . . . . . . . . . . . . . . . . . . . . 161 typographie lettrine . . . . . . . . . . . . . . . . . . . . . . . 82 majuscules . . . . . . . . . . . . . . . . . . . . 83 ponctuation . . . . . . . . . . . . . . . . . . .81 rgles . . . . . . . . . . . . . . . . . . . . . 15, 83

211 VerbatimOut environnement . . . . . 166 \vfill . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 visualisation . . . . . . . . . . . . . . . . . . . . . . . 4 \voir . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 \vref . . . . . . . . . . . . . . . . . . 142, 177, 181 \vspace . . . . . . . . . . . . . . . . . . . . . . . . . . 51 \vspace* . . . . . . . . . . . . . . . . . . . . . . . . . 50

W
\whiledo . . . . . . . . . . . . . . . . . . . 103, 104 \width longueur . . . . . . . . . . . . . . . . . . 57 wrapg extension . . . . . . . . . . . . . . 67, 68 \wrapfig . . . . . . . . . . . . . . . . . . . . . . . . . 68 wrapfigure environnement . . . . . . . 67 Wysiwyg . . . . . . . . . . . . . . . . . . . . viii, ix

U
underfull . . . . . . . . . . . . . . . . . . . . . . . . . 27 \underline . . . . . . . . . . . . . . . . . . . . . . 16 unit des longueurs . . . . . . . . . . . . . . . 46 Unix . . . . . . . . iv, vi, 4, 5, 64, 97, 178 unixcom environnement . . . . . . . . . .132 \unskip . . . . . . . . . . . . . . . 100, 134, 151 \up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 \upshape . . . . . . . . . . . . . . . . . . . . . . . . . 14 url extension . . . . . . . . . . . . . . . . . . . . . 182 \url . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 \usebox . . . . . . . . . . . . . . . . . . . . . . . . . . 57 \usecounter . . . . . . . . . . . . . . . . . . . . 114 \usepackage . . . . . 6, 61, 66, 101, 124

X
X Window . . . . . . . . . . . . . . . . . . . . . . . . . . 4 xdvi . . . . . . . . . . . . . . . 4, 55, 64, 177, 184 Xg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 xg . . . . . . . . . . . . . . . . . . . . . . . . . . 63, 146

Y
yap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

V
\value . . . . . . . . . . . . . . . . . . . . . 102, 103 variable denvironnement BIBINPUTS . . . . . . . . . . . . . . . . . . . . 75 TEXINPUTS . . . . . . . . . . . . . . . . . . . . 61 varioref extension . . . . . . . . . . . . 142, 181 \vbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 \vdots . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 \vec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . 36 \verb . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 \verb* . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 verbatim environnement 19, 132, 182 \VerbatimEnvironment . . . . . . . . . 167 \VerbatimInput . . . . . . . . . . . . . . . . .166

T
tabbing environnement . . . . . . . . . . . 18 table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 liste des . . . . . . . . . . . . . . . . . . . . . . .24 placement . . . . . . . . . . . . . . . . . . . . 23 table environnement . . . . . . 22, 23, 25 table des matires . . . . . . . . . . . . . . . . 26 tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 mathmatique . . . . . . . . . . . . . . . . 38 \tableofcontents . . . . 21, 26, 27, 76, 130, 156 tabular environnement . . . 18, 19, 38, 55, 181

Table des matires

A Tout sur L TEX

1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 4 4 5 6 6 6 7 8 8 9 10 10 10 11 11 11 13 13 14 15 15 15 16 16 17 18 18 19 20 20 20 21 22 22 23

1 Principes de base 1.1 Cycle de production . . . . . . . . . . . 1.1.1 dition . . . . . . . . . . . . . . . 1.1.2 Compilation . . . . . . . . . . . . 1.1.3 Visualisation . . . . . . . . . . . 1.1.4 Impression . . . . . . . . . . . . . 1.2 Le document source : un document type 1.2.1 Classe du document . . . . . . . 1.2.2 Le prambule . . . . . . . . . . . 1.2.3 Ajout dextension . . . . . . . . . 1.3 Cest parti ! . . . . . . . . . . . . . . . . 1.3.1 Quelques caractres sont spciaux 1.3.2 Appel des commandes . . . . . . 1.3.3 Accents . . . . . . . . . . . . . . 1.4 Premiers outils . . . . . . . . . . . . . . 1.5 Premires erreurs . . . . . . . . . . . . . 1.5.1 Symptmes . . . . . . . . . . . . 1.5.2 Diagnostic . . . . . . . . . . . . . 1.5.3 Soins . . . . . . . . . . . . . . . . 1.5.4 Une collection de message . . . . 2 Ce quil faut savoir 2.1 Mise en vidence . . . . . . . . . . 2.1.1 Family-shape-series . . . . . 2.1.2 Correction italique . . . . . 2.1.3 Tailles . . . . . . . . . . . . 2.1.4 Quelques recommandations 2.2 Environnements . . . . . . . . . . . 2.2.1 Centrage et alignement . . . 2.2.2 Listes . . . . . . . . . . . . 2.2.3 Tabulations . . . . . . . . . 2.2.4 Tableaux . . . . . . . . . . . 2.2.5 Simulation de terminal . . . 2.2.6 Citations . . . . . . . . . . . 2.3 Notes de marge . . . . . . . . . . . 2.4 Titres . . . . . . . . . . . . . . . . 2.5 Notes de bas de page . . . . . . . . 2.6 Entte et pied de page . . . . . . . 2.7 Flottants . . . . . . . . . . . . . . . 2.7.1 Figure et table . . . . . . . 213 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

214 2.7.2 Placement . . . . . . . . . . . . . . . 2.7.3 Liste des gures . . . . . . . . . . . . 2.8 Rfrences . . . . . . . . . . . . . . . . . . . 2.8.1 Principe . . . . . . . . . . . . . . . . 2.8.2 Que rfrencer ? . . . . . . . . . . . . 2.9 Fichiers auxiliaires . . . . . . . . . . . . . . 2.9.1 Interaction avec les rfrences . . . . 2.9.2 Interaction avec la table des matires 2.9.3 Petits conseils . . . . . . . . . . . . . 2.10 O il est question de csure . . . . . . . . . 2.10.1 Contrler la csure . . . . . . . . . . 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 . . . . . . . . . . . . . . 3.3 Fonctions . . . . . . . . . . . . . . . . . . 3.3.1 Fonctions standards . . . . . . . . . 3.3.2 Intgrales, sommes et autres limites 3.4 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 . . . . . . . . 3.5 Deux principes importants . . . . . . . . . 3.5.1 Espaces en mode mathmatique . . 3.5.2 Texte en mode mathmatique . . . 3.6 Array : simple et ecace . . . . . . . . . . 3.6.1 Comment a marche . . . . . . . . 3.6.2 Array et les dlimiteurs . . . . . . . 3.7 quations et environnements . . . . . . . . 3.7.1 Lenvironnement displaymath . . . 3.7.2 Lenvironnement equation . . . . . 3.7.3 Formules multi-lignes . . . . . . . . 3.8 Changer le style en mode mathmatique . 3.8.1 Fontes . . . . . . . . . . . . . . . . 3.8.2 Taille des symboles . . . . . . . . . 4 Un pas vers la sorcellerie 4.1 Compteurs . . . . . . . . . . . . . . . 4.1.1 Compteurs disponibles . . . . 4.1.2 Manipulation . . . . . . . . . 4.1.3 Achage . . . . . . . . . . . . 4.2 Longueurs . . . . . . . . . . . . . . . 4.2.1 Units . . . . . . . . . . . . . A 4.2.2 Quelques longueurs de L TEX . 4.2.3 Manipulation des longueurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Table des matires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 24 24 24 24 25 25 26 27 27 28 31 31 32 32 32 33 34 34 35 36 36 36 36 36 37 37 37 38 38 38 39 39 40 40 40 40 41 43 43 43 44 45 46 46 46 47

Table des matires 4.2.4 Longueurs lastiques . . . . . . 4.2.5 Achage . . . . . . . . . . . . . Espaces . . . . . . . . . . . . . . . . . 4.3.1 Commandes de base . . . . . . 4.3.2 Quelques espaces prdnies . . Botes . . . . . . . . . . . . . . . . . . 4.4.1 Botes simples . . . . . . . . . . 4.4.2 Manipulation de botes simples 4.4.3 Botes paragraphe . . . . . . . . 4.4.4 Petites astuces . . . . . . . . . 4.4.5 Sauvegarde et rutilisation . . . Dnitions . . . . . . . . . . . . . . . . 4.5.1 Commandes . . . . . . . . . . . 4.5.2 Environnement . . . . . . . . . 4.5.3 Rednitions . . . . . . . . . . Mais encore ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

215 48 49 49 50 50 51 53 54 55 57 57 58 58 59 60 61 63 63 64 64 64 65 66 66 67 68 69 70 71 71 72 72 74 75 76 76 76 77 78 78 79 79 81 81 81 82

4.3

4.4

4.5

4.6

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 subgure . . . . . . . . . . 5.4.2 Le package wrapg . . . . 5.4.3 Le package psfrag . . . . . 5.4.4 Le package color . . . . . . 5.5 part a . . . . . . . . . . . . .

6 Documents scientiques 6.1 Articles . . . . . . . . . . . . . . . . . 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 . . . . . . . . . 7 Des 7.1 7.2 7.3 documents en franais Le problme des lettres accentues . . Rdiger un document en franais avec Le package babel et la typographie . 7.3.1 Ponctuation . . . . . . . . . . 7.3.2 L-a, e dans la, t-i, t-i, a ! . .

. . . . A L TEX . . . . . . . . . . . .

216 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 Structure dun document bas 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 Sites FTP . . . . . 8.3.2 Sites Web . . . . . 8.3.3 Les newsgroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . la classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Table des matires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lettre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 83 83 83 84 85 85 86 86 89 89 90 90 90 90 91

Table des matires 10.2.3 Parties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3 Gomtrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4 Entte 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 Interaction avec index, bibliographie et table des matires 10.5 Environnements bass sur fancyvrb . . . . . . . . . . . . . . . . . 10.5.1 Digression vers les caractres... . . . . . . . . . . . . . . . 10.5.2 Environnements maison . . . . . . . . . . . . . . . . . . . 10.6 About those so called french guillemets . . . . . . . . . . . . . . 10.7 Un bote spciale pour la mini-table des matires . . . . . . . . . 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 . . . . . . . . . . . . . . . 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 notas . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . A 11.8 Exemples L TEX . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

217 122 123 125 126 126 126 128 129 130 131 131 132 133 134 135 135 136 136 139 141 141 141 142 143 144 146 149 149 150 152 152 154 156 157 158 158 159 160 161 161 161 162 166 166 166 167 168 170

II

A Tout sur ( Tout sur L TEX)

93
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 97 97 98 99 99 101 101 102 102 103 105 105 106 109 110 110 111 112 112 113 115 117 117 119 119 120

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.4 Fontes . . . . . . . . . . . . . . . . . . . . . . . . 9.4.1 Le jeu des trois familles . . . . . . . . . 9.4.2 Dsignation des fontes et de leurs attributs 9.4.3 Changer de fontes . . . . . . . . . . . . . . 9.5 Listes et nouveaux environnements . . . . . . . . 9.5.1 Principe . . . . . . . . . . . . . . . . . . . 9.5.2 Rglage de ltiquette . . . . . . . . . . . . 9.5.3 Rglages verticaux . . . . . . . . . . . . . 9.5.4 Valeurs par dfaut . . . . . . . . . . . . . 9.5.5 Exemples . . . . . . . . . . . . . . . . . . 9.5.6 Un exemple un peu plus tordu... . . . . . . 10 Cosmtique 10.1 Allure de lindex 10.2 Allures des titres 10.2.1 Sections et 10.2.2 Chapitres . . . . . . . . . . . . . . . . . . . . . . niveaux infrieurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

218

Table des matires

III

Annexes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

173
. . . . . . . . . . . . . . . . 175 175 175 176 176 176 177 177 177 179 181 181 182 183 183 183 184 184

A Gnrer des documents en pdf A.1 Principe gnral . . . . . . . . . . A.2 Ce qui change . . . . . . . . . . . A.3 Trucs et astuces . . . . . . . . . . A.3.1 Gestion des graphiques . . A.3.2 Vignettes . . . . . . . . . A.4 Hyperliens . . . . . . . . . . . . . A.5 Interaction avec psfrag et pstricks A.5.1 pstricks . . . . . . . . . . . A.5.2 psfrag . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

C Symboles C.1 Symboles standard . . . . . . . . . . . . . . . . . . . . . . . . . . . C.2 Symboles de lAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 Symboles du package textcomp . . . . . . . . . . . . . . . . . . . . . Bibliographie Glossaire Index

187 . 188 . 191 . 193 197 199 201

Vous aimerez peut-être aussi