Voici un petit tutoriel d'utilisation de LaTeX. Il n'est pas exhaustif, mais il contient les informations essentielles, et donne quelques liens à la fin pour aller plus loin. Un tutorial complet en PDF est aussi disponible a la fin.
Sommaire
Prérequis
Nous vous recommandons d'installer une distribution LaTeX contenant une majorité des paquets courants. Installer les distributions « full » n'est pas forcément utile, sauf si votre but est de remplir votre disque.
Linux
Sous Debian, on peut apt install texlive-base texlive-bin texlive-extra.
Sous ArchLinux, les paquets sont similaires.
Sous NixOS, on peut partir d'une distribution LaTeX et customiser les paquets dedans. Par exemple pour avoir la distribution « medium » avec en plus moderncv : (texlive.combine { inherit (texlive) scheme-medium moderncv; }).
Si vous trouvez que votre distribution package mal LaTeX, vous pouvez utiliser MikTeX Packages Manager.
Windows
Nous recommandons MikTeX, https://miktex.org/download.
MacOS
Voir MacTex.
Faire des présentations
Beamer est une classe de document spécialisé dans la création de présentation. Il est très facile d'obtenir un résultat scienfiquement « pro ».
Voir LaTex/IntroBeamer
Faire des posters
Voir LaTex/PostersLatex
Éditeurs LaTeX
TexMaker
- Kile
- Emacs ou Xemacs avec auctex.
jed
gedit
wine notepad.exe
lyx (intermédiaire graphique pour les débutants)
pandoc (permet d'écrire en Markdown ou Word vers du LaTeX)
Le fichier doit être enregistré en .tex.
Compiler un document
pdflatex document.tex pdflatex document.tex
(Une des raisons pour laquelle on doit compiler 2 fois est l'utilisation des tables de matières , d'index, de bibliographie ...: à la première compilation, LaTeX ne connaît pas les différentes parties du document. Il ne peut donc pas établir de table des matières. Il stocke donc les informations nécessaires dans un fichier .aux. Il faut même compiler 3 fois quand on utilise BibTeX.)
On peut aussi utiliser xelatex qui est plus moderne et supporte les polices de caractères du système.
Ecrire un document
En en-tête
Déclaration du document
\documentclass[a4paper,11pt,oneside]{report}
- report : type de document. On peut aussi utiliser le type article ou book. Une des différences notable est la différence de la numérotation dans chacune des classes.
- a4paper : spécifie le fomat du papier. D'autres formats peuvent être utilisés (a5paper, b5paper, letterpaper...)
- 11pt : taille de la police dans le corps de texte.
- oneside : Option par défaut. On peut cependant utiliser l'option twoside qui provoquera, lors de l'impression d'un document, des en-têtes et des pieds de pages "symétriques".
Définition des polices
\usepackage[T1]{fontenc} \usepackage[utf8]{inputenc}
- La première définition indique que l'on utilisera des polices T1 (ce qui globalement) permet de mettre des caractères non ascii dans le corps du document).
- La seconde définition indique que l'encodage du fichier source (.tex).
Définition de la langue
Cette option a notamment son importance en ce qui concerne la césure des mots.
\usepackage[french]{babel}
Titre et infos du document
\title{Mon super rapport de stage de master en thèse}
(optionnel) : auteur et date
\author{Jean Bon} \date{\today} %(pour la date d'aujourd'hui) \date{le 6 septembre 1969} %(pour ce que vous voulez d'autre)
Packages optionnels
- Pour avoir une police vectorielle
\usepackage{lmodern}
- Pour gérer les entêtes et pieds de pages
\usepackage{fancyhdr} \usepackage[dvips]{graphicx}
- Pour mettre des liens hypertextes
\usepackage{hyperref}
Pour utiliser des caractères mathématiques avancés ($\mathbb{N}$ pour ℕ)
\usepackage{amsfonts}
Le corps de texte
Le corps du texte doit être situé entre deux bornes :
\begin{document}
et
\end{document}
Commencez par afficher votre titre (qui est défini dans l'en-tête) grâce à la balise :
\maketitle
Si vous le souhaitez, vous pouvez ajouter une table des matières grâce à la commande :
\tableofcontents
(il est nécessaire de faire 2 compilations pour que la table des matières soit à jour)
Hiérarchisation du document :
LaTeX prévoit des macros toutes faites pour formater les différentes parties d'un document. On a de façon croissante :
\part{Titre de la partie} (prend une page complète) \chapter{Titre du chapitre} (précédé de la mention "chapitre 1 :") \section{Titre de la section} (sous la forme : 1 Section) \subsection{Titre la sous-section} (sous la forme : 1.1 Sous-Section) \subsubsection{Titre la sous-sous-section} (sous la forme : 1.1.1 Sous-Sous-Section) \paragraph{Titre du paragraphe}
Formatage du texte
- Mettre du texte en gras
\textbf{texte}
- Mettre du texte en italique
\emph{texte}
ou
\textit{texte}
- Mettre du texte en petites capitales
{\scshape texte}
ou
\textsc{texte}
- Mettre du texte sans serif (sans empattements)
\textsf{texte}
- Mettre du texte sous forme "machine à écrire"
\texttt{texte}
- Souligner du texte
\underline{texte}
- Changer la taille du texte, du plus petit au plus grand
{\tiny texte} {\scriptsize texte} {\footnotesize texte} {\small texte} {\normalsize texte} {\large texte} {\Large texte} {\LARGE texte} {\huge texte} {\Huge texte}
La couleur
Vous devez ajouter en en-tête le package
\usepackage{color}
Les couleurs disponibles sont :
- black white red green blue cyan magenta yellow (méthode simple)
- {gray}{0.75} avec 0,75 pourcentage de gris (1=noir, 0=blanc)
- {rgb}{0.5,0,0.5} avec le premier chiffre, le pourcentage de rouge, le deuxième de vert et le troisième de bleu
- {cmyk}{0.5,0,0.5,0.3} avec le premier chiffre, le pourcentage de cyan, le deuxième de magenta, le troisième de jaune et le troisième de noir
Pour mettre du texte en couleur, utilisez la commande
\textcolor{couleur}{mon texte}
Avec à la place de couleur, au choix : black white red green blue cyan magenta yellow
Pour mettre le fond en couleur, utilisez la commande
\colorbox{couleur}{mon texte}
Revenir à la ligne, changer de page
Pour changer de page, utilisez la commande :
\newpage
Pour revenir à la ligne, utilisez la commande :
\\
Attention, si vous voulez revenir à la ligne dans une légende, un titre etc, vous devez ajouter le code \protect :
\protect\\
Insérer du code
Pour ajouter votre code d'un autre langage (C, Pascal, HTML...), mettez-le entre les balises
\begin{verbatim}
et
\end{verbatim}
Attention, le texte dépasse de la page à droite s'il est trop long.
Vous pouvez aussi essayer le package listings qui est plus élaboré.
Listes (numérotées ou non)
Dans les environnements suivants, chaque item correspond à un tiret, à un chiffre, ou à un symbole. La numérotation est automatique.
\begin{itemize} \item \end{itemize}
\begin{enumerate} \item \end{enumerate}
\begin{dinglist}{numéro du symbole} \item \end{dinglist}
Vous pouvez aussi ajouter des sous elements grace a la commande
\subitem
Pour avoir des puces ajoutez * ou - juste apres subitem
Tableaux
LaTeX est aussi très puissant pour la gestion des tableaux. Un tableau est compris entre
\begin{tabular}
et
\end{tabular}
Vous pouvez ajouter des options après le begin entre crochet qui définiront la position de votre texte dans le tableau: c pour center, r pour right, l pour left, p{distance} pour une largeur fixe. Vous définissez ici aussi le nombre de lignes entre les colonnes du tableau.
Les colonnes sont séparées par des &, les lignes se terminent par des \\. On dessine une ligne horizontale avec la commande \hline.
Vous pouvez parfaitement insérer des images dans un tableau avec /includegraphics (voir paragraphe ci-dessous).
L'exemple ci-dessous permet de réaliser un tableau de 4 colonnes et 3 lignes. La première est centrée, la deuxième est alignée à droite, la troisième alignée à gauche et on peut insérer des paragraphes dans la quatrième. Les 2 premières colonnes et les deux premières lignes sont séparées par un double trait.
\begin{center} \begin{tabular}{|c||r|l|p{2cm}|} \hline abc & abc & abc & abc \\ \hline \hline abc & abc & abc & abc \\ \hline abc & abc & abc & abc \\ \hline \end{tabular} \end{center}
On peut aussi réaliser des tableaux sans lignes horizontales ou verticales grâce à l'environnement array.
Compléments sur les tableaux : ./EnvTabular
Environnement mathématiques
Voir ./ModeMath
L'écriture des équations est assez intuitif avec LaTeX.
Tout d'abord, si on veut introduire une équation dans le texte, il suffit de la mettre entre deux $ : $ (a+b)^2 = a^2 + 2ab + b^2 $
Si cette équation doit être centrée et mise en valeur, il suffit de la mettre entre $$ $$ (ou \[ et \] ou dans l'environnement displaymath) :
$$ (a+b)^2 = a^2 + 2ab + b^2 $$
Il existe aussi un environnment "equation" qui permet de numéroter les équations.
Exemple d'utilisation de parenthèse non fermée dans l'environnement "equation". Cet exemple est adapatable pour écrire des matrices:
\begin{equation} \overrightarrow{AB} = \left\{ \begin{array}{c} x\\ y\\ z \end{array} \right. \end{equation}
Si on veut utiliser des caractères spéciaux, on peut se référer à la table des figures dans /usr/share/doc/texmf/latex/general/symbols.dvi.gz. Il faut alors mettre les caractères entre $, par exemple :
$\lambda$ $\gamma$ $\P_{indice}^{exposant}$ $ENS>=X$
Insérer des images
Selon les distributions, vous devez soit avoir vos images en postscript(eps ou ps), soit l'un des formats suivants : gif, png, jpg, pdf. Pour des images schématiques il est préférable d'utiliser des version vectorielles de celles-ci ce qui implique de les avoir en postscript ou en pdf.
Pour convertir des images en eps, vous pouvez utiliser Gimp, Photoshop ou la plupart des logiciels de dessin. Si vous êtes sous Linux, vous pouvez taper cette commande.
convert image.png image.ps ps2eps image.ps
Cependant avec ce type de commande le ps résultant n'est pas vectoriel.
L'image doit ici être dans le même répertoire que le fichier .tex (ou bien mettre le chemin complet de l'image, l'extension du nom de l'image n'est pas nécessaire).
Pour indiquer un sous-répertoire de rangement des images, utiliser :
\graphicspath{{répertoire/}}
LaTeX permet d'insérer des images non flottantes (qui sont fixes par rapport au texte que l'on a écrit) ou flottante (LaTeX optimise leur position dans le corps du texte). Les balises indicatives sont à mettre entre crochet : [H] pour here (position exacte), [t] pour top, [b] pour bottom.
Vous pouvez ajouter une légende avec la commande :
\caption{Je suis une légende :p}
- Image non flottante centrée qui aura pour largeur la moitié de la zone de texte (la proportionnalité est conservée). '
\begin{center} \includegraphics[width=0.5\textwidth]{image} \end{center}
- Image flottante centrée, disposée le plus proche du texte possible :
\begin{center} \begin{figure}[!ht] \includegraphics[width=0.5\textwidth]{image} \caption{Titre de l'image} \end{figure} \end{center}
Pour mettre plusieurs images sur une même ligne, vous pouvez utiliser minipage, suivi de {N\linewidth}, N étant la fraction à consacrer à la sous-image :
\begin{figure}[h!] \begin{minipage}[b]{0.30\linewidth} \centering \includegraphics[width=40mm]{moi.png} \caption{\footnotesize Shape of LAA} \label{moi} \end{minipage}\hfill \begin{minipage}[b]{0.30\linewidth} \centering \includegraphics[width=40mm]{mon_chien.png} \caption{\footnotesize Shape of LAA} \label{mon_chien} \end{minipage}\hfill \begin{minipage}[b]{0.30\linewidth} \centering \includegraphics[width=40mm]{mes_vacances_super_interessantes.png} \caption{\footnotesize Shape of LAA} \label{mes_vacances_super_interessantes} \end{minipage} \end{figure}
Bibliographie
Il y a deux manières d'écrire une biblio : dans un fichier à part biblio.tex (non traité ici) et à la fin de votre document.
Pour cela, vous devez écrire, avec pour chaque référence un retour à la ligne :
\begin{thebibliography}{2} \bibitem[label]{cle} Auteur, TITRE, editeur, annee \bibitem[reference1]{referencebibliographique} P. GRASLAND-MONGRAIN, {\it LATEX : exemple de document, éd. PGM, 2008} \end{thebibliography}
Vous pouvez faire appel à votre référence grace à ce qu'il y a entre crochet avec :
\cite{referencebibliographique}
Le label est optionnel.
Notion de distance
Dans le paragraphe sur les tableaux nous avions la commande p{distance}
Cette distance peut être écrite de différentes manière :
- fixe, par exemple :
p{2cm} p{50px}
- relative à la taille du corps du texte, auquel cas il faut écrire
p{0.5\textwidth}
Cette deuxième méthode est souvent préférable.
Exemple
Voici un petit document d'exemple qui vous permettra de mieux comprendre la structure d'un document latex. Les zones de texte ont été remplacées par [...].
\documentclass[a4paper,11pt,french,oneside]{article} \usepackage[T1]{fontenc} \usepackage[latin9]{inputenc} \usepackage[francais]{babel} \usepackage{textcomp} \usepackage{graphicx} \usepackage{float} \title{Page d'exemple en LaTeX, créé à partir d'un brouillon de rapport de stage} \author{Toto Passoire} \date{14 avril 2008 - 31 Juillet 2008} \begin{document} \maketitle \tableofcontents [...] \section{Analyse de la distribution de taille d'un mousse de shampooing} [...] \subsection{Paramètres expérimentaux} Lors de mes expériences, les paramètres étaient fixés ainsi : \begin{itemize} \item Température : 30 (+/-) 2 \degre C \item Dureté de l'eau : entre 2 et 18 \degre D \item pH : initial, puis 5,5 (+/- 0,3) \item Solutions utilisées : Fairy Liquid (detergent), Plantapon (pH initial 2.6), Plantacare (pH initial 11), Texapon (pH initial 6.6) \item Pourcentage de shampooing dans la solution (en volume) : 2,4\% pour l'expérience avec le mixeur et l'expérience avec production de bulles dans un cylindre, 12\% pour l'expérience de lavage de cheveux, 2 à 5\% pour toutes les expériences avec le Fairy Liquid \end{itemize} \subsection{Les différentes méthodes de production} \subsubsection{Bulles dans un cylindre formées à partir de diazote} [...] \subsubsection{Expérience avec le mixeur} [...] \begin{enumerate} \item Avec le logiciel ImageJ, transformer l'image en noir et blanc, et améliorer le contraste \item Appliquer un filtre sensible au gradient de contraste («unsharp mask») \item Avec le logiciel Adobe Photoshop, sélectionner les régions contiguës de même couleur, et effacer le reste. On a alors un squelette épais de l'image. \item Avec le logiciel ImageJ, transformer cette image en squelette d'1 pixel d'épaisseur. \item Appliquer la fonction d'ImageJ « Analyse particules » (les particules étant les zones de l'image délimitées par une ligne blanche) qui donne l'aire de chacune des particules, celles sur le bord de l'image étant exclues \item 1 pixel2 étant égal à 0,18 mm2, et connaissant l'épaisseur entre les deux plaques de verre (0,4 mm), en déduire le volume approximatif des bulles. \item Importer ces données dans Excel, et moyenner les photos 3 par 3 (par échantillon) \item Dessiner la distribution de taille des bulles - c'est à dire le nombre de bulles qui ont tel ou tel volume \item Normaliser les distribution par le nombre de bulles, pour avoir un pourcentage de bulles de telle ou telle taille (voir graphe 1), ce qui facilite la comparaison entre les expériences. \end{enumerate} [...] \subsubsection{Application sur des cheveux} [...] \subsection{Résultats} [...] \section{Bulles dans un cylindre} Mon second projet fut d'étudier le comportement de bulles à l'intérieur d'un cylindre de section carrée ou elliptique. Voici les principales formes de bulles souvent observées : \begin{center} \begin{tabular}{|c|p{0.3\textwidth}|p{0.5\textwidth}|} \hline \includegraphics[width=0.2\textwidth]{kelvin_cell.png} & Cellule de Kelvin & composée de 6 carrés et 8 hexagones, aussi appelée octaèdre tronqué \\ \hline \includegraphics[width=0.2\textwidth]{dodecahedron.png} & Dodécahédron pentagonal & (aussi appelé Goldberg-0) : composé de 12 pentagones \\ \hline & Goldberg-2 & composée 12 pentagones et 2 hexagones \\ \hline & Goldberg-3 & composée de 12 pentagones et 3 hexagones \\ \hline & Goldberg-N & et de manière plus générale, tout Goldberg-N (N différent de 1 pour diverses considérations théoriques) avec N nombre d'hexagones \\ \hline \includegraphics[width=0.2\textwidth]{weaire-phelan2.png} & Structure Weaire-Phelan & La structure Weaire-Phelan n'est jamais observée « naturellement » ; elle est composée de 2 cellules différentes de même volume, la Goldberg-0 et la Goldberg-2 \\ \hline \end{tabular} \end{center} \begin{figure} \includegraphics[width=0.2\textwidth]{kelvin_cell.png} \caption{Cellule de Kelvin} \includegraphics[width=0.2\textwidth]{dodecahedron.png} \caption{Dodécahédron} \includegraphics[width=0.2\textwidth]{weaire-phelan2.png} \caption{Structure Weaire-Phelan} \end{figure} [...] \section{Ondes acoustiques dans une mousse} [...] \begin{thebibliography}{2} \bibitem{cle} Auteur, TITRE, editeur, annee \bibitem{referencebibliographique} T. PASSOIRE, {\it LATEX : exemple de document, éd. PGM, 2008} \end{thebibliography} \end{document}
Liens utiles
De nombreux sites d'aide existent sur internet, et 99% du temps votre problème sera déjà référencé... Une petite sélections de sites à jour et de qualité :
Un tutorial assez complet sur le sujet : tuto_latex.pdf
/AstucesLatex /EnvFigure /EnvTabular /IntroBeamer /IntroBeamer/BeamerEnvironnements /IntroBeamer/BeamerThemes /IntroProsper /Marges /MetaPost /ModeMath /PostersLatex |
tuto2.odt un tuto très condensé