Der \caption
-Befehl aktualisiert die interne Referenz, welche von \label
verwendet wird, also er erhöht den Tabellen- bzw. Abbildungszähler und weist ihn zu. Daher muss er vor \label
stehen.
Wenn man zuerst \label
aufruft, dann bezieht LaTeX sich auf die letzte gesetzte interne Referenz, was im angegeben Beispiel die section ist, daher liefert \ref
hier die section-Nummer.
Eine verbreitete Praxis ist daher auch, \label
innerhalb des \caption
-Arguments zu schreiben. Das vermeidet ein analoges Problem, falls jemand \caption
innerhalb einer Gruppe oder Umgebung verwendet, und hinterher \label
, wie in (nicht empfohlenem) {\ttfamily\caption{Text}}\label{name}
- hier "sieht" \label
nicht mehr, was \caption
getan hat, da dessen Wirkung durch die Gruppe {...}
begrenzt ist, und wieder bezieht sich \label
auf eine vorangehende Referenz. Nur als Erklärung, warum man das sehen kann - ich würde es nicht schachteln. Zum Beispiel zeigt das Paket showlabels
(sehr nützlich beim Entwurfs-Schreiben) das Label dann an anderer Stelle an, etwa statt im Seitenrand direkt an der Bildunterschrift.
beantwortet
12 Jun '13, 09:41
stefan ♦♦
18.3k●16●31●48
Akzeptiert-Rate:
50%