Cours Latex

download Cours Latex

of 111

Transcript of Cours Latex

  • U P M C

    Module de la licence math-info

    Apprentissage et pratique de LATEX

    Manuel P-G

    semestre

  • Licence

    Ce document est plac sous la licence libre GNU Free Documentation Licence . : vous tes libres delutiliser, le diuser et le modier, sous rserve de conserver une licence compatible. Pour plus de

    dtails, voir le chier licence.txt dans les sources du document, disponibles ladressehttp://people.math.jussieu.fr/~mpg/lm204/files/sources.zip.

  • Prambule

    LATEX est un systme de prparation de documents qui occupe une position dominante parmiles mathmaticiens pour la ralisation de cours, feuilles dexercices, notes de travail, articles derecherche. . . Les raisons de son omniprsence sont, outre sa capacit mettre convenablementen forme les formules mathmatiques les plus compliques, la qualit professionnelle du rsultat(tant pour le texte que les mathmatiques) permettant une publication directe, mais surtout safaon de concevoir un document structur, en sparant son fond (le sens du texte) de sa forme (lamise en pages) et en dchargeant lauteur de tches fastidieuses, lui permettant ainsi datteindreune grande productivit.En dehors du milieu mathmatique universitaire, LATEX a aussi sa place. Il est utilis par des

    scientiques de toutes disciplines et certains enseignants en mathmatiques du secondaire, pourses performances dans la composition des mathmatiques. Certains linguistes et littraires lapprcient pour son excellente gestion de document complexes, munis par exemple de lourdsappareils de notes. Quelques diteurs gnralistes lutilisent de prfrence des outils de PAOpour produire plus rapidement des documents structurs ; des banques et grandes compagnieslexploitent pour mettre en forme automatiquement et avec une bonne qualit des documentsissus de bases de donnes.

    Malgr ces nombreux succs, LATEX reste trop souvent peru comme un outil de spcialiste. Unedes raisons est sa dicult dapprentissage. Celle-ci est en partie relle : dune part, sa mthode deprparation des documents, sparant code source et rsultat, nest pas intuitive pour qui na pasune certaine culture informatique, et elle se prte peu un auto-apprentissage sans document derfrence. Enn, de part son histoire, LATEX ne forme pas un tout cohrent, et son univers peuplde modules et de programmes auxiliaires, souvent encore trop loign des standards actuels, peutdrouter.Mais une partie des dicults dapprentissage est plus environnementale quintrinsque. En

    eet, on apprend souvent LATEX sur le tas, la va-vite, pour produire un mmoire, forcment rendre pour hier, en recopiant des recettes trouves a et l, chez un collgue ou sur internet. Surce point, LATEX ne se distingue pas des autres outils ou disciplines : on lapprend mieux et plus viteen suivant un cours structur et en prenant le temps de progresser tape par tape, que tout seulet dans lurgence.Par ailleurs, LATEXabeaucoup volu au cours des dernires annes. Il est par exemple capable de

    produire des documents PDF exploitant les diverses possibilits de ce format. De nombreux mo-dules gnralistes ou spcialiss fournissent des solutions simples des problmes autrefois com-pliqus. Les (bonnes) pratiques voluent, tenant compte de lexprience accumule. ApprendreLATEX sur le tas en recopiant des exemples droite gauche ne permet pas de proter de cesprogrs : on se contente souvent de la premire solution, fut-elle trs approximative, qui semblemarcher sur le moment, et qui deviendra vite une (mauvaise) habitude. On risque ainsi de ren-contrer plus tard des problmes inattendus, ou tout simplement de ne pas atteindre le maximumen termes decacit ou de qualit du rsultat.

    f-preface.tex r -- iii

  • Prambule r --

    Pour toutes ces raisons, je suis extrmement heureux davoir loccasion cette anne, grce no-tamment au dynamisme et la disponibilit de certains collgues, de donner ce cours, que jesprestructur et bien inform, dans le cadre dunmodule la deuxime anne de licence. De telles initia-tives sont ma connaissance rares en France, et pourtant me semblent trs utiles, tant la capacit communiquer, notamment par le biais de documents lectroniques soigns, est importante au-jourdhui dans le milieu scientique (mais pas seulement).Loutil informatique, cens faciliter de nombreuses tches, est droutant ou rebutant pour cer-

    tains. Dans le domaine de la typographie, il a longtemps t une source dappauvrissement et debaisse de qualit. Au contraire, LATEX reprsente, dans son domaine, un exemple doutil ecace,relevant le d de rendre plus simple et plus rapide la production de documents, en conservantune qualit typographique la hauteur de la tradition des compositeurs au plomb. Jespre vousen convaincre au long de ce cours.

    Bien sr, lecacit de LATEX ne se comprend vraiment que par la pratique. Il est indispensable,en lisant ce cours, de mettre en application les lments prsents. Pour cela, les exercices ac-compagnant le cours sont un bon point de dpart. Ils sont en gnral accompagns de corrigsdtaills, et comportent parfois des complments de cours, qui ne seront pas toujours repris dansce polycopi.Mais les exercices sont souvent assez rducteurs : la seule faon de vraiment pratiquer LATEX est

    de mettre en forme de vrais documents. En eet, les techniques prsentes dans ce cours ne sontque des outils, dont le but est de servir votre document, et quil faut savoir utiliser bon escient.

    Je vous souhaite autant de plaisir lire ce cours que jen ai eu lcrire et lenseigner. Toutesvos remarques ou questions sont les bienvenues ladresse [email protected].

    Remerciements

    Trop brivement, jaimerais remercier les personnes suivantes.Pour lorganisation du module : Omer A, Dominique L B, Laurent K,

    Muriel T. Pour LATEX au CIES Jussieu : Cline C, Benjamin C, Ismal S,Michel L. Du plateau C ou assimil : Jrme G, Julien C, Julien G etbien dautres. Les contributeurs de fr.comp.text.tex, en particulier Jean-Cme C et

    Denis B. Pour leur ractivit et leur intrt, je remercie tous les tudiants ayant suivi lemodule. Et bien sr, pour avoir cr TEX et lavoir donn au monde, Donald K. Merci !

    iv f-preface.tex r --

  • Table des matires

    Prambule iii

    Prise de contact . Prsentation du module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Prsentation de LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Possibilits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Particularits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Premiers documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bases thoriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Commandes, arguments, environnements . . . . . . . . . . . . . . . . . . .. Espaces et ns de ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Contenu des exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Le mode texte . Caractres et symboles particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Caractres rservs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Accents et symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Franchouillardises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Interlude : documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Changements de fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Modle thorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Tout sauf la taille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. La taille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Le reste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alignement du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Espaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Structure du document . Classes de documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Notes marginales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    f-tables.tex r -- v

  • Table des matires r --

    .. Notes de bas de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Titre et rsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Titre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Rsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Structure globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rfrences et liens hypertexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Rfrences croises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Liens hypertexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Structure de la page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Les modes mathmatiques . Dcouvertes des modes mathmatiques . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Les deux modes mathmatiques . . . . . . . . . . . . . . . . . . . . . . . . .. Outils de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Points plus dlicats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Distinguer texte et mathmatiques . . . . . . . . . . . . . . . . . . . . . . . .. Styles mathmatiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Limites et grands oprateurs . . . . . . . . . . . . . . . . . . . . . . . . . . .. Espaces en mode mathmatique . . . . . . . . . . . . . . . . . . . . . . . . .. Dlimiteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Constructions mathmatiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Petites constructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Alignements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Environnements numrots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Formules numrotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Environnements de type thorme . . . . . . . . . . . . . . . . . . . . . . .

    . Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Rvisions et cration de commandes . Rappels et complments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Source minimal et encodages . . . . . . . . . . . . . . . . . . . . . . . . . . .. Messages derreur courants . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Commandes simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Commandes avec arguments . . . . . . . . . . . . . . . . . . . . . . . . . . .. Commandes avec arguments optionnels . . . . . . . . . . . . . . . . . . . . .. Environnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Rednitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Figures . Inclusion dimages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. La question des formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Inclusion simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Options dinclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    vi f-tables.tex r --

  • r -- Table des matires

    . Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Habill par le texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Flottant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Une astuce classique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Autres oritures graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Rotations et mises lchelle . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Encadrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Une police de symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Tableaux . Tableaux simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Les bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Colonnes de type paragraphe . . . . . . . . . . . . . . . . . . . . . . . . . . .. Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. En mode mathmatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Techniques plus avances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Matriel automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Colonnes personnalises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Fusion de cellules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Ajustement de la largeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Aspects esthtiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Complments divers . Note technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Code informatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Outils de LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Avec le module fancyvrb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Apart : le verbatim dans des arguments . . . . . . . . . . . . . . . . . . . . .. Avec le module listings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Concentr dorthotypographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Rfrences pour aller plus loin . . . . . . . . . . . . . . . . . . . . . . . . .

    lments de programmation . Rappels sur les dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Longueurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Botes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    .. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Botes horizontales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Botes verticales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Rglures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Apart : espacement dans les tableaux . . . . . . . . . . . . . . . . . . . . . .. Remplissage de botes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    f-tables.tex r -- vii

  • Table des matires r --

    Personnalisation . Polices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . En-ttes et pieds de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Titres de chapitres et sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flottants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Prsentations vidoprojetes

    viii f-tables.tex r --

  • Listes des exemples, tables, sources et gures

    Liste des exemples

    . Extrait de source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple dexemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Quelques accents, cdilles et ligatures . . . . . . . . . . . . . . . . . . . . . . . . . . . Famille, graisse et forme de fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changements de taille et interligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changements de couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quelques possibilits du module soul . . . . . . . . . . . . . . . . . . . . . . . . . . . Les trois types de listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Environnements dalignement du texte . . . . . . . . . . . . . . . . . . . . . . . . .

    . Note de bas de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bibliographie et citations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liens avec hyperref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Les deux modes mathmatiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Indices, exposants, fractions et racines . . . . . . . . . . . . . . . . . . . . . . . . . . Sommes et intgrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dclaration et usage dun nouvel oprateur . . . . . . . . . . . . . . . . . . . . . . . . Styles mathmatiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Oprateur et placement des bornes . . . . . . . . . . . . . . . . . . . . . . . . . . . . Taille automatique des dlimiteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alignements mathmatiques moyens . . . . . . . . . . . . . . . . . . . . . . . . . . . Environnements de type thorme . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Dnitions simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de \xspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commandes avec arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commande avec argument optionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . Dnitions denvironnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Inclusion de graphiques avec rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . Recadrage et dcoupage dimage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Habillage dans le coin en haut droite . . . . . . . . . . . . . . . . . . . . . . . . . . Image en fentre dans le texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rotation et dilatation de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cadres plus sophistiqus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Botes colores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    f-tables.tex r -- ix

  • Listes des exemples, tables, sources et gures r --

    . Utilisation dune police de symboles . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Types de colonnes simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tableaux avec des lets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matriel inter-colonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Colonnes de type paragraphe et alignement . . . . . . . . . . . . . . . . . . . . . . . Mauvais espaces horizontaux avec array . . . . . . . . . . . . . . . . . . . . . . . . . Matriel automatique pr- et post-colonne . . . . . . . . . . . . . . . . . . . . . . . . Gestion des retours la ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fusion horizontale de cellules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fusion verticale de cellules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tableaux de largeur xe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trop de couleurs dans un tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Une utilisation raisonnable de la couleur . . . . . . . . . . . . . . . . . . . . . . . .

    . Commande et environnement de base pour le verbatim . . . . . . . . . . . . . . . . Usage simple de fancyvrb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verbatim : quand limitation vaut mieux que loriginal . . . . . . . . . . . . . . . . . Reconnaissance de mots-cl du langage C . . . . . . . . . . . . . . . . . . . . . . .

    . Modication de la reprsentation dun compteur . . . . . . . . . . . . . . . . . . . . Utilisation dun compteur personnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramtrage de \fbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mesure de mots pour un texte trous . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de botes de largeur nulle . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de \framebox et \raisebox . . . . . . . . . . . . . . . . . . . . . . . . . . Une bote verticale dans une bote horizontale . . . . . . . . . . . . . . . . . . . . . . Rglures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . En-ttes et pieds de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Listes personnalises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Liste des tables

    . Commandes pour les caractres rservs . . . . . . . . . . . . . . . . . . . . . . . . . Commandes fournies par french de babel . . . . . . . . . . . . . . . . . . . . . . . Famille, graisse et forme de fonte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tailles de fontes relatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Environnements et commandes dalignement. . . . . . . . . . . . . . . . . . . . . .

    . Fontes disponibles en mode mathmatiques . . . . . . . . . . . . . . . . . . . . . . . Commandes despace en mode mathmatique . . . . . . . . . . . . . . . . . . . . . . Petites constructions mathmatiques . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Modes de compilation et formats graphiques . . . . . . . . . . . . . . . . . . . . . .

    . Espacement autour des signes de ponctuation . . . . . . . . . . . . . . . . . . . . .

    x f-tables.tex r --

  • r -- Listes des exemples, tables, sources et gures

    . Compteurs de base de LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Units de longueur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Exemples de polices avec leurs noms . . . . . . . . . . . . . . . . . . . . . . . . . . . Polices fantaisistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Liste des code sources

    . Source minimum compilable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tout petit document en franais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Source dvelopp de lexemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Structure dun document en classe article . . . . . . . . . . . . . . . . . . . . . .

    . Fichier source de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Cration et gestion des types de ottants dans ce poly . . . . . . . . . . . . . . . . .

    Liste des gures

    . Centres de rotation possibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . Comment LATEX voit les caractres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les trois dimensions des botes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    f-tables.tex r -- xi

  • Prise de contact

    . Prsentation dumodule

    .. Organisation

    Le module est organis en sances de cours-TP de deux heures. En moyenne, sur chaquesance, une heure sera consacre au cours et lautre la pratique, sauf la dernire sance consacre lexamen. Les exercices seront en gnral trop longs pour tre termins en une heure et sontdestins tre nis la maison. Ils contiennent parfois des questions volontairement diciles oudemandant un travail de recherche personnelle ; ces questions sont gnralement signales et ilest conseill de les garder pour la n.Le dcoupage en chapitres du prsent polycopi correspond en premire approximation au

    dcoupage du cours en sances ; parfois, lordre sera lgrementmodi pour clarier lexposition.Lvaluation des connaissances consistera en deux parties obligatoires et une optionnelle.

    . Un document libre (rapport) prparer la maison, individuellement ou par binme. Lesmodalits prcises sont dcrites dans un document spar .

    . Un examen pratique sur machine, en temps limit.

    . Un devoir la maison optionnel.

    Lexamen, comme le devoir la maison et la plupart des exercices, consiste en un document reproduire aussi dlement que possible (hormis le ligrane reproduire lui-mme).

    La dernire version de ce polycopi, ainsi que les exercices, leurs corrigs, les supports de pr-sentation utiliss en cours, et dirents documents daccompagnement (aide-mmoire, liste desymboles mathmatiques, etc.) sont disponibles ladresse suivante :

    http://people.math.jussieu.fr/~mpg/lm204/files/

    Une page voisine comporte par ailleurs la progression du cours sance par sance, avec chaquefois que cest possible lindication des parties correspondantes des dirents documents de rf-rence. Une bibliographie spare t distribue.

    .. Contenu

    Le but du cours nest en aucun cas de tout vous apprendre sur LATEX : dune part parce que cestimpossible, dautre part parce que certaines de ses possibilits ne vous seront sans doute pas utilesimmdiatement. En revanche, les objectifs sont les suivants : Vous fournir un socle solide de connaissances de bases, si possible exempt de mauvaises

    habitudes. Ce cours se veut tour dhorizon relativement neutre des possibilits de LATEX.

    . http://people.math.jussieu.fr/~mpg/lm204/files/doc-eval-rapport.pdf. http://people.math.jussieu.fr/~mpg/lm204/prog.html. http://people.math.jussieu.fr/~mpg/lm204/files/doc-biblio.pdf

    c-intro.tex r --

  • Prise de contact r --

    Vous donner des pistes pour tre enmesure par la suite de continuer seul votre apprentissage.Les cinq premiers chapitres du cours fournissent le minimum vital pour composer la plu-

    part des documents scientiques ne comportant pas dautre lment complexe que des formulesmathmatiques. Les chapitres suivants prsentent soit des lments plus spciques (gures, ta-bleaux, listings, prsentations) soit des lments gnralistes dusage moins courant, ou approfon-dissent certains points voqus prcdemment.

    . Prsentation de LATEX

    .. Possibilits

    Mme sil est principalement connu pour ses possibilits mathmatiques, qui sont en eet pra-tiquement illimites, LATEX est adapt la plupart des types de documents. En particulier, il prendsoin de beaucoup de dtails concernant le texte : csure, justication, ligatures. . . Par ailleurs, il estcapable de produire directement des graphiques sophistiqus (possibilit qui ne sera pas tudieen cours, faute de temps).Pour quelques exemples, je renvoie aux transparents . Observez les eets de texte, la parfaite

    intgration des mathmatiques au reste du texte, les possibilits darrangements complexes deformules. . . Pour dautres exemples, ce cours lui-mme, ainsi que les trois livres et deux documentslectroniques donns en rfrence sont bien sr raliss avec LATEX.Par ailleurs, mme si nous naurons pas trop le temps dapprofondir cet aspect, LATEX est aussi

    un langage de programmation complet. Cest ce qui lui confre une partie de sa puissance : dunepart parce que de nombreuses personnes ont ainsi crit (et publi) des modules tendant ses pos-sibilits, que nous pouvons utiliser, mais aussi parce quil est possible de programmer soi-mmecertains aspects de ses documents pour les automatiser ou les rendre plus aisment modiables.

    .. Particularits

    Il est important de raliser que LATEX est un systme de prparation de documents qui na es-sentiellement rien voir avec un traitement de texte ( part la nalit commune : produire undocument mis en forme). Dans un traitement de texte de type Word ou OpenOce Writer, letexte est mis en forme en direct pendant que vous le saisissez. En LATEX, le processus est asyn-chrone : vous saisissez dans un chier votre texte accompagn dinstructions de mise en forme et vous demandez de temps en temps LATEX dexcuter ces instructions.Un peu de vocabulaire : le chier dans lequel vous crivez votre texte et les instructions de

    mise en forme, dont lextension est .tex, est appel le chier source ou, par lision, le source. Leprocessus qui le transforme en un document visualisable ou imprimable (en gnral au formatPDF) est appel compilation, par analogie avec des langages informatiques comme le C.Si vous navez pas une certaine habitude des langages informatiques compils, il est essentiel de

    bien comprendre la distinction entre le source et le document nal. Ces deux chiers sont com-plmentaires : le PDF est la forme distribuable, le source est la forme modiable. La compilation,qui transforme le source LATEX en document PDF, nest pas un processus rversible. Il est compa-rable limpression dun document Word : le document imprim est lisible sans ordinateur, mais

    . http://people.math.jussieu.fr/~mpg/lm204/files/01-intro.pdf. On dit que LATEX est un langage de balisage. Il est sur certains points comparables au couple HTML & CSS.

    c-intro.tex r --

  • r -- . Prsentation de LATEX

    nest plus modiable comme lest le chier .doc. Cette sparation est heureuse car elle permet debien distinguer les rles : pour lauteur, le .tex, pour les lecteurs, le .pdf.

    Interrompons un moment cette prsentation un peu thorique pour regarder un extrait dunsource LATEX (on verra bientt quoi ressemble un source complet). On voit sur lexemple .comment le texte est entreml dinstructions de mise en forme comme \textit pour mettreen italique, ou $...$ pour dlimiter les fragments de formule, ^ pour mettre en exposant, decommandes pour obtenir des symboles particuliers comme un point centr.

    Des \textit{maths} ici :$2^2 = 2 \cdot 2 = 2 + 2$. Desmaths ici :

    = = + .E . Extrait de source

    Un autre point sur lequel LATEX distingue plus les rles quun traitement de texte ordinaire estque les tches de saisie des instructions, et dexcution de ces instructions, sont spares. Le pro-gramme nomm latex (ou plus prcisment, pdflatex) lit le chier .tex et produit le chier

    .pdf, mais il faut un autre programme, appel diteur de texte, pour produire le source .tex. Surlexemple ., LATEX assure la transformation de la partie de gauche en la partie de droite, mais ilfaut un logiciel distinct pour produire la partie de gauche.Ainsi, contrairement un traitement de texte qui fait tout (saisie et excution des instructions),

    un environnement de travail LATEX est divis en au moins deux programmes. En fait, cest encorepire : le programme pdflatex lui-mme a besoin de nombreux chiers supplmentaires (classeset modules, comme on le verra dans un instant) pour fonctionner, et parfois dautres programmesauxiliaires (par exemple pour produire un index ou une bibliographie). Tous ces chiers et pro-grammes sont gnralement runis au sein dune distribution TEX. Pour travailler avec LATEX, ilvous faut donc installer une distribution TEX et un diteur adapt LATEX (voir section . pourles dtails).

    Une partie du dveloppement de LATEX, dont tmoigne la nombre impressionnant de modulesdisponibles, est rendu possible par son statut de logiciel libre : chacun est libre dtudier sonfonctionnement en dtail, de lamliorer, de le redistribuer. Tous les logiciels recommands dansce cours sont des logiciels libres ; vous navez pas besoin de payer pour les utiliser le plus lgalementdumonde.

    Enn, concluons cette section sur les particularits de LATEX en voquant quelques un de sesdfauts. LATEX est plus dicile apprendre seul quun traitement de texte, et il faut plus de temps pour

    se sentir capable de faire ce que lon veut avec. Il est parfois dicile installer, un peu htroclite, et lintgration entre les direntsmodules

    nest pas toujours parfaite. Pendant la phase de compilation, si votre source comporte des erreurs de syntaxe, les mes-

    sages derreurs sont parfois dlicats comprendre. Pour certains types particuliers de documents, le manque de retour visuel immdiat peut

    tre gnant.

    . http://www.april.org/fr/articles/intro

    c-intro.tex r --

  • Prise de contact r --

    Le dernier point est intrinsque,mais largement compens par le fait que pour la plupart des typesde documents, le mode de travail source & compilation est au contraire un avantage. Quantaux trois premiers points, jespre que ce cours vous aidera les surmonter.

    . Installation

    Comme expliqu prcdemment, pour travailler avec LATEX, on a besoin de deux lments lo-giciels distincts :

    . une distribution TEX ;

    . un diteur de texte.

    Lditeur de texte peut tre extrmement basique (le notepad deWindows sut en thorie)mais ilest prfrable den utiliser un spcialement adapt LATEX, qui proposera par exemple unemise envidence des commandes, la possibilit de lancer la compilation et la visualisation du documentsans quitter lditeur, un ltrage des messages derreur, etc. On appelle parfois IDE un tel diteur.Si lditeur est un programme relativement simple, la distribution est au contraire un ensemble

    important de programmes, occupant beaucoup despace disque. Pour cette raison, elles existentparfois en plusieurs versions de minimale complte. Une version prsente comme minimalenest en aucun cas susante pour tout ce qui sera vu dans ce cours. Il est recommand de toujoursinstaller la version complte.Il existe essentiellement deux ou trois distributions TEX, et un grand nombre dditeurs. Voyons

    maintenant quelques choix possibles et comment les installer suivant les plateformes.

    .. Windows

    On a le choix parmi les distributions TEXLive etMiKTEX . Pour les diteurs, le plus classiqueest TeXnicCenter , mais TeXmaker est aussi un trs bon choix. (Deux autres bons diteurs sontdisponibles, mais ne sont pas libres : ils sagit de LeD etWinEDT.)Un document spar dcrit en dtails linstallation dun environnement MiKTEX & TeXnic-

    Center sous windows. Ce choix nest pas forcment meilleur que les autres mais correspond laconguration utilise en TP. Pour linstallation de cette conguration, il est essentiel de suivre ledocument au moins jusqu la section . incluse.

    .. Mac OS X

    Bien quil y ait en principe plusieurs choix, lun se distingue ici trs clairement : il sagit de ladistributionMacTEX , drive de TEXLive etmunie dun installateur spcique pourMacOS. En

    . LATEX est en fait lui-mme une extension dun autre systme, appel TEX. Une distribution contient en gnralle programme TEX et tous ses drivs.

    . Pour integrated development environment, soit environnement de dveloppement intgr.. http://tug.org/texlive/. http://ww.miktex.org/. http://www.toolscenter.org/. http://www.xm1math.net/texmaker/index_fr.html. http://people.math.jussieu.fr/~mpg/lm204/files/doc-install-miktex+txc.pdf. http://tug.org/mactex/

    c-intro.tex r --

  • r -- . Premiers documents

    outre, elle intgre un diteur, TeXShop, et constitue donc elle seule un environnement completde travail.Dautres bons diteurs, ainsi quun peu plus de documentation, sont fournis dans le paquet

    supplmentaire MacTEXtras , qui mrite donc dtre install.Signalons de suite un point techniquemais facile rgler : il est conseill, ds la premire utilisa-

    tion de TeXShop, daller dans le menu TeXShop, prfrences, onglet document, et dans la liste d-roulante encodage , de choisir latin (ou son synonyme iso--) ou ventuellement UTF-.Si vous choisissez cette dernire option, il vous faudra changer loption passe inputenc, commeexpliqu dans la note (page ), par rapport certains exemples.

    .. Linux

    La distribution de rfrence est ici TEXLive (il faut mieux oublier teTEX qui se fait vraimentvieille). Installez-la de prfrence depuis le gestionnaire de votre distribution Linux. Elle est sou-vent prsente sous la forme de plusieurs paquets : si un paquet nomm texlive-full existe,installez-le. Sinon, installez au moins tous les paquets dont le nom contient latex ou recom-

    mended ; parfois certains paquets particuliers ne comportent pas le mot texlive dans leur nommme sils en font partie : cest par exemple le cas de latex-xcolor, latex-beamer, cm-super et

    lmodern sous Debian et Ubuntu.Concernant lditeur, le plus courant et sans doute un des meilleurs est Kile, mais vous pouvez

    aussi utiliser TeXmaker, galement installer depuis le gestionnaire de paquets de votre distribu-tion Linux.Sous la plupart des distributions, lencodage par dfaut des diteurs sera lUTF-. Si vous conser-

    vez cet encodage, il vous faudra penser changer loption passe inputenc, comme expliqudans la note (page ), par rapport certains exemples. Sinon, vous pouvez slectionner latinou son synonyme iso-- comme encodage par dfaut, gnralement dans la partie diteur du menu des prfrences de votre IDE. (Pour Kile . : menu conguration, congurer Kile, puisdans la partie diteur, ouvrir/enregistrer et liste encodage. Pour TeXmaker . : menu options,congurer TeXmaker, partie diteur, liste encodage.)

    . Premiers documents

    Voyonsmaintenant quoi ressemble un source LATEX complet. Le source . est insusant pourun usage rel,mais juste assez complet pour compiler correctement. Il produit un document dunepage qui comporte le seul texte Hello, world! .

    \documentclass{minimal}\begin{document}Hello, world!\end{document}

    S . Source minimum compilable

    On voit ici que les mots prcds de \ sont des commandes qui napparaissent pas dans le docu-ment mais sont interprtes par LATEX. Les mots entours daccolades qui suivent une commande

    . http://tug.org/mactex/mactextras.html

    c-intro.tex r --

  • Prise de contact r --

    sont les arguments de cette commande. La structure dun source comporte quelques contraintes :

    . La premire ligne doit toujours tre une dclaration de classe de document, cest--direutiliser la commande \documentclass avec un argument.

    . Tout le texte destin apparatre dans le document produit doit tre contenu entre les ba-lises \begin{document} et \end{document}.

    La partie prcdent le \begin{document}, ici rduite la premire ligne, est appele prambuledu document ; celle qui suit jusquau \end{document} constitue le corps du document ; enn toutce qui suit le \end{document} est ignor.

    \documentclass[a4paper]{article}\usepackage[latin1]{inputenc}\usepackage[T1]{fontenc}\usepackage{amsmath, amssymb}\usepackage[french]{babel}\newcommand\abs[1]{\lvert #1\rvert} % valeur absolue\begin{document}Un document plus raliste, avec du texte pour commencer.

    Puis un deuxime paragraphe avec une quation $\abs{x} = r_0$ lintrieur.Et un dernier paragraphe ?\end{document}

    S . Tout petit document en franais

    Prsentons maintenant un exemple un peu plus raliste de trs court document LATEX crit enfranais. Le source . illustre quelques lments de la syntaxe de LATEX. Vous navez pas besoinde tout comprendre pour le moment, mais voici quelques points retenir.

    . Il existe plusieurs classes de documents, dont la plus courante pour de courts documentest article : cest celle que nous utiliserons presque tout le temps pour les exemples et lesexercices.

    . La classe de document peut prendre des options entre crochets, comme ici a4paper. Onutilisera systmatiquement cette option, la taille de papier par dfaut tant sinon le formatletter amricain.

    . On peut, dans le prambule uniquement, charger des modules qui tendent les possibi-lits de LATEX ou modient son comportement, avec la commande \usepackage.

    . Pour pouvoir saisir des caractres accentus, on a besoin du module inputenc. Loption lui passer dpend de lditeur utilis et de son rglage. Pour simplier, jcrirai toujourslatin1 : cest le seul rglage reconnu par TeXnicCenter, lditeur utilis en cours. Si on uti-lise TeXShop, on prendra soin de le rgler comme expliqu en section .. ; pourTeXmakerou Kile, voir la section ...

    . Aussi appels extensions, paquets ou en anglais packages. Dans tout ce cours, jutiliserai module pour essayerdcrire en franais correct, mais langlicisme package reste le terme le plus couramment utilis en gnral.. Cependant, an de laisser le choix libre, je propose toutes les solutions des exercices en latin et en utf. Si vous

    c-intro.tex r --

  • r -- . Premiers documents

    . Pour que les caractres accentus utiliss en Franais apparaissent correctement dans lePDF et que LATEX puisse calculer automatiquement les coupures de mots, il faut charger lemodule fontenc avec loption T1.

    . On peut charger dautresmodules spciques, comme ici amsmath et amssymb qui tendentles possibilits mathmatiques de LATEX.

    . On utilise enn le module babel avec loption french pour annoncer que le documentproduit est en Franais, ce qui permet LATEX de traduire certains titres produits automa-tiquement, de respecter certaines rgles typographiques franaises, etc.

    . On peut en outre dnir des nouvelles commandes, comme ici \abs, que lon peut ensuiteutiliser dans le document comme toute autre commande standard de LATEX.

    . Le caractre % introduit un commentaire : tout ce qui le suit jusqu la n de la ligne esttotalement ignor par LATEX. Il sert soit expliquer ce qui est fait dans le source, soit masquer temporairement certains lments, sans pour autant les eacer du source.

    . Enn, les coupures de ligne au sein du source ne correspondent pas aux coupures de lignedans le document nal : LATEX calcule celles-ci automatiquement pour bien remplir la zonede texte.

    Comme annonc, vous navez pas besoin de tout comprendre de ce document maintenant. Parcontre, retenez absolument que certaines options et certainsmodules sont obligatoirespour chaquedocument. Un source de base est disponible en ligne (sinon, voir source .) et je vous conseillefortement de vous en servir comme point de dpart pour tous les documents en franais quevous produirez. (Ne pas utiliser loption a4paper et les trois modules chargs par cette base seraconsidr comme une faute.)

    \usepackage{hyperref}Le \href{http://tug.org}{groupe

    dutilisateurs de \TeX}.Le groupe dutilisateurs de TEX.

    E . Exemple dexemple

    Par ailleurs, dans ce polycopi, tous les exemples supposeront que vous utilisez ce source debase, et ne signaleront que les modules supplmentaires charger. De plus, pour conomiser laplace, le \begin{document} sera omis : tout est suppos tre dans le corps du document, sauf leslignes prcdes dun let vertical, qui sont ajouter au prambule de base. Ainsi, lexemple .reprsente en fait le source complet ..Si vous voulez essayer les exemples du cours (ce qui est conseill), vous devrez donc chaque

    fois faire cette substitution qui devrait vite devenir un rexe.

    Il est maintenant recommand dessayer de compiler les sources . et .. Vous pouvez lescopier-coller depuis la version PDF de prsent polycopi.Si vous observez attentivement le rsultat de la compilation de ces deux exemples, vous consta-

    terez le numro en bas de page du . : cest le numro de page. LATEX (ou plus prcisment,

    rglez votre diteur sur UTF- (ou que cest son rglage par dfaut), pensez remplacer latin1 par utf8 dans chaqueexemple ou corrig qui fera appel inputenc et utiliser les chiers de solution dont le nom contient utf8.. http://people.math.jussieu.fr/~mpg/lm204/files/doc-source-base.tex. Pour tre exact, il faut ventuellement remplacer latin1 par utf8, selon le rglage de votre diteur.

    c-intro.tex r --

  • Prise de contact r --

    \documentclass[a4paper]{article}\usepackage[latin1]{inputenc}\usepackage[T1]{fontenc}\usepackage[french]{babel}\usepackage{hyperref}\begin{document}Le \href{http://tug.org}{groupe dutilisateurs de \TeX}.\end{document}

    S . Source dvelopp de lexemple .

    la classe de document) gre automatiquement pour vous les dtails comme la numrotation despages. Essayez de changer la classe minimal en article dans le ., vous verrez apparatre alorsle numro de page.

    . Bases thoriques

    .. Commandes, arguments, environnements

    Reprenonsmaintenant de faon un peu plus mthodique certains lments vus ci-dessus. LATEXest un langage de balisage : dans le source sont entremls le texte rel de votre document et descommandes pour le mettre en forme, sauf au tout dbut du document, dans le prambule, qui necomporte que des instructions, comme le chargement de modules.Pour pouvoir donner des instructions LATEX, certains caractres ont une signication spciale.

    En voici la liste complte :

    \ { } $ & # ^ _ ~ %

    Vous connaissez dj certains dentre eux, les autres seront prsents petit petit. Ce sont lesdix caractres qui napparatront pas tels quels dans le document si vous les saisissez simplementdans le source mais provoqueront plutt des actions spciales. Nous verrons au prochain chapitrecomment les inclure dans un document.Le caractre \ sert indiquer le dbut dune commande. Les noms de commandes en LATEX sont

    de deux types :

    . Les commandes-mot sont les plus courantes : leur nom est constitu dune ou plusieurslettres.

    . Les commandes-caractre : leur nom est constitu dun unique caractre qui nest pas unelettre.

    Dans ce contexte, lettre signie lun des caractres non accentus de lalphabet, et la casse (ma-juscule ou minuscule) compte : \abc et \Abc sont deux commandes distinctes. Un exemple decommande-caractre est la commande \% qui permet dobtenir le caractre .Une commande peut prendre zro, un, ou plusieurs arguments, normalement dlimits par

    des accolades {...}. Certains arguments, comme les options de la commande \documentclass,sont optionnels : il peuvent tre omis. Dans ce cas, ils sont dlimits par des crochets carrs [...].Dans tous les autres cas, le nombre dargument dune commande doit tre respect : ne pas passer

    c-intro.tex r --

  • r -- . Bases thoriques

    dargument une commande qui en attend provoquera des erreurs, parfois trs tranges. Il fautaussi bien distinguer [...] et {...} qui ne sont pas interchangeables.Dans tout ce cours, on prsentera ainsi les nouvelles commandes :

    \documentclass[options]{classe}Il est entendu que les arguments entre crochets peuvent tre omis. Les lments comme optionsne sont pas saisir tels que, mais remplacer par une valeur approprie.

    Deux commandes sont particulires : \begin et \end. Utilises conjointement sous la forme

    \begin{env}contenu\end{env}

    elles dnissent un environnement dont le nom est env et le contenu contenu. Ainsi, on peutdire que le corps du document est le contenu de lenvironnement {document}. chaque fois queje ferai rfrence ainsi un nom entre accolades, il sagira du nom dun environnement .

    Ceci constitue lessentiel de la syntaxe rgulire de LATEX. Il existe quelques autres lmentssyntaxiques un peu moins cohrents, que nous aurons le temps de dcouvrir plus tard.

    .. Espaces et ns de ligne

    Des rgles particulires rgissent les espaces en LATEX. Parfois surprenantes au dbut, elles sonten fait trs pratiques lusage (sauf peut-tre la premire). Les voici.

    . Les espaces suivant une commande-mot sont ignors.

    . Les espaces au dbut dune ligne sont ignors.

    . Plusieurs espaces successifs sont quivalents un seul espace.

    . Un retour la ligne est quivalent un espace.

    La premire rgle demande un peu dattention. Par exemple pour crire que LATEX cest bien ,il faut saisir par exemple \LaTeX{} cest bien, car la version nave \LaTeX cest bien donnele mauvais rsultat LATEXcest bien . Ici, les accolades vides ne produisent rien, mais assurent quelespace qui les suit nest plus mang par la commande-mot qui prcde : je parlerai souventde protger lespace pour dsigner ce procd. Les trois autres rgles sont en fait tellementcommodes quon les oublie vite.

    Comme on la vu, un retour la ligne seul est quivalent un espace. Deux retours la lignesuccessifs (cest--dire une ligne vide dans le source) sont considrs comme dlimitant un para-graphe . Plusieurs lignes vides successives sont quivalentes une seule ligne vide.

    . La rciproque est peut-tre fausse : il marrivera domettre les accolades quand le contexte indique assez claire-ment quil sagit dun environnement.. Comme en exercice, jintroduis parfois en exemple des nouvelles commandes, comme ici celle servant com-

    poser le logo LATEX. Quand elles sont susamment simples, elles sont alors considres comme connues pour la suite,mme si elles ne sont jamais formellement prsentes ailleurs. Cest le cas ici.. On peut aussi sparer les paragraphes par la commande \par ; je le ferais souvent dans les exemples pour gagner

    de la place, mais dans la pratique une ligne vide est bien plus courante.

    c-intro.tex r --

  • Prise de contact r --

    Vu quun retour la ligne dans le source est interprt comme un espace (ce qui est trs pratiqueen fait), pour provoquer un retour la ligne dans le document, le plus simple est de changer deparagraphe en laissant une ligne vide dans le source. Ceci insre aussi un retrait dalina au dbutdu paragraphe suivant.

    On verra au prochain chapitre comment provoquer un retour la ligne qui ne soit pas un chan-gement de paragraphe. On y apprendra aussi les commandes servant laisser des espaces videshorizontalement ou verticalement : pour linstant, retenez quil est vain de chercher atteindre cersultat en laissant plusieurs espaces ou plusieurs lignes vides dans le source.

    . Exercices

    Il ny a pas dexercice formel pour ce chapitre : votre travail pour cette semaine consiste instal-ler LATEX sur votre ordinateur personnel si vous en possdez un, ou vous familiariser avec lins-tallation LATEX disponible dans les salles libre-service de luniversit. Vous devez savoir compileret visualiser un document simple. Vous tes encourags partir du source . et le modier.De faon gnrale, une attitude active, consistant essayer de jouer avec LATEX pour voir ce

    que vous pouvez en faire, au-del de la simple rsolution des exercices proposs, ne pourra voustre que bnque.

    .. Contenu des exercices

    Les exercices sont fournis dans des archives nommes exos-nn.zip (ou exos+cor-nn.zipsi la correction est incluse), contenant tous les chiers utiles, o nn est le numro de la sance oule nom (dm, exam). Ils consistent en gnral en un document reproduire, qui contient parfoisdes indications sur lexercice, ou des informations intressantes, mais parfois seulement du textede remplissage. Les types de chiers potentiellement prsents dans une archive sont : exo-nn.pdf : le document reproduire, en pdf ; brut-nn-enco.pdf : le texte brut de lexercice, prt tre copie-coll, fourni dans di-

    rents encodages (choisir latin1 pour TeXnicCenter) ; parfois des images utiles pour reproduire le document ; sol-nn-enco.tex : le source complet du document reproduire, prt compiler (et

    modier), mais sans commentaires ; cor-nn.pdf : le source du document reproduire, accompagn de commentaires.

    Les solutions et corrigs des exercices sont une source importante dinformation, car ils illustrentet expliquent les notions vues en cours sur des documents complets : nhsitez pas vous eninspirer lors de la rdaction de vos documents. Par ailleurs, le code des exemples est souvent malprsent pour conomiser la place : celui des solutions est un bien meilleur exemple sur ce point( mon avis important). Enn, les corrigs comportent parfois des informations qui ne sont pasreprises dans le cours.

    c-intro.tex r --

  • Le mode texte

    . Caractres et symboles particuliers

    .. Caractres rservs

    On a dj prsent (section ..) les dix caractres rservs par LATEX pour des usages particu-liers, et promis dexpliquer comment les obtenir dans le document. Il est temps de tenir promesse :voici donc les commandes, table ..Comme on le constate, LATEX ne propose pas de commande pour obtenir certains caractres en

    mode texte. On doit faire appel au module textcomp pour disposer des commandes de lavant-dernire colonne, et tre en mode mathmatique pour utiliser celles de la dernire colonne (lesmodes mathmatiques seront vus au chapitre ).Je rappelle que faire appel au module textcomp signie placer la ligne

    \usepackage{textcomp}

    dans le prambule du document. Si vous oubliez de le faire et essayez dutiliser quand mme unedes commandes fournies par ce module, vous obtiendrez le message derreur undened controlsequence, qui signie en gros commande non dnie . En gnral, vous obtenez ce messagederreur soit quand vous avec oubli de charger un module, soit quand vous avez fait une faute defrappe dans le nom dune commande.

    .. Accents et symboles

    part les caractres rservs que nous venons de voir, vous pouvez saisir tous les autres carac-tres directement dans le source. Tous ? Non ! Une poigne dirrductibles rsiste, essentiellementpour deux types de raison :

    Caractre Usage LATEX textcomp Math

    \ commandes \textbackslash \backslash{ argument ou \{ \textbraceleft \{} groupe \} \textbraceright \} mode math \$ \$& alignements \& dnitions \# exposant \^{}_ indice \_ espace inscable \~{} \textasciitilde commentaire \%

    T . Commandes pour les caractres rservs

    c-texte.tex r --

  • Le mode texte r --

    . Ils nexistent pas dans lencodage dentre utilis.

    . Vous ne savez pas les saisir sur votre clavier.

    Dans le premier cas, on trouve par exemple le symbole de leuro qui nexiste pas en latin1 . Dansle deuxime cas. . . a dpend de vous et de votre clavier.Dans les deux cas, la stratgie reste lamme : utiliser des commandes pour obtenir ces symboles.

    Il y a tout dabord des commandes daccent, gnralistes, pour obtenir tous les caractres accen-tus. Ces commandes, ainsi que celles servant obtenir les ligatures orthographiques usuelles,ont des noms assez faciles retenir (voire deviner). Lexemple . prsente les plus importantesdentre elles.

    \A, \A, \^A, \A, \dots\par\E, \I, \i, \n, \dots\par\c Ca me fend le c\oe ur !Tch\u\ss!

    , , , , . . ., , , , . . .a me fend le cur ! Tch!

    E . Quelques accents, cdilles et ligatures

    Quelques commentaires sur cet exemple : observez lutilisation de \par la n des deux pre-mire lignes pour changer de paragraphe (et donc revenir la ligne) dans le document. Remarquezaussi la commande \dots, qui produit un rsultat plus lgant que trois points la suite : . . . est plus lisible que ... .Enn, des dtails syntaxiques : dans \A, on a une commande \ et son argument A. Comme

    largument est rduit une lettre, on nest pas oblig de lentourer daccolades, mais si on le dsireon peut crire \{A}. Cest dailleurs sans doute plus clair pour \c{C}a. Ici, il faut faire attention ne pas crire \cCa sans espace, car LATEX y verrait une commande nomme cCa. Cest dansdes exemples comme c\oe ur que la rgle disant que les espaces sont avals est, pour une fois,pratique.

    Dautres symboles ne drivent pas dune lettre. Ils sont alors obtenus par des commandes spci-ques. Par exemple, pour le symbole euro, le module textcomp fournit la commande \texteuro.On peut obtenir un symbole euro dapparence dirente (celui fournit avec les polices par dfautde LATEX nest pas trs joli) avec la commande \EUR du module marvosym .Dautres symboles sont disponibles, bien plus quil nest possible de prsenter ici. Le document

    de rfrence pour tous les symboles disponibles sous LATEX est symbols-a4.pdf . Il est impor-tant en consultant ce document de faire attention aux modules charger pour disposer des com-mandes indiques. Nous verrons tout bientt (section ..) comment accder aux documents derfrence.

    Enn, certains caractres particuliers sobtiennent sans mme faire appel une commande :LATEX peut automatiquement mlanger deux ou plusieurs caractres pour en obtenir un autre.

    . Cest celui quon passe en paramtre inputenc.. ceux qui seraient tents dutiliser la place loption utf8 pour viter ce problme (ce qui est au demeurant

    une bonne ide), je rappelle quil ne sut pas de changer loption dinputenc, mais quil faut aussi changer le rglagede son diteur de texte, et que ceci nest malheureusement pas possible sous TeXnicCenter.

    . Il faut donc crire \usepackage{marvosym} dans le prambule pour avoir le droit dutiliser cette commande.. http://ctan.org/pkg/marvosym. http://mirror.ctan.org/info/symbols/comprehensive/symbols-a4.pdf. Un tel mlange sappelle une ligature.

    c-texte.tex r --

  • r -- . Caractres et symboles particuliers

    Exemple Rsultat

    \og guillemets \fg guillemets M\up{me}, D\up{r} M, D1\ier, 1\iere, 1\ieres , , 2\ieme 4\iemes \No 1, \no 2 N , n 20~\degres C, 45\degres C, \bsc{M. Durand} M. D\today septembre

    T . Commandes fournies par french de babel

    Par exemple, on obtient un tiret moyen avec deux tirets la suite -- et un long avectrois (mais a ne va pas plus loin).Une autre ligature utile est celle qui permet dobtenir des guillemets anglais : on saisit pour

    cela anglais. Par contre, en Franais, on utilisera plutt des guillemets franais : ce quifournit une bonne transition vers la prochaine section.

    .. Franchouillardises

    En plus de traduire certains textes automatiques, dassurer une csure correcte des mots, etdaider au respect de quelques rgles orthotypographiques propres au Franais, loption french de babel fournit aussi quelques commandes utiles, rsumes par la table ..Comme on le sait, les commandes-mot comme \ier ont tendance avaler les espaces qui les

    suivent, de sorte que le 1\ier jour donne le jour . Il faut penser protger lespace ensaisissant le 1\ier{} jour pour obtenir le rsultat correct le jour .Les commandes fournies par french permettent dviter cet inconvnient et de restaurer auto-

    matiquement lespace lorsquil est ncessaire, condition de charger le module xspace aupara-vant. Pour cela, dcommentez la ligne du source minimal propos. (Ceci sera systmatique-ment utilis dans les corrigs des exercices.)

    .. Interlude : documentation

    Je lai dj dit, vous ne saurez jamais tout de LATEX. Il est donc important de prendre lhabitude deconsulter des documents de rfrence, et jen citerai souvent. La plupart des documents que je citesont disponible en ligne, mais aussi prsents sur votre disque dur : ils font partie de la distributionTEX.Pour les localiser, chaque distribution fournit un outil. Sous MiKTEX, il sappelle mthelp, sous

    TEXLive cest texdoc. Dans les deux cas, lutilisation est la mme : il sagit de taper, en ligne de

    . Vous laurez remarqu, LATEX coupe automatiquement certains mots en n de ligne. Les rgles concernant lacsure (laction de couper les mots) dpendant fortement de la langue.

    . Synonyme des options francais (sans cdille) et frenchb (pour french babel). Jutiliserai souvent frenchb parhabitude, car les trois nont pas toujours t synonymes.

    . Cest--dire, retirez le signe % prsent en dbut de ligne.. http://people.math.jussieu.fr/~mpg/lm204/files/doc-source-minimal.tex

    c-texte.tex r --

  • Le mode texte r --

    commande lune des commandes suivantes :

    mthelp chier mthelp moduletexdoc chier texdoc module

    Vous pouvez ainsi rechercher soit un chier dont vous connaissez le nom, comme symbols-a4.pdf, soit de la documentation sur un module dont vous connaissez le nom, comme babel. Parexemple, pour rechercher la documentation de babel sous TEXLive, vous tapez texdoc babeldans une ligne de commande. Pour rechercher le chier symbols-a4.pdf sous MiKTEX, tapezmthelp symbols-a4.

    Si pour une raison ou une autre vous narrivez pas localiser la documentation sur votre disquedur, vous pouvez essayer en ligne. Le site de rfrence pour tous lesmodules LATEX et la plupart desdocuments le concernant est le CTAN . Il dispose dune page de recherches . De plus, chaquemodule LATEX est recens dans un catalogue : des informations (dont parfois un lien vers la docu-mentation) sur chaque module sont disponibles ladresse http://ctan.org/pkg/nom.Par ailleurs, dans la versionPDFduprsent polycopi, le nomdunmodule est en gnral un lien

    vers cette page de description, de mme que le nom dun chier que je prsente pour la premirefois est souvent un lien vers sa version sur le CTAN.

    titre dexercice, vous pouvez rechercher dans symbols-a4 comment produire le symbole duYen (). Faites-le vraiment, chercher des choses dans un document touu nest pas si facile audbut et il faut vous y habituer.

    . Changements de fonte

    .. Modle thorique

    Pour LATEX, une police est dtermine par paramtres logiquement indpendants : la famille,la graisse, le forme, et la taille. Ici, logiquement indpendant signie quon peut demander LATEX de changer le taille sans quil change la graisse, mais cela ne signie pas que toutes lescombinaisons existent ncessairement dans une fonte donne.Contrairement certains logiciels qui encouragent utiliser beaucoup de polices au sein dun

    mme document, LATEX ne propose par dfaut que trois familles : une famille romaine (avec em-pattements) qui est en gnral la police principale, une famille sans empattements (dite aussi sanssrif) et une de type machine crire, gnralement chasse xe (cest--dire que tous lescaractres ont la mme largeur).

    .. Tout sauf la taille

    Parmi les quatre paramtres vus ci-dessus, la taille est un peu part. La table . montre com-ment changer les trois autres. Les polices par dfaut de LATEX sont utilises pour les illustrations.

    . Pour en ouvrir une sous Windows, enfoncez simultanment la touche Windows du clavier et la lettre R, puissaisissez cmd dans la bote de dialogue. Sous Mac ou Linux, vous avez probablement une icne terminal quelquepart.. http://ctan.org/. http://ctan.org/search.html. Cest un peu faux car il faudrait aussi considrer lencodage, mais cest une notion technique heureusement

    inutile ici. On a dj bien assez faire avec lencodage dentre.

    c-texte.tex r --

  • r -- . Changements de fonte

    Famille

    \textrm{} \rmfamily romain\textsf{} \sffamily sans empattements\texttt{} \ttfamily chasse fixe

    Graisse

    \textmd{} \mdseries graisse normale\textbf{} \bfseries gras

    Forme

    \textup{} \upshape droit\textit{} \itshape italique\textsl{} \slshape pench\textsc{} \scshape petites capitales

    T . Famille, graisse et forme de fonte.

    Les valeurs par dfaut de ces paramtres sont en gnral : famille romaine, forme droite et graissemoyenne.Onpeut toutmoment revenir ces valeurs par dfaut avec la commande \normalfontqui naecte pas la taille.Comme vous le constatez, chacune des commandes de changement de fonte prsente existe

    sous deux formes : une commenant par \text, qui prend un argument et nagit que sur sonargument, et une forme dite dclarative, qui agit sur toute la suite du texte jusqu ordre contraire.

    Pour tre plus prcis, la forme dclarative agit jusqu la n du groupe courant. Le moyen le plussimple de dnir un groupe est dutiliser une paire daccolades, condition quelles en servent pasdj autre chose, comme dlimiter largument dune commande. Il faut alors bien prendre degarde de placer laccolade ouvrante avant la commande dclarative dont on veut limiter laction.Les environnements dnissent naturellement des groupes. On pourra donc aussi les utiliser

    comme dlimiteurs de la porte dune commande dclarative. On verra de tels exemples dansle corrig de lexercice . Lexemple . montre la technique utilisant des accolades, et illustrecomment les paramtres peuvent se combiner. Comme on le constate, les certaines combinaisons ne marchent pas , par exemple il ny a pas de petites capitales en style machine crire. Dansce cas, LATEX ignore une des commandes.

    Un {\bfseries mot gras \textit{et italique}aussi}. Retour la normale. \texttt{Machine\textbf{ crire}.} \textsc{Petites capitales\textbf{grasses}, \texttt{chasse fixe} ?}

    Unmot gras et italique aussi. Retour la normale. Machine crire.P ,

    chasse fixe

    E . Famille, graisse et forme de fonte

    Dans lexemple ., il aurait t plus naturel dutiliser \textbf la place de \bfseries. Parcontre, il faut savoir que les commandes argument ne peuvent pas servir pour des changementsde fonte durant plus dun paragraphe. Cest une scurit cense vous aider dtecter les accoladesfermantes oublies : en cas doubli, vous obtenez le message derreur suivant.

    c-texte.tex r --

  • Le mode texte r --

    Taille

    \tiny taille\scriptsize taille\footnotesize taille\small taille\normalsize taille\large taille\Large taille\LARGE taille\huge taille\Huge taille

    T . Tailles de fontes relatives

    ! Paragraph ended before \text@command was complete.

    \parl.18 bla}

    Lintrt dun tel message derreur est que le numro de ligne indiqu est proche du lieu o vousavez probablement oubli une accolade.

    Enn, il existe une commande particulire pour changer la forme de fonte courante : la com-mande \emph sert mettre du texte en valeur, en passant en italique si lon tait en droit et rcipro-quement. Il est conseill de lutiliser plutt quune commande de mise en forme directe, lorsquequon voudra insister sur un mot comme ici.De faon gnrale, ds quon saura comment dnir de nouvelles commandes et environne-

    ments (chapitre ), il faudra viter de faire apparatre les commandes de changement de fontedirectement dans le document, et ne les utiliser que dans la dnition dautres commandes s-mantiques. Nous y reviendrons en temps voulu.

    .. La taille

    Les commandes proposes par LATEX pour changer de taille nexistent contrairement aux autresque sous forme dclarative. En eet, un changement de taille concerne rarement un mot isol,mais plutt toute une portion de texte. Les commandes disponibles sont listes dans la table ..La taille de texte normale est donne par \normalsize, qui est indpendant de \normalfont.

    Cette taille est xe par une option de classe de document. Par dfaut, cette taille est de pointsdans la classe article. Les options 11pt et 12pt sont disponibles. Par exemple, pour xer unetaille principale de points pour lensemble du document, on crira

    \documenclass[a4paper, 11pt]{article}

    comme premire ligne du prambule. Toutes es autres commandes sadapteront alors : \largeavec une taille de base de points est un peu plus grand que \large avec une taille de base de points, etc.

    c-texte.tex r --

  • r -- . Changements de fonte

    Pour disposer de tailles de base plus varies (ce qui est rarement utile en fait), on devra rempla-cer la classe article par la classe extarticle. On dispose alors des nouvelles options 8pt, 9pt,14pt, 17pt et 20pt pour la taille de base. Ainsi, pour un livret crit assez petit, on commencerason source par

    \documenclass[a5paper, 9pt]{extarticle}

    si le livret est imprim sur du papier A. (crire si petit sur du papier A nest gure raisonnable.)

    Ce modle de tailles de fonte (une taille de base, et des commandes de taille relatives cettedernire) est trs pratique pour la plupart des documents, car il permet des changements facileset cohrents. Cependant, on a parfois besoin de spcier une taille absolue (par exemple pourobtenir un titre en trs gros, ou raliser une achette).

    \fontsize{corps}{interligne} \selectfontLa commande \fontsize permet dindiquer un corps (un taille) de fonte en points ; il faut alorsaussi prciser la taille de linterligne (lespace vertical entre la base de deux lettres de lignes cons-cutives). Une rgle approximative est de choisir un interligne de du corps : par exemple,

    \fonsize{40}{48} \selectfont

    pour crire en taille . Il ne faut pas oublier de faire suivre \fontsize de \selectfont pour queles changements prennent eet.

    Les commandes de changement de taille au sein du document, quelles soient relatives comme\large ou absolue comme \fontsize, modient aussi lespace entre les lignes : pour \fontsize,cest le rle du deuxime argument, pour les autres cest automatique. Un point auquel il faut prterattention si lon veut que linterligne soit pris en compte est de bien terminer le paragraphe avantde revenir la taille normale. Pour cela, on aura intrt terminer le paragraphe par un \parplutt que par une ligne vide de faon placer celui-ci avant laccolade fermante qui dlimite lan du changement de taille, comme illustr par lexemple ..Si par contre on utilise des environnements comme center, flushleft et flushright (vus

    plus loin, section .) pour dlimiter laction du changement de taille, on na aucune prcautionparticulire prendre, car ces environnements dlimitent aussi un paragraphe. Voir le corrig delexercice pour un exemple correct dutilisation de cette technique.

    {\tiny Un petit paragraphe de texte crit entout petit avec un interligne incorrect.}\par{\tiny Un petit paragraphe de texte crit en

    tout petit avec un interligne correct.\par}

    Un petit paragraphe de texte crit en tout petit avec

    un interligne incorrect.Un petit paragraphe de texte crit en tout petit avecun interligne correct.

    E . Changements de taille et interligne

    .. Le reste

    Le dernier paramtre dterminant lapparence dun texte, en plus de la famille, la graisse, laforme et la taille de police, est sa couleur, au moins pour les documents lectroniques. LATEX nepermet pas tout seul de grer la couleur, mais le module xcolor fournit les commandes nces-saires.

    c-texte.tex r --

  • Le mode texte r --

    \textcolor{couleur}{texte}{\color{couleur} texte long}Comme pour les commandes de changement de fonte normales, on dispose des deux formes :avec argument ou dclarative. Pour la forme dclarative, il faut penser utiliser des accoladescomme ci-dessus, ou proter dun environnement pour restreindre laction de la commande. tout moment, on peut revenir la couleur normale avec la commande dclarative \normalcolor.

    Il y a plusieurs noms de couleurs prdnis : pour en avoir une liste complte, consulter ladocumentation dxcolor (voir sec. .. comment la trouver), puis aidez-vous des signets pdfou des liens cliquables de la table des matires pour arriver rapidement la section colors byname . Par dfaut, seuls les noms de la section . sont dnis. Vous pouvez mlanger entre ellesdes couleurs existantes de la faon suivante : blue!30!white donne unmlange de de bleu et de blanc. Nous verrons la section .. comment dnir de nouveaux noms de couleur. Cespossibilits sont prsentes sur lexemple . : l aussi, il serait plus naturel dutiliser \textcolorles deux fois, \color na t choisie la deuxime fois que pour illustrer sa syntaxe une peu trange.

    Du \textcolor{red}{rouge} flashy.\par{\color{red!30!black} Moins} flashy.

    Du rouge ashy.Moins ashy.

    E . Changements de couleurs

    Sur certaines installations vieilles ou incompltes, xcolornexiste pas. On peut alors utiliser co-lor la place : les commandes cites ci-dessus restent les mmes, ainsi que les noms des couleursde base, mais certaines possibilits, comme le mlange de couleurs, ne sont pas disponibles.

    Enn, outre les changements de fontes et de couleurs, il est galement possible dappliquerquelques autres mises en forme au texte, comme le soulignement. Ce dernier est viter autantque possible. Il est trs utilis dans les documents manuscrits ou dactylographis car cest un desseuls moyen de mise en valeur qui existe dans ces cas. Avec LATEX (ou un traitement de texteclassique), on dispose de tellement dautres moyens dexpression typographiques quil faut mieuxse passer du soulignement, souvent peu lgant (problmes de lettres jambages, dinterligne, . . .)Ceci dit, par souci de compltion, citons le module soul qui permet entre autres de souligner

    des portions de texte. Il fournit aussi des commandes pour dautres eets, comme le texte barrou interlettr (cest--dire avec un espace supplmentaire entre chaque lettre : cette mise en formepeut tre utile pour des titres par exemple), illustres par lexemple ..

    \usepackage{soul}\ul{Soulign} \par\st{Barr} \par \so{Interlettr}

    SoulignBarrI n t e r l e t t r

    E . Quelques possibilits du module soul

    . Listes

    Nous connaissons dsormais les commandes pourmettre en forme des fragments de texte, sou-vent de lordre de quelques mots, et traduire ainsi sa structure petite chelle. Voyons maintenant

    c-texte.tex r --

  • r -- . Alignement du texte

    quelques lments de structure moyenne chelle. Le plus important est la structure de liste, quise dcline en LATEX (comme en HTML) en trois variantes : liste tirets, liste numrote, et listedescriptive.Dans les trois cas, la liste elle-mme est dlimite par un environnement : itemize pour une

    liste tirets, enumerate pour une liste numrote, et description pour une liste descriptive.Chaque lment, ou point, de la liste (y compris le premier) est prcd de la commande \item.Cette commande ne prend en gnral pas dargument, mais on peut lui passer un argument op-tionnel entre crochets : dans le cas dune liste tirets ou numrot, largument remplace le symbolede dbut ditem ou la numrotation ; dans le cas dune liste descriptive, il est dusage dutiliser cetlment pour le nom du terme dcrire. Ces trois type de listes sont illustrs par lexemple . ;on peut les emboter entre elles comme on le verra en exercices.

    Les trois types de listes sont :\begin{itemize}

    \item les listes tirets ;\item les listes numrotes ;\item les listes descriptives.\end{itemize}Les trois types de listes sont :\begin{enumerate}

    \item les listes tirets ;\item les listes numrotes ;\item les listes descriptives.\end{enumerate}Les trois environnement utiles sont :\begin{description}

    \item[itemize] pour les listes tirets ;\item[enumerate] pour les listes numrotes ;\item[description] pour les descriptives.\end{description}

    Les trois types de listes sont : les listes tirets ; les listes numrotes ; les listes descriptives.Les trois types de listes sont :

    . les listes tirets ;

    . les listes numrotes ;

    . les listes descriptives.

    Les trois environnement utilessont :

    itemize pour les listes tirets ;

    enumerate pour les listesnumrotes ;

    description pour lesdescriptives.

    E . Les trois types de listes

    Il est essentiel de penser utiliser ces environnements plutt que de mettre en forme le texte la main , grand renfort de sauts de ligne forcs et autres. Cest particulirement vrai pour leslistes numrotes : LATEX soccupe pour vous de maintenir les numros dans lordre si vous ajoutezou retirez des lments de la liste.

    . Alignement du texte

    Par dfaut, LATEX fait en sorte que les bords gauche et droits du texte soient bien rectilignes :on dit que le texte est justi, ou pour tre prcis, justi droite et gauche. On peut changer cecomportement pour certaines parties du texte, soit par choix (page de titre ou autre mise en pagespersonnalise, soit pour des raisons techniques : quand on crit du texte sur une faible largeur,essayer de laligner des deux cts produit souvent un rsultat assez moche, et il vaut alors mieuxchoisir un autre alignement.

    c-texte.tex r --

  • Le mode texte r --

    On obtient du texte centr avec lenvironnement {center}, align seulement sur la marge degauche (on dit au fer gauche , ou encore en drapeau ) avec {flushleft} en enn align droite avec {flushright}, comme le montre lexemple .. Par ailleurs, ces environnementslaissent comme on le voit un petit espace avant et aprs, ce qui est en gnral ncessaire pour quele changement dalignement ne soit pas choquant.

    Du texte dexemple justifi droite et gauche.\begin{center}

    Un peu de texte dexemple centr sur la ligne.\end{center}\begin{flushleft}

    Cette fois du texte dillustration en drapeau.\end{flushleft}\begin{flushright}

    Et enfin une partie de texte au fer droite.\end{flushright}

    Du texte dexemple justi droite et gauche.

    Un peu de texte dexemplecentr sur la ligne.

    Cette fois du textedillustration en drapeau.

    Et enn une partie de texteau fer droite.

    E . Environnements dalignement du texte

    Demme que les commandes de changement de fonte existent en deux formes (une commande argument et une commande dclarative) on peut changer lalignement avec un environnementcomme on vient de le voir, mais aussi avec des commandes dclaratives. Tout ce qui a t ditprcdemment sur les commandes dclaratives reste vrai, par exemple lutilisation de groupesou environnements pour limiter leur porte. La correspondance environnement-commande estdonne par la table . : on prendra bien garde linversion left/right : align gauche est eneet quivalent dchir (ragged) droite.

    Environnement Commande

    center \centeringflushleft \raggedrightflushright \raggedleft

    T . Environnements et commandes dalignement.

    Si lon choisit dutiliser une commande et non un environnement, il faut prendre garde plu-sieurs points : par exemple, terminer le paragraphe avant que leet de la commande ait cess(comme dans le deuxime cas de lexemple . prcdent) car sinon elle naura tout simplementaucun eet. On peut aussi devoir ajouter un peu despace vertical avant et aprs. Pour ces raisons,il est recommand de ne pas utiliser la forme commande et de prfrer les environnements, saufpour changer lalignement lintrieur dun autre environnement, ou bien dans la dnition dunenvironnement.Enn, signalons un point subtil : les environnements comme center se comportent direm-

    ment selon quils sont aumilieu dun paragraphe ou pas (cest--dire selon quil sont ou non entou-rs de lignes vides) : ceci aecte lespace vertical prcdent et suivant le texte centr, et lalignementdu texte qui suit (prsence ou absence du retrait dalina). Ceci est bien sr valable pour les deuxautres environnements ; des exemples seront vus en exercices.

    c-texte.tex r --

  • r -- . Espaces

    Je prsente pour nir dans cette section, faute dun meilleur emplacement, deux environne-ments utiles : {quote} et {quotation} qui sont prvus pour faire des citations, et dont leetle plus visible est daugmenter un peu la taille des marges de chaque ct, rduisant ainsi la lar-geur du texte. Les deux environnement sont quasiment identiques : le premier supprime le retraitdalina au dbut de chaque paragraphe du texte cit, tandis que le deuxime le conserve.

    . Espaces

    Comme on la vu la section .., LATEX traite sa manire les espaces et retours la lignedans le source. En particulier, pour obtenir un espace blanc important, que ce soit horizontale-ment (entre deux mots) ou verticalement (entre deux lignes), il est vain dintroduire plusieursespaces ou retours la ligne dans le source. Ceci est une bonne chose, car cest une assez mauvaisehabitude (mme lorsquon utilise un traitement de texte classique) de procder ainsi pour rglerlespacement. Il est bien plus naturel de spcier la longueur de lespace laisser blanc dans lunitde son choix.

    \hspace{longueur}\vspace{longueur}Pour cela, LATEX propose les commandes \hspace et \vspace qui ont exactement la mme syn-

    taxe, et servent comme leur nom lindique insrer de lespace respectivement horizontalement etverticalement. On utilise ainsi \hspace{3cm} pour laisser un blanc horizontal de centimtres,plutt que dessayer de le reproduire avec plusieurs espaces successifs. Les deux peuvent sutiliser nimporte quel endroit du texte, mais \vspace est surtout utile entre deux paragraphes : au seindun paragraphe, son eet est parfois trange.En LATEX comme en physique, une longueur est un nombre suivi dune unit. Ici, nombre signie

    nombre dcimal , et le sparateur dcimal (la virgule ) est le point : la moiti de scrit 2.5.Les units disponibles sont nombreuses, citons seulement pour le moment les units mtriques

    mm et cm, lunit anglo-saxonne in (pouce), les units (typo-)graphiques pt et bp (deux dnitionsdirentes du point) et enn deux units relatives : ex et em. Ces dernires dpendent la fontecourante (et en particulier de sa taille) : un ex est approximativement la hauteur dun x mi-nuscule, et un em la largeur dun M majuscule. Elles sont commodes pour obtenir des espacesproportionnelles la taille dun mot ou la hauteur dune ligne.Les distances ngatives sont autorises et servent resserrer deux lments, voire crer des

    eets de surimpression si lon resserre trop. . .

    Normalement, les espaces introduits par \hspace et \vspace disparaissent sils se trouvent endbut ou n de page ou de ligne et cest la plupart du temps une bonne chose. Quand on veutvraiment laisser un espace blanc un de ces endroits, il faut utiliser \hspace* ou \vspace* : parexemple, \vspace*{10cm} juste aprs le dbut du document laisse un espace de centimtres(en plus de la marge) en haut de la premire page.On dcouvre sur cet exemple un nouvel lment de la syntaxe de LATEX : certaines commandes

    peuvent tre suivies dune toile qui modie leur comportement. Dans ce cours, \commande. La liste complte des units que connat TEX, avec leur valeur, est donne par la table . si vous y tenez.. Le premier vaut /, pouces, le second / pouces. Le pt est lunit utilise par LATEX pour mesurer par

    exemple les tailles de fontes ; le bp est la dnition du point utilise par la plupart des logiciels graphiques pourmesurerles images.

    c-texte.tex r --

  • Le mode texte r --

    dsignera toujours une commande qui peut tre suivie dune toile optionnelle. On dira que\commande* est la version toile de \commande.

    On ne contrle dhabitude pas les changements de ligne ni les changements de page : LATEXsoccupe de calculer leurs emplacements optimaux. Si on souhaite forcer un retour la ligne, onpourra la faire avec la commande \newline ou \\. Dans certains contextes (texte centr), seul \\fonctionnera. Ces deux commandes sont utiliser avec une grande parcimonie : on a tendance les utiliser tort et travers quand on dbute, alors quelles sont en fait assez rarement utiles.La plupart du temps, soit le retour la ligne est automatique (dbut de liste, de formule hors-texte, etc.) soit on veut en fait changer de paragraphe (ce qui se fait en laissant une ligne vide dansle source.) Un des cas o lusage de \\ se justie toutefois est dans un court texte centr si lonsouhaite dcider des coupures de ligne pour obtenir une forme de paragraphe quilibre.Il est galement peu frquent de devoir imposer les coupures de pages la main. Pour les rares

    cas o cela sera utile, il existe les commandes \newpage, \clearpage et \pagebreak. Les deuxpremires laissent un espace blanc la n de la page, alors que la troisime tente de prserverlalignement en bas. La dirence entre les deux premires est plus subtile ; en gnral, utilisez\clearpage, ou encore nutilisez aucune des trois, car elles ne sont pas souvent utiles.

    \stretch{force}Il existe en LATEX des longueurs spciales, qui peuvent stirer en fonction de lespace disponible

    sur la page. La faon la plus simple dy accder est dutiliser la commande \stretch, par exempledans largument de \vspace : lespace ainsi obtenu stirera alors autant que possible, poussantvers le bas de la page tout ce qui le suit. Si plusieurs espaces lastiques sont prsents sur unemmepage, ils se partageront lespace disponible de faon proportionnelle leur force. Ceci est pratiquepour placer par exemple un texte au tiers de la page : on insre \vspace*{\stretch{1}} avantet \vspace*{\stretch{2}} aprs. Pour des exemples, voir les exercices et notamment le .

    . En fait, \clearpage force LATEX placer immdiatement tous les ottants en attente (voir section .. pour lanotion de ottant).

    c-texte.tex r --

  • Structure du document

    Mme si, une fois imprim sur du papier, un document a globalement une structure linaire(dans le sens o on peut le lire dans lordre de la premire la dernires page), la structure logiquedu document est souvent bien plus complexe : on a en gnral une structure arborescente enchapitres, sections, sous-sections, etc., voire des morceaux de texte spars comme des annexesou des notes, auxquelles il est fait rfrence dans le corps du texte. Ce chapitre prsente les outilsproposs par LATEX pour grer ces structures : ils sont en gnral assez puissants dans le sens o onobtient beaucoup avec peu de commandes, et sans avoir se soucier de dtails comme maintenir jour la numrotation.

    . Classes de documents

    Une classe de document est quelque chose que lon peut passer comme argument principal dela commande \documentclass prsent au dbut de chaque source LATEX. Nous connaissons pourlinstant la classe minimal (source .) que lon nutilise en pratique jamais, et la classe article(source .) qui est la plus courante pour des documents pas trop longs. Les deux autres classesstandard sont report, prvue pour des documents un peu plus longs (quelques dizaines de pages),et la classe book, qui convient pour raliser des livres complets.La classe de document dtermine certains aspects de lapparence du document, comme la pr-

    sence ou non du numro de page (absent avec minimal, prsent avec toutes les autres) et sa place(centr en bas de page, sur un ct en en-tte, etc.), la prsence ou non den-ttes de pages. . . Parailleurs, elle dtermine en partie les commandes de sectionnement disponibles.Chaque classe de document accepte une ou plusieurs options, que lonmet toutes entre crochets,

    spares par des virgules, entre le \documentclass et le nom de la classe entre accolades. Vousconnaissez dj les options a4paper, 10pt, 11pt et 12pt.Je nen dis pas plus pour linstant sur les particularits des classes et les options disponibles :

    elles seront prsentes au fur et mesure tout au long de ce chapitre.

    . Notes

    .. Notes marginales

    \marginpar{note}La faon la plus simple de placer une note dans lamarge est dutiliser la commande \marginpar, Ceci est un

    exemple de notemarginale.

    qui prend en argument le texte placer dans la marge. On peut lutiliser dans le cours du texteou entre deux paragraphes. La note sera place peu prs la mme hauteur que la commandedans le texte : LATEX a la possibilit de la dplacer un peu pour viter des problmes, par exemplesi plusieurs notes se suivent, ou quon est trop prs du bas de la page pour placer le texte en entier.

    c-struct.tex r --

  • Structure du document r --

    Signalons de suite un problme courant avec les notes marginales : lalignement. En eet, parCeci est unexemple de notemarginale.

    dfaut le texte de la note est justi droite et gauche (voir .), ce qui pose souvent problmevu la faible largeur de la marge : certains espaces sont dmesurment tirs comme dans lexempleci-contre, ce qui est assezmoche, et fait dailleurs grincher LATEX, qui mettra desmessages comme

    Underfull \hbox (badness 10000) in paragraph at lines 35--35[]\EU1/MinionPro(0)/m/n/10.95 Ceci est un

    o le numro la n de la premire ligne du message indique la n du \marginpar incrimindans le source, et le texte la n de la deuxime ligne (ici Ceci est un ) est le texte prsentsur la ligne mal remplie. (Voir aussi la section ...)Ce problme admet une solution simple : il sut de demander LATEX daligner gauche le

    texte de la note, comme il a t fait dans le premier exemple de cette section. Pour cela, le plussimple est dinsrer la commande \raggedright au dbut du texte de la note ; il sagit dun cas ola commande est plus pratique que lenvironnement. Leet de la commande est automatiquementlimit la note et ne se propagera pas au reste du texte.

    Par dfaut, les notesmarginales se trouvent dans lamarge de droite. On peut inverser le ct d