Composition de document avec LATEX, la pratique

Transcription

Composition de document avec LATEX, la pratique
Composition de document avec LATEX, la pratique
Mathieu Loiseau
janvier 2012
Table des matières
1 Premier document LATEX
1
2
Écrire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1
Créer un nouveau document . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
Environnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Charger des extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1
Extensions usuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2
Graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
3
Références et hyperliens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
4
Renvois et hypertexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
4.1
Signets et renvois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
4.2
L’extension hyperref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2
2 Fonctions (un peu plus) avancées
1
7
Document maître . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.1
Utilisation d’une classe externe . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.2
Document esclave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2
Créer un tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
3
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
4
Commandes utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1
TD n˚ 1
Premier document LATEX
Ce premier TD permet d’aborder un certain nombre de notions centrales de LATEX.
Dans le cadre de ce TP, il vous est parfois demandé de constater que la manipulation donne une
erreur de compilation. Pour vous assurer que l’erreur n’est pas de votre fait, il faudra tenter de lire
les sorties de la console. Les erreurs les plus courramment constatées concernent généralement les
noms de commandes (le compilateur est sensible à la casse), leur nombre d’arguments ou l’oubli
d’une accolade.
Nota Bene 1.1: Notes sur le TP
1
Écrire
1.1
Créer un nouveau document
I. Créer un nouveau document dans l’éditeur de texte choisi.
II. L’enregistrer en tant que memo.tex dans un dossier TD1.
III. Reporter la structure élémentaire d’un document LATEX(cf. Figure 1.1).
IV. Dans le préambule du document ajouter le titre « Mémo LATEX » avec la commande \title{} 1 .
V. Toujours dans le préambule du document ajouter son nom avec la commande \autor{}.
VI. Compiler le document, que se passe-t-il ? (observer également le dossier TD1)
VII. Ajouter la commande \maketitle dans le corps du document, puis relancer la compilation.
Que remarquez-vous ?
1. \title{Mémo \LaTeX}
2
TD n˚ 1. Premier document LATEX (1. Écrire)
1
2
3
4
5
6
3
\documentclass{article}
%Type de document (=feuille de style)
%Préambule : entre la classe et le début du doc
\begin{document}
Ici, le contenu de l’article en question.
\end{document}
Figure 1.1: Structure minimale d’un document LATEX
1.2
Caractères
Suite à la dernière manipulation, le titre du document doit être écrit sans le ‘e’. En effet, par défaut,
LATEX ne traite pas les caractères accentués du fichier source (cf. norme ASCII). Nous verrons dans la
section 2 comment résoudre ce problème. Sans cela, LATEX propose un ensemble de commandes pour
écrire les caractères, qui pourront s’avérer utiles mêmes avec en résolvant ce problème, par exemple pour
les caractères qui ne sont pas disponibles sur un clavier. Pour avoir la liste complète de ces commandes,
de nombreuses ressources sont disponibles (voir par exemple Pakin et al. [2009]) nous allons ici donner
quelques exemples qui illustrent la logique de ces commandes.
VIII. Dans le corps du document écrivez la phrase : « Apr\’es m\ˆure r\’eflexion, il semblerait
que LATEX ne pr\’esente pas d’incommensurables difficult\’es\ldots{} Ce n’est pas non-plus
compl\’etement~~~~~na\"if, mais une fois comprises les bases --- encore quelques questions
à faire ---, on devient \emph{autonome} \‘a 61,1\%. »
IX. Compiler le document et observer le résultat.
1.3
Environnements
Pour décrire des portions de textes potentiellement longues, LATEX définit des environnements sous la
forme :
\begin{nomEnvironnement}
Le texte décrit par « nomEnvironnement ».
\end{nomEnvironnement}
X. quote (pour les citations d’un paragraphe ou moins) est un tel environnement : s’en servir
pour la citation suivante :
« Avec un logiciel WYSIWYG, l’auteur produit généralement des documents esthétiquement plaisants (quoi que. . . ) mais très peu ou mal structurés. LATEX
empêche de telles erreurs de formatage en forçant l’auteur à décrire la structure
logique de son document et en choisissant lui-même la mise en page la plus 2
appropriée. »
[Oetiker et al., 2011b, p. 3] 3
2. « L’un des traducteurs n’est pas aussi optimiste et pense que LATEX choisit seulement une mise en pages appropriée,
ce qui n’est déjà pas mal. (NdT) »
TD n˚ 1. Premier document LATEX (2. Charger des extensions)
4
Pour faire une note de bas de page, utiliser la commande \footnote{Contenu de la note}.
Charger des extensions 4
2
2.1
Extensions usuelles
LATEX ne sait pas tout faire (par exemple le compilateur fonctionne pour l’anglais), mais comme il est très
évolutif, il offre la possibilité de créer des extensions qui lui permettront de prendre en charge de nouvelles
structures. Pour utiliser une extension, on utilise la commande \usepackage[options]{NomDuPackage}.
XI. Copier le texte du document et le coller dans un éditeur de texte. Que remarquez-vous ?
XII. Ajouter dans le préambule du document les commandes pour charger l’extension fontenc
avec l’option T1 et le package inputenc avec en option l’encodage utilisé pour vos fichiers
textes. À quoi sont liés ces packages ? 5
XIII. Remplacer « na\"if » par « \og na\"if\fg ». Que se passe-t-il ?
XIV. Charger maintenant (toujours en préambule) le package babel avec l’option francais. Que
fait le package babel ?
2.2
Graphiques
L’inclusion de graphiques nécessite le package graphicx, qui permet d’insérer des fichiers graphiques
(notamment .jpg, .png, .pdf).
La commande pour insérer les images est :\includegraphics[attribut]{cheminDeLImage} 6 . La
liste des attributs possibles est accessible en ligne : http://en.wikibooks.org/wiki/LaTeX/Importing_
Graphics#Including_graphics 7 .
XV. Créer un dossier images dans le dossier contenant le fichier .tex et y mettre les fichiers
by-nc.pdf et by-nc.png.
XVI. Quel sera le chemin à indiquer pour inclure l’image png ?
XVII. Dans le titre de votre document, inclure les 2 fichiers mentionnés. Pour le fichier .png fixer
l’attribut hauteur à 3cm et pour le fichier .pdf fixer l’attribut largeur à \linewidth. Bien
prendre soin d’insérer un saut de ligne entre le texte du titre et les images (et entre les
images) en utilisant \\.
XVIII. Supprimer l’image la moins adaptée pour une impression et l’attribut de dimensionnement.
4. Aussi appelées packages.
5. Notez bien que le fait que la question XI précède juste celle-ci n’est pas anodin.
6. Ici il n’y a qu’un fichier, mais dans le cas d’un document complexe, il faudra indiquer le chemin depuis le fichier
principal (maître).
7. Pour une version simplifiée mais en français, voir ici
TD n˚ 1. Premier document LATEX (3. Références et hyperliens)
3
5
Références et hyperliens
LATEX utilise des commandes pour structurer le contenu qui permettent de structurer le contenu (notamment en termes de sections), qui sont ensuite traitées pour être mises en forme et numérotées selon
le modèle de document, mais aussi référencées.
Les différents niveaux de structuration sont, par granularité croissante :
– \section{Titre de la section} (niveau 1 de la numérotation) ;
– \subsection{Titre de la sous-section} (niveau 2 de la numérotation) ;
– \subsubsection{Titre de la sous-sous-section} (niveau 3 de la numérotation) ;
– \paragraph{Titre du paragraphe} (niveau 4 de la numérotation) ;
– \subparagraph{Titre du sous-paragraphe} (niveau 5 de la numérotation) ;
XIX. À la place de la phrase d’exemple, saisir la commande \tableofcontents
XX. Créer les titres suivants dans le document :
– Caractères spéciaux ;
– Structuration du contenu ;
– Commandes ;
– Environnements ;
– Extensions.
XXI. Une fois que les titres sont apparus sur le document imprimable, compiler les sources une
seconde fois. Que se passe-t-il ?
XXII. Dans le dossier contenant les fichiers sources, supprimer les fichiers auxiliaires (soit en util-
isant la commande appropriée dans votre éditeur de document, soit en sélectionnant tous les
fichiers dont l’extension n’est pas .tex. Compiler une fois, observer le document produit et
ouvrir dans un éditeur de texte, le fichier .toc. Compiler et observer à nouveau le document.
Que peut-on conclure ?
XXIII. Saisir du lipsum de manière à ce que le titre de la section 2.1 passe en page 3 et le titre de
la section 3 en page 4 (sans la débuter), tout en laissant la section 1 sans titre.
TD n˚ 1. Premier document LATEX (4. Renvois et hypertexte)
4
6
Renvois et hypertexte
4.1
Signets et renvois
Pour positionner des signet dans le texte, il faut utiliser la commande \label{nomDuSignet}. Par
convention, dans le nom du signet, on peut indiquer le type d’élément que l’on veut marquer par un
préfixe à définir. On pourra ensuite faire des renvois vers ce signet, de plusieurs manières :
– \ref{nom:du:signet} : numérotation de l’élément marqué ;
– \pageref{nom:du:signet} : page de l’élément marqué ;
– \nameref{nom:du:signet} : le texte de l’élément marqué (nécessite l’extension nameref ou hyperref,
qui l’inclut).
XXIV. Juste après le titre de la section 2.2, ajouter le signet sec:env.
XXV. Juste avant le titre de la section 3, ajouter le signet sec:dsEnv.
XXVI. Dans la section 1, utiliser des renvois pour indiquer « Vous trouverez la liste des environ-
nements dans la section le numéro de la section environnements (p. [le numéro
de page de la section environnements]), en particulier l’environnement machin-bidule
(section [section de sec:dsEnv], p. [page de sec:dsEnv]). » (Il est conseillé d’utiliser
un espace insécable entre « p. » et le renvoi)
XXVII. Juste après « machin-bidule », insérer une note de bas de page indiquant « uniquement
disponible avec le package “truc” » et vous mettrez dans cette note un signet note:extbidul.
XXVIII. En toute fin de document, faire référence au numéro de la note créée et à son numéro de
page.
4.2
L’extension hyperref
XXIX. Dans la section 1, ajouter la phrase « Pour plus de caractères voir http://fr.wikibooks.
org/wiki/LaTeX/%C3%89l%C3%A9ments_de_base ». Attention, bien penser au sens de certains caractères spéciaux pour afficher toute l’url.
XXX. Ajouter le paquet hyperref avec l’option pdftex.
XXXI. Placer l’url ajoutée en XXIX dans la commande \url.
XXXII. Pour plus de clarté dans l’affichage de ce document destiné à être visionné sur ordinateur,
remplacer la commande \url par :
\href{http://fr.wikibooks.org/wiki/LaTeX/%C3%89l%C3%A9ments_de_base}{le wikibook
à propos de LATEX}.
XXXIII. Pour remplacer les cadres autour des liens par des figures, voir [Oetiker et al., 2011b,
p. 103].
TD n˚ 2
Fonctions (un peu plus) avancées
Ce TD a pour vocation d’aborder certaines difficultés de LATEX, mais pas d’être exhaustif quant à
ces difficultés. L’objectif est d’acquérir une certaine autonomie dans l’usage de l’outil. Comme dans
le TD n˚1, il peut arriver qu’une question mène à constater une erreur de compilation (cf. note 1.1
p. 2).
Nota Bene 2.1: Sur ce TD. . .
Les indications données dans ce TP s’appuient sur la classe de document (feuille de style) coursTD.cls
fournie qui permet de mettre en forme des supports de cours de trois types TD, cours ou FichePratique 1 .
Cependant, elles peuvent être suivies avec n’importe quelle feuille de style externe (par exemple celle
pour un article). Seuls les chemins (cf. rappel 2.1) et quelques options changeront.
* Les rares questions ou remarques spécifiques à la classe coursTD, seront indiquées par un astérisque.
Dans un cas, comme dans l’autre, aucun réel contenu du document n’est donné dans cet énoncé, pour
manipuler un véritable document, il vous est suggéré de travailler sur un véritable article ou support de
cours (à recopier par exemple).
1
Document maître
Comme toujours, il est important d’avoir une organisation de fichiers compréhensible et claire, ce qui
facilitera la navigation, ainsi que l’écriture des chemins 2 pour l’intégration des différents fichiers.
1. Il s’agit des valeurs possibles pour l’option de la classe.
2. Cf. rappel 2.1.
7
TD n˚ 2. Fonctions (un peu plus) avancées (1. Document maître)
1.1
8
Utilisation d’une classe externe
I. Dans un dossier dédié, créer un document maître 3 au nom explicite : votre nom pour un
article, l’intitulé du cours pour un TD (le TD en question sera contenu dans un autre fichier
.tex) ou TDs.tex. Dans la suite de l’énoncé, nous nous référerons à ce fichier par le terme
document maître.
II. Dans un dossier style, ajouter le fichier coursTD.cls (ou la feuille de style fournie par
l’éditeur pour un article) ;
III. Créer sa structure de base en lui donnant comme classe le chemin vers le fichier ajouté dans
la question précédente (* avec l’option appropriée, selon la nature de votre document : TD,
cours ou FichePratique), ainsi que les extensions usuelles vues dans le TD n˚1 : babel,
inputenc et fontenc (cf. 2.1), graphicx (cf. 2.2) et hyperref (cf. 4.2).
IV. Commencer le document maître par la page de garde (\maketitle) et par une table des
matières (\tableofcontents).
1.2
Document esclave
Pour un article vous pouvez vous inspirer de la séquence suivante en écrivant votre abstract ou
vos informations de contact dans un document à part (ce qui est parfois utilisé pour faciliter
l’anonymisation des proposition)
Nota Bene 2.2: Pour un article
V. *Créer un document esclave (utilisé par le document maître), appelé TD1.tex (ou un autre
nom explicite).
VI. Dans ce document ajouter quelques titres de section / sous-section.
VII. Compiler le document esclave. Que se passe-t-il et pourquoi ?
VIII. Définir le document maître comme tel dans l’éditeur. Avec TexMaker et Kile, la procédure
est analogue : Ouvrir la fenêtre du document maître, puis Options>Définir le document
courant comme document maître. Pour annuler Options>revenir en mode normal (même
élément de menu). Dans TeXShop, cela se fait manuellement, à partir de chaque document
esclave : fichier>document principal, puis indiquer le chemin du document maître à
partir du document esclave. Ceci créera un document .texshop dans votre dossier.
IX. Lancer la compilation depuis le document esclave.
X. Inclure ce fichier au début du corps du document maître (après la table des matières) avec
la commande \input, puis avec la commande \include. Quelle est la différence entre ces
deux commandes ?
XI. *Créer un nouveau chapitre (commande \chapter) dans TD1.
3. Il fera appel à et organise entre eux des fichiers esclaves. À part du point de vue de sa fonction « logique », ce
document/fichier ne présente aucune particularité par rapport aux autres.
TD n˚ 2. Fonctions (un peu plus) avancées (2. Créer un tableau)
2
9
Créer un tableau
Un exemple recensant l’essentiel des fonctionnalités de tableau se trouve dans la figure 2.1, avec le rendu
correspondant. Il est à noter que la commande \multirow demande l’installation du package du même
nom. N’est pas évoqué dans cet exemple la colonne à largeur fixe (p{largeur}). Dans la première partie
\begin{tabular}{|l|c||r|}
\hline
colonne 1
\hline\hline
\multirow{2}{*}{1.1}
& \multicolumn{2}{c|}{colonnes 2 et 3}\\
& 1.2
\cline{2-3}
& 2.2
& 1.3 \\
& 2.3\\
\hline
\end{tabular}
colonne 1
permet d’obtenir :
1.1
colonnes 2 et 3
1.2
1.3
2.2
2.3
Figure 2.1: Code LATEX et tableau correspondant
de la figure 2.1, celle contenant le code, une représentation a été choisie de manière à montrer à quelle
zone du tableau correspond chaque portion de code. Pour obtenir le tableau résultat, il suffit de recopier
dans l’ordre les lignes du tableau.
XII. Reproduire le tableau 2.1 (ou un autre de votre choix faisant plus de sens dans votre docu-
ment).
Dates
2002 2003
2004 2005
2007 2009
2009
...
Olga Kubassevich
Club
ZDIA Zaporizhya
Jenestra Odessa
Türk Telekom Ankara
Zhetyssu
Ukraine
Turquie
Kazakhstan
Table 2.1: Tableau de (7.5 cm de large)
3
Bibliographie
La gestion d’une bibliographie se fait en utilisant une syntaxe particulière (bibTEX), dans laquelle nous
n’entrerons pas puisqu’elle sera gérée par un logiciel de gestion de bibliographie (par exemple Jabref).
Une formation dédiée à l’usage de ce type de logiciel est proposée par le LIDILEM, il ne s’agira ici que
de l’utilisation d’un tel logiciel avec LATEX. Ne compiler qu’après la question XIX.
XIII. Créer une nouvelle base de données dans Jabref.
TD n˚ 2. Fonctions (un peu plus) avancées (4. Commandes utilisateur)
10
XIV. Y intégrer deux publications provenant de Hal (par exemple par copier-coller, depuis le
bouton – de hal – récupérer au format>bibTEX).
XV. Citer l’une de ces deux publications dans le corps de votre document : dans JabRef, sélectionner la publication voulue, clic-droit>copy \cite{bibTEX key} ou ctrl+K, puis dans
votre éditeur LATEX, coller le contenu du presse-papier.
XVI. Comparer la source bibTEX avec l’élément copié dans le document LATEX. Que dire du
paramètre de la fonction \cite utilisée ?
XVII. Avant l’inclusion de l’extension babel 4 ajouter le package natbib. Les options de charge-
ment du paquet 5 permettent de décider du format des citations dans le texte. Dans le
présent document, les options choisies sont square et authoryear (cf. XXXIII p. 6).
XVIII. À l’endroit où vous voulez ajouter votre bibliographie, entrez la commande :
\bibliographystyle{apalike}
(choix de la feuille de style), suivie de la commande d’insertion d’une bibliographie :
\bibliography{chemin pour accéder au fichier .bib créé en XIII}.
XIX. En regardant votre dossier de travail et le document produit à chaque étape, faire
– une compilation LATEX ;
– une compilation bibTEX ;
– une nouvelle compilation LATEX ;
– une dernière compilation LATEX.
Qu’en conclure sur cette séquence ? (pour confirmer vos hypothèses vous pouvez ouvrir ou
supprimer les fichiers auxiliaires et faire des tests supplémentaires)
XX. Ajouter maintenant, juste avant la bibliographie la commande \nocite{*}. Compiler cor-
rectement (cf. XIX) le document. Qu’en conclure sur \nocite ?
XXI. Remplacer la feuille de style apalike (en général fournie avec le compilateur) par :
apalike-url-loizbec.bst fournie.
4
Commandes utilisateur
Dans LATEX, il est aisé de créer ses propres commandes. Celles-ci peuvent atteindre une grande complexité,
mais nous nous contenterons ici de définir des éléments structurants (mise en forme associée à un type
d’éléments). Nous allons créer ici, une commande pour afficher les fonctions LATEX.
XXII. Dans le document, saisir la commande suivante : \newcommand{\titre}[2]{\underline{#2}
(\textit{#1})}.
XXIII. Utiliser la commande ainsi définie (ex : \titre{Nicolas Bouvier}{L’usage du monde}). À
quoi sert cette commande ?
XXIV. Trouver le code pour écrire \LaTeX{}.
XXV. Avec les commandes \textbf et \texttt, mettez ce texte en gras et en police de type
« typewriter ».
4. Sans quoi des bugs surviendront
5. Accessibles ici (ainsi que les commandes spécifiques concernées) :http://merkel.zoneo.net/Latex/natbib.php?
lang=fr.
TD n˚ 2. Fonctions (un peu plus) avancées (4. Commandes utilisateur)
11
XXVI. Imaginons que vous soyez en train de taper un document recensant des fonctionnalités
de LATEX, il risque d’être fastidieux de saisir chaque commande de la manière précédente.
Sur le modèle de la question XXII, créer une commande \ctex (pour commande LATEX),
qui prendra un paramètre (une chaine de caractères) et qui permettra de ne saisir que
le nom de la commande pour afficher toute la chaine précédente (ex : \ctex{LaTeX}).
Pour ce faire utiliser \newcommand[nombreDeParamètres]{\nom de la commande}{ce
que fait la commande}.
XXVII. Vous pouvez maintenant mettre ces deux commandes personnelles dans un fichier .sty
(extension) que vous pourrez inclure dans tous vos documents LATEX.
* La version jointe de coursTD est simplifiée, mais contient l’environnement exo dans lequel les commandes \question sont numérotées. Il permet également d’inclure des \correction qui ne sont affichées
qu’après une commande \correctiontrue (et dissimulée après une commande \correctionfalse.
Ces fonctions peuvent vous servir de modèle pour créer les vôtres (vous pouvez les consulter dans
le fichier coursTD.cls utilisé). Une version plus complète (avec en-têtes prenant en compte le type
de document est disponible avec les sources de ce cours 6 , que vous pourrez recompiler pour avoir la
correction).
6. http://www.lezinter.net/~lzbk/_old/fichiers/latex/sources.zip
TD n˚ 2. Fonctions (un peu plus) avancées (4. Commandes utilisateur)
Rappel 2.1 Chemins relatifs
Qu’il s’agisse d’un package externe, d’une feuille de style, d’une image, d’un fichier source ou d’un
fichier bibliographie, sa place dans l’arborescence des fichiers doit être donnée à partir du document
maître a .
Avec l’arborescence ci-dessus indiquer la commande pour :
XXVIII. déclarer la classe du document maître (TDs.tex) d’après le fichier coursTD.cls
avec l’option TD :
XXIX. inclure le fichier TD1.tex dans le document maître :
XXX. inclure le tableau 1 dans le fichier TD1.tex :
XXXI. se référer l’image dossier.png dans le fichier tableau1.tex :
On pourrait également utiliser le même type de chemins dans les commandes \usepackage,
\bibliography, etc.
a. Celui qui contient la déclaration de la classe du document.
12
Bibliographie
[Oetiker et al., 2011a] Tobias Oetiker, Hubert Partl, Irene Hyna & Elisabeth Schlegl (2011a).
The not so short introduction to LATEX 2ε .
url : http://tobi.oetiker.ch/lshort/lshort.pdf.
[Oetiker et al., 2011b] Tobias Oetiker, Hubert Partl, Irene Hyna & Elisabeth Schlegl (2011b).
Une courte ( ?) introduction à LATEX 2ε , édition française de [Oetiker et al., 2011a] (traduction :
Samuel Colin, Manuel Pégourié-Gonnard & Matthieu Herrb).
url : http://ctan.org/tex-archive/info/lshort/french.
[Pakin et al., 2009] Scott Pakin, David Carlisle & Alexander Holt (2009). The comprehensive
LATEX symbol list.
url : http://mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf.
13

Documents pareils