我想在 Beamer 演示文稿中展示 LaTeX 代码。
如果我尝试将以下 MWE 作为文章,它可以完美地运行:
\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\lstset
{
language=[LaTeX]TeX,
breaklines=true,
basicstyle=\tt\scriptsize,
keywordstyle=\color{blue},
identifierstyle=\color{magenta},
}
\begin{document}
\begin{lstlisting}
\documentclass{article}
\begin{document}
Hello World
\end{document}
\end{lstlisting}
\end{document}
然而,当我想将该代码放入 Beamer 演示文稿中时,就像下面的 MWE 一样:
\documentclass{beamer}
\usepackage{lmodern}
\usepackage{listings}
\lstset
{
language=[LaTeX]TeX,
breaklines=true,
basicstyle=\tt\scriptsize,
keywordstyle=\color{blue},
identifierstyle=\color{magenta},
}
\title{A Tiny Example}
\author{John Doe}
\date{\today}
\begin{document}
\maketitle
\begin{frame}
\frametitle{First Slide}
\begin{lstlisting}
\documentclass{article}
\begin{document}
Hello World
\end{document}
\end{lstlisting}
\end{frame}
\end{document}
我收到以下错误:
! Missing \endcsname inserted.
! LaTeX Error: Can be used only in preamble.
答案1
使用可选参数fragile
:
\begin{frame}[fragile]%%%%%%%%%%%%
\frametitle{First Slide}
\begin{lstlisting}
\documentclass{article}
\begin{document}
Hello World
\end{document}
\end{lstlisting}
\end{frame}