Académique Documents
Professionnel Documents
Culture Documents
AT L EX
SANS JAMAIS OS ER LE DEMANDER
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.
[...] 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
http://www-cs-faculty.stanford.edu/~uno/graphics.html
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.
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
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
AT L EX
SANS JAMAIS OS ER LE DEMANDER
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
donne 468 (plus de deux par page) et ce qui dnote un style assez pauvre.
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).
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
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
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
II
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
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.
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
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
Principes de base
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.
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.
Principes de base
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.
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
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
10
Principes de base
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
Alt Gr Alt Gr z x sur un clavier gr par Xfree86 sous Linux, par exemple.
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
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
15
Le jazz est une musique o le silence a toujours raison ; cest pour cela quil na pas dautre issue que limpossible.
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.
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
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.
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
2.2
16
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
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
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
...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
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...
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
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}
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.
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.
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
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...
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
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
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
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
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
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 }
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.
Ce qui est une mauvaise ide dans la mesure o a nest pas trs parlant ...
26
doc.tex
\ref{a}
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. 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
ou bien :
Overfull \hbox (14.24376pt too wide) detected at line 41
.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
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
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
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 :
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
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
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.1
3
ch. C p. 187
x_2 x^2
x2 x
2
x2y x
2y y x2 t0
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.
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.
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 :
3.7
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.
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 :
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
3.4
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.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
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
39
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 |
() {} ||
[]
un = ln n et
vn = (1 +
Vous trouverez des dtails sur la commande \mbox la section 4.4.1 page 53.
3.6
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.
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.
3.14
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.15
3.18
E =
L2 + a2 + b2
40
Mathmatiques
41
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
(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.
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 .
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*}
3.22
n 1 fi
et
1
fi
fi et
1
n 1 fi
3.8
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
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 ?
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.
43
44
A Tab. 4.1 les compteurs de L TEX
4.1 Compteurs
45
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}
46
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
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.
On verra plus loin quil existe des dimensions lastiques. cf. les dimensions lastiques pour avoir la signication du plus.
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
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.
50
4.4 Botes
zro \hfill{} un\par zro \hrulefill{} un\par zro \dotfill{} un\par
51
zro un zro un zro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . un
\ 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
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.
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
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
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
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 :
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 !
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
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
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
55
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
Cest haut
New York,
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 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
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.
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
56
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
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
une
Pour une raison x, y ou z , on peut vouloir raconter sa vie avec une minipage. Comme dans cet exemple l
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
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}
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
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 .
4.19
Cette commande fait appel la commande \Ovalbox dnie dans le package fancybox.
60
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
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
65
5.2
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
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.
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
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
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)
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
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
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
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...
Graphisme
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"}
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
.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.
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
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}
pour gnrer lindex pour le document doc.tex, on lancera successivement les trois commandes suivantes : latex doc makeindex doc latex doc
.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
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
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
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
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
81
` 0 @ P p NUL DLE SP 0 @ P p
! 1 A Q a q
# 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
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
\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
SOH DC1 ! 1 A Q a q
NL SUB * : J Z j z a
o
SO RS . > N n
SI US / ? O _ o DEL
7.3
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
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
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 .
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.
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.
84
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
Tar Tempion
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.
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
86
87
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
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.
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
89
90
vous de jouer !
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.
vous de jouer !
8.3
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 :
/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.2
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)==
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
100
Outillage ncessaire
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 :
9.8
9.6
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 :
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
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
Et bien sr on pourra utiliser le boolen ainsi cr avec les structures de contrle , par exemple comme ceci :
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
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
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 :
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
m m
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
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)
& #% $ "# )' ( +* -" ). ) ,, ! ')
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)
> ? @
>
Notez ici le jeu de mots dsopilant, concrete veut aussi dire bton en langue anglaise.
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
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
Les appels quil est possible de faire avant la commande \selectfont sont :
9.13
110
Outillage ncessaire
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)
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
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
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
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
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.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
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
115
labelwidth
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
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
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
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
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
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.
120
Cosmtique
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
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 :
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
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
paperheight
left
footskip
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.
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...
\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 :
\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
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.
01
10
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
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
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
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
01
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}
Alt-Gr-z et Alt-Gr-x.
134
Cosmtique
135
\newcommand{\fermerguillemets}{\unskip\kern.15em\symbol{20}} \newcommand{\ouvrerguillemets}{\symbol{19}\ignorespaces\kern.15em}
9.2.1 p. 100
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
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
10.7
\framebox[3cm]{% \leaders\hbox{o}\hfill}
10.8
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
137
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
01
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.
Cosmtique
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{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
01
10
\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
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
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}}
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.
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
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
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
146
De nouveaux jouets
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
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}}
(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
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
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.
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
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
159
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
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
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
De nouveaux jouets
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
11
162 \centering% % on applique un eet miroir selon la parit \ifthenelse{\isodd{\value{page}}}{% \ongletfont\thechapter}{% \reflectbox{\ongletfont\thechapter}}% \vfill}}}
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
...
11
Il est important de noter que les botes produites par \colorbox sont assujetties la dimension \fboxsep :
En voici une autre :
11.32
...
11
26
corps du document
27
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
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
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.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
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
[...] \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
De nouveaux jouets
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 :
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 :
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
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.
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 :
170
11.38
De nouveaux jouets
Voici un exemple.
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
% 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
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.
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
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.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 :-)
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
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
178
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
Soit :
Dingue, non ? Certes. Le principe de lextension pstricks est dinsrer du code PostScript dans le chier .dvi, code qui pourra tre galement trait par le programme dvips. L o a se corse cest 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 :
#!/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
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
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
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 ,
\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.
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
184
Mmento
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 :
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
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
\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
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 \
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
\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
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
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
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
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
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
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 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 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
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
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