Abbildungsquerverweise in LATEX

Hi!!

Ich habe Probleme bei Querverweise für Bilder in LATEX. Meine Referenzen spucken oft falsche Angaben aus. Z.B. wird Abbildung „2.1“ anstatt „2.4“ ausgegeben. Im Log-file habe ich keinen Fehler gefunden.

Folgende packages und Befehle verwende ich:
\documentclass[a4paper]{report}
\usepackage[latin1]{inputenc} %Umlaute ermöglichen
\usepackage{graphicx} %package für Grafiken
\usepackage{setspace} %package für Zeilenabstand
\usepackage{subfigure}
\usepackage[german]{babel}

\usepackage{fancyhdr} %package für Kopf- und Fußzeilen
\pagestyle{fancy}

Bilder füge ich so ein:

\begin{figure}
\begin{center}
\includegraphics[width=6cm]{pics/chap2/shunt}
\caption{Kreislaufsystem mit bronchialem Shunt \cite{kwant}}
\end{center}
\label{shunt}
\end{figure}

Ich habe auch schon versucht, vor das label ein „fig:“ zu setzen. Das macht aber auch keinen Unterschied.

Ich kompiliere auch mehrmals hintereinander. Daran liegt es also auch nicht. Ich benutze LATEX, um ein DVI zu erzeugen. Die Bilder liegen im eps-Format vor.

Was mache ich also falsch???

Schönen Gruß,
Marco

Hi!!

Ich habe Probleme bei Querverweise für Bilder in LATEX. Meine
Referenzen spucken oft falsche Angaben aus. Z.B. wird
Abbildung „2.1“ anstatt „2.4“ ausgegeben. Im Log-file habe ich
keinen Fehler gefunden.

Schauen wir mal …

[...]
\usepackage{subfigure}

Warum hast Du das eingebunden? Nutzt Du das auch? Es ist veraltet und sollte durch „subfig“ ersetzt werden. Mal eine grundsätzliche Erklärung zum „\label – \ref“ Konstrukt. Wenn Du ein \label{blabla} setzt, dann wird eine Referenz mit Namen „blabla“ auf das aktuell aktive Strukturelement gesetzt. D.h. „blabla“ darf natürlich nur einmal verwendet werden. Zur besseren Übersicht hat es sich bewährt, Refernzen mit den jeweiligen Elementtypen zu kennzeichnen. Also \label{fig:blabla} oder \label{tab:blabla}. Das hat aber keinerlei Auswirkungen auf den Mechnismus. Es werden einfach nur Zeichenketten verglichen.

Vorsicht ist bei einigen Sprachkombinationen des „babel“ Pakets geboten, weil dann Satzzeichen wie der Doppelpunkt in Labeln Probleme machen können. Das ist bei „german“ aber definitv nicht der Fall.

Welches ist nun das jeweils „aktive Strukturelement“? Die jeweils letzten Vorkommen von \chapter, \section, etc. und Umgebungen enumerate, equation, etc. setzen die Referenz auf die mit ihnen verbundene Nummer (Kapitel 2, Abschnitt 2.1, Punkt 3 a in einer Aufzählung, Gleichung 2.1, etc.).

Bei den Umgebungen „table“ und „figure“ hingegen läuft es etwas anders. Da wird der aktuelle Bezug auf den letzten \caption-Befehl gesetzt. Dadurch kann man z.B. bei Verwendung der „subfigure“ Umgebung mehrere Abbildungen getrennt referenzieren. D.h. Du solltest den \label-Befehl stets unmittelbar nach der zugehörigen \caption setzen. Betrachte die beiden am besten als unzertrennliches Paar.

Dein Beispiel eigenet sich sehr schlecht zur Darstellung des Problems, weil es da natürlich nicht auftritt. Korrekt sollte Deine \figure Umgebung so aussehen:

\begin{figure}
 \centering
 \includegraphics[width=6cm]{pics/chap2/shunt}
 \caption{Kreislaufsystem mit bronchialem Shunt \cite{kwant}}
 \label{shunt}
\end{figure}

Das \begin{center}…\end{center} wird also durch ein \centering ersetzt und \label folgt stets unmittelbar nach \caption.

Bei Verwendung von „subfig“ sieht es dann so aus:

\begin{figure}
 \centering
 \subfloat[Bronchien]{\includegraphics[width=3cm]%
 {pics/chap2/bronchien}\label{sfig:bronchien}}

 \qquad

 \subfloat[Shunt]{\includegraphics[width=3cm]%
 {pics/chap2/shunt}\label{sfig:shunt}

 \caption{Bronchien mit und ohne Shunt}
 \ref{fig:bronshunt}
\end{figure}

Damit kannst Du im Text dann bequem auf die Unterabbildungen und die Gesamtillustration verweisen. Beachte, dass der \subfloat die „Caption“ als Argument in eckigen Klammern enthält. Daher wird dort keine weitere \caption-Angabe benötigt.

Gruß

Fritze

Hi Fritze!!

Danke für die ausführliche Antwort!!

Es lag wohl daran, dass ich das label nicht immer direkt hinter caption gesetzt habe.

Jetzt benutze ich auch das package subfig. Hab zwar noch keinen Unterschied feststellen können, aber ich vertraue dir mal, dass es besser ist!! :wink:

Schönen Gruß,
Marco