这是MWE:
\documentclass[12pt]{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{external}
\tikzexternalize[prefix=extfig/]
\begin{document}
\begin{equation}
a = b
\label{equation}
\end{equation}
\begin{figure}[h]
\begin{tikzpicture}
\node at (0,0) (input) {see equation \ref{equation}};
\end{tikzpicture}
\end{figure}
\end{document}
里面的节点tikzpicture
显示see equation ??
。如何使引用工作?(顺便说一句:即使不使用 externalize lib,它也能很好地工作。)
答案1
外部化过程将图片放入单独的 PDF 文件中,然后将其作为图像包含。但是,当包含 PDF 页面时,注释通常会丢失。
只有相当复杂的解决方法,例如项目pax
,它使用 PDF 库从 PDF 文件中提取注释,以便稍后在 TeX 级别重新插入它们。
或者可以将引用放在一个节点中,并记住它相对于边界框的坐标,然后可以在包含的图像顶部添加链接(通过包overpic
或再次通过tikz
)。
但我认为,从外部化中排除带有参考的图片可能会容易得多。章节“50.4.3 重新制作图片或跳过图片”来自PGF 手册显示一些禁用图形导出的选项,例如:
\tikzset{external/export next=false}
\begin{tikzpicture}...\end{tikzpicture}
或者
\tikzexternalexportnextfalse
\begin{tikzpicture}...\end{tikzpicture}
或者
\tikzexternaldisable
\begin{tikzpicture}...\end{tikzpicture}
\tikzexternalenable