Structure d'un document LaTeX

De Ensiwiki
Aller à : navigation, rechercher


Dans cette page, vous apprendrez comment faire votre petit hello world à la LATEX avec deux ou trois petites commandes.

Syntaxe de base

Commande

Toutes les commandes sont préfixées par un antislash \, le reste étant composé de texte pur. Un exemple simple peut être \it, cette commande se met en mode italique.

Les commentaires ne font quant à eux qu'une seule ligne, et sont préfixés par un %

Environnement

L'une des avancées des plus efficaces de LATEX par rapport à TeX sont les environnements.

\begin{ENVIRON}

%    CONTENU

\end{ENVIRON}

Les environnements permettent de déclarer un bloc sur lequel vont s'appliquer des changements. Par exemple, pour centrer un bloc de texte, on peut faire :

\begin{center}
CECI EST UN TEXTE CENTRÉ
\end{center}

Structure d'un document

Voici la tête d'un document écrit en LATEX.

\documentclass[OPTIONS]{CLASSE} 

%    ENTÊTE DU DOCUMENT

\begin{document}

%    CORPS DU DOCUMENT

\end{document}

La première commande est celle qui détermine la forme du document, ainsi que quelques options. Viennent ensuite un ensemble de commandes définissant le document en soi, que ce soit l'ensemble des packages utilisés, le titre ou encore l'auteur.

Ensuite on se place dans l'environnement document ce qui va définir le corps du document.

Classe d'un document

Un document peut être de différents types, voici les différentes classes que l'on peut trouver :

Description
article Permet de créer des documents courts, comme des comptes-rendus de travaux ou de réunions,
report Est utilisée pour les documents plus longs, car elle gère les chapitres, ce que ne fait pas la classe article
book Permet d'écrire des livres, similaire à report mais supporte les parties.
letter Sert à écrire des courriers, avec des marges assez conséquentes.
slide Permet de créer des transparents.

Globalement, vous vous servirez principalement de la classe article (voire slide si vous aimez vraiment ça). Les options par défaut de ces deux classes ne sont en revanche guère adaptées à une utilisation courantes, voici donc une liste d'options :

  • Taille de police : par défaut, la taille de la police est de 10pt. Exemples : 11pt ou 12pt.
  • Format de papier : par défaut la taille n'est pas A4 mais 8.5x11 pouces. Exemples : a4paper ou a5paper
  • Orientation : Par défaut, on est en mode portrait (sauf pour slide), on peut passer en mode landscape
  • Recto-Verso : Par défaut, LaTeX suppose que vous imprimez en recto seulement (ça suppose que les numéros de pages sont toujours à droite)
  • Il existe d'autres options

Voici un exemple que vous pourrez utiliser pendant tout votre parcours à l'ENSIMAG (format A4, recto-verso en 11pt) :

 \documentclass[a4paper,twoside,11pt]{article}

En-tête

L'en-tête contient l'ensemble des packages à utiliser ainsi que des informations à propos de ce document (titre, auteur et date). Un package est un ensemble de macros qui permettent une bonne mise en forme d'un document. Comme tout langage, il y en a qui sont vraiment incontournables, et d'autres sont plus spécialisés.

Pour inclure un package, la syntaxe est celle-ci :

\usepackage[options]{package}

Certains packages ne requièrent aucun paramétrage. L'emploi des crochets et alors optionnel.

Voici une liste de package VRAIMENT incontournables qu'il est plus que recommandé d'inclure à chaque fois :

\usepackage[latin1]{inputenc} % Changez le latin1 en utf8 suivant votre encodage
\usepackage[T1]{fontenc} 
\usepackage[french]{babel}

Ces packages permettront de taper des accents dans votre document (sinon, pour faire un é, il faudra tapper \'{e}) et d'avoir vos textes en français (par exemple Table des matières au lieu de Table of Contents).

Si vous utilisez des maths dans le document il vous faut (en général) ces packages :

\usepackage{amsmath} % quelques macros supplémentaires facilitant les maths
\usepackage{amsfonts} % les polices qui permettant d'écrire les ensemble N, Z, Q, R ou C
\usepackage{amssymb} % quelques symboles 
\usepackage{dsfont} % définit la police permettant l'écriture du 1 de proba.
\usepackage{graphicx} % Pour inclure des images

On peut définir les informations du document comme ceci :

\title{TITRE}
\author{AUTEUR}
%\date{DATE} % si vous n'en mettez pas, la date sera celle de compilation

Corps

Le corps par la suite n'est que du texte brut et des appels de macros/environnements. Une des différences est la formation de paragraphe. En effet, en LATEX le corps de texte est avant tout un ensemble de paragraphe. Ainsi pour faire un retour à la ligne, dans le code source on aura :

Ceci
ne va pas faire un retour à la ligne. 

Par contre ici, je suis dans un nouveau paragraphe, donc j'ai un retour à la ligne !

L'avantage est que LaTeX gère les alignements pour vous, il justifie les paragraphes et fait les alinéas pour les débuts de paragraphe.

Structuration

On veut souvent (toujours ?) découper son document en diverses parties, sous-parties (voire plus). Ce langage est fait pour cela ! Les macros de structuration se présentent toujours de cette façon : \commande{titre}. Si vous ne souhaitez pas de numérotation pour ce titre (exemples : édito, préambules, remerciements...), insérez la commande de cette façon : \commande*{titre}. L'étoile est souvent utilisé pour supprimer la numérotation. Voici la liste des commandes :

Description Mise en page
part Définit une partie, possible seulement dans la classe book Création d'une page vide avec seulement le titre sur la page
chapter Définit un chapitre, possible seulement dans les classes report et book Invoque une nouvelle page avec un en-tête plus espacé
section Permet de définir une section (parties d'un cours par exemple : I, II, III) Titre en gras avec une police plus grosse (avec numérotation)
subsection Définit une sous-section (I.2 par exemple) Titre en gras, taille de police légèrement plus grosse
subsubsection Définit une sous-section (I.2.3 par exemple) Titre en gras même taille de police

Suivant les classes il existe un subsubsubsection mais c'est rarement utilisé (nuit à la lisibilité générale du document).

Premiers résultats

Résultat de la compilation

Nous avons désormais de quoi écrire notre premier hello world :

\documentclass[a4paper,twoside,11pt]{article}
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc} 
    \usepackage[french]{babel}
    \title{Premier test}
    \author{Wikimagien}
\begin{document}
Bonjour à tous !

\section{Dans un premier temps}
\subsection{Je définis des sections}

Pour vous montrer comment LaTeX fonctionne !
\end{document}

On peut remarquer que les en-têtes prennent beaucoup de place, mais par la suite, comme les packages ne changent pas trop, cela devient une habitude de copier-coller. Il vaut mieux se concentrer sur le corps du document, qui apporte bien des facilités d'écriture (avec un peu d'habitude).