Verschachtelung von \input oder \include

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


IrenaSekuta
Forum-Century
Forum-Century
Beiträge: 230
Registriert: Di 2. Dez 2008, 10:05

Verschachtelung von \input oder \include

Beitrag von IrenaSekuta »

Hallo zusammen,

warum ist bei Latex eine Verschachtelung von \input oder \include Befehlen nicht möglich? Folgend ein Beispiel, das nicht funktioniert:

Hauptdatei.tex
\documentclass{scrreprt}
\begin{document}

\include{Datei1}

\end{document}
Datei1.tex
\chapter{Einleitung}
\section{Definitionen}
Diese Datei wird von Mitarbeiter 1 bearbeitet.
\include{Datei2}
Datei2.tex
\section{Einleitung}
Diese Datei wird von Mitarbeiter 2 bearbeitet.
Gruß,

Irena

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

\input ist sehr wohl schachtelbar (bis zu einer Ebene von AFAIR 15 Dateien). \include ist nicht schachtelbar, weil es recht kompliziert wäre, es schachtelbar zu implementieren, wenn \includeonly dann noch funktionieren soll. Außerdem bräuchte das dann nicht zwei Write-Handles (zur Erinnerung: davon gibt es insgesamt nur 16) für die aux-Verwaltung, sondern für jede weitere Schachtelungstiefe eines mehr.

Die meisten Leute, die nach einem schachtelbaren \include fragen, kennen die Unterschiede von \include und \input (oder auch \InputIfFileExists) nicht wirklich und sind sich nicht klar, dass sie mit einem \include und darin geschachtelten \input auskommen würden. Einige wollen tatsächlich gar keine geschachtelten \include, weil sie mit den Unterdateien gar keine neuen Seiten beginnen und oft nicht einmal \includeonly verwenden wollen. In einigen wenigen Fällen, wäre ein schachtelbares \include wirklich praktisch. Damit will ich mir kein Urteil anmaßen zu welcher Gruppe Du gehörst. Ich wollte nur darauf hinweisen, dass ich diese Erfahrung gemacht habe.

oliverinspace
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 72
Registriert: Do 1. Jan 2009, 14:05

Re: Verschachtelung von \input oder \include

Beitrag von oliverinspace »

Hauptdatei.tex
\documentclass{scrreprt}
\begin{document}

\input{Datei1}

\end{document}
Datei1.tex
\chapter{Einleitung}
\section{Definitionen}
\input{Datei2}
Datei2.tex
\section{Einleitung}
du musst statt \input statt \include nehmen, dann klappts.

Es gibt wohl einige Unterschiede (die ich nicht alle kenne) zwischen den beiden Befehlen, aber hier ein paar die ich kenn

\include{}
fügt eine Datei (automatische Erkennung von .tex dateien) in ein Dokument mit einer newpage, keine Verschachtelungen möglich. include darf nur in einem dokument mit voranstehender PRäambel (\documentclass, etc..) stehen

\input{}
fügt eine Datei ein und lässt sie einfach so weiter im Text laufen, also wie wenn du str+c, str+v gemacht hättest. darf auch z.b. als Präambel im Text sein, also vorher. ermöglicht Verschachtelungen

hierzu darf ich dir noch die WiKI ans Herz legen:
\input
\include

*edit: war wohl jemand schneller*
*stecke in meiner Diplomarbeit**

IrenaSekuta
Forum-Century
Forum-Century
Beiträge: 230
Registriert: Di 2. Dez 2008, 10:05

Beitrag von IrenaSekuta »

Hallo zusammen,

vielen Dank für eure Antworten. Ich hatte tatsächlich nur \include ausprobiert, da ich der Meinung war, dass der einzige Unterschied sei, dass bei dem einen eine neue Seite begonnen wird und bei dem anderen nicht.

Dann werde ich mal am WE die Wiki anpassen, um auch meinen kleinen Beitrag zu dieser Community beizutragen.

Gruß,

Irena

Antworten