使用 beamer 的 \uncover 和 listings 包

使用 beamer 的 \uncover 和 listings 包

我想使用listings带有 discover 命令的包。这是我的代码

\usepackage{listings}
\lstnewenvironment{Exemplecode}{}{}

\newenvironment{Framecode}[1]
{\begin{frame}[fragile, environment=Framecode]{#1}}
{\end{frame}}

\begin{frame}{Quelques Rappels}
 \begin{itemize}
   \item<1-> Les Alias.\newline
     \uncover<2->{\begin{Exemplecode}a \end{Exemplecode}}
 \end{itemize}
\end{frame}

我收到以下错误:

Package Listings Warning: Text dropped after begin of listing on input line 4.

)
! Missing } inserted.
<inserted text> 
                }
l.19 \end{Framecode}

? 

编辑:谢谢你的建议。

这是我的代码的一个示例:

\documentclass{beamer}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{xcolor}
\usepackage{listings}
\lstnewenvironment{Exemplecode}{}{}

\usetheme[hideothersubsections]{berkeley}
\setbeamerfont{block body}{size=\tiny}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]

\newenvironment{Framecode}[1]
{\begin{frame}[fragile, environment=Framecode]{#1}}
{\end{frame}}

\begin{document}

\begin{Framecode}{Quelques Rappels}
 \begin{itemize}
   \item<1-> Les Alias.\newline
   \begin{Exemplecode} a \end{Exemplecode}
 \end{itemize}
\end{Framecode}
\end{document}

我可以做我想做的事吗?

答案1

环境lstlisting(以及使用 创建的任何后代\lstnewenvironment)要求\end{...}独立于专用行中。这是必要的,因为逐字处理:基本上listings会吞噬所有行,直到找到包含相应\end{...}命令的行:

\documentclass{beamer}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{xcolor}
\usepackage{listings}
\lstnewenvironment{Exemplecode}{}{}

\setbeamerfont{block body}{size=\tiny}
\definecolor{epi_brown}{RGB}{139,69,19}
\setbeamercolor{logo}{bg=white}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]

\newenvironment{Framecode}[1]
{\begin{frame}[fragile, environment=Framecode]{#1}}
{\end{frame}}

\begin{document}

\begin{Framecode}{Quelques Rappels}
 \begin{itemize}
   \item<1-> Les Alias.\newline
   \begin{Exemplecode} 
     a 
   \end{Exemplecode}
 \end{itemize}
\end{Framecode}
\end{document}

相关内容