LaTeX Warning: Label ``pgfid142' multiply defined.
我的日志文件中收到警告。
更新:感谢大家的评论。我说 grep 无法在日志文件以外的任何地方找到这些标签,这并不完全正确,它们也可以在 aux 文件中找到,例如
\pgfsyspdfmark {pgfid3}{2432904}{13289255}
\pgfsyspdfmark {pgfid3}{2432904}{13289255}
第二次更新:这真是令人伤心:\dSady
不想被记住。;-) 更严重的是,我最初的怀疑完全是错误的,对此我很抱歉,但我的猜测\tikzstyle{every picture}+=[remember picture]
现在,和(否则真的很酷的)包装之间存在干扰tikzsymbols
。
\documentclass{beamer}
\usepackage{tikz}
\usepackage{tikzsymbols}
\tikzset{every picture/.append style={remember picture}}
\begin{document}
\begin{frame}[t]
\frametitle{\dots}
\begin{overlayarea}{\textwidth}{7cm}
\begin{itemize}
\item[\bf\Large{\dSadey}] \dots
\pause
\item[\bf\Large{\dSadey}] \dots
\end{itemize}
\end{overlayarea}
\end{frame}
\end{document}
知道如何关闭这个警告吗?
更新:一些“无害”的图片确实不是即使赋予两个节点相同的名称,也会导致此问题。
\documentclass{beamer}
\usepackage{tikz}
\tikzset{every picture/.append style={remember picture}}
\begin{document}
\begin{frame}[t]
\frametitle{\dots}
\begin{overlayarea}{\textwidth}{7cm}
\tikz{\draw[->](0,0)--(1,0);\node(a)at (0,0){};}
\pause
\tikz{\draw[->](0,0)--(2,0);\node(a)at (0,0){};}
\end{overlayarea}
\end{frame}
\end{document}
答案1
我不能 100% 确定。但很可能来自的每个符号tikzsymbols
本身就是一个tikzpicture
。我们都知道排版tikzpicture
非常慢。因此,该包可能会通过在第一次使用时缓存每个符号来加速此过程hbox
。(这与处理程序背后的想法相同.pic
。)
因此,当你第二次(第三次,依此类推)使用这个符号时,你实际上是在告诉编译器粘贴hbox
到处都是这个。如果碰巧hbox
包含一些应该是唯一的内容,例如命令\pdfsavepos
,编译器会感到困惑,因为它被告知要记住同一 ID 下两个对象的位置。
在你的情况下,every picture/.append style={remember picture}
告诉编译器记住所有后续图片的位置。之后你\dSadey
第一次调用。因此符号被排版并缓存。一个ID;一个符号;没有错。到你第二次调用时\dSadey
,编译器粘贴包含hbox
相同的 ID,因此它会抱怨。
你可能已经注意到了,number 的抱怨正好是负一\dSadey
。如果你尝试使用\dSadey
once before every picture/.append style={remember picture}
,编译器就不会再抱怨了,因为缓存中hbox
不包含 ID。
解决这个问题的更好方法是
\documentclass{beamer}
\usepackage{tikz}
\usepackage{tikzsymbols}
\begin{document}
\tikzset{every picture/.append style={remember picture}}
\tikzset{/__tikzsymbols/.append style={remember picture=false}}
\begin{frame}
\dSadey\dSadey\dSadey\dSadey\dSadey\dSadey\dSadey\dSadey\dSadey\dSadey
\end{frame}
\end{document}
您可能已经猜到了:/__tikzsymbols
是将应用于所有符号的样式。关闭后将不再包含 ID。因此编译器不会再发出抱怨remember picture
。hbox