Ich möchte eine größere Präsentation in mehrere Teile zerlegen und dann in einem Hauptdokument zusammenfassen. Die einzelnen Teile sollen dabei auch eigenständig übersetzt und verwendet werden können.

Ich bin auf das package subfiles gestoßen, mit dem dies möglich ist. Allerdings gibt es dabei ein Problem mit der eigenständigen Darstellung des subfiles.

Hier das Hauptdokument main.tex:

Open in Online-Editor
\documentclass[12pt]{beamer}
\usepackage{subfiles}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usetheme{AnnArbor}
\usecolortheme{beaver}

\begin{document}
\begin{frame}
  \frametitle{Titel}
  Text
\end{frame}
\subfile{subfile.tex}
\end{document}

Und hier das subfile.tex

Open in Online-Editor
\documentclass[main.tex]{subfiles}
\begin{document}
\begin{frame}
  \frametitle{Titel2}
  Text2
\end{frame}
\end{document}


Grundsätzlich funktioniert es, sowohl das Hauptdokument wie auch das subfile können getrennt übersetzt und angezeigt werden. Allerdings wird bei der eigenständigen Übersetzung des subfiles oben eine weiße Linie eingefügt, so dass die Seite nicht mehr mit dem rot/grauen Balken beginnt.

Mit main.tex:
alt text

Mit subfile.tex:
alt text

Woran liegt das und gibt es Abhilfe?

gefragt 29 Jan '15, 11:59

tom75's gravatar image

tom75
1.9k1545
Akzeptiert: 83%

Ich hab das gerade mal ausprobiert: bei mir ist kein weißer Balken zu sehen. (Aktuelles TeX Live 2014)

(30 Jan '15, 03:30) Clemens

@Clemens Wenn ich nur subfile.tex kompiliere, bekomme ich den weißen Balken sowohl mit MiKTeX 2.9 als auch mit einem aktuellen TeX Live 2014, letzteres unter Windows und unter Ubuntu.

(30 Jan '15, 05:31) esdd

@esdd ich bekomme dann eine Reihe Warnungen und Fehler, zuoberst Package auxhook Warning: Cannot patch \document, und ! LaTeX Error: Command \newblock already defined.

(30 Jan '15, 05:37) Clemens

@Clemens Diese Warnung (und zwei weitere) bekomme ich auch sowie eine overfull \vbox, aber Fehlermeldungen gibt es bei mir keine.

(30 Jan '15, 05:46) esdd

Ich bekomme mit MikTeX (heute nochmals aktualisiert) neben zwei Warnungen zur Font die Meldung Overfull \vbox (11.5pt too high) ... und Cannot patch \document,(auxhook) using \AtBeginDocument instead.

(30 Jan '15, 06:07) tom75

Ich würde ja das standalone-Paket benutzen.

(30 Jan '15, 11:20) Ulrike Fischer

@Ulrike Fischer Das scheint mir nicht so "komfortabel" in Bezug auf eine schnell Umsetzung zu sein.

(31 Jan '15, 03:52) tom75

Ich verstehe nicht, was du meinst. Du musst doch nur überall standalone laden. Ich habe damit letzthin ein Projekt umgesetzt mit an die hundert Dateien, die sowohl einzeln als eingebunden (in mehrfacher Verschachtelung) kompiliert wurden und es war problemlos.

(31 Jan '15, 05:09) Ulrike Fischer

@Ulrike Fischer Wenn ich die Anleitung richtig verstanden habe, muss ich alle Pakete mit \usepackage sowohl im Hauptdokument als auch im ausgelagerten Dokument angeben, d.h. wenn es Änderungen gibt, muss ich dies an zwei Stellen machen. Bei subfiles muss ich es nur im Hauptdokument angeben. Das meinte ich mit komfortabler.

Letztlich, da subfiles ja nicht richtig funktioniert, wird mir wohl nichts anderes übrig bleiben, wenn sich der Fehler nicht beheben lässt.

(31 Jan '15, 06:20) tom75
1

Andererseits ist die sub-Datei dadurch auch in sich vollständig - du musst nicht dauernd die main.tex mitkopieren und du brauchst auch keine speziellen input-Befehle. Du kannst außerdem ja alle gemeinsamen Pakete in eine externe Datei packen und per input{pakete} laden (in dem Projekt wurde eine spezielle Klasse gebaut und alle Dateien hatten nur documentclass{..} in der Präambel).

(31 Jan '15, 08:04) Ulrike Fischer

@Ulrike Fischer Das wusste ich nicht, dass ich die Pakete auslagern kann.

D.h. ich hab eine Datei pakete.tex die aus lauter \input{...} Zeilen besteht und in main.tex und subfile.texschriebe ich dann nach \documentclass nur \input{pakete.tex} ?

Kannst du ein Beispiel machen, wie du das mit der eigenen Klasse gemacht hast? Oder gibts dazu eine Anleitung?

(31 Jan '15, 10:18) tom75

@tom Das mit der eigenen Klasse würde ich dir momentan nicht empfehlen. Aber du kannst ein tex Dokument schreiben, in welchem dann steht

\usepackage{tikz}
\usepackage{mathtools}
\usepackage{hyperref}

Hindert dich ja keiner dran. LaTeX ist sehr simple, wenn man sich mal länger als fünf Minuten Zeit für ein Problem nimmt. Dann ist nichts mehr kompliziert und nirgendwo ist schwarze Magie.

(31 Jan '15, 10:50) Johannes

@Johannes Ich bin halt neugierig. Ich arbeite erst seit einigen Wochen mit LaTeX, es dauert, bis ich mich da eingewöhne. :-)

(31 Jan '15, 11:59) tom75

Neugierig ist gut, aber vorsicht, prokrastiniere nicht soviel. ;-)

(31 Jan '15, 12:04) Johannes
Ergebnis 5 von 14 Alle anzeigen
Sei der Erste, der diese Frage beantwortet!
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×94
×1

Frage gestellt: 29 Jan '15, 11:59

Frage wurde angeschaut: 1,085 Mal

Zuletzt aktualisiert: 31 Jan '15, 12:04