使用 externalize 时在 tikzpicture 节点中使用 \ref

使用 externalize 时在 tikzpicture 节点中使用 \ref

这是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

相关内容