
Вот мой 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
Я не совсем понял ваш вопрос, но, судя по всему, у вас возникли проблемы с меткой reference 1. Если это так, то размещение \label{fig-circle}
рядом с caption \caption{This was generated with PGFPlots.}
, т. е. чего-то вроде \caption{This was generated with PGFPlots.}\label{fig-circle}
, может решить вашу проблему. не забудьте выполнить компиляцию дважды.
решение2
Ну, я игрался с размещением \label{fig-circle}
и, похоже, размещение его внутри center
окружения (т. е. на две строки выше его позиции в моем MWE) дает нужный эффект. Понятия не имею, почему это важно.