Seite 1 von 1

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

Verfasst: Di 25. Jan 2011, 18:09
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

Verfasst: Do 27. Jan 2011, 00:14
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