在一个先前的问题,我问如何自动创建较大图像的放大高光。用户 Jake 使用 TikZ 提供了一个出色的解决方案。但是,当将子标题和超链接添加到组合中时,我们开始收到多重定义的标签警告。有人可以帮助诊断下面的简化示例吗?
当我编译这个时,我收到警告Label 'test' multiply defined
。
代码示例由 Jake 提供:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{spy}
\begin{document}
\begin{figure}\centering
\begin{tikzpicture}[spy using outlines]
\node{\label{test} Testcontent};
\spy on (0,0) in node (0,0);
\end{tikzpicture}
\caption{Testfigure}
\end{figure}
\end{document}
答案1
正如马丁指出的那样,使用spy
意味着图片被处理多次,这意味着图片label
也被定义多次。
解决此问题的一种方法是将间谍保留在里面scope
,并将带有 s 的节点放置label
在此范围之后,例如使用fit
库将“ label
”节点放置在原始节点的顶部。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{spy,fit}
\begin{document}
\begin{figure}\centering
\begin{tikzpicture}
\begin{scope}[spy using outlines]
\node (testnode) {Testcontent};
\spy[size=1cm,magnification=2] on (0,0) in node at (1.5,1);
\end{scope}
\node [fit=(testnode),inner sep=0pt] {\label{test}};
\end{tikzpicture}
\caption{Testfigure}
\end{figure}
\end{document}