Introduction à LATEX sur MacOS X
Introduction à LATEX sur MacOS X
Fabien Conus
20 février 2004
TABLE DES MATIÈRES 2
3 La structure du document 18
3.1 La structure du document en LATEX . . . . . . . . . . . . . . . 18
3.2 Les références . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Les notes de bas de page . . . . . . . . . . . . . . . . . . . . . 22
5 Les mathématiques 33
6 Compléments et conclusion 40
6.1 Les oublis et les compléments . . . . . . . . . . . . . . . . . . 40
6.1.1 Les césures . . . . . . . . . . . . . . . . . . . . . . . . 40
6.1.2 L’orthographe . . . . . . . . . . . . . . . . . . . . . . . 40
6.1.3 La grammaire . . . . . . . . . . . . . . . . . . . . . . . 41
6.1.4 La fragmentation . . . . . . . . . . . . . . . . . . . . . 41
6.1.5 Les images EPS . . . . . . . . . . . . . . . . . . . . . . 42
6.1.6 Les macros . . . . . . . . . . . . . . . . . . . . . . . . 42
6.2 Compléments propres à pdflatex . . . . . . . . . . . . . . . . 43
6.2.1 hyperref . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.2.2 pdfsync . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.4 Quelques liens . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1 Introduction 3
1 Introduction
Vous avez certainement souvent entendu parler de LATEX. Sous cet acronyme
mystérieux, un peu effrayant, se cache un programme rassemblant autant de
fidèles que de détracteurs. A la demande de plusieurs personnes, et suite aux
nombreux débats sur l’avenir de FrameMaker, j’ai décidé d’aborder ce vaste
sujet, en partie afin de le démythifier.
La tâche est rendue difficile par le fait qu’il existe une multitude de docu-
ments et de sites web vous proposant de découvrir LATEX, et je tenais à tout
prix à éviter de faire du plagiat ou à tomber dans la redondance. J’ai donc
pris le parti de faire une approche de LATEX en même temps que le test d’un
éditeur dédié à ce programme et tournant sous MacOS X.
Ce texte sera donc exclusivement orienté MacOS X, même s’il pourra aisé-
ment être appliqué à d’autres plate-formes.
Car c’est bien là une des forces de LATEX : il tourne sur toutes les plate-formes
connues, de l’Amiga à Linux en passant par Solaris, BSD, darwin, Windows
ou DOS. Bienvenue dans le monde merveilleux du logiciel libre !
Voyons comment ça se passe sur notre machine.
1.1 Késako ?
En 1978, Donald E. Knuth désire créer un programme permettant d’obtenir
sans peine de beaux documents. Il créé alors le formateur de texte TEX, qui
se prononce "tek" car il était également destiné à écrire des mathématiques
(c’est donc un amalgame de "texte" et "tech"). La syntaxe de TEXest toute-
fois assez complexe, et en 1982, L. Lamport créé LATEX, une couche de macros
au-dessus de TEXfacilitant son utilisation. Pour faire une comparaison, on
pourrait dire que LATEX est à TEX, ce que l’HTML est au SGML.
Pour une histoire détaillée de TEX et LATEX, vous pouvez consulter ce site.
Ce que je veux dire par là, c’est que la différence fondamentale entre Word et
LATEX c’est que ce dernier vous demande de vous concentrer uniquement sur
le fond et pas du tout sur la forme. Tandis que le programme de Microsoft
vous demande de vous occuper des deux.
1.2 Installation 4
Avec LATEX, vous entrez votre texte et il s’occupe de faire la mise en page
(vous devrez quand même lui donner quelques indications). La conséquence
de cela est que vous ne travaillez pas en WYSIWYG (what you see is what
you get, ce que vous voyez est ce que vous obtenez) comme c’est le cas avec
Word et les traitements de texte. Avec ces derniers il n’y a (en principe)
pas de différence entre ce que vous voyez à l’écran et ce qui sortira de votre
imprimante.
Bref, les exemples sont légion, un traitement de texte est censé vous faciliter
la vie et en fait il la pourrit !
Grâce à LATEX tous ces soucis s’envolent, vous ne vous concentrez que sur le
contenu.
A l’instar de l’HTML, vous allez créer un "code" LATEX contenant votre texte
et quelques commandes de mise en page. Ce code sera alors interprété par le
programme LATEX, tout comme l’HTML est interprété par votre navigateur,
nous appellerons ça la "compilation".
1.2 Installation
Pour installer LATEX sur notre machine, la meilleure solution est de passer
par i-Installer que j’avais testé il y a quelque temps. Les paquets à installer
sont les suivants :
– TeX
– CM Super for TeX
Je n’entre pas dans les détails de l’installation et je vous renvoie à mon test
pour plus d’informations.
1.3 Compilation
Je ne vais pas m’attarder sur la compilation "à la main" d’un code LATEX,
mais pour des raisons historiques je tiens à mentionner quelques petites
choses.
Mais je vous connais, vous ne voulez pas mettre les mains dans le Terminal,
et vous avez raison. C’est là qu’interviennent les éditeurs de texte destinés à
LATEX.
1.4 Editeurs 6
1.4 Editeurs
Tout comme l’HTML, un code LATEX consiste simplement en un texte au
format ASCII. N’importe quel éditeur de texte suffira donc à créer son do-
cument : pico, vi, SubEthaEdit, BBEdit, XCode ou même TextEdit !
Bien sûr, certains sont mieux adaptés que d’autres. Comme pour l’HTML, un
bon éditeur sera capable de coloriser les commandes (les balises en HTML).
BBEdit le fait, SubEthaEdit également, XCode aussi si on lui ajoute les fi-
chiers nécessaires. La colorisation rend le code beaucoup plus agréable :
Pour ma part, j’ai une préférence pour le premier. Son interface est plus
simple et l’auteur a toujours répondu à mes messages et a toujours implé-
menté ce que je lui demandais. Mais iTeXMac est également très populaire
et paraît-il plus complet.
Je vais donc orienter cet article non seulement sur l’usage et la syntaxe de
LATEX, mais également sur la façon de l’utiliser facilement avec TeXShop.
1
la distribution de LATEX installée par i-Installer s’appelle teTeX. Il existe d’autres
distributions, comme OzTeX.
1.5 Le premier document 7
L’installation est très simple, il vous suffit de copier l’icône de TeXShop dans
votre dossier Applications (ou ailleurs si vous préférez). Une fois l’applica-
tion lancée, vous vous retrouvez devant une fenêtre vide semblable à celle de
TextEdit. C’est là que nous allons entrer notre code.
Nous voilà maintenant fin prêts, tous les outils sont installés et nous allons
pouvoir commencer à créer nos documents.
\documentclass[a4paper]{book}
\begin{document}
Bonjour le monde !\\
\end{document}
Bon évidemment il est simplissime, mais nous allons très vite nous lancer
dans des choses plus évoluées.
La petite fenêtre qui s’ouvre lorsque vous compilez votre document s’appelle
la console. C’est ce que vous verriez si vous lanciez la compilation depuis
le Terminal. C’est également là que LATEX vous fera part des éventuelles
erreurs. Lors d’une compilation réussie, les deux dernières lignes seront tou-
jours "Output written on..." et "Transcript written on...".
Vous remarquerez que plusieurs fichiers ont été créés dans le dossier qui
contient votre document. Un fichier .log, un .out et un .aux, utilisés par
LATEX pour stocker quelques informations. Et bien sûr un fichier .pdf qui est
votre document. C’est à cause de ces multiples fichiers que je vous conseille
2
si a ce stade vous obtenez une erreur et que le PDF ne s’affiche pas c’est que LATEX
s’est mal installé.
1.6 Les erreurs 8
Les types de document définissent la mise en pages. Les plus courants sont :
– article
– book (livre)
– report (rapport)
– letter (lettre)
mais il en existe beaucoup d’autres (exam, slides, etc.)
Les différences entre ces class ne seront pas flagrantes dans notre petit
exemple, elles prendront toute leur importance plus tard.
\documentclass[a4paper, 11pt]{book}
définira une taille de police de 11 points dans le document. Vous avez le choix
entre 10, 11 et 12 points.
Les commandes ayant cette forme (\begin suivit de \end) s’appellent des
environnements.
Vous l’aurez compris, toutes les commandes (enfin, presque toutes) de LATEX
sont de la forme :
\commande[options]{argument}
les options et l’argument étant optionnels (selon les commandes). Par exemple,
la commande \begin ne prend aucune options mais l’argument est obliga-
toire.
La dernière commande à examiner dans notre petit exemple est : \\. Connue
aussi sous le nom de \newline. Cette commande ne prend ni options, ni
argument et définit passage à la ligne. En fait, elle n’est pas nécessaire dans
notre exemple, puisque nous n’avons de toute façon qu’une seule ligne. Cette
commande suivie d’une ligne vide définit un nouveau paragraphe suivit d’un
saut de ligne, essayez donc ceci :
\documentclass[a4paper, 11pt]{book}
\begin{document}
Bonjour le monde !\\
La première phrase se termine par \\ et est suivie par ligne vide, ce qui créé
un saut de ligne suivit d’un nouveau paragraphe.
En effet, comme avec l’HTML, LATEX ne "voit pas" les retours à la ligne (sauf
si il y en a deux consécutifs comme je le mentionnais ci-dessus), de même il
ne "voit pas" les espaces consécutifs. Que vous écriviez :
Ceci est un nouveau paragraphe.
ou
Ceci est un nouveau paragraphe.
2.1 Les bases de LATEX 11
Une ligne ne se terminant pas par un \\, mais étant suivie par une ligne vide
(donc un double retour de chariot) provoquera la création d’un nouveau
paragraphe sans saut de ligne. Essayez par exemple ceci :
\documentclass[a4paper, 11pt]{book}
\begin{document}
Bonjour le monde !
La création d’un nouveau paragraphe (avec \\ suivi d’une ligne vide, ou avec
un double retour de chariot) impliquera une indentation de la première ligne
de ce nouveau paragraphe. Cela ne se voit pas dans mon petit exemple, car
mes phrases ne sont pas assez longues. Si vous voulez supprimer l’indentation
d’une phrase, utilisez la commande \noindent :
\documentclass[a4paper, 11pt]{book}
\begin{document}
Bonjour le monde !\\
\end{document}
Si vous le désirez, vous pouvez aisément ajouter une page de titre à votre
document. Pour ce faire, vous pouvez définir trois champs : le titre du docu-
ment, l’auteur et la date. Ceci se fait grâce aux commandes \title, \author
et \date. Puis il faut encore décider où vous désirez créer la page de titre (ha-
bituellement en début de document) avec la commande \maketitle. Notre
code aura donc l’allure suivante :
2.1 Les bases de LATEX 12
\documentclass[a4paper, 11pt]{book}
\begin{document}
\end{document}
Bien sûr, il n’est pas très agréable d’entrer ces signes barbares à la main.
C’est pourquoi TeXShop vous propose une série de Macros. En effet, vous
avez à disposition, via le menu "Macros" toute une série d’environnements
pré-enregistrés. Par exemple, pour obtenir l’entête d’un document de classe
"article" ayant des caractères de 11 points, il vous suffit de vous rendre là :
\documentclass[a4paper, 11pt]{book}
\begin{document}
% ceci est un commentaire
Bonjour le monde !\\
\end{document}
Tout ce qui suit le signe % sera ignoré à la compilation. Pour écrire un signe
% vous devrez utiliser la commande \%.
Pendant longtemps, la seule solution pour écrire des lettres accentuées était
de passer par des commandes spéciales. Pour l’accent aigu il fallait entrer : \’,
pour l’accent grave \‘, pour le circonflexe \ˆ et pour le tréma \" (guillemet).
Par exemple :
Vous avouerez que ce n’est pas très agréable. Mais heureusement, la solution
existe.
\usepackage[options]{nom du paquet}
Dans notre cas précis, nous voulons lui indiquer de charger le "paquet" de
commandes relatif à l’encodage du texte, en lui spécifiant que nous travaillons
avec un Mac :
2.2 Quelques fonctions de texte 14
\usepackage[applemac]{inputenc}
En effet, par défaut, l’encodage du texte utilisé par TeXShop est "MacOS-
Roman". Mais si vous voulez avoir plus de compatibilité avec nos voisins
de chez Windows, vous allez certainement préférer l’encodage "iso-latin-1".
Pour ce faire, rendez-vous dans les préférences de TeXShop. Dans l’onglet
"Document" vous y trouverez une zone "Encodage" :
Choisissez alors "Iso Latin 1". Vos prochains documents auront cet encodage.
Pour changer l’encodage de votre document en cours, vous devez en sauve-
garder un nouvel exemplaire en passant par le menu "Fichier, Enregistrer
sous...". Vous pourrez alors choisir quel encodage utiliser pour la sauvegarde.
Si vous décidez de passer à l’encodage "Iso Latin 1", vous devez encore en
avertir LATEX :
\usepackage[latin1]{inputenc}
\documentclass[a4paper, 11pt]{book}
\usepackage[applemac]{inputenc}
\begin{document}
Bonjour le monde !\\
La police par défaut de LATEX est une police "roman". Il est évidemment
possible de modifier le style du texte. On peut écrire en italique, en gras,
mais aussi en "machine à écrire", en petites capitales, en "slanted" et en-
fin en "sans serif". Voici les commandes correspondantes, que vous retrouvez
dans le menu Macros, sous "Text styles" -> "style" :
Italique \it
Gras \bf
Machine à écrire \tt
Petites capitales \sc
Slanted \sl
Sans serif \sf
Roman \rm
Si vous omettez les accolades, tout le texte qui suivra la commande prendra
le style défini par cette commande. Pour revenir au style normal, vous pou-
vez alors utiliser \rm.
Vous pouvez décider de souligner une partie du texte. Ceci se fait grâce à la
commande \underline{mon texte à souligner}.
Vous pouvez également mettre l’accent sur une partie d’une phrase. Ceci se
fait grâce à la commande \emph (emphasize, en anglais, signifie accentuer).
Par exemple :
2.3 Mise en forme des paragraphes 16
L’intérêt d’utiliser cette commande plutôt que \it est qu’elle s’adapte au
style en cours, par exemple :
Vous pouvez également agir sur la taille du texte. Là encore vous retrouvez
la liste dans le menu Macros :
L’utilisation de ces tailles est identique à celle des styles, par exemple :
Par défaut, le texte est justifié à gauche et à droite (LATEX s’arrange pour
que chaque ligne prenne la même longueur. Pour aligner à gauche, il faut
entrer notre texte dans un environnement "flushleft" :
\begin{flushleft}
Ce bout de texte sera aligné à gauche, alors
que par défaut le texte sera justifié des deux
côtés. Bien sûr, il faut un texte assez long pour
remarquer ceci.
\end{flushleft}
2.3 Mise en forme des paragraphes 17
\begin{center}
Ce bout de texte sera centré.
\end{center}
Vous pouvez également décaler un bout de texte vers la droite grâce aux
environnements "quote" (cite) et "quotation" (citation) que vous trouverez
dans le menu Macros sous "Insertions". La seule différence entre ces deux
environnements est qu’avec "quotation" la première ligne est indentée. Voici
un exemple :
\begin{quote}
Rien de sert de courir, il faut partir à point.
\end{quote}
Bien sûr, le meilleur moyen de se rendre compte du résultat que l’on obtient
avec ces différents environnements c’est de faire l’essai. Je vous invite donc
à compiler un document utilisant ces différentes commandes et à faire vos
essais.
3 La structure du document 18
3 La structure du document
Grâce aux deux chapitres précédents, nous savons à présent comment créer
un document, y entrer du texte et les mettre quelque peu en forme. Il est
temps à présent de nous attaquer à la structure du document.
Dans un document LATEX, les structures possibles ainsi que leur apparence
dépendront de la classe du document. Je vous rappelle que dans la deuxième
partie de cette série d’articles, j’avais mentionné l’existence de plusieurs
classes :
– article
– book (livre)
– report (rapport)
– letter (lettre)
La classe letter est un peu à part (il est rare qu’un place des chapitres et des
sections dans une lettre) je ne la traiterai donc pas en détail ici. La classe
article ne propose pas de chapitres tandis que les classes book et report le
font.
\section{Titre de ma section}
\subsection{Titre de ma sous-section}
\subsubsection{Titre de ma sous-sous-section}
3.1 La structure du document en LATEX 19
Si vous faites quelques essais, vous remarquerez très vite que LATEX se charge
lui-même de la numérotation des chapitres ainsi que de la mise en page. En
effet, il commencera automatiquement un nouveau chapitre sur une nouvelle
page. Si le une nouvelle section est commencée alors qu’il ne reste plus beau-
coup de place sur la page, il fera automatiquement un saut de page, sinon il
commencera la section sur la même page. De même pour les sous-sections et
les sous-sous-sections.
Une fois votre document structuré, vous pouvez aisément naviguer de cha-
pitres en sections, grâce à l’élément "Etiquettes" de la barre d’outil de TeX-
Shop.
Mais vous aurez remarqué que LATEX nous gratifie d’un très désagréable
"Chapter" au lieu du doux "Chapitre" que nous attendons. En effet, par
défaut LATEX travaille en anglais. Mais rien de plus que de le faire parler la
langue de Molière !
\usepackage[french]{babel}
\documentclass[a4paper, 12pt]{book}
\usepackage[applemac]{inputenc}
\usepackage[french]{babel}
\begin{document}
...
\end{document}
Vous pouvez bien entendu appeler les commandes \usepackage dans l’ordre
que vous voulez, cela n’a aucune importance.
\date{\today}
Bien sûr, une fois votre texte rédigé et bien structuré en chapitres, sections,
et autres sous-sections, vous allez vouloir créer une table des matières.
\documentclass[a4paper, 12pt]{book}
\usepackage[applemac]{inputenc}
\usepackage[french]{babel}
\begin{document}
\title{Un petit exemple simple}
\author{Fabien Conus}
\date{\today}
\maketitle
\tableofcontents
\chapter{Mon premier chapitre}
...
\end{document}
Lorsque vous compilerez votre document pour la première fois, vous vous re-
trouverez devant une table des matières vide. En effet, lors de la compilation,
LATEX rencontre le \tableofcontents avant les \chapter et les \section
. Il ne peut donc pas deviner le contenu de votre texte. Il vous faut donc
lancer la compilation une deuxième fois pour voir votre table des matières
se remplir.
Si vous désirez ajouter un chapitre ou une section qui ne soit pas numérotée
et qui n’apparaîtra donc pas dans la table des matières, vous pouvez utiliser
les commandes :
3.2 Les références 21
et
Pour cela, nous allons donner une étiquette à notre chapitre grâce à la com-
mande \label :
J’étiquette donc mon chapitre avec le mot "mystere" (il faut éviter les accents
et les caractères spéciaux lors de l’étiquetage). Lorsque dans mon texte je
désire faire référence à ce chapitre je le ferai avec la commande \ref :
Dans le chapitre\ref{mysteres} nous avons découvert de très intéressants
mystères
Ainsi, nous n’aurons plus à nous préoccuper du numéro que porte ce cha-
pitre. Bien entendu, cela fonctionne également avec les sections.
Lorsque vous compilez votre document après avoir ajouté des références,
celles-ci seront d’abord remplacées par ? ? et vous verrez dans la fenêtre de
console (celle où toutes ces lignes défilent) apparaître ces lignes (éventuelle-
ment une seule des deux) :
LaTeX Warning : There were undefined references.
Traduction :
Avertissement : Certaines références étaient indéfinies.
Avertissement : Les étiquettes ont peut-être été modifiées. Re-
compilez pour obtenir des références correctes
En effet, pour la même raison pour laquelle la table des matières était vide
après la première compilation, LATEX n’est pas en mesure de trouver toutes les
références lors du premier passage. Il vous faut donc recourir à une deuxième
compilation pour voir apparaître toutes vos références.
De la même manière, vous pouvez créer facilement des notes dans la marge
du document avec la commande \marginpar. Par exemple :
Ces deux commandes sont accessibles depuis le menu Macros, sous "Offsets".
4 Insérer des objets 23
\begin{itemize}
\item premier élément
\item deuxième élément
\item etc\ldots
\end{itemize}
donnera
– premier élément
– deuxième élément
– etc. . .
Vous noterez qu’il ne faut pas placer de \\ entre chaque élément, le retour
à la ligne est automatique. Vous aurez aussi noté au passage l’utilisation de
la commande \ldots qui correspond aux trois points de suspension. . .
\usepackage{graphicx}
Ceci étant fait, nous pouvons ajouter une image au moyen de la commande :
\includegraphics{[Link]}
\includegraphics{./images/[Link]}
Les formats d’image reconnus par pdfLATEX(qui est le moteur utilisé par
TeXShop) sont : .jpg, .png et .pdf. Le format PDF est particulièrement uti-
lisé pour des images vectorielles, mais est également tout à fait adapté aux
images bitmap. Il est également possible d’introduire des images eps en chan-
geant le mode de compilation de TeXShop, je reviendrai là-dessus plus tard.
\begin{document}
Voici une photo : \includegraphics{[Link]} de
mon chien Médor.
\end{document}
Comme en HTML, l’image fait alors partie intégrante du texte. Mais dans la
plupart des cas, ce n’est pas ça que l’on veut. On veut placer l’image entre
deux parties du texte. Il suffit alors de la placer dans un environnement
"center" :
\begin{document}
Voici une photo :
\begin{center}
\includegraphics{[Link]}
\end{center}
de mon chien Médor.
\end{document}
\begin{document}
Voici une photo :
\begin{center}
\includegraphics{[Link]}\\
Photo prise en juin 02
\end{center}
de mon chien Médor.
\end{document}
\begin{document}
\begin{figure}
\includegraphics{[Link]}
\end{figure}
\end{document}
\begin{document}
Ceci est un premier paragraphe, bla bla bla
bla bla bla, etc...\\
\begin{figure}
\includegraphics{[Link]}
\end{figure}
Ceci est un deuxième paragraphe, bla bla
bla bla bla bla, etc...
\end{document}
ne garantira pas que l’image soit placée entre ces deux paragraphe. Vous
pouvez toutefois indiquer à LATEXvos préférences en ajoutant une option :
\begin{figure}[option]
Il s’agit donc d’y faire référence de la même manière que nous l’avons fait
pour des chapitres et des sections dans la partie précédente, en y ajoutant
une étiquette.
Pour cela, il faut y ajouter une légende. Ceci se fait grâce à la commande
\caption :
\begin{figure}[ht]
\includegraphics{[Link]}
\caption{Voici la photo de Médor prise en
juin 02}
\label{medor}
\end{figure}
Sur la figure \ref{medor}vous pouvez voir
la photo de Médor.
\begin{figure}[ht]
\centering
\includegraphics{[Link]}
\caption{Voici la photo de Médor prise en
juin 02}
\label{medor}
\end{figure}
Sur la figure \ref{medor}vous pouvez voir
la photo de Médor.
Bien entendu, il est souvent nécessaire de manipuler un peu l’image car elle
est trop grande ou trop petite. Ceci se fait très simplement en passant des
options à la commande \includegraphics :
\includegraphics[option=valeur]{[Link]}
option valeur
scale facteur compris en 0 et 1
angle angle en degrés (0 à 360)
draft true ou false
width dimension
height dimension
L’option "scale" permet une mise à l’échelle de l’image ou facteur est le rap-
port avec l’image originale.
L’option "angle" permet une rotation de l’image et l’angle est donné en de-
grés (dans le sens inverse des aiguilles d’une montre).
\includegraphics[width=0.75\textwidth]{[Link]}
Ainsi, l’image aura une largeur égale aux trois quarts de la largeur du texte.
\begin{document}
Voici un tableau :
\begin{tabular}{lcr}
Ligne 1 & Element 1 & Element 2\\
Ligne 2 & Element 3 & Element 4\\
Ligne 3 & Element 4 & Element 5 \end{tabular}
\end{document}
Dans notre exemple, "lcr" signifie que notre tableau possède trois colonnes
(trois caractères). Il signifie aussi que la première colonne aura des éléments
alignés à gauche ("l" pour left), que les éléments de la deuxième colonne
seront centrés et que ceux de la troisième colonne seront alignés à droite ("r"
pour right).
Pour ajouter des barres verticales à notre tableau nous allons modifier la
chaîne de caractères définissant le tableau. Si nous voulons séparer la pre-
mière colonne des deux autres par une barre verticale nous allons transformer
"lcr" en "l|cr". Ce caractère vertical est obtenu sur un clavier suisse-romand
par alt-7 (sur un clavier français il semble que ce soit alt-shift-l). Si nous
voulons séparer toutes les colonnes par une barre verticales, nous utilise-
rons "l|c|r", et enfin pour que notre tableau soit délimité par deux barres
verticales nous utiliserons "|l|c|r|". Logique. Bien sûr, vous pouvez utilisez
plusieurs barres à la suite : "|l||c|r|".
Pour obtenir une barre horizontale, nous utilisons la commande \hline, que
nous placerons entre deux lignes. Notre code deviendra par exemple :
\begin{document}
Voici un tableau :
\begin{center}
\begin{tabular}{|l||c|r|}
\hline
Colonne 1 & Colonne 2 & Colonne 3\\
\hline
\hline
Ligne 1 & Element 1 & Element 2\\
\hline
Ligne 2 & Element 3 & Element 4\\
\hline
Ligne 3 & Element 4 & Element 5\\
\hline
\end{tabular}
\end{center}
\end{document}
\begin{document}
Voici un tableau :
\begin{center}
\begin{tabular}{|l||c|r|}
\hline
Colonne 1 & Colonne 2 & Colonne 3\\
\hline
\hline
Ligne 1 &
\begin{tabular}{c|c}
Tableau & dans\\
\hline
un & tableau\\
\end{tabular}
& Element 2\\
\hline
Ligne 2 & Element 3 & Element 4\\
\hline
Ligne 3 & Element 4 & Element 5\\
\hline
\end{tabular}
\end{center}
\end{document}
Voici le résultat :
Colonne 1 Colonne 2 Colonne 3
Tableau dans
Ligne 1 Element 2
un tableau
Ligne 2 Element 3 Element 4
Ligne 3 Element 4 Element 5
Pas mal, non ?
Comme pour les images, les tableaux peuvent être définis comme des élé-
ments flottants auxquels on pourra alors faire référence. Pour les tableaux,
on utilisera l’environnement "table" au lieu de l’environnement "figure". La
syntaxe reste la même. Par exemple :
4.3 Insérer un tableau 31
\begin{table}[ht]
\centering
\begin{tabular}{lcr}
Ligne 1 & Element 1 & Element 2\\
Ligne 2 & Element 3 & Element 4\\
Ligne 3 & Element 4 & Element 5
\end{tabular}
\caption{Mon beau tableau}
\label{beautableau}
\end{table}
Et comme pour les figures flottantes, il est possible de créer une liste des
tableaux flottants qui se présentera comme une table des matières. Ceci se
fait grâce à la commande \listoftables.
Bien sûr, tous les environnements que nous venons de voir sont accessibles
depuis le menu Macros de TeXShop. J’en profite pour vous signaler que vous
pouvez associer des raccourcis-clavier aux environnements que vous utili-
sez fréquemment. Pour cela, vous trouverez dans le menu Macros, l’élément
"Ouvrir l’éditeur des macros...". Vous obtiendrez cette fenêtre.
Je tiens à insister sur cet éditeur de macros car c’est lui qui vous rendra la
vie plus facile ! Bien entendu, il est très rébarbatif d’entrer ces antislashs et
ces "begin" et "end". Mais les macros sont là pour le faire à votre place,
4.3 Insérer un tableau 32
alors profitez-en. Pour ma part, tous les environnements que nous avons vus
jusqu’à présent ont un raccourci-clavier, ce qui rend la rédaction du docu-
ment beaucoup plus aisée.
Vous avez à présent de quoi vous amuser avec les tableaux et les images. Es-
sayez donc de mettre des images dans un tableau, de placer plusieurs images
et tableaux pour voir la numérotation utilisée par LATEX, de faire des ta-
bleaux dans des tableaux dans des tableaux, etc...
5 Les mathématiques 33
5 Les mathématiques
Une introduction à LATEX ne saurait être complète si je ne parlais pas des
mathématiques, c’est en effet une des raisons pour lesquelles ce programme
fut créé.
J’ai toutefois fait exprès d’aborder le sujet assez tard dans ce document, pour
bien mettre l’accent sur le fait que LATEX ne sert pas uniquement à écrire des
mathématiques.
L’écriture des mathématiques dans LATEX est très très complète, et il me sera
donc difficile d’être exhaustif.
Les mathématiques peuvent s’écrire soit dans le texte, soit dans des environ-
nements à part. Pour écrire une équation dans le texte, il faut simplement
l’entourer de deux $. Par exemple :
Vous le voyez, l’écriture d’une équation est assez naturelle. La mise en ex-
posant se fait comme en programmation avec le signe "ˆ". Essayons quelque
chose de plus compliqué :
On y voit d’abord la commande \sqrt qui dessine une racine carrée (square
root en anglais). Puis les mises en exposant, mais aussi une mise en indice
qui se fait grâce au caractère "_". Les mises en indice ou en exposant ne
prennent a priori que le premier caractère qui les suit (sauf si c’est une
commande). Pour mettre plusieurs caractères, il faut utiliser les accolades :
$2ˆ2+6=256$
$2ˆ{2+6}=256$
Bien entendu, toutes ces opérations peuvent s’imbriquer les unes dans les
autres, mais cela donne lieu à des équations assez conséquentes. Il ne sera
donc pas conseillé de les placer dans le texte, mais plutôt sur une nouvelle
ligne.
\begin{equation}
\frac{xˆ{\left(\sqrt{pˆ2cˆ2+m_0ˆ2cˆ4}-y_0ˆ4\right)}
-2y+8}{(y+x)ˆ2}=4K_1+3x
\end{equation}
donnera
√
p2 c2 +m20 c4 −y04
x − 2y + 8
= 4K1 + 3x
(y + x)2
J’attire votre attention sur la qualité de l’équation produite.
2(\frac{x}{y})=8
vous obtiendrez ça :
x
2( ) = 8
y
ce qui n’est pas très joli. En utilisant \left( et \right), LATEX adapte lui-
même la taille des parenthèses au contenu :
x
2 =8
y
Ce qui est bien mieux. Bien entendu, ceci s’applique également aux cro-
chets ([ et ]) et aux accolades. Par contre pour ces dernières, leur utilisation
5 Les mathématiques 35
"simple" se fera avec les commande \{ et \{. En effet, l’accolade est réservée
par LATEX pour les arguments des commandes.
\begin{equation}
2\left(\frac{x}{y}\right)=8\label{eq:xy}
\end{equation}
L’équation \ref{eq:xy}nous donne la
relation entre $x$ et $y$.
\begin{eqnarray}
2 \left( \frac{x}{y}\right)&=&8 \\
\frac{x}{y}&=& \frac{8}{2}\\
&=&4
\end{eqnarray}
x
2 = 8
y
x 8
=
y 2
= 4
Dans l’environnement "eqnarray", chaque ligne est numérotée. Pour y faire
référence, il s’agit de placer un \label à la fin de chaque ligne (avant le \\). Si
vous ne désirez pas numéroter les équations, il faut utiliser l’environnement
"eqnarray*".
Pour entrer du texte dans une équation, vous devez utiliser des commandes
spéciales. Il y en a une pour chaque style (les styles "slanted" et "petites
capitales" ne sont pas disponibles en mode mathématique) :
Italique \mathit{texte}
Gras \mathbf{texte}
Machine à écrire \mathtt{texte}
Sans serif \mathsf{texte}
Roman \mathrm{texte}
Par exemple, pour écrire l’énergie potentielle on entrera :
\begin{equation}
E_\mathrm{pot.}=mgh
\end{equation}
Cas particulier, pour écrire les fonctions habituelles :
tangente \tan
cosinus \cos
sinus \sin
log naturel \ln
logarithme \log
et j’en passe (fonctions hyperboliques, fonctions trigonométriques inverses,
etc...).
donnera :
1 2 3
A= 4 5 6
7 8 9
Vous pouvez évidemment placer n’importe quel élément dans cette matrice,
que ce soit un chiffre, une équation ou une autre matrice !
\begin{equation}
2\pi+\Omega=\xi\cos(\theta+\phi)
\end{equation}
2π + Ω = ξ cos(θ + φ)
Mais comme on n’attend pas de vous que vous sachiez votre alphabet grec
sur le bout des doigts, TeXShop vous met à disposition la "Palette LaTeX".
Vous la trouverez dans le menu "Fenêtres" ou avec un pomme-= :
5 Les mathématiques 38
Dans la partie supérieure de cette palette, vous trouvez cinq onglets destinés
aux mathématiques avec tout d’abord les symboles spéciaux (constante de
Planck, opérateurs d’ensembles, l’ensemble grand R, etc..), puis les lettres
grecques, puis quelques symboles (opérateurs logiques, parenthèses, etc..),
puis les fonctions trigonométriques dont je vous parlais à l’instant. Le der-
nier onglet est peu important puisqu’il vous permet d’écrire les accents "à
l’ancienne", comme je le mentionnais dans la section 2.2.
Cette palette est une aide à la création de matrices. Vous pouvez y définir
la taille de la matrice, son contenu, ainsi que les contenants (parenthèses,
crochets, norme, etc...)
Ces palettes sont donc une alternative ou un complément aux macros. C’est
selon votre goût personnel. Pour ma part, comme je l’ai mentionné plus haut,
je fais tout au clavier, les environnements que j’utilise le plus ont donc tous
un raccourci-clavier.
5 Les mathématiques 39
Bien entendu, je pourrais encore écrire des kilomètres à propos des équa-
tions, tant les possibilités sont immenses. Mais je préfère vous en donner un
petit aperçu et je vous donnerai au paragraphe 6.4 une série de liens vers des
documents de référence qui vous aideront à approfondir le sujet.
6 Compléments et conclusion 40
6 Compléments et conclusion
Pour cette dernière partie de cette série d’articles consacrés à LATEX, je vais
tout d’abord m’attarder sur quelques oublis qu’on m’a signalés en commen-
taires des articles parus sur Cuk. Puis je vais aborder deux aspects propres à
"pdflatex" et enfin je vous ferai part de mes conclusions et de mes réflexions.
Enfin vous trouverez plusieurs liens vers des sites ou des documents qui vous
permettront d’approfondir votre apprentissage de LATEX.
Les césures sont automatiques avec LATEX. Il en connaît les règles françaises
à partir du moment où on lui a indiqué d’utiliser le paquet de commandes
"babel" avec l’option "french" (à ce sujet, je vous conseille de lire le com-
mentaire de Franck, qui explique les différentes options de francisation).
Toutefois, avec les mots accentués, LATEX ne fera pas les césures correctes.
Pour corriger cela, il faut utiliser un nouveau paquet de commandes :
\usepackage[T1]{fontenc}
Mais s’il arrivait que LATEX ne parvienne pas à faire une césure dans un
mot, ou qu’il en fasse une fausse, vous pouvez toujours le corriger en lui
indiquant où il a le droit de couper un mot. Ceci se fait avec la commande
\-. Par exemple, si LATEX a du mal à trouver où faire la césure dans le mot
"internet", vous remplacerez ce mot par :
in\-ter\-net
LATEX saura ainsi quels sont les endroits autorisés pour faire la césure.
6.1.2 L’orthographe
TeXShop étant une application Cocoa, elle profite pleinement de la correction
orthographique mise à disposition par Apple. Toutefois, il est assez pénible
6.1 Les oublis et les compléments 41
6.1.3 La grammaire
François le demandait en commentaires. Non, la correction grammaticale
n’est a priori pas disponible. En effet, l’existence de toutes ces commandes
rend la correction difficile. Finalement, c’est le même problème pour l’HTML.
Mais les solutions existent. Ou plutôt, les "trucs" existent.
Toutefois, il est évident que ce n’est pas la solution idéale, mais c’est pour
l’instant la seule que l’on a.
6.1.4 La fragmentation
Encore un sujet abordé dans les commentaires. Lorsqu’on travaille sur un
document conséquent ou collaboratif (plusieurs auteurs), il est parfois néces-
saire de le fragmenter. J’entends par là avoir par exemple un fichier distinct
par chapitre.
\begin{document}
\chapter{Introduction}
bla bla bla...
\include{chapitre1}
\include{chapitre2}
\include{conclusion}
\end{document}
Il va sans dire que la numérotation des chapitres, la table des matières, les
références et tout le tintouin seront parfaitement gérés par LATEX.
Pour insérer des images EPS dans son document et quand même obtenir un
PDF à l’arrivée, TeXShop vous propose de compiler votre document avec
LATEX puis de convertir le fichier PostScript ainsi obtenu en PDF.
Pour cela, vous devez vous rendre dans le menu "Composer". Dans la troi-
sième partie de ce menu, vous verrez une coche devant "Pdftex", c’est le
réglage par défaut. Sélectionnez l’élément "TeX et Ghostscript", pour que la
compilation se fasse avec LATEX puis que le résultat soit converti en PDF.
Cette option porte mal son nom, car Ghostscript n’est plus nécessaire pour
la conversion PS -> PDF. En effet, Panther inclut son propre convertisseur
(qui est utilisé par Aperçu pour afficher les PS). Il vous faut juste aller avertir
TeXShop que vous ne voulez pas utiliser Ghostscript. Dans les préférences,
dans l’onglet "Misc", sous "Distiller" vous devez cocher "Panther Distiller".
Bien entendu, cela ne fonctionne que sous Panther.
Le #SEL# sera remplacé par la sélection. Si par exemple vous avez déjà écrit
un bout de texte et que vous désirez le centrer, vous le sélectionnez et lancez
la macro que vous avez créée, la sélection sera alors placée dans l’environne-
ment "center".
Tout ce qui a été dit dans les parties précédentes était des généralités de
LATEX (sauf pour les images qui doivent être au format eps lorsqu’on compile
avec LATEX).
Mais le PDF est un format très très riche, capable de faire bien plus que
bêtement afficher un texte et des images.
Tout d’abord, un document PDF peut contenir une table des matières, per-
mettant la navigation dans le document. C’est le tiroir qui s’ouvre sur un
des côtés de la fenêtre d’Aperçu.
Tout cela est possible avec pdflatex ! Il suffit d’ajouter le paquet de com-
mandes "hyperref" :
\usepackage{hyperref}
On peut regretter que ces hyperliens ne soient pas actifs dans la prévisua-
lisation de TeXShop. Ils sont présents dans Aperçu, mais ne ressortent pas,
c’est uniquement le changement de pointeur qui vous indique qu’un lien est
"cliquable". Ils apparaîtront par contre encadrés dans Adobe Reader.
Mais vous pouvez également mettre une couleur à ces liens pour les rendre
plus apparents. Pour cela, il vous faut d’abord charger le paquet de com-
mandes permettant de mettre un peu de couleur dans vos documents :
\usepackage{color}
Puis il s’agit de configurer le paquet "hyperref" pour qu’il utilise des couleurs.
Ajoutez ceci avant le \begin{document} :
\hypersetup{colorlinks = true
}
Il est possible de personnaliser les couleurs, mais je n’entrerai pas dans les
détails ici.
\hypersetup{
pdftitle = Mon beau pdf,
pdfauthor = Fabien Conus
pdfsubject = Introduction à LaTeX
pdfkeywords = LaTeX Cuk pdf
}
Si avec Adobe Reader vous lisez alors les informations du document (pomme-
D) vous obtiendrez ceci :
6.2 Compléments propres à pdflatex 45
6.2.2 pdfsync
Il y a une chose ennuyante avec LATEX. Vous compilez votre document, tout se
passe bien, mais en parcourant le fichier PDF vous remarquez une faute (de
frappe, d’orthographe, peu importe). Selon la taille du document, il peut être
pénible de retrouver l’erreur dans le code LATEX. Heureusement, il y a "pdf-
sync". Ce paquet de commandes est encore expérimental, mais il fonctionne
déjà très bien. Le principe est simple : une fois que vous avez repéré l’erreur
dans le fichier PDF, vous faites un pomme-clic dans le pdf à l’endroit de
l’erreur et TeXShop vous amène directement à la ligne correspondante dans
le code.
Ensuite, dans votre document LATEX vous devez encore indiquer que vous
désirez utiliser ce paquet de commandes :
\usepackage{pdfsync}
6.3 Conclusion 46
(je vous rappelle que "hyperref" doit toujours être le dernier paquet de com-
mandes chargé).
Et voilà, "pdfsync" est actif. Si, lors de la compilation, vous avez un mes-
sage d’erreur indiquant qu’il ne trouve pas "pdfsync", essayez de relancer
TeXShop.
6.3 Conclusion
Ouf ! Nous voilà arrivés au terme de cette petite introduction à LATEX sous
MacOS X. J’insiste sur le fait que c’est une courte introduction, il manque
plein de choses et je ne suis pas allé au fond des sujets traités, ce n’est pas
le but. Il existe beaucoup de ressources sur internet qui vous permettront
d’approfondir les différents sujets et de devenir un pro de LATEX, je vous
donnerai quelques liens plus bas.
LATEX vous permet d’écrire sans peine des documents conséquents, avec fi-
gures, tableaux, références, et vous offre une mise en pages à l’allure très
professionnelle.
Bien sûr, cela implique un apprentissage, mais pour faire des documents com-
plexes sous Word ou FrameMaker, cela nécessite également un apprentissage.
Ceux qui me diront "Mais moi je ne fait pas de gros documents, juste de
la correspondance et quelques broutilles". Alors ceux-là ont gaspillé leur ar-
gent ! Word coûte 400 CHF (266 e), FrameMaker coûte 2430 CHF, soit 1620
e (1750 CHF en version anglaise, soit 1170 e). LATEX est complètement
gratuit ! Si c’est pour faire de la correspondance, vous avez meilleur temps
d’utiliser TextEdit, en plus il sait lire et enregistrer les documents Word !
Evidemment LATEX n’est pas WYSIWYG (rappel : what you see is what you
get, ce que vous voyez est ce que vous obtenez), mais c’est un mal pour un
bien. C’est grâce à ça que vous obtenez cette très belle mise en pages sans
vous fatiguer. Vous me direz que tous les documents LATEX se ressemblent.
Et bien c’est faux. Oui, vos premiers documents auront tous la même allure.
Mais vous apprendrez très vite à redéfinir la taille des marges, à changer
6.3 Conclusion 47
Vous me direz que jamais vous ne parviendrez à vous souvenir de toutes ces
commandes. Alors je vais encore une fois insister sur l’utilisation des ma-
cros. TeXShop est là pour vous simplifier la vie, il vous offre toute une série
de macros auxquelles vous pouvez associer des raccourcis clavier. Chez moi
pomme-alt-f m’insère automatiquement tout ce qu’il me faut pour inclure
une figure, pomme-alt-e me permet d’insérer une équation, etc.
Si vous voulez créer des documents que vous souhaitez diffuser, ou si vous
faites de l’écriture collaborative, LATEX sera tout à fait approprié. J’ai passé
une année à travailler avec quelques collègues pour un prof qui ne jurait
que par Word. Et vous ne pouvez pas imaginer les heures de cauchemar
pour parvenir à lire correctement les documents que mes collègues (sous
Windows) m’envoyaient (et inversement). Et lorsqu’on parvenait à les lire,
encore fallait-il pouvoir les imprimer !
LATEX créé du PDF, format lisible sur toutes les plateformes connues (sauf les
consoles de jeux, et encore !). De plus le code LATEX est un bête format texte
en ASCII, il est donc également lisible sur toutes les plateformes et comme
LATEX est un logiciel libre il tourne également sur toutes les plateformes. La
compatibilité est donc totale, pour le résultat comme pour la source.
Finalement, pour répondre aux deux questions que je mentionnais plus haut,
la meilleure manière de savoir si LATEX est fait pour vous, c’est d’essayer.
C’était le but de cette présentation simpliste, vous avez toutes les clefs en
main pour faire de beaux documents. Essayez-le et faites-vous votre propre
6.4 Quelques liens 48
opinion. Pour ma part, j’ai essayé Word, j’ai fait deux ou trois rapports avec
et je me suis vite rendu compte que je n’allais pas vivre vieux si je continuais
avec ce programme.
Ceci met un terme à cette présentation de LATEX. Il n’est pas impossible que
je réécrive un ou deux articles ultérieurement pour aborder d’autres questions
comme la gestion de la bibliographie, les en-têtes personnalisés, convertir un
document LATEX en HTML, etc.
En anglais :
babel, 19 figure, 26
barres float element, 26
horizontales, 30 fonctions mathématiques, 38
verticales, 30 fontenc, 42
begin, 9 footnote, 22
book, 8, 18 formats d’images, 25, 44
fraction, 36
césures, 42 FrameMaker, 50
caption, 27 french, 19
centering, 27
centrer, 16, 27, 30 ghostscript, 44
césures, 42 graphicx, 24
chapitre, 18, 21 grecques, lettres, 39
citation, 17
href, 46
classes, 8, 18
hyperliens, 46
CM Super, 4, 42
cocoAspell, 43 image, 24
commande, 9 include, 43
commandes, paquet de, 13 includegraphics, 24
commentaire, 12 indentation, 10
console, 7 item, 24
couleur, 46 itemize, 24
crochets, 37 iTeXMac, 6
49
INDEX 50
label, 21 taille, 9, 16
Lamport, L., 2
ldots, 24 référence, 37
left(, 36 raccourcis-clavier, 33, 50
letter, 8, 18 racine carrée, 35
liste, 24 ref, 21
listoffigures, 29 référence, 21, 27, 33, 46
listoftables, 33 report, 8, 18
right), 36
MacOS X, 2
macros, 12, 23, 33, 45, 50 saut de ligne, 10
maketitle, 11 saut de page, 11
marginpar, 22 section, 18, 21
matrice, 38 souligner, 15
mise en exposant, 35 sous-section, 18
mise en indice, 35 sous-sous-section, 18
mise en page, 19 style, 14, 38
newline, 9 table
newpage, 11 alignement, 29
numérotation, 37 nombre de colonnes, 29
numérotation, 19, 22, 27 table des figures, 29
table des matières, 20
options table des tableaux, 33
angle, 28 tableau, 24
d’image, 28 tableofcontents, 20
draft, 28 tabular, 29
height, 28 texmf, 48
scale, 28 TeXShop, 6
width, 28 textheight, 29
textwidth, 29
pérennité, 50 titre, 11, 47
palette LaTeX, 39 today, 20
palette matrix, 40 typographie
paperheight, 29 française, 20
paperwidth, 29
paragraphe, 9, 18 usepackage, 13
parenthèses, 36
PDF, 5 vecteur, 38
pdfLATEX, 4
Word, 2, 50
placement
WYSIWYG, 3, 49
de l’image, 26
points de suspensions, 24 YAFIYG, 49
police
style, 14