投影仪中幻灯片相关的子项化

投影仪中幻灯片相关的子项化

我不确定我是否做得好,但我有以下几点:

\documentclass[10pt,fleqn,t]{beamer}
\begin{document}
\frame[t]{
\begin{block}{Title}
     \begin{itemize}
     \item text 1
     \only<1>{%
         \begin{itemize}%
            \item subtext 1
            \item subtext 2
         \end{itemize}}
 \only<2-3>{\item text 2}
 \only<3>{\item text 3}
     \end{itemize}
\end{block}}
\end{document}

当演示文稿中向前移动时项目会垂直移动:有没有办法解决这个问题?(我尝试过\onslide但它会冻结我不想要的垂直空间)。

添加:(作者:安德鲁·斯泰西)为了澄清问题:在上述文档中,text 1(在所有幻灯片上显示)在第 1 帧和第 2 帧之间垂直移动,虽然移动幅度很小,但很明显。由于它是列表中的第一个项目,并且幻灯片上有足够的空间,因此这似乎不是正确的行为。

答案1

推测这与 TeX 知道包含的段落已经完成有关text 1。内部 itemize 开始一个新段落,因此不应该影响前一个 的间距\item,但确实如此。我不知道这种混乱究竟会以何种形式出现。人们完全可以将其视为一个错误。

然而,尽管不知道到底发生了什么,我还是可以提出一个简单的解决方案:确保段落之间有明确的分隔。即在跳转后放置一个空行\item

\documentclass[10pt,fleqn,t]{beamer}
%\url{http://tex.stackexchange.com/q/22809/86}
\begin{document}
\frame[t]{
\begin{block}{Title}
     \begin{itemize}
     \item text 1

     \only<1>{%
         \begin{itemize}%
            \item subtext 1
            \item subtext 2
         \end{itemize}}
 \only<2-3>{\item text 2}
 \only<3>{\item text 3}
     \end{itemize}
\end{block}}
\end{document}

为了保持一致性,但不是为了其他目的,您可以在子项目列表后留一个空白行。

有趣的是,我只在itemize和中遇到了这种行为enumerate,而在尝试的任何其他环境(包括description)中都没有遇到这种行为。此外,这与没有任何关系,\only因为以下代码显示了该问题:

\documentclass[10pt,fleqn,t]{beamer}
%\url{http://tex.stackexchange.com/q/22809/86}
\begin{document}
\frame[t]{
\begin{block}{Title}
     \begin{itemize}
     \item text 1
         \begin{itemize}%
            \item subtext 1
            \item subtext 2
         \end{itemize}
     \end{itemize}
\end{block}}

\frame[t]{
\begin{block}{Title}
     \begin{itemize}
     \item text 1
  \item text 2
     \end{itemize}
\end{block}}
\end{document}

并且相同的空白行修复了这个问题。

答案2

如果您不喜欢使用的输出, \item<2-3> text 2 那么您可以尝试使用一个空的“space kipper”,即:

\only<1,4->{\item \mbox{}}
\only<2-3>{\item text 2}

相关内容