Framabook: Tout ce que vous avez toujours voulu savoir sur LATEX

328
Tout ce que vous avez toujours voulu savoir sur L A T E X sans jamais  os   e r le demander 1.5 Ou comment utiliser L A T E X quand on n’y connaît goutte Vincent  Lozano

description

Ce livre de Framabook vous explique tout ce que vous avez toujours voulu savoir sur LATEX sans jamais oser le demander. Plus préciément, comment utiliser LATEX quand on n'y connait goutte. LaTeX est un langage et un système de composition de documents.

Transcript of Framabook: Tout ce que vous avez toujours voulu savoir sur LATEX

  • Tout

    ce que vous avez

    toujours voulu

    savoir

    sur LATEX

    sans jamais os erle demander

    1.5

    Ou comment utiliser LATEXquand on ny connat goutte

    Vincent Lozano

  • Framasoft a t cr en novembre 2001 par Alexis Kauffmann. En janvier2004 une association ponyme a vu le jour pour soutenir le dveloppement du r-seau. Pour plus dinformation sur Framasoft, consulter http://www.framasoft.org.

    Se dmarquant de ldition classique, les Framabooks sont dits livreslibres parce quils sont placs sous une licence qui permet au lecteur de dis-poser des mmes liberts quun utilisateur de logiciels libres. Les Framabookssinscrivent dans cette culture des biens communs qui, linstar de Wikipdia,favorise la cration, le partage, la diffusion et lappropriation collective de laconnaissance.

    Le projet Framabook est coordonn par Christophe Masutti. Pour plus din-

    formation, consultez http://framabook.org.

    Copyright 2008 : Vincent Lozano, in Libro Veritas Copyright 2013 : VincentLozano, Framasoft (coll. Framabook)

    Tout. . . sur LATEX est plac sous licence Art libre.ISBN : 979-10-92674-00-2Dpt lgal : juin 2013, Framasoft

    Pingouins : LL de Mars, Licence Art Libre Couverture : cration par Nadge Dauvergne, Licence CC-By lillustration de la couverture est base sur un dessin original

    de Duane Bibby pour le comprehensive TEX archive network (CTAN).Merci donc http://www.ctan.org.

    Imprim en France, en partenariat avec Atramenta, chez unimprimeur certi ImprimVert (http://atramenta.net).

    Cette uvre est mise disposition selon les termes de la Licence Art libre.

    http://creativecommons.org/licenses/by/2.0/fr

  • Enfin voil deux jeunes corps enlacs qui jouissent de leur jeunesse enfleur ; dj ils pressentent les joies de la volupt et Vnus va ensemencerle champ de la jeune femme. Les amants se pressent avidement, mlent

    leur salive et confondent leur soue en entrechoquant leurs dents. Vainsefforts, puisque aucun des deux ne peut rien dtacher du corps de

    lautre, non plus quy pntrer et sy fondre tout entier. Car tel estquelquefois le but de leur lutte, on le voit la passion quils mettent

    serrer troitement les liens de Vnus, quand tout ltre se pme devolupt. Enfin quand le dsir concentr dans les veines a fait irruption,

    un court moment dapaisement succde lardeur violente ; puis cest unnouvel accs de rage, une nouvelle frnsie. Car savent-ils ce quilsdsirent, ces insenss ? Ils ne peuvent trouver le remde capable de

    vaincre leur mal, ils souffrent dune blessure secrte et inconnaissable.

    Lucrce De natural rerum, Livre IV

  • Introduction

    Mieux vaut la malice dun hommeque la bont dune femme 1.

    Lecclsiastique Si 42 14.

    Il tait une fois...

    Tout a commenc lorsquau tout dbut des annes 1990, jutili-sais sur un ordinateur PC 286 une version du logiciel Word Perfectpour minitier ce quon appelait alors le traitement de texte .Ce logiciel qui existe toujours, dit par la socit Corel pro-posait lpoque sous le dsormais clbre MS-DOS, une interfacecompose dun vague aperu du document, et surtout laissait luti-lisateur la possibilit de voir les codes cest--dire de visualiserle document avec une sorte de langage balises en permettant uncontrle trs souple.

    1. Les pigraphes de ce document sont tires de lAncien et du Nouveautestament. Ces citations sont insres par pure provocation de ma part, et ont parfois un lien avec le titre du chapitre.

    iii

  • iv

    Un peu plus tard, avec la prolifration de Windows 3.1 et len-gouement soudain et bien nautel pour les interfaces graphiques, jeme laissais convaincre faible que jtais dutiliser le logiciel detraitement de texte devenu trs clbre aujourdhui dans sa versiondalors : la version 2.0 (avec une petite lettre derrire qui avait touteson importance lpoque)... Cette version, je ne lappris quun peuplus tard, avait la particularit intressante de comporter un bugtrs srieux qui empchait partir dun certain volume de donnes,la sauvegarde ! Il ny a avait alors aucune solution pour sauvegar-der ni rcuprer son document ; les plus teigneux dentre nous sehasardaient supprimer quelques lignes et tentaient nouveau unesauvegarde, mais en vain...

    cette poque o les logiciels dits par la socit dont noustairons le nom ici, faisaient lobjet de railleries non dissimules 2, laplupart des utilisateurs qui mentouraient acceptait malgr tout lasituation : il tait normal dutiliser des logiciels qui se vautraientlamentablement et notoirement sans crier gare. Cette particularit afait natre en moi une certitude : je naccepterai pas dutiliser de telslogiciels. Jtais alors lve ingnieur et je pressentais quune partiede mon travail serait consacre llaboration de documents et lutilisation de systmes informatiques en gnral, il me fallait desoutils robustes pour y parvenir.

    Cest au cours de mon DEA (quon appelle aujourdhui masterrecherche) luniversit Jean Monnet et lcole des Mines deSaint-tienne que jai dcouvert la fois Unix (dans sa version So-laris) puis Linux. Cest alors que le mot latque fut lch pasloin de moi au dbut de ma thse (1993-94). Il tait apparemmentquestion dun logiciel indispensable pour produire des formules ma-thmatiques, et surtout il semblait vident que LATEX tait le choixincontournable pour produire des documents scientiques. vraidire la question navait mme pas lair de se poser !

    Jentrepris donc dinstaller cette chose qutait LATEX lafois sur un systme Mac avec une distribution nomme OzTEX etsur un systme Solaris, avec la distribution fournie par lassociationGutenberg. Il avait fallu pour cela soudoyer ladministrateur systmepour quil accepte de crer un utilisateur privilgi texadm dont lebut tait dadministrer la distribution...

    2. Parmi celles-ci, mme si elles napparurent que quelques annes aprs, onpourra noter la clbre intervention du patron de General Motors en rponse une provocation de Bill Gates et le non moins clbre Pige dans le cyberes-pace de Roberto Di Cosmo.

  • vDbut 1994, je commenais ma thse avec bien videmment laferme intention de la rdiger avec LATEX. Courant 1995, enthou-siasm par ce que je dcouvrais, jentrepris de rdiger un guide dini-tiation LATEX pour mes collgues de laboratoire, guide qui est lorigine du prsent manuel. Cest au cours de lanne 1997, aprsenviron deux ans de pratique et dinitiation au monde de la typogra-phie, que je me confortais dans lide que LATEX tait eectivementle logiciel de choix pour la rdaction dun document srieux :contrle global de la mise en page, gestion de la bibliographie, desindex (nom communs et auteurs), lgret des chiers manipuls etsurtout : la beaut du rsultat. Depuis, cest pour moi largument leplus fort et le plus irrfutable pour utiliser LATEX.

    Aujourdhui matre de confrence en informatique lcole na-tionale dingnieurs de Saint-tienne, jutilise LATEX pour la rdac-tion de documents scientiques et de supports pdagogiques. Aprsmaintenant plusieurs annes de pratique, je continue apprendre et dcouvrir, tout en tant encore bloui par lensemble des extensionsproposes par les contributeurs du projet, ensemble dextensions quifont de LATEX un joyeux bazar, mais aussi un outil extraordinairevoluant dans le sens de la vritable ergonomie 3, un outil uniquedont le souci permanent est la belle ouvrage.

    Organisation du manuel

    Ce manuel est une introduction au traitement de texte LATEX ;il ne sagit pas dun manuel de rfrence, mais il a pour but dedonner les bases pour utiliser LATEX et si possible dy prendre got.Ainsi trouvera-t-on les informations ncessaires pour commencer enLATEX et quelques conseils sur la rdaction des documents. Pourvotre confort, nous avons eu lide lumineuse de diviser ce manuelen chapitres et annexes. La premire partie prsente les bases deLATEX :

    Principes de base expose les concepts fondamentaux de LATEX lire imprativement pour comprendre le reste ;

    Ce quil faut savoir prsente les outils standard, ceux quil fautconnatre pour rdiger un document simple ;

    Mathmatiques ou comment produire des quations ;

    3. Pas celle qui consiste ajouter une entre dans un menu, ou un son lapparition dune bote de dialogue.

  • vi

    Un pas vers la sorcellerie pntre insensiblement dans les roua-ges de LATEX ; lire si vous voulez utiliser LATEX de maniresatisfaisante ;

    Graphisme permet de comprendre comment insrer des graphi-ques dans vos documents ;

    Documents scientifiques donne quelques conseils utiles pour r-diger des articles, des bibliographies, produire des index etdes prsentations ;

    Documents en franais fournit quelques notions lmentaires detypographie et prsente les principaux aspects du packagefrench ;

    vous de jouer ! une conclusion sous forme de conseils pour cher-cher des informations sur TEX et LATEX.

    La deuxime partie a pour but daborder les aspects plus com-plexes de LATEX en prenant comme prtexte dexpliquer com-

    ment ce manuel a t produit. Ne la lisez pas avant davoir lu la pre-mire... Toute exposition mme non prolonge la deuximepartie peut provoquer des troubles du comportement et des trauma-tismes irrversibles.

    Viennent ensuite les annexes :

    Gnrer des documents en PDF comme son nom lindique ex-plique la mthode utilise pour gnrer la version pdf de cemanuel ;

    Mmento est un fourre-tout qui propose une liste non exhaustivedextensions utiles, les raccourcis de AucTEX, et la congu-ration de aspell pour emacs ;

    Symboles une liste des symboles mathmatiques disponibles enstandard et avec lextension amssymb.

    Il est conseill de lire dans lordre les premiers chapitres jusquauxmathmatiques. Les suivants peuvent se lire indpendamment lesuns des autres. Encore une fois, la deuxime partie du manuel nest lire quaprs avoir matris les concepts de base. Un index en n dedocument constitue un bon point dentre pour retrouver des infor-mations. Enn, linstar des auteurs de la FAQ franaise de LATEX,je nai pas fait deort particulier pour traduire systmatiquementtous les termes du jargon de LATEX et de linformatique en gnral.

  • vii

    Ce quil faudrait que vous sachiez

    La lecture de ce manuel qui sadresse aux dbutants, ne demandeaucun pr-requis propos de LATEX. Le lecteur devra cependant pos-sder une connaissance de base dun systme dexploitation en tantquutilisateur, cest--dire savoir manipuler des chiers. tre capablede crer un chier PostScript encapsul sur son systme, partirdun logiciel de dessin ou de manipulation dimage, est galementsouhaitable.

    Ce que vous ne saurez pas

    Ce fabuleux manuel que vous avez entre les mains soure toutde mme de quelques lacunes ; parmi celles-ci :

    il manque une explication claire de la manire dont TEX etLATEX grent les fontes. Vous ne trouverez dailleurs nulle partle mot METAFONT;

    vous napprendrez pas comment installer et administrer unedistribution LATEX sur un systme Unix ;

    vous ne trouverez pas de catalogue ou dinventaire desextensions existantes, utiles ou inutiles, compatibles ou in-compatibles, etc. ;

    la question de luf ou la poule est galement occulte, ainsique celle des liens entre Dieu et la science ;

    ...

    Il est important de ne pas fonder de faux espoirs sur le contenude ce manuel : son titre est un mensonge hont.

    TEX?

    Le mathmaticien Donald Ervin Knuth qui lon doit denombreux ouvrages de mathmatiques et dalgorithmique (notam-ment The Art of Computer Programing [8]) a conu dans les an-nes 70 un systme de traitement de texte nomm TEX aprs avoirt du par la manire dont ses articles taient imprims par lessystmes du moment. TEX accessible au public depuis le dbutdes annes 80 est un environnement complexe de programma-tion compos dun processeur de macro (macro processsor) et de

  • viii

    quelques centaines de primitives. Un premier ensemble de macrospr-compiles est apparu assez rapidement sous le nom de formatplain.

    On pourra noter que TEX nest ni un traitement de texte (Knuthle nomme typesetting system que lon pourrait traduire par sys-tme de composition) ni un langage de programmation compil.Voici quelques citations de Knuth propos de TEX

    4 :

    Des mots anglais comme technology sont drivsde racines grecques commenant par les lettres ... ; cemme mot grec voulant dire la fois art et technologie.Do le nom TEX, qui est la forme en majuscules de .

    Au sujet de la prononciation du X de TEX :

    [...] Cest le son ch en allemand comme dans ach ;cest le j espagnol [...]. Lorsque vous le dites correcte-ment votre ordinateur, lcran doit devenir lgrementhumide.

    Votre humble serviteur se contente lui de le prononcer TeK pourcontrecarrer laspect caoutchouteux et viter davoir nettoyer soncran rgulirement.

    Enn pour ce qui est du logo lui-mmeKnuth fait remarquer quece dplacement du E est l pour rappeler quil sagit de typographie,et insiste sur le fait que dans une situation o lon veut parler deTEX sans avoir les moyens dabaisser le E, il faudra crire TeX.

    La version actuelle de TEX est 3.1415926 (les versions commevous lavez compris tendent vers ) ; dans la prface de son livreTEX : the program Knuth estimait que le dernier bug avait ttrouv et corrig le 27 novembre 1985 et proposait une rcompensede 20,48 $ qui en trouvait un nouveau. Aujourdhui la somme dedollars hexadecimaux a t ge 327,68 $. Les amateurs de puis-sances de 2 apprcieront...

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

  • ix

    LATEX?

    En 1985, quelques annes aprs la diusion publique de TEX, Les-lie Lamport cre un format compos de macros permettant davoirune vision de plus haut niveau dun document, appel LATEX et por-tant le numro de version 2.09. Aujourdhui, LATEX est un standardde fait, et seuls quelques sorciers produisent encore des documentsuniquement avec TEX. Cependant, LATEX tant une surcouche deTEX contenant donc des appels des macros de TEX il estparfois utile de connatre quelques-uns des concepts de TEX pour setirer dun mauvais pas. Voici ce que dit Lamport ce propos dansson livre [10] :

    Imaginez LATEX comme une maison dont la charpenteet les clous seraient fournis par TEX. Vous nen avez pasbesoin pour vivre dans la maison, mais ils sont pratiquespour y ajouter une nouvelle pice.

    Un peu plus loin :

    LATEX a t conu pour permettre un auteur de faireabstraction des soucis de mise en page, et se concentrer surlcriture. Si vous passez beaucoup de temps sur la forme,vous faites un mauvais usage de LATEX.

    Aujourdhui et depuis 1994, une quipe mi-europenne mi-amri-caine (autour de Frank Mittelbach) a pris en main le dvelop-pement de LATEX ; la version de LATEX parue en 1994 se nommeLATEX2. Le but long terme est de concevoir un systme nommLATEX3.

    Licence

    On peut souligner que TEX et LATEX sont des logiciels faisant par-tie de la famille des logiciels libres et sont donc entre autres gratuits. Ce qui caractrise les logiciels libres (free software) est ga-lement laspect ouvert des logiciels. Il est donc possible davoir les

  • xsources Web 5 de TEX. Les macros de LATEX sont quant elles distri-bues sous forme de code source TEX. Le fait de pouvoir obtenir lessources dun logiciel peut sembler secondaire la plupart des utili-sateurs ; il faut comprendre que cest parce que rien nest cach quelamlioration de lexistant et la cration dextensions sont possibles.

    Le fait quun logiciel soit libre ne veut pas dire quon puisse enfaire tout fait ce que lon veut. Il reste la proprit de son au-teur et toute modication doit tre documente ; chacune de cesmodications doit galement donner lieu un nom de chier di-rent de celui du chier initial avant modication. Ceci pour assu-rer cohrence et portabilit au systme (voir ce sujet ftp://ftp.lip6.fr/pub/TeX/CTAN/macros/latex/base/lppl.txt pour la li-cence de LATEX2).

    Cinq bonnes raisons pour ne pas utiliser LATEX

    Il existe plusieurs raisons pour lesquelles il est impratif dene pas utiliser LATEX :

    1. vous utilisez un traitement de texte uniquement pour fairevos cartes de vux, votre courrier, pour noter quelques ides,etc. ;

    2. vous adorez les souris (1 ou 3 boutons indiremment) et vouspensez que la seule manire dcrire des quations est de lesutiliser (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 langagede programmation ;

    4. vous trouvez normal : 1o que votre logiciel prfr ne puissepas lire le document que vous aviez produit avec la versionprcdente, et/ou 2o que la nouvelle version vous oblige changer de systme dexploitation, et 3o que la nouvelle ver-sion dudit systme dexploitation vous oblige changer dor-dinateur, et 4o que votre nouvel ordinateur...

    5. vous ne savez pas o se trouve la touche \ sur votre clavier ;si vous vous reconnaissez dans une de ces catgories, mieux vautvous contenter de votre systme actuel.

    5. Le langage Web conu par Knuth est qualifi de langage deprogrammation littraire. partir dun document source Web, on peut pro-duire le code Pascal ou C du programme ainsi quune documentation en TEX dece code.

  • xi

    Quelques bonnes raisons dutiliser LATEX

    Il nest pas question ici de convaincre le lecteur de la suprioritde TEX et LATEX par rapport un autre systme, de toutes manires,vous lisez ce manuel, donc vous tes inconsciemment convaincu. Lais-sons donc la parole au concepteur de TEX :

    By preparing a manuscript in TEX format, you willbe telling a computer exactly how the manuscript is to betransformed into pages whose typographic quality is com-parable to that of the worlds nest printers.

    D. E. Knuth in the TEXbook [9]

    Les documents gnrs par TEX ou LATEX sont dune qualit typo-graphique exceptionnelle (avec possibilit de rglage trs n 6), cecigrce notamment :

    un dessin de fontes trs soign ; des dtails typographiques (tirets, ligatures,...) ;

    avez-vous bien regard ces tirets (page 1923) ? et le fi de n, le ffl de soue ou le fl de tre ?

    un algorithme de csure trs performant ; des formules mathmatiques particulirement russies ; ...Dautre part, LATEX est un des rares logiciels de traitement de

    texte orient vers la production de documents scientifiques. Caroutre les quations et autres formules, LATEX possde un nombreimportant de fonctionnalits axes autour de la rdaction darticleet la gnration de bibliographie et dindex.

    Enn, LATEX est particulirement adapt la production de grosdocuments. Pas seulement parce que la manipulation dun documentLATEX exige par essence peu de mmoire, mais parce que les mca-nismes de macros et de rfrence croise (cross reference en anglais)permettent de garder un contrle global et trs souple du document.

    rfrence croise : LATEX permet de faire rfrence de maniresymbolique toute partie du document faisant lobjet dunenumrotation. Ainsi, le numro des titres, gures, tableaux,

    6. titre indicatif lunit interne de mesure de TEX est le scaled point, notsp dans le TEXbook, qui vaut 1/65536 points ; 1 point valant environ 1/72e depouce, 1 pouce valant 2.54 cm, lunit de base est approximativement 50 , cequi laisse de la marge vis vis de la rsolution des imprimantes actuelles.

  • xii

    quations, pages, rfrences bibliographiques, items dnum-ration, thormes,... peut tre mentionn plusieurs endroitsdans un document de manire trs simple, sans se soucier dunumro lui-mme.

    macros : sans doute laspect le plus puissant de LATEX. Il faut sa-voir que tout processus qui mne la gnration dun do-cument est une squence de commandes ou macros. Chaqueutilisateur peut donc modier lallure dun document, en mo-diant lune des ces macros. On peut bien videmment dnirses propres macros pour mettre en page une partie spciquedun document. Lide forte autour des macros est quon peuta priori sparer le fond de la forme lors de la rdaction dundocument.

    Les limites du Wysiwyg

    LATEX est le contraire dunWysiwyg7, puisquun source LATEX est

    un document texte compos du texte lui-mme et des commandes demise en page. Lamport prsente ce type dapproche comme tantune mise en page logique par opposition la mise en page visuelle 8.

    On pourrait cependant dire que LATEX est un Wywsiewyg (whatyou will see is exactly what you get) puisquaprs compilation onpeut visualiser lcran une image exacte du document futur surpapier.

    Voici donc un exemple 9 parmi dautres qui met en vidence leslimites du Wysiwyg et les avantages de la mise en page logique :supposons que dans un document apparaisse un certain nombrede fois, une fonction quelconque ayant deux arguments. La nota-tion tant un point dlicat dans llaboration de documents scien-tiques, on pourra dnir une macro \mafct permettant de pro-duire une telle fonction. Ainsi les squences \mafct{1}{2.5} et\mafct{x}{t} produiront respectivement F,(1, 2.5) et F,(x, t).

    7. Pour what you see is what you get terme dsignant les logiciels per-mettant lutilisateur de voir lcran ce quil obtiendrait sur le papier. Lepremier traitement texte Wysiwyg serait Bravo mis au point sur la machine Altodu Xerox Paolo Alto Research Center en 1974.

    8. Pour faire un peu de mauvais esprit, les logiciels du type Wysiwyg ontdailleurs t qualifis par Kernighan (dixit Lamport dans son livre sur LATEX)de what you see is all what youve got !

    9. Lamport propose un exemple analogue celui-ci dans son manuel.

  • xiii

    Mais si lon a besoin de changer de notation, il sura de red-nir 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 comportebeaucoup de mots techniques que vous voulez mettre en videncedune 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 vocabu-laire technique. Les 235 mots de jargon auxquels vous fates rfrencedans votre document pourront tre mis en vidence autrement quenitalique si vous changez davis, et cela sans avoir passer sur les 235occurrences des mots du jargon, mais juste en changeant la dni-tion de la macro \jargon. Avec un peu dentranement vous arriverezmme faire en sorte que cette macro insre automatiquement lemot du jargon dans lindex de votre document...

    Voici un exemple un peu plus tordu : dans le titre du paragrapheintitul Cinq bonnes raisons de ne pas [...] un peu plus hautdans ce chapitre, je nai pas crit Cinq 10 en toutes lettres dansle document source. En ralit le titre du paragraphe est produitpar : \ref{nbraisons} bonnes raisons... qui ache en fran-ais le nombre correspondant aux nombres de bonnes raisons de nepas utiliser LATEX. Si jamais javais rajouter dautres entres danscette liste de bonnes raisons, il ne sera pas ncessaire de refaire lanumrotation...

    Vous trouverez le long de ce manuel, dautres exemples mettanten vidence, les faiblesses du Wysiwyg. Ce nota, vous aver-

    tissant dun point important en est un autre exemple. Car au momento lauteur tape ces lignes, la prsence du panneau danger est undtail il sagit simplement dun nota. Et lauteur a crit :

    \begin{nota}Vous trouvez le long de ce manuel...

    \end{nota}

    Pour en nir avec les macros, on peut dire quil sagit dune g-nralisation des styles du clbre logiciel Mot de la socitMicrologiciel . La lecture de ce document et en particulier ladeuxime partie devrait vous convaincre que les macros permettentdaller bien au-del de ces fameux styles...

    Pour les accros du Wysiwyg, une quipe de dveloppeur a mis enuvre une version What you see is what you Mean (sic) de LATEX

    10. L non plus dailleurs.

  • xiv

    nomm LyX, dont je vous invite prendre connaissance http://www.lyx.org.

    Comment imprimer ce manuel ?

    Avec une imprimante 11, en utilisant la version papier produite partir de ce document, version prvue pour tre imprime sur dupapier au format A5.

    Que pouvez-vous faire de ce manuel ?

    Nom de lauteur : Vincent Lozano ;

    Titre : Tout ce que vous avez toujours voulu savoir sur LATEX sansjamais avoir os le demander ;

    Date : 22 novembre 2013

    Copyleft : ce manuel est libre selon les termes de la Licence ArtLibre (LAL) :

    http://www.artlibre.org

    La LAL stipule en rsum que vous pouvez copier ce manuel. Vouspouvez galement le diuser condition :

    dindiquer quil est sous la LAL ; dindiquer le nom de lauteur de loriginal : Vincent Lozano

    et de ceux qui auraient apport des modications ; dindiquer que les sources peuvent tre tlchargs sur http:

    //cours.enise.fr/info/latex.Enn vous pouvez le modier condition :

    de respecter les conditions de diusion nonces ci-dessus ; dindiquer quil sagit dune version modie et si possible la

    nature de la modication ; de diuser vos modications sous la mme licence ou sous

    une licence compatible.

    11. Arf arf (comme disait Frank Zappa).

  • xv

    En avant !

    Comme beaucoup de logiciels puissants, LATEX nest pas toujourssimple utiliser. En fait lorsque lon va dans son sens, LATEX est tou-jours agrable et permet eectivement comme le souligne Lamportde ne pas se soucier de problmes de mise en page. Lorsque lon veutchanger un comportement, et que la solution consiste choisir uneautre option dune commande, tout va encore trs bien. Cependant,mme si les choix de LATEX rpondent des conventions en vigueurchez tous les bons imprimeurs, il arrive un jour o lon dsire avoirune mise en page particulire quapparemment LATEX est incapablede fournir. ce stade, plusieurs solutions sorent vous :

    inclure un package qui rpond votre problme (LATEX tantun systme ouvert, une multitude de packages plus ou moinsstandardiss sont disponibles pour raliser des oprations va-ries voire farfelues);

    demander un TEXnicien12 de vous dpanner ;

    si les deux premires solutions sont inecaces, vous navezplus qu faire le dtective et mettre le nez dans le code 13

    pour trouver la commande qui vous fait du tort et la mo-dier. Vous aurez besoin ce stade de connaissance de lapremire couche du systme, savoir TEX. On touche sansdoute ici un des dfauts de LATEX : si dautres logiciels sontincapables de faire des choses compliques, il est parfois dif-cile de faire faire LATEX des choses simples (vous en serezprobablement convaincu aprs la lecture de la deuxime par-tie de ce manuel).

    Conventions typographiques

    Certaines conventions utilises dans ce manuel ncessitent dtrequelque peu claircies. Les extraits de code LATEX qui parsment ledocument peuvent apparatre comme ceci :

    % attention les yeuxCeci est \emph{dj} du code \LaTeX.

    12. ou un TEXpert, mais cest assez rare.13. Cest la solution la plus plaisante pour ceux qui ont certaines vellits pour

    pisserxxxxx du code...

  • xvi

    Le choix sest port sur la fonte machine crire de LATEX. Lecode est galement souvent prsent sous la forme suivante, avec unpetit numro sur la barre centrale auquel on se rfre parfois :

    % attention les yeuxCeci est \emph{dj} ducode \LaTeX.

    0.1 Ceci est dj du code LATEX.

    Certaines parties sont prsentes sous forme de notes pourclaircir un point sans que la lecture soit indispensable au pre-

    mier abord.

    Si la lecture est indispensable, on aura recours au pictogrammeci-contre pour attirer lattention du lecteur distrait...

    Les logiciels et les packages de LATEX sont typographis comme in-diqus ci-avant. Les mots en anglais sont produits like this. Pourmettre en vidence les parties gnriques dune commande on utili-sera cette notation. Par exemple :Ceci est \emph{texte mettre emphase} du code \LaTeX.

    Quelques rares fois sont insres des commandes Unix, comme ceci :

    grep -wi bidule /tmp/truc.dat | sort -n

    On trouve mme dans une des annexes, des commandes pour emacs :

    M-x doctor

    Et, comble de lhorreur, des extraits de Makefile :

    bidule : bidule.o truc.o

    7 gcc -o $@ $^

    Dans la version papier apparaissent des renvois sur des chapitres oudes paragraphes, comme celui-ci dirigeant le lecteur vers la produc-tion de formules mathmatiques avec LATEX. Ch. 3

    p. 43

  • xvii

    Remerciements

    La rdaction de cet ouvrage qui est initialement le guide localdu laboratoire dinformatique graphique et dingnierie de la visionsitu Saint-tienne, a dbut en 1995. Je tiens ici remercierles membres de cette quipe de recherche qui mont fait part deleurs remarques et encouragements. Les personnes participant auforum fr.comp.text.texmont indirectement apport normmentdinformations qui ont enrichi ce document, quelles en soient iciremercies.

    Je voudrais galement remercier Benjamin Bayart qui ma aid crer certaines des extensions utilises dans ce manuel, en parti-culier la version initiale de la bote entourant les mini tables desmatires en tte de chapitre ; ainsi que Guillaume Connan pour sesremarques sur lannexe concernant le format Pdf et pour ses encou-ragements.

    Un merci particulier Denis Bitouz pour sa lecture attentiveses conseils prcieux et les nombreuses corrections quil a apportes la premire partie du manuel. Denis ma mis sur la voie de lardemption, jai fait une croix sur a4wide, eqnarray, et toutes ceshorreurs qui faisaient de moi un pauvre pcheur...

    Je tiens remercier particulirement Didier Roche et AlexisKauffmann de FramaSoft de mavoir accord leur conance pourcrer un nouveau volume dans la collection FramaBook. Un grandmerci au groupe de relecture men par Vincent Vim. Ce groupe et en particulier Papiray et Antoine Blanche non content dedbusquer de nombreuses coquilles qui se tapissaient sournoisementau fond des paragraphes, a galement corrig de vilaines rptitions.Je tiens donc les remercier ici bien chaleureusement, dautant queles changes ont t fructueux : laccentuation correcte de Gense,le genre de nota, de longues discussion sur pr-requis et en-tte etjen passe...

    La lecture des grands classiques de la littrature autour deTEX et LATEX ma inconsciemment inuenc dans la rdaction de cedocument. La lecture du TEXbook de Knuth [9] ma bien videm-ment donn lide de crer le panneau danger , la lecture quasicompulsive du LATEX Companion de Goossens, Mittelbach etSamarin [6] a trs certainement inuenc beaucoup de passages decet ouvrage aussi bien pour le fond que la forme. Enn la lecturede plusieurs manuels en ligne a galement d orienter certains de

  • xviii

    mes choix (Le Not So Short Introduction to LATEX possde parexemple un chapitre que lon peut traduire par ce quil faut sa-voir )...

    Avant de commencer je tiens signaler que mme si ce docu-ment a mis plusieurs annes mrir, il est dans un style tout faitdouteux. La preuve, sur ma machine, la commande :

    grep -E -i on peut|permet *.tex | wc -l

    donne 343 (plus dune occurrence par page) ce qui dnote un styleassez pauvre.

    Bonne lecture et bon courage 14 !

    14. Cette ligne est une illustration de la mise en page logique, elle est censetre au 2/3 du blanc restant sur la page, quelle que soit la taille de ce blanc biensr.

  • Sommaire

    I Tout sur LATEX 1

    1 Principes de base 31.1 Installation . . . . . . . . . . . . . . . . . . . . . . . 41.2 Cycle de production . . . . . . . . . . . . . . . . . . 61.3 Structure type dun document source . . . . . . . . . 91.4 Cest parti ! . . . . . . . . . . . . . . . . . . . . . . . 111.5 Premiers outils . . . . . . . . . . . . . . . . . . . . . 151.6 Premires erreurs . . . . . . . . . . . . . . . . . . . . 15

    2 Ce quil faut savoir 192.1 Mise en vidence . . . . . . . . . . . . . . . . . . . . 202.2 Environnements . . . . . . . . . . . . . . . . . . . . . 232.3 Notes de marge . . . . . . . . . . . . . . . . . . . . . 292.4 Titres . . . . . . . . . . . . . . . . . . . . . . . . . . 302.5 Notes de bas de page . . . . . . . . . . . . . . . . . . 312.6 Entte et pied de page . . . . . . . . . . . . . . . . . 312.7 Flottants . . . . . . . . . . . . . . . . . . . . . . . . 322.8 Rfrences . . . . . . . . . . . . . . . . . . . . . . . . 342.9 Fichiers auxiliaires . . . . . . . . . . . . . . . . . . . 36

    xix

  • xx

    2.10 O il est question de csure . . . . . . . . . . . . . . 38

    3 Mathmatiques 433.1 Les deux faons dcrire des maths . . . . . . . . . . 443.2 Commandes usuelles . . . . . . . . . . . . . . . . . . 443.3 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . 473.4 Des symboles les uns sur les autres . . . . . . . . . . 493.5 Deux principes importants . . . . . . . . . . . . . . . 513.6 Array : simple et ecace . . . . . . . . . . . . . . . . 523.7 quations et environnements . . . . . . . . . . . . . 543.8 Styles en mode mathmatique . . . . . . . . . . . . . 56

    4 Un pas vers la sorcellerie 594.1 Compteurs . . . . . . . . . . . . . . . . . . . . . . . 604.2 Longueurs . . . . . . . . . . . . . . . . . . . . . . . . 634.3 Espaces . . . . . . . . . . . . . . . . . . . . . . . . . 684.4 Botes . . . . . . . . . . . . . . . . . . . . . . . . . . 704.5 Dnitions . . . . . . . . . . . . . . . . . . . . . . . . 794.6 Mais encore ? . . . . . . . . . . . . . . . . . . . . . . 83

    5 Graphisme 855.1 Apritifs . . . . . . . . . . . . . . . . . . . . . . . . . 865.2 Du format des chiers graphiques . . . . . . . . . . . 865.3 Le package graphicx . . . . . . . . . . . . . . . . . . . 875.4 Quelques extensions utiles . . . . . . . . . . . . . . . 905.5 Utiliser make . . . . . . . . . . . . . . . . . . . . . . 955.6 part a . . . . . . . . . . . . . . . . . . . . . . . . 97

    6 Documents scientifiques 996.1 Article . . . . . . . . . . . . . . . . . . . . . . . . . . 1006.2 Bibliographie . . . . . . . . . . . . . . . . . . . . . . 1006.3 Index . . . . . . . . . . . . . . . . . . . . . . . . . . 1066.4 Diviser votre document . . . . . . . . . . . . . . . . 109

    7 Des documents en franais 1117.1 Le problme des lettres accentues . . . . . . . . . . 1127.2 Rdiger en franais avec LATEX . . . . . . . . . . . . 1127.3 Le package babel et la typographie . . . . . . . . . . 1137.4 Courrier et fax . . . . . . . . . . . . . . . . . . . . . 118

  • xxi

    8 vous de jouer ! 1238.1 Livres et autres manuels . . . . . . . . . . . . . . . . 1248.2 Local . . . . . . . . . . . . . . . . . . . . . . . . . . . 1248.3 ETp, Oube et niouses . . . . . . . . . . . . . . . 125

    II Tout sur ( Tout sur LATEX) 127

    9 Outillage ncessaire 1339.1 Hercule Poirot . . . . . . . . . . . . . . . . . . . . . 1349.2 Outils de bas niveaux . . . . . . . . . . . . . . . . . 1369.3 Structures de contrle et tests . . . . . . . . . . . . . 1399.4 Fontes . . . . . . . . . . . . . . . . . . . . . . . . . . 1459.5 Listes et nouveaux environnements . . . . . . . . . . 1519.6 Des environnements qui mettent en bote . . . . . . 159

    10 Cosmtique 16310.1 Allure de lindex . . . . . . . . . . . . . . . . . . . . 16410.2 Allures des titres . . . . . . . . . . . . . . . . . . . . 16610.3 Gomtrie . . . . . . . . . . . . . . . . . . . . . . . . 17310.4 En-tte et pied de page . . . . . . . . . . . . . . . . 17510.5 Environnements verbatim . . . . . . . . . . . . . 18310.6 About those so called french guillemets . . . . . . . 18710.7 Une bote pour le mini-sommaire . . . . . . . . . . . 189

    11 De nouveaux jouets 19711.1 Quelques bricoles . . . . . . . . . . . . . . . . . . . . 19811.2 Des nota . . . . . . . . . . . . . . . . . . . . . . . . . 20411.3 Des citations . . . . . . . . . . . . . . . . . . . . . . 20911.4 Des lettrines . . . . . . . . . . . . . . . . . . . . . . . 21311.5 Un sommaire . . . . . . . . . . . . . . . . . . . . . . 21811.6 Un glossaire . . . . . . . . . . . . . . . . . . . . . . . 22011.7 Des onglets . . . . . . . . . . . . . . . . . . . . . . . 22411.8 Exemples LATEX . . . . . . . . . . . . . . . . . . . . . 231

    III Annexes 239

    A Gnrer des pdf 241A.1 Principe gnral . . . . . . . . . . . . . . . . . . . . 242A.2 Ce qui change . . . . . . . . . . . . . . . . . . . . . . 242A.3 Trucs et astuces . . . . . . . . . . . . . . . . . . . . . 243

  • xxii

    A.4 Hyperliens . . . . . . . . . . . . . . . . . . . . . . . . 245A.5 Interaction avec psfrag et pstricks . . . . . . . . . . . 246

    B Mmento 251B.1 Extensions . . . . . . . . . . . . . . . . . . . . . . . . 252B.2 Les chiers auxiliaires . . . . . . . . . . . . . . . . . 253B.3 AucTEX . . . . . . . . . . . . . . . . . . . . . . . . . 254B.4 Aspell . . . . . . . . . . . . . . . . . . . . . . . . . . 256

    C Symboles 257C.1 Symboles standard . . . . . . . . . . . . . . . . . . . 258C.2 Symboles de lAMS . . . . . . . . . . . . . . . . . . . 261C.3 Symboles du package textcomp . . . . . . . . . . . . 264

    D Notes de production 269D.1 Distribution du moment . . . . . . . . . . . . . . . . 270D.2 Les sources du manuel . . . . . . . . . . . . . . . . . 270D.3 Compilation . . . . . . . . . . . . . . . . . . . . . . . 271

    Bibliographie 273

    Glossaire 277

    Index 281

  • ITout ce que vous aveztoujours voulu savoirsur LATEX sans jamais

    oser le demander

  • Sommaire

    1.1 Installation1.2 Cycle de production1.3 Structure type dun document source1.4 Cest parti !1.5 Premiers outils1.6 Premires erreurs

    Chapitre

    1Principes de base

    Lorsquun homme a un coulementsortant de son corps,

    cet coulement est impur.

    Le Lvitique Lv 15 2.

    Ce chapitre expose les mcanismes de base de LATEX. Vous y

    trouverez donc une courte introduction linstallation de LATEX,une prsentation dune session LATEX classique, la structure dundocument type, des remarques sur les accents, quelques outils connatre, et enn, une prsentation de lattitude avoir devantles messages derreurs de compilation.

    3

  • 14 Principes de base

    1.1 Installation

    Vous voulez utiliser LATEX? Il vous faudra installer une distri-bution correspondant votre systme dexploitation 1. Les distri-butions fournissent des programmes permettant dautomatiser laconguration et linstallation de LATEX, TEX et tous les utilitairesconnexes.

    Sous Unix : on trouve encore la distribution teTEX bien que sondveloppement ait t stopp en 2006. Aujourdhui, sur unsystme Unix, on installe gnralement la TEXLive (http://www.tug.org/texlive) ;

    Sous MacOS : la distribution de rfrence est MacTEX (http://www.tug.org/mactex) ;

    Sous Windows : le plus simple est sans doute de choisir proTEXt(http://www.tug.org/protext) qui installe la distributionMiKTEX (http://www.miktex.org) et quelques outils de d-veloppement dont un programme de visualisation de chiersau format PostScript (gsview).

    Il faut parfois ajouter ces distributions (si elles nen contiennentpas dj un) un diteur de texte puisque vous le dcouvrirez bienassez tt, utiliser LATEX cest taper du texte et des commandes dansdes chiers :

    emacs ou vi sous Unix sont deux diteurs de rfrence qui,bien que le premier soit nettement suprieur au second, conti-nuent de faire lobjet dune guerre strile entre utilisateurs laplupart du temps de mauvaise foi ;

    kile et texmaker sont des environnements de dveloppementintgr grce auxquels les utilisateurs dbutants pourront sesentir laise pour commencer : ils ont en eet la particularitde centraliser dans une mme interface : dition, compilation& visualisation. Ces environnements permettent galementde dcouvrir les commandes de LATEX par lintermdiaire demenus, botes de dialogue et autres onglets (voir la gure 1.1apage ci-contre pour en avoir un aperu) ;

    TEXnicCenter est lquivalent (aperu la gure 1.1b) sous lamarque la fentre ;

    TEXshop et iTEXmax sont les quivalents sous la marque la pomme

    1. Si vous ne savez pas ce quest un systme dexploitation, le vtre est Ma-cOS, si vous ne savez pas quel est exactement le systme de votre machine vousavez Fentre, sinon vous avez un Unix...

  • 1.1 Installation 5

    1

    (a) Kile

    (b) TEXnicCenter

    Figure 1.1: Deux exemples denvironnement de dveloppement in-tgr : Kile sous Linux et TEXnicCenter sous Windows. Ils per-mettent de centraliser dans une mme interface : dition, compilation& visualisation.

  • 16 Principes de base

    Vous apprendrez galement bien assez vite que la productiondun document avec LATEX consiste traduire (on dit aussi compiler)un source donc cr par un diteur de texte en un formatdestin lachage ou limpression 2. Il existe donc, plus ou moinsintgrs aux distributions, des outils clbres pour la visualisationdes dirents chiers rsultants de la compilation :Format PDF : mis part le clbre acrobat reader, il existe sous

    Unix des utilitaires permettant de visualiser le format Pdf :xpdf, evince, ...

    Format DVI : xdvi, kdvi sous Unix et yap sous Windows font partiedes programmes permettant de visualiser le rsultat de lacompilation dun chier LATEX ;

    Format Postscript : la suite ghostscript disponible sous des nomsqui peuvent varier selon la plateforme, permet de visualiserdes chiers au format PostScript ;Il faudra veiller ce que la distribution choisie comprenne lemodule franais de LATEX assurant la csure (hyphenation

    en anglais) correcte des mots. On vrifiera les logs (voir 1.6page 15) au moment de la compilation dun document pour contrlerle chargement des motifs pour le franais :

    LaTeX2e Babel and hyphenation patterns for english, [...]dumylang, french , loaded.

    1.2 Cycle de production

    Mme si LATEX nest pas proprement parler un langage de pro-grammation compil, on peut malgr tout faire une analogie entrele cycle de production dun document LATEX et le cycle dition-compilation-excution dun dveloppement de logiciel avec un lan-gage de programmation classique.

    1.2.1 dition

    Un document source LATEX est un chier texte3. Ainsi la mani-

    pulation dun chier LATEX ne demande pas de logiciel particulier,si ce nest un diteur de texte classique. Donc, pour manipuler undocument LATEX :

    2. Ces formats sont prsents un peu plus loin dans ce chapitre.3. Cest--dire un fichier ne contenant que le code des caractres qui le com-

    posent.

  • 1.2 Cycle de production 7

    1

    emacs nom de fichier.tex &ou :

    vi nom de fichier.texdevrait sure pour entrer dans ce monde sauvage et inconnu questla saisie dun document LATEX. Sous Windows, on squipera dunditeur de texte de son choix 4. Notez quil est recommand de don-ner lextension .tex aux sources LATEX.

    1.2.2 Compilation

    On lance la compilation grce la commande :

    pdflatex nom de fichier.texLa compilation gnre un jour ou lautre des erreurs. Il en sera ques-tion la section 1.6 page 15. En tout cas, aprs suppression deserreurs de compilation, on obtient un chier portant lextension pdfpour portable document format le clbre format cr par la socitAdobe.

    Historiquement, la compilation dun source LATEX crait un do-cument dvi pour device independant. Un tel fichier contient

    des informations indpendantes du priphrique de sortie (cran, im-primantes, ...). Il est de type binaire contenant une image du do-cument portable sur tout systme TEX quel que soit le systme dex-ploitation. Il existe ensuite des programmes permettant soit : de visualiser le document : dvi bitmap cran ; de limprimer : dvi langage imprimante ; de le convertir : dvi fichier PostScript.La gure 1.2 page suivante illustre les divers programmes entrant

    en jeu dans la production du document nal sur une machine Unix.Il est galement possible de gnrer un document au formatPDF partir dautres compilateurs que pdflatex. Ces utili-

    taires, pour ne pas les citer, se nomment xelatex et lualatex et consti-tuent aujourdhui deux alternatives permettant de traiter correctementdes fichiers source encods en UTF-8.

    1.2.3 Visualisation

    La visualisation seectue simplement aprs compilation sanserreur grce au programme evince en tapant la commande :

    4. Il existe une version dEmacs pour Micrologiciel Fentre, avis aux amateurs.

  • 18 Principes de base

    latex

    pdflatex evince

    xdvi

    dvips

    .tex

    .pdf

    .dvi

    .ps

    Figure 1.2: Outils de production sur machines Unix

    evince nom de fichier.pdf &

    il sagit dun logiciel tournant sous linux, trs intuitif, qui donne unaperu trs lisible du document.

    On notera quil nest pas ncessaire de relancer evince aprschaque compilation. Il met en effet jour laffichage automati-

    quement.

    1.2.4 Impression

    Avec le format pdf, le problme de limpression est dport survotre systme dexploitation. Il ny a donc rien en dire de particu-lier, vous disposez dun chier que vous tes libre dimprimer o bonvous semble en utilisant les fonctionnalits de limprimante votredisposition.

    En passant par la chane dvi ps il faudra faire appel leprogramme dvips :

    dvips nom de chier.dviqui gnrera un fichier au format PostScript. Ce format galementcr par Adobe, qui peut tre considr comme lanctre du pdf, estun langage dimpression que les imprimantes reconnaissent aujourdhuinativement. On peut mme dire que lorsquun fichier est envoy une imprimante, 9 fois sur 10, ce sont des donnes PostScript qui luisont transmises. Il existe de nombreux utilitaires autour du Postscript,permettant de visualiser, modifier un fichier dans ce format.

  • 1.3 Structure type dun document source 9

    1

    1.3 Structure type dun document source

    Nous allons prsenter dans cette section un document type. Tousles documents LATEX ont en eet une structure commune, de la formesuivante :

    \documentclass[cOption1 ,cOption2 ,...)]{classe}\usepackage[pOption1 ,pOption2 ]{package}...

    prambule...

    \begin{document}

    ...

    le texte...

    \end{document}

    Ainsi tout document LATEX peut se dcomposer comme suit : spcication de la classe du document ; prambule :

    utilisation de packages particuliers ; initialisations et dclarations diverses ;

    corps du document : tout ce quon saisira avec ses petits doigsentre \begin{document} et \end{document}.

    Voici quelques dtails sur chacune de ces parties.

    1.3.1 Classe du document

    La classe est une indication donne LATEX qui va dterminer lamise en page de certaines parties du document. Suivant la classe uti-lise, certaines commandes seront disponibles ou non (\chapter dis-ponible pour la classe bookmais indisponible pour la classe article,par exemple). Dautre part, une commande donne aura une si-gnication spcique selon la classe choisie (titres, tables des ma-tires,...). En premire approche 5, tout document LATEX commencedonc ncessairement par linstruction \documentclass avec entreaccolades une classe de document qui peut-tre :

    article pour un article ; proc pour un article dans le style IEEE proceedings ; report pour un rapport de plusieurs dizaines de pages ;

    5. En ralit on peut insrer dautres incantations magiques avant le\documentclass...

  • 110 Principes de base

    book pour un livre ou une thse ; letter pour une lettre ; slides pour produire des transparents

    On peut videmment dnir sa propre classe de document. Les op-tions de la classe sont prcises entre crochets et peuvent tre parmiles suivantes :

    11pt,12pt pour changer la taille des caractres de manireglobale ;

    twoside pour gnrer un document en recto verso ; draft pour gnrer le document en mode brouillon ; ...

    On pourra donc par exemple, entrer :

    \documentclass{article}

    pour avoir toutes les options par dfaut (10pt, une colonne, moderecto,...).

    \documentclass[12pt]{article}

    pour un article en 12pt (par dfaut la taille est de 10pt), ou encore :

    \documentclass[twoside,draft]{report}

    pour un rapport en recto verso et mode brouillon.

    1.3.2 Le prambule

    Le prambule est la zone situe entre la clause \documentclasset la clause \begin{document}. Cette zone est la zone o lon peutspcier les extensions que lon veut inclure (voir le paragraphe sui-vant), linitialisation de variables globales (marges,...), la dnitionde styles (titres, numrotation,...), ou de macros particulires.

    1.3.3 Ajout dextension

    La commande \usepackage de LATEX pourrait tre compare une directive #include du langage C. Elle permet de rajouter desfonctionnalits LATEX sous forme de macros et/ou denvironne-ment 6. ce stade, il faut juste noter que lon peut inclure plusieurspackages en une seule ligne :

    \usepackage{module1 , module2 , module3 ,...}6. Ce terme est expliqu au chapitre suivant.

  • 1.4 Cest parti ! 11

    1

    Si module1 , module2 et module3 ont en commun une optionopt1, 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 :

    % package g r aph i c x avec op t i on d r a f t e t xdv i\usepackage[xdvi ,draft]{ graphicx}

    % packages a r r ay e t s u b f i g\usepackage{array ,subfig}

    Toutes les options (de classe, de packages, ou de commandes)sont par dfinition des arguments optionnels. On peut donc dj

    retenir le fait que tout argument LATEX donn entre crochets [...] estun argument facultatif.

    1.4 Cest parti !

    Nous allons tenter dans cette section, de prsenter, partir dundocument ne contenant que quelques commandes de mise en page,les principes de base de LATEX.

    \documentclass{article}\begin{document}Un outil qui vous tombe des mainstombe toujours dans lendroitle plus inaccessible, ou sur le composantle plus fragile.

    Cette loi est lune des lois de\emph{Murphy}.\end{document}

    1.1

    Un outil qui vous tombe desmains tombe toujours dans len-droit le plus inaccessible, ou sur lecomposant le plus fragile.

    Cette loi est lune des lois deMurphy.

    Cet exemple illustre un certain nombre de principes parmi les plusimportants de LATEX, savoir :

    Ligne vierge saut de paragraphe : une ligne vierge indique LATEX la n dun paragraphe. Ainsi dans lexemple prcdent,

  • 112 Principes de base

    le premier paragraphe commence Un outil et nit avecfragile.. La commande \par est quivalente la lignevierge et peut donc galement tre utilise pour commencerou nir un paragraphe.

    LATEX ignore les sauts de lignes : ce ne sont pas les sauts delignes dans le document source qui dnissent les sauts delignes dans le document nal. LATEX coupe, indente et jus-tifie automatiquement chaque paragraphe, sauf contre-ordrede votre part.

    LATEX ignore les espaces multiples : taper un ou dix huit millesept cent quatre vingt quatre espaces est quivalent, comme lemontrent les espaces insrs avant tombe et avant lendroit.Ceci est aussi vrai pour les sauts de paragraphes : entrer uneligne vierge ou plusieurs revient au mme.

    \ est le caractre dchappement : il indique LATEX que len-semble de caractres qui suit est une squence de contrle,cest--dire une commande (ou macro) dans le sens le plusgnral du terme. Ici, il sagit de mettre en vidence le motMurphy. Ceci est eectu grce la commande \emph.

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

    1.4.1 Quelques caractres sont spciaux

    Comme le suggre lintervention du caractre \, il existe dautressymboles ayant une signication spciale pour LATEX. Il sagit des10 caractres suivants :

    \ $ & % # ^_ { } ~

    Voici un petit exemple, utilisant une partie de ces symboles :

    % paragraphe sans intrt\textbf{To be} a subscript : $x_{i+1}$,or a superscript : $e^{i\pi}$ ?thats question~1 ! % or question 2 ?

    1.2

    To be a subscript : xi+1, ora superscript : eipi ? thats ques-tion 1 !

    Pour linstant, il faut donc savoir que : % indique LATEX dignorer le restant de la ligne. Cest donc

    le symbole du commentaire (quivalent au // du C++) ;

  • 1.4 Cest parti ! 13

    1

    ~ est lespace inscable 7, il empche LATEX de faire une csure cet endroit particulier. Il existe un nombre important desituations o il est ncessaire dinsrer un caractre inscable(tout ce qui est du style : figure~4). Cependant, il nexistepas de rgles systmatisant lusage dun tel caractre ;

    $ est le symbole de dbut et n de formule. Lorsque LATEXrencontre un $ il commute en mode mathmatique jusquau ch. 3

    p. 43symbole $ suivant ; _ et ^ permettent respectivement de passer en indice et en

    exposant. Attention, ces symboles ne sont autoriss quenmode mathmatique ;

    { et } sont respectivement les caractres de dbut et nde groupe. Deux types de groupement sont donns titredexemple : lun, en mode mathmatique, pour grouper la sous-formule mettre en indice ou en exposant ; lautrepour grouper les mots mettre en gras.

    On peut produire une partie des caractres spciaux dans le textegrce aux commandes suivantes :

    \$ \& \% \# \{ \} \_

    qui donnent respectivement : $ & % # { } _. La section 2.2.5 page 28explique comment produire les autres caractres spciaux (\ ~ ^).

    1.4.2 Appel des commandes

    Vous avez compris que pour appeler une commande ou macro,il est ncessaire dinsrer le caractre dchappement escape charen anglais et de le faire suivre par le nom de la macro que vousvoulez utiliser. Mais comment fait LATEX pour reprer la n du nomde la macro ? Prenons comme exemple la macro \TeX qui produit lelogo TEX.

    The \TeX book is for \TeX hackers.

    \TeX\ has some powerful macros.

    \LaTeX{} is a document preparation system

    1.3

    The TEXbook is forTEXhackers.

    TEX has some powerful macros.LATEX is a document prepara-

    tion system

    On peut rsumer le mcanisme en deux rgles. Il y a deux types decaractres qui indiquent LATEX la n du nom de la macro :

    7. Voir aussi, le paragraphe 2.10 page 38 sur le contrle de la csure.

  • 114 Principes de base

    les espaces ; ils sont cependant ignors dans la production dudocument ;

    tout caractre autre que les caractres de la catgorie lettre(alphabet majuscule et minuscule).

    Le caractre \ (o est le caractre espace) est appel unespace de contrle ; cet espace nest jamais ignor par LATEX.

    Cest pourquoi : la squence et\\\hop! produira ; et hop !.En fait, il est bon de prendre lhabitude dappeler les macros sous laforme \fonction{arguments} et donc dutiliser la troisime formede lexemple prcdent plutt que la deuxime.Cela vite de se poserle problme de lespace ignor 8. On crira donc the TEXbook avecthe \TeX{}book et LATEX is a ... avec \LaTeX{} is a ...

    1.4.3 Accents

    Les franais ont souvent une apprhension utiliser LATEX cause des accents. Pas daolement ! vous naurez pas saisir les ca-ractres accentus comme indiqu dans le tableau 1.1. Il est quandmme bon de noter quil est possible daccentuer (et cdiller )nimporte quel type de caractre, y compris les majuscules.

    Table 1.1: Saisie des accents avec des caractres 7 bits

    accent aigu \z accent grave \z z`accent circonexe \^z zcdille \c{z} ztrma \"{z} z

    Attention ! Sil est possible de saisir des documents avec des ca-ractres accentus il ne faut pas perdre de vue quil faut alors faireappel un encodage qui est pour linstant local une rgion duglobe. On utilise en France le codage Iso8859 avec lextension latin1qui permet de manipuler nos jolis accents. Avant de lire prcismentle chapitre ddi aux documents rdigs en franais, nous vous sug-

    ch 7p. 111

    grons de rajouter dans votre prambule :

    % codage du f i c h i e r s ou r c e :\usepackage[latin 1]{ inputenc}

    % codage des f o n t e s TeX :

    8. Mais pourquoi il nous en parle, alors !?

  • 1.5 Premiers outils 15

    1

    \usepackage[T1]{ fontenc}

    % document en f r a n a i s :\usepackage[francais ]{babel}

    pour attaquer un document en franais.

    1.5 Premiers outils

    Voici quelques macros et ligatures connatre car souvent utili-ses dans un document. Tout dabord, LATEX distingue trois typesde tirets :

    - pour Saint-tienne ; -- pour page 1224 ; --- pour ouvrir une parenthse comme cela.

    Les guillemets doivent tre entrs comme ceci : et pour les textes en anglais ; et si votre clavier le permet 9, pour les textes en franais.

    La partie franaise du package babel (cf. chapitre 7 page 111)permet la saisie de caractres laide des commandes \oget \fg, ainsi : \og franais\fg{}.

    Voici pour nir quelques commandes utiles : \today produit la date du jour (de la compilation) : 22 no-

    vembre 2013 ; \S donne le signe paragraphe : ; \ldots permet de saisir les points de suspension dans un do-

    cument anglais. . . Ils doivent tre saisis avec trois points : ...dans un document franais (voir le chapitre 7 pour quelquesnotions de typographie franaise)...

    Enn, souvenez-vous quen anglais, on ne saisit pas despace avant lesponctuations doubles (: ; ! ?) contrairement au franais. Rappelez-vous aussi que dans ce doux pays quest la France, on roule surtout droite.

    1.6 Premires erreurs

    Dans ce qui suit nous vous proposons dexaminer les tats dmede LATEX pendant quil compile votre document. Lorsquon lance

    la compilation en ligne de commande, on voit directement cette sortie

    9.

    Alt Gr

    z et

    Alt Gr

    x sur un clavier sous Linux, par exemple.

  • 116 Principes de base

    dans le terminal. De manire utiliser LATEX de manire la plus enri-chissante nous vous incitons trouver dans votre propre environnementla manire dexaminer les logs de LATEX, qui vous indiqueront lesmessages derreurs et autres avertissements survenant lors de la com-pilation.

    1.6.1 Symptmes

    Si vous utilisez LATEX en interactif vous serez amens un jour oulautre voir apparatre lcran, un message barbare de ce type :

    1 This is TeX, Version 3.1415 (C version 6.1)2 (erreur.tex3 LaTeX2e 4 (/usr/local/lib/texmf/tex/cls/article.cls5 Document Class: article 1995/11/30 v1.3p Standard LaTeX document class6 (/usr/local/lib/texmf/tex/clo/size10.clo)) (erreur.aux)7 ! Undefined control sequence.8 l.5 paragraphe de ce \empha9 {document}

    10 ?

    Ce message qui vous semble srement incomprhensible, est le rsul-tat produit sur le terminal aprs avoir excut LATEX sur le documenterreur.tex que voici :

    \documentclass{article}

    \begin{document}

    Il me semble bien quil y ait une erreur dans le

    premier paragraphe de ce \empha{document} somme

    toute assez court.

    \end{document}

    1.6.2 Diagnostic

    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 ;

    ligne 3 vous utilisez LATEX2 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 ;

  • 1.6 Premires erreurs 17

    1

    ligne 89 la ligne o sest produite lerreur ainsi que son numrodans le document source erreur.tex ;

    ligne 10 le prompt ? particulirement angoissant de TEX

    La coupure forme par les lignes 8 et 9, indique prcisment len-droit o LATEX a perdu les pdales. Le message :

    ! Undefined control sequence.

    vous indique que la commande que vous avez entre nest pas connuepar LATEX. Et eectivement, la commande \empha nexiste pas.

    1.6.3 Soins

    Mais que rpondre LATEX, lorsquil nous ache son fameuxprompt ? ? Voici, trois solutions, les plus couramment utilisespour communiquer un peu avec LATEX :

    appuyer sur pour ignorer lerreur ; taper x permet de quitter la compilation ; taper r pour demander LATEX de continuer en ignorant tous

    les autres messages derreur ; taper i pour insrer une correction et continuer la compila-

    tion. Sachant que cette correction ne sera pas insre dans ledocument source ;

    taper h pour demander un peu plus dinformation quant lerreur ; voici ce que vous dit TEX concernant le messageUndefined control sequence :The control sequence at the end of the top lineof your error message was never \defed. If you havemisspelled it (e.g., \hobx), type I and thecorrect spelling (e.g., I\hbox). Otherwise justcontinue, and Ill forget about whatever wasundefined.

    1.6.4 Une collection de message

    TEX et LATEX disposent dun nombre important de messages der-reur qui correspondent diverses situations. Ces messages ne sontpas toujours comprhensibles au premier abord. Cependant on peutdire que la plupart des erreurs viennent le plus souvent :

    dune erreur de syntaxe sur les mots rservs de LATEX ; de paires daccolades mal construites ; dune commande mathmatique utilise en mode texte ; dun mode mathmatique non referm ;

  • 118 Principes de base

    dun package que vous avez oubli dinclure ; dune n de journe dicile ; ...

    Y a plus qu !

    Vous avez maintenant compris comment on pouvait crer un do-cument imprimable partir dun source LATEX. Ce chapitre vousa galement permis de comprendre le principe de lappel des com-mandes. Il ne vous reste qu entamer le chapitre suivant pour si vousvoulez connatre les direntes fonctionnalits que vous propose lelangage LATEX.

  • Sommaire

    2.1 Mise en vidence2.2 Environnements2.3 Notes de marge2.4 Titres2.5 Notes de bas de page2.6 Entte et pied de page2.7 Flottants2.8 Rfrences2.9 Fichiers auxiliaires2.10 O il est question de csure

    Chapitre

    2Ce quil faut savoir

    Quand on chtie le railleur, le simple sassagit ;quand on instruit le sage, celui-ci gagne en savoir.

    Les proverbes Pr 21 11.

    Il sera question dans ce chapitre, des commandes de mise enpage de base connatre pour gnrer un document avec LATEX.Nous traiterons en vrac des mises en vidence, des environnementsstandard LATEX, des titres, des notes de bas de page, des entte etpied de page et des environnements ottants. Nous terminerons lechapitre par un expos du systme de rfrences suivi dune pr-sentation des chiers auxiliaires gnrs par LATEX. Enn, ceux quiauront tenu jusque l, auront la chance de pouvoir lire quelquesconsidrations sur la csure.

    Toutes ces commandes seront utiliser avec leur comportementpar dfaut, cest--dire que nous ne prsenterons pas ici la manirede les rednir. Vous serez par contre en mesure de produire un do-cument classique avec les mises en page traditionnelles. Pour taperun article plus volu, vous aurez besoin dinformations sur la ma-nire de produire des formules mathmatiques (chapitre 3), quelquesinfos sur les documents scientiques (chapitre 6), et ventuellementsur linclusion de graphiques (chapitre 5).

    19

  • 220 Ce quil faut savoir

    Table 2.1: Dclarations de changement de fontes

    Commande Dclarations Output

    \textrm{...} {\rmfamily ...} roman

    \textsf{...} {\sffamily ...} sans srif

    \texttt{...} {\ttfamily ...} machine crire

    \textup{...} {\upshape ...} droit

    \textit{...} {\itshape ...} italique

    \textsl{...} {\slshape ...} pench

    \textsc{...} {\scshape ...} Petites Capitales

    \textmd{...} {\mdseries ...} medium

    \textbf{...} {\bfseries ...} gras

    2.1 Mise en vidence

    Pour comprendre un tant soit peu le mcanisme de slectionde fontes de LATEX, il faut savoir quon distingue au moins quatreparamtres dans une fonte :

    famille : cest la forme globale de la fonte. LATEX utilise par dfaut3 types de familles : roman, sans srif et machine crire.Le mot anglais utilis par LATEX est family

    style : cest lallure (en anglais shape) de la fonte : italique penchet Petites Capitales.

    graisse : cest lpaisseur (serie pour LATEX) des traits. Par dfaut2 paisseurs : mdium et gras ;

    taille : taille des caractres.

    2.1.1 Family-shape-series

    On distingue deux types de macros pour changer les trois pre-miers paramtres (cf. tableau 2.1) : les commandes et les dclara-tions. Les commandes agissent sur leur argument donn entre acco-lades. Les dclarations agissent comme des interrupteurs en chan-geant la valeur dun de ces paramtres jusqu nouvel ordre. En

  • 2.1 Mise en vidence 21

    2

    rgle gnrale, on utilisera les commandes pour mettre en videnceun mot ou un groupe de mots :

    une \emph{variable} de type \texttt{char}est \textsc{Toujours} code sur\textbf{8 bits}.

    2.1

    une variable de type char estToujours code sur 8 bits.

    Notez lutilisation dans lexemple prcdent, de la commande \emph(dont la dclaration quivalente est \em qui permet de mettre envidence de manire lgante un groupe de mots. Il est fortementconseill dutiliser les commandes plutt que les dclarations. Ce-pendant lorsquune longue portion de texte est changer, il seraparfois plus judicieux dutiliser les commandes 1 :

    {\em The music of \bfseries Magma\mdseries is like a mirror whereeveryone can see a reflection ofwho he is.}

    2.2

    The music of Magma is like amirror where everyone can see areflection 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 len-globe. Ainsi, silence est crit en fonte sans srif (groupe englo-bant) et pench (dclaration locale).

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

    2.3

    Le jazz est une musique o le si-lence a toujours raison ; cest pourcela quil na pas dautre issue quelimpossible.

    2.1.2 Correction italique

    Une autre raison pour laquelle il est recommand dutiliser lescommandes plutt que les dclarations, est que les commandes ef-fectuent la correction italique contrairement aux dclarations. Lacorrection italique est un espace quil est ncessaire de rajouter la n dun groupe de mots en italique, pour viter que celui-ci ne touche le mot suivant. Cet espacement est fonction du caractremis en jeu :

    1. Ainsi que lors de la dfinition de commandes.

  • 222 Ce quil faut savoir

    le {\em chef} a toujours raison.\parle {\em chef\/} a toujours raison.\parle \emph{chef} a toujours raison.\par

    2.4

    le chef a toujours raison.le chef a toujours raison.le chef a toujours raison.

    On voit donc clairement que la commande \emph eectue la correc-tion, alors quil est ncessaire de la faire explicitement laide de lamacro \/, quand on utilise la forme dclaration.

    2.1.3 Tailles

    On dispose des macros donnes au tableau 2.2 pour changer lataille de la fonte en cours. Ces macros sont des dclarations et ilexiste pour chacune dentre elles un environnement portant le mmenom.

    Table 2.2: Changement de taille

    \Huge immense \normalsize normal\huge norme \small petit\LARGE trs trs gros \footnotesize plus petit\Large trs gros \scriptsize rikiki

    \large gros \tiny minuscule

    2.1.4 Quelques recommandations

    Lusage veut que dans la mesure du possible, on utilise avec par-cimonie les changements de fontes. Il est en eet de mauvais gotdeectuer des mises en vidence intempestives et inutiles ; le plusgnralement elles surchargent le document au lieu de le rendre pluslisible. Voici trois suggestions (toujours dusage !) sur lutilisation deschangements de fontes :

    prfrer la commande \emph (par dfaut italique) que toutautre commande pour mettre en vidence ;

    rserver le gras pour une remarque particulirement impor-tante ;

    utiliser les petites capitales ne sont utiliser quasiment exclu-sivement que pour les noms dans un document en franais :

  • 2.2 Environnements 23

    2

    Donald Knuth ; la famille machine crire est souvent utilise pour pro-

    duire 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 (com-mande \underline) :

    Perhaps poets who wish to speak in a still small voice willcause future books to make use of frequent font variations,but nowadays its only an occasional font freak (like the authorof this manual) who likes such experiments.

    Donald Knuth in the TEXbook [9]

    Note that underlining for emphasis is considered badpractice in the publishing world. Underlining is only usedwhen the output device cant do highlighting in anotherway for example, when using a typewriter. Michel Goossens et al. in the LATEX Companion [6]

    2.2 Environnements

    LATEX propose une srie doutils sous la forme denvironnements.Il sagit dune structure de bloc dont la syntaxe est la suivante :

    \begin{nom env}...

    \end{nom env}o nom env est le nom dun environnement. Le premier environ-nement rencontr jusquici est lenvironnement document. Entre le\begin et le \end on insre une portion de texte qui va subir unemise en page particulire.

    Notons tout de suite que toute dclaration est locale un envi-ronnement ; et quil est bien sr possible de dfinir ses propres

    environnements ventuellement partir dautres existants.

    Le reste de cette section sera consacr la description des envi-ronnements normaliss de LATEX.

  • 224 Ce quil faut savoir

    2.2.1 Centrage et alignement

    Pour centrer quelques lignes, on utilise lenvironnement center :

    ... fin de phrase.\begin{center}quelques lignes \\parfaitement centres \\entre les marges

    \end{center}et le paragraphe continue...

    2.5

    ... n de phrase.

    quelques lignesparfaitement centres

    entre les marges

    et le paragraphe continue...

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

    ... fin de phrase.\begin{flushright}deux lignes\\alignes droite

    \end{flushright}et le paragraphe continue...

    2.6

    ... n de phrase.

    deux lignesalignes droite

    et le paragraphe continue...

    Noter lemploi dans les deux prcdents exemples de la commande\\ pour passer la ligne. En dehors de cas particuliers (tableaux,titre et auteur dun document, centrage et alignements notamment),cette commande est proscrire : pour passer la ligne, il faut laisserune ligne vierge ou utiliser la commande \par.

    En gnral, on emploie lenvironnement flushleft avec descommandes \\. Mais on peut lutiliser pour produire unparagraphe comme celui-ci, non justi droite, en laissant LATEX le soin dinsrer les sauts de lignes.

    La grande majorit des environnements passent la ligne pourinsrer leur contenu. Cependant, il est important de comprendre

    quun environnement interrompt le paragraphe dans lequel il est in-sr, mais ne le termine pas vous pourrez dailleurs remarquer quela phrase et le paragraphe continue nest pas indente. En outre,LATEX insre gracieusement autour de chaque environnement un espacevertical.

    On peut noter quaux trois environnements prcdents corres-pondent respectivement les trois dclarations :

    \centering \raggedleft

  • 2.2 Environnements 25

    2

    \raggedright.

    On peut par exemple crire :

    Emacs stands for :

    {\centering Emacs\\Makes\\A\\Computer\\Slow\\}

    2.7

    Emacs stands for :EmacsMakesA

    ComputerSlow

    2.2.2 Listes

    LATEX ore la possibilit dutiliser trois principaux types de listessous forme denvironnement : itemize, enumerate et description.Il est possible de dnir ses propres listes, si celles de LATEX ne vous 9.5

    p. 151conviennent pas. Mais voici les listes standard :

    Tout dabord itemize qui est une liste d items non numro-ts dont le premier niveau est marqu par un tiret () en versionfranaise et par un point () par dfaut :

    ... toujours la fin dune phrase.\begin{itemize}\item dans un calcul complexe, un facteurdu numrateur passe toujours audnominateur

    \item une virgule est toujours mal place\end{itemize}et le truc continue, imperturbablement...

    2.8

    ... toujours la n dune phrase. dans un calcul complexe,

    un facteur du numrateurpasse toujours au dnomi-nateur

    une virgule est toujoursmal place

    et le truc continue, imperturbable-ment...

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

  • 226 Ce quil faut savoir

    ... encore la fin dune phrase.\begin{description}\item[\TeX] The \TeX{}book\item[\LaTeX] deux livres importants :\begin{enumerate}\item \LaTeX{} : A Document preparationSystem

    \item The \LaTeX{} Companion\end{enumerate}

    \end{description}et le paragraphe continue, once again...

    2.9

    ... encore la n dune phrase.

    TEX The TEXbook

    LATEX deux livres importants :

    1. LATEX : A Documentpreparation System

    2. The LATEX Companion

    et le paragraphe continue, onceagain...

    Les listes de description, qui nont pas dquivalent dans les trai-tements de texte habituels, sont malheureusement au mieux malemployes, au pire ignores des dbutants sous LATEX.

    2.2.3 Tabulations

    Lenvironnement tabbing permet dutiliser les bonnes vieillestabulations de la machine crire. On pose les taquets de tabulationsgrce la commande \= et on se dplace de taquet en taquet avecla commande \>. En outre, la commande \\ permet de passer laligne.

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

    \end{tabbing}

    2.1

    0

    gauche au centre droitemodr

    conservateursans opinion

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

    ment, sil existe.

    2.2.4 Tableaux

    Lenvironnement pour produire les tableaux en LATEX se nommetabular. Le systme de bordures nest pas trs sophistiqu, mais,

  • 2.2 Environnements 27

    2

    pour des tableaux bordures simples les rsultats sont acceptables 2 :

    Hop :\begin{tabular}{|r|c|}\hlinedeux & trois \\cinq & six \\ \hline

    \end{tabular}

    2.1

    1

    Hop :deux troiscinq six

    on peut donc comprendre grce cet exemple, les choses suivantes : lenvironnement tabular attend un paramtre qui donne une

    indication sur le format du tableau. chaque colonne doitcorrespondre un caractre de positionnement : 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 changerlallure des bordures. Le package array permet quelques fantaisiesavec les tableaux.

    Si la plupart des environnements commencent une nouvelleligne, ce nest pas le cas de lenvironnement tabular. Il cre

    juste une bote dans le texte courant.

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

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

    2.1

    2 un :ab et deux : c

    d

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

    2. Lannexe B donne quelques pistes pour trouver des packages permettantde crer des tableaux plus complexes.

  • 228 Ce quil faut savoir

    Les tableaux peuvent videmment ne pas tre insrs dans des phrases et constituer des paragraphes eux seuls, par exempleen gurant centrs au moyen dun environnement center.

    2.2.5 Simulation de terminal

    Lenvironnement verbatim insre son contenu mot pour mot. Ilore donc la possibilit de rentrer nimporte quel caractre mmespcial, et donc, par exemple dcrire une portion de code C++ 3 :

    \begin{verbatim}class pixel{int x,y;

    public:pixel(int i=0, int j=0);};

    \end{verbatim}2.1

    3

    class pixel{int x,y;

    public:pixel(int i=0, int j=0);};

    On peut tout crire dans un environnement verbatim sauf lasquence de caractres : \end{verbatim} !

    Il existe deux commandes permettant de produire une portion detexte 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 caractresspciaux et 2o ntant pas contenu dans largument.

    \verb+#include+permet dinclure les prototypes de lalibrairie standard du~C.

    2.1

    4

    #include permetdinclure les prototypes de lalibrairie standard du C.

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

    2.2.6 Citations

    Les environnements quote et quotation permettent dinsrerune citation dans le texte. Voici dabord quote :

    3. Notez que le package listings est bien mieux adapt ce genre de problme.

  • 2.3 Notes de marge 29

    2

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

    5

    ... encore la n dune phrase.

    Tout est relatif. Ein-stein.Il nest pas certainque tout soit certain.Pascal.

    et le paragraphe interrompu,continue...

    La commande \hfill insre un espace qui stend horizontalementde manire innie. Lenvironnement quotation dire quelque peu 4.2.4

    p. 66de quote :

    ... encore la fin dune phrase.\begin{quotation}Lhomme est plein dimperfections mais onne peut que se montrer indulgent si lonsonge lpoque o il fut cr.\par\raggedleft Alphonse \textsc{Allais}.

    \end{quotation}et ce brave paragraphe qui continue...

    2.1

    6

    ... encore la n dune phrase.

    Lhomme estplein dimperfectionsmais on ne peut quese montrer indul-gent si lon songe lpoque o il futcr.

    Alphonse Allais.

    et ce brave paragraphe qui conti-nue...

    En fait ces deux environnements sont prsents par Leslie Lam-port, lun (quote) pour une ou plusieurs citations courtes, et lautre(quotation) pour une citation longue.

    2.3 Notes de marge

    La commande \marginpar cre un mini-paragraphe dans la mar-ge, 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 quiapparatront en marge selon la parit du numro de la page. Ainsi :

  • 230 Ce quil faut savoir

    Table 2.3: Sectioning commands

    \part{...} \chapter{...}

    \section{...} \subsection{...} \subsubsection{...}

    \paragraph{...} \subparagraph{...}

    \marginpar[L !][Hop !]

    donne ce que vous pouvez constatez dans la marge.L !

    2.4 Titres

    Le tableau 2.3 montre les commandes de section disponibles dansLATEX. La commande \chapter nest pas disponible pour la classede document article ; et aucune commande de titres ne peut treutilise dans la classe letter. Pour linstant, il faut savoir les deuxchoses suivantes :

    chaque titre rsultant dune commande de section est auto-matiquement numrot et mis dans la table des matires lecas chant ;

    la commande \tableofcontents produit une table des ma-tires lendroit o est insre cette commande.

    Dautre part toutes les commandes de titres ont un style associque lon peut ventuellement redfinir. Enfin, ces commandes

    effectuent automatiquement les espacements verticaux avant et aprsle titre ; ainsi toute ligne vierge insre avant ou aprs la commandeest ignore.

    ... tiens cest la fin dune phrase.\section{Conclusion}En dfinitive... 2.

    17

    ... tiens cest la n dune phrase.

    3.2 Conclusion

    En dnitive...

    Il existe une forme toile (par exemple : \section*) de chaquecommande de titres permettant dinsrer un titre non numrot.Mais attention, ce titre napparatra pas dans la table des matires. 2.9.2

    p. 37 Les commandes de section prennent galement un argument option-

  • 2.5 Notes de bas de page 31

    2

    nel permettant de prciser une entre de table matires dirente dutitre de la section. Par exemple :

    \section[Paulette]{Ctait bien, ctait chouetteuuuu}

    insre Paulette dans la table des matires en lieu et place du titreinsr dans le document.

    2.5 Notes de bas de page

    Linsertion dune note de bas de page seectue de manire simplepar la commande \footnote{texte}. La numrotation est auto-matique, et par dfaut, les notes sont numrotes lintrieur dunchapitre. Voici ce que donne LATEX :

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

    2.1

    8

    Contre toute attente, cest lacommande footnote a qui insreune note de bas de page.

    a. Comme son nom lindique...

    Il arrive lorsquon travaille en milieu particulirement hostile quela commande \footnote ne produise pas leet dsir. Il est alorsncessaire de procder en deux temps :

    1. poser une marque de note, commande \footnotemark ;

    2. entrer le texte de la note de base de page commande\footnotetext lorsque les conditions sont plus favorables.

    Par exemple, il semble dlicat de mettre une note de bas de pagedans un tableau, on crira donc :

    \begin{tabular}{cc}un & deux\footnotemark \\trois & quatre

    \end{tabular}\footnotetext{Une note.}

    2.1

    9

    un deux a

    trois quatre

    a. Une note.

    2.6 Entte et pied de page

    Les commandes standard de LATEX permettant de personnaliserles enttes et pied de page sont assez rudimentaires mais mritentdtre mentionnes ici, puisquelles peuvent sure dans certains cas.

  • 232 Ce quil faut savoir

    Nous ne nous attarderons pas plus sur ces commandes, caril nous semble que le package fancyhdr document dans

    fancyhdr.dvi est beaucoup plus confortable utiliser et offredes fonctionnalits bien plus intressantes que les options standardde LATEX. Lutilisation de ce package pour produire les entte et piedde page du manuel que vous avez sous les yeux est explique lasection 10.4.

    Sans faire appel un package particulier, on peut spcier le styledentte et pied de page laide de la commande \pagestyle :

    \pagestyle{style}

    dans le prambule du document ; le paramtre style pouvant prendreles 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 est insr dans lentte et le pied de page (parexemple dans le style report en recto-verso, est insr enentte : soit le titre du chapitre en cours, soit le titre de lasection en cours) ;

    myheadings un style qui permet de personnaliser les infor-mations insrer.

    Il existe dautre part une commande \thispagestyle, qui per-met de changer ou de spcier le style de la page courante.

    2.7 Flottants

    LATEX ore ses valeureux utilisateurs la possibilit dutiliser desenvironnements flottants. Ces environnements ont la particularitde rendre ottants leur contenu. Cest--dire que LATEX choisit partir dun algorithme qui tient compte dun certain nombre deparamtres, la position de lenvironnement dans le document.

    Contrairement ce que leur nom laisse croire, les environne-ments de LATEX figure et table ne sont pas spcialement

    conus pour insrer des figures et des tables ! En fait ils sont conusuniquement pour faire flotter leur contenu et laisser la possibilit din-srer une lgende. Le contenu proprement parler peut tre constitude ce que bon vous semble, pas ncessairement du graphique.

  • 2.7 Flottants 33

    2

    2.7.1 Figure et table

    Lenvironnement figure est gnralement utilis pour les gra-phiques, et lenvironnement table, pour les tableaux. Chacun deces environnements possde une lgende. La syntaxe dutilisationest la suivante :

    Ce paragraphe contient un environnementflottant de type figure . Lecontenu est donc susceptible de sedplacer dans la page.\begin{figure}\begin{center}0 + 0 \\=

    \end{center}\caption{La tte toto}

    \end{figure}2.2

    0

    Ce paragraphe contient unenvironnement ottant detype gure. Le contenu

    0 + 0=

    Figure 1: La tte toto

    est donc susceptible de se d-placer dans la page.

    Vous noterez que cest la commande \caption qui produit la l-gende. Le texte Figure 1: est insr automatiquement avec lenumro correspondant la gure. Le style de la lgende est bienentendu personnalisable.

    2.7.2 Placement

    LATEX tente de placer le contenu ottant en fonction des para-mtres 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 pageNotons quil arrive parfois que lon sarrache les cheveux, pour

    placer les environnements ottants. Pour ne pas snerver, il fautcomprendre et accepter que LATEX utilise plusieurs paramtrespour placer les figure et table. Notons parmi ces paramtres :

    le nombre maximum denvironnements ottants en haut eten bas de page ;

    le pourcentage maximum de la surface de la page quoccupeun ottant en haut et en bas de la page ;

    les espacements avant et aprs le ottant.

  • 234 Ce quil faut savoir

    Si vous avez des problmes 4 pour placer vos gures, nous vousconseillons de suivre ces quelques recommandations :

    si vous tenez crire comme le montre la figure : en at-tendant la gure la suite, nutilisez pas lenvironnementfigure !

    utilisez plutt le systme de rfrence et crivez comme lemontre 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 ;

    les paramtres de LATEX sont tudis pour quilibrer le texteet les gures dans le document. Donc, si votre document estune bande dessine, attendez vous au pire...

    ne vous souciez du placement des gures quau moment dim-primer votre document final.

    2.7.3 Liste des figures

    La commande \listoffigures (resp. \listoftables) insreune liste des gures (resp. des tableaux) de votre document. Laliste est imprime l o apparat la commande. Ces commandes pro-duisent un chier portant lextension .lof (resp. .lot). En outre,de manire analogue aux commandes de sections qui alimentent latable des matires, la commande \caption prend un argument op-tionnel permettant de dnir lentre dans la table des gures. Pardfaut cette commande utilise la lgende comme entre :

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

    2.8 Rfrences

    Le systme de rfrence de LATEX permet de manipuler le numrode toute partie dun document faisant lobjet dune numrotation,de manire symbolique. Donc sans se soucier de savoir sil sagit parexemple, de la gure 4 ou de la gure 5. Cest un des aspects de

    4. Et vous en aurez srement...

  • 2.8 Rfrences 35

    2

    LATEX qui vous vitera beaucoup de travail. Et qui sexplique enquelques lignes.

    2.8.1 Principe

    Pour utiliser une rfrence, on a deux tches eectuer : 1o poserune tiquette symbolique dans le texte, 2o appeler cette tiquettepour faire rfrence, soit au numro de lobjet rfrenc, soit au nu-mro de la page o se trouve lobjet rfrenc. Cest dune simplicitenfantine :

    1. On pose une tiquette avec la commande \label :

    \label{tiquette}o tiquette est une chane de caractres ne comprenant pasde caractres spciaux.

    2. On fait rfrence au numro de lobjet rfrenc avec la com-mande \ref :

    \ref{tiquette}On fait ensuite rfrence la page avec \pageref :

    \pageref{tiquette}

    2.8.2 Que rfrencer ?

    Les objets que lon peut rfrencer sont les suivants : les titres ; les ottants (figure, table, ...) ; les quations (cf. chapitre 3) ; les items de liste numre (enumerate par exemple) ; etc.Voici un exemple synthtisant les trois commandes de rfrence-

    ment :

    \section{Second degr}\label{sec-2dg}Ce sont les quations du type :\begin{equation}ax^2 + bx + c = 0 \label{equ}

    \end{equation}Lquation \ref{equ} de la section\ref{sec-2dg} page \pageref{sec-2dg}patati patala...

    2.2

    1

    3.5 Second degr

    Ce sont les quations du type :

    ax2 + bx+ c = 0 (2.12)

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

  • 236 Ce quil faut savoir

    Dans cet exemple on fait rfrence un objet \section et unobjet