Latex Initiation
Latex Initiation
Latex Initiation
Initiation à LATEX
avril–mai 2012
Thierry MASSON
B CPT (UMR 7332)
Case 907 - Campus de Luminy
F-13288 Marseille Cedex 9
k [email protected]
m science.thilucmic.fr
17 avril 2012 1
• • • • • • • • • • • • • • • • • • • •
De la documentation
2 17 avril 2012
1 – Découverte de l’univers LATEX
• • • • • • • • • • • • • • • • • • • • • • • • • • • •
Éditeur de texte : C’est un logiciel destiné à la création et à l’édition de fichiers textes sans mise en
forme des polices, des couleurs, de justification. . .
Les fichiers textes produits sont légers et exploitables par d’autres éditeurs de texte.
Ù Coloration syntaxique de langages informatiques, y compris LATEX.
Ù Interface avec d’autres outils : dictionnaires, compilateurs. . .
Bloc-notes ² 12 ( ), Emacs ² 13 ( ), Pico ² 14 ( ), TextEdit ² 15 ( ). . .
Traitement de texte : C’est un logiciel qui produit une composition du texte (au sens
typographique) à partir des données textuelles fournies par l’utilisateur.
Le rendu est composé en direct lors de la frappe.
Ù Logiciel WYSIWYG (What You See Is What You Get).
Le format de sauvegarde retient les informations de composition : mise en forme, couleurs,
polices. . . Ù Les fichiers sont plus gros.
Ù Les fichiers sont souvent moins exploitables par d’autres logiciels.
Microsoft Word ² 16 ( ), OpenOffice ² 17 ( ). . .
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 3
1 – Découverte de l’univers LATEX
• • • • • • • • • • • • • • • • •
Quelques repères
4 17 avril 2012
1 – Découverte de l’univers LATEX
• • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 5
6 17 avril 2012
2 – Installation et maintenance
• • • • • • • • • • • • • • • • • • •
L’installation de TEX
17 avril 2012 7
2 – Installation et maintenance
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Fichiers “cachés”, sur lesquels l’utilisateur n’intervient pas (ou très peu) :
Fichiers utilisés par LATEX
.cls Fichier de “classe” appelé par \documentclass[-]{-}.
.clo Fichier d’option de “classe” appelé par \documentclass[-]{-}.
.sty Fichier de “style” (packages) appelé par \usepackage[-]{-}.
.cfg Fichier de configuration de certains packages (graphics, hyperref. . . ).
.def Fichier de définition associés à certains packages (inputenc, babel. . . ).
.fd Fichier de description des polices d’écriture.
.vf Fichier de polices virtuelles.
.tfm Fichier de métrique des fontes.
.dtx Fichier de distribution des packages (produit les .sty, .def, .pdf. . . ).
.ins Fichier gérant l’installation d’un package par une compilation LATEX.
Fichiers utilisés par d’autres moteurs
.map Fichier de “mappage” entre les noms des polices (pdftex, dvips. . . ).
.enc Fichier d’encodage des polices (pdftex, dvips. . . ).
.pfb Fichier des polices vectorielles (pdftex, dvips. . . ).
.bst Fichier de style bibliographique (bibtex).
.ist Fichier de style d’index (makeindex).
8 17 avril 2012
2 – Installation et maintenance
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Remarque : Des classes et des packages peuvent générer leur propres fichiers auxiliaires avec
d’autres extensions dans le dossier de travail Ù liste non exhaustive.
Par exemple ntheorem produit un fichier auxiliaire .thm pour y placer les métadonnées
relatives aux environnements de type “théorème” qu’il gère.
Remarque : Les fichiers de polices d’écriture sont très nombreux dans une installation TEX et sont
de divers types : .afm, .enc, .fd, .lig, .map, .mf, .otf, .pfb, .pk, .tfm, .ttf, .vf. . .
C’est l’un des aspects les plus compliqués d’une installation TEX.
Remarque : Chaque package est fourni avec des fichiers .ins et .dtx : la compilation du fichier .ins
crée et installe les fichiers du package (en compilant .dtx).
Ù documentation, .sty, et d’autres fichiers.
Remarque : Le premier fichier utilisé par le moteur tex pour compiler en LATEX est latex.fmt qui
définit LATEX en tant que format (.fmt).
C’est une version pré-compilée d’un fichier nommé latex.ltx ( lignes de code) dans
lequel figurent toutes les macros constituant LATEX.
Ce dernier fichier est consultable pour comprendre comment sont définies certaines
commandes ou certains environnements.
Remarque : Les autres logiciels fournis avec le moteur tex ont aussi à leur disposition des
fichiers particuliers, avec leurs propres extensions.
• • • • • • • • • • • • • • • • •
17 avril 2012 9
2 – Installation et maintenance
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Règle fondamentale
Par principe, le moteur tex cherche en priorité un fichier souhaité (.tex, .sty, .aux, .def, .pdf,
.jpg. . . ) dans l’ordre suivant :
. dans le dossier courant de travail (celui du fichier source) ;
. puis dans le dossier texmf de l’utilisateur ;
. puis dans texmf-local ;
. enfin dans les texmf fondamentaux.
Par conséquent, tout fichier dans le texmf de l’utilisateur est prioritaire.
On trouvera dans le fichier .log la liste des fichiers trouvés et leur chemin.
Pour gagner du temps lors de la recherche d’un fichier dans ces immenses dossiers, chaque dossier
texmf comporte un fichier ls-R, qui contient toute la liste hiérarchique des fichiers qu’il renferme.
Ù Lorsqu’on ajoute un fichier dans un tel dossier, il faut actualiser le fichier ls-R.
On peut utiliser la commande mktexlsr dans un terminal ou le moteur tlmgr.
Les fichiers déposés dans votre dossier texmf personnel sont pris en compte directement sans
mettre à jour de fichier ls-R.
• • • • • • • • • • • • • • • • • • • • • • • •
Il existe de nombreux autres dossiers et sous dossiers moins utiles pour le débutant.
En particulier chaque moteur a son propre dossier : asymptote, dvipdfmx, dvips, makeindex,
metapost, xdvi. . .
10 17 avril 2012
2 – Installation et maintenance
• • • • • • • • • • • • • • • • • • • • • • • • • •
Les étapes à suivre pour installer un package dans son propre dossier texmf :
. Récupérer les fichiers du package.
Localiser un package sur le site du CTAN :
Page de recherche du CTAN ² 43 (choisir package descriptions),
ou classement par fonction primaire des packages ² 4 .
Une fois trouvé, la page du package à une URL du type
http://www.ctan.org/tex-archive/macros/latex/contrib/geometry/
On peut obtenir le package sous forme d’un dossier archive (.zip).
. Décompresser ce fichier et placer le dossier obtenu dans votre texmf/tex/latex/
(ou autre selon la nature du package).
. Dans ce dossier doit figurer un fichier de type .ins et/ou .dtx.
Lancer la compilation de pdflatex sur .ins (de préférence) ou sur .dtx.
Pour ça on peut passer par un terminal : pdflatex geometry.ins
ou on peut ouvrir ce fichier dans son éditeur TEX préféré. . .
Cette compilation produit les fichiers du package (.sty, .fd, .cfg, .def. . . ).
Si le dossier ne contient pas un tel fichier, il n’y a rien à faire à cette étape.
Dans l’absolu, si on en a la possibilité, il est préférable de mettre à jour les packages avec l’utilitaire
tlmgr ou mieux encore avec une interface graphique à cet utilitaire.
17 avril 2012 11
2 – Installation et maintenance
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Pour tout ce qui concerne les commandes et les environnements définis par LATEX, consulter LaTEX
Reference Manual ² 3 (versions HTML ou PDF disponibles).
Les logiciels et les packages installés sur l’ordinateur sont en général documentés.
On peut accéder à cette documentation avec la commande texdoc :
texdoc geometry
ouvre le PDF de la documentation du package geometry.
Ù fonctionne pour à peu près tous les packages.
texdoc article
ouvre le PDF de documentation des classes standard de LATEX.
texdoc pdftex
ouvre le PDF de documentation de pdftex.
texdoc texlive
ouvre le PDF de documentation de TeXLive.
texdoc lshort et texdoc symbols
ouvrent les PDF de The Not So Short Introduction to LaTEX ² 1 et
Comprehensive LaTEX symbol list ² 2 respectivement.
Il existe un logiciel d’interface pour texdoc.
12 17 avril 2012
3 – Découverte du langage de LATEX
• • • • • • • • • • • • • • • • • • • •
La philosophie de TEX
Avec TEX et LATEX, on tape du texte (presque) normalement et on fait appel de temps en temps à des
macros (des morceaux de programmes) pour obtenir des effets divers ou des fonctionnalités
particulières.
Comme dans tout langage de programmation, il y a des caractères réservés.
En voici la liste, ainsi que la façon de les obtenir concrètement dans du texte :
˜ \˜{} $ \$ & \& % \% # \#
ˆ \ˆ{} _ \_ { \{ } \} \ \textbackslash
(voir aussi le package textcomp)
Avec des macros on peut : modifier les styles typographiques (taille, graisse, forme, couleur. . . ),
modifier la mise en page (marges, indentations. . . ), ajouter des notes en bas de page, composer des
titres, générer une table des matières, composer des mathématiques (symboles, disposition des
formules. . . ), insérer des images, créer des tableaux, composer des dessins. . .
Parmi ces macros, figurent les “commandes”, sous la forme \cmd (“\” suivi d’un nom).
TEX ne connaît que des commandes avec ou sans arguments.
LATEX a introduit les arguments optionnels et la notion d’environnement.
• • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 13
3 – Découverte du langage de LATEX
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Exemples de commandes :
\documentclass[-]{-}, \usepackage[-]{-}
\chapter[-]{-}, \section[-]{-}, \footnote{-}, \tableofcontents
\Large, \tiny, \textbf{-}, \slshape, \textcolor{-}{-}
\par, \bigskip, \medskip, \smallskip, \vspace{-}
\newpage, \clearpage, \pagebreak[-]
\alpha, \otimes, \sum, \sin, \sqrt{-}, \frac{-}{-}
\includegraphics[-]{-}, \scalebox{-}{-}
\{, \$, \,, \\
Exemples d’environnements :
\begin{document} ... \end{document}
\begin{enumerate} ... \end{enumerate}
\begin{abstract} ... \end{abstract}
\begin{flushleft} ... \end{flushleft}
\begin{tabular}{-} ... \end{tabular}
\begin{minipage}[-]{-} ... \end{minipage}
\begin{equation} ... \end{equation}
\begin{figure}[-] ... \end{figure}
\begin{thebibliography}[-] ... \end{thebibliography}
14 17 avril 2012
3 – Découverte du langage de LATEX
• • • • • • • • • • • • • • • • • • • • • • • • • • •
– TEX ignore ce qui est sur la même ligne au delà d’un caractère %.
Permet de commenter le fichier source, de désactiver des lignes de texte.
Le “retour chariot” à la fin d’une ligne contenant un % est aussi ignoré par TEX.
– \\ interrompt la ligne courante et passe à la ligne.
À utiliser dans les environnements center, flushleft, flushright. . .
B la nouvelle ligne ne commence pas un nouveau paragraphe.
\\[hdimi] ajoute en plus la longueur hdimi verticalement entre les lignes.
\\*[hdimi] interdit en plus un saut de page.
– Un \ (\ suivi d’un espace) créé un espace de largeur fixe.
Un ~ collant deux mots crée un espace de largeur fixe et insécable.
L’espace habituel entre les mots a une largeur variable pour permettre la justification des lignes.
– Les guillemets (anglais) sont saisis avec la syntaxe ‘‘mot’’ Ù “mot”
‘‘ est un premier ‘ suivi d’un second ‘. Idem pour ’’.
– Il y a trois sortes de tirets :
- Ù - (trait d’union), -- Ù – (tirets de listes), --- Ù — (début de dialogue)
– Les points de suspension sont obtenus pas \dots ou \ldots Ù . . .
17 avril 2012 15
3 – Découverte du langage de LATEX
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Des packages peuvent définir d’autres commandes que celles-ci en fonction de ce que contient la
police courante.
Les commandes \normalfont et \textnormal{-} rechargent les valeurs par défaut.
Ù Elles annulent toutes les autres commandes.
• • • • • • • • • • • • • • • • • • • • • • • • • • • •
La commande \emph{-} met en valeur le texte qu’elle contient en basculant entre les formes
droites et les formes italiques.
Elle admet un équivalent sous la forme {\em ...}.
\sffamily\mdseries\upshape Veritatis \emph{simplex} oratio est
Veritatis simplex oratio est
\sffamily\bfseries\upshape Veritatis \emph{simplex} oratio est
Veritatis simplex oratio est
\itshape Veritatis \emph{simplex} oratio est
Veritatis simplex oratio est
\bfseries\itshape Veritatis \emph{simplex} oratio est
Veritatis simplex oratio est
16 17 avril 2012
3 – Découverte du langage de LATEX
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Commande Exemple
\tiny tiny
\scriptsize scriptsize
\footnotesize footnotesize
\small small
\normalsize normalsize
\large large
\Large Large
\LARGE LARGE
\huge huge
\Huge Huge
Les tailles déterminées par ces commandes sont relatives à la taille de référence choisie pour le
document en entier (option de \documentclass[-]{-}).
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 17
3 – Découverte du langage de LATEX
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
18 17 avril 2012
3 – Découverte du langage de LATEX
• • • • • • • • • • • • • • •
La justification
Par défaut, LATEX justifie le texte dans les paragraphes : en jouant sur les espacements entre mots et
les césures de mots, le texte est aligné sur les bords gauches et droits.
Les environnements flushleft, flushright et center permettent, respectivement, de coller le
texte sur le bord gauche, de coller le texte sur le bord droit et de centrer le texte.
Ces environnements acceptent des paragraphes et des ruptures de lignes avec \\.
\begin{center}
Actibus immensis\\ Actibus immensis
urbs fulget\\[2mm] urbs fulget
massiliensis massiliensis
\end{center}
Ces environnements ont des commandes (presque) équivalentes : \raggedright, \raggedleft
et \centering (B noms inversés !).
{\raggedleft Felix, qui potuit Felix, qui potuit rerum
rerum cognoscere causas\par} cognoscere causas
B ces commandes ne fonctionnent que sur un paragraphe entier, d’où le \par.
• • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 19
20 17 avril 2012
4 – Structure du document source
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
\begin{document}
Le corps du texte est contenu dans l’environnement
CORPS DU TEXTE \begin{document} ... \end{document}.
\end{document}
17 avril 2012 21
4 – Structure du document source
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Les packages sont des modules qui ajoutent des fonctionnalités à LATEX.
Ù il faut donc savoir si un package fait ce qu’on désire, et lequel.
Un package contient un ensemble de macros dans un fichier .sty (ou plusieurs fichiers).
Une fois appelé par la commande \usepackage{-}, on a accès à des commandes et des
environnements nouveaux.
On peut appeler plusieurs packages en même temps :
\usepackage{pack1,pack2,...}
Ù regrouper les packages thématiquement proches.
Il y a des packages pour des usages très différents : encodage du texte source, gestion des polices,
gestion de l’apparence des pages, inclusion de graphiques, fonctionnalités mathématiques avancées,
gestion de langues, dessins internes au document, programmation. . .
Les packages peuvent comporter des options qu’on peut activer lors de l’appel.
La commande \usepackage[english,french]{babel} appelle le package babel avec les
options english et french.
Les options passées directement aux packages sont prioritaires sur les options passées avec la classe
du document.
22 17 avril 2012
4 – Structure du document source
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
B Tous les packages sont égaux, mais certains sont plus égaux que d’autres.
– Certains packages modifient des fonctionnalités fournies par d’autres packages
Ù il est préférable de les appeler en dernier (babel, hyperref. . . ).
– Des packages différents peuvent avoir des fonctionnalités semblables et entrer en conflit l’un avec
l’autre.
– Un package peut en cacher un autre : il est possible qu’un package appelle d’autres packages, donc
surveiller les incompatibilités induites.
Des livres sur LATEX permettent de découvrir l’existence de packages intéressants et d’en comprendre
le fonctionnement.
Le site du CTAN ² 44 permet de chercher dans la description des packages.
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 23
4 – Structure du document source
• • • • • • • • • • • • • • • •
La page de garde
Dans certaines classes, LATEX compose une page de garde à partir de données spécifiques :
– \title{-} définit le titre,
– \author{-} renseigne les auteurs (séparés par la commande \and),
– \date{-} insère la date.
Des commandes \thanks{-} associées aux auteurs produisent des informations en notes de bas
de page.
Après avoir renseigné ces commandes, \maketitle compose la page de garde.
Dans certaines classes, l’environnement abstract met en forme un résumé.
Il n’est pas nécessaire d’utiliser \maketitle pour faire un document avec LATEX :
– on peut se passer d’une page de garde,
– on peut composer soi-même la page de garde.
• • • • • • • • • • • • • • • • • • • • • •
24 17 avril 2012
4 – Structure du document source
• • • • • • • • • • • • • • • • • • • • • • •
Pour réduire l’utilisation de la mémoire vive, TEX (et donc LATEX) ne conserve en mémoire aucune
donnée sur le texte lors d’une compilation.
Ù LATEX utilise des fichiers auxiliaires dans lesquels il place des données à préserver :
.aux, .toc, .lof, .lot. . . , et des packages en produisent d’autres.
– Première étape : en compilant, LATEX remplit de données les fichiers auxiliaires.
– .aux contient les données pour les références croisées,
– .toc contient les entrées de la table des matières. . .
– Compilation suivante : LATEX lit les fichiers auxiliaires et utilise leur contenu :
– pour formater les références croisées,
– pour composer la table des matières. . .
Produire un gros document exige souvent plusieurs compilations LATEX.
Il faut parfois compilations pour stabiliser la table des matières !
La console de compilation indique si le fichier .aux a été modifié et si une compilation
supplémentaire est nécessaire.
Pour composer une bibliographie à l’aide d’une base de donnée .bib et/ou un index, il faut
entrecouper ces compilations de l’usage des moteurs bibtex et/ou makeindex.
• • • • • • • • • • • • • • • • • • • • • • • • • • • •
Lorsqu’on gère un projet important, il est utile de le découper en pièces plus petites.
De façon générale, le document source peut charger d’autres fichiers.
\input{fichier.tex} lit le fichier fichier.tex à l’endroit désigné, l’interprète, puis retourne à la
suite du document courant.
Ù n’importe où dans le document (préambule ou corps du texte) ;
Ù on peut ainsi inclure une portion du texte final ou un ensemble de commandes ;
Ù la recherche se fait dans les dossiers texmf comme décrit auparavant : le fichier n’est pas obligé
d’être dans le dossier courant.
\include{chap1} dans le corps du texte inclut le fichier chap1.tex (B extension).
Cette commande démarre une nouvelle page avant et après.
Ù réserver à des chapitres entiers de documents importants (livres, polycopiés. . . ) ;
Ù un fichier .aux est créé pour chaque fichier inclus.
\includeonly{chap1,chap3,chap4} dans le préambule permet de sélectionner certains fichiers
seulement.
17 avril 2012 25
4 – Structure du document source
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Apprendre LATEX, c’est apprendre le langage TEX/LATEX ainsi qu’un logiciel d’interface.
Règle : Si votre clavier n’est pas américain, trouver comment produire le symbole \.
Règle : Rechercher un symbole inconnu dans Comprehensive LaTEX symbol list ² 2 .
Règle : Rechercher la syntaxe d’une macro dans LaTEX Reference Manual ² 3 .
L’interface : C’est le lieu de travail, donc l’essentiel.
– Choisir un environnement de travail riche, puissant et surtout bien maitrisé.
– Créer un ensemble de fichiers d’exemples (vides de contenu sémantique) pour différents
type de documents : articles, lettres, mémoires, rapports, CV. . .
Certains logiciels gèrent de tels modèles qu’il est facile d’appeler lors de la création d’un
nouveau document.
Gestion du code source : Le code source, c’est le reflet de notre personnalité. . .
– Aérer le texte source, mettre des lignes de commentaires et des indentations.
Pour LATEX, une ou plusieurs lignes vides, c’est la même chose.
– Marquer clairement le début et la fin des groupes
({ ... } ou \begin{env} ... \end{env}).
– S’il s’agit d’un gros projet (rapport, livre), découper le texte en petits morceaux, et définir
un fichier “maître” qui appelle les autres avec des \include{-}.
Ù Chaque fichier de travail (chapitre par exemple) est plus petit.
Ù Commenter certains \include{-} pour ne pas compiler tout le document.
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Gestion des erreurs : Les erreurs sont inévitables, il faut savoir les gérer.
– À l’ouverture d’un groupe , le fermer immédiatement avant de le remplir.
– Compiler souvent le texte pour éviter d’accumuler des erreurs et pour pouvoir mieux
cerner les zones en cause.
B Une erreur à un endroit peut se révéler dans la compilation bien plus loin !
– Observer la console de compilation, et si ça ne suffit pas, ouvrir le fichier .log.
C’est une mine d’informations qui permet de suivre le déroulement de la compilation (plus
d’infos dans le .log que dans la console) et de comprendre la source des erreurs.
– En cas de problème récalcitrant, déplacer le \end{document} vers le haut jusqu’à trouver
la zone qui ne compile pas, ou mettre en commentaires de grands blocs de texte (certains
logiciels le permettent facilement).
Personnalisation : Ne pas hésiter à personnaliser votre façon de travailler.
– Définir des macros sémantiques (qui donnent du sens au texte) dont il sera possible de
modifier le comportement jusqu’à la dernière compilation.
\section{-} est une macro sémantique,
\important{texte important}. . .
– Ne pas hésiter à utiliser un package qui fera le travail demandé. . .
Ù inutile de réinventer la roue à chaque besoin spécifique.
26 17 avril 2012
5 – Des packages essentiels
• • • • • • • • • • • • • • • • • • • • • • • • •
\begin{document}
Mon texte\dots
\end{document}
Ces lignes sont commentées dans ce qui suit, mais pas dans l’ordre. . .
Ces packages peuvent être utilisés avec d’autres classes que la classe article.
Ù report, book. . .
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 27
5 – Des packages essentiels
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
En entrée (fichier source), le moteur tex accepte seulement un encodage sur bits
Ù 28 = 256 caractères possibles seulement.
Deux difficultés importantes :
. Il faut recourir à des macros pour des symboles absents de ces possibilités :
\alpha Ù α, \textcopyright Ù ©, et les lettres accentuées peu usuelles. . .
LATEX permet actuellement l’accès à plus de symboles par des macros diverses (avec des
packages et polices appropriés).
. Il n’y a pas d’encodage standard sur bits dans le monde informatique.
La position des caractères (l’encodage) dépend des systèmes d’exploitations.
LATEX a besoin de connaître l’encodage utilisé lors de la sauvegarde du fichier source.
Des noms ont été donnés à ces encodages :
ansinew ² 45 (Windows), applemac ² 46 (Macintosh), latin1 ² 47 (Unix/Linux). . .
utf8 pour l’UNICODE ² 48 .
Ù Régler l’éditeur de texte sur un encodage, et appeler inputenc avec la bonne option :
\usepackage[utf8]{inputenc} sélectionne l’encodage UNICODE.
Privilégier l’UNICODE qui est un standard.
• • • • • • • • • • • • • • • • • • • • • • • • • • •
Les fichiers de fontes utilisés par LATEX ne contiennent que glyphes ( bits. . . ).
Pour composer un texte, LATEX doit assembler de nombreux fichiers de fontes.
“L’encodage des fontes” standardise la façon dont on morcelle une police d’écriture en blocs
“réduits” de glyphes.
Ce morcellement dépend surtout de l’alphabet utilisé.
Ù incidence sur les césures des mots. . .
Le package fontenc informe LATEX sur les encodages utilisés dans le document.
Encodages usuels des polices d’Europe de l’ouest :
OT1 C’est l’encodage d’origine, “O” pour “Old”. . .
Cet encodage ignore les glyphes des lettres accentuées Ù ne pas l’utiliser.
T1 Cet encodage contient l’essentiel des caractères des langues de l’Europe de l’ouest.
C’est l’encodage à utiliser de préférence.
TS1 Encodage “Text Symbol”. C’est un encodage compagnon de T1 qui permet l’accès à des glyphes
de type “symboles” utilisés dans des textes, comme ©, % ou †.
\usepackage[TS1,T1]{fontenc} active les encodages T1 et TS1.
Autres encodages : cyrillique, grec, chinois/japonais/koréen (CJK), phonétique. . .
On peut basculer localement d’un encodage à un autre : possibilité d’écrire avec de nombreux types
d’alphabets dans un document LATEX.
28 17 avril 2012
5 – Des packages essentiels
• • • • • • • • • • • • • • • • • • • •
Le package textcomp
textcomp donne accès à des symboles divers rangés dans l’encodage TS1.
Quelques exemples parmi les accessibles :
\textasteriskcentered ∗ \textdollar $
\texteuro € \textyen ¥
\textasciicircum ^ \textasciitilde ~
\textbar | \textbackslash \
\textbraceleft { \textbraceright }
\textlbrackdbl [ \textrbrackdbl ]
\textrightarrow → \textleftarrow ←
\textdownarrow ↓ \textuparrow ↑
\textlangle 〈 \textrangle 〉
\textcopyright © \textregistered ®
\texttrademark ™ \textservicemark
\textdagger † \textdaggerdbl ‡
\textperthousand % \textpertenthousand %
\textdegree ° \textcelsius ℃
\textborn b \textmu µ
\textohm W \textmho M
\textleaf l \textmusicalnote ♪
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Le package pifont permet d’accéder aux caractères de la police ZAPF DINGBATS par la commande
\ding{nbr} où nbr est le numéro dans le tableau ci-dessous :
! " # $ % & ' (
) * + , - . / 0 1 2
3 4 5 6 7 8 9 : ; <
= > ? @ A B C D E F
G H I J K L M N O P
Q R S T U V W X Y Z
[ \ ] ^ _ ` a b c d
e f g h i j k l m n
o p q r s t u v w x
y z { | } ~
¡ ¢ £ ¤ ¥ ¦ § ¨ © ª
« ¬ ® ¯ ° ± ² ³ ´
µ ¶ · ¸ ¹ º » ¼ ½ ¾
¿ À Á Â Ã Ä Å Æ Ç È
É Ê Ë Ì Í Î Ï Ð Ñ Ò
Ó Ô Õ Ö × Ø Ù Ú Û Ü
Ý Þ ß à á â ã ä å æ
ç è é ê ë ì í î ï
ñ ò ó ô õ ö ÷ ø ù ú
û ü ý þ
Voir aussi le package de symboles marvosym. . .
17 avril 2012 29
5 – Des packages essentiels
• • • • • • • • • • • • • • • • • • • • • • • • • •
Une page LATEX est divisée en zones précises, dont la géométrie est gouvernée par différents
paramètres :
paper
"top % headheight
%
!
head % headsep
%
total body "
textheight
paperheight
height body marginal note
left $
# $# right ' marginparsep
(inner) (outer) ''
$ textwidth # $# marginparwidth
width !
"bottom foot &
& footskip
!
paperwidth
Il est 1:
Figure possible de fixer
Dimension soi-même
names used inses
theparamètres, mais ilwidth=textwidth
geometry package. faut alors respecter
andcertaines contraintes,
height=textheight
comme par exemple : by default. left, right, top and bottom are margins. If margins on
verso pages are swapped by twoside option, margins specified by left and right options
are used for the insidepaperwidth = leftrespectively.
and outside margins + width + right
inner and outer are aliases of
left and right respectively.
paperheight = top + height + bottom
• • • • • • • • • • • • • • • • • • • • • • • •
\usepackage[a4paper,tmargin=3cm,bmargin=3cm,
rmargin=2.2cm,lmargin=2.2cm]{geometry}
Spécifie : la taille du papier (a4paper), les marges “top”, “bottom”, “right” et “left” (tmargin,
bmargin, rmargin et lmargin).
C’est équivalent à :
\usepackage[a4paper,vmargin=3cm,hmargin=2.2cm]{geometry}
où vmargin et hmargin sont les marges “verticales” et “horizontales”.
Quelques options utiles :
Options générales verbose, twoside, showframe, landscape, portrait. . .
Taille du papier a0paper, . . . , a6paper, screen, paperwidth=hdimi, paperheight=hdimi. . .
Taille du corps textwidth=hdimi, textheight=hdimi, text={hdimi,hdimi}. . .
Taille des marges tmargin=hdimi, . . . , hmargin=hdimi, vmargin=hdimi, inner=hdimi,
outer=hdimi. . .
17 avril 2012 31
5 – Des packages essentiels
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Traduction des mots usuels : “Chapter” Ù “Chapitre”, “Contents” Ù “Table des matières”,
“Table” Ù “Tableau”. . .
Date : \today donne la date en français :
anglais Ù April ,
français Ù avril
Typographie française : Indentation pour le premier paragraphe,
guillements français : \og mot \fg Ù « mot »,
espace avant les doubles ponctuations : ; ! ?
Macros diverses : \primo Ù o , \secundo Ù o , M\up{me} Ù Mme, 1\ier Ù er, 3\ieme
Ù e, \Nos Ù Nos . . .
Listes : Les items des listes sont “–” au lieu de “•” et les espaces sont ajustés à la typographie
française.
Césures : Les césures françaises sont différentes des césures anglaises :
En anglais, \showhyphens{signal container} produit
[] \T1/lmr/m/n/12 sig-nal con-tainer
En français, \showhyphens{signal container} produit
[] \T1/lmr/m/n/12 si-gnal contai-ner
Ù tex propose de couper ces mots à des endroits différents.
• • • • • • • • • • • • • • • • • • • •
Les mots-clés suivants sont traduits par babel selon la langue installée.
Commande Anglais Français
\prefacename Preface Préface
\abstractname Abstract Résumé
\partname Part partie
\chaptername Chapter Chapitre
\appendixname Appendix Annexe
\refname References Références
\bibname Bibliography Bibliographie
\contentsname Contents Table des matières
\listfigurename List of Figures Table des figures
\listtablename List of Tables Liste des tableaux
\indexname Index Index
\figurename Figure Figure
\tablename Table Table
\pagename Page page
\seename see voir
\alsoname see also voir aussi
Il est possible de redéfinir soi-même ces commandes.
32 17 avril 2012
5 – Des packages essentiels
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 33
5 – Des packages essentiels
• • • • • • • • • • • • • • • • • • • • • • • •
Les polices par défaut de TEX, COMPUTER MODERN, ou leurs versions plus récentes (CM-SUPER), sont
insuffisantes d’un point de vue typographique, par manque de nombreux glyphes (lettres accentués
pour l’essentiel).
Les polices L ATIN MODERN sont composées de fontes de caractères, auxquelles on ajoute
fontes pour les mathématiques.
En tout, il y a caractères pour un total d’environ glyphes. . .
\usepackage{lmodern} charge ces polices dans le document.
34 17 avril 2012
5 – Des packages essentiels
• • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 35
36 17 avril 2012
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 37
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
– Symboles divers :
\oplus \cdot \otimes ⊕·⊗ Ù
\infty \hbar \nabla \imath
.
∞ Ù ~ ∇ ı
..
\vdots \ldots \ddots Ù .. ... .
– Fonctions usuelles :
\cos(x) + i \sin(x) = \exp(ix) Ù cos(x) + i sin(x) = exp(ix)
– Éléments de formules√:
\sqrt{16} = 4 Ù
16 = 4 √
3 4
\sqrt[3]{8} = \frac{4}{2}
Z b
8= Ù 2
\int_a^b f(x) dx
a
Ù
f (x)dx
X
\sum_{n\in\mathbb{Z}} c_n cn Ù
n∈Z
– La commande \not place une négation devant certains symboles :
$\not< \not\equiv \not\le \not\subseteq$ Ù 6<6≡6≤6⊆
– Barres et flèches :
\overline{x + iy} Ù x + iy
---→
-
\overrighttarrow{AB} Ù AB
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
38 17 avril 2012
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Symboles de ponctuation
, , ; ; \colon : \ldotp . \cdotp ·
Accents extensibles
\widetilde{-} abcde
] \widehat{-} abcde
[
\overline{-} abcde \underline{-} abcde
z }| {
\overbrace{-} abcde \underbrace{-} abcde
| {z }
←------------ -----------→
-
\overleftarrow{-} abcde \overrightarrow{-} abcde
Lettres grecques
\alpha α \theta θ o o \tau τ
\beta β \vartheta ϑ \pi π \upsilon υ
\gamma γ \iota ι \varpi ϖ \phi ϕ
\delta δ \kappa κ \rho ρ \varphi φ
\epsilon ε \lambda λ \varrho % \chi χ
\varepsilon ε \mu μ \sigma σ \psi ψ
\zeta ζ \nu ν \varsigma ς \omega ω
\eta η \xi ξ
\Gamma Γ \Lambda Λ \Sigma Σ \Psi Ψ
\Delta Δ \Xi Ξ \Upsilon Υ \Omega Ω
\Theta Θ \Pi Π \Phi Φ
17 avril 2012 39
6 – Les mathématiques
Opérateurs
\arccos \cos \csc \exp \ker \limsup \min \sinh
\arcsin \cosh \deg \gcd \lg \ln \Pr \sup
\arctan \cot \det \hom \lim \log \sec \tan
\arg \coth \dim \inf \liminf \max \sin \tanh
Opérateurs AMS
\injlim \projlim \varliminf \varlimsup \varinjlim \varprojlim
Symboles divers
.. ..
\ldots ... \cdots ··· \vdots . \ddots .
\aleph ℵ \prime 0 \forall ∀ \infty ∞
\hbar ~ \emptyset ∅ \exists ∃
√ \imath ı
\nabla ∇ \neg ¬ \surd \jmath
\flat [ \triangle 4 \ell ` \top >
\natural \ \clubsuit ♣ \wp ℘ \bot ⊥
\sharp ] \diamondsuit ♦ \Re < \| k
\backslash \ \heartsuit ♥ \Im = \angle ∠
\partial ∂ \spadesuit ♠ . . | |
40 17 avril 2012
6 – Les mathématiques
Opérations binaires
\pm ± \cap ∩ \diamond \oplus ⊕
\mp ∓ \cup ∪ \bigtriangleup 4 \ominus
\times × \uplus ] \bigtriangledown 5 \otimes ⊗
\div ÷ \sqcap u \triangleleft / \oslash
\ast ∗ \sqcup t \triangleright . \odot
\star ? \vee ∨ \bigcirc
\circ ◦
\wedge ∧ \dagger † \bullet • \setminus \
\ddagger ‡ \cdot · \wr o \amalg q
+ + - -
Relations binaires
\leq ≤ \geq ≥ \equiv ≡ \models |=
\prec ≺ \succ \sim ∼ \perp ⊥
\preceq \succeq \simeq ' \mid |
\ll \gg \asymp \parallel k
\subset ⊂ \supset ⊃ \approx ≈ \bowtie ./
\subseteq ⊆ \supseteq ⊇ \cong ∼
= \neq 6=
.
\smile ^ \sqsubseteq v \sqsupseteq w \doteq =
\frown _ \in ∈ \ni 3 \propto ∝
= = \vdash ` \dashv a < <
> > : :
17 avril 2012 41
6 – Les mathématiques
42 17 avril 2012
6 – Les mathématiques
Flèches
\leftarrow ← \longleftarrow ←- \uparrow ↑
\Leftarrow ⇐ \Longleftarrow ⇐= \Uparrow ⇑
\rightarrow → \longrightarrow -→ \downarrow ↓
\Rightarrow ⇒ \Longrightarrow =⇒ \Downarrow ⇓
\leftrightarrow ↔ \longleftrightarrow ←→ \updownarrow l
\Leftrightarrow ⇔ \Longleftrightarrow ⇐⇒ \Updownarrow m
\mapsto 7→ \longmapsto 7-→ \nearrow %
\hookleftarrow ←- \hookrightarrow ,→ \searrow &
\leftharpoonup ( \rightharpoonup * \swarrow .
\leftharpoondown ) \rightharpoondown + \nwarrow -
\rightleftharpoons
Flèches AMS
\dashrightarrow 99K \dashleftarrow L99 \leftleftarrows ⇔
\leftrightarrows \Lleftarrow W \twoheadleftarrow
\leftarrowtail \looparrowleft " \leftrightharpoons
\curvearrowleft x \circlearrowleft \Lsh
\upuparrows \upharpoonleft \downharpoonleft
\multimap ( \leftrightsquigarrow ! \rightrightarrows ⇒
\rightleftarrows \rightrightarrows ⇒ \rightleftarrows
\twoheadrightarrow \rightarrowtail \looparrowright #
\rightleftharpoons
\curvearrowright y \circlearrowright
\Rsh \downdownarrows \upharpoonright
\downharpoonright \rightsquigarrow
Le chapitre de Comprehensive LaTEX symbol list ² 2 donne une liste très complète de tous les
symboles mathématiques utilisables avec LATEX.
17 avril 2012 43
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Dans le mode mathématique, on dispose des commandes suivantes pour changer de style :
Commande Description Exemple
\mathnormal{-} défaut abcXYZ
\mathrm{-} romane abcXYZ
\mathbf{-} romane épaisse abcXYZ
\mathsf{-} sans serif abcXYZ
\mathit{-} italique abcXYZ
\mathtt{-} typewriter abcXYZ
\mathcal{-} calligraphique X YZ
\mathscr{-} calligraphique XYZ
\mathbb{-} black board XYZ
\mathfrak{-} gothique abcXYZ
\mathbb{-} et \mathfrak{-} sont définies par le package amsfonts.
\mathscr{-} est définie avec l’option mathscr du package euscript.
Les arguments de ces commandes sont en mode mathématique :
$\mathrm{E=mc^2}$, $\mathbf{E=mc^2}$, $\mathfrak{E=mc^2}$
E = mc , E = mc2 , E = mc2
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
44 17 avril 2012
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 45
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • • • • • • • • • • • •
46 17 avril 2012
6 – Les mathématiques
• • • • • • • • • • • • • • • • • •
Flèches extensibles
en bas en bas
\xleftrightarrow[-]{-} ←---------→
- \xhookleftarrow[-]{-} ←----------------
en haut en haut
en bas en bas
\xLeftarrow[-]{-} ⇐===== \xhookrightarrow[-]{-} -,-------------→
-
en haut en haut
en bas en bas
\xRightarrow[-]{-} =====⇒ \xmapsto[-]{-} -7--------------→
-
en haut en haut
en bas
\xLeftrightarrow[-]{-} ⇐===⇒
en haut
• • • • • • • • • • • • • •
Les matrices
Pour les matrices, matrix (de amsmath) est plus optimal que array.
Réserver array aux tableaux dont les entrées sont en mode mathématique.
\begin{matrix}
a b
a & b \\ c & d
c d
\end{matrix}
pmatrix, bmatrix, Bmatrix, vmatrix et Vmatrix produisent respectivement :
! " # ( )
a b a b a b a b
a b
c d c d c d c d
c d
17 avril 2012 47
6 – Les mathématiques
• • • • • • • • • • • • • • • • • •
L’environnement cases
mathtools définit les environnements dcases, dcases*, rcases, rcases*, drcases, drcases*,
cases*.
48 17 avril 2012
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • •
Commandes diverses
– Fractions.
Utiliser la commande \frac{-}{-} .
B Ne pas utiliser la commande \over obsolète.
Des variantes de cette commande sont disponibles :
\dfrac{-}{-} force le displaystyle et \tfrac{-}{-} force le textstyle.
$A = \frac{1}{2} = \dfrac{1}{2} = \tfrac{1}{2}$
1 1 1
A= 2
= = 2
2
– Coefficients binomiaux.
$A = \binom{n}{p} = \dbinom{n}{p} = \tbinom{n}{p}$
!
n n
n
A= p
= = p
p
– Intégrales multiples.
$\displaystyle \int_X f(x) dx = \iint_Y g(y) dy
= \iiint_Z h(z) dz = \idotsint_T r(t) dt$
Z ZZ ZZZ Z Z
f (x)dx = g(y)dy = h(z)dz = ··· r(t)dt
X Y Z T
• • • • • • • • • • • • • • • • • • • • • • • •
– Superpositions.
\substack{-} superpose des expressions, pour des sommes par exemple.
Le résultat est de la taille des indices et exposants :
$\displaystyle\sum_{\substack{0<i<m \\ 0<j<n}} P_{i,j}
= \substack{a \\ b}$
Pi,j = ab
X
0<i<m
0<j<n
17 avril 2012 49
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • • • • • • •
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Le package amsmath définit la règle suivante pour les équations hors texte :
– Un environnement sans étoile : l’équation est numérotée.
– Un environnement avec étoile : l’équation n’est pas numérotée.
Il est possible de placer une commande \label{-} dans un environnement d’équation sans étoile
pour faire référence ailleurs dans le texte au numéro de l’équation.
\ref{-} rappelle le numéro, \eqref{-} place en plus des parenthèses autour.
equation sert à composer une simple équation, sur une ligne.
\begin{equation}
A+B=C \label{eq:a} A+B=C ()
\end{equation}
Label : (), .
Label : \eqref{eq:a}, \ref{eq:a}.
\begin{equation*}
A+B=C A+B=C
\end{equation*}
TEX (pur, avant LATEX) définit $$ ... $$ pour les formules hors texte.
LATEX définit les commandes \[ ... \] et l’environnement displaymath
B Bannir ces commandes : mauvaise gestion des espaces.
50 17 avril 2012
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • • • • •
L’environnement gather
\begin{gather*}
A+B=B \\ A+B=B
C+D=E+F+G
C+D=E+F+G
\end{gather*}
• • • • • • • • • • • • • • • • • • • • •
L’environnement align
align rassemble plusieurs équations, avec alignements verticaux sur les caractères &.
\begin{align}
A+B &= B+A \label{al:a}\\ A+B=B+A ()
C &= D+E \nonumber\\ C =D+E
E &= F \label{al:c}
E=F ()
\end{align}
\eqref{al:a} et \eqref{al:c}. () et ().
17 avril 2012 51
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • • • • • • •
L’environnement multline
Décorations de formules
$\boxed{E=mc^2}$\\ E = mc2
$E=\boxed{mc^2}$ E = mc2
Le package empheq permet plus d’options pour décorer des formules.
\begin{empheq}[box=\fbox]{align}
E &= h \nu \notag\\ E = hν
E &= mc^2 E = mc2 ()
\end{empheq}
\begin{empheq}%
[left=A \Rightarrow \empheqlbrace, (
innerbox=\fbox]{align*} B=C
A⇒
B &= C\\ D=E
D &= E
\end{empheq}
52 17 avril 2012
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
LATEX permet de définir des environnements pour présenter et numéroter automatiquement des
théorèmes, des propositions, des définitions. . .
Le package amsthm améliore les commandes de LATEX.
\newtheorem{lem}{Lemme}
définit un nouvel environnement lem dont le titre est “Lemme”.
\newtheorem{thm}{Théoreme}
\newtheorem{prop}[thm]{Proposition}
définit thm, puis prop, dont le compteur de numérotation est le même que celui de thm.
\newtheorem*{pyth}{Théorème de Pythagore}
définit pyth qui ne sera pas numéroté. Utile pour des théorèmes spécifiques.
\newtheorem{defn}{Définition}[section]
définit defn dont le compteur de numérotation est remis à 0 à chaque début de section.
L’environnement proof sert aux démonstrations.
La commande \qedsymbol place un symbole de fin de démonstration (personnalisable).
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
\theoremstyle{definition}
\newtheorem{example}[theorem]{Example}
\newtheorem{definition}[theorem]{Definition}
\theoremstyle{remark}
\newtheorem{remark}[theorem]{Remark}
définit environnements avec styles différents.
\newtheoremstyle{note}{2pt}{3pt}{\bfseries}%
{2cm}{\sffamily}{:}{2em}{}
définit un nouveau style “note” (voir la documentation pour la syntaxe).
17 avril 2012 53
6 – Les mathématiques
• • • • • • • • • • • • • • • • • • •
Le package siunitx
siunitx définit des commandes pour présenter les nombres et leurs unités physiques selon les
standards (SI).
\num{123} \num{12345} \num{0,1234} \num{.1234} \num{1.2d-7}
, , , × -
\si{kg.m/sˆ2} \si{\kilo\gram\metre\per\square\second}
kg m/s kg m s-
Toutes les unités du SI sont connues, et les préfixes, de \yocto (10-24 ) à \yotta (1024 ). . .
Il est possible de définir d’autres unités.
Un type de colonnes est proposé pour l’alignement de nombres dans les tableaux.
Le package prend en compte les spécificités de différentes langues :
\sisetup{locale=FR} passe en français.
Ù Possible d’automatiser le basculement avec celui de babel.
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Consulter aussi le site A Survey of Free Math Fonts for TEX and LaTEX ² 52 .
54 17 avril 2012
7 – Un peu de technique
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
\newcommand{\aspirine}{acide acétylsalicylique}
L’aspirine est de l’\aspirine. L’aspirine est de l’acide acétylsalicylique.
Ù
Si une commande est déjà définie, on peut la redéfinir en utilisant \renewcommand à la place de
\newcommand, avec la même syntaxe.
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 55
7 – Un peu de technique
• • • • • • • • • • • • • • • • • • • • • • •
Définir un environnement
% définition
\newenvironment{centerbold}%
{\begin{center}\bfseries}%
{\end{center}}
% utilisation
\begin{centerbold}Ceci est centré\\ et en gras\end{centerbold}
Ceci est centré
et en gras
• • • • • • • • • • • • • • •
Les dimensions
\normalsize M x
\Large M x
En plus des dimensions fixes, TEX manipule des dimensions “élastiques”.
Leur syntaxe est de la forme 2cm plus 2mm minus 3mm.
Ces “marges de manœuvre” sont utilisées pour ajuster les espaces horizontaux et verticaux.
Les dimensions sont des commandes qu’on ne peut pas invoquer seules :
\parindent, \parsep, \baselineskip, \linewidth, \paperwidth, \textheight,
\tabcolsep, \topmargin, \itemsep, \labelsep. . .
56 17 avril 2012
7 – Un peu de technique
• • • • • • • • • • • • • • • • • • • • •
• • • • • • • • • • • • • • • • • • • • • • • • • • • •
TEX ignore les espaces entre objets. Il existe des commandes pour créer de vrais espaces.
\hspace{hdimi} produit un espace horizontal de dimension hdimi :
a b\hspace{1cm}c Ù a b c (cm = )
En début de ligne, l’espace est ignoré.
On peut le forcer avec la version étoilée : \hspace*{hdimi}.
Des espacements horizontaux de taille prédéterminée sont fournis :
\quad est un espace de em :a b
\enspace est un espace de la moitié de \quad : a b
\qquad est un espace du double de \quad :a b
17 avril 2012 57
7 – Un peu de technique
• • • • • • • • • • • • • • • • • • • • • • • • • •
Les compteurs
58 17 avril 2012
7 – Un peu de technique
• • • • • • • • • • • • • • • • • • • • • •
À chaque compteur ctr est associée une commande \thectr qui “affiche” le compteur :
\thepage Ù
17 avril 2012 59
7 – Un peu de technique
• • • • • • • • • • • • • • • •
La mise en boite
Principe fondamental de LATEX : chaque lettre est une boite, chaque mot est un ensemble de boites
(les lettres), les paragraphes sont des grosses boites. . .
phénix Ù
Chaque boite est définie par sa largeur (width), sa hauteur au dessus de la ligne de base (height)
et sa profondeur en dessous de la ligne de base (depth).
Ainsi, lorsque LATEX a terminé de composer un tableau, ce dernier devient une boite dont il ne
retient que les attributs de dimensions afin de la placer dans la page.
Dans de nombreuses commandes, il est possible d’utiliser les dimensions naturelles des objets LATEX
sur lesquelles elles s’appliquent :
– \width désigne la largeur,
– \height désigne la hauteur,
– \depth désigne la profondeur,
– \totalheight désigne la hauteur totale \height+\depth.
La commande \phantom{-} n’imprime pas son contenu tout en créant la boite associée :
a\phantom{phénix}b Ù a b
Cette commande permet de dépanner dans certaines mises en page difficiles.
• • • • • • • • • • • • • • • • • • • • • •
La commande \makebox
60 17 avril 2012
7 – Un peu de technique
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
La commande \raisebox
a\raisebox{1ex}{phénix}b a phénix b
a\raisebox{1ex}[1ex][0pt]{phénix}b a phénix b
a\raisebox{-1ex}{phénix}b a phénix b
a\raisebox{-1ex}[2ex][12pt]{phénix}b a phénix b
a\raisebox{-1ex}[\height][\depth]{phénix}b a phénix b
a\raisebox{-1ex}[0pt][0pt]{phénix}b a phénix b
En combinant \makebox et \raisebox, on peut produire une boite de dimension nulle.
phénix
a\raisebox{1.5ex}[0pt][0pt]{\makebox[0pt][c]{phénix}}b ab
phénix
a\raisebox{1.5ex}[0pt][0pt]{\makebox[0pt][l]{phénix}}b ab
17 avril 2012 61
62 17 avril 2012
8 – Les listes
• • • • • • • • • • • • • • • • •
LATEX définit trois types de listes : listes à puces, listes numérotées et listes à mots-clés.
\begin{itemize}
\item In vino veritas – In vino veritas
\item Natura abhorret a vacuo – Natura abhorret a vacuo
\end{itemize}
\begin{enumerate}
\item Qui rogat, non errat . Qui rogat, non errat
\item Qui scribit, bis legit . Qui scribit, bis legit
\end{enumerate}
• • • • • • • • • • • • • • • • • • • • •
Emboîtements de listes
17 avril 2012 63
8 – Les listes
• • • • • • • • • • • • • • • • • • •
Le package pifont définit des listes à partir de symboles de la police ZAPF DINGBATS :
\begin{dinglist}{43} ... \end{dinglist}
+ le premier item de ma liste
+ le second item de ma liste
\begin{dinglist}{253} ... \end{dinglist}
ý le premier item de ma liste
ý le second item de ma liste
Le package enumitem
Le package enumitem permet de modifier les paramètres des listes usuelles itemize, enumerate
et description, et il offre de définir de nouvelles listes.
\begin{enumerate}[label=\emph{\alph*}), parsep=2ex]
\item ...
\item ...
\end{enumerate}
Il est possible de changer globalement l’aspect d’une liste :
\setlist[itemize,1]{label=$\clubsuit$}
\setlist[itemize,2]{label=$\diamondsuit$}
Il est possible de définir de nouvelles listes :
\newlist{maliste}{enumerate}{1}
\setlist[maliste]{label=\alph*),font=\sffamily\bfseries}
Les dimensions définissant la géométrie d’une liste sont modifiables.
On peut personnaliser la police avec font=... et le label avec label=....
Voir la documentation de enumitem pour plus d’informations.
64 17 avril 2012
9 – Les tableaux
• • • • • • • • • • • • • • • • • • • • •
A\begin{tabular}[b]{||rc|l|}
\hline
ABC & DEF & GHI \\ \hline ABC DEF GHI
J & K & L \\ \hline\hline J K L
\multicolumn{2}{||c|}{MNO} & PQRS \\
A MNO PQRS B
\hline
\end{tabular}B
\renewcommand{\arraystretch}{1.5}
a \begin{tabular}[c]{r@{=}l} d=
d & 2 \\ a b
c & 3 c=
\end{tabular} b
L’argument optionnel de tabular gère l’alignement vertical du tableau : t, c, b
17 avril 2012 65
9 – Les tableaux
• • • • • • • • • • • • • • • • •
Le package array
\newcolumntype{R}{>{$}r<{$}}
\begin{tabular}{|R!{=}>{\bfseries}l|} a1 = A
\hline a_1 & A \\ \hline b_1 & B \\ \hline b1 = B
\end{tabular}
• • • • • • • • • • • • • • • • • • • • • • • • • • • • •
\begin{tabular}{p{2em}p{2em}}
aaa b
\hline a a a a a a & b \\ \hline
aaa
\end{tabular}
\begin{tabular}{m{2em}m{2em}}
aaa
\hline a a a a a a & b \\ \hline b
aaa
\end{tabular}
\begin{tabular}{b{2em}b{2em}}
aaa
\hline a a a a a a & b \\ \hline
aaa b
\end{tabular}
\newcolumntype{z}{>{\raggedleft\arraybackslash}p{2em}}
\begin{tabular}{zz}
\hline a a a a a a a & b b b b b b b \\ \hline
\end{tabular}
aaaa bbbb
aaa bbb
Les commandes \raggedright et \centering peuvent aussi être utilisées.
B Ces commandes redéfinissent \\, qu’il faut rétablir aussitôt avec \arraybackslash.
66 17 avril 2012
10 – Les couleurs
• • • • • • • • • • • • • • • • • •
Le package xcolor
• • • • • • • • • • • • • • • • • • • • • •
La commande
\definecolor{nom}{modèle}{spécification}
définit une couleur nommée nom dans le modèle et les spécifications choisis.
\definecolor{macouleur}{rgb}{rgb}{0.5, 0.2, 0.8} Ù
\definecolor{macouleur}{RGB}{100,150,200} Ù
\definecolor{macouleur}{gray}{0.8} Ù
\definecolor{macouleur}{Gray}{10} Ù
\definecolor{macouleur}{named}{magenta} Ù
\definecolor{macouleur}{cmyk}{0.5,0.2,0.8,0.3} Ù
\definecolor{macouleur}{cmy}{0.5,0.2,0.8} Ù
\definecolor{macouleur}{hsb}{0.5, 0.2, 0.8} Ù
\definecolor{macouleur}{wave}{650.57} Ù
\definecolor{macouleur}{HTML}{43ADF9} Ù
\definecolor{macouleur}{HSB}{10,100,200} Ù
On peut redéfinir une couleur déjà définie à l’aide de cette commande.
17 avril 2012 67
10 – Les couleurs
• • • • • • • • • • • • • • • • • • • • •
68 17 avril 2012
11 – Les images et les graphiques
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
pdflatex permet d’insérer des images aux formats .pdf, .jpg ou .png
Le package epstopdf permet de convertir à la volée des fichiers .eps en .pdf.
\includegraphics[-]{-}, du package graphicx, insère une image.
L’argument obligatoire est le nom d’un fichier d’image (avec son chemin),
l’argument optionnel définit une liste d’options, de la forme clé=valeur :
\includegraphics[width=2cm]{image.png}
\includegraphics[angle=45,origin=c]{dossier/image.pdf}
Les clés principales sont les suivantes :
Clé
Description Exemple
width largeur de l’image width=1cm
height hauteur de l’image height=50pt
scale mise à l’échelle de l’image scale=2
angle angle de rotation (degrés) angle=45
origin origine de la rotation (lrctbB) origin=br
viewport définit la zone à afficher (bp par défaut) viewport=0 0 72 72
trim définit les marges à enlever trim=10 15 5 7
clip définit la zone à afficher clip=true
\includegraphics[width=1.7cm]{pomme.png}
\includegraphics[width=1.2cm]{dos.png}
\includegraphics[width=1.2cm,origin=c,angle=45]{dos.png}
\includegraphics[origin=c,angle=-45,width=1.2cm]{dos.png}
17 avril 2012 69
11 – Les images et les graphiques
• • • • • • • • • • • • • • • • •
Rotations d’objets
CD
ABCD
AB
\rotatebox[origin=c]{45}{ABCD}
CD
ABCD
ABCD
\rotatebox[origin=tr]{90}{ABCD}
\rotatebox[x=0pt,y=15pt]{60}{ABCD} AB
• • • • • • • • • • • • • • • • • • • • • • • • • •
ABCD ABCD
\scalebox{2}[0.5]{ABCD} ABCD
ABCD
ABCD
\scalebox{2}{ABCD}
\scalebox{1}[-2]{ABCD}
ABCD ABCD
\reflectbox{ABCD} DCBA
70 17 avril 2012
11 – Les images et les graphiques
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
ABCD ABCD
\resizebox{1cm}{0.5cm}{ABCD} ABCD
\resizebox{2.5cm}{!}{ABCD} ABCD
\resizebox{!}{15pt}{ABCD} ABCD
\resizebox{\width}{15pt}{ABCD} ABCD
\resizebox{\width}{3\height}{ABCD} ABCD
17 avril 2012 71
72 17 avril 2012
12 – Les flottants
• • • • • • • • • • • • • • • • • • • • •
Un flottant est un objet dont le placement dans le document est déterminé par LATEX.
Ù images, tableaux, courbes, dessins, encarts. . . avec légendes.
L’objet n’est pas placé dans le flux de texte courant contrairement aux autres objets usuels.
Les flottants sont conservés en mémoire jusqu’à ce que LATEX rencontre un endroit adéquat pour les
placer (dans l’ordre d’arrivée).
Ù Parfois cet endroit ne se rencontre qu’à la fin du document.
Ù Un flottant peut bloquer le placement des flottants suivants.
Par défaut, LATEX définit deux environnement flottants : figure et table.
figure s’utilise pour les graphiques, et table s’utilise pour les tableaux.
B Pour insérer un graphique ou un tableau, on n’a pas besoin de ces environnements !
Ces deux environnements ont pour fonctions :
. de placer leur contenu à un endroit du document où il y a suffisamment de place ;
. de placer une légende numérotée renseignée par la commande \caption[-]{-}, de type
Figure ou Tableau ;
. de conserver les données (légende, page, numéro) dans un fichier auxiliaire pour construire
une table des figures ou une table des tableaux.
• • • • • • • • • • • • • • • • • • • • • •
L’environnement figure
17 avril 2012 73
74 17 avril 2012
13 – La bibliographie
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
L’environnement thebibliography
\bibitem{Bert96a} R.~Bertlmann.
\newblock {\em Anomalies in Quantum Field Theory}.
\newblock Oxford Science Publications, 1996.
17 avril 2012 75
76 17 avril 2012
14 – La chimie
• • • • • • • • • • • • • • • • • • • • • •
Le package chemmacros
Commandes diverses :
\Hpl, \HtO, \prt, \Nu, \pH, Ca\pch[2], S\mch[2],
\ch{AgCl2-}, \ch{^{227}_{90}Th+}, \ch{2H2O},
\ch{2 H2O}, \ch{SO4^2-}, \ch{Ca^2+ SO4^2-}
H+, HO+, p+, Nu–, pH, Ca2+ , S2- , AgCl–,
Th , HO, HO, SO , Ca SO
+ – + –
• • • • • • • • • • • • • • • • • • • • • • • • • •
Noms de molécules :
\iupac{\Z\-2\-Butene}
(Z)--Butene
\iupac{Tetra\|cyclo[2.2.2.1\^{1 ,4}]\-un\|decane-2\-dodecyl%
\-5\-(hepta\|decyl\|iso\|dodecyl\|thio\|ester)}
Tetracyclo[... ,]-undecane--dodecyl--(heptadecylisododecylthioester)
Réactions chimiques :
\begin{reaction}
4 Fe + 3 O2 -> 2 Fe2O3 Fe + O FeO {}
\end{reaction}
\ch{A + B ->[a] C}
a
A+B C
\ch{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}
C (s) + HO (l) CO (g) + H (g)
17 avril 2012 77
14 – La chimie
• • • • • • • • • • • • • • • • • • • • • • • • • •
Stéréochimie :
\newman{} \quad \newman(160){1,2,3,4,5,6}
Orbitales atomiques :
\orbital{s} \quad \orbital{p} \quad \orbital{sp}
Pictogrammes :
\ghspic{flame} \ghspic{skull}
• • • • • • • • • • • • • • • • • • •
Le package chemfig
OH
H C CH
H O
OH
C HO OH
H OH
H H C CH
H
CH
78 17 avril 2012
14 – La chimie
• • • • • • • • • • • • • • • • • • • • • • • •
% formule du viagra
\chemfig{N*6((-H_3C)--N(-S(=[::+120]O)(=[::+0]O)%
-[::-60]*6(-=-(-O-[::-60]-[::+60]CH_3)%
=(-*6(=N-*5(-(-[::-60]-[::+60]CH_3)=N%
-N(-CH_3)-=)-(=O)-N(-H)-))-=))--)}
O
CH
H
N
N
O O N
S
N N
N
H C O
CH
CH
17 avril 2012 79
80 17 avril 2012
15 – Le style du document
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
• • • • • • • • • • • • • • • • •
body book, un chapitre commence dans le style plain, les autres pages sont dans le style
Dans la classe
headings par défaut.
!
foot
"bottom
!
• • • • • • • • • • • • • • • • • • • •
Le package fancyhdr
Ces lots de trois cases sont les parties gauches, centrées, droites des entêtes et des pieds.
Les parties optionnelles concernent les pages paires.
Des commandes permettent d’insérer dans ces arguments des données diverses :
– \headrule, \footrule, et variantes. . . pour des filets ;
– \chaptertitle, \sectiontitle. . . pour les titres de chapitres. . .
– \ifthechapter{-}{-}, \ifthesection{-}{-}. . .
82 17 avril 2012
15 – Le style du document
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 83
15 – Le style du document
• • • • • • • • • • • • • • • • • • • • • • • • • • •
84 17 avril 2012
16 – La classe beamer
• • • • • • • • • • • • • • • • • • • • • • •
La classe beamer ² 58 est destinée à créer une présentation à l’ordinateur à partir d’un document
écrit en LATEX.
Les principes généraux de beamer sont les suivants :
– Le document produit est du PDF, qui est projeté avec n’importe quel logiciel ² 59 capable d’afficher
un PDF en plein écran.
– beamer ajoute des commandes spécifiques à LATEX.
– Notion de thèmes, modifiables à volonté avec le langage LATEX.
– Une présentation à l’ordinateur se fait en mode “paysage”.
– beamer bascule sur des fontes sans empattements, y compris pour les mathématiques.
– Le texte est collé à gauche et non pas justifié.
– beamer produit automatiquement une table des matières et fournit une barre de navigation avec
des hyperliens internes.
– beamer ne peut pas produire des effets de transitions riches.
– Avec Adobe Reader ² 60 , on peut utiliser des éléments FLASH ² 61 (animations, vidéos).
• • • • • • • • • • • • • • • • • • • • • • • • • • •
Une présentation sous beamer peut être découpée globalement avec des commandes \part,
\section et \subsection (\subsubsection existe mais l’éviter).
Ù \part n’est utile que dans des séries d’exposés (cours par exemple).
L’unité élémentaire d’une présentation est la diapositive, définie par la commande \frame[-]{-}
ou l’environnement \begin{frame}[-]{-} ... \end{frame}.
Ù Dans la suite on ne considère que l’environnement frame.
Les éléments suivants peuvent être générés automatiquement :
Une diapositive de titre : il faut renseigner le titre de l’exposé, l’auteur, l’institut, la date. . .
Des tables des matières : il est possible de créer des diapositives contenant des tables de matières
de différents niveaux et aspects.
Des diapositives “section” : elles peuvent marquer l’entrée dans une section.
Une annexe : une annexe peut être créée pour “cacher” des diapositives placées au delà de la fin de
l’exposé (réserve pour les questions).
Ù Absente des tables des matières, non comptabilisée dans le total des diapositives.
Concept de “pauses” : chaque diapositive peut être subdivisée pour faire apparaître du texte étape
par étape ( étape = page PDF = slide).
Le compteur beamerpauses indexe ces étapes : il augmente d’une unité par étape définie.
17 avril 2012 85
16 – La classe beamer
• • • • • • • • • • • • • • • • • • •
\documentclass[10pt]{beamer}
beamer charge les packages
\usepackage{etex}
suivants :
\usepackage[utf8]{inputenc}
geometry
\usepackage[TS1,T1]{fontenc}
graphicx
\usepackage[english,french]{babel}
xcolor
\usepackage{lmodern}
pgf
hyperref
\usetheme{Goettingen}
amssymb
\title[Beamer en action]{Beamer en action}
amsmath
\author[T. Masson]{Thierry Masson}
amsfonts
\institute[CPT]{Centre de Physique Théorique}
amsthm
\date[2 avril 2012]{2 avril 2012}
translator
enumerate
\begin{document}
\section{Une première section}
\begin{frame}{Une première diapositive}
Bonjour !
\end{frame}
\end{document}
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
barre de Results
Proof.
There Is No
Largest Prime Euklid of Alexandria Department of Mathematics University of Alexandria
Number There Is No Largest Prime Number
Euklid of
Alexandria
Theorem
Results
There is no largest prime number.
Proof of the Main
Theorem
pied
Proof.
1 Suppose p were the largest prime number.
�
2 Let q := 1 + pi=1 i = 1 + p!.
symboles de
3 Then q is not divisible by any p� ∈ {1, . . . , p}.
4 Thus q > p is also prime. navigation
86 17 avril 2012
16 – La classe beamer
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
L’environnement frame
\begin{frame}
\frametitle{Titre}
\framesubtitle{Sous Titre}
...
\end{frame}
Les commandes \frametitle et \framesubtitle sont optionnelles.
L’option [plain] ôte les barres de navigation et le pied de la diapositive.
\begin{frame}[plain]{Titre} \begin{frame}[plain]
... ...
\end{frame} \end{frame}
Ù Gain d’espace pour le contenu de la diapositive (présentation d’un graphique par ex.).
Par défaut, le texte est centré verticalement dans une diapositive.
Les options t, b et c (défaut) de frame peuvent modifier ce comportement.
17 avril 2012 87
16 – La classe beamer
• • • • • • • • • • • • • • • • • • • •
La diapositive de titre
\begin{frame}[plain] Euklid of
Alexandria
Department of Mathematics
\maketitle
Les champs à renseigner pour créer la diapositive de titre sont :
\title[-]{-} définit le titre de la présentation.
\subtitle[-]{-} définit le sous titre de la présentation.
\author[-]{-} désigne la liste des auteurs séparés par \and.
\institute[-]{-} désigne la liste des instituts séparés par \and.
\date[-]{-} définit la date, et on ajoute souvent le lieu de la conférence.
\titlegraphic{-} désigne un graphique de titre.
Les arguments optionnels dans les commandes ci-dessus sont utilisés pour le rappel des données
sur chaque diapositive. Ù Fournir une version plus courte.
La composition de la diapositive de titre dépend du thème choisi.
Il existe des commandes \partpage, \sectionpage et \subsectionpage.
• • • • • • • • • • • • • • • • • • • • •
Les tables des matières sont composées des titres des sections et des sous-sections.
\tableofcontents[options] avec les options :
sectionstyle= détermine le style de la section courante et des autres sections :
sect. courante/autres sect. avec les valeurs show, shaded, hide.
Si le second est omis, il prend la valeur du premier.
subsectionstyle= détermine de même l’aspect des sous sections :
ss-sect. courante/autres ss-sect. dans la sect. courante/autres ss-sect..
Si le troisième est omis, il prend la valeur du second.
Si le second est omis aussi, les trois prennent la valeur du premier.
currentsection équivaut à
sectionstyle=show/shaded,subsectionstyle=show/show/shaded.
currentsubsection équivaut à subsectionstyle=show/shaded.
hideallsubsections équivaut à subsectionstyle=hide.
hideothersubsections équivaut à subsectionstyle=show/show/hide.
Avec ces options, les tables des matières n’affichent pas nécessairement la même chose à différents
endroits de la présentation.
D’autres options sont disponibles.
Les tables des matières ont des hyperliens internes au document.
88 17 avril 2012
16 – La classe beamer
• • • • • • • • • • • • • •
Les colonnes
17 avril 2012 89
16 – La classe beamer
• • • • • • • • • • • • • • • • • • • • • • • • • • • •
90 17 avril 2012
16 – La classe beamer
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
\textbf, \textit, \textsl, \textrm, \textsf acceptent <étapes> comme premier argument :
\textbf<2-4>{En gras de 2 à 4}
\pause permet de gérer les étapes d’une diapositive en marquant des “pauses”.
• • • • • • • • • • •
Les listes
beamer retient les trois sortes de liste de LATEX : itemize, enumerate et description.
L’apparence de ces listes et de leurs items peut varier selon le thème choisi.
Les items des listes acceptent l’argument <étapes> :
\begin{itemize} \begin{enumerate} \begin{description}
\item<1-> Un \item<+-> Un \item<1-3>[Un]
\item<2-> Deux \item<+-> Deux \item<2-4>[Deux]
\end{itemize} \end{enumerate} \end{description}
Autre syntaxe :
\begin{itemize}[<+->] \begin{enumerate}[<+->]
\item Un \item Un
\item Deux \item<1-> Deux
\item Trois \item Trois
\end{itemize} \end{enumerate}
Ù Raccourci qui fait apparaître les items les uns après les autres sauf mention contraire.
L’énumération reprend les options du package enumerate (déjà chargé) :
\begin{enumerate}[<+->][(i)] ... \end{enumerate}
17 avril 2012 91
16 – La classe beamer
• • • • • • • • • • • • • • • • • • • • • •
\begin{exampleblock}{Un titre}
Du texte en exemple
\end{exampleblock}
Ces trois types de blocs ont chacun une couleur assignée (modifiable).
B Le terme “bloc” est excessif : dans certains thèmes il n’y a pas de bloc dessiné. . .
Ces trois environnements acceptent un argument <> :
\begin{block}<>{-} ... \end{block}
Ù N’affiche le bloc que selon les spécifications de <>, sa place est réservée.
• • • • • • • • • • • • • • • • • • •
92 17 avril 2012
16 – La classe beamer
• • • • • • • • • • • • • • • • • •
Les mathématiques
Les mathématiques dans beamer sont les mêmes que dans LATEX.
Les packages amsmath et amsthm sont chargés par défaut (sauf avec l’option noamsthm).
Les environnements theorem, corollary, definition, definitions, fact, example,
examples sont définis et se présentent comme des blocs.
\newtheorem et \theoremstyle sont disponibles (syntaxe de amsthm).
\theoremstyle{plain}
\newtheorem{proposition}[theorem]{Proposition}
\theoremstyle{example}
\newtheorem{remark}[theorem]{Remarque}
Ces environnements acceptent automatiquement un argument <> :
\begin{definition}<>{-} ... \end{definition}
Ù Apparition du bloc en entier.
Ù Insérer des \uncover<>{-} à l’intérieur pour affiner les étapes.
• • • • • • • • • • • • • • • • • • • • • • • • • •
De nombreux buts sont déjà définis par beamer auxquels on peut accéder avec les commandes :
\hyperlinkslideprev{texte}, \hyperlinkslidenext{texte},
\hyperlinkframestart{texte}, \hyperlinkframeend{texte},
\hyperlinkframestartnext{texte}, \hyperlinkframeendprev{texte}. . .
17 avril 2012 93
16 – La classe beamer
• • • • • • • • • • • • • • • • • • • •
La barre de navigation
Par défaut, une barre de navigation est insérée en bas à droite des diapositives.
Elle permet de naviguer dans le document grâce à des hyperliens internes.
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
On peut interrompre une diapositive, en insérer d’autres, puis la continuer plus loin.
Tout le code de la diapositive interrompue est donné dans son environnement frame.
Ù Les spécifications <étapes> désignent son affichage la première fois.
Ù Un label interne framelabel lui est attribué pour l’utiliser plus tard avec la commande :
\againframe<étapes>{framelabel}
Possible d’utiliser plusieurs fois \againframe<>{-} pour la même diapositive.
\begin{frame}<1-5>[label=diapo]{Titre}
Contenu total
\end{frame}
autres diapositives
\againframe<6-7>{diapo}
autres diapositives
\againframe<8->{diapo}
B Éviter des valeurs de beamerpauses qui se chevauchent (“multiply-defined labels”).
94 17 avril 2012
16 – La classe beamer
• • • • • • • • • • • • • • •
Quelques trucs
Il est possible d’écraser verticalement une diapositive qui serait trop longue :
\begin{frame}[squeeze]{Titre} \begin{frame}[shrink=5]{Titre}
Texte un peu trop long Texte un peu trop long
\end{frame} \end{frame}
squeeze réduit certains espaces verticaux à zéro.
shrink réduit globalement le contenu de la diapositive du pourcentage donné.
Ù Le contenu de la diapositive est réellement réduit, y compris la taille des caractères !
Ajouter automatiquement une table des matières à chaque début de section :
\AtBeginSection[]{
\begin{frame}
\frametitle{\insertsection}
\tableofcontents[currentsection,hideothersubsections]
\end{frame}
}
\AtBeginSection installe du matériel à chaque début de section.
Il existe aussi \AtBeginPart, \AtBeginSubsection et \AtBeginLecture
• • • • • • • • • • • • • • • • • • • • • • • • • • • •
Le package TikZ est compatible avec beamer (même créateur : Till Tantau).
Il fonctionne avec la commande \uncover<>{-}.
Il est possible de créer des graphiques dynamiques.
Il est possible de relier entre eux des éléments dans une diapositive.
Ù Lire la documentation de TikZ pour plus de renseignements.
Position absolue : avec le package textpos, il est possible de placer des objets de façon absolue
dans une diapositive.
Ù Voir la documentation de ce package.
Lire la documentation de beamer pour plus de renseignements.
17 avril 2012 95
16 – La classe beamer
• • • • • • • • • • • • • • • • • • • • • •
Le package multimedia
Insertion de vidéos (.mp4, .flv) grâce à des lecteurs FLASH : JW Player ² 63 ou FLV Player ² 64 :
\flashmovie[width=200pt,height=110pt,image=preview.jpg,%
engine=jw-player,auto=0,controlbar=1]{video.mp4}
Le fichier player_flv_maxi.swf du lecteur FLV Player est déjà installé.
B JW Player est la solution la plus compatible avec beamer.
Seul le fichier player.swf de JW Player est nécessaire.
Le fichier PDF contient les fichiers FLASH et les vidéos. Ù Un seul fichier à distribuer.
Lire la documentation dans le fichier flashmovie.sty lui-même.
Autre package semblable : media9 ² 65 .
96 17 avril 2012
16 – La classe beamer
• • • • • • • • • • • • • • • • • • • • • •
17 avril 2012 97
16 – La classe beamer
• • • • • • • • • • • • • • •
Conseils divers
– La mise en page sous forme de listes est très efficace pour segmenter les idées.
– Le découpage d’une diapositive en étapes permet de synchroniser parole et visuel.
Mais éviter les éléments cachés sous forme “transparent”. . .
– Les couleurs :
– Ne surtout pas abuser de couleurs diverses et variées.
Ù Codifier une fois pour toute le choix des couleurs.
– Ne pas jouer trop finement avec les effets de couleurs : les vidéoprojecteurs ne sont pas fidèles
en matière de rendu des couleurs et des contrastes.
Ù Tester certaines couleurs avant de les adopter (ou de les rejeter).
– Penser aux daltoniens. . .
– Si le fond des diapositives est coloré, prévoir des figures avec fond transparent.
Ù Sinon encadrer l’image pour marquer ses bords.
– Ne pas surcharger une diapositive :
– dans son contenu ;
– dans les éléments structurants, informatifs, graphiques et visuels qui la composent.
– Faire la chasse aux polices à empattement, surtout dans le mode mathématique.
Ù Éradiquer les \mathrm{-} de toutes les commandes personnelles !
– Inutile de numéroter les équations.
98 17 avril 2012
URLs des liens cités dans le texte
²1
http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf
²2
http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf
²3
http://home.gna.org/latexrefman/
²4
http://www.ctan.org/characterization/primary/
²5
http://en.wikibooks.org/wiki/LaTeX
²6
http://detexify.kirelabs.org/classify.html
²7
http://www.tug.org/pracjourn/
²8
http://latex-community.org/
²9
http://texblog.net/
² 10
http://science.thilucmic.fr/spip.php?article5
² 11
http://www.latex-community.org/forum/
² 12
http://fr.wikipedia.org/wiki/Bloc-notes_(Windows)
² 13
http://fr.wikipedia.org/wiki/Emacs
² 14
http://fr.wikipedia.org/wiki/Pico_(logiciel)
² 15
http://fr.wikipedia.org/wiki/Textedit
² 16
http://fr.wikipedia.org/wiki/Word
² 17
http://fr.wikipedia.org/wiki/Openoffice
² 18
http://fr.wikipedia.org/wiki/Publication_assistée_par_ordinateur
² 19
http://fr.wikipedia.org/wiki/Indesign
² 20
http://fr.wikipedia.org/wiki/QuarkXPress
² 21
http://fr.wikipedia.org/wiki/Scribus
² 22
http://fr.wikipedia.org/wiki/Html
² 23
http://fr.wikipedia.org/wiki/TeX
² 24
http://www.latex-project.org/
² 25
http://fr.wikipedia.org/wiki/DVI_(TeX)
² 26
http://fr.wikipedia.org/wiki/Pdf
² 27
http://www.tug.org/texlive/
² 28
http://www.tug.org/texworks/
² 29
http://pages.uoregon.edu/koch/texshop/
² 30
http://www.xm1math.net/texmaker/index_fr.html
² 31
http://www.gnu.org/software/emacs/
² 32
http://aquamacs.org/
² 33
http://www.texniccenter.org/
² 34
http://www.winedt.com/
² 35
http://www.gnu.org/software/auctex/
² 36
http://jabref.sourceforge.net/
² 37
http://home.gna.org/kbibtex/
² 38
http://aspell.net/
² 39
http://www.tug.org/mactex/
² 40
http://bibdesk.sourceforge.net/
² 41
http://code.google.com/p/mactlmgr/
² 42
http://cocoaspell.leuski.net/
² 43
http://www.ctan.org/search.html
² 44
http://www.ctan.org/
² 45
http://fr.wikipedia.org/wiki/Windows-1252
² 46
http://fr.wikipedia.org/wiki/MacRoman
² 47
http://fr.wikipedia.org/wiki/ISO_8859-1
² 48
http://www.unicode.org/
² 49
http://www.tug.org/pracjourn/2006-1/robertson/
² 50
http://www.gust.org.pl/projects/e-foundry/tex-gyre/
² 51
http://www.tug.dk/FontCatalogue/
² 52
http://www.ctan.org/tex-archive/info/Free_Math_Font_Survey/survey.html
² 53
http://fr.wikipedia.org/wiki/Point_(unité)
² 54
http://fr.wikipedia.org/wiki/Point_pica
² 55
http://fr.wikipedia.org/wiki/Point_Didot
² 56
http://fr.wikipedia.org/wiki/Unité_Cicéro
² 57
http://www.ctan.org/tex-archive/macros/latex/contrib/xcolor/xcolor.pdf
² 58
https://bitbucket.org/rivanvx/beamer/wiki/Home
² 59
http://en.wikipedia.org/wiki/List_of_PDF_software
² 60
http://fr.wikipedia.org/wiki/Adobe_Acrobat
² 61
http://fr.wikipedia.org/wiki/Adobe_Flash
17 avril 2012 99
URLs des liens cités dans le texte
² 62
http://www.ctan.org/tex-archive/macros/latex/contrib/flashmovie
² 63
http://www.longtailvideo.com/players/jw-flv-player/
² 64
http://flv-player.net/
² 65
http://www.ctan.org/tex-archive/macros/latex/contrib/media9
² 66
http://www.hartwork.org/beamer-theme-matrix/
² 67
http://latex.simon04.net/
² 68
http://science.thilucmic.fr/spip.php?article35