Ändern eines Counters führt zu falschen Referenz-Links

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Ändern eines Counters führt zu falschen Referenz-Links

von Nikero » Fr 27. Jun 2014, 14:11

Ich bin heute endlich dazu gekommen, die Lösung auszuprobieren, nachdem mein PC in Reparatur war. Und ich kann nur sagen:
Danke! Es hat perfekt geklappt.

von u_fischer » Mi 18. Jun 2014, 15:28

\documentclass{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

\usepackage{listings}
\lstset{language=Python, captionpos=b}

\newcounter{mygroupcounter}
\makeatletter
\@addtoreset{lstlisting}{mygroupcounter}
\makeatother

\usepackage{hyperref}
\AtBeginDocument{%
 \renewcommand{\thelstlisting}{\arabic{mygroupcounter}.\arabic{lstlisting}}
 \renewcommand{\theHlstlisting}{\arabic{mygroupcounter}.\arabic{lstlisting}}}

\begin{document}
\refstepcounter{mygroupcounter}
\begin{lstlisting}[caption=blabla, label=bsp1]
 print "hello"
\end{lstlisting}

In Listing \ref{bsp1} auf Seite \pageref{bsp1}...

\newpage


\refstepcounter{mygroupcounter}
\begin{lstlisting}[caption=blabla2, label=bsp2]
 print "hello2"
\end{lstlisting}

In Listing \ref{bsp2} auf Seite \pageref{bsp2}...

\end{document}

Ändern eines Counters führt zu falschen Referenz-Links

von Nikero » Mi 18. Jun 2014, 15:09

Hallo.
Ich bin ein relativer Neuling bei LaTex und bin auf ein Problem gestoßen, für das ich mit google bisher keine Lösung gefunden habe.

Mein Problem ist folgendes. Ich teile einige Codeabschnitte in mehrere Untergruppen ein. Innerhalb einer Gruppe findet eine Fortlaufende Nummerierung statt, während ich die erste Zahl manuel ändere (Beispiel: 1.1, 1.2, 2.1, etc).

Am Beginn jeder Untergruppe setze ich den Zähler auf 1 zurück. Dies führt allerdings zu Verlinkungsfehlern mit hyperref. Hier ein Minimalbeispiel dazu:
\documentclass{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

\usepackage{hyperref}

\usepackage{listings}
\lstset{language=Python, captionpos=b}

\begin{document}

\renewcommand{\thelstlisting}{1.\arabic{lstlisting}}
\begin{lstlisting}[caption=blabla, label=bsp1]
print "hello"
\end{lstlisting}

In Listing \ref{bsp1} auf Seite \pageref{bsp1}...

\newpage

\renewcommand{\thelstlisting}{2.\arabic{lstlisting}}
\setcounter{lstlisting}{0}
\begin{lstlisting}[caption=blabla2, label=bsp2]
print "hello2"
\end{lstlisting}

In Listing \ref{bsp2} auf Seite \pageref{bsp2}...

\end{document}
Auf der zweiten Seite werden zwar die Listingnummer und die Seitenzahl richtig angegeben, beim draufklicken springt man aber zum ersten Listing.

Deshalb wollte ich euch fragen, ob ihr eine Möglichkeit kennt, dass Problem zu beheben.
Ich bedanke mich bereits im Vorraus für Antworten.
mfg Nikero

Nach oben