在 中pgfplots
,当我使用自定义样式绘制一条线,\label
然后将该线\ref
绘制到此图时,我无法获得所需的结果。
期望的结果是得到一条我正在使用的小线\ref
。
实际结果:
- 在第一次编译时,我得到了
LaTeX Warning: Reference 'plot:coor' on page 1 undefined on input line 11.
,并且文本中的行被替换为??
。 - 第二次编译失败
! Package pgfkeys Error: I do not know the key '/tikz/custom' and I am going to ignore it. Perhaps you misspelled it.
。
我在用着:
pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011)
LaTeX2e <2011/06/27>
pgfplots 2011/07/29 v1.5 (git show 1.5-1-gcc2f2d2 )
tikz 2010/10/13 v2.10 (rcs-revision 1.76)
。
一个最小(不)工作示例:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}[custom/.style={thick}]
\begin{axis}
\addplot[custom] coordinates {(0,0) (1,1) (2,3)};
\label{plot:coor}
\end{axis}
\end{tikzpicture}
This is \ref{plot:coor}.
\end{document}
如果我将自定义样式添加到axis
-environment,问题仍然存在。如果我将复制thick
到的参数中addplot
,问题就会消失。但是,在我的实际情况中,我将类似的样式应用于四个不同的图,因此我想使用自定义样式。我的问题:
- 这是一个错误吗?
- 如果是,是否已知并且有解决方法?
- 如果没有,我该如何
\ref
使用\label
自定义样式创建的 ed 图? - 它为什么会有这样的表现?
相关但不同的问题:
- pgfplots,自定义图例和 tikz 库外部
- 在回答在 pgfplot 的 ylabel 中使用 \ref提到了一个影响
pgfplots
和的错误\ref
。如果我\ref{plot:coor}
用替换{\fixcheck \ref{plot:coor}
,其中\fixcheck
在上述问题中定义为,问题仍然存在。
答案1
如果我错了,请纠正我,但我想我已经意识到了我自己问题的答案。
\ref
不起作用的原因是,当\ref
调用时,内部定义的样式tikzpicture
不再为人所知。要使其工作,请使用\pgfplotsset
:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\pgfplotsset{custom/.style={thick}}
\begin{tikzpicture}
\begin{axis}
\addplot[custom] coordinates {(0,0) (1,1) (2,3)};
\label{plot:coor}
\end{axis}
\end{tikzpicture}
This is \ref{plot:coor}.
\end{document}