pgfplots:图例样式打破了 \ref 的图例命名

pgfplots:图例样式打破了 \ref 的图例命名

我遇到了这种情况,每当我设置了全局图例样式时,legend to namewith似乎都会失败。\ref

请参见

\documentclass{book}

\usepackage{filecontents}
\begin{filecontents*}{test.tikz}
\tikz{\begin{axis}[
        width=2cm,height=4cm,
        ]
        \addplot +[]%
        table[row sep=crcr] {%
            1 1\\
            2 4\\
        };
        \label{testAAA}
    \end{axis}
    \begin{axis}[
        legend to name={\legendname},
        width=2cm,height=4cm,
        ]
        %
        \addlegendimage{/pgfplots/refstyle={testAAA}}\addlegendentry{AAA}%
        \addplot +[]%
        table[row sep=crcr] {%
            1 2\\
            5 10\\
        };
        \addlegendentry{BBB}%
\end{axis}}

\end{filecontents*}

\usepackage{tikz,pgfplots,pgfplotstable,tikzscale,subcaption}

\pgfplotsset{
    every axis/.append style={%
        legend style = {%
            at={(axis description cs:0.5,1.1)},% <-- this causes troubles with \ref 
        },%
    },
}

\begin{document}
    \begin{figure}
        \newcommand{\legendname}{testlegend}%
        \subcaptionbox{}{\includegraphics{test.tikz}}\\
        \ref{testlegend}
    \end{figure}
\end{document}

这让我

! 未定义的控制序列。\pgfplots@evalute@tikz@coord@system@interface@axis@description ... {#1}{#2} l.59 \ref{testlegend}

我正在将 lualatex 与 texlive 2018 一起使用。

但是,当删除该pgfplotsset命令时,它似乎工作正常。

我在这里做错了什么?

我知道在我使用的情况下legned to name,图例位置没有意义。但是,我有一个较长的文档,其中我legend to name只使用了一些图。对于其他图,我想使用通过上述命令设置的默认设置。

相关内容