tikzpicture 中的 \pause 中断了脚注线

tikzpicture 中的 \pause 中断了脚注线

我发现您可以\pause在内做到这一点tikzpicture,直到我将主题切换为带有脚注的主题,它才能正常工作。

我创建了一个“测试用例”来说明这个问题。

\documentclass{beamer}
\providecommand\thispdfpagelabel[1]{} % Not sure what this does but our installation requires it.
\usepackage{tikz}
\usetheme{Madrid} % Has a footline.

\begin{document}
  \begin{frame}
    \frametitle{test}
    \begin{tikzpicture}
      \node at (0, 1) {Hello};
      \pause
      \node at (0, 0) {World};
    \end{tikzpicture}
  \end{frame}
\end{document}

这样会创建两张幻灯片,但脚注只绘制在第二张幻灯片上(标题/标题出现在两张幻灯片上)。我能做些什么来解决这个问题?

答案1

我认为问题在于这还\pause不够智能。脚注如下所示:

\documentclass{beamer}
\providecommand\thispdfpagelabel[1]{} % Not sure what this does but our installation requires it.
\usepackage{tikz}
\usetheme{Madrid} % Has a footline.

\begin{document}
  \begin{frame}
    \frametitle{test}
    \begin{tikzpicture}
      \node at (0, 1) {Hello};
\onslide<2->{\node at (0, 0) {World};}
    \end{tikzpicture}
  \end{frame}
\end{document}

也就是说,如果您将文本放在第二张幻灯片中,\onslide<2->{}它就会起作用。或者,为了实现更多的自动化,可以使用\onslide<+->{}它自动增加内容。

不像暂停命令那么直观,但它确实允许您更好地控制......

答案2

我刚刚偶然发现了这个问题,并找到了另一种解决方法,它不需要在括号中嵌套大量暂停元素:\onslide<1->在环境末尾添加tikzpicture(奇怪的是,如果把它放在环境之后它不起作用):

\documentclass{beamer}
\providecommand\thispdfpagelabel[1]{} % Not sure what this does but our installation requires it.
\usepackage{tikz}
\usetheme{Madrid} % Has a footline.

\begin{document}
  \begin{frame}
    \frametitle{test}
    \begin{tikzpicture}
      \node at (0, 1) {Hello};
      \pause
      \node at (0, 0) {World};
      \onslide<1->
    \end{tikzpicture}
  \end{frame}
\end{document}

答案3

不能保证这不会破坏其他东西,但你可以尝试这个补丁:

\documentclass{beamer}
\usepackage{tikz}
\usetheme{Madrid} 
\AtEndEnvironment{tikzpicture}{\onslide<1->}
\begin{document}
  \begin{frame}
    \frametitle{test}
    \begin{tikzpicture}
      \node at (0, 1) {Hello};
      \pause
      \node at (0, 0) {World};
    \end{tikzpicture}
  \end{frame}
\end{document}

相关内容