在 beamer 中的单个框架中用另一个列表替换一个列表

在 beamer 中的单个框架中用另一个列表替换一个列表

我想将幻灯片分成两部分,左右两部分。\item First point与“第一段代码”同时出现。然后\item Second point与“第二段代码”同时出现,“第一段代码”消失。以下是使用两个框架的 MWE,但我想知道如何在单个框架中实现它。

\documentclass{beamer}
\usepackage{listings}

\begin{document}

\section{Introduction}
    \begin{frame}[fragile]
        \frametitle{Manual}
        \begin{columns}[totalwidth=\textwidth]
            \column<1>{.45\textwidth}
            \begin{lstlisting}[frame=single,
                basicstyle=\scriptsize]
The first piece of code.
            \end{lstlisting}
            \column{.45\textwidth}
                \begin{itemize}
                    \item<1> First item
                    \item<0> Second item
                \end{itemize}
            \end{columns}
    \end{frame}
    \begin{frame}[fragile]
        \frametitle{Manual}
        \begin{columns}[totalwidth=\textwidth]
            \column<1>{.45\textwidth}
            \begin{lstlisting}[frame=single,
                basicstyle=\scriptsize]
The second piece of code.
            \end{lstlisting}
            \column{.45\textwidth}
                \begin{itemize}
                    \item<1> First item
                    \item<1> Second item
                \end{itemize}
            \end{columns}
    \end{frame}
\end{document} 

在此处输入图片描述

答案1

你可以将你的列表包装在onlyenv

\documentclass{beamer}
\usepackage{listings}

\begin{document}

\section{Introduction}
    \begin{frame}[fragile]
        \frametitle{Manual}
        \begin{columns}[totalwidth=\textwidth]
            \begin{column}{.45\textwidth}
            \begin{onlyenv}<1>
            \begin{lstlisting}[frame=single,
                basicstyle=\scriptsize]
The first piece of code.
            \end{lstlisting}
            \end{onlyenv}
            \begin{onlyenv}<2>
            \begin{lstlisting}[frame=single,
                basicstyle=\scriptsize]
The second piece of code.
            \end{lstlisting}
            \end{onlyenv}     
            \end{column}      
            \begin{column}{.45\textwidth}
                \begin{itemize}
                    \item<1-> First item
                    \item<2-> Second item
                \end{itemize}
            \end{column}
         \end{columns}
    \end{frame}
\end{document} 

在此处输入图片描述

相关内容