我似乎遇到了在环境中\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}