tcolorbox 内的表格会破坏 beamer \pause?

tcolorbox 内的表格会破坏 beamer \pause?

考虑以下代码:

\documentclass{beamer}
\usepackage{tcolorbox}

\begin{document}
\begin{frame}
  some text before
  \pause
  \begin{tcolorbox}
    \begin{tabular}{cc}
       cell1 & cell2\\\pause
       cell3 & cell4
    \end{tabular}
  \end{tcolorbox}
  \pause
  some text after
\end{frame}
\end{document}  

预期的结果是“之后的一些文本”仅出现在第四张幻灯片上,但“之后的一些文本”在第二张幻灯片上已经可见,然后在第三张幻灯片上消失,然后在第四张幻灯片上重新出现。

在此处输入图片描述

有什么迹象表明发生了什么事?

笔记:

  • tabularx如果使用 tcolorbox 键而不是 tabular 键,则会出现相同的结果
  • 我对此的实际解决方法是使用\only\uncover,但我更感兴趣的是为什么它不起作用。

编辑:似乎 tcolorbox 环境会干扰暂停计数器。如果你放置的 tcolorbox 环境

\setcounter{beamerpauses}{#}

其中#等于\pause发行的数量tcolorbox 环境一切运行正常。

嗯,实际上这只在非常特殊的情况下才有效

答案1

首先,你不应该使用\pauseinside ......正如手册所述:tabularbeamer

amsmath此命令在像这样的环境中不起作用align,因为它们会做出非常邪恶的事情。

您的主要问题是与 无关tabular,它甚至与自身无关。模式与(据我所知使用)tcolorbox之间的交互很差。 以下示例显示,当中有更多 -s时,解释器无法隐藏即将到来的暂停(注意:即使在之后的另一个中)。setbeamercovered{invisible}beamer\endpgfpicturetcolorboxTikZ/pgf\pausetikzpicturetikzpicture

\documentclass{beamer}
\usepackage{tikz}

\begin{document}
\begin{frame}
  some text before
  \pause
  \begin{tikzpicture}
      \node at (0, 3) {Hello};
      \pause
      \node at (0, 2) {World};
      \pause
      \node at (0, 1) {and you};
      \pause
      \node at (0, 0) {and you};
  \end{tikzpicture}
  \pause
  some text after
\end{frame}

\end{document}

((作为一种解决方法,可以使用\setbeamercovered{transparent=0}。但这仍然存在问题tabular...你不应该使用\pause...以及一些颜色问题\tcolorbox...))

所以:

  • 避免\pause在内部使用tabular
  • 避免使用\pauseinsidetikz因此 insidetcolorbox
  • 避免使用上述任何组合

相关内容