Introduction à LATEX
Transcription
Introduction à LATEX
Introduction à LATEX Antoine Pierquin 17 septembre 2014 1 Table des matières 1 Entête du fichier .tex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 4 2 Structure du document 2.1 Page de titre . . . . . . . . . . . . . . 2.2 Chapitres, sections,... . . . . . . . . . 2.3 Exemple de sous-section . . . . . . . 2.3.1 Exemple de sous-sous-section 2.4 Annexes . . . . . . . . . . . . . . . . . 2.5 Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 5 5 5 6 6 3 Mise en page, mise en forme du texte 3.1 Espaces, saut de ligne, saut de page 3.2 Alignement du texte . . . . . . . . . . 3.3 Style du texte . . . . . . . . . . . . . . 3.4 Taille du texte . . . . . . . . . . . . . 3.5 Listes . . . . . . . . . . . . . . . . . . 3.6 Notes de bas de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 7 7 8 9 10 1.1 1.2 Classe du document . . . . Extensions . . . . . . . . . 1.2.1 Encodage du texte . 1.2.2 Choix de la langue . . . . . . . . . . . . . . . . . . . . 4 Label et référence 10 5 Des images, des figures 11 6 Bibliographie 6.1 Fichier .bib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Citer et créer la bibliographie . . . . . . . . . . . . . . . . . . . . . . 6.3 Nom de la bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 13 14 7 . . . . 14 14 14 16 16 8 Compilation 8.1 Compilation latex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Compilation pdflatex . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 17 Mathématiques 7.1 Mathématiques dans du texte . . . . 7.2 Mathématiques dans une équation . 7.3 Espaces . . . . . . . . . . . . . . . . . 7.4 Bases de la rédaction mathématique 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Entête du fichier .tex Les informations primordiales à renseigner au début du fichier .tex sont la classe du document, l’encodage du texte et le choix de la langue. 1.1 Classe du document La première information à renseigner dans le fichier source est la classe du document, par la commande : \documentclass[options]{classe} La variable classe est choisie parmi les choix prédéfinis suivant, ou indique une classe personnalisée ( par exemple IEEEtran) : – article pour des articles scientifiques, des rapports courts... – report pour des thèses,... – book pour des livres – beamer pour des présentations type “transparents” – proc pour des comptes-rendus – minimal pour une configuration minimale – slides pour des transparents (plutôt utiliser la classe beamer) La variable options permet de définir l’orientation du papier, le format du papier, la taille de la police, ... par les mots-clés principaux suivants : – landscape pour définir l’orientation du papier en mode paysage (portrait par défaut) – a4paper,b5paper pour définir le format du papier – 10pt,11pt,12pt pour définir la taille de la police – onecolumn,twocolumn pour définir une ou deux colonnes – oneside,twoside pour une sortie en recto simple ou en recto-verso Pour compléter cette liste, il existe également les options : fleqn, leqno, titlepage, notitlepage, openright, openany. Ce document est défini par la commande : \documentclass[a4paper,12pt]{article} 1.2 Extensions Pour spécifier des options au fichier source .tex, il faut faire appel à des packages par la commande : \usepackage[options]{package} Nous étudions dès maintenant les packages commandant à l’encodage du texte et à la langue. Des packages spécifiques seront étudiés plus tard. 3 1.2.1 Encodage du texte La manière dont seront codés les caractères du fichier .tex est définie à l’aide du package inputenc, ce qui permet notamment de gérer les accents. Nous conseillons de se borner à utiliser ce package avec l’option utf8 qui permet une compatibilité avec tous les systèmes d’exploitation : \usepackage[utf8]{inputenc} 1.2.2 Choix de la langue Pour que le document en sortie respecte les règles typographiques et les accents spéciaux d’une langue donnée, il faut préciser dans le fichier source la langue en question. Pour ce faire, il faut utiliser le package de support multilingue babel : \usepackage[langues]{babel} Il est possible de rentrer plusieurs langues, mais seule la dernière langue de la liste sera activée. Pour activer une des autres langues indiquées dans le document, il faudra utiliser la commande : \selectlanguage{langues} Pour ce document, la langue française est utilisée : \usepackage[francais]{babel} 2 Structure du document Une fois l’entête du fichier source codée, nous pouvons passer à la rédaction du document proprement dite. Outre certaines options comme le titre, le nom de l’auteur,... , tout ce qui se trouvera dans le document doit être rédigé entre les mots-clés : \begin{document} ... \end{document} 2.1 Page de titre La page de titre est générée automatiquement par LATEXau moyen de la commande : \maketitle 4 à placer après la commande \begin{document}. Le contenu de la page de titre est lui renseigné avant \begin{document}. Il faut indiquer le titre, le ou les auteurs et éventuellement la date : \title{titre} \author{auteurs} \date{date} Notons que si la commande date n’est pas utilisée, la date est mise par défaut à la date du jour de compilation. Pour ne pas l’afficher, la commande \date{} avec un champ vide suffit. Enfin, il est possible de réaliser soit même la page de titre par la commande : \begin{titlepage} ... \end{titlepage} 2.2 Chapitres, sections,... Pour structurer le document, LATEXpropose le découpage hiérarchique suivant : \part{nom de la partie} \chapter{nom du chapitre} 1 \section{nom de la section} \subsection{nom de la sous-section} \subsubsection{nom de la sous-sous-section} \paragraph{nom du paragraphe} \subparagraph{nom du sous-paragraphe} Ici le document est structuré avec des sections. Voici un exemple du découpage proposé : 2.3 2.3.1 Exemple de sous-section Exemple de sous-sous-section Exemple de paragraphe Exemple de sous-paragraphe Notez que la numérotation est gérée par LATEX, et que les paragraphes et sous-paragraphes ne sont pas numérotés. Il est possible de supprimer la numérotation en rajoutant le symbole * dans les commandes : 1. uniquement pour les classes book et report 5 \part*{nom de la partie} \chapter*{nom du chapitre} 2 \section*{nom de la section} \subsection*{nom de la sous-section} \subsubsection*{nom de la sous-sous-section} \paragraph*{nom du paragraphe} \subparagraph*{nom du sous-paragraphe} Voici le même exemple avec l’option en question : Exemple de sous-section Exemple de sous-sous-section Exemple de paragraphe Exemple de sous-paragraphe 2.4 Annexes Pour ajouter des annexes, le mot-clé \appendix placé dans le fichier source indiquera que les chapitres ou sections suivants seront des annexes, et seront donc indexés par des lettres. 2.5 Table des matières La création de la table des matières se fait de manière automatique par la commande : \tableofcontents La table des matières sera insérée à l’endroit où la commande est invoquée. Il est à noter que les paragraphes et sous-paragraphes ne sont pas repertoriés dans la table des matières, de même que les commandes avec le symbole *. De plus, il est généralement nécessaire de procéder à deux compilations du fichier source pour que la table des matières soient bien éditée. 3 Mise en page, mise en forme du texte 3.1 Espaces, saut de ligne, saut de page LATEX gère automatiquement les espacements dans le document. Cependant, il est possible de forcer des espaces. Le caractère tilde ˜ permet ainsi de créer un espace dit insécable (pas de passage à la ligne entre deux mots séparés 2. uniquement pour les classes book et report 6 par ce symbole). Ensuite, les commandes \medskip et \bigskip permettent de forcer un espace vertical plus ou moins grand. Le passage à la ligne peut se faire de la manière classique dans le fichier source. Mais il peut aussi être créé par le symbole \\, qui permet un passage à la ligne sans commencer un nouveau paragraphe. Enfin, forcer un passage à la page suivante s’effectue grâce à la commande \newpage ou \clearpage. 3.2 Alignement du texte Il est évidemment possible de choisir l’alignement du texte dans le document. Par défaut, l’alignement se fait sur la gauche. Mais il est possible de le forcer par l’environnemnt commande : \begin{flushleft} ... \end{flushleft} Pour un alignement à droite : \begin{flushright} ... \end{flushright} Enfin pour centrer votre texte, utilisez la commande : \begin{center} ... \end{center} 3.3 Style du texte Plusieurs commandes ou options existent pour modifier la mise en forme du texte. Il est possible de mettre une partie du texte en gras, en italique, de le souligner. Pour mettre du texte en gras ou en italique : \textbf{texte à mettre en gras} \textit{texte à mettre en italique} Un autre environnement permet la mise en emphase du texte : \emph{texte à mettre en emphase} Le soulignage d’un mot se fait par la commande : \underline{texte à souligner} 7 De plus, il existe des environnements pour préciser la police à utiliser : \textrm{texte à mettre en Roman} \textsf{texte à mettre en Sans Serif} \texttt{texte à mettre en Type Writer} Enfin, un environnement est dédié aux majuscules : \textsc{Nom} avec un rendu particulier : Nom 3.4 Taille du texte Les mots-clés suivants permettent de modifier la taille des caractères : \tiny{texte} \scriptsize{texte} \footnotesize{texte} \small{texte} \normalsize{texte} \large{texte} \Large{texte} \LARGE{texte} \huge{texte} \Huge{texte} Dont voici un aperçu : texte texte texte texte texte texte texte texte texte texte 8 3.5 Listes LATEXpropose plusieurs environnements pour créer des listes. La forme la plus simple est l’environnement itemize, qui dépend fortement de la langue du package babel : \begin{itemize} \item Premier élément de la liste, \item Deuxième élément de la liste. \end{itemize} Ainsi une liste avec la langue française présentera des tirets, là où une liste en anglais aurait présentée des points • : – Premier élément de la liste, – Deuxième élément de la liste. Il est possible de créer une liste sans tiret par l’environnement description : \begin{description} \item Premier élément de la liste, \item Deuxième élément de la liste. \end{description} Ce qui donne : Premier élément de la liste, Deuxième élément de la liste. Les environnements itemize et description peuvent être personnalisés en rajoutant une option à l’item : \begin{description} \item[+] Premier élément de la liste, \item[+] Deuxième élément de la liste. \end{description} Ce qui donne pour itemize : + Premier élément de la liste, + Deuxième élément de la liste. et pour description : + Premier élément de la liste, + Deuxième élément de la liste. 9 Pour créer une liste numérotée : \begin{enumerate} \item Premier élément de la liste, \item Deuxième élément de la liste. \end{enumerate} Ce qui donne : 1. Premier élément de la liste, 2. Deuxième élément de la liste. 3.6 Notes de bas de page Pour créer des notes de bas de page qui seront indiquées par un chiffre en exposant 3 , il faut utiliser l’environnement : \footnote{texte à mettre en bas de page} là où doit apparaître l’exposant. La numérotation est gérée par LATEX. 4 Label et référence Une des forces de LATEX est la possibilité de recourir à des label pour faire référence à des pages, des parties du document, des figures ou même des équations. Ainsi, en plaçant la commande : \label{nom du label} à l’endroit auquel on souhaite se reporter, il est très facile d’y faire référence par la commande : \ref{nom du label} Pour rajouter la page de la référence : \pageref{nom du label} Et pour faire référence à une équation : \eqref{nom du label} Par exemple, la commande \label{subsection:titre} plaçée dans la soussection concernant la page de titre permet facilement de faire référence à cette sous-section et à sa page par les commandes \ref{subsection:titre} et \pageref{subsection:titre}. Donc pour la page de titre, se reporter à la partie 2.1, page 4. Pour voir une équation sur plusieurs lignes, voir page 15 l’équation (4). De même que pour la table des matières, deux compilations sont nécessaire pour que les références soient effectives. 3. comme ceci 10 5 Des images, des figures Pour pouvoir inclure des images dans un document produit par LATEX, il faut ajouter dans l’entête du fichier le recours au package graphicx : \usepackage{graphicx} Il est alors possible d’inclure une image par la commande : \includegraphics[options]{chemin du fichier} Le chemin du fichier à renseigner peut être le chemin complet du fichier à insérer, ou bien uniquement le nom du fichier, mais ce dernier ne sera trouvé que si le fichier se trouve dans le même dossier que le fichier .tex. Pour préciser d’autres dossiers où peuvent se trouver des fichiers images, il faut ajouter au préambule la commande : \graphicspath{{chemin du dossier 1/}{chemin du dossier 2/}} Les options permettent de préciser l’échelle (scale=0.5), la largeur (width=5cm), la hauteur (height=7pt) de l’image. Par exemple, \includegraphics[width=0.25\textwidth]{Tux} permet d’introduire une image de notre bon vieux Tux qui prendra en largeur 41 de la largeur de la zone de texte. Quand une seule des dimensions est précisée, la seconde est déduite par une mise à l’échelle par rapport à la dimension initiale de l’image. Si la commande \includegraphics permet d’insérer une image, elle ne permet pas de lui appliquer une légende ni même un label. Il faut pour cela placer un environnement d’objet flottant de type figure. Ce type d’environnement permet d’attribuer à la figure un numéro, une légende et éventuellement un label pour y faire référence, comme pour la figure 1 : \begin{figure}[position] \centering (optionnel) \usepackage[options]{chemin du fichier} \caption{légende} (optionnel) \label{label de la figure} (optionnel) \end{figure} Le positionnement de la figure peut-être problématique, puisque LATEX suit des règles de placement qui ne sont pas toujours facilement contournables. L’option position peut prendre les valeurs : 11 h pour placer la figure à l’emplacement de la commande (here) t pour placer la figure en haut (top) d’une page b pour placer la figure en bas (bottom) d’une page p pour placer la figure sur une page à part contenant les figures ! pour ne pas prendre en compte les règles de placement internes On peut aussi fournir des combinaisons du type [ !htp] pour tenter de mettre la figure ici en priorité, sinon en haut, sinon sur une page à part. Par défaut la règle est [tbp]. Attention : le package graphicx ne prend pas en charge le même type d’images selon la compilation utilisée (voir section 8, page 17). Figure 1 – Notre bon vieux Tux ! 6 Bibliographie Nous décrivons ici comment réaliser une bibliographie au moyen d’un fichier .bib qui contiendra toutes les informations des ouvrages cités dans le document. 6.1 Fichier .bib Le fichier .bib, nommé ici mabiblio.bib, répertorie l’ensemble des références à citer dans le document, avec différents champs pour chaque référence ainsi qu’un identifiant. Voici un exemple de champs à remplir pour un article et pour un livre : @Article{identifiant de l’article, author = {nom des auteurs }, title = {titre de l’article }, journal = {nom du journal }, year = {année de publication }, 12 volume = {numéro du volume }, number = {numéro de l’article }, pages = {numéros des pages }, month = {mois de publication }, } @Book{identifiant du livre, author = {nom des auteurs }, editor = {nom de l’éditeur }, title = {titre du livre }, publisher = {nom de l’éditeur }, year = {année de publication }, volume = {numéro du volume }, edition = {nom de l’édition }, month = {mois de publication }, } 6.2 Citer et créer la bibliographie Une fois le fichier .bib créé, il faut dans notre fichier source .tex choisir le style de la bibliographie et lui indiquer quel est le fichier contenant la bibliographie. Pour ce faire, à l’endroit où vous voulez faire apparaître votre bibliographie, utilisez les commandes : \bibliographystyle{style} \bibliography{nom du fichier .bib} Ensuite, pour citer les références contenues dans le .bib, il suffit d’utiliser la commande : \cite{identifiant} où identifiant correspond à l’identifiant rentré dans le .bib pour désigner la référence. Pour faire apparaître dans la bibliographie des références non citées, utilisez la commande \nocite{identifiant}, voire même \nocite{*} pour faire apparaître toutes les références du .bib. Avec ce type de bibliographie, la compilation devra être exécutée en trois temps : une première compilation latex (ou pdflatex), une compilation bibtex et enfin une deuxième compilation latex (ou pdflatex). Enfin, citons comme style possible de bibliographies les options : plain, alpha, abbr, unstr. 13 6.3 Nom de la bibliographie Le nom de la partie bibliographie sera différente selon la classe du document. Ainsi, dans la classe report ou book, la partie portera bien le nom de “Bibliographie”. Alors que dans la classe article elle portera le nom de “Références”. Pour changer le nom de la bibliographie en “Bibliographie” au lieu de “Références” dans la classe article, il faut rajouter dans l’entête du fichier : \addto\captionsfrench{\renewcommand{\refname}{\bibname}} 7 Mathématiques Un des avantages majeur de LATEX est la rédaction propre et souple de formules mathématiques. Il faut pour cela charger l’environnement amsmath en préambule du fichier .tex : \usepackage{amsmath} 7.1 Mathématiques dans du texte Pour introduire des formules mathématiques au sein d’une phrase, il faut écrire cette formule entre deux symboles dollar $ : L’image prend $\frac{1}{4}$ de la largeur. affichera L’image prend 1 4 de la largeur. L’ajout de l’option \displaystyle permet d’écrire la formule comme si elle était dans un environnement displaymath (voir ci-après) : L’image prend $\displaymath \frac{1}{4}$ de la largeur. affichera L’image prend 7.2 1 de la largeur. 4 Mathématiques dans une équation Pour écrire une équation proprement dite, il faut utiliser un environnement displaymath à l’aide des symboles : \[ . . .\] Cet environnement crée des équations non numérotées. Pour créer des équations indexées d’un numéro, il faut utiliser l’environnement equation : 14 \begin{equation} ... \end{equation} Voici un rendu de ces environnements : y = ax + b y = ax + b (1) Pour créer des équations sur plusieurs lignes, il est possible d’utiliser la commande align : \begin{align} y & = x(ax+b)\\ & = axˆ2+bx \end{align} le symbole & permettant d’indiquer sur quel caractère aligné les équations. y = x(ax + b) (2) 2 (3) = ax + bx Chaque ligne comporte un numéro. Pour enlever tous les numéros, rajoutez une étoile * à la commande : \begin{align*} ... \end{align*} Et pour supprimer la numérotation d’une seule ligne ajouter \nonumber à cette ligne : \begin{align} y & = x(ax+b)\\ & = axˆ2+bx \nonumber \end{align} y = x(ax + b) (4) 2 = ax + bx Des alternatives comme les environnements \multline, \eqnarray, \array peuvent aussi être utilisés. 15 7.3 Espaces Dans le mode mathématique, les espaces doivent être codés. Voici le code des espacements du plus petit au plus grand : x y x\,y x\:y x\;y x\ y x\quad y x\qquad y et leur rendu (notez que la première ligne ne présente pas d’espace) : xy xy xy xy xy x y x 7.4 y Bases de la rédaction mathématique Deux symboles sont primordiaux pour la rédaction mathématique : _ permet de mettre un caractère en indice : $ x_2 $ donne x2 ˆ permet de mettre un caractère en exposant : $ xˆ2 $ donne x2 Ces symboles agissent uniquement sur le caractère qui les suit. Pour qu’ils agissent sur tout un groupe de caractère, il faut rajouter des accolades : _{ } ou ˆ{ }. _{ } permet de mettre des caractères en indice : $ x_{12} $ donne x12 ˆ{ } permet de mettre des caractères en exposant : $ xˆ{12} $ donne x12 Ces mêmes symboles sont utilisés pour mettre en forme certains opérateurs mathématiques, comme l’opérateur somme ou l’intégrale : \[ \sum_{i=1}ˆn \quad \prod_{i=1}ˆn \quad \int_{t=0}ˆT \] 16 donne n X n Y i=1 i=1 Z T t=0 LATEXpeut aussi gérer automatiquement la taille des parenthèses et des accolades dans une formule, gràce aux commandes : \left( ...\right). \[ \left\lbrace \left( \frac{1}{2}+\frac{1}{4} \right) \times \left( \frac{a}{b}+\frac{c}{d} \right) \right\rbrace \] donne 1 1 + 2 4 × a b + c d Ces simples indications devraient vous permettrent de produire toutes sortes de formules mathématiques. Pour ce qui concerne le codage des symboles mathématiques, une liste très complète des symboles et de leurs codes est disponible dans [1] ; de plus, la plupart des éditeurs de texte dédiés à la rédaction en LATEXfournissent des onglets de sélection des symboles mathématiques pour plus de simplicité (Texmaker par exemple). 8 Compilation Nous évoquerons ici deux types de compilation qui permettent d’obtenir un document au format PDF. 8.1 Compilation latex La compilation de base est la compilation latex. Celle-ci à “l’inconvénient” de ne prendre en compte que des images au format EPS (avec le package graphics). Cette compilation entraîne la génération d’un fichier au format DVI. Deux solutions pour passer du DVI au PDF : soit une conversion directe d’un format à l’autre (dvipdfm),soit une conversion de DVI à PS (dvips), puis de PS à PDF (ps2pdf). 8.2 Compilation pdflatex La compilation pdflatex permet d’obtenir directement un document au format PDF. De plus, le package graphics prend alors en compte de nombreux formats d’image tels que PNG, PDF, JPG, MPS ; mais il ne prend pas en compte le EPS. Cependant, il est toujours possible de passer d’un EPS à un PDF (epstopdf). 17 Références [1] Tobias Œtiker et Hubert Partl et Irene Hyna et Elsabeth Schlegl. Une courte ( ?) introduction à LATEX2e, avril 2011. [2] Céline Chevalier. LateX pour l’impatient. Technique & Pratique. H&K, 2009. [3] Johannes Braams. Babel, a multilingual package for use with LATEX’s standard document classes, 2009. 18