我有以下 MWE:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepgfplotslibrary{external}
\tikzset{external/mode=list and make}
\tikzexternalize
\usepackage{blindtext}
\usepackage{hyperref}
\begin{document}
\Blindtext
\begin{tikzpicture}
\begin{axis}
\addplot+ coordinates {
(1, 9) (2, 6) (3, 1) (4, 4)
}; \label{important}
\end{axis}
\end{tikzpicture}
\Blindtext
Here I want to reference the plot \ref{important}.
\end{document}
如果我注释掉\tikzexternalize
以停用外部化,则生成的链接\ref
指向第 2 页。\tikzexternalize
使用时,它会错误地链接到第 1 页。我使用latex
调用的命令pdfTeX 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian)
。我在中安装了 pgfplots 1.16 ~/texmf
。请注意,我遵循了make -f test.makefile
TikZlist and make
外部化模式所需的顺序。
答案1
如果包含外部生成的 PDF,则标签中没有目标。您可以尝试以下方法:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepgfplotslibrary{external}
\tikzset{external/mode=list and make}
\tikzexternalize
\usepackage{blindtext}
\usepackage{hyperref}
\begin{document}
\Blindtext
\hypertarget{importantdest}{}\begin{tikzpicture}
\begin{axis}
\addplot+ coordinates {
(1, 9) (2, 6) (3, 1) (4, 4)
}; \label{important}
\end{axis}
\end{tikzpicture}
\Blindtext
Here I want to reference the plot \hyperlink{importantdest}{\ref*{important}}.
\end{document}