PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : <beamer> Manipulation des frame-environments



LuPi
12-07-2013, 08:35
Aus hier nicht dargestellten Gründen habe ich mir das frame-environment
modifiziert. Das hat auch jahrelang ohne Probleme funktioniert, stellt mich
jetzt bei der erstmaligen Verwendung eines plain frames vor Schwierigkeiten.
So, wie im MB zu sehen, geht es nicht. Und ich weiß leider, auch nach
einigem Probieren, nicht, wie ich das myplainframe-environment realisieren
kann. Ganz abgesehen davon, dass mich das nicht dokumentierte plainframe
in beamer etwas irritiert hat. Noch nicht einmal Tante Guhgl hat etwas dazu
gewusst ...


\documentclass{beamer}

\LetLtxMacro\origframe\frame
\LetLtxMacro\endorigframe\endframe

\renewenvironment{frame}[2][]{%
\origframe{#2}
}{%
\endorigframe
}

\newenvironment{myplainframe}{%
\origframe[plain]
}{%
\endorigframe
}

\begin{document}
\begin{frame}{T}
A
\end{frame}

\begin{plainframe}
B
\end{plainframe}

\begin{myplainframe}
B
\end{myplainframe}
\end{document}

u_fischer
12-07-2013, 09:24
Aus hier nicht dargestellten Gründen habe ich mir das frame-environment modifiziert.

frame ist keine Umgebung, sondern ein spezieller Befehl (mit Argument). \end{frame} ist auch nicht ein normales Umgebungsende, sondern ein Stopper-Befehl, der gar nicht ausgeführt wird. Dein \endorigframe ist daher völlig nutzlos und deine Umdefinition funktioniert nur deswegen, weil immer noch ein explizites "\end{frame}" den Frame begrenzt:


\documentclass{beamer}

\LetLtxMacro\origframe\frame
\LetLtxMacro\endorigframe\endframe

\renewenvironment{frame}[2][]{%
\origframe{#2}
}{%
wo ist der Text? \end{blub} und dieser?
}


\begin{document}
\begin{frame}{Tatatatatatatat}
A
\end{frame}

\end{document}

klops
12-07-2013, 10:09
Anders gesagt: Du hast bisher schlicht eine ganze Menge Dusel gehabt! Statt die frame-Umgebung, die wie die verbatim-Umgebung gar keine echte Umgebung ist, umzudefinieren, sollte man in der Regel ein entsprechendes theme definieren. Statt ein zusätzliches Argument zu verwenden, definiert man dann ggf. eine Einstellmöglichkeit für dieses theme. Ob das in Deinem Fall möglich ist, ist mit Deinen bisherigen Angaben natürlich nicht zu sagen.

LuPi
12-07-2013, 10:17
Ein eigenes theme ist hier wohl nicht erforderlich. Meine Änderung ist relativ
geringfügig: Ich schreibe den Frame-Titel (und interne Informationen)
in eine separate Textdatei, um eine Übersicht der Folien zu bekommen.

Nach den Korrekturen läuft das MB jetzt klaglos, leider bekomme ich in
meinem Originaldokument immer noch Probleme (leere Seite vor der plainen
Folie, falsche Seitennummer), aber da muss ich schauen, ob und wie ich das
in ein MB gießen kann.

Danke für die Hinweise.