这是我的 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}
编译结果如下:
使用article
documentclass 也会导致打印“参见图表??”。
我 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 中它的位置上方两行)就可以了。不知道为什么这很重要。