表格行中 \includeonlyframes 和 \onslide 之间的干扰

表格行中 \includeonlyframes 和 \onslide 之间的干扰

我似乎遇到了在环境中\includeonlyframes使用 和\onslide揭示行之间的奇怪干扰tabular。考虑以下内容:

\documentclass{beamer}
\begin{document}
  \includeonlyframes{second}

  \begin{frame}{First frame}
    \begin{tabular}{rl}
      \onslide<+->{Some & text}
    \end{tabular}
  \end{frame}

  \begin{frame}[label=second]{Second frame}
    Some text on second frame
  \end{frame}
\end{document}

当我运行pdflatex此示例时,我得到“缺少}插入”。奇怪的是,如果我做任何进行以下更改后,示例即可成功编译。

  • 删除该\includeonlyframes线。
  • 从行周围移除\onslide<+->{和。}tabular
  • 删除tabular环境(和&),但保留\onslide<+->{}
  • \onslide<+->{和替换}为 switch 形式\onslide<+->
    也就是说,使用\onslide<+-> Some & text
  • \onslide<+->{和替换}\uncover<+->{}
    (似乎很奇怪 可以\uncover<+->{工作但\onslide<+->{不可以,特别是考虑到在差异和最佳实践:\onslide 与 \uncover、\onslide+ 与 \visible、\onslide* 与 \only?
  • 使用可选参数标记第一帧[label=first]

因此,通过执行最后三个步骤中的任何一个,我都可以解决这个问题,并且仍然保留我想要的覆盖行为。不过,我想了解为什么会出现这个错误。有人有什么想法吗?

答案1

编辑:

bitbucket 上也有错误报告:

https://github.com/josephwright/beamer/issues/204


问题是每个单元格都是一个单独的组,你可以将其用于\onslide一行。符号“&”不能分开。的文档中beamer有一个关于幻灯片和表格的额外部分。因此,要做的事情是:

  \onslide<1->{Some} & \onslide<1->{text} \

以下是完整的 mwe:

\documentclass{beamer}
\begin{document}
  \includeonlyframes{second}

  \begin{frame}{First frame}
    \begin{tabular}{rl}
      \onslide<1->{Some} & \onslide<1->{text} \\
    \end{tabular}
  \end{frame}

  \begin{frame}[label=second]{Second frame}
    Some text on second frame
  \end{frame}
\end{document}

相关内容