LaTeX/Gestion des gros documents

Un livre de Wikilivres.

La gestion des gros documents avec LaTeX s'articule sur trois niveaux :

  • rigueur de la programmation ;
  • choix d'une classe de document adaptée ;
  • séparation du code source en plusieurs fichiers ;
  • avoir un document final exploitable.

Rigueur de la programmation[modifier | modifier le wikicode]

Il faut appliquer à LaTeX la même rigueur que l'on utilise pour la programmation classique. En fait, tout a déjà été dit précédemment, mais nous rappelons ici ces éléments qui, s'ils sont toujours importants, deviennent capitaux dans le cas des gros documents :

  • utiliser un éditeur de texte adapté, qui va faciliter l'écriture et éviter les erreurs ;
  • structurer le code source, en n'hésitant pas à faire des retours de ligne et à mettre des commentaires :
    • limiter les lignes à 72 caractères,
    • pas plus d'une commande par ligne, mais on peut étaler une commande sur plusieurs lignes (penser à mettre un % en fin de ligne si les retours de lignes posent problème dans la commande),
    • mettre des commentaires détaillés pour repérer facilement les différentes sections, sous-sections, etc.
    • utiliser des décalages de colonnes (indentations par des tabulations) pour mettre en évidence l'imbrication des structures (listes, tableaux, …) ;
  • séparer le fond de la forme ;
  • regrouper le préambule dans un fichier séparé, et commenter les macros dans ce fichier.

Choix d'une classe de document adaptée[modifier | modifier le wikicode]

Il faut choisir une classe prévue pour les gros documents. Ces classes disposent en particulier du maximum de niveaux de sectionnement (7 niveaux de \part à \subparagraph).

On citera en particulier :

  • book ;
  • report ;
  • memoir.

Les classes book et memoir disposent de commandes permettant de distinguer l'introduction, le corps et les annexes du document (\frontmatter, \mainmatter et \backmatter). Les annexes sont introduites par la commande \appendix.

Séparation du code source en plusieurs fichiers[modifier | modifier le wikicode]

Pour les gros documents, il faut scinder le code source en plusieurs fichiers. Cela permet de limiter les dégâts en cas de mauvaise manipulation, et de s'y retrouver plus facilement.

On crée donc plusieurs fichiers .tex :

  • un fichier par chapitre, ou par section selon le niveau de sectionnement que l'on choisit ; dans ces fichiers annexes, il est inutile de rappeler la classe et les packages utilisés.
  • un document « maître » faisant appels aux différents fichiers, dont la classe et les packages utilisés s'appliqueront à tous les fichiers utilisés.

Le document maître ne doit contenir que :

  • l'appel de la classe : \documentclass[options]{classe} ;
  • l'appel au préambule : \input{preambule} ;
  • les commandes de page de titre : \title{titre}, \author{auteur}, \date{date}, \maketitle ;
  • les commandes \begin{document} et \end{document} ;
  • les appels aux fichiers sources ;
  • éventuellement, les commandes de sectionnement \front/main/backmatter et \appendix, et les commandes de génération de tables et index : \tableofcontents, \makeindex et \printindex, \bibliographystyle{style} et \bibliography{fichierbib}, \listoftables et \listoffigures.

Les appels des fichiers source se font avec la commande \include{fichier}{fichier} ou \input{fichier} : \include provoque un saut de page et est plus adapté aux chapitres, \input est plus adapté aux sections, aux fichiers relativement petits.

Un fichier appelé ne peut pas lui-même contenir de \include, mais il peut contenir un \input.

Regrouper des articles[modifier | modifier le wikicode]

Dans le cas des publications scientifiques, chaque publication est un document (classe de document de type article) avec un titre, un résumé et le nom des auteurs, mais plusieurs articles sont regroupés dans un même ouvrage (périodique, compte-rendu de congrès, …). Pour faire ceci avec LaTeX, on dispose de la classe combine [1]

Voir aussi http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multidoc

Avoir un document final exploitable[modifier | modifier le wikicode]

Le document doit être agréable à lire, donc… lisible. On s'attachera en particulier à ajuster le nombre de colonnes de texte au corps afin d'avoir une soixantaine de caractères en largeur par colonne (entre 25 et 80).

Puisqu'il est volumineux, on doit pouvoir facilement retrouver une information. Il doit donc comporter :

Lorsqu'il y a beaucoup de références dans le document il peut être agréable de pouvoir les suivre dans le fichier .pdf à la manière de liens hypertextes. Dans ce cas on peut utiliser l'extension \hyperref qui construit les liens à la compilation (fonctionne avec pdflatex uniquement).