Tutoriel LaTeX (débutant)

Sommaire du tutoriel :

partie 1 : Avant propos et histoire de TeX/LaTeX

Avant propos

Ce tutoriel est une reprise de celui rédigé par Rémi Cardonna suite au cours du Club*Nix et du Club PC en juin 2005 à l'ESIEE.

Prérequis : Savoir utiliser un editeur de texte de type bloc note et savoir enregistrer un fichier avec une extension.
Les informations données on été testées sur un pc équipé de Arch Linux. Cependant, les exemples donnés devraient pouvoir fonctionner sur les pc du smig (Debian GNU/Linux) à condition de faire attention à bien enregistrer ses documents en ISO 8559 15 ; car les ordinnateurs du smig ne gère pas (ou pas bien) l'UNICODE.

Cette précaution prise nous allons pouvoir commencer à apprendre à se servir de LaTeX.

Qu'est-ce que c'est LaTeX ?

LaTeX est un système de mise en page inventé par un professeur de Mathématique et d'Informatique au milieu des années 70. Certes à l'époque Word n'existait pas encore, mais encore aujourd'hui LaTeX est très utilisé dans les domaines scientifiques et techniques, car celui-ci a été conçu pour ce type d'utilisation.

Il y a deux concepts importants à retenir pour LaTeX
* Le premier est qu'il s'agit d'un ''langage de mise en page''. Ce n'est donc pas un éditeur. Le LaTeX s'écrit donc comme du C ou du Java : on écrit le code dans un éditeur de texte, et ensuite le fichier est passé dans un compilateur. Ce dernier convertira le LaTeX en PDF, PostScript, HTML, ...
* LaTeX donne beaucoup plus d'importance à la '''structure''' d'un document, qu'à la mise en page finale. Évidemment, celle-ci peut être modifiée mais ce n'est pas le but premier de LaTeX.

On comprend bien pourquoi LaTeX est donc parfait pour écrire des rapports de TP ou de stage, des cours, etc.

partie 2 : Les premiers pas

Premiers pas en LaTeX sous Linux

Pous allons maintenant créer notre premier document LaTeX, voici la marche à suivre :
ouvrir un editeur de texte (n'importe lequel fera l'affaire) par exemple « kate » ou encore « gedit » ou alors en ligne de commande : « vim essai.tex », « emacs essai.tex » etc. Ensuite sauvegarde ton document avec le nom que tu voudra mais avec l'extension « .tex » par exemple essai.tex.

Maintenant penchons nous plus en détails sur la structure d'un document : comme nous l'avons vu, LaTeX est un language de mise en page similaire au HTML ; il utilise des « balises » pour décrire le document. Nous allons voir les premières « balises » au travers d'un premier exemple :

Les signes « % » servent à commenter des lignes dans le document ; elle n'apparaîtront pas dans le document final.

 % documentclass définit le type de texte que tu veux écrire
 % tu as le choix entre article, book, report, ...
 % chacun d'eux a des propriétés différentes
 \documentclass{article} 
 
 % \begin{} et \end{} permettent de délimiter des environnements
 % c'est à dire des zones de travail
 % ici l'environnement document représente ce qui va être
 % affiché dans le document final 
 \begin{document}
 
 \end{document}

Que remarque-t-on : les 3 premières lignes sont des commentaires et n'appraîtront pas dans le fichier final. A la 4ème ligne, on remarque le « \documentclass{article} » cette commande sert à indiquer à l'environnement LaTeX que le document est un « article ».

Il existe plusieurs sortes de documentclass : book, report, article, slide, beamer etc. Chacune de ces classes à des propriétés bien différentes, notamment pour la numérotation des chapitres. A notre niveau, et pour la plupart des travaux/rapports que nous aurons à faire à l'ESIEE, la classe article ets amplement suffisante. Les classes repport et book serait plus adaptées si l'on écrivait une thèse ou un mémoire (ce qui n'est pas notre cas).

Ensuite on remarque deux commandes :  \begin{document} et \end{document}. Ces deux commandes servent à indiquer à LaTeX que l'on débute le document (\begin{}) et que l'on termine le document (\end{}).

Bien maintenant que nous avons terminé notre document il ne reste plus qu'à le visualiser. Mais comment fait-on ? Et bien taper son texte et le mettre en forme à l'aide balises LaTeX n'est pas suffisant il faut compiler son texte afin d'avoir un résultat. En effet le fichier « .tex » n'a pas de sens en lui-même : il ne prend sa signification que pour le compilateur qui se charge de « transformer » notre fichier « .tex » en un fichier pdf lisible partout et par tous.

L'étape suivante consiste à compiler son fichier source afin d'obtenir un pdf. Comment procèder ? c'est très simple : sur les pc du smig ouvrez votre naviguateur de fichier (Konqueror) naviguez jusqu'au répertoire contenant votre fichier source et appuyez sur F4 pour lancer une console (Konsole). Ensuite tapez la commande suivante :

pdflatex essai.tex && pdflatex essai.tex

Qu'est que ça fait ? cette commande vous permet de compiler votre fichier source 2 fois d'affilé afin
de générer un document pdf. Pourquoi compiler 2 fois une fois n'est pas suffisant ? la réponse est oui compiler une fois n'est pas suffisant. Mais alors pourquoi ? tout simplement parque lors de la première compilation, LaTeX génère un fichier spécial « .toc » qui lui permet de générer la table des matières en fonction des chapitres du document ; ce fichier n'est pris en compte que lors de la compilation suivante d'où la nécessité de compiler une 2ème fois. Nous verrons comment générer une table des matières plus tard.

Revenons à notre fichier : les plus observateurs remarqueront que nous n'avons mis aucun texte entre le balises de début et fin du document. Donc n'espérez pas trouver votre fichier pdf : il n'existera pas car LaTeX remarquera que votre document est vide et ne fera... rien (enfin pas exactement).

partie 3 : l'entête ou préambule

Le préambule

Il y a une chose que je n'ai pas encore mentionnée : le prémabule qu'est-ce que c'est, à quoi sert-il. Comme dans tout texte, un fichier LaTeX commence toujours par un préambule ; le préambule défini l(es)'environnement(s) à utiliser pour créer un document, le dictionnaire des césures, les largeurs de marges, la pagination etc. Bref tout ce qui est utile pour faire un beau document. De plus le préambule contient un certain nombre d'information utiles comme l'auteur, le titre, la date etc.
Vous allez mieux comprendre avec cet exemple assez complet :

\documentclass[a4paper, 12pt]{article}
\usepackage{a4wide}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{graphicx}
\usepackage{amsfonts}
\usepackage{amsmath}
 
\author{Moi}
\title{Mon premier document \LaTeX{}}

On retrouve évidemment le \documentclass{} mais cette fois ci avec un petit changement : [a4paper, 12 pt]. Explications : les commandes entre « [ » et « [ » sont des arguments optionnels c'est à dire qu'ils ne sont pas obigatoires. a4paper sert à indiquer au compilateur de produire un document destiné à être imprimer sur du papier A4 ce qui est du au fait que LaTeX est l'invention d'un américain et que le format du papier standart aux US est différent des standarts français. Enfin le 12pt sert à demander une police de 12 points pour le texte normal ; la valeur par défaut est 10 pt on peu soit ne rien mettre pour garder une police de 10 pt, soit changer en mettant 12pt ou 11pt (évitez les autres valeurs qui rendent votre document chiant à lire).

Les usepackage servent à importer des commandes déjà toutes faites afin que n'ayez pas à vous soucier de comment couper votre texte en fin de ligne gérer les accents etc. Je vais éviter de m'attarder sur les détails cependant il me faut expliquer à quoi servent les usepackage. La 2ème et la 3ème ligne servent à configurer LaTeX afin qu'il utilise des caractères unicode et un dictionnaire de césure français et des autres choses utiles pour la typographie. Nota : si après compilation votre fichier pdf affiche des caractère bizards à la place des accents c'est que votre système d'exploitation gère mal les caractères unicode ; aussi je suggère de remplacer le « utf8 » par « latin1 ». \usepackage{graphicx} sert à incorporer des images dans votre document ; attention LateX considère que vous êtes grand et ne compressera pas les images pour vous. Donc on compresse ses photos de 5 Méga Pixels avant de les mettre dans le pdf sinon on se retrouve avec un fichier de plusieurs Mo long à charger en mémoire.

Enfin \usepackage{amsfonts} et \usepackage{amsmath} servent à importer de nombreux symboles utiles pour les maths et la physique (alphabet grec, fractions etc.)

partie 4 : tables des matières, titres et sections

Table des matières, titre et sections
Pour générer le titre du document il suffit d'utiliser la commande \maketitle à insérer entre le \begin{document} et le \end{document} qui s'occuper pour nous de faire un belle page de titre à condition d'avoir bien rempli les commandes \author et \title dans le prémabule (cf préambule). Maintenant il ne me reste plus qu'à vous parler des sections et de la tables des matières avan d'avoir terminer la plus grosse partie de ce tutoriel.

Les sections : dans un document LaTeX, les sections sont comme les chapitres d'un livre : elles sont numérotées et permettent de structurer votre texte ce qui est au moins aussi important que le texte en lui même. Maintenant que vous commencez à comprendre comment se compose un document LaTeX je vais vous montrer un exemple que je commenterai après :

%préambule : à vous de faire le votre%
\begin{document}
\maketitle
\tableofcontents
\section{\LaTeX{} c'est kikoulol}
\subsection{\LaTeX  est super cool}
Non seulement il permet de faire des symboles mathématiques comme celui-ci~:$2\pi \omega t$
Ou encore des truc comme ça : $$\sum{\dfrac{z^{n}}{n+(-1)^{n-1}}}$$
\section{conclusion}
C'est génial
\end{document}

Comme vous l'avez tous compris, l'instruction \section permet de créer une nouvelle section ; \subsection permet de créer une sous section de niveau 1. Il également possible de créer une sous section de niveau 2 en utilisant l'instrcution \subsubsection. LaTeX va automatiquement numéroter les sections et sous sections pour vous grâce à l'instruction \tableofcontents qui va en prime générer une jolie tables des matières cliquable.

partie 5 : insérer des équations et gérer des listes

Liste à puces et mode mathématiques
Juste un dernier truc à savoir avant l'exemple final qui résume tout le tutoriel : comment entrer sortir de mode mathématques et faire des énumerations et des listes. Pour entre dans le mode maths on dispose de plusieurs commandes : $ $ qui va vous permettre d'écrire un symbole/une variable de manière ponctuelle entre les symboles « $ » ; $$ $$ qui va vous permettre d'écrire une ligne de calcul (idéal pour poser une égalité) et le \begin{maths} \end{maths} pour les calculs demandant plusieurs lignes. Je vous laisse découvrir les possibilités du package maths dans l'exemple a le mérite d'être plus parlant qu'un long discour ; rien ne vaut la pratique.

Une autre fonction très utilisée est la liste à puces et/ou l'énumération. Pour l'utiliser rien de plus simple : il suffit d'indiquer à LaTeX que vous voulez commencer un nouvel environnement, vous devriez avoir l'habitude maintenant, et de lui dire où le finir. Pour une liste cela donne :

\begin{itemize}
\item un premier point ;
\item un deuxième point ;
\item etc.
\item \ldots
\end{itemize}

et pour une énumération :

 
\begin{enumerate}
\item un premier point ;
\item un deuxième point ;
\item etc.
\item \ldots
\end{enumerate}

Voilà j'espère que vous avez appris plein de choses qui vous seront utiles maintenant vous n'auvez plus aucune excuse pour utiliser de Word et rendre des rapports de TP et de SH tout moches. Si vous avez un soucis ou bien des questions n'hésitez pas à passer au club, des gens compétants vous répondront.

partie 6 : Cas pratique un fichier TeX complet

On se quite sur ce dernier exemple complet et rédigé par mon prédecesseur :

Exemple complet de fichier LaTeX

  \documentclass{article} 
 % categorie de document
 
 \usepackage[latin1]{inputenc}
 % c pour les accents 
 
 \usepackage{a4wide}
 %\usepackage{amsfonts}
 %\usepackage{amsmath}
 %\usepackage{latexsym}
 \usepackage[frenchb]{babel}
 % c'est pour afficher le document comme en typographie FR %
 
 \usepackage[draft]{graphicx}
 % gère les images png, jpeg, gif
 % "draft" permet de gagner du temps pour les recompilation comportant des images
 % il ne les affiche pas mais grade les boites vides de la taille des images
 % l'option "final" est en général mise par défaut et sert à ravoir les images
 
 \title{utiliser irc}
 \author{Linda}
 % on les a pas encore afficher
 \date{21 juin 2005}
 % ça c parce que si on le dit pas, latex met la date de compilation par défaut
 
 \begin{document}
 
 \maketitle
 \newpage
 
 \tableofcontents
 \newpage
 %il faut compiler deux fois pour avoir la table des matières
 
 \section{Qu'est-ce que l'IRC ?}
 
 \subsection{Présentation rapide}
 
 L'IRC, "Internet Relay Chat", est techniquement un protocole ...
 
 \subsection{Comment se connecter à un réseau IRC}
 Il faut utiliser un client IRC, un logiciel adapté, comme ...
 
 \section{Installation de X-Chat 2}
 
 \begin{center}
 \includegraphics[width=10cm]{xchat.png}
 % 0.8*\linewidth en param si on veut que l'image fasse 80 pourcent de la page
 
 % si on veut qu'il le fasse proportionnellement sinon on rajoute height
 
 \hspace{2cm}
 % sert à espacer verticalement 2 images
 
 \includegraphics[width=10cm]{xchat.png}
 
 \end{center}
 %sert à centrer l'image
 
 
 Il faut d'abord aller télécharger le logiciel ...
 
 \subsection{Configuration X-Chat 2}
 Lorsque vous lancerez X-Chat pour la première fois ...
 
 Cliquez alors sur "Mode d'édition"...
 
 Réglez ensuite les paramètres comme suit. 
 \begin{enumerate}
    \item  Choisissez comme Pseudonyme le nom que vous aurez sur IRC...
    \item Comme nom de serveur, choisissez celui correspond à ...
    \item Dans joindre les canaux rentrez le salon clubnix...
    \item Comme jeu de caractères sélectionnez ...
    \item Cochez la case connections automatique au démarrage ...
 \end{enumerate}
 Vous pouvez vous connecter en utilisant le bouton Connexion ...
 
 \subsection{Utilisation de X-Chat 2}
 \begin{enumerate}
    \item Sur la droite il y a la liste des personnes présentes ...
    \item Ici c'est la fenêtre principale des discussions. ...
    \item Ici, c'est le sujet (aka topic) de discussion. ...
    \item Le champ où vous tapez vos messages.
    \item Les onglets des serveurs auxquels vous ...
  \end{enumerate}
 Il est possible de dialoguer en privé avec une ...
 
 Dans le menu contextuel, sélectionnez Ouvrir la ...
 
 \subsection{Aller plus loin}
 Je vous laisse maintenant découvrir par vous-même ...
 
 $$ \pi $$
 % les dollars sont un raccourci pour dire formule mathématiques
 
 $$ \frac{\pi}{2} $$
 % pi/2
 
 $$ \sqrt{\frac{\pi}{2}} $$
 % racine
 
 texte $\frac{\pi}{2}$
 %force à intégrer un paragraphe
 
 %caractères spéciaux:
 $$ \mu \vec{A}$$
 $$ \alpha $$
 %$$ \Alpha $$
 
 $$ \leq $$
 % <=
 
 $$ A_i $$
 % indice
 
 $$ A^2 $$
 %carre
 
 $$ \times $$
 
 
 $$ A_{ij}^2 $$
 
 $$ \int_0^\infty{x dx} $$
 %intégrale de x sur 0 à infini
 
 $$ \geq $$
 % >=
 
 $$\neq$$
 % =!
 \end{document}