PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Listoftables longtable caption Seitenzahlproblem



Stonefly17
05-06-2008, 15:12
Hallo ich habe in meinem Dokument zwei Tabellen, die über mehrere Seiten laufen. Dazu nutze ich das Paket longtable. Wie bei meinen normalen Tabellen auch habe ich die caption unter die Tabelle gesetzt. Im Tabellenverzeichnis erscheint leider die Seitenzahl auf der die caption zu finden ist und nicht die, auf der die Tabelle beginnt. Was mich wundert ist, dass der Hyperlink den ich mir vom Paket hyperref erzeugen lasse zum Anfang der Tabelle springt.

Hat jemand eine Idee wie ich das Problem lösen kann?

Minimalbeispiel:


\documentclass[pdftex,headsepline,footsepline,12pt,halfparskip,bi btotoc,liststotoc]{scrreprt}
\usepackage[automark,plainfootsepline]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot
\ohead{\headmark}
\ofoot[\pagemark]{\pagemark}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{bibgerm}
\usepackage[babel=true,german=quotes]{csquotes}
\usepackage{longtable}
\usepackage{color}
\definecolor{darbblue}{rgb}{0,0,0.5}
\usepackage{hyperref}
\hypersetup{breaklinks=false,
colorlinks=true,
linkcolor=darbblue,
menucolor=darbblue,
pagecolor=darbblue,
urlcolor=darbblue,
citecolor=darbblue,
filecolor=darkblue,
plainpages=false
}

\begin{document}
\tableofcontents
\listoftables
\chapter{Tabelle}
\section{Beispiel}

\begin{longtable}{|l|}
\hline
\textbf{Beispiel} \endhead \hline
Zeile 1 \\ \hline
Zeile 2 \\ \hline
Zeile 3 \\ \hline
Zeile 4 \\ \hline
Zeile 5 \\ \hline
Zeile 6 \\ \hline
Zeile 7 \\ \hline
Zeile 8 \\ \hline
Zeile 9 \\ \hline
Zeile 10 \\ \hline
Zeile 11 \\ \hline
Zeile 12 \\ \hline
Zeile 13 \\ \hline
Zeile 14 \\ \hline
Zeile 15 \\ \hline
Zeile 16 \\ \hline
Zeile 17 \\ \hline
Zeile 18 \\ \hline
Zeile 19 \\ \hline
Zeile 20 \\ \hline
Zeile 21 \\ \hline
Zeile 22 \\ \hline
Zeile 23 \\ \hline
Zeile 24 \\ \hline
Zeile 25 \\ \hline
Zeile 26 \\ \hline
Zeile 27 \\ \hline
Zeile 28 \\ \hline
Zeile 29 \\ \hline
Zeile 30 \\ \hline
Zeile 31 \\ \hline
Zeile 32 \\ \hline
Zeile 33 \\ \hline
Zeile 34 \\ \hline
Zeile 35 \\ \hline
\caption{Beispiel-Tabelle}
\label{tbl:beispiel}
\end{longtable}
\end{document}

sommerfee
05-06-2008, 15:54
Schaue mal in die Anleitung zum caption-Paket, dort unter der Beschreibung des Befehls \captionlistentry. Dort wird auf genau dieses Problem eingegangen.

Stonefly17
06-06-2008, 00:45
Schaue mal in die Anleitung zum caption-Paket, dort unter der Beschreibung des Befehls \captionlistentry. Dort wird auf genau dieses Problem eingegangen.

Danke, das hilft mir schonmal sehr weiter. Mußte aber erstmal mein Miktex updaten :cool:
Leider habe ich jetzt ein anderes Problem. Zwar stimmt die Seitenzahl beim ersten Eintrag im Tabellenverzeichnis jetzt, dafür hab ich nun zwei Einträge. Auch bei der Darstellung hab ich noch ein Problem verursacht durch die \\ am Ende von \captionlistentry{...}\\.

Das sieht dann ungefäht so aus:

|_______|
|Beispiel |
----------

Lasse ich die \\ am Ende von \captionlistentry{...} weg bekomme ich einen ! Misplaced \noalign \hline -> \noalign Fehler.

1.) Wie erhalte ich nur einen Eintrag im Tabellenverzeichnis (auch die * Umgebung von \captionlistentry half nicht)?

2.) Wie bekomme ich diese "Antennen" weg?

Vielen Dank

Neues Beispiel:


\documentclass[pdftex,headsepline,footsepline,12pt,halfparskip,bi btotoc,liststotoc]{scrreprt}
\usepackage[automark,plainfootsepline]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot
\ohead{\headmark}
\ofoot[\pagemark]{\pagemark}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{bibgerm}
\usepackage[babel=true,german=quotes]{csquotes}
\usepackage{longtable}
\usepackage{color}
\usepackage{caption}
\definecolor{darbblue}{rgb}{0,0,0.5}
\usepackage{hyperref}
\hypersetup{breaklinks=false,
colorlinks=true,
linkcolor=darbblue,
menucolor=darbblue,
urlcolor=darbblue,
citecolor=darbblue,
filecolor=darkblue,
plainpages=false
}


\begin{document}
\tableofcontents
\listoftables
\chapter{Tabelle}
\section{Beispiel}

\begin{longtable}{|l|}
\caption[]{Beispiel-Tabelle}\\
\endlastfoot
\captionlistentry{Beispiel-Tabelle}\\
\hline
\textbf{Beispiel} \endhead \hline
Zeile 1 \\ \hline
Zeile 2 \\ \hline
Zeile 3 \\ \hline
Zeile 4 \\ \hline
Zeile 5 \\ \hline
Zeile 6 \\ \hline
Zeile 7 \\ \hline
Zeile 8 \\ \hline
Zeile 9 \\ \hline
Zeile 10 \\ \hline
Zeile 11 \\ \hline
Zeile 12 \\ \hline
Zeile 13 \\ \hline
Zeile 14 \\ \hline
Zeile 15 \\ \hline
Zeile 16 \\ \hline
Zeile 17 \\ \hline
Zeile 18 \\ \hline
Zeile 19 \\ \hline
Zeile 20 \\ \hline
Zeile 21 \\ \hline
Zeile 22 \\ \hline
Zeile 23 \\ \hline
Zeile 24 \\ \hline
Zeile 25 \\ \hline
Zeile 26 \\ \hline
Zeile 27 \\ \hline
Zeile 28 \\ \hline
Zeile 29 \\ \hline
Zeile 30 \\ \hline
Zeile 31 \\ \hline
Zeile 32 \\ \hline
Zeile 33 \\ \hline
Zeile 34 \\ \hline
Zeile 35 \\ \hline
\end{longtable}

\end{document}

sommerfee
06-06-2008, 08:01
Leider habe ich jetzt ein anderes Problem. Zwar stimmt die Seitenzahl beim ersten Eintrag im Tabellenverzeichnis jetzt, dafür hab ich nun zwei Einträge.

Ja, weil das \captionlistentry bei dir im Tabellenkopf steht. Der wird zweimal gesetzt, also gibt es auch zwei Einträge. Abhilfe wäre, das \captionlistentry aus dem Tabellenkopf zu nehmen und stattdessen an den Anfang der Tabellendaten zu stellen.



Lasse ich die \\ am Ende von \captionlistentry{...} weg bekomme ich einen ! Misplaced \noalign \hline -> \noalign Fehler.

Das scheint wohl ein Fehler im caption-Paket zu sein, sorry, ich werde mir das gleich nächste Woche anschauen...

So funktioniert es aber wohl:



\begin{longtable}{|l|}
\caption[]{Beispiel-Tabelle}\\
\endlastfoot
\hline
\textbf{Beispiel} \endhead
\hline
\captionlistentry{Beispiel-Tabelle}
Zeile 1 \\ \hline
Zeile 2 \\ \hline
Zeile 3 \\ \hline
...

Stonefly17
06-06-2008, 09:21
Vielen Dank für die Hilfe. Jetzt funktioniert es wie gewünscht.