webentwicklung-frage-antwort-db.com.de

Wie man nach \ include in LaTeX keinen Seitenumbruch hat

Mein LaTeX führt nach jedem Unterabschnitt zu Seitenumbrüchen, da sich meine Unterabschnitte in separaten Dateien befinden. Ich benutze den Befehl \include{file}, das nach der Verwendung einen Seitenumbruch hinzufügt.

Ich möchte keinen Seitenumbruch durch die Verwendung von \include{file}.

Wie kann man nach dem include -Befehl keinen Seitenumbruch mehr machen?

Das von Will Robertson vorgeschlagene newclude-Paket ist eher nützlich, um die Clearpage zu umgehen. Damit \includeonly Funktioniert, muss das Paket sofort nach \documentclass{...} Aufgerufen werden. In der komplexen Umgebung meiner Dissertation stieß ich auch auf Probleme mit defekten Referenzen.

Ein guter Workaround, wenn für eine endgültige Version nicht nur Include benötigt wird, besteht darin, Includes nur im Entwurf zu verwenden:

\newif\ifdraft\drafttrue

oder

\newif\ifdraft\draftfalse

\ifdraft
  \include{...}
\fi

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

Die erste Zeile kann einfach durch ein Makefile angehängt werden, um Entwürfe oder Produktionsversionen als Produktionsziele festzulegen.

\includeonly{file1,file2,...} Ermöglicht die Angabe einer Liste von Quelldateien, die mit \include{file1} Aufgerufen werden (wobei file1 Ein Beispiel ist) und im Ergebnisdokument angezeigt werden. Die anderen werden nicht angezeigt, gelten jedoch für Zähler, Beschriftungen und Inhaltsverzeichnisse, wenn die entsprechenden Aux-Dateien enthalten sind.

Mit anderen Worten, durch die Verwendung von include und includeonly kann die Kompilierungszeit in einem Entwurf kurz gehalten werden, während die Referenzen korrekt sind. Weiterführende Literatur zu Wikibooks .

@ Will Robertson

\include Ist so nützlich, weil es mit \includeonly{...} Nur die benötigten Abschnitte erstellt. Wenn Sie an längeren Texten arbeiten, kann die Kompilierungszeit erheblich verkürzt werden, da nur ein Abschnitt eines langen Kapitels enthalten ist. Es ist auch von unschätzbarem Wert, da man nicht durch einen langen Entwurf blättern muss, während man an einer Stelle arbeitet. Schließlich sind kleinere Quellcodedateien in der Versionsverwaltung einfacher zu handhaben, z. git.

4
gschenk

\include Verwendet immer \clearpage, Eine nicht ganz sinnvolle Voreinstellung. Es ist für ganze Kapitel gedacht, nicht für Unterabschnitte (warum sollten Sie Unterabschnitte überhaupt in separaten Dateien haben?).

Sie können das Problem beheben, indem Sie entweder \input{filename} Verwenden oder das newclude -Paket laden und stattdessen \include*{filename} Schreiben.

146
Will Robertson

Sie können Seitenumbrüche stoppen, die durch \include durch Platzieren von \let\clearpage\relax bevor. So,

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

würde den Inhalt der drei Dateien (und alle anschließend enthaltenen Dateien) zusammenfügen, ohne dass ein Seitenumbruch zwischen ihnen auftritt. Wenn Sie aufhören möchten, die \clearpage, und schließen Sie die Dateien so in eine Gruppe ein, dass sie keine Seitenumbrüche enthalten:

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

Dies stoppt einen Seitenumbruch zwischen Datei1 und Datei2, fügt jedoch den normalen Seitenumbruch nach Datei2 ein. (Hinweis: Ich weiß nicht, ob dies die Referenzierung und Seitennummerierung beeinträchtigt, obwohl ich mir denke, dass dies in Ordnung sein sollte.)

27
John

Vielen Dank, Cambridge !

verwenden Sie\include anstelle von\input, und wählen Sie mit dem Befehl\includeonly die zu verarbeitenden Abschnitte aus