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 Hier das Hauptdokument 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 Open in Online-Editor
\documentclass[main.tex]{subfiles} \begin{document} \begin{frame} \frametitle{Titel2} Text2 \end{frame} \end{document}
Mit Mit Woran liegt das und gibt es Abhilfe? gefragt 29 Jan '15, 17:59 tom75
Ergebnis 5 von 14
show 9 more comments
|
Das Problem ist, dass Die Lösung besteht nun darin, die Definition von Öffne in Overleaf
%% %% This is file `beamer-subfiles.cls'. %% This class is an replacement für `subfile.cls' of package `subfiles' %% by Federico Garcia to be used with beamer. %% %% Copyright 2018 Ijon Tichy %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `unmaintained'. %% %% Original source: <https://texwelt.de/wissen/fragen/11337> %% \NeedsTeXFormat{LaTeX2e} \ProvidesClass{beamer-subfiles}[2018/04/25 subfiles class replacement by Ijon Tichy] \DeclareOption*{\typeout{Preamble taken from file `\CurrentOption'}% \let\preamble@file\CurrentOption} \ProcessOptions\relax \RequirePackage{scrlfile} \RequirePackage{verbatim} \AfterClass{beamer}{% \let\subfiles@document\document \let\document\comment \let\subfiles@enddocument\enddocument \let\enddocument\endcomment } \let\subfiles@documentclass\documentclass \let\documentclass\LoadClass\relax \makeatother \input{\csname preamble@file\endcsname} \makeatletter \let\preamble@file\undefined \let\enddocument\subfiles@enddocument \let\subfiles@enddocument\undefined \let\document\subfiles@document \let\subfiles@document\undefined \endinput %% %% End of file `beamer-subfiles.cls'. Und ersetzen nun in Öffne in Overleaf
\documentclass[main.tex]{beamer-subfiles} \begin{document} \begin{frame} \frametitle{Titel2} Text2 \end{frame} \end{document} Und schon erhält man beim Übersetzen von Da nun auch Wie das Beispiel zeigt, ist die Verwendung von beantwortet 25 Apr '18, 11:08 gast3 @Ijon Tichy Vielen Dank!
(23 Sep '18, 13:29)
tom75
|
Ich hab das gerade mal ausprobiert: bei mir ist kein weißer Balken zu sehen. (Aktuelles TeX Live 2014)
@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.@esdd ich bekomme dann eine Reihe Warnungen und Fehler, zuoberst
Package auxhook Warning: Cannot patch \document,
und! LaTeX Error: Command \newblock already defined.
@Clemens Diese Warnung (und zwei weitere) bekomme ich auch sowie eine
overfull \vbox
, aber Fehlermeldungen gibt es bei mir keine.Ich bekomme mit MikTeX (heute nochmals aktualisiert) neben zwei Warnungen zur Font die Meldung
Overfull \vbox (11.5pt too high) ...
undCannot patch \document,(auxhook) using \AtBeginDocument instead.
Ich würde ja das standalone-Paket benutzen.
@Ulrike Fischer Das scheint mir nicht so "komfortabel" in Bezug auf eine schnell Umsetzung zu sein.
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.
@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. Beisubfiles
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.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).
@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 inmain.tex
undsubfile.tex
schriebe 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?
@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.
@Johannes Ich bin halt neugierig. Ich arbeite erst seit einigen Wochen mit LaTeX, es dauert, bis ich mich da eingewöhne. :-)
Neugierig ist gut, aber vorsicht, prokrastiniere nicht soviel. ;-)