
これが私の 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
「図??を参照してください。」も印刷されます。
以前に PGFPlots を使用して図を作成し、それをテキストで参照したことは 100% 確かです。今回は何が間違っているのか全くわかりません。
どうしたの?
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 回コンパイルすることを忘れないでください。
答え2
まあ、配置をいろいろ試してみたのです\label{fig-circle}
が、環境内に配置するとcenter
(つまり、MWE での位置の 2 行上に配置すると) うまくいくようです。なぜそれが重要なのかわかりません。