使用时出现错误“未定义的控制序列”
\tikzset{external/mode=graphics if exists}
并且标签不存在(它应该产生警告而不是错误,但由于引用在第一次编译中未解析,因此它肯定会在第一次运行中产生错误)
梅威瑟:
\documentclass{article}
\usepackage{subfig}
\usepackage{pgfplots}
\usepackage{tikzscale}
\usepackage{cite}
\usepgfplotslibrary{external}
\tikzexternalize
%\tikzset{external/mode=graphics if exists}
\newcommand{\Eref}[1]{E{ }(\ref{#1})}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}[]
\begin{axis}[
xlabel=$x$,
ylabel={$f(x) = x^2 - x +4$}
]
\addplot {x^2 - x +4};
\end{axis}
\end{tikzpicture}%
\caption{Caption text}
%\label{fig:fig1}
\end{figure}
This reference to\Eref{fig:fig1}, fails.
\end{document}
它在当前形式下编译得很好。第一次运行后,如果取消注释\tikzset
... ,它会产生错误。在我将 TeX Live 更新到 2014 版本后,发生了这种情况。如果\label
在两次运行后进一步取消注释 ... ,它就会运行良好。
PS 我正在使用tikzscale
外部 .tikz 文件,尽管在这个 MWE 中我只是复制粘贴了tikzpicture
环境(错误仍然存在)。
答案1
这是external
lib 中的一个错误(似乎是一个回归,可能是在 pgf 3.0.0 中引入的)。
我已经修复了它,它将成为下一个稳定版本的一部分。也许我可以发送一份副本,pgfplots
这样它就可以更早地使用。