Hyperref verlinkt teilweise auf falsche Kapitel

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: Hyperref verlinkt teilweise auf falsche Kapitel

Re: Hyperref verlinkt teilweise auf falsche Kapitel

von Nicolas.jfB » Mo 6. Feb 2023, 17:15

u_fischer hat geschrieben:
Sa 4. Feb 2023, 11:44

Du musst nicht abstellen. Eine einfach Methode ist
\usepackage[hidelinks,hypertexnames=false]{hyperref} 
Dann werden die Anker einfach durchnummeriert.
Ich habe diesen Befehl eben ausprobiert, und siehe da: Es hat schon ausgereicht.

Vielen Dank für Eure Hilfe, die Lösung ist meistens simpler als erwartet!

Re: Hyperref verlinkt teilweise auf falsche Kapitel

von ich meine ja nur » Sa 4. Feb 2023, 13:50

u_fischer hat geschrieben:
Sa 4. Feb 2023, 11:44
Ich würde den Hinweis auf den Code von hyperref nicht zu ernst nehmen. Ich maintaine das Ding: das sind (mit den Treibern) an die 10000 Zeilen Code (und über 25000 Quellcode) und kein normaler Nutzer sollte sich damit rumschlagen müssen.
Genau, um zu finden, wie hyperref \theHchapter innerhalb von \appendix umdefiniert, muss man sich die ganzen 25000 Zeilen Quellcode einschließlich dem der Treiber anschauen. Es genügt auf keinen Fall, einfach einmal nach theHchapter oder appendix zu suchen. Wobei das ja in der Tat nur ein ergänzender Hinweis dazu war, dass man ggf. \theHchapter zusätzlich umdefinieren muss, wenn man \thechapter umdefiniert und chapter zurücksetzt, weil sonst eben \theHchapter mehrfach das gleiche Ergebnis liefert. Im einfachsten Fall genügt vermutlich ein:
 \newcommand{\chapternumbering}[1]{%
  \setcounter{chapter}{0}%
  \renewcommand{\thechapter}{\csname #1\endcsname{chapter}}%
  \renewcommand{\theHchapter}{\csname #1\endcsname{chapter}}% ergänzt
}
Der Hinweis auf die Änderung bei appendix habe ich eigentlich nur eingefügt, weil hyperref für Nummerierung mit Großbuchstaben in \theHchapter eben nicht \Alph verwendet. Ich nehme mal an, dass das mit Sprachen wie Griechisch zusammenhängt und im konkreten Fall eher keine Rolle spielt.

Wenn es keine Rolle spielt, dass es mit hypertexnames=false schwerer wird, die Ankernamen zu erraten, wenn man beispielsweise von außen auf ein Kapitel verlinken will, dann ist es natürlich egal.

Re: Hyperref verlinkt teilweise auf falsche Kapitel

von u_fischer » Sa 4. Feb 2023, 11:44

Nicolas.jfB hat geschrieben:
Sa 4. Feb 2023, 08:04
Danke dir schonmal für deine Antwort, dort werde ich auf jeden Fall mal reinschauen.
Ich würde den Hinweis auf den Code von hyperref nicht zu ernst nehmen. Ich maintaine das Ding: das sind (mit den Treibern) an die 10000 Zeilen Code (und über 25000 Quellcode) und kein normaler Nutzer sollte sich damit rumschlagen müssen.
Gibt es denn einen einfach Trick, die Verlinkungen für einzelne Kapitel abzustellen?
Du musst nicht abstellen. Eine einfach Methode ist
\usepackage[hidelinks,hypertexnames=false]{hyperref} 
Dann werden die Anker einfach durchnummeriert.

Re: Hyperref verlinkt teilweise auf falsche Kapitel

von Nicolas.jfB » Sa 4. Feb 2023, 08:04

Danke dir schonmal für deine Antwort, dort werde ich auf jeden Fall mal reinschauen.
Gibt es denn einen einfach Trick, die Verlinkungen für einzelne Kapitel abzustellen? Zur Not denke ich dass es besser ist, wenn gar nicht auf diese Kapitel verlinkt wird, bevor falsch verlinkt wird.

Re: Hyperref verlinkt teilweise auf falsche Kapitel

von ich meine ja nur » Fr 3. Feb 2023, 10:40

Ich kann zwar keine Links sehen, aber es sei darauf hingewiesen, dass hyperref für die Link-Anker nicht \thechapter etc. sondern \theHchapter etc. verwendet. Also musst du ggf. diese zusätzlich umdefinieren, damit sie eindeutig werden. hyperref macht das beispielsweise für \appendix ebenfalls. Einfach einmal in den Code hyperref.sty schauen.

Hyperref verlinkt teilweise auf falsche Kapitel

von Nicolas.jfB » Fr 3. Feb 2023, 09:45

Ich arbeite gerade an meiner Masterthesis, welche vor und auch nach dem Inhalt diverse Verzeichnisse enthält, welche ich römisch nummeriert habe (sowohl Kapitelnummer als auch Seitenzahl). Dabei war mir wichtig, dass das Literaturverzeichnis und der Anhang am Ende der Thesis die römischen Nummerierungen aus der Einleitung fortführt, was ich durch die Befehle \pagenumbering, \setcounter etc. umgesetzt habe, (s. Beispiel).
Zur Vereinfachung der Kapitelzugänglichkeit habe ich des Weiteren hyperref verwendet. Wenn ich nun jedoch im Inhaltsverzeichnis auf die einzelnen Kapitel klicke, lande ich bei manchen an einer falschen Stelle. Folgendes Muster ergibt sich:

I. Abbildungsverzeichnis + II. Tabellenverzeichnis + III. Abkürzungsverzeichnis: Verlinkung passt

1. Einführung --> I. Abbildungsverzeichnis: falsch

2. Hauptteil 1 --> II. Tabellenverzeichnis: falsch

3. Hauptteil 2 --> III. Abkürzungsverzeichnis: falsch

4. Schlussbetrachtung --> Verlinkung passt wieder

IV. Literaturverzeichnis --> 4. Schlussbetrachtung: falsch

Anhang passt wieder.

Ich gehe davon aus, dass dies mit meiner wechselnden Kapitelnummerierung und den gesetzten Countern zu tun hat. Leider konnte ich bisher nicht herausfinden, wie ich das Problem umgehen und gleichzeitig meine Kapitelnummerierung so beibehalten kann. Eventuell kann mir hier jemand weiterhelfen? Dafür wäre ich Euch sehr dankbar!

Viele Grüße Nicolas

Die bib.Datei habe ich angehängt, damit das Literaturverzeichnis erzeugt werden kann.

\documentclass[12pt,listof=totocnumbered,bibliography=totocnumbered,chapterprefix,parskip=full]{scrreprt}
\usepackage[a4paper,left=30mm,right=25mm,top=20mm,bottom=20mm,includeheadfoot]{geometry}

\usepackage[utf8]{inputenc}

\usepackage[ngerman]{babel}

% Kopf- und Fußzeilen:

\usepackage[automark,						
		headsepline,				
		footsepline,				
		plainfootsepline]{scrlayer-scrpage}
\pagestyle{scrheadings}
\clearpairofpagestyles

\ihead{\headmark} %Kopfzeile innen
\ofoot[\pagemark]{\pagemark} %Fußzeile außen

% sonstiges:

\usepackage{microtype} 

\usepackage{blindtext} 

\usepackage[printonlyused]{acronym} 

\usepackage[backend=biber]{biblatex}
\addbibresource{Literatur.bib} 
\urlstyle{same}
\setcounter{biburlnumpenalty}{9000}

\usepackage[hidelinks]{hyperref} 

%-------------------------------------
% Verzeichnisse römisch nummerieren und Anzeige im Inhaltsverzeichnis:
\newcommand{\chapternumbering}[1]{%
  \setcounter{chapter}{0}%
   \renewcommand{\thechapter}{\csname #1\endcsname{chapter}}}
   
%-----------------------------------------------------------------------------------------------------------------

\begin{document}

%-------------------------------------
\pagenumbering{Roman} %stellt Seitenzählung auf römisch um
%-------------------------------------
\chapternumbering{Roman} %stellt Kapitelnummerierung auf römisch um
%-------------------------------------

\chapter*{Kurzreferat}

\blindtext

\blindtext

\chapter*{Versicherung an Eides Statt}

\blindtext[2]

\chapter*{Vorwort}

\blindtext[2]

\tableofcontents

\listoffigures

\listoftables

\chapter{Abkürzungsverzeichnis}	
	
%-------------------------------------
\newcounter{Seiten} %neuen Zähler für Seitenzahlen erstellen
\setcounter{Seiten}{\value{page}} %aktuelle Seitenzahl speichern
%-------------------------------------
\newcounter{Kapitel} %neuen Zähler für Kapitel erstellen
\setcounter{Kapitel}{\value{chapter}} %aktuelle Kapitelnummer speichern
%-------------------------------------

\clearpage

%----------------------------------------------------------------------------------------------------------
\pagenumbering{arabic} %Seitennummerierung auf arabisch umstellen und bei 1 beginnen
%-------------------------------------
\chapternumbering{arabic} %Kapitelnummerierung auf arabisch umstellen
%-------------------------------------

\chapter{Einführung}
\blindtext
\section{Abschnitt 1}
\blindtext[5]
\section{Abschnitt 2}
\blindtext[5]

\chapter{Hauptteil 1}
\label{chptr_ht1}
\section{Abschnitt 1}
\blindtext[3]
Es folgen einige Quellen, bspw. \cite{Campanile.2005}, oder \cite{Hering_Sensoren_in_WuT.2018}. Wichtig ist auch \cite{Teuffel.2004}.
\section{Abschnitt 2}
\blindtext[3]

\chapter{Hauptteil 2}
\label{chptr_ht2}
\blindtext
\section{Abschnitt 1}
\blindtext[5]
\section{Abschnitt 2}
\blindtext[5]
	
\chapter{Schlussbetrachtung}
\label{chptr_schluss}
\blindtext[5]
	
\clearpage
	
%----------------------------------------------------------------------------------------------------------
\pagenumbering{Roman} %Seitenzählung auf römisch umstellen
\setcounter{page}{\value{Seiten}} %Seitenzahl auf vorhergehenden Wert stellen
\addtocounter{page}{1} %Seitenzahl um 1 erhöhen
%-------------------------------------
\chapternumbering{Roman} % analog für Kapitel
\setcounter{chapter}{\value{Kapitel}}
%-------------------------------------

\printbibliography[title = {Literaturverzeichnis}]

%-------------------------------------

\clearpage

\addpart{Anhang}
\appendix

\chapter{Anhang A}
\label{appx1}

\blindtext[5]

\chapter{Anhang B}
\label{appx2}

\blindtext[5]
	
\end{document}

Dateianhänge
Literatur.bib
(8.1 KiB) 76-mal heruntergeladen

Nach oben