latex2e - un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · latex2e didier verna...

67
LAT E X2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local Graphiques Mathématiques Générer du PDF En vrac Grands débats L A T E X2e Un tour d’horizon Didier Verna [email protected] http://www.lrde.epita.fr/˜didier 1/78

Upload: others

Post on 17-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

LATEX2eUn tour d’horizon

Didier Verna

[email protected]://www.lrde.epita.fr/˜didier

1/78

Page 2: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Table des matières

1 Introduction

2 Principes fondamentaux

3 Classes et Styles

4 Internationalisation (i18n)

5 Contrôle global de la mise en forme

6 Contrôle local de la mise en forme

7 Graphiques

8 Mathématiques

9 Générer du PDF

10 En vrac

11 Grands débats

2/78

Page 3: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

TEX

Description: système de mise en forme typographiqueDonald Knuth, 1977Motivation: écriture de“The Art of Computer Programming”Version actuelle: 3.14159 (converge vers π)Statut: 1982I Quelques améliorations de 1989 (internationalisation)I Extensions: ε-TEX, X ETEX, LuaTEX

Prononciation: “τεχ”Typographie: (ASCII) TeX

4/78

Page 4: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

LATEX

Description: bibliothèque de macrosLeslie Lamport, début 80Caractéristique: surcouche de TEXMotivation: couche logique au dessus de TEX(couche physique)Prononciation: “léï-τεχ” ou “la-τεχ”Typographie: (ASCII) LaTeX

5/78

Page 5: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Caractéristiques distinctives (TEX et LATEX)

Édition mathématiqueRendu visuelCompilateur plutôt que “traitement de texte”

6/78

Page 6: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Quelques dates (I)

1436: Imprimerie (Gutenberg)1690: Alphabet Royal (Louis XIV)1977: TEX(Donald Knuth)1979: “TEX And METAFONT: New Directions In Typesetting”(Donald Knuth)1983: Premier manuel pour LATEX (Leslie Lamport)1984: “The TEXbook” (Donald Knuth)1984: LATEX 2.06a1985: BIBTEX 0.981985: LATEX 2.09 (dernière version de Leslie Lamport)

7/78

Page 7: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Quelques dates (II)

1985: “LATEX, A Document Preparation System”(le “Lamport”)1988: makeindex1989: LATEX3 (Frank Mittelbach)1990: AMS-LATEX 1.1(port d’AMS-TEX vers LATEX 2.09)1994: LATEX 2ε

1994: “The LATEX Companion”1994: Deuxième édition du “Lamport”1995: AMS-LATEX 1.2 (port vers LATEX 2ε )2004: Deuxième édition du “LATEX Companion”xxxx: LATEX3

8/78

Page 8: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Obtenir LATEX

TEX et LATEX sont des logiciels libresTEX (et donc LATEX) est extrêmement portable

TEXLive: multi-plateforme, standard de factoNote: TEXLive 2019 est sortie le 29 Avril. . .MikTEX: WindowsMac-TEX: MacOS, basée sur TEXLiveTeTEX obsolète (plus maintenue)

Ne pas confondre “distribution” et installateur / package (ex.TEXLive pour Debian, MacPorts / Fink / gwTEX / i-Installer pourMac OS-X etc.)

9/78

Page 9: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Documentation

Livres:I LATEX, A Document Preparation SystemI The LATEX [web|graphics] companionI Guide to LATEXI LATEX par la pratique

Ressources publiques:I The Not So Short Introduction To LATEX 2εI latex-project.orgI google . . .

Et bien sur:I The Comprehensive TEX Archive Network

ctan.org

10/78

Page 10: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Organisation du sourceTexte, commentaires, commandes et environnements

\documentclass[12pt]{article}

%% Preambule du document\usepackage[french]{babel} %% <-- commande

\begin{document} %% <-- debut d’environnement%% Corps du documentPetit, mais costaud.\end{document} %% <-- fin d’environnement

%% Tout le reste est abandonne

Commandes: \ suivi d’une ou plusieurs lettres (\TeX), oud’un seul caractère non alphabétique (\’)Arguments: spécifiés entre accolades(\section{Introduction})Options: premier argument entre crochets(\usepackage[T1]{fontenc})

12/78

Page 11: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Subtilités syntaxiquesSans ça, on s’ennuierait. . .

Plusieurs caractères blancs↔ un seul caractère blancLigne blanche↔ changement de paragrapheCaractères spéciaux (échappés par \):# $ % ^ & _ {} ~

Exception: \ ($\backslash$). \\ = nouvelle ligneCommentaires: % jusqu’à la fin de ligne / prochain caractèrenon blancLes espaces après les commandes sont “mangés” par TEX.Utiliser des accolades ou des commandes spécialesd’insertion d’espace.

13/78

Page 12: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

ExemplesPour être tout à fait clair

Le nombre d’espaces ne comptepas dans le source.

Voici un commentaire. % stupide,% mais utileLes utili%

sateurs de \TeX{} entrentdans trois groupes:les \TeX{}niciens, les \TeX perts,et les autres\ldots\\

Le nombre d’espaces necompte pas dans le source.Voici un commentaire. Lesutilisateurs de TEX entrentdans trois groupes: lesTEXniciens, les TEXperts, etles autres. . .

\^o, \c c, \oe, \AE, \"\i ô, ç, œ, Æ, ï

14/78

Page 13: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Chaîne de compilationVive l’automatisation !

fichier.ps

latex

...xdvidvips

lpr ...

fichier.tex

fichier.dvifichier.aux fichier.log

15/78

Page 14: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Choisir les fonctionnalitésClasses et paquetages

Structuration fondamentale: classe de document\documentclass[11pt,a4paper]{article}[1994/06/01]

I Classes standard: article, report, book et letter

Fonctionnalités annexes: paquetages spécifiques\usepackage[french]{babel}[2001/03/01]

Version minimum: optionnelleOptions: standard à LATEX, à la classe, ou spécifiques aupaquetagePropagation des options passées à \documentclass

17/78

Page 15: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Classe letterUne classe à part

Déclarations globales:I \signature{}, \address{} (séparer les lignes par des \\)I Selon le style: \name{}, \location{} et \telephone{}

Environnement letter:\begin{letter}{Jacques Chirac}

\opening{Monsieur le President}Putain, deux ans !%% blah blah blah blah ...\closing{Cordialement,}

\end{letter}

18/78

Page 16: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Classes article, report, et bookDes classes voisines

Commandes communes:I Déclarations globales: \title{}, \author{} (\and),

\date{} (\today)I Titre: \maketitleI Abstract: environnement abstractI Sections: \chapter{} (sauf article), \section{},

\subsection{}, \subsubsection{}, \paragraph{},\subparagraph{}

I \part{}, \appendix\section*{Pas de numero, pas d’entree dans la TOC}\section[Titre pour la TOC]{Titre pour le texte}

Commandes spécifiques:I Classe book: \frontmatter, \mainmatter, \backmatter

19/78

Page 17: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Table des matièresAttention: 2 passes de LATEX nécessaires !!

\tableofcontents

1ère passe

latex

fichier.tex

fichier.aux fichier.toc

fichier.dvi

2ème passe

20/78

Page 18: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Internationalisation (i18n)Documents non anglo-saxons, voire polyglottes

Les enjeux:Adapter le contenu généré automatiquement (nom dessections, table des matières, bibliographie, index. . . )Adapter les règles de césureAdapter les conventions typographiquesChanger les jeux de caractères utilisés dans le sourceChanger leur encodage

22/78

Page 19: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

CésureOn va s’en tiret. . .

Règles: dépendantes du langage courantAutomatique a prioriExplicite:I Déclaration globale: \hyphenation

\hyphenation{blah-blih-bloh-bluh FORTRAN}

I Caractères spéciaux: interditsI Déclaration en-ligne: \-

bl\ae h\-bl\oe h\-bl\"uh

23/78

Page 20: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

PhraséPremier exemple de convention typographique

Espace supplémentaire en fin de chaque phraseUne phrase est terminée par un point (d’exclamation /interrogation)Exception: une majuscule suivie d’un point (acronymes)\@: devant un point, indique que ce point termine une phrase\frenchspacing: supprime l’espace supplémentaire en finde phrase

Call him Mister X.That will have to do.\\Call him Mister X\@.That will have to do.

Call him Mister X. That willhave to do.Call him Mister X. That willhave to do.

24/78

Page 21: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Autres conventions typographiquesPourquoi les respecter ?

Points de suspension: \ldotsEmphase: \emph{} ou {\em ...}, paquetage ulem

Guillemets: ne pas utiliser ", mais `` et ´´Tirets: - (hyphen), -- (en-dash) et --- (em-dash), $-$(“moins” mathématique)

25/78

Page 22: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

ExemplesParce que c’est plus zoli !

... ou \ldots ... ou . . .

Ceci est \emph{très} important. Ceci est très important.

Here are some ‘‘quotation marks’’.Here are some “quotationmarks”.

Edwige de Saint-Glin-Glin\\pages 13--27\\--- Bonjour !\\--- Salut ça va ?

Edwige de Saint-Glin-Glinpages 13–27— Bonjour !— Salut ça va ?

26/78

Page 23: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

BabelGestion automatique de l’i18n (sauf encodage), très nombreuses langues

\usepackage[french, ...]{babel}\selectlanguage{french}

Commandes additionnelles pour le français:Abréviations: \up{}, \ier, \iere, \ieres, \ieme,\iemes

Nombres: \No, \no, \nombre{} (Cf. numprint)Degrés: \degresCapitalisation: \bscAutres: \og, \fg

27/78

Page 24: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

ExemplesC’est quand même bien pratique. . .

M\up{me}, 1\ier, 1\iere, Mme, 1er, 1re,

2\ieme{} \emph{etc}\\\No 1, \no 2, et\nombre{1294,9546}\\30\degres, enfin, 30~\degres C,c’est chaud.\\

2e etcNo 1, no 2, et 1 294,954 630˚, enfin, 30 ˚C, c’est chaud.

M. et M\up{me} \bsc{Froid}ont sept enfants\ldots\\

M. et Mme FROID ont septenfants. . .

\og guillemets\fg “guillemets”

28/78

Page 25: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

InputEncEt si on pouvait taper un é directement ?

\usepackage[encoding]{inputenc}\inputencoding{encoding}

Déclare l’encodage utilisé dans le sourceencoding: latin1 (Unix), applemac (Mac), ansinew(Windows), cp850 (DOS, OS/2) etc.utf8 (Unicode)

29/78

Page 26: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

FontEncEncodage des fontes

Problème:Fontes originelles TEX CM (Computer Modern): ASCIITEX rajoute les accents au dessus des caractères de base. . .. . . mais ça casse le mécanisme de césure

Solution:\usepackage[T1]{fontenc}

Utilisation des fontes EC (Extended Cork)Même apparence que les fontes CM, avec les caractèresaccentués en plusPlus de problème de césure

30/78

Page 27: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Choix des fontesBienvenue dans la jungle

Standard:I Fontes CM puis EC (pas complètement équivalents)I Paquetage: lmodern (2003, tentative de réunification)I Paquetage: textcomp (symboles divers et variés)

PSNFSS:I Fontes PostScript (niveau 2)I Roman + maths: paquetages mathptmx (Times), mathpazo

(Palatino)I Sans Serif: helvet, avantI Typewriter: courierI Paquetage: pifont (symboles divers et variés)

etc.

31/78

Page 28: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

ExemplesChoisissez, mais vite. . .

Roman:I Voici du texte en TimesI Voici du texte en PalatinoI Voici du texte en Zapf Chancery

Sans Serif:I Voici du texte en HelveticaI Voici du texte en Avant Garde

Symboles:I ςοιχι δυ τεξτε εν Σψµβολ

I Voici du texte en Zapf Dingbats

Ligatures dans les polices romanes:ff, fi, fl, ffi\\f{}f, f{}i, f{}l, f{}f{}i

ff, fi, fl, ffiff, fi, fl, ffi

32/78

Page 29: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

La question à 0.5eÀ mort la technique officielle de textcomp !

Paquetage: eurosym (symbole propre en METAFONT)I Description officielle de la C.E.E.I \euro: \officialeuro (e, défaut), \geneuro (AC),

\geneuronarrow (BC) et \geneurowide (CC)I \EUR{}: montants numériques avec placement du symbole

(2.35e)I Ne rend pas toujours bien dans toutes les polices. . .

Paquetage: europs (fontes d’Adobe, Postscript Type 1)I Adaptation du symbole utilisé en fonction de la police courante

33/78

Page 30: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Géométrie et disposition textuelleDeux notions pas si indépendantes que ça

Géométrie:I Options: 10pt (défaut), 11pt, 12ptI Options: a4paper, a5paper, letterpaper (défaut) . . .I Options: portrait (défaut), landscapeI Options: oneside, twosideI Paquetages: a4, a4wide (buggué !), mais surtout geometry

Disposition:I Options: titlepage, notitlepageI Options: onecolumn (défaut), twocolumnI Options: openright, openanyI Paquetage: multicol (nombre de colonnes variable)I Identation:

• Automatique (sauf le premier paragraphe)• Paquetage: indentfirst (indentation du premier paragraphe)

35/78

Page 31: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

En-têtes et pieds de pageNe pas confondre “pied de page” et “bas de page”

\pagestyle{<style>}\thispagestyle{<style>}

Styles prédéfinis:I plain (défaut): numéro de page en bas au milieuI empty: en-têtes et pieds de page videsI headings: nom de chapitre et numéro de page en en-tête

Paquetage: fancyhdr (contrôle poussé du formattage)

36/78

Page 32: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Notes en tout genreL’abus de notes est dangereux pour la lisibilité

Notes de bas de page: \footnote{}I à utiliser avec parcimonie (lecture non linéaire)I à insérer juste après le mot concerné, ou après la ponctuation

(pour des {morceaux de} phrases)I Paquetage: footmisc (différents styles de notes de bas de

page)

Notes de marge: \marginpar{}I à utiliser avec parcimonie (même raison)

Paquetages:I endnotes: regroupement de notes en fin de documentI fn2end: (incompatible avec endnotes) transformation des

“footnotes” en “endnotes”

38/78

Page 33: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Listes<trouver un sous-titre marrant à mettre ici>

Environnements: itemize, enumerate, descriptionCommande: \item[]Argument optionnel: changement du préfixeEnvironnements imbriquables

\begin{enumerate}\item Number 1\item Number 2\begin{itemize}\item Item 1\item[-] Item 2\end{itemize}

\end{enumerate}

1. Number 1

2. Number 2

• Item 1- Item 2

Paquetage: enumerate (ajustement du style de compteur)Paquetage: expdlist (contrôle sur l’environnementdescription)

39/78

Page 34: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

CitationsNe pas confondre avec les citations bibliographiques

Paragraphes plus étroitsCitations courtes: environnement quoteCitation longues (plusieurs paragraphes): environnementquotation

Poèmes (vers séparés par \\): environnement verse

\begin{verse}A la montagne je suis yaller pour m’amuser\\Et dans la neige je m’aivautrer et j’ai sauter\end{verse}

A la montagne jesuis y aller pourm’amuser

Et dans la neige jem’ai vautrer etj’ai sauter

40/78

Page 35: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

VerbatimTexte “tel-quel”

Version courte: \verb+texte+Délimiteur: tout sauf * et <espace>Version longue: environnement verbatimStarification: soulignement des espaces

\verb|\verb+texte+|

\begin{verbatim*}\LaTeX, ca poutre.\ est une commande.\end{verbatim*}

\verb+texte+

\LaTeX, ca poutre.\ est une commande.

Paquetages: alltt, verbatim, moreverb

41/78

Page 36: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Contrôle de l’espacementL’abus d’espace est dangereux pour la santé

Nouveau paragraphe: \par ou (rappel) ligne videGroupements insécables:I Espace: ~ (taille fixe)I Boîte: \mbox{} (\mbox{01 44 08 01 85},

\mbox{filename})

Quand ça se passe mal: à faire en dernier !!I Environnement sloppypar, commande \sloppyI Changements de ligne:

• \linebreak[n], \nolinebreak[n]• \newline, \\: désactivent la justification• \\*: empêche un changement de page

I Changements de page:• \pagebreak[n], \nopagebreak[n]• \newpage: désactive la justification verticale• \clearpage, \cleardoublepage: flushage des flottants

I Niveau de requête: n ∈ [0,4]

42/78

Page 37: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Tableaux ManuelsAh ! Nos bonnes vieilles machines à écrire. . .

\begin{tabbing} ... \end{tabbing}

\=: défini un point de tabulation, \>: l’utilise\\ change de ligne, \kill “tue” la ligne courante

\begin{tabbing}\EUR{1} \= 6,55957 \= F\\\EUR{15} \> 98,39355 \> F\\

\end{tabbing}

1e 6,55957 F15e98,39355F

\begin{tabbing}\EUR{15} \= 98,39355 \= F\kill\EUR{1} \> 6,55957 \> F\\\EUR{15} \> 98,39355 \> F\\

\end{tabbing}

1e 6,55957 F15e 98,39355 F

44/78

Page 38: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Tableaux AutomatiquesPlus puissants, plus compliqués

\begin{tabular}[pos]{spec} ... \end{tabular}

pos (t, b ou c): alignement du tableau par rapport au texteadjacentspec: format du tableauI Colonnes: l, r, c ou p{width}I Ligne verticale: |I Séparateur de colonnes: (alternatif) @{}

Dans le corps du tableau:I Changement de colonne / ligne: & / \\I Lignes horizontales: \hline, \cline{num-num},

paquetage hhlineI Texte multi-colonnes:

\multicolumn{num}{format}{text}

Paquetages: array, tabularx, supertab, longtable,ltxtable

45/78

Page 39: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Exemple. . . qui résume à peu près tout

\begin{tabular}{|c|r@{,}lc|}\hline\multicolumn{4}{|c|}{%Table de conversion}\\

\hline\hline\EUR{1} & 6 & 55957 & F\\\EUR{15} & 98 & 39355 & F\\\hline\multicolumn{1}{c|}{}& 104 & 95312 & F\\\cline{2-4}

\end{tabular}

Table de conversion1e 6,55957 F

15e 98,39355 F104,95312 F

Paquetage: dcolumn (colonne de type D pour l’alignementdécimal)

46/78

Page 40: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Autres GraphiquesAttention aux formats

Inline: PGF/Tikz, environnement picture, paquetages[e]epic . . .Dédiés: paquetages curves, ecltree, bar, hetarom . . .Langage-dépendants: pstricks, pdftricks (appel à lacommande \special pour de l’inclusion directe dans lelangage cible)Externes: XFig, Dia, InkScape, OpenOffice, Gimp. . .Conversion: fig2dev, convert (ImageMagick), xv . . .Inclusion:\usepackage{graphicx}

\includegraphics[width=.5\linewidth]{pict}

47/78

Page 41: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

FlottantsPlacement automatique de contenu insécable

Environnements (identiques): figure et table\begin{figure}[placement] ... \end{figure}

Placement ([tbp] par défaut): séquence de suggestionspar ordre de priorité. h (“here”), t (“top”), b (“bottom”), p(“page”), et ! (“même si ce n’est pas joli”)Stockage des flottants dans des files d’attente FIFO (donc unflottant peut gêner le placement de toute la file)Ne jamais utiliser [h] !Paquetages: float, subfigure, ntheorem,algorithms, listings

48/78

Page 42: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Légende et référencementLe référencement n’est pas limité aux flottants

\caption[court]{long} %% <court>: pour la liste des figures

Commandes “fragiles”: ne passent pas bien dans leslégendes ou les titres de sections (i.e. \footnote)Protection: \protect (\protect\footnote{...})Paquetage: caption

\label{<marker>}\ref{<marker>}\pageref{<marker>}

\label{lbl}: marqueur (section, figure, table etc.)\ref{lbl}: numéro de compteur correspondant\pageref{lbl}: numéro de page correspondantPaquetages: varioref, lastpage.

49/78

Page 43: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

ExempleAttention à l’ordre des commandes !

\begin{figure}\centering%% \includegraphics{pict}%% \begin / \end{tabular}%% etc.Bla bla bla\caption{Pict One}\label{fig:pict1}

\end{figure}

Bla bla bla

Figure: Pict One

caption doit précéder \label

La figure \ref{fig:pict1}se trouve en page\pageref{fig:pict1}.

La figure 1 se trouve en page43.

50/78

Page 44: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Liste des flottantsAttention: 2 voire 3 passes de LATEX nécessaires !!

\listoffigures et \listoftables

1ère passe

latex

fichier.tex

fichier.lof fichier.lot

fichier.dvi

2ème passe

1ère passe

2ème passe

51/78

Page 45: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

MathématiquesConventions typographiques différentes⇒ mode spécifique

Mode mathématique “court”:environnement math, \( ... \) ou $ ... $

Mode mathématique “long”:environnement displaymath, \[ ... \]

Équations: environnement equation, options (standard)fleqn, leqnoPaquetage: amsmath (incontournable, symboles etconstructions supplémentaires)Autres paquetages: stmaryrd, qsymbols, equation,eqnarray, subeqnarray

53/78

Page 46: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

SymbolesIl y en a trop pour les citer tous

Lettres grecques: \alpha \beta, \gamma, \Gamma . . .Opérateurs binaires: \oplus, \otimes, \times . . .Relations binaires: \leq, \geq, \subset, \in . . .Flèches: \leftarrow, \Rightarrow,\Longleftrightarrow . . .Symboles: \forall, \exists, \emptyset, \neg . . .Symboles de taille variable: \sum, \prod, \int . . .Noms de fonctions: \cos, \exp, \limsup . . .Texte normal: \textrm{}Accents: \tilde{}, \grave{}, \acute{} . . .Vrais espaces: utiliser \!, \,, \:, \;, \quad et \qquad

54/78

Page 47: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

ExemplesContemplez-moi la qualité du rendu. . .

$\alpha\q\beta\q\gamma\q\Gamma\\\forall\q\exists\q\emptyset\q\neg$

α β γ Γ

∀ ∃ /0 ¬

$\oplus\q\otimes\q\times\q\div\\\leq\q\geq\q\neq\q\subset\q\in\\\leftarrow\q\Longleftrightarrow$

⊕ ⊗ × ÷≤ ≥ 6= ⊂ ∈← ⇐⇒

$\sum\q\prod\q\bigcup\q\bigcap\q\int$ ∑ ∏

⋃ ⋂ ∫

$\cos\q\exp\q\limsup$ cos exp limsup

55/78

Page 48: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Constructions mathématiquesPlus simple qu’on pourrait le croire

Exposants et indices: ^{} et _{}Superposition: \widetilde{}, \overline{},\overbrace{}, \overrightarrow{} . . .Divers: \sqrt[]{}, \frac{}{}, \cdots . . .

$A = x_{1}^{2} + y_{1}^{2}\\\widetilde{abc}\q\overline{abc}\q\overbrace{abc}\q\overrightarrow{abc}\\\sqrt[3]{abc}\q\frac{abc}{def}$

A = x21 + y2

1

abc abc︷︸︸︷abc

−→abc

3√

abc abcdef

$\underbrace{u_0+\cdots+u_n}_{n+1 \textrm{\small~termes}}$

u0 + · · ·+un︸ ︷︷ ︸n+1 termes

56/78

Page 49: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Constructions supplémentaires (AMS-LATEX)Incontournable (je l’ai déjà dit ?)

Intégrales multiples: \iint, \iiint . . . et \limitsGrands vecteurs: \overrightarrow,\underrightarrow . . .Grandes flèches: \xleftarrow[]{},\xrightarrow[]{}

$\iint_{-\infty}^{+\infty}f(x)\neq\iint\limits_{-\infty}^{+\infty}f(x)$

∫∫+∞

−∞f (x) 6=

+∞∫∫−∞

f (x)

\[\overrightarrow{A_{i,j} B_{j,k}}\]−−−−→Ai,jBj,k

\[A\xrightarrow[below]{above}B\] A above−−−→below

B

57/78

Page 50: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Disposition textuelleAucun changement dans le code mathématique

$\lim_{x\rightarrow+\infty}f(x)= \sum_{i=0}^{n}u_i$ limx→+∞ f (x) = ∑

ni=0 ui

\[\lim_{x\rightarrow+\infty}f(x)= \sum_{i=0}^{n}u_i\] lim

x→+∞f (x) =

n

∑i=0

ui

\displaystyle: style “équation”, mais en ligneCommandes similaires: \textstyle, \scriptstyle et\scriptscriptstyle

58/78

Page 51: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

DélimiteursUne question à ne pas mettre entre parenthèses

Syntaxe:\left <delim> ... \right <delim>

Délimiteurs: (, ), \{, \}, |, \| . . .Présence obligatoire des deux délimiteursUtiliser un point pour un délimiteur vide

\[f(x) =\left(\sum_{i=0}^{n}u_i(y)\right)(z)\] f (x) =

(n

∑i=0

ui(y)

)(z)

59/78

Page 52: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Matrice = tableaux + délimiteursRien de plus facile

\[A =\left\llbracket\begin{array}{ccc}

a_{11} & \cdots & a_{1n}\\\cdots & \cdots & \cdots\\a_{n1} & \cdots & a_{nn}\\

\end{array}\right\rrbracket\]

A =

u

va11 · · · a1n· · · · · · · · ·an1 · · · ann

}

~

Suppléments AMS-LATEX:environnements case, matrix . . .Paquetage: vector (vecteurs automatiques)

$(\rvec{x}{1}{5})\\(\irvec{x})$

(x1,x2,x3,x4,x5)(x1, . . . ,xn)

60/78

Page 53: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Alphabets mathématiquesCaractères curvilignes, à double barre etc.

Commandes \math*: cal, bb, rm, bf, sf et tt

$ABC\\\mathcal{ABC}\;\mathbb{ABC}\\\mathrm{ABC}\;\mathbf{ABC}\\\mathsf{ABC}\;\mathtt{ABC}$

ABCA BC ABCABC ABCABC ABC

61/78

Page 54: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Mais pourquoi ?

PortableDe plus en plus répanduPlus compact que PostScriptPermet la recherche dans le textePermet la navigation (hyper-liens)Permet de conserver la qualité de rendu typographique deLATEX

63/78

Page 55: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Deux approchesApproche directe / indirecte

\pdfoutput=0

latex pdflatex

dvips

fichier.ps

dvipdf

pdf2ps

ps2pdf

fichier.tex

fichier.dvi fichier.pdf

64/78

Page 56: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Laquelle choisir ? (1/2)

Spécificités de l’approche directe:I pdflatex et latex ne produisent pas nécessairement des

résultats complètement identiques,I Pas de spécialisation possible (code cible) des documents,I Compilation séparée souvent nécessaire,I Temps de compilation plus longs.

Contre la conversion PDF ⇒ PS:I Problèmes éventuels avec des imprimantes PostScript niveau

1 ou 2.I Perte de l’élégance de PostScript (Turing-complet) vers PDF

(non Turing-complet). Mais c’est inévitable.I Par contre, PDF accepte METAPOST.

Contre la conversion PS ⇒ PDF:I La conversion EPS⇒ PDF n’est pas triviale; il est conseillé de

le faire le plus tôt possible (donc approche directe).

65/78

Page 57: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Laquelle choisir ? (2/2)

Pour la conversion PDF ⇒ PS:I Certaines informations (internes à TEX) disparaissent dans les

DVI alors qu’elles seraient utiles dans le PDF (??). Mais ilsemble qu’hyperref résolve la plupart de ces problèmes.

I dvips utilise une grille de rasterisation⇒ problèmes dechangement d’échelle. dvipsone (commercial) produit du vrai“scalable PostScript”.

Divers:I Il existe plus d’outils liés à PostScript qu’à PDF encore

aujourd’hui.I Le temps de rendu de PDF est plus prévisible que celui de

PostScript⇒ les opérateurs professionnels préfèrent duPostScript “plat”.

66/78

Page 58: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Fontes en PDF

Les fontes standard LATEX (PK) produisent des résultatsabominables. Utiliser plutôt des fontes PostScript Type 1. . .. . . mais il n’existe pas d’implémentation libre des fontes EC(Extended Cork) en PostScript Type 1.I Le paquetage aeguill: déclenche l’utilisation des fontes

virtuelles AE. Attention: la fonction find d’Acrobat Reader nemarche pas.

I Autres fontes PostScript Type 1:• pxfonts: basés sur palatino.• txfonts: basés sur times.

67/78

Page 59: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Graphiques en PDF

PDF ne supporte pas les figures en PostScript encapsulé(EPS)Lui fournir (entre autres) du PDF ou du JPEGeps2pdf fait ce que son nom indiqueInclusion de graphiques:\usepackage[pdftex]{graphicx}

Le driver peut être omis dans la plupart des installationsmodernes (il est détecté automatiquement)Portabilité:\includegraphics{<file>}

Ne pas spécifier d’extension (la version correcte sera choisieen fonction)

68/78

Page 60: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

hyperref

\usepackage[pdftex]{hyperref} %% driver optional

Gestion automatique des bookmarks, des mot-clés etgénération automatique d’hyper-liens (références, index,sections. . . )Nouvelles commandes:I \href{<url>}{<text>}: hyper-lien expliciteI \texorpdfstring{<TeX text>}{<bookmark text>}:

pour éviter les problèmes de rendu des bookmarks

Utilisable également avec latex

69/78

Page 61: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Compilation conditionnelle

\usepackage{ifpdf}

\ifpdf%% PDF Stuff

\else%% PS stuff

\fi

Exemple:PDF demande la taille physique du support (automatiqueavec hyperref):\pdfpagewidth=\paperwidth\pdfpageheight=\paperheight

70/78

Page 62: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Autres classes de documentsServez-vous !

Transparents:I slides (standard), seminar, foilsI Animation: [ha]-prosper, pdfscreen, texpower et

surtout beamerI Outils externes: advi, PPower4I Un comparatif

Examens:I examI QCM

Curricula Vitae:I currvita, esieecvI CurVe

etc.

72/78

Page 63: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Aide au développementLATEX, ça peut se débuguer. . .

Options standard:I draft, final (défaut)

Paquetages:I showkeys, draftcopy, changebarsI FiXme

Programmes:I texi2dvi, latexmkI texdocI kpsewhich

etc.

73/78

Page 64: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Grands débatsLATEX: amour et haine. . .

Erreurs de Design:I \section*{Not in the TOC :-(}I Internationalisation des styles BIBTEX

Inconsistances de TEX:I \inputI \hskip, glue TEX et \relax

Les macros ne sont pas des fonctions !!I \@ifnextcharI \if ... \else ... \fi, \yes et \no, \iftrue et

\iffalse

75/78

Page 65: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Word ou LATEX?Les arguments idiots

“Word, un gamin peut l’utiliser”Faux. Un gamin peut aussi utiliser LATEX. Mais un gaminutilisera Word et LATEX comme un gamin.“Word, déjà, c’est WYSIWYG”Faux. Word est WYSIMOLWYG, ou plutôt WYSIUNWYG. Etil existe des éditeurs WYSIWYG pour LATEX.“LATEX, c’est pas stable avec tous ces paquetages”.Vrai. Mais Word non plus (chargez voire un document Word3 dans Word 7).“Word peut faire ci, LATEX peut faire ça. . . ”Ce ne sont pas les questions importantes.

76/78

Page 66: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Word ou LATEX?Les arguments intelligents

Grammaire: il n’existe aucun bon correcteur grammaticalpour LATEX (ou plutôt pour les éditeurs de texte utilisés).Mathématiques: personne n’égale TEX.Compilation vs. Édition: LATEX est un compilateur (desource). Word est un éditeur (de texte).Apprendre par l’exemple: lire un source LATEX est plus facileque regarder un utilisateur de Word.

77/78

Page 67: LaTeX2e - Un tour d'horizondidier/lectures/ltx_01... · 2019-07-09 · LATEX2e Didier Verna EPITA Introduction Fondamentaux Classes et Styles I18N Contrôle global Contrôle local

LATEX2e

Didier VernaEPITA

Introduction

Fondamentaux

Classes et Styles

I18N

Contrôle global

Contrôle local

Graphiques

Mathématiques

Générer du PDF

En vrac

Grands débats

Séparation forme / contenuUne idée qui a la vie dure

Il est facile d’utiliser Word mal.Word vous encourage même à le faire.Il est plus difficile de mal utiliser LATEX.Le modèle WYSIWYG n’est pas la panacée. Certainesfonctionnalités ne peuvent pas être WYSIWYG. Il est plusimportant de se concentrer sur le fond d’abord.Pour des documents vraiment visuels, LATEX n’est pas le bonoutil. . . mais Word non plus (Cf. Quark).

LATEX 2ε + Emacs + AUC-TEX !

78/78