# Les bases

# Les bases de LaTeX

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 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, par ici !).

## Introduction

### Qu'est-ce que LaTeX ?

Vous avez sans doute l'habitude d'utiliser un traitement de texte, comme Word ou Wordperfect; le logiciel vous offre en même temps deux fonctionnalités différentes :

- l'édition du texte : tout ce qui concerne l'écriture et la modification du texte (sauvegarder, copier-coller, recherche de mots, substitution, etc) ;
- La mise en page directe, 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.

Avec LaTeX, ces deux fonctionnalités sont dissociées : l'« écriture » proprement dite relève d'un logiciel appelé « éditeur de texte »; 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 affiche la mise en page selon les indications fournies.

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 genre de questions.

### À quoi ressemblent les commandes LaTeX ?

Les commandes de LaTeX commencent par un backslash (`\`), ce qui permet au programme de les identifier. Beaucoup ne s'appliquent qu'à une seule partie du texte, délimitée par des accolades. Par exemple, pour afficher le mot LaTeX, on tape `\LaTeX` ; ou encore, pour afficher en gras le mot « important », on tape

    \textbf{important}

ce qui donne : important.

Vous aurez souvent recours à des environnements, 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 pour faire des listes, centrer du texte, etc). Les environnements s'ouvrent avec

    \begin{nom-de-l'environnement}

et se referment avec

    \end{nom-de-l'environnement}

### Gérer les langues étrangères

Babel est un package 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) :

    \usepackage[francais]{babel}

Pour obtenir un document bilingue, 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 :

    \usepackage[greek,francais]{babel}

Pour alterner entre les langues, on utilise la commande :

    \selectlanguage{nom-de-la-langue}

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 macros (à écrire dans le préambule). Voici un exemple de préambule, suivi d'un modèle d'utilisation :

    \documentclass{article}

    \usepackage[greek,francais]{babel}
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}

    % Première possibilité

    \newcommand\gr{\selectlanguage{greek}}
    \newcommand\fr{\selectlanguage{francais}}

    % Deuxième possiblité

    \newcommand{\grec}[1]{\selectlanguage{greek}#1\selectlanguage{francais}}

D'autre part, certaines commandes sont prédéfinies pour passer dans l'autre langue; ainsi, il existe déjà `\textgreek{...}`. Voici un exemple de texte grec tapé en LaTeX :

    \textgreek{Peis'istratis m'en o>\~un >egkateg'hrase t\~h|
    >arq\~h| ka`i >ap'ejane nos'hsas >ep`i Fil'onew >'rqontos,
    af' o<\~ou m`en kat'esth t`o pr\~wton t'urannos >'eth tri'akonta
    ka`i tr'ia Bi'wsas, <`a d' >en t\~h| >arq\~h| di'emeinen
    <enos d'eonta e>'ikosi; >'efeuge g`ap t`a loip`a.}

ce qui donne :
Pour en savoir davantage sur l'écriture du grec sous LaTeX.

### Ce qui doit toujours figurer dans le source

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 récupérer ce fichier de base et l'utiliser pour tous vos documents.

`\documentclass{article}` | Précise le genre de document, exprimé par l'argument : `article` pour les textes ou rapports courts, `report` pour les rapports un peu plus longs, `book` pour les livres (ou les maîtrises...).

`\usepackage[francais]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}`

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.

`\begin{document}` | Indique le moment où commence le texte proprement dit. Ce qui figure entre `\documentclass{***}` et `\begin{document}` s'appelle le préambule.
`\end{document}` | Indique le moment où finit le texte. Rien de ce qui suit cette commande ne sera pris en compte par LaTeX.

## Structurer son document

### Faire un titre

Pour faire un titre, il faut préciser dans le préambule le titre, l'auteur et la date :

    \title{Le titre}
    \author{L'auteur}
    \date{La date}

On peut aussi demander que la date soit insérée automatiquement (date du jour de la compilation) :

    \date\today

Pour ne pas préciser un champ, il faut lui donner un argument vide (par exemple `\author{}` ou `\date{}`).

Ensuite, la commande `maketitle` 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 `\begin{document}`).

### Utilisation de sections

Vous pouvez demander à LaTeX de structure automatiquement les documents avec les commandes suivantes :

    \part{}
    \section{}
    \subsection{}
    \subsubsection{}
    \paragraph{}
    \subparagraph{}

Les classes de document `report` et `book` proposent en plus la commande `\chapter{}`. L'intitulé de la section est indiqué entre les accolades.

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.

### La table des matières

À l'endroit où l'on veut voir figurer une table des matières, on écrit la commande `\tableofcontents`. Attention, il faut compiler deux fois pour que LaTeX produise la table des matières correctement.

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 :

     \section[Titre plus court]{Un titre vraiment trop long pour tenir
    sur une seule ligne}

Il vous arrivera aussi d'insérer des figures dans votre document. La commande `\listoffigures` vous permet de générer une liste de toutes les figures. Là encore, il faudra deux compilations.

### Deux sortes de listes

On peut faire une liste d'objets avec les environnements `itemize` (liste simple) ou `enumerate` (liste numérotée), de la façon suivante :

    Je veux acheter :
    \begin{itemize}
    \item des poires ;
    \item des carottes ;
    \item des choux.
    \end{itemize}

ou alors :

    Les vainqueurs sont :
    \begin{enumerate}
    \item Paul Lefort ;
    \item Romain Legrand ;
    \item Joël Lebel.
    \end{enumerate}

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.

### Environnements modifiant la justification des paragraphes

- `flushleft` : aligner le texte sur la marge de gauche ;
- `flushright` : aligner le texte sur la marge de droite ;
- `center` : centrer le texte ;
- `quote` : faire une citation ;
- `quotation` : faire une longue citation ;
- `verse` : faire de la poésie, chaque vers étant terminé par `\\` ;

Les environnements s'ouvrent avec `\begin{***}` et se referment avec `\end{***}`, 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.

### Caractères et tailles des caractères

#### Différents styles

`\emph{emphatique}` | EMPHasized | emphatique. C'est celui qu'on utilise pour mettre en valeur certains mots, les titres d'ouvrages en particulier.
`\textbf{gras}` | Bold Fonts | gras.
`\texttt{machine à écrire}` | Typewriter | `machine à écrire.`
`\textsl{incliné}` | SLanted | incliné. Ce n'est pas de l'italique, mais en HTML, on ne peut pas s'en rendre compte...
`\textsc{Petites majuscules}` | Small Caps | Petites majuscules, pour les noms d'auteurs ou les sigles un peu longs. Le HTML ne sait pas afficher ça.

Voici le même tableau dans le document LaTeX d'origine, qui montre les différences entre les différents styles :

Ces différents styles sont compatibles entre eux :

    \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}.

donnera au final le résultat suivant :

Italique : ne confondez pas le style penché (`\textsl`) et l'italique. D'autres documentations vous parleront également de `\textit`, qui au sens propre veut dire « italique ». Mais nous ne vous conseillons pas de l'utiliser. En effet, `\textit` est une commande graphique, qui demande de l'italique, quel que soit le contexte.

En revanche, `\emph` 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 (`theorem` par exemple), un mot mis en valeur avec `\emph` sera droit, et inversement. Cela vous permet d'imbriquer des mises en valeur, sans risque de vous tromper.

Nous vous conseillons d'aller aussi jeter un coup d'oeil sur L'emploi des styles en typographie.

#### Tailles de fontes

Ces commandes sont compatibles avec les précédentes.

Attention au piège diabolique qui veut que les commandes de style soient écrites à l'extérieur des accolades, alors que les commandes de tailles des fontes s'écrivent à l'intérieur des accolades :

    André \textsc{Malraux}, \emph{La condition humaine}
    {\small Parlez moins fort}

Auteurs : François-Xavier Coudert (2002), Marie-Lan Nguyen (2000), Émilia Robin (1998). Dernière modification le 2002-11-04.