Ссылки на рисунки не работают с 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

Я не совсем понял ваш вопрос, но, судя по всему, у вас возникли проблемы с меткой 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) дает нужный эффект. Понятия не имею, почему это важно.

Связанный контент