跟进这个问题,我想在幻灯片中包含代码。代码中包含“\end{frame}”,因此我不得不按照链接中的建议将代码框起来,但如果我想多次包含包含“\end{frame}”的代码,我就无计可施了……
在下面的 MWE 中,我想在第一张幻灯片中包含带有“第一张幻灯片”的代码,在第二张幻灯片中包含带有“第二张幻灯片”的代码...有什么帮助吗?
\documentclass{beamer}
\usepackage{lmodern}
\usepackage{listings}
\lstset
{
language=[LaTeX]TeX,
breaklines=true,
basicstyle=\tt\scriptsize,
keywordstyle=\color{blue},
identifierstyle=\color{magenta},
}
\newsavebox{\codebox}% For storing listings
\title{A Tiny Example}
\author{John Doe}
\date{\today}
\begin{document}
\begin{lrbox}{\codebox}
\begin{lstlisting}
\begin{frame}
First slide
\end{frame}
\end{lstlisting}
\end{lrbox}
\begin{lrbox}{\codebox}
\begin{lstlisting}
\begin{frame}
Second slide
\end{frame}
\end{lstlisting}
\end{lrbox}
\maketitle
\begin{frame}[fragile]
\frametitle{First Slide}
\usebox{\codebox}
\end{frame}
\begin{frame}[fragile]
\frametitle{Second Slide}
\usebox{\codebox}
\end{frame}
\end{document}
答案1
只需将框的第二个定义移到第一张幻灯片的后面:
\documentclass{beamer}
\usepackage{lmodern}
\usepackage{listings}
\lstset
{
language=[LaTeX]TeX,
breaklines=true,
basicstyle=\tt\scriptsize,
keywordstyle=\color{blue},
identifierstyle=\color{magenta},
}
\newsavebox{\codebox}% For storing listings
\title{A Tiny Example}
\author{John Doe}
\date{\today}
\begin{document}
\begin{lrbox}{\codebox}
\begin{lstlisting}
\begin{frame}
First slide
\end{frame}
\end{lstlisting}
\end{lrbox}
\maketitle
\begin{frame}[fragile]
\frametitle{First Slide}
\usebox{\codebox}
\end{frame}
\begin{lrbox}{\codebox}
\begin{lstlisting}
\begin{frame}
Second slide
\end{frame}
\end{lstlisting}
\end{lrbox}
\begin{frame}[fragile]
\frametitle{Second Slide}
\usebox{\codebox}
\end{frame}
\end{document}