Que fait la commande \include ?#

À ses débuts, fournissait la commande \include pour résoudre le problème des documents longs. Avec les ordinateurs relativement lents de l’époque, la commande associée \includeonly représentait une véritable aubaine. Même si, de nos jours, \includeonly semble moins intéressante, elle reste utile à certains grands projets. Toutefois, certains utilisateurs sont surpris par le comportement de ces deux commandes : elles sont en fait plus élaborées qu’ils ne le pensent.

Pour que \includeonly fonctionne, \include crée un fichier .aux pour chaque fichier inclus et constitue un « point de contrôle » des paramètres importants (tels que les numéros de page, figure, tableau et note de bas de page). Or, comme le montre la question « Pourquoi un numéro de page courante peut être faux en haut de page ? », évaluer un numéro de page peut être délicat. Aussi, en conséquence, la commande \include efface la page en cours avant et après elle. Par ailleurs, ce mécanisme d’inclusion ne fonctionne pas si une commande \include apparaît dans un fichier qui est lui-même objet d’une commande \include : le diagnostique comme une erreur.

Ces principes précisés, nous pouvons maintenant répondre aux deux questions les plus courantes sur \include :

  • Pourquoi place-t-il une page avant et après les commandes \include ? Parce qu’il le faut, comme vu plus haut. Si cela vous pose difficulté, remplacez la commande \include par \input. Vous ne pourrez plus utiliser \includeonly mais il est probable que vous n’en ayez pas besoin.

  • Pourquoi ne puis-je pas imbriquer les fichiers avec \include puisque j’ai toujours pu le faire sous 2.09 ? En fait, vous ne pouviez pas, même sous 2.09, mais l’échec n’était pas diagnostiqué. Cependant, puisque vous étiez satisfait du comportement sous 2.09, remplacez une nouvelle fois les commandes \include par des commandes \input (avec, selon le cas des commandes \clearpage en plus).