![tikzpicture 中的 \pause 中断了脚注线](https://linux22.com/image/238274/tikzpicture%20%E4%B8%AD%E7%9A%84%20%5Cpause%20%E4%B8%AD%E6%96%AD%E4%BA%86%E8%84%9A%E6%B3%A8%E7%BA%BF.png)
我发现您可以\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}