Structure d'un document LATEX |
|||||||||||||||||||||||||||||||||||||||||
IntroductionCaractèresMathsFontesTablesStructure
ParagraphesEspaces |
Structure générale d'un document LATEXUn document LATEX se compose d'un préambule et d'un corps de document. La forme générale est la suivante :
L'en-tête \documentclass précise la classe du document, càd la catégorie générale à laquelle il appartient : livre, article, ... Cette classe détermine l'aspect général du document et les options qui s'y appliquent. Par exemple, dans la classe "livre" (book), on disposera de la subdivision "chapitre" (chapter), alors qu'elle est absente de la classe "article". La classe "livre" veillera à ce que chaque nouveau chapitre commence sur une page impaire, et à ce que la disposition des pages paires / impaires soit "en miroir", etc. Les classes de base proposées par LATEX sont
Options de classesCitons quelques options de classes parmi les plus utilisées :
Une déclaration typique de document pourrait donc être, par exemple :
Ensuite, on peut mettre ce qu'on veut dans le préambule comme instructions de mise en page générales. Cela peut se faire en appelant certaines bibliothèques (packages) qui contiennent déjà toutes les instructions nécessaires : \usepackage{bibliothèque}, voir plus loin un exemple. On placera également dans le préambule la "front matter" (en-tête de première page) les champs suivants, si on le souhaite...
... mais ces renseignements sont "en réserve", ils n'apparaîtront effectivement dans le document final qu'à l'endroit (généralement juste après le \begin{document}) où figurera la commande \maketitle. Après le \begin{document} vient le corps du document proprement dit. Celui-ci peut (et doit) être tapé "au kilomètre", sans se préoccuper de la mise en page. C'est le travail de LATEX, qui ne marche jamais mieux que quand on le laisse faire. Subdivisions hiérarchiques dans le documentLes différents titres de sections dans le document apparaissent bien sûr dans un format différent, proportionnel à leur importance. LATEX propose les subdivisions suivantes, par ordre hiérarchique décroissant, pour les classes book, report et article :
Mise en placeLes instructions de structuration s'utilisent toutes selon l'une des syntaxes suivantes :
pour une section numérotée, ou
pour une section non numérotée. L'abréviation est facultative, c'est elle qui figurera dans la table des matières à la place du titre complet d'une section lorsque celui-ci est trop long. Par exemple :
donnera
tandis que
donnera
Bien sûr, LATEX gère lui-même la progression des numéros de sections. Chaque passage à une section supérieure réinitialise les compteurs des sections inférieures, en voici un exemple :
Le résultat obtenu sera le suivant :
Cela dit, on ne voit pas bien l'intérêt de mélanger au sein d'une même division des subdivisions numérotées et d'autres qui ne le sont pas. Notons enfin que LATEX ne numérote pas "jusqu'au fond" la hiérarchie des subdivisions, à moins qu'on ne l'y force. La commande
(placée dans le préambule) arrêtera la numérotation au-delà du niveau n. P. ex., pour numéroter jusqu'aux sous-sections incluses, on utilisera \setcounter{secnumdepth}{2}. Francisation des titresDans le cas d'un livre ou d'un rapport, si l'on ne veut pas avoir des parties ou chapitres commençant par "Part 1" ou "Chapter 1", il faut faire appel au package Babel qui se charge de la traduction. On écrira dans le préambule
Babel fait bien d'autre choses, citons notamment :
Environnements de structuration des paragraphesCertains paragraphes ont besoin d'une mise en forme spécifique. C'est le cas lorsqu'une liste de rubriques de même importance dans le document doit être énumérée. LATEX propose pour cela des environnements. Le texte concerné par la mise en forme particulière est compris entre les instructions
Les rubriques successives à l'intérieur de l'environnement sont introduites par
LATEX se charge de la numérotation, s'il y a lieu. Listes à puces (itemize)Pour obtenir une liste à puces, on procède ainsi :
(noter les doubles retours chariot entre deux \item ; la raison en est expliquée ici). Le résultat sera :
Listes numérotées (enumerate)Une liste numérotée est produite à l'aide de l'environnement enumerate :
(toujours deux retours chariot entre les \item). Le résultat sera :
Listes à en-têtesSi l'on a besoin d'en-têtes spécifiques, l'environnement description est approprié :
... avec toujours la même remarque. Le résultat obtenu sera alors :
Équations numérotéesDes équations centrées peuvent simplement être introduites avec $$...$$. Mais si elles doivent être numérotées, il faut utiliser l'environnement eqnarray. Cet environnement fait automatiquement entrer en mode mathématique. Il s'utilise avec une syntaxe particulière qui est en fait celle des tableaux. Voici un exemple :
Le résultat obtenu sera :
On se rend compte que les "&" sont des repères d'alignement qui mettent bien en coïncidence les signe "=". (Comparer avec la mise en place des tableaux.) Ceci permet de mettre à profit l'environnement eqnarray pour aligner correctement sur plusieurs ligne une longue équation. Dans ce cas, la numérotation de chaque ligne n'est pas souhaitable. On utilise alors eqnarray* :
ce qui donnera :
Références à d'autre parties du documentAvec LATEX, inutile de se soucier de l'emplacement des objets auxquels on fait référence. Pour mettre en place une référence croisée, rien de plus simple :
Par exemple :
donnera, si le marqueur \label{generalites} est situé dans la section 1.1, à la page 3 :
Attention ! Pour que LATEX restitue correctement les numéros des références croisées, il est nécessaire de compiler deux fois le document. Lors de la première passe, les appels de références sont mémorisés. À la deuxième passe, ils sont remplacés par les bonnes valeurs. Si l'on ne prend pas cette précaution, on se retrouvera avec une sortie du genre :
Notes[1] Il s'agit de l'option par défaut : on peut l'omettre. [2] Seulement pour les classes book et report. [3] Il s'agit bien de titres de sous-...-sous-sections ; à ne pas confondre avec les paragraphes du texte proprement dit. |