Si vous rédigez un long document, vous aurez peut-être envie de diviser le code-source en plusieurs fichiers, plus faciles à gérer. Par exemple, il est très courant d’avoir un fichier principal (ou « racine »), puis un fichier source par chapitre (pour un livre ou une thèse), ou par section significative (pour un long article).
LaTeX permet de répartir le contenu d’un document dans plusieurs fichiers comme
on le souhaite. Il y a deux commandes importantes ici, \input
et \include
.
On peut utiliser \input
pour faire appel à un fichier « comme s’il avait été
tapé ici », donc il peut être utilisé pour n’importe quel contenu. La commande
\include
, elle, ne fonctionne que pour les chapitres : elle démarre une
nouvelle page et fait quelques ajustements internes. Mais elle a un gros
avantage : elle permet de sélectionner seulement les chapitres à inclure, de
sorte que vous pouvez travailler sur une partie de votre document plutôt que sur
l’ensemble.
Un document un peu long pourrait donc ressembler à ceci :
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\title{A Sample Book}
\author{John Doe \and Joe Bloggs}
\IfFileExists{append.aux}
{
\includeonly{
% front,
% chap1,
chap2,
% append
}
}
{
% Do a full document initially to generate
% all the aux files
}
\begin{document}
\frontmatter
\include{front}
% =========================
\mainmatter
\include{chap1}
\include{chap2}
\appendix
\include{append}
% ========================
\backmatter
\printbibliography
\newpage
\input{backcover}
\end{document}
Voici les différentes caractéristiques de ce fichier (tous les fichiers utilisés se trouvent à la fin de cette page).
\input
La commande \input
sert pour les parties d’un long fichier qui ne sont
pas des chapitres séparés. Dans l’exemple, nous l’avons utilisée pour séparer
les couvertures avant et arrière, ce qui permet de garder le fichier principal
court et clair, et permet également ces couvertures soient réutilisées pour un
autre document. Nous l’avons également employée pour les sections « hors chapitre »
au début de notre livre, comme la préface. Encore une fois, cela nous aide à
garder le fichier principal clair et compact.
\include
et \includeonly
La commande \include
est faite pour les chapitres, nous l’avons donc utilisée
pour chaque chapitre complet ; elle démarre toujours une nouvelle page. Nous
avons sélectionné les chapitres qui seront réellement inclus à l’aide de la
commande \includeonly
, qui, comme vous pouvez le voir, prend une liste de noms
de fichiers séparés par des virgules. Lorsque vous utilisez \includeonly
, vous
pouvez réduire le temps nécessaire à la compilation et produire un PDF
« sélectif » pour la relecture. De plus, l’avantage principal de \includeonly
est que LaTeX utilisera toutes les informations des références croisées contenues
dans les fichiers .aux
des autres fichiers inclus.
La commande \tableofcontents
utilise les informations des commandes de
sectionnement pour remplir une table des matières. Elle possède son propre
fichier auxiliaire, avec l’extension .toc
(table of contents),
de sorte que vous devrez sans doute lancer LaTeX deux fois pour avoir une table
de matières complète et à jour. La table est générée automatiquement à partir
des titres des sections et autres sous-sections. Il existe des commandes
similaires pour les \listoffigures
et les \listoftables
, pour la table de
figures et celle des tableaux, qui fonctionnent à partir des légendes des
l’environnements de flottants, et utilisent des fichiers avec l’extension
.lof
et .lot
respectivement.
Les commandes \frontmatter
, \mainmatter
, et \backmatter
modifient la mise
en page. Par exemple, \frontmatter
change la numérotation des pages en
chiffres romains pour la préface et la table des matières. La commande \appendix
change la numérotation en A
, B
, etc., pour les annexes ; donc par exemple
dans le premier chapitre après \appendix
, le titre sera Appendix A.
Si vous utilisez \frontmatter
pour la préface, il vous faudra utiliser
\mainmatter
pour commencer le corps de votre document à proprement parler.
Modifiez la structure de base du document d’exemple, essayez d’ajouter et de
supprimer des entrées pour \includeonly
et regardez quel effet ça produit.
Ajoutez quelques flottants et demandez à LaTeX des listes des figures et des tableaux. Si vous utilisez une instance de LaTeX installée localement, comptez combien d’exécutions de LaTeX sont nécessaires (les systèmes en ligne relancent LaTeX automatiquement, sans forcément le dire, de sorte que les exécutions successives requises ne se voient pas).
\input{frontcover}
\maketitle
\input{dedication}
\input{copyright}
\tableofcontents
\input{pref}
\chapter{Preface}
The preface text. See \cite{doody}.
\chapter{Introduction}
The first chapter text.
\chapter{Something}
The second chapter text.
\chapter*{Appendix}
The first appendix text.
\begin{center}
The front cover
\end{center}
\begin{center}
\large
For \ldots
\end{center}
\begin{center}
Copyright 2020 learnlatex.
\end{center}
\begin{center}
The back cover
\end{center}