Abbildungsreferenzierung funktioniert nicht mit PGFPlots

Abbildungsreferenzierung funktioniert nicht mit PGFPlots

Hier ist mein 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}

Dies wird wie folgt kompiliert:

Bildbeschreibung hier eingeben

Die Verwendung der articleDokumentklasse führt außerdem dazu, dass „Siehe Abbildung ??.“ gedruckt wird.

Ich bin 100 % sicher, dass ich schon einmal mit PGFPlots Abbildungen erstellt und im Text darauf verwiesen habe. Ich habe keine Ahnung, was diesmal falsch ist.

Was ist los?

(Für Bonuspunkte: Warum gibt mein Compiler einen Fehler aus, wenn ich das titletocPaket und/oder das subfigPaket entferne? Ich bin ziemlich sicher, dass er keines von beiden braucht, um dieses MWE zu kompilieren. Ich bin auch ziemlich sicher, dass ich vorher schon Dinge ohne diese Pakete kompiliert habe. Ich verwende TeXShop 4.68, falls das einen Unterschied macht.)

Antwort1

Ich habe Ihre Frage nicht ganz verstanden, aber Sie haben anscheinend Probleme mit der Beschriftungsreferenz 1. Wenn das so ist, kann das Platzieren \label{fig-circle}von neben der Beschriftung \caption{This was generated with PGFPlots.}, also etwas wie \caption{This was generated with PGFPlots.}\label{fig-circle}, Ihr Problem möglicherweise lösen. Vergessen Sie nicht, zweimal zu kompilieren.

Antwort2

Nun, ich habe mit der Platzierung herumgespielt \label{fig-circle}und es scheint, dass es centerfunktioniert, wenn man es in die Umgebung platziert (also zwei Zeilen über seiner Position in meinem MWE). Keine Ahnung, warum das wichtig ist.

verwandte Informationen