Introduction à LATEX

Transcription

Introduction à LATEX
Introduction à LATEX
Antoine Pierquin
17 septembre 2014
1
Table des matières
1 Entête du fichier .tex
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
4
4
2 Structure du document
2.1 Page de titre . . . . . . . . . . . . . .
2.2 Chapitres, sections,... . . . . . . . . .
2.3 Exemple de sous-section . . . . . . .
2.3.1 Exemple de sous-sous-section
2.4 Annexes . . . . . . . . . . . . . . . . .
2.5 Table des matières . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
5
5
5
6
6
3 Mise en page, mise en forme du texte
3.1 Espaces, saut de ligne, saut de page
3.2 Alignement du texte . . . . . . . . . .
3.3 Style du texte . . . . . . . . . . . . . .
3.4 Taille du texte . . . . . . . . . . . . .
3.5 Listes . . . . . . . . . . . . . . . . . .
3.6 Notes de bas de page . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
7
7
8
9
10
1.1
1.2
Classe du document . . . .
Extensions . . . . . . . . .
1.2.1 Encodage du texte .
1.2.2 Choix de la langue
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Label et référence
10
5 Des images, des figures
11
6 Bibliographie
6.1 Fichier .bib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Citer et créer la bibliographie . . . . . . . . . . . . . . . . . . . . . .
6.3 Nom de la bibliographie . . . . . . . . . . . . . . . . . . . . . . . . .
12
12
13
14
7
.
.
.
.
14
14
14
16
16
8 Compilation
8.1 Compilation latex . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Compilation pdflatex . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
17
17
Mathématiques
7.1 Mathématiques dans du texte . . . .
7.2 Mathématiques dans une équation .
7.3 Espaces . . . . . . . . . . . . . . . . .
7.4 Bases de la rédaction mathématique
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
Entête du fichier .tex
Les informations primordiales à renseigner au début du fichier .tex sont la
classe du document, l’encodage du texte et le choix de la langue.
1.1
Classe du document
La première information à renseigner dans le fichier source est la classe du
document, par la commande :
\documentclass[options]{classe}
La variable classe est choisie parmi les choix prédéfinis suivant, ou indique une classe personnalisée ( par exemple IEEEtran) :
– article pour des articles scientifiques, des rapports courts...
– report pour des thèses,...
– book pour des livres
– beamer pour des présentations type “transparents”
– proc pour des comptes-rendus
– minimal pour une configuration minimale
– slides pour des transparents (plutôt utiliser la classe beamer)
La variable options permet de définir l’orientation du papier, le format du
papier, la taille de la police, ... par les mots-clés principaux suivants :
– landscape pour définir l’orientation du papier en mode paysage (portrait
par défaut)
– a4paper,b5paper pour définir le format du papier
– 10pt,11pt,12pt pour définir la taille de la police
– onecolumn,twocolumn pour définir une ou deux colonnes
– oneside,twoside pour une sortie en recto simple ou en recto-verso
Pour compléter cette liste, il existe également les options : fleqn, leqno, titlepage, notitlepage, openright, openany.
Ce document est défini par la commande :
\documentclass[a4paper,12pt]{article}
1.2
Extensions
Pour spécifier des options au fichier source .tex, il faut faire appel à des
packages par la commande :
\usepackage[options]{package}
Nous étudions dès maintenant les packages commandant à l’encodage du
texte et à la langue. Des packages spécifiques seront étudiés plus tard.
3
1.2.1
Encodage du texte
La manière dont seront codés les caractères du fichier .tex est définie à l’aide
du package inputenc, ce qui permet notamment de gérer les accents. Nous
conseillons de se borner à utiliser ce package avec l’option utf8 qui permet une
compatibilité avec tous les systèmes d’exploitation :
\usepackage[utf8]{inputenc}
1.2.2
Choix de la langue
Pour que le document en sortie respecte les règles typographiques et les
accents spéciaux d’une langue donnée, il faut préciser dans le fichier source la
langue en question. Pour ce faire, il faut utiliser le package de support multilingue babel :
\usepackage[langues]{babel}
Il est possible de rentrer plusieurs langues, mais seule la dernière langue
de la liste sera activée. Pour activer une des autres langues indiquées dans le
document, il faudra utiliser la commande :
\selectlanguage{langues}
Pour ce document, la langue française est utilisée :
\usepackage[francais]{babel}
2
Structure du document
Une fois l’entête du fichier source codée, nous pouvons passer à la rédaction
du document proprement dite. Outre certaines options comme le titre, le nom
de l’auteur,... , tout ce qui se trouvera dans le document doit être rédigé entre
les mots-clés :
\begin{document}
...
\end{document}
2.1
Page de titre
La page de titre est générée automatiquement par LATEXau moyen de la commande :
\maketitle
4
à placer après la commande \begin{document}.
Le contenu de la page de titre est lui renseigné avant \begin{document}. Il
faut indiquer le titre, le ou les auteurs et éventuellement la date :
\title{titre}
\author{auteurs}
\date{date}
Notons que si la commande date n’est pas utilisée, la date est mise par
défaut à la date du jour de compilation. Pour ne pas l’afficher, la commande
\date{} avec un champ vide suffit.
Enfin, il est possible de réaliser soit même la page de titre par la commande :
\begin{titlepage}
...
\end{titlepage}
2.2
Chapitres, sections,...
Pour structurer le document, LATEXpropose le découpage hiérarchique suivant :
\part{nom de la partie}
\chapter{nom du chapitre} 1
\section{nom de la section}
\subsection{nom de la sous-section}
\subsubsection{nom de la sous-sous-section}
\paragraph{nom du paragraphe}
\subparagraph{nom du sous-paragraphe}
Ici le document est structuré avec des sections. Voici un exemple du découpage proposé :
2.3
2.3.1
Exemple de sous-section
Exemple de sous-sous-section
Exemple de paragraphe
Exemple de sous-paragraphe Notez que la numérotation est gérée
par LATEX, et que les paragraphes et sous-paragraphes ne sont pas numérotés.
Il est possible de supprimer la numérotation en rajoutant le symbole * dans les
commandes :
1. uniquement pour les classes book et report
5
\part*{nom de la partie}
\chapter*{nom du chapitre} 2
\section*{nom de la section}
\subsection*{nom de la sous-section}
\subsubsection*{nom de la sous-sous-section}
\paragraph*{nom du paragraphe}
\subparagraph*{nom du sous-paragraphe}
Voici le même exemple avec l’option en question :
Exemple de sous-section
Exemple de sous-sous-section
Exemple de paragraphe
Exemple de sous-paragraphe
2.4
Annexes
Pour ajouter des annexes, le mot-clé \appendix placé dans le fichier source
indiquera que les chapitres ou sections suivants seront des annexes, et seront
donc indexés par des lettres.
2.5
Table des matières
La création de la table des matières se fait de manière automatique par la
commande :
\tableofcontents
La table des matières sera insérée à l’endroit où la commande est invoquée.
Il est à noter que les paragraphes et sous-paragraphes ne sont pas repertoriés dans la table des matières, de même que les commandes avec le symbole
*. De plus, il est généralement nécessaire de procéder à deux compilations du
fichier source pour que la table des matières soient bien éditée.
3
Mise en page, mise en forme du texte
3.1
Espaces, saut de ligne, saut de page
LATEX gère automatiquement les espacements dans le document. Cependant, il est possible de forcer des espaces. Le caractère tilde ˜ permet ainsi de
créer un espace dit insécable (pas de passage à la ligne entre deux mots séparés
2. uniquement pour les classes book et report
6
par ce symbole). Ensuite, les commandes \medskip et \bigskip permettent
de forcer un espace vertical plus ou moins grand.
Le passage à la ligne peut se faire de la manière classique dans le fichier
source. Mais il peut aussi être créé par le symbole \\, qui permet un passage à
la ligne sans commencer un nouveau paragraphe.
Enfin, forcer un passage à la page suivante s’effectue grâce à la commande
\newpage ou \clearpage.
3.2
Alignement du texte
Il est évidemment possible de choisir l’alignement du texte dans le document. Par défaut, l’alignement se fait sur la gauche. Mais il est possible de le
forcer par l’environnemnt commande :
\begin{flushleft}
...
\end{flushleft}
Pour un alignement à droite :
\begin{flushright}
...
\end{flushright}
Enfin pour centrer votre texte, utilisez la commande :
\begin{center}
...
\end{center}
3.3
Style du texte
Plusieurs commandes ou options existent pour modifier la mise en forme
du texte. Il est possible de mettre une partie du texte en gras, en italique, de le
souligner.
Pour mettre du texte en gras ou en italique :
\textbf{texte à mettre en gras}
\textit{texte à mettre en italique}
Un autre environnement permet la mise en emphase du texte :
\emph{texte à mettre en emphase}
Le soulignage d’un mot se fait par la commande :
\underline{texte à souligner}
7
De plus, il existe des environnements pour préciser la police à utiliser :
\textrm{texte à mettre en Roman}
\textsf{texte à mettre en Sans Serif}
\texttt{texte à mettre en Type Writer}
Enfin, un environnement est dédié aux majuscules :
\textsc{Nom}
avec un rendu particulier :
Nom
3.4
Taille du texte
Les mots-clés suivants permettent de modifier la taille des caractères :
\tiny{texte}
\scriptsize{texte}
\footnotesize{texte}
\small{texte}
\normalsize{texte}
\large{texte}
\Large{texte}
\LARGE{texte}
\huge{texte}
\Huge{texte}
Dont voici un aperçu :
texte
texte
texte
texte
texte
texte
texte
texte
texte
texte
8
3.5
Listes
LATEXpropose plusieurs environnements pour créer des listes. La forme la
plus simple est l’environnement itemize, qui dépend fortement de la langue
du package babel :
\begin{itemize}
\item Premier élément de la liste,
\item Deuxième élément de la liste.
\end{itemize}
Ainsi une liste avec la langue française présentera des tirets, là où une liste
en anglais aurait présentée des points • :
– Premier élément de la liste,
– Deuxième élément de la liste.
Il est possible de créer une liste sans tiret par l’environnement description :
\begin{description}
\item Premier élément de la liste,
\item Deuxième élément de la liste.
\end{description}
Ce qui donne :
Premier élément de la liste,
Deuxième élément de la liste.
Les environnements itemize et description peuvent être personnalisés en
rajoutant une option à l’item :
\begin{description}
\item[+] Premier élément de la liste,
\item[+] Deuxième élément de la liste.
\end{description}
Ce qui donne pour itemize :
+ Premier élément de la liste,
+ Deuxième élément de la liste.
et pour description :
+ Premier élément de la liste,
+ Deuxième élément de la liste.
9
Pour créer une liste numérotée :
\begin{enumerate}
\item Premier élément de la liste,
\item Deuxième élément de la liste.
\end{enumerate}
Ce qui donne :
1. Premier élément de la liste,
2. Deuxième élément de la liste.
3.6
Notes de bas de page
Pour créer des notes de bas de page qui seront indiquées par un chiffre en
exposant 3 , il faut utiliser l’environnement :
\footnote{texte à mettre en bas de page}
là où doit apparaître l’exposant. La numérotation est gérée par LATEX.
4
Label et référence
Une des forces de LATEX est la possibilité de recourir à des label pour faire
référence à des pages, des parties du document, des figures ou même des équations. Ainsi, en plaçant la commande :
\label{nom du label}
à l’endroit auquel on souhaite se reporter, il est très facile d’y faire référence
par la commande :
\ref{nom du label}
Pour rajouter la page de la référence :
\pageref{nom du label}
Et pour faire référence à une équation :
\eqref{nom du label}
Par exemple, la commande \label{subsection:titre} plaçée dans la soussection concernant la page de titre permet facilement de faire référence à cette
sous-section et à sa page par les commandes \ref{subsection:titre} et \pageref{subsection:titre}.
Donc pour la page de titre, se reporter à la partie 2.1, page 4. Pour voir une
équation sur plusieurs lignes, voir page 15 l’équation (4).
De même que pour la table des matières, deux compilations sont nécessaire
pour que les références soient effectives.
3. comme ceci
10
5
Des images, des figures
Pour pouvoir inclure des images dans un document produit par LATEX, il
faut ajouter dans l’entête du fichier le recours au package graphicx :
\usepackage{graphicx}
Il est alors possible d’inclure une image par la commande :
\includegraphics[options]{chemin du fichier}
Le chemin du fichier à renseigner peut être le chemin complet du fichier à
insérer, ou bien uniquement le nom du fichier, mais ce dernier ne sera trouvé
que si le fichier se trouve dans le même dossier que le fichier .tex. Pour préciser
d’autres dossiers où peuvent se trouver des fichiers images, il faut ajouter au
préambule la commande :
\graphicspath{{chemin du dossier 1/}{chemin du dossier 2/}}
Les options permettent de préciser l’échelle (scale=0.5), la largeur (width=5cm),
la hauteur (height=7pt) de l’image. Par exemple,
\includegraphics[width=0.25\textwidth]{Tux} permet d’introduire une image
de notre bon vieux Tux qui prendra en largeur 41 de la largeur de la zone de
texte. Quand une seule des dimensions est précisée, la seconde est déduite par
une mise à l’échelle par rapport à la dimension initiale de l’image.
Si la commande \includegraphics permet d’insérer une image, elle ne
permet pas de lui appliquer une légende ni même un label. Il faut pour cela
placer un environnement d’objet flottant de type figure. Ce type d’environnement permet d’attribuer à la figure un numéro, une légende et éventuellement
un label pour y faire référence, comme pour la figure 1 :
\begin{figure}[position]
\centering (optionnel) \usepackage[options]{chemin du fichier}
\caption{légende} (optionnel) \label{label de la figure} (optionnel)
\end{figure}
Le positionnement de la figure peut-être problématique, puisque LATEX suit
des règles de placement qui ne sont pas toujours facilement contournables.
L’option position peut prendre les valeurs :
11
h pour placer la figure à l’emplacement de la commande (here)
t pour placer la figure en haut (top) d’une page
b pour placer la figure en bas (bottom) d’une page
p pour placer la figure sur une page à part contenant les figures
! pour ne pas prendre en compte les règles de placement internes
On peut aussi fournir des combinaisons du type [ !htp] pour tenter de mettre
la figure ici en priorité, sinon en haut, sinon sur une page à part. Par défaut la
règle est [tbp].
Attention : le package graphicx ne prend pas en charge le même type
d’images selon la compilation utilisée (voir section 8, page 17).
Figure 1 – Notre bon vieux Tux !
6
Bibliographie
Nous décrivons ici comment réaliser une bibliographie au moyen d’un fichier .bib qui contiendra toutes les informations des ouvrages cités dans le
document.
6.1
Fichier .bib
Le fichier .bib, nommé ici mabiblio.bib, répertorie l’ensemble des références
à citer dans le document, avec différents champs pour chaque référence ainsi
qu’un identifiant. Voici un exemple de champs à remplir pour un article et
pour un livre :
@Article{identifiant de l’article,
author = {nom des auteurs },
title = {titre de l’article },
journal = {nom du journal },
year = {année de publication },
12
volume = {numéro du volume },
number = {numéro de l’article },
pages = {numéros des pages },
month = {mois de publication },
}
@Book{identifiant du livre,
author = {nom des auteurs },
editor = {nom de l’éditeur },
title = {titre du livre },
publisher = {nom de l’éditeur },
year = {année de publication },
volume = {numéro du volume },
edition = {nom de l’édition },
month = {mois de publication },
}
6.2
Citer et créer la bibliographie
Une fois le fichier .bib créé, il faut dans notre fichier source .tex choisir le
style de la bibliographie et lui indiquer quel est le fichier contenant la bibliographie. Pour ce faire, à l’endroit où vous voulez faire apparaître votre bibliographie, utilisez les commandes :
\bibliographystyle{style}
\bibliography{nom du fichier .bib}
Ensuite, pour citer les références contenues dans le .bib, il suffit d’utiliser
la commande :
\cite{identifiant}
où identifiant correspond à l’identifiant rentré dans le .bib pour désigner la
référence. Pour faire apparaître dans la bibliographie des références non citées,
utilisez la commande \nocite{identifiant}, voire même \nocite{*} pour faire
apparaître toutes les références du .bib.
Avec ce type de bibliographie, la compilation devra être exécutée en trois
temps : une première compilation latex (ou pdflatex), une compilation bibtex
et enfin une deuxième compilation latex (ou pdflatex).
Enfin, citons comme style possible de bibliographies les options : plain, alpha, abbr, unstr.
13
6.3
Nom de la bibliographie
Le nom de la partie bibliographie sera différente selon la classe du document. Ainsi, dans la classe report ou book, la partie portera bien le nom de
“Bibliographie”. Alors que dans la classe article elle portera le nom de “Références”.
Pour changer le nom de la bibliographie en “Bibliographie” au lieu de “Références” dans la classe article, il faut rajouter dans l’entête du fichier :
\addto\captionsfrench{\renewcommand{\refname}{\bibname}}
7
Mathématiques
Un des avantages majeur de LATEX est la rédaction propre et souple de formules mathématiques. Il faut pour cela charger l’environnement amsmath en
préambule du fichier .tex :
\usepackage{amsmath}
7.1
Mathématiques dans du texte
Pour introduire des formules mathématiques au sein d’une phrase, il faut
écrire cette formule entre deux symboles dollar $ :
L’image prend $\frac{1}{4}$ de la largeur.
affichera
L’image prend
1
4
de la largeur.
L’ajout de l’option \displaystyle permet d’écrire la formule comme si elle
était dans un environnement displaymath (voir ci-après) :
L’image prend $\displaymath \frac{1}{4}$ de la largeur.
affichera
L’image prend
7.2
1
de la largeur.
4
Mathématiques dans une équation
Pour écrire une équation proprement dite, il faut utiliser un environnement
displaymath à l’aide des symboles :
\[ . . .\]
Cet environnement crée des équations non numérotées. Pour créer des équations indexées d’un numéro, il faut utiliser l’environnement equation :
14
\begin{equation}
...
\end{equation}
Voici un rendu de ces environnements :
y = ax + b
y = ax + b
(1)
Pour créer des équations sur plusieurs lignes, il est possible d’utiliser la
commande align :
\begin{align}
y & = x(ax+b)\\
& = axˆ2+bx
\end{align}
le symbole & permettant d’indiquer sur quel caractère aligné les équations.
y = x(ax + b)
(2)
2
(3)
= ax + bx
Chaque ligne comporte un numéro. Pour enlever tous les numéros, rajoutez
une étoile * à la commande :
\begin{align*}
...
\end{align*}
Et pour supprimer la numérotation d’une seule ligne ajouter \nonumber à
cette ligne :
\begin{align}
y & = x(ax+b)\\
& = axˆ2+bx \nonumber
\end{align}
y = x(ax + b)
(4)
2
= ax + bx
Des alternatives comme les environnements \multline, \eqnarray, \array
peuvent aussi être utilisés.
15
7.3
Espaces
Dans le mode mathématique, les espaces doivent être codés. Voici le code
des espacements du plus petit au plus grand :
x y
x\,y
x\:y
x\;y
x\ y
x\quad y
x\qquad y
et leur rendu (notez que la première ligne ne présente pas d’espace) :
xy
xy
xy
xy
xy
x
y
x
7.4
y
Bases de la rédaction mathématique
Deux symboles sont primordiaux pour la rédaction mathématique :
_ permet de mettre un caractère en indice : $ x_2 $ donne x2
ˆ permet de mettre un caractère en exposant : $ xˆ2 $ donne x2
Ces symboles agissent uniquement sur le caractère qui les suit. Pour qu’ils
agissent sur tout un groupe de caractère, il faut rajouter des accolades : _{ } ou
ˆ{ }.
_{ } permet de mettre des caractères en indice : $ x_{12} $ donne x12
ˆ{ } permet de mettre des caractères en exposant : $ xˆ{12} $ donne x12
Ces mêmes symboles sont utilisés pour mettre en forme certains opérateurs
mathématiques, comme l’opérateur somme ou l’intégrale :
\[ \sum_{i=1}ˆn \quad \prod_{i=1}ˆn \quad \int_{t=0}ˆT \]
16
donne
n
X
n
Y
i=1
i=1
Z
T
t=0
LATEXpeut aussi gérer automatiquement la taille des parenthèses et des accolades dans une formule, gràce aux commandes : \left( ...\right).
\[ \left\lbrace \left( \frac{1}{2}+\frac{1}{4} \right) \times
\left( \frac{a}{b}+\frac{c}{d} \right) \right\rbrace \]
donne
1 1
+
2 4
×
a
b
+
c
d
Ces simples indications devraient vous permettrent de produire toutes sortes
de formules mathématiques. Pour ce qui concerne le codage des symboles mathématiques, une liste très complète des symboles et de leurs codes est disponible dans [1] ; de plus, la plupart des éditeurs de texte dédiés à la rédaction
en LATEXfournissent des onglets de sélection des symboles mathématiques pour
plus de simplicité (Texmaker par exemple).
8
Compilation
Nous évoquerons ici deux types de compilation qui permettent d’obtenir
un document au format PDF.
8.1
Compilation latex
La compilation de base est la compilation latex. Celle-ci à “l’inconvénient”
de ne prendre en compte que des images au format EPS (avec le package graphics).
Cette compilation entraîne la génération d’un fichier au format DVI.
Deux solutions pour passer du DVI au PDF : soit une conversion directe
d’un format à l’autre (dvipdfm),soit une conversion de DVI à PS (dvips), puis
de PS à PDF (ps2pdf).
8.2
Compilation pdflatex
La compilation pdflatex permet d’obtenir directement un document au
format PDF. De plus, le package graphics prend alors en compte de nombreux formats d’image tels que PNG, PDF, JPG, MPS ; mais il ne prend pas en
compte le EPS. Cependant, il est toujours possible de passer d’un EPS à un
PDF (epstopdf).
17
Références
[1] Tobias Œtiker et Hubert Partl et Irene Hyna et Elsabeth Schlegl. Une courte
( ?) introduction à LATEX2e, avril 2011.
[2] Céline Chevalier. LateX pour l’impatient. Technique & Pratique. H&K,
2009.
[3] Johannes Braams. Babel, a multilingual package for use with LATEX’s standard document classes, 2009.
18