Возможный дубликат:
\pause не будет генерировать дополнительные слайды в фрейме containsverbatim
Я использую lstlisting
окружения в своих кадрах-проекторах, но мне также хотелось бы иметь блоки с опциями отображения/скрытия, например <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
и функции бимера uncover
. Однако вы не должны использовать containsverbatim
. Вместо этого есть возможность разместить дословную часть перед , \begin{frame}
где она не будет путать функции бимера. Вы можете найти ее в документации класса бимера.