PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sidewaystable, falsche referenzierung



eschmid
09-04-2008, 15:41
Hallo zusammen,

ich verwende sidewaystable um große Tabellen quer zu erstellen. Funktioniert soweit auch gut. Nun habe ich die Tabelle, wie bei gewöhnlichen Tabellen auch, mit \label{Bezeichnung} markiert. Wenn ich allerdings mit \ref{Bezeichnung} darauf im Text verweisen will, gibt er mir eine falsch Nummerierung aus (Die Nummerierung in der Tabellenüberschrift ist dagegen korrekt).
Bei normalen Tabellen funtioniert es wunderbar, nur eben bei sidewaystable nicht.

Im Internet habe ich bis jetzt noch nichts brauchbares gefunden. Ich verwende miktex 2.7 unter windows und pdflatex

Weiss jemand Rat für dieses Problem? Ich weiss, dass es hier ein unix forum ist aber vielleicht kann mir trotzdem jemand hierbei helfen, da ich so langsam am verzweifeln bin....:(

Vielen Dank schonmal im vorraus,

e.s.

Stefan_K
09-04-2008, 16:02
Hallo,

willkommen im Forum!
Ein allgemeiner Hinweis zur Referenzierung: zuerst \caption und erst danach \label aufrufen, sonst kann genau sowas passieren, dass der Verweis nicht stimmt.
Wenn Du das bereits richtig machst, dann zeige uns mal die betreffende Quelltextstelle bzw. ein Minimalbeispiel (http://www.minimalbeispiel.de/mini.html), was den Fehler zeigt.

Viele Grüße,

Stefan

eschmid
09-04-2008, 16:10
Hi,

das mit label nach caption weiss ich schon. ich mache mal ein besipiel


\documentclass[
%DIV14,
smallheadings,
12pt,
%a4paper,
idxtotoc,
liststotoc,
bibtotoc,
noonelinecaption,
cleardoubleempty,
headsepline
]{scrbook}

\usepackage{a4}
\usepackage[english,ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{subfigure}
\usepackage{epsfig} .
\usepackage{graphicx}
\graphicspath{{bilder/}}
\usepackage{multirow}
\usepackage{eurosym}
\usepackage{framed}
\usepackage{scrpage2}
\pagestyle{scrheadings}
\usepackage{natbib}
\usepackage{url}
\usepackage{makeidx}
\usepackage{ngerman}
\usepackage{multibib}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{rotating}
\usepackage{booktabs}
\usepackage{array}


.....


\begin{sidewaystable}
\begin{tiny}
\captionabove{Tabellenbschreibung}
\begin{tabular}{rrrrr}

....

\end{tabular}
\end{tiny}
\label{Bezeichnung}
\end{sidewaystable}

Wenn ich nun im Text mit \ref{Bezeichnung} darauf verweise, erscheint im Text (anstatt A.2, was die richtige Nummer ist) A.1. (das ist die Nummer der ("normalen") Tabelle die davor kommt). Im Anschluss an diese Tabelle kommen mehrere auch mit sidewaystable erstellte Tabellen. Auch wenn ich diese referenziere kommt im Text immer "A.1.". In der Tabellenüberschrift sind sie dagegen korrekt nummeriert (also A.2, A.3,...)

Dieser Fehler kommt bei allen Tabellen, die ich mit \sidewaystable gemacht habe. Bei allen normalen Tabellen, funktioniert es... :confused:

Stefan_K
09-04-2008, 16:16
Hallo,

dann schreibe \label direkt hinter \captionabove oder zumindest mit innerhalb der tiny-Umgebung, in der auch der \captionabove-Aufruf steht.

Stefan

eschmid
09-04-2008, 16:21
das habe ich auch schon versucht, funktioniert aber leider auch nicht. Vielleicht liegt es irgendwie am kompiler pdflatex ?

voss
09-04-2008, 17:36
Wenn ich nun im Text mit \ref{Bezeichnung} darauf verweise, erscheint im Text (anstatt A.2, was die richtige Nummer ist) A.1. (das ist die Nummer der ("normalen") Tabelle die davor kommt). Im Anschluss an diese Tabelle kommen mehrere auch mit sidewaystable erstellte Tabellen. Auch wenn ich diese referenziere kommt im Text immer "A.1.". In der Tabellenüberschrift sind sie dagegen korrekt nummeriert (also A.2, A.3,...)

Dieser Fehler kommt bei allen Tabellen, die ich mit \sidewaystable gemacht habe. Bei allen normalen Tabellen, funktioniert es... :confused:

dann machst du etwas, was man anhand deiner fragmentarischen Angabe der Quellen
nicht sehen kann. Mach ein richtiges Beispiel ... sonst kann man nur raten ... du hast
irgendwo ein \label vor der caption


\documentclass{scrbook}

\usepackage{rotating}

\begin{document}

\begin{sidewaystable}
\tiny
\captionabove{Tabellenbschreibung}\label{Bezeichnu ng}
\begin{tabular}{rrrrr}
huhu
\end{tabular}
\end{sidewaystable}

Wie Tabelle~\ref{Bezeichnung} zeigt ..

\end{document}

funktioniert einwandfrei ...

Herbert

Stefan_K
09-04-2008, 17:46
Bei mir klappt es, samt Deinem obigen Vorspann, sowohl mit \label direkt nach \captionabove als auch direkt vor \end{tiny}.
Wenn es bei Dir nicht geht, versuch mal, ein Minimalbeispiel zu erstellen. Wie das geht, steht hinter dem Link in meinem obersten Beitrag. In diesem Beispiel reduziere soweit wir möglich, um den Fehler einzugrenzen, also wirf nicht beteiligte Pakete raus etc. Evtl. stößt Du dabei bereits auf den Verursacher.

Deine Vorlage scheint übrigens auf recht altem Stand zu sein. Das Paket a4 sollte man nicht mehr verwenden, a4paper als Klassenoption ist besser. epsfig wirst Du mit pdflatex nicht brauchen. ngerman brauchst Du auch nicht, das wird schon mit babel und Option ngerman weiter oben erledigt. subfigure ist auch veraltet, der Nachfolger ist subfig, von \graphicspath wird heute auch abgeraten. Generell hat l2tabu (http://www.ctan.org/tex-archive/info/l2tabu/german/l2tabu.pdf) bestimmt gute Informationen für Dich.

In der LaTeX-Forum-Übersicht kannst Du weiterhin eine Liste veralteter Pakete sehen.

Stefan

eschmid
09-04-2008, 18:13
jetzt funktioniert es. anhand eines einfachen beispiels konnte ich rausfinden, dass es nicht an sidewaystable an sich liegt. habe dann rausgefunden, dass zwei tabellen, das selbe label hatten, worauf der zähler dann wieder zurückgesprungen sein muss weshalb er immer A1 augegeben hat.

Vielen Dank für die Hilfe

Danke für die Tips wg. der veralteten Sachen. Mometan läuft aber alles und ich muss bald meine diss abgeben, deshalb habe ich jetzt keinen nerv an der vorlage rumzufummeln :eek: