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

435 lines
15 KiB
Text
Raw Normal View History

2002-11-04 16:14:06 +01:00
<?xml version="1.0" encoding="ISO-8859-1"?>
<!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<75> n'entend pas remplacer un manuel<65>; n'y figurent donc
2002-11-04 16:14:06 +01:00
que les commandes les plus essentielles, sans d<>tails ni options. En
particulier, rien de ce qui touche aux math<74>matiques n'est abord<72>. Pour
tout cela nous renvoyons aux manuels existants, aux tuteurs ou encore aux
autres utilisateurs. Nous supposerons aussi que l'utilisateur sait d<>j<EFBFBD>
compiler un document (sinon, <a href="latex.html">par ici</a><3E>!). </p>
2002-11-04 16:14:06 +01:00
<h2>Introduction</h2>
<h3>Qu'est-ce que LaTeX<65>?</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<69>s diff<66>rentes<65>:</p>
2002-11-04 16:14:06 +01:00
<ul> <li> <strong>l'<27>dition du texte</strong><3E>: tout ce qui concerne
2002-11-04 16:14:06 +01:00
l'<27>criture et la modification du texte (sauvegarder, copier-coller,
recherche de mots, substitution, etc)<29>; </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<6D>diatement, en m<>me temps que vous
<EFBFBD>crivez. </li>
</ul>
2002-11-04 16:14:06 +01:00
<p> Avec LaTeX, ces deux fonctionnalit<69>s sont dissoci<63>es<65>:
l'<27><><EFBFBD>criture<72><65> proprement dite rel<65>ve d'un logiciel appel<65> <20><><a
href="&url.tuteurs;unix/editeurs/"><3E>diteur de texte</a><3E><>; la <20><>mise
en page<67><65> vient ensuite, apr<70>s interpr<70>tation du texte par le
programme LaTeX. Vous manipulez donc en m<>me temps deux versions de
votre document<6E>: le texte tap<61>, qui contient des indications de mise
en page, et la version d<>finitive (appel<65>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<66>on de proc<6F>der est que vous dissociez le
fond de la forme<6D>: quand vous tapez, vous ne vous pr<70>occupez pas de
2002-11-04 16:14:06 +01:00
savoir si vous avez laiss<73> assez d'espace <20> tel endroit, ou si
l'<27>quilibre de telle page est correct. C'est LaTeX qui se charge de ce
genre de questions. </p>
<h3><3E> quoi ressemblent les commandes LaTeX<65>?</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'<27> une seule partie du texte, d<>limit<69>e par des
accolades. Par exemple, pour afficher le mot LaTeX, on tape
<code>\LaTeX</code><3E>; ou encore, pour afficher en gras le mot
<EFBFBD><EFBFBD>important<EFBFBD><EFBFBD>, on tape</p>
2002-11-04 16:14:06 +01:00
<pre>\textbf{important}</pre>
<p class="continue">ce qui donne<6E>: <strong>important</strong>.</p>
2002-11-04 16:14:06 +01:00
<p> Vous aurez souvent recours <20> des <em>environnements</em>,
c'est-<2D>-dire <20> des commandes qui d<>limitent une portion de texte dans
laquelle d'autres r<>gles de mise en page sont appliqu<71>es (par exemple
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 <20>trang<6E>res</h3>
<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 <20><>table des mati<74>res<65><73>,
<EFBFBD><EFBFBD>index<EFBFBD><EFBFBD>, etc) dans la langue choisie, etc. Il g<>re aussi la
ponctuation. Babel conna<6E>t une trentaine de langues. Par exemple,
pour un document en fran<61>ais, vous devrez faire figurer la ligne
suivante dans le source (utiliser le package <20><>babel<65><6C> avec l'option
<EFBFBD><EFBFBD>francais<EFBFBD><EFBFBD>, sans c<>dille)<29>:</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<74>; c'est la derni<6E>re langue indiqu<71>e
qui sera la langue dominante du document. Dans l'exemple qui suit, le
document est en fran<61>ais et on y trouvera des passages en grec<65>:</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<64>:</p>
2002-11-04 16:14:06 +01:00
<pre>\selectlanguage{nom-de-la-langue}</pre>
<p class="continue">en sp<73>cifiant entre accolades la langue
demand<EFBFBD>e. Pour ne pas avoir <20> retaper en permanence cette longue
commande, il est pr<70>f<EFBFBD>rable de se faire des <a
href="macros.html">macros</a> (<28> <20>crire dans le pr<70>ambule). Voici un
exemple de pr<70>ambule, suivi d'un mod<6F>le d'utilisation<6F>:</p>
2002-11-04 16:14:06 +01:00
<pre>
\documentclass{article}
\usepackage[greek,francais]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
% Premi<6D>re possibilit<69>
\newcommand\gr{\selectlanguage{greek}}
\newcommand\fr{\selectlanguage{francais}}
% Deuxi<78>me possiblit<69>
\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<70>d<EFBFBD>finies pour passer dans
l'autre langue; ainsi, il existe d<>j<EFBFBD> <code>\textgreek{...}</code>.
Voici un exemple de texte grec tap<61> en LaTeX<65>:</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<6E>:</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 <20> notre
page sur <a href="grec.html">l'<27>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<EFBFBD>finissent le squelette. On indique aussi ici un certain nombre de
renseignements utiles pour faire un joli document. Vous pouvez <a
href="templates/skel.txt">r<>cup<75>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<50>cise le genre de
document, exprim<69> par l'argument<6E>: <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<6D>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<75>es pour les documents en fran<61>ais, pour que soit prises
en compte les particularit<69>s de la typographie fran<61>aise; c'est aussi
gr<EFBFBD>ce <20> ce package que la date est affich<63>e automatiquement en fran<61>ais,
que le titre de la table des mati<74>res est <20><>Table des mati<74>res<65><73> et non
<EFBFBD><EFBFBD>Contents<EFBFBD><EFBFBD>, etc. Les deux lignes suivantes permettent d'avoir des
caract<EFBFBD>res correctement accentu<74>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<70>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<66>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<66>rentes raisons. Si vous
avez des probl<62>mes, ou si vous voulez faire appara<72>tre des accents
<EFBFBD>trangers, marquez les accents de la mani<6E>re suivante dans votre
fichier<EFBFBD>: <code>\ accent lettre</code>. </p>
<p> Par exemple, <code>\'a</code> donnera <20><>ᠻ; <code>\'u</code>
donnera <20><><EFBFBD><EFBFBD><EFBFBD>. </p>
<p> Le codage des accents est le m<>me que celui de compose, <20> l'exception
de la c<>dille (<code>fa\c{c}ade</code> donne fa<66>ade). Allez voir la page
des tuteurs consacr<63>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 <20> taper vos accents en Unicode
(c'est-<2D>-dire, avec la touche Compose, ou naturellement sur un clavier
AZERTY)<29>; pour cela, ajoutez syst<73>matiquement dans l'ent<6E>te de votre
document les deux lignes suivantes: </p>
<pre>
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
</pre>
<p> La premi<6D>re ligne demande que les caract<63>res accentu<74>s soient
reconnus comme de l'utf8, la seconde, que soient utilis<69>es
les fontes de LaTeX incluant les accents. </p>
<div class="encadre">
Certains syst<73>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<6D>re ligne ci-dessus.
</div>
<h2>Structurer son document</h2>
<h3>Faire un titre</h3>
<p> Pour faire un titre, il faut pr<70>ciser dans le pr<70>ambule le titre,
l'auteur et la date<74>:</p>
<pre>
\title{Le titre}
\author{L'auteur}
\date{La date}
</pre>
<p>On peut aussi demander que la date soit ins<6E>r<EFBFBD>e automatiquement (date du
jour de la compilation)<29>:</p>
<pre>
\date\today
</pre>
<p>Pour ne pas pr<70>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 <20> LaTeX
l'endroit o<> on veut faire figurer le titre (g<>n<EFBFBD>ralement en tout
d<EFBFBD>but de document, c'est-<2D>-dire juste apr<70>s
<code>\begin{document}</code>).</p>
<h3>Utilisation de sections</h3>
<p> Vous pouvez demander <20> LaTeX de structure automatiquement les
documents avec les commandes suivantes<65>:</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<75> de la
section est indiqu<71> entre les accolades.</p>
<p> Les titres de parties ainsi obtenus sont num<75>rot<6F>s automatiquement.
Si donc vous bouleversez toute l'organisation de votre texte, la
num<EFBFBD>rotation se refera d'elle-m<>me <20> la compilation suivante.</p>
<h3>La table des mati<74>res</h3>
<p> <20> l'endroit o<> l'on veut voir figurer une table des mati<74>res, on
<EFBFBD>crit la commande <code>\tableofcontents</code>. Attention, il faut
compiler deux fois pour que LaTeX produise la table des mati<74>res
correctement. </p>
<p> Il peut arriver qu'un titre soit trop long pour figurer dans la table
des mati<74>res sans retour <20> la ligne; dans ce cas, on sp<73>cifie entre
crochets le titre qui doit appara<72>tre dans la table des mati<74>res,
cependant que le titre complet reste entre accolades<65>:</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<6E>rer des <a
href="tableaux.html">figures</a> dans votre document. La commande
<code>\listoffigures</code> vous permet de g<>n<EFBFBD>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<EFBFBD>rot<EFBFBD>e), de la fa<66>on suivante<74>:</p>
<pre>
Je veux acheter<65>:
\begin{itemize}
\item des poires<65>;
\item des carottes<65>;
\item des choux.
\end{itemize}
</pre>
<p class="continue">ou alors<72>:</p>
<pre>
Les vainqueurs sont<6E>:
\begin{enumerate}
\item Paul Lefort<72>;
\item Romain Legrand<6E>;
\item Jo<4A>l Lebel.
\end{enumerate}
</pre>
<p> Parlons ponctuation<6F>: dans une liste, les <20>l<EFBFBD>ments sont termin<69>s par
un point-virgule, sauf le dernier qui finit par un point (cf. les
exemples pr<70>c<EFBFBD>dents). Cependant, si chaque <20>l<EFBFBD>ment est form<72> de plusieurs
phrases, on les termine toutes par un point.</p>
<h3>Environnements modifiant la justification des paragraphes</h3>
<ul>
<li><code>flushleft</code><3E>: aligner le texte sur la marge de
gauche<EFBFBD>;</li>
<li><code>flushright</code><3E>: aligner le texte sur la marge de
droite<EFBFBD>;</li>
<li><code>center</code><3E>: centrer le texte<74>;</li>
<li><code>quote</code><3E>: faire une citation<6F>;</li>
<li><code>quotation</code><3E>: faire une longue citation<6F>;</li>
<li><code>verse</code><3E>: faire de la po<70>sie, chaque vers <20>tant termin<69>
par <code>\\</code><3E>;</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 (<28><>aligner <20> gauche<68><65> et <20><>aligner <20> droite<74><65> par exemple).
Si vous utilisez plusieurs environnements embo<62>t<EFBFBD>s (listes imbriqu<71>es,
citations centr<74>es, etc), veillez <20> bien les refermer dans l'ordre de
l'imbrication<6F>: dernier ouvert, premier referm<72>, comme des
parenth<EFBFBD>ses.</p>
<h3>Caract<63>res et tailles des caract<63>res</h3>
<h4>Diff<66>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 <20>
<EFBFBD>crire}</td><td><em>Typewriter</em></td> <td>machine <20>
<EFBFBD>crire.</td></tr>
<tr><td>\textsl{inclin<69>}</td><td><em>SLanted</em></td><td>
inclin<EFBFBD>. 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 <20>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<66>rences entre les diff<66>rents styles<65>:</p>
2002-11-12 17:51:48 +01:00
<div class="illustration"><img src="fontes.jpg" alt="[Diff<66>rentes fontes]" /></div>
<p>Ces diff<66>rents styles sont compatibles entre eux<75>:</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<71>} qui sont
mis en <20>vidence}.
</pre>
<p class="continue">donnera au final le r<>sultat suivant<6E>:</p>
2002-11-12 17:51:48 +01:00
<div class="illustration"><img src="div.jpg" alt="[Fontes combin<69>es]" /></div>
<p> <strong>Italique</strong><3E>: ne confondez pas le style pench<63>
(<code>\textsl</code>) et l'italique. D'autres documentations vous
parleront <20>galement de <code>\textit</code>, qui au sens propre veut dire
<EFBFBD><EFBFBD>italique<EFBFBD><EFBFBD>. 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 <20> son contexte.
Ainsi, si vous <20>tes d<>j<EFBFBD> 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<70>c<EFBFBD>dentes.</p>
2002-11-06 20:21:52 +01:00
<div class="attention">
<p>
Attention au pi<70>ge diabolique qui veut que les commandes de style soient
<20>crites <em><3E> l'ext<78>rieur</em> des accolades, alors que les commandes de
tailles des fontes s'<27>crivent <em><3E> l'int<6E>rieur</em> des accolades<65>:
2002-11-06 20:21:52 +01:00
</p>
<pre>Andr<64> \textsc{Malraux}, \emph{La condition humaine}
{\small Parlez moins fort}</pre>
</div>
<div class="metainformation"> Auteurs<72>: Fran<61>ois-Xavier Coudert
(2002), Marie-Lan Nguyen (2000), <20>milia Robin (1998).
Derni<EFBFBD>re modification<6F>: le <date value="$Date: 2008-03-22 16:30:43 $" />.
</div>
</body> </html>