PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warnung bei Tabellen ohne caption



Julian
23-11-2011, 14:51
Hallo,
ich verwende in meinem Dokument (scrartcl) ab und zu Tabellen, die keine Beschriftung (caption) brauchen bzw. haben sollen.
Allerdings wird dann für jede dieser Tabellen eine Warnung ausgegeben, was mittlerweile durch die Anzahl etwas nervig geworden ist.
Die Warnung lautet z.B.:

pdfTeX warning (ext4): destination with the same identifier (name{table.3.2}) has been already used, dublicate ignored

Aufbau der Tabellen:

\begin{table}[H]
\begin{tabular}{...}
...
\end{tabular}
\caption{beschriftung} %oder auch nicht
\end{table}

Kann man irgendetwas unternehmen, dass diese Warnungen nicht mehr auftauchen?

rstuby
23-11-2011, 15:02
Das H scheint mir darauf hinzudeuten, dass es dir nicht sonderlich wichtig ist, dass die Tabelle gleiten kann - du könntest mal versuchen, die table-Umgebung ganz wegzulassen.
Allerdings sind große Objekte, die nicht gleiten können, von der Seiteneinteilung her sehr problematisch.

u_fischer
23-11-2011, 15:22
Kann man irgendetwas unternehmen, dass diese Warnungen nicht mehr auftauchen?

Wahrscheinlich. Aber nicht, wenn du nicht verrätst, wie du es schaffst, die Warnungen zu erzeugen. Codeschnipsel sind dafür nicht ausreichend.

Das hier gibt keine Warnungen:


\documentclass{scrartcl}
\usepackage{float}
\usepackage{hyperref}

\begin{document}

\begin{table}[H]
abc
\caption{beschriftung} %oder auch nicht
\end{table}

\begin{table}[H]
abc
%\caption{beschriftung} %oder auch nicht
\end{table}

\begin{table}[H]
abc
\caption{beschriftung} %oder auch nicht
\end{table}

\begin{table}[H]
abc
%\caption{beschriftung} %oder auch nicht
\end{table}


\end{document}

bobmalaria
23-11-2011, 16:21
hi,

diese warnung kenne ich z.b. wenn der seitenzaehler geaendert wird. z.b. nach der titelseite auf roman und dann wieder auf arabic im hauptteil. dann wird z.b. die titleseite, obwohl keine seitennummer gedruckt wird, intern mit 1 gezaehlt. im arabic teil gibt es dann eine neue seite 1 und schon hat man eine destination with the same identifier, also 2x die seite 1.

vermutlich spielst du also an irgendwelchen zaehlern herum.

gruss

Julian
24-11-2011, 09:05
Die Ursache zu lokalisieren oder ein Minimalbeispiel mit diesem Problem zu erstellen, ist gar nicht so einfach. Bisher konnte ich den Fehler in einem anderen LaTeX-Projekt nicht reproduzieren.

Laut Warnung ist der identifier (name{table.3.2}) doppelt belegt. Die Zahl 3.2 verweist auf Kapitel 3 Tabelle 2 (?) und dort befindet sich tatsächlich die zweite Tabellen innerhalb des Kapitels und sie besitzt keine \caption{}. Nehme ich die Tabelle heraus oder füge die caption ein, verschwindet die Warnung an dieser Stelle.

Also müssen alle Tabellen (bis auf die erste) innerhalb eines Kapitels eine caption bekommen, damit die Warnung nicht angezeigt wird. Warum?!

Mit den Seitenzählern spiele ich tatsächlich herum, aber die Seitenzahlen kommen in den Warnungen nicht vor. Im Verlauf der Kapitel werden keine Zähler geändert, nur nach dem Inhaltsverzeichnis. Könnte es dennoch einen Zusammenhang geben?!

Bin immer noch ratlos, teste aber am Minimalbeispiel weiter.

EDIT:
Okay, ... ich hab die Ursache gefunden. Das macht die Sache aber nicht viel besser.
Ich nutze das Paket hypcap, damit die Abbildungen komplett dargestellt werden, wenn man auf einen Link zu einer Abbildung im PDF klickt.

\usepackage{hyperref}
\usepackage[all]{hypcap}
Nehme ich dieses Paket raus, verschwinden die Warnungen.
=> hypcap erwartet wohl eine \caption{}-Anweisung für jede Tabelle :rolleyes:.
Mir bleibt dann wohl nichts anderes übrig, als die Warnungen zu ignorieren?!

sommerfee
24-11-2011, 09:28
Laut Warnung ist der identifier (name{table.3.2}) doppelt belegt. Die Zahl 3.2 verweist auf Kapitel 3 Tabelle 2 (?) und dort befindet sich tatsächlich die zweite Tabellen innerhalb des Kapitels und sie besitzt keine \caption{}.

Welche Bezeichnung würde denn die Tabelle bekommen, wenn sie eine \caption hätte? "Tabelle 3.2"?

u_fischer
24-11-2011, 10:36
=> hypcap erwartet wohl eine \caption{}-Anweisung für jede Tabelle .
Mir bleibt dann wohl nichts anderes übrig, als die Warnungen zu ignorieren?!

Du könntest auch die Dokumentation von hypcap lesen. Auf Seite 3 ist sogar ein Beispiel, wie man eine figur-Umgebung ohne \caption eingibt.

Julian
24-11-2011, 10:50
Urgs... Eiskalt drüber gescrollt. Das hätte ich eigentlich sehen müssen, denn in der Doku war ich auch schon unterwegs. Sorry!

Lösung:

\capstartfalse
\begin{table}[H]
\begin{tabular}{...}
...
\end{tabular}
\end{table}
\capstarttrue

Besten Dank!

sommerfee
24-11-2011, 13:23
Lösung:

Hast du vielleicht das caption-Paket eingebunden? Wenn ja, kannst du dir das hypcap-Paket sparen, und damit auch \capstartfalse/true.