Beamer: Fragile Frames funktionieren nicht in eigener Umgebung Thema ist als GELÖST markiert

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beamer: Fragile Frames funktionieren nicht in eigener Umgebung

Beitrag von Rolli »

Hallo, ich möchte in einer Beamer-Präsentation einige Folien einfärben. Dafür verwende ich eine eigene Umgebung MyFrame. Diese macht zuerst die Einfärbung und ruft dann ganz normal \begin{frame} mit der Option [fragile] auf - diese benötige ich, weil auf einigen Folien verbatim-Text steht.

Das funktioniert nicht. Es bringt den berühmten Fehler "File ended while scanning use of \next". Dieser Fehler kommt ja auch, wenn man bei "normalen" frames mit verbatim das fragile vergißt.

Es hat den Anschein, als würde die Option [fragile] in einer eigendefinierten Umgebung nicht funktionieren??? Warum nicht? Was mache ich falsch?
\documentclass{beamer}
\begin{document}

\newenvironment{MyFrame}[1]
{
\setbeamercolor{background canvas}{bg=red!20}
\begin{frame}[fragile]{#1}
}
{
\end{frame}
}

\begin{frame}[fragile]{Seite 1}
\begin{verbatim}
blabla - Das funktioniert einwandfrei
\end{verbatim}
\end{frame}

\begin{MyFrame}{Seite 2}
\begin{verbatim}
blabla - Das bringt Fehler 
\end{verbatim}
\end{MyFrame}

\end{document}
Gruß vom Rolli

ich meine ja nur

Re: Beamer: Fragile Frames funktionieren nicht in eigener Umgebung

Beitrag von ich meine ja nur »

Lies dir bitte einmal die Doku zur frame-Umgebung in Abschnitt 8.1 der beamer-Anleitung komplett durch. Dort steht (sogar mit Beispiel), wie man das per Option environment regelt. Das nachzuschauen, hat mich jetzt keine fünf Minuten gekostet und wäre sicher auch für dich schneller gegangen als hier eine Frage zu stellen …

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Re: Beamer: Fragile Frames funktionieren nicht in eigener Umgebung

Beitrag von Rolli »

Danke für's "Anschubsen". Aber da muss man ja erst mal drauf kommen, oder?

Für alle, die ein ähnliches Problem haben: So geht es:
\documentclass{beamer}
\begin{document}

\newenvironment{MyFrame}[1]
{
\setbeamercolor{background canvas}{bg=red!20}
\begin{frame}[fragile,environment=MyFrame]{#1}
}
{
\end{frame}
}

\begin{frame}[fragile]{Seite 1}
\begin{verbatim}
blabla - Das funktioniert einwandfrei
\end{verbatim}
\end{frame}

\begin{MyFrame}{Seite 2}
\begin{verbatim}
blabla - Das bringt jetzt keinen Fehler mehr 
\end{verbatim}
\end{MyFrame}

\end{document}
Gruß vom Rolli

ich meine ja nur

Re: Beamer: Fragile Frames funktionieren nicht in eigener Umgebung

Beitrag von ich meine ja nur »

Rolli hat geschrieben:
So 19. Jun 2022, 12:05
Danke für's "Anschubsen". Aber da muss man ja erst mal drauf kommen, oder?
Dann als genereller Tipp für die Zukunft: Bei Problemen mit einer Umgebung oder einem Befehl oder einer Option oder einer Länge oder … zuerst die Anleitung derselben bzw. desselben lesen. Das geht oft schneller als lange Googeln oder in irgendwelchen Foren fragen – zumal man in Foren riskiert, ohnehin auf die Anleitung verwiesen zu werden, wenn die Lösung dort drin steht. :shock: Und wenn man die Anleitung nicht kapiert, hat es den Vorteil, dass man gezielt auf die dabei aufgetretenen Verständnisprobleme hinweisen kann, so dass man nicht nur wieder auf die Anleitung verwiesen wird. :wink:

Antworten