tuteurs.ens.fr/logiciels/latex/manuel.tml

435 lines
16 KiB
Text
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
2002-11-04 16:14:06 +01:00
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
2002-11-04 22:29:53 +01:00
<title>Les bases</title>
2002-11-04 16:14:06 +01:00
</head>
2002-11-04 16:14:06 +01:00
<body>
<h1>Les bases de LaTeX</h1>
<p> Ce résumé n'entend pas remplacer un manuel ; n'y figurent donc
que les commandes les plus essentielles, sans détails ni options. En
particulier, rien de ce qui touche aux mathématiques n'est abordé. Pour
2002-11-04 16:14:06 +01:00
tout cela nous renvoyons aux manuels existants, aux tuteurs ou encore aux
autres utilisateurs. Nous supposerons aussi que l'utilisateur sait déjà
compiler un document (sinon, <a href="latex.html">par ici</a> !). </p>
2002-11-04 16:14:06 +01:00
<h2>Introduction</h2>
<h3>Qu'est-ce que LaTeX ?</h3>
2002-11-04 16:14:06 +01:00
<p>Vous avez sans doute l'habitude d'utiliser un traitement de texte,
comme Word ou OpenOffice.org. Ces logiciels vous offrent en même temps
deux fonctionnalités différentes :</p>
2002-11-04 16:14:06 +01:00
<ul> <li> <strong>l'édition du texte</strong> : tout ce qui concerne
l'écriture et la modification du texte (sauvegarder, copier-coller,
recherche de mots, substitution, etc) ; </li>
2002-11-04 16:14:06 +01:00
<li> <strong>La mise en page directe</strong>, que vous choisissez de
mettre de l'italique, laisser de l'espace, faire un tableau, etc, que que
vous voyez le résultat immédiatement, en même temps que vous
écrivez. </li>
</ul>
2002-11-04 16:14:06 +01:00
<p> Avec LaTeX, ces deux fonctionnalités sont dissociées :
l'« écriture » proprement dite relève d'un logiciel appelé « <a
href="&url.tuteurs;unix/editeurs/">éditeur de texte</a> »; la « mise
en page » vient ensuite, après interprétation du texte par le
programme LaTeX. Vous manipulez donc en même temps deux versions de
votre document : le texte tapé, qui contient des indications de mise
en page, et la version définitive (appelée le fichier DVI), qui
2002-11-04 16:14:06 +01:00
affiche la mise en page selon les indications fournies. </p>
<p> Le gros avantage de cette façon de procéder est que vous dissociez le
fond de la forme : quand vous tapez, vous ne vous préoccupez pas de
savoir si vous avez laissé assez d'espace à tel endroit, ou si
l'équilibre de telle page est correct. C'est LaTeX qui se charge de ce
2002-11-04 16:14:06 +01:00
genre de questions. </p>
<h3>À quoi ressemblent les commandes LaTeX ?</h3>
2002-11-04 16:14:06 +01:00
<p> Les commandes de LaTeX commencent par un <em>backslash</em>
2002-11-04 16:14:06 +01:00
(<code>\</code>), ce qui permet au programme de les identifier. Beaucoup
ne s'appliquent qu'à une seule partie du texte, délimitée par des
2002-11-04 16:14:06 +01:00
accolades. Par exemple, pour afficher le mot LaTeX, on tape
<code>\LaTeX</code> ; ou encore, pour afficher en gras le mot
« important », on tape</p>
2002-11-04 16:14:06 +01:00
<pre>\textbf{important}</pre>
<p class="continue">ce qui donne : <strong>important</strong>.</p>
2002-11-04 16:14:06 +01:00
<p> Vous aurez souvent recours à des <em>environnements</em>,
c'est-à-dire à des commandes qui délimitent une portion de texte dans
laquelle d'autres règles de mise en page sont appliquées (par exemple
2002-11-04 16:14:06 +01:00
pour faire des listes, centrer du texte, etc). Les environnements
s'ouvrent avec</p>
2002-11-04 16:14:06 +01:00
<pre>\begin{nom-de-l'environnement}</pre>
<p class="continue">et se referment avec </p>
2002-11-04 16:14:06 +01:00
<pre>\end{nom-de-l'environnement}</pre>
2002-11-04 16:14:06 +01:00
<h3>Gérer les langues étrangères</h3>
2002-11-04 16:14:06 +01:00
<p>Babel est un <em>package</em> qui permet d'obtenir des documents en
plusieurs langues, en respectant les typographies nationales, en
affichant automatiquement les titres (comme « table des matières »,
« index », etc) dans la langue choisie, etc. Il gère aussi la
ponctuation. Babel connaît une trentaine de langues. Par exemple,
pour un document en français, vous devrez faire figurer la ligne
suivante dans le source (utiliser le package « babel » avec l'option
« francais », sans cédille) :</p>
2002-11-04 16:14:06 +01:00
<pre>\usepackage[francais]{babel}</pre>
2002-11-04 16:14:06 +01:00
<p> Pour obtenir un <strong>document bilingue</strong>, vous indiquez
deux langues entre les crochets ; c'est la dernière langue indiquée
qui sera la langue dominante du document. Dans l'exemple qui suit, le
document est en français et on y trouvera des passages en grec :</p>
2002-11-04 16:14:06 +01:00
<pre>\usepackage[greek,francais]{babel}</pre>
<p>Pour alterner entre les langues, on utilise la commande :</p>
2002-11-04 16:14:06 +01:00
<pre>\selectlanguage{nom-de-la-langue}</pre>
<p class="continue">en spécifiant entre accolades la langue
demandée. Pour ne pas avoir à retaper en permanence cette longue
commande, il est préférable de se faire des <a
href="macros.html">macros</a> (à écrire dans le préambule). Voici un
exemple de préambule, suivi d'un modèle d'utilisation :</p>
2002-11-04 16:14:06 +01:00
<pre>
\documentclass{article}
\usepackage[greek,francais]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
% Première possibilité
2002-11-04 16:14:06 +01:00
\newcommand\gr{\selectlanguage{greek}}
\newcommand\fr{\selectlanguage{francais}}
% Deuxième possiblité
2002-11-04 16:14:06 +01:00
\newcommand{\grec}[1]{\selectlanguage{greek}#1\selectlanguage{francais}}
</pre>
2002-11-04 16:14:06 +01:00
<p> D'autre part, certaines commandes sont prédéfinies pour passer dans
l'autre langue; ainsi, il existe déjà <code>\textgreek{...}</code>.
Voici un exemple de texte grec tapé en LaTeX :</p>
2002-11-04 16:14:06 +01:00
<pre>\textgreek{Peis'istratis m'en o&gt;\~un >egkateg'hrase t\~h|
&gt;arq\~h| ka`i &gt;ap'ejane nos'hsas &gt;ep`i Fil'onew &gt;'rqontos,
af' o&lt;\~ou m`en kat'esth t`o pr\~wton t'urannos &gt;'eth tri'akonta
ka`i tr'ia Bi'wsas, &lt;`a d' &gt;en t\~h| &gt;arq\~h| di'emeinen
&lt;enos d'eonta e&gt;'ikosi; &gt;'efeuge g`ap t`a loip`a.}</pre>
<p class="continue">ce qui donne :</p>
2002-11-04 16:14:06 +01:00
<div class="illustration"><img src="grec.png" width="518" height="60"
alt="[Du grec avec LaTeX]" /></div>
2002-11-04 16:14:06 +01:00
<p class="continue">Pour en savoir davantage, reportez-vous à notre
page sur <a href="grec.html">l'écriture du grec ancien sous
LaTeX.</a></p>
2002-11-04 16:14:06 +01:00
<h3>Ce qui doit toujours figurer dans le source</h3>
2002-11-04 16:14:06 +01:00
<p> Un document LateX comporte une série de lignes indispensables qui en
définissent le squelette. On indique aussi ici un certain nombre de
renseignements utiles pour faire un joli document. Vous pouvez <a
2012-02-23 16:15:34 +01:00
href="templates/skel-utf8.txt">récupérer ce fichier de base</a> et
l'utiliser pour tous vos documents. </p>
2002-11-04 16:14:06 +01:00
2002-11-06 20:21:52 +01:00
<table class="tableau">
<tr><td><code>\documentclass{article}</code></td> <td>Précise le genre de
document, exprimé par l'argument : <code>article</code> pour les textes
ou rapports courts, <code>report</code> pour les rapports un peu plus
longs, <code>book</code> pour les livres (ou les maîtrises...).</td></tr>
2002-11-06 20:21:52 +01:00
<tr><td><code>\usepackage[francais]{babel}<br/>
\usepackage[latin1]{inputenc}<br/>
\usepackage[T1]{fontenc}</code></td>
<td>Lignes ajoutées pour les documents en français, pour que soit prises
en compte les particularités de la typographie française; c'est aussi
grâce à ce package que la date est affichée automatiquement en français,
que le titre de la table des matières est « Table des matières » et non
« Contents », etc. Les deux lignes suivantes permettent d'avoir des
caractères correctement accentués en toutes circonstances.</td> </tr>
<tr><td><code>\begin{document}</code></td> <td>Indique
le moment où commence le texte proprement dit. Ce qui figure entre
<code>\documentclass{***}</code> et <code>\begin{document}</code>
s'appelle le préambule.</td></tr>
<tr><td><code>\end{document}</code></td><td>Indique le
moment où finit le texte. Rien de ce qui suit cette commande ne sera pris
2002-11-06 20:21:52 +01:00
en compte par LaTeX.</td></tr>
</table>
<h2><a name="accents">Les accents et LaTeX</a></h2>
<p> Vous pouvez taper indifféremment vos accents avec <code>compose</code> et
<code>méta</code>. Il peut arriver (selon les configurations) que
certains accents ne soient pas compris, pour différentes raisons. Si vous
avez des problèmes, ou si vous voulez faire apparaître des accents
étrangers, marquez les accents de la manière suivante dans votre
fichier : <code>\ accent lettre</code>. </p>
<p> Par exemple, <code>\'a</code> donnera « á »; <code>\'u</code>
donnera « ú ». </p>
<p> Le codage des accents est le même que celui de compose, à l'exception
de la cédille (<code>fa\c{c}ade</code> donne façade). Allez voir la page
des tuteurs consacrée aux <a
href="&url.tuteurs;unix/accents.html">accents</a> pour savoir comment on
les tape et pour avoir un tableau des divers accents avec LaTeX. </p>
<p> Cela dit, nous vous encourageons à taper vos accents en Unicode
(c'est-à-dire, avec la touche Compose, ou naturellement sur un clavier
AZERTY) ; pour cela, ajoutez systématiquement dans l'entête de votre
document les deux lignes suivantes: </p>
<pre>
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
</pre>
<p> La première ligne demande que les caractères accentués soient
reconnus comme de l'utf8, la seconde, que soient utilisées
les fontes de LaTeX incluant les accents. </p>
<div class="encadre">
Certains systèmes d'exploitation utilisent encore le latin1 au lieu de
l'UTF-8. Dans ce cas, remplacez <code>utf8</code> par <code>latin1</code>
dans la première ligne ci-dessus.
</div>
<h2>Structurer son document</h2>
<h3>Faire un titre</h3>
<p> Pour faire un titre, il faut préciser dans le préambule le titre,
l'auteur et la date :</p>
<pre>
\title{Le titre}
\author{L'auteur}
\date{La date}
</pre>
<p>On peut aussi demander que la date soit insérée automatiquement (date du
jour de la compilation) :</p>
<pre>
\date\today
</pre>
<p>Pour ne pas préciser un champ, il faut lui donner un argument vide
(par exemple <code>\author{}</code> ou <code>\date{}</code>). </p>
<p>Ensuite, la commande <code>maketitle</code> indique à LaTeX
l'endroit où on veut faire figurer le titre (généralement en tout
début de document, c'est-à-dire juste après
<code>\begin{document}</code>).</p>
<h3>Utilisation de sections</h3>
<p> Vous pouvez demander à LaTeX de structure automatiquement les
documents avec les commandes suivantes :</p>
<pre>
\part{}
\section{}
\subsection{}
\subsubsection{}
\paragraph{}
\subparagraph{}
</pre>
<p> Les classes de document <code>report</code> et <code>book</code>
proposent en plus la commande <code>\chapter{}</code>. L'intitulé de la
section est indiqué entre les accolades.</p>
<p> Les titres de parties ainsi obtenus sont numérotés automatiquement.
Si donc vous bouleversez toute l'organisation de votre texte, la
numérotation se refera d'elle-même à la compilation suivante.</p>
<h3>La table des matières</h3>
<p> À l'endroit où l'on veut voir figurer une table des matières, on
écrit la commande <code>\tableofcontents</code>. Attention, il faut
compiler deux fois pour que LaTeX produise la table des matières
correctement. </p>
<p> Il peut arriver qu'un titre soit trop long pour figurer dans la table
des matières sans retour à la ligne; dans ce cas, on spécifie entre
crochets le titre qui doit apparaître dans la table des matières,
cependant que le titre complet reste entre accolades :</p>
<pre> \section[Titre plus court]{Un titre vraiment trop long pour tenir
sur une seule ligne} </pre>
<p> Il vous arrivera aussi d'insérer des <a
href="tableaux.html">figures</a> dans votre document. La commande
<code>\listoffigures</code> vous permet de générer une liste de toutes
les figures. Là encore, il faudra deux compilations. </p>
<h3>Deux sortes de listes</h3>
<p>On peut faire une liste d'objets avec les environnements
<code>itemize</code> (liste simple) ou <code>enumerate</code> (liste
numérotée), de la façon suivante :</p>
<pre>
Je veux acheter :
\begin{itemize}
\item des poires ;
\item des carottes ;
\item des choux.
\end{itemize}
</pre>
<p class="continue">ou alors :</p>
<pre>
Les vainqueurs sont :
\begin{enumerate}
\item Paul Lefort ;
\item Romain Legrand ;
\item Joël Lebel.
\end{enumerate}
</pre>
<p> Parlons ponctuation : dans une liste, les éléments sont terminés par
un point-virgule, sauf le dernier qui finit par un point (cf. les
exemples précédents). Cependant, si chaque élément est formé de plusieurs
phrases, on les termine toutes par un point.</p>
<h3>Environnements modifiant la justification des paragraphes</h3>
<ul>
<li><code>flushleft</code> : aligner le texte sur la marge de
gauche ;</li>
<li><code>flushright</code> : aligner le texte sur la marge de
droite ;</li>
<li><code>center</code> : centrer le texte ;</li>
<li><code>quote</code> : faire une citation ;</li>
<li><code>quotation</code> : faire une longue citation ;</li>
<li><code>verse</code> : faire de la poésie, chaque vers étant terminé
par <code>\\</code> ;</li>
</ul>
<p> Les environnements s'ouvrent avec <code>\begin{***}</code> et se
referment avec <code>\end{***}</code>, en faisant figurer le nom de
l'environnement entre les accolades. Certains sont bien sûr incompabibles
entre eux (« aligner à gauche » et « aligner à droite » par exemple).
Si vous utilisez plusieurs environnements emboîtés (listes imbriquées,
citations centrées, etc), veillez à bien les refermer dans l'ordre de
l'imbrication : dernier ouvert, premier refermé, comme des
parenthèses.</p>
<h3>Caractères et tailles des caractères</h3>
<h4>Différents styles</h4>
2002-11-06 20:21:52 +01:00
<table class="tableau">
<tr><td>\emph{emphatique}</td><td><em>EMPHasized</em></td>
<td><em>emphatique</em>. C'est celui qu'on utilise pour mettre en valeur
certains mots, les titres d'ouvrages en particulier. </td></tr>
<tr><td>\textbf{gras}</td><td><em>Bold Fonts</em></td>
<td><strong>gras</strong>.</td></tr>
<tr><td>\texttt{machine à
écrire}</td><td><em>Typewriter</em></td> <td>machine à
écrire.</td></tr>
<tr><td>\textsl{incliné}</td><td><em>SLanted</em></td><td>
incliné. Ce n'est pas de l'italique, mais en
HTML, on ne peut pas s'en rendre compte...</td></tr>
<tr><td>\textsc{Petites majuscules}</td><td><em>Small
Caps</em> </td><td>Petites majuscules, pour les noms d'auteurs ou les
sigles un peu longs. Le HTML ne sait pas afficher ça.</td></tr></table>
2002-11-04 16:14:06 +01:00
<p> Voici le même tableau dans le document LaTeX d'origine, qui montre
les différences entre les différents styles :</p>
<div class="illustration"><img src="fontes.jpg" alt="[Différentes fontes]" /></div>
<p>Ces différents styles sont compatibles entre eux :</p>
<pre>
\emph{Dans cet exemple, il y a des mots \textbf{en gras} et des
titres de livres comme \emph{Le retour du concombre masqué} qui sont
mis en évidence}.
</pre>
<p class="continue">donnera au final le résultat suivant :</p>
<div class="illustration"><img src="div.jpg" alt="[Fontes combinées]" /></div>
<p> <strong>Italique</strong> : ne confondez pas le style penché
(<code>\textsl</code>) et l'italique. D'autres documentations vous
parleront également de <code>\textit</code>, qui au sens propre veut dire
« italique ». Mais nous ne vous conseillons pas de l'utiliser. En
effet, <code>\textit</code> est une commande graphique, qui demande de
l'italique, quel que soit le contexte.</p>
<p> En revanche, <code>\emph</code> est une commande logique, qui demande
de mettre en valeur une portion du texte par rapport à son contexte.
Ainsi, si vous êtes déjà dans un environnement en italique
(<code>theorem</code> par exemple), un mot mis en valeur avec
<code>\emph</code> sera droit, et inversement. Cela vous permet
d'imbriquer des mises en valeur, sans risque de vous tromper.</p>
<p> Nous vous conseillons d'aller aussi jeter un coup d'oeil sur <a
2002-12-16 07:21:00 +01:00
href="&url.tuteurs;docs/hublot/hublot06.html#typo">L'emploi des styles en
typographie</a>.</p>
<h4>Tailles de fontes</h4>
<div class="illustration"><img src="tailles.jpg" alt="Tailles de
2002-11-12 17:51:48 +01:00
fontes" /></div>
<p> Ces commandes sont compatibles avec les précédentes.</p>
2002-11-06 20:21:52 +01:00
<div class="attention">
<p>
Attention au piège diabolique qui veut que les commandes de style soient
écrites <em>à l'extérieur</em> des accolades, alors que les commandes de
tailles des fontes s'écrivent <em>à l'intérieur</em> des accolades :
2002-11-06 20:21:52 +01:00
</p>
<pre>André \textsc{Malraux}, \emph{La condition humaine}
2002-11-06 20:21:52 +01:00
{\small Parlez moins fort}</pre>
</div>
<div class="metainformation"> Auteurs : François-Xavier Coudert
(2002), Marie-Lan Nguyen (2000), Émilia Robin (1998).
<date value="from git" />
</div>
</body> </html>