Gestion des gros documents sous LaTeX

On y est. La fin de ma thèse approchant, il a bien fallu qu’arrive le moment pas attendu du tout de la rédaction. Ce qui implique pas mal de $latex \LaTeX$, et beaucoup de temps. Je vais donc vous donner ici les quelques astuces que j’ai trouvé pour ne pas (trop) m’ensevelir sous les fichiers.

Règle n°1 : séparer les sources !

Pour un mémoire de 200 pages (hors annexes), il serait stupide illusoire d’avoir le tout dans un unique .tex.

On va donc créer un .tex par chapitre (plus un autre pour le préambule) et un fichier main.tex qui sera le fichier maître. Pour aller plus loin, les figures des différents chapitres seront dans des sous-dossiers distincts. Pour l’inclusion des sources des chapitres, la commande \include est à préférer à \input car, comme on le verra par la suite, elle nous permettra de compiler séparément les chapitres.

Règle n°2 : les fichiers des figures dans des sous-dossiers

Mais on va même aller encore plus loin : avec la commande \include, tous les fichiers appelés dans les fichiers des chapitres devraient avoir l’adresse complète depuis le fichier maître.

Exemple : Si mon fichier main.tex appelle le fichier Biblio.tex, et que dans celui-ci je veux inclure une image contenue dans le dossier « ImagesBiblio », alors il faudra que je rajoute le préfixe Biblio/ à chaque adresse de fichier (que ce soit pour les \include, \includegraphics, \input etc., et même les fichiers d’exportation $latex \LaTeX$ d’inkscape !).

Comme on est un peu fainéants, on va donc automatiser ça grâce au package import. Dans le préambule donc :

\usepackage{import}

Puis dans le main.tex , remplacez

\include{1-Biblio}

par :

\includefrom{ImagesBiblio/}{1-Biblio}

Ce qui va se passer en fait, c’est que grâce au package import, lors de l’importation du fichier 1-Biblio.tex, tous les chemins relatifs vont prendre pour préfixe « ImagesBiblio/ »

Pour résumer

Voici donc ci-après l’allure des fichiers sources.

Fichier Dossier de travail/main.tex :

\documentclass[a4paper, 12pt, twoside]{book}
\input{Preambule}
 
\begin{document}
% Tous les trucs cool que vous voulez (table des matières, table des figures etc.)
 
\chapter{\'{E}tude bibliographique}
	\includefrom{ImagesBiblio/}{1-Biblio}
% Pareil pour les autres chapitres
 
% Les annexes
\end{document}

Fichier Dossier de travail/Preambule.tex :

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}		
\usepackage[francais]{babel}
\usepackage{import}
% et les milliers d'autres packages qui vous plaisent

Fichier Dossier de travail/1-Biblio.tex :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% UN GROS TITRE DE CHAPITRE ! %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Vos texte brut, avec des jolies images comme celle-ci :
\includegraphics{joliephoto.png}

Joliephoto.png étant dans « Dossier de travail/ImagesBiblio/ »

C’est bien entendu le fichier main.tex que vous compilez… Dans la plupart des éditeurs visuels $latex \LaTeX$ , il est facile de définir un document maître.

Ne compiler que certains chapitres

Pour donner la liste des fichiers à compiler, il suffit de rajouter avant le \begin{document} la commande suivante :

\includeonly{1-Biblio}

 Ce qui aura pour effet de neutraliser toutes les commandes \include et \includefrom autres que celles appelant le fichier 1-Biblio.tex. Pour appeler plusieurs sources, il suffit de séparer leurs noms par des virgules dans la commande \includeonly.

Attention donc : utilisez \includefrom (ou include si vous n’êtes pas convaincu…) pour les parties du document, par pour les sous-parties ou le préambule, sinon vous devrez penser à ajouter les noms correspondants dans le \includeonly. Donc préférez \input pour les fichiers indispensables ou les « sous-fichiers ».

Bonne compilation !