Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
composition:texte:document:que_fait_vraiment_include [2018/12/03 23:39] – jejust | 2_composition:texte:document:que_fait_vraiment_include [2021/03/01 12:39] (Version actuelle) – Correction d'un lien suite au déplacement de pages. yannick.tanguy |
---|
====== What's going on in my `\include` commands? ====== | ====== Que fait la commande “\include”? ====== |
| |
| À ses débuts, <latex>\LaTeX</latex> 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éressant, 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'on le pense. |
| |
The original LaTeX provided the ''\include'' command to address the | 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, [[3_composition:texte:pages:numerotation_des_pages:le_numero_de_page_est_incorrect|é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'' : <latex>\LaTeX</latex> le diagnostique comme une erreur. |
problem of long documents: with the relatively slow computers of the | |
time, the companion ''\includeonly'' facility was a boon. With the | |
vast increase in computer speed, ''\includeonly'' is less valuable | |
(though it still has its place in some very large projects). | |
Nevertheless, the facility is retained in current LaTeX, and causes | |
some confusion to those who misunderstand it. | |
| |
In order for ''\includeonly'' to work, ''\include'' makes a separate | |
''aux'' file for each included file, and makes a "checkpoint" of | |
important parameters (such as page, figure, table and footnote | |
numbers). As a direct result, it //must// clear the current page | |
both before and after the ''\include'' command. (The requirement | |
derives from the difficulties of | |
[[FAQ-wrongpn|observing page numbers]].) | |
What's more, this mechanism doesn't work if a ''\include'' command | |
appears in a file that was ''\include''d itself: LaTeX diagnoses | |
this as an error. | |
| |
So, we can now answer the two commonest questions about ''\include'': | |
| |
| |
- Why does LaTeX throw a page before and after ''\include'' | |
commands? | |
| |
| |
Answer: because it has to. If you don't like it, replace the | |
''\include'' command with ''\input'' --- you won't be able to use | |
''\includeonly'' any more, but you probably don't need it anyway, so | |
don't worry. | |
| |
| |
- Why can't I nest ''\include''d files? --- I always used to be | |
able to under LaTeX 2.09. | |
| |
| |
Answer: in fact, you couldn't, even under LaTeX 2.09, but the failure | |
wasn't diagnosed. However, since you were happy with the behaviour | |
under LaTeX 2.09, replace the ''\include'' commands with ''\input'' | |
commands (with ''\clearpage'' as appropriate). | |
| |
| Ces principes précisés, nous pouvons maintenant répondre aux deux questions les plus courantes sur ''\include'' : |
| * Pourquoi <latex>\LaTeX</latex> 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 LaTeX 2.09 ? En fait, vous ne pouviez pas, même sous LaTeX 2.09, mais l'échec n'était pas diagnostiqué. Cependant, puisque vous étiez satisfait du comportement sous LaTeX 2.09, remplacez une nouvelle fois les commandes ''\include'' par des commandes ''\input'' (avec, selon le cas des commandes ''\clearpage'' en plus). |
| |
----- | ----- |
| //Source:// [[faquk>FAQ-include|What's going on in my “\include” commands?]] |
| |
//Source:// [[faquk>FAQ-include|What's going on in my `\include` commands?]] | |
| |
{{htmlmetatags>metatag-keywords=(LaTeX,usage) | {{htmlmetatags>metatag-keywords=(LaTeX,commande \input,command \include,inclure un document LaTeX,document en plusieurs parties,document maître) |
metatag-og:title=(What's going on in my `\include` commands?) | metatag-og:title=(Que fait la commande \include) |
metatag-og:site_name=(FAQ LaTeX francophone) | metatag-og:site_name=(FAQ LaTeX francophone) |
}} | }} |
| |