Warnung: destination with same identifier [...] already used

Tabellen und Grafiken erstellen und anordnen


losgehts

Warnung: destination with same identifier [...] already used

Beitrag von losgehts »

Hallo allerseits,

das ist mein erster Post in diesem Forum. Ich habe hier einiges gelesen um mich an die Gepflogenheiten anzupassen, doch wahrscheinlich nicht alles. Bitte schreibt mir einfach, wenn ich irgendwo anecke.

Ich möchte Grafiken und Gleichungen nicht komplett durchnummerieren, sondern im Format Section.Nummer (z.B. 3.1). Daher verwende ich
\numberwithin{equation}{section}
\numberwithin{figure}{section}

Jetzt habe ich gerade noch hyperref geladen und bekomme die beunruhigende Warnung
pdfTeX warning (ext4): destination with the same identifier (name{figure.1}) has been already used, duplicate ignored
Hier mein Minimalbeispiel:
\documentclass{scrartcl}
\usepackage[T1]{fontenc}     % für Umbruch von Wörtern mit Umlauten 
\usepackage[ngerman]{babel}

\usepackage{amsmath}
\numberwithin{equation}{section}
\numberwithin{figure}{section}
\usepackage[demo]{graphicx}
\usepackage{hyperref}

\begin{document}
\section{1D-Einschwingversuch}
Etwas Text.
\begin{figure}
		\includegraphics[width=\textwidth]{bilder/bild1.png}
	\caption{Einschwingvorgang}
	\label{fig:einschwingen_exakt2-zoom}
\end{figure}

\section{Beispiel}
Ein Beiepiel.
\begin{figure}
		\includegraphics[width=\textwidth]{bilder/bild1.png}
	\caption{Zahlenbeispiel}
	\label{fig:zahlenbspl}
\end{figure}
\end{document}
Meine Pakete müssten alle aktuell sein, ich verwende (Auszug):
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (MiKTeX 2.9.6840 64-bit)

scrartcl.cls 2018/03/30 v3.25 KOMA-Script document class (article)
fontenc.sty
t1enc.def 2017/04/05 v2.0i Standard LaTeX file
babel.sty 2018/10/03 3.25 The Babel package
ngerman.ldf 2018/03/29 v2.10 German support for babel (post-1996 orthography)
amsmath.sty 2017/09/02 v2.17a AMS math features
graphicx.sty 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
graphics.sty 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
hyperref.sty 2018/09/30 v6.88a Hypertext links for LaTeX
Weiß jemand, was ich anstellen muss, damit die Nummerierung zuverlässig funktioniert? (Ich verwende Latex ua. genau deswegen, dass ich die Nummerierung / Referenzierung nicht kontrollieren muss. Daher möchte ich mich gerne darauf verlassen können, dass das klappt).

Vielen Dank im voraus!

Grüße, Ulrich

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Benutze den Befehl \numberwithin erst nach dem Laden von hyperref.

losgehts

Beitrag von losgehts »

Hallo Bartman,

vielen Dank, das war die Ursache!

Schönes Wochenende und viele Grüße,
Ulrich

Gast

Beitrag von Gast »

... ah, ich setze noch den Status au "beantwortet"

Gast

Beitrag von Gast »

Man sieht hier schön, dass es nicht nur wichtig ist, das Paket hyperref zuletzt zu laden (es gibt ein, zwei Ausnahmen, die auch dokumentiert sind), sondern dass es auch sinnvoll ist, die restlichen Präambel mit Einstellungen und Definitionen erst nach dem Laden des Pakets auszuführen. Das liegt daran, dass hyperref einige Makros umdefinieren muss, um zu funktionieren. Lädt man Pakete nach hyperref werden diese Änderungen wieder mit den alten Definitionen überschrieben; nutzt man die Makros vor dem Laden von hyperref kommen unter Umständen noch die alten Definitionen zur Anwendung. Die Sache mit der Ladereihenfolge der Pakete ist gut dokumentiert, eine Warnung zum Präambelcode in diesem Zusammenhang sehe ich seltener.

Gast

Off-Topic: \numberwithin vs. \counterwithin

Beitrag von Gast »

Das ganze funktioniert übrigens auch ohne amsmath, wenn man \numberwithin durch \counterwithin ersetzt. Die Anweisung ist bei aktuellen LaTeX Teil des LaTeX-Kerns. Bei älterem LaTeX wie derzeit noch auf Overleaf benötigt man noch das Paket chngcntr:
\documentclass{scrartcl}
\usepackage[T1]{fontenc}     % für Umbruch von Wörtern mit Umlauten 
\usepackage[ngerman]{babel}

%\usepackage{chngcntr}% Muss man derzeit auf Overleaf noch aktivieren.
\usepackage[demo]{graphicx}
\usepackage{hyperref}

\counterwithin{equation}{section}
\counterwithin{figure}{section}

\begin{document}
\section{1D-Einschwingversuch}
Etwas Text.
\begin{figure}
      \includegraphics[width=\textwidth]{bilder/bild1.png}
   \caption{Einschwingvorgang}
   \label{fig:einschwingen_exakt2-zoom}
\end{figure}

\section{Beispiel}
Ein Beiepiel.
\begin{figure}
      \includegraphics[width=\textwidth]{bilder/bild1.png}
   \caption{Zahlenbeispiel}
   \label{fig:zahlenbspl}
\end{figure}
\end{document}
In obiger Form mit auskommentiertem Paket ist das also quasi auch ein Test, ob der LaTeX-Kern veraltet ist. :wink:

Im Gegensatz zu amsmath kennt der LaTeX-Kern bzw. chngcntr auch die gegenteilige Anweisung \counterwithout, sowie eine Sternform \counterwithin*, die keine Auswirkung auf die Darstellung des Zählers hat.

Antworten