web-dev-qa-db-fra.com

Comment ne pas avoir de saut de page après \ include dans LaTeX

Mon LaTeX me fait des sauts de page après chaque sous-section parce que mes sous-sections sont dans des fichiers séparés. J'utilise la commande \include{file} qui ajoute un saut de page après son utilisation.

Je voudrais ne pas avoir de saut de page causé par l'utilisation de \include{file}.

Comment pouvez-vous pas de saut de page après l'utilisation de include -command?

103

Le paquet newclude proposé par Will Robertson est plutôt utile pour éviter la page claire. Il semble, pour que \includeonly pour fonctionner, il faut appeler le paquet immédiatement après \documentclass{...}. Dans l'environnement complexe de ma thèse, j'ai également rencontré des problèmes de références brisées.

Une bonne solution de contournement, lorsque includeonly n'est pas nécessaire pour une version finale, consiste à utiliser includes uniquement dans le brouillon:

\newif\ifdraft\drafttrue

ou

\newif\ifdraft\draftfalse

\ifdraft
  \include{...}
\fi

\ifdraft
  \include{file}
\else
  \input{file}
\fi

La première ligne peut être facilement ajoutée par un fichier makefile, pour créer des cibles de production pour la version brouillon ou de production.

\includeonly{file1,file2,...} permet de spécifier une liste de fichiers source appelés avec \include{file1} (où file1 _ est un exemple) qui apparaîtra dans le document résultant. Les autres ne s'afficheront pas, mais seront pris en compte pour les compteurs, les étiquettes et les tables des matières lorsque les fichiers aux correspondants seront inclus.

En d'autres termes, en utilisant include et includeonly, vous pouvez raccourcir le temps de compilation dans un brouillon tout en ayant des références correctes. Pour en savoir plus sur Wikibooks .

@ Robertson

\include est si utile car il permet à travers \includeonly{...} pour ne construire que les sections nécessaires. Lorsque vous travaillez sur un texte plus long, le temps de compilation peut faire toute une différence si vous n'incluez qu'une partie d'un long chapitre. Il est également extrêmement utile, car il n’est pas nécessaire de feuilleter un long brouillon en travaillant à un moment donné. Enfin, les fichiers de code source plus petits sont plus faciles à gérer dans la gestion des versions, par exemple. git.

4
gschenk

\include utilise toujours \clearpage, un défaut pas tout à fait raisonnable. Il est destiné à des chapitres entiers, pas à des sous-sections (pourquoi voudriez-vous des sous-sections dans des fichiers séparés, de toute façon?).

Vous pouvez le réparer en utilisant \input{filename} ou en chargeant le paquet newclude et en écrivant \include*{filename} au lieu.

146
Will Robertson

Vous pouvez arrêter les sauts de page causés par \include en plaçant \let\clearpage\relax avant cela. Alors,

\let\clearpage\relax
\include{file1}
\include{file2}
\include{file3}

mettrait le contenu des trois fichiers (et tous les fichiers inclus par la suite) ensemble sans saut de page entre eux. Si vous voulez arrêter de détendre le \clearpage commande, puis enroulez les fichiers à inclure sans sauts de page dans un groupe comme celui-ci:

\begingroup
\let\clearpage\relax
\include{file1}
\include{file2}
\endgroup
\include{file3}

Cela arrêtera un saut de page entre fichier1 et fichier2, mais insérera le saut de page normal après fichier2. (Remarque: je ne sais pas si cela interfère avec le référencement et la numérotation des pages, même si j'imagine que ça devrait aller.)

27
John

Merci, Cambridge !

utilisez\include au lieu de\input et utilisez la commande\includeonly pour sélectionner les sections à traiter