图形引用不适用于 PGFPlots

图形引用不适用于 PGFPlots

这是我的 MWE:

\documentclass{book}

\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

\usepackage{subfig}

\usepackage{titletoc}

\begin{document}

\begin{figure}[h!]
    \begin{center}{
        \begin{tikzpicture}
            \begin{axis}
            \addplot[domain=0:360]({cos(x)},{sin(x)});
            \end{axis}
        \end{tikzpicture}
        \caption{This was generated with PGFPlots.}
    }
    \end{center}
    \label{fig-circle}
\end{figure}

See figure~\ref{fig-circle}.

\begin{figure}[h!]
    \begin{center}{
    \includegraphics{header.png}
}
\end{center}
\caption{This was read from a PNG file.}
\label{fig-image}
\end{figure}

See also figure~\ref{fig-image}.

\end{document}

编译结果如下:

在此处输入图片描述

使用articledocumentclass 也会导致打印“参见图表??”。

我 100% 确信我之前曾使用 PGFPlots 构建过图形并在文中引用过它们。我不知道这次出了什么问题。

这是怎么回事?

titletoc(为了加分,为什么如果我删除包和/或包,我的编译器会导致错误subfig?我很确定它不需要其中任何一个来编译该 MWE。我也很确定我以前编译过没有这些包的东西。我正在使用 TeXShop 4.68,如果这有任何区别的话。)

答案1

我不太明白你的问题,但显然你在标签参考 1 方面遇到了问题。如果是这样,在\label{fig-circle}标题旁边放置\caption{This was generated with PGFPlots.},即类似的内容\caption{This was generated with PGFPlots.}\label{fig-circle},可能会解决你的问题。不要忘记编译两次。

答案2

好吧,我尝试了一下放置的位置\label{fig-circle},似乎将它放置在center环境内(即在我的 MWE 中它的位置上方两行)就可以了。不知道为什么这很重要。

相关内容