beamer: Overlay od. \pause vs. \verb bzw. \lstinline

Schriftbild, Absätze und Auflistungen einstellen


Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

beamer: Overlay od. \pause vs. \verb bzw. \lstinline

Beitrag von iTob »

Guten Abend,


ich erstelle grad eine Präsentation, in der auf so ziemlich jeder Folie auch Verbatim-Code vorkommt, denn ich per \lstinline oder die anderen Befehle aus dem listings-Paket.
Damit ich nicht jedesmal fragile einstellen muss und weil ich auch die aktuelle \section automatisch ausgeben will, habe ich mir eine eigene Folien-Umgebung gebaut.
Num zum Problem: Wenn ich z. B. in einer Aufzählung inline-Code habe und diese mit einer Overlay-Funktion verwende, dann wird in der PDF nur eine Seite erzeugt mit dem ersten Aufzählungspunkt. Und weil das alles vielleicht nicht ganz so prima beschrieben ist, hier noch das Minimalbeispiel und die Frage: Wie kann ich Verbatim-Code und Overlays gemeinsam verwenden, ohne auf das automatische Syntaxheighlighting von listings verzichten zu müssen?
\documentclass[ngerman]{beamer}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{listings}
	\lstloadlanguages{[LaTeX]TeX}
	\lstset{% 
		language=[LaTeX]TeX, 
		basicstyle=\ttfamily, 
	}

% Umgebung für Folien
\newenvironment{vframe}[1][]{%
	\begin{frame}[fragile=singleslide,environment=vframe,#1]
	\frametitle{\insertsection}
}{%
	\end{frame}
}

\begin{document}
\section{Nomenklatur in dieser Präsentation}
\begin{vframe}% bei Verwendung von frame geht das Overlay, aber \lstinline nicht.
\begin{itemize}%[<+->]% kommentiert man dieses aus, erscheint alles auf einer Folie
% behält man es drin wird nur das erste \item ausgegeben
	\item \LaTeX-Code ist in \texttt{proportionaler Schrift}
	\item noch eins \dots
	\item Befehle sind \textbf{fett}: \lstinline|\section{Titel}|
	\item Kommentare sind \textcolor{red}{rot und \textit{kursiv}}: \lstinline|% Kommentar|
	\item optionale Argumente sind \textcolor{green}{grün}: \lstinline|[ngerman]|
\end{itemize}
\end{vframe}
\end{document}
Vielen Dank und
liebe Grüße!
Tobi

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Nabend,

ich habe jetzt selbst di Lösung gefunden. Das Problem war offensichtlich die singleslide-Angabe bei fragile. Ohne diese geht es wie gewünscht :)

Hier der Vollständigkeit halber das funktionierende Beispiel:
\documentclass[ngerman]{beamer}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{listings}
	\lstloadlanguages{[LaTeX]TeX}
	\lstset{% 
		language=[LaTeX]TeX, 
		basicstyle=\ttfamily, 
	}

% Umgebung für Folien
\newenvironment{vframe}[1][]{%
	\begin{frame}[fragile,environment=vframe,#1]
	\frametitle{\insertsection}
}{%
	\end{frame}
}

\begin{document}
\section{Nomenklatur in dieser Präsentation}
\begin{vframe}[<+->]
	\item \LaTeX-Code ist in \texttt{proportionaler Schrift}
	\item noch eins \dots
	\item Befehle sind \textbf{fett}: \lstinline|\section{Titel}|
	\item Kommentare sind \textcolor{red}{rot und \textit{kursiv}}: \lstinline|% Kommentar|
	\item optionale Argumente sind \textcolor{green}{grün}: \lstinline|[ngerman]|
\end{itemize}
\end{vframe}
\end{document}
Gute Nacht!
Tobi

Antworten