![投影仪框架可以同时具有 [containsverbatim] 和隐藏/显示的块选项吗?](https://linux22.com/image/254538/%E6%8A%95%E5%BD%B1%E4%BB%AA%E6%A1%86%E6%9E%B6%E5%8F%AF%E4%BB%A5%E5%90%8C%E6%97%B6%E5%85%B7%E6%9C%89%20%5Bcontainsverbatim%5D%20%E5%92%8C%E9%9A%90%E8%97%8F%2F%E6%98%BE%E7%A4%BA%E7%9A%84%E5%9D%97%E9%80%89%E9%A1%B9%E5%90%97%EF%BC%9F.png)
我lstlisting
在 beamer 框架中使用环境,但我还想使用带有显示/隐藏选项的块,如<2>
、<1-3>
等。使用以下代码,仅显示框架的第一个版本(仅显示第一个块)。有没有办法让隐藏/显示的块选项在选项[containsverbatim]
处于活动状态时起作用?
\begin{frame}[containsverbatim]
\begin{block}{}
\begin{lstlisting}
blah blah blah
\end{lstlisting}
\end{block}
\begin{block}<2>{}
\begin{lstlisting}
blah blah blah
\end{lstlisting}
\end{block}
\end{frame}
答案1
当然,你可以在框架中结合逐字材料和覆盖规范;只有一些预防措施必须采取:要在框架中使用逐字材料,你必须将选项添加[fragile]
到frame
环境(对于逐字逐句的材料,该\frame
命令不起作用);该\end{frame}
行必须单独一行:
\documentclass{beamer}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile]
\begin{block}{}
\begin{lstlisting}
blah blah blah
\end{lstlisting}
\end{block}
\begin{block}<2>{}
\begin{lstlisting}
blah blah blah
\end{lstlisting}
\end{block}
\end{frame}
\end{document}
答案2
您可以组合lstlisting
和 beamer 的 uncover
功能。但是您不应该使用containsverbatim
。相反,有一个选项可以将逐字部分放在 之前,这样\begin{frame}
就不会混淆 beamer 的功能。您可以在 beamer 类的文档中找到它。