Seite 1 von 1

Fehlverhalten bei Tabellenreferenzierung

Verfasst: Mi 14. Dez 2011, 15:35
von Manse
Hallo Leute,

ich habe hier ein etwas seltsames Verhalten, wenn ich Tabellen referenziere.

Ich habe eine Tabelle wie folgt angelegt:
{\begin{tabular}[bp]{|c|l|}
	\hline
	\textbf{1} & Zeile1 \\
	\hline
	\textbf{2} & Zeile2 \\	
	\hline
	\textbf{3} & Zeile3 \\
	\hline
	\textbf{4} & Zeile4 \\
	\hline
	\textbf{5} & Zeile5 \\
	\hline
	\textbf{6} & Zeile6 \\
	\hline
\end{tabular}}
\label{tab:MeineTab}
\captionof{table}{Beschreibung meiner Tabelle}

Die Tabelle wird ganz korrekt angelegt, und erhält in meinem 3. Kapitel die Nummer 3.1.

Als Tabellenunterschrift habe ich also:

Tabelle 3.1: Beschreibung meiner Tabelle

Wenn ich aber nur irgendwo im Text die Tabelle mit \ref{tab:MeineTab} referenziere, dann steht im Text nicht 3.1 für die Tabellennummer sonder 3.1.1.

Woher kommt die letzte 1 ?

Danke schön für eure Antworten.

Verfasst: Mi 14. Dez 2011, 15:38
von bloodworks
Hallo du referenzierst so auf das Kapitel. Wenn du auf die caption referenzieren willst, musst du das label in oder in der gleichen gruppe wie das caption haben. Das Klammern der tabular mach im übrigen keinen Sinn.
(Ungetestet, aus Ermangelung eines Minimalbeispiels [2] )

Verfasst: Mi 14. Dez 2011, 16:16
von Xenara
Grundsätzlich gilt, dass man die richtige Reihenfolge von caption und label einhalten muss:
Erst caption (oder chapter, section ...), danach erst das Label setzen.

Der LaTeX-Kompiler liest nämlich immer vom Anfang zum Ende. Wenn da dann ein \label steht, wird es auf das bezogen, was vorher war, denn das nachher existiert ja noch gar nicht.

Hier ein kleines Beispiel dazu. Mit dem Verweisbefehl \autoref aus dem hyperref-Paket wird hier bereits angezeigt, auf wen sich der erste label-Befehl bezieht, nämlich auf das Kapitel:
\documentclass{scrreprt} 
\usepackage[ngerman]{babel} 
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}	

\usepackage{hyperref} 

\begin{document}

\chapter{Kapitel}

\begin{minipage}{\textwidth}
\label{tab:MeineTab1} 
\captionof{table}{Beschreibung meiner Tabelle} 
Tabelle
\end{minipage}

\begin{minipage}{\textwidth}
\captionof{table}{Beschreibung meiner Tabelle} 
\label{tab:MeineTab2} 
Tabelle
\end{minipage}\\


Verweis auf die Tab mit Reihenfolge label-caption: \autoref{tab:MeineTab1}

Verweis auf die Tab mit Reihenfolge caption-label: \autoref{tab:MeineTab2}

\end{document}
Übrigens:
- Tabellen werden stets oben beschriftet, da man sie von oben nach unten liest. Abbildungen werden unten beschriftet.
- Vertikale Linien in Tabellen sind "böse", unterbrechen den Lesefluss und sind zu vermeiden. Das Paket "booktabs" bietet Funktionen für sehr schöne, professionelle Tabellen.