如何通过投影仪中的覆盖更改框架内的子部分标题?

如何通过投影仪中的覆盖更改框架内的子部分标题?

在给定的beamer幻灯片上,按顺序显示三个项目符号,我希望小节标题与出现的每个新项目符号交替出现。

\uncover<1>{\subsection{Subsection title A}}
\uncover<2>{\subsection{Subsection title B}}
\uncover<3>{\subsection{Subsection title C}}
\begin{frame}
\begin{itemize}
\item<1>Bullet A
\item<2>Bullet B
\item<3>Bullet C
\end{itemize}
\end{frame}

我已经尝试了几种变体,\uncover例如\only,,\onslide\visible

答案1

幻灯片是框架的元素,框架是子部分的元素。您尝试做的是将同一框架作为与幻灯片编号相关的三个不同子部分的元素。这可能行不通,因为子部分通常用于导航和目录目的,这会让他们感到不舒服。作为完全主观的,没有冒犯的意思,我认为这也是一种糟糕的风格。不过,你可以采取显而易见的路径

\documentclass{beamer}
\useoutertheme{smoothbars}
\begin{document}
\section{Section Title AAA}
\subsection{Subsection title A}
\begin{frame}
\begin{itemize}
\item Bullet A
\invisible{\item Bullet B}
\invisible{\item Bullet C}
\end{itemize}
\end{frame}

\subsection{Subsection title B}
\begin{frame}
\begin{itemize}
\item Bullet A
\item Bullet B
\invisible{\item Bullet C}
\end{itemize}
\end{frame}


\subsection{Subsection title C}
\begin{frame}
\begin{itemize}
\item Bullet A
\item Bullet B
\item Bullet C
\end{itemize}
\end{frame}
\end{document}

我选择了一个随机的外部主题,以便子部分可见。如果您不希望这些中间子部分出现在目录中,请使用带星号的版本,例如\subsection*{Subsection Title A}

答案2

使用\againframe和覆盖规范,您可以定义整个框架一次,但每次仅显示其中的一部分。请参阅Beamer用户指南,版本 3.12,第 11.2 节Repeating a Frame at a Later Point

下面的例子中,我们定义帧时,只显示帧的第一张幻灯片。稍后我们调用\againframe在第二个子部分显示第二张幻灯片,在第三个子部分显示第三张幻灯片。

\documentclass{beamer}
\useoutertheme{smoothbars}
\begin{document}
\section{Section Title}
\subsection{Subsection title A}
\begin{frame}<1>[label=spam]
\begin{itemize}
\item Bullet A
\item<2-> Bullet B
\item<3-> Bullet C
\end{itemize}
\end{frame}

\subsection{Subsection title B}

\againframe<2>{spam}

\subsection{Subseciton title C}

\againframe<3>{spam}
\end{document}

这是好的风格吗?我不知道。我把它用作一种精心设计的目录。我有一个相当大的图来展示不同的东西,并多次返回它来展示不同部分的细节。

相关内容