PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pdfbookmark, falscher Verweis



mart
21-07-2006, 14:35
Hallo,

ich erzeuge mir mit dem paket "hyperref" bookmarks. Dabei ist mir aufgefallen, dass das Literaturverzeichnis (Lesezeichen) auf ein Kapitel zuvor verweist.

Wie kann ich das "Schönheitsproblem" beheben?

Schon mal besten Dank für die Antworten

Gruß mart

countbela666
21-07-2006, 14:43
Hallo mart,

die automatisch erzeugten Bookmarks sollten eigentlich korrekt funktionieren. Falls du selbst mit \pdfbookmark und \addcontentsline herumspielst, musst du darauf achten, dass du den jeweiligen Linkanker vor dem \addcontensline- oder \pdfbookmark-Aufruf setzt, oder falls ein solcher nicht existiert, mit \phantomsection einen Anker simulierst (s. auch hier (http://www.mrunix.de/forums/showthread.php?t=45438)).

Falls das nicht weiterhilft, gilt wie immer: erstell ein Minimalbeispiel, das den Fehler reproduziert, sonst können wir nur raten.

Grüße,
Marcel

mart
21-07-2006, 14:49
@countbela666

Danke Dir, der Anker wars!

Gruß mart

hanswurschd
19-10-2007, 20:09
Hallo,

ich versuche Lesezeichen zu erzeugen und habe dasselbe Problem wie mart es hatte. Obwohl ich http://www.mrunix.de/forums/showthread.php?t=45438 gelesen und ausprobiert habe, verweisst der Boolmark auf die Seite vorm Inhaltsverzeichnis.
Hier mal meine Stelle an der ich den Bookmark setze:
\clearpage
\phantomsection
\hypertarget{target:inhalt}{}
\pdfbookmark[1]{\contentsname}{target:inhalt}
\tableofcontents

Wenn ich \tableofcontents bei diesem kleinen Block am Anfang setze, dann verweist der Bookmark auf die 2. Seite des Inhaltsverzeichisses

Wo ist bei mir der Fehler?

rais
20-10-2007, 18:09
Moin moin,


Wenn ich \tableofcontents bei diesem kleinen Block am Anfang setze, dann verweist der Bookmark auf die 2. Seite des Inhaltsverzeichisses

das zumindest klingt einleuchtend, da Dein Anker dann am Ende des TOCs steht. Hast Du vielleicht doppelte Seiten (selbst wenn's mal römisch, mal arabisch ist)?
So funzt es jedenfalls bei mir:


\documentclass[ngerman]{scrreprt}
\usepackage{babel,blindtext,ifthen}
\usepackage{hyperref}
\newcounter{dummyc}
\newcommand\foodoc[1][1]{%<--nur zur Demo
\setcounter{dummyc}{0}
\whiledo{\thedummyc<#1}{%
\stepcounter{dummyc}
\chapter{Foo \thedummyc}
\blindtext[3]
}
}
\begin{document}
\clearpage
\phantomsection
\hypertarget{target:inhalt}{}
\pdfbookmark[1]{\contentsname}{target:inhalt}
\tableofcontents
\foodoc[99]
\end{document}

MfG,

hanswurschd
20-10-2007, 22:31
Hallo,

ich habe eine einfache Nummerierung von Anfang bis Ende. Ich habe eben rausgefunden, warum der von mir beschriebene Fehler auftritt: Ich benutze die Dokumentenklasse scrbook mit Titelseite. Bei scrbook wird dann ein an die Titelseite (Seite 1) nach einer Leerseite auf Seite 3 gesetzt. Der Bookmark zeigt aber auf die Leerseite. Mit der Dokumentenklasse scrreprt plus Titelseite steht das Inhaltsverzeichnis auf Seite 2 und der Bookmark zeigt auf Seite 2. Hier mein nicht funktionierendes Minimalbeispiel:

\documentclass[ngerman, titlepage]{scrbook}
\usepackage{babel,blindtext,ifthen}
\usepackage{hyperref}
\newcounter{dummyc}
\newcommand\foodoc[1][1]{%<--nur zur Demo
\setcounter{dummyc}{0}
\whiledo{\thedummyc<#1}{%
\stepcounter{dummyc}
\chapter{Foo \thedummyc}
\blindtext[3]
}
}
\begin{titlepage}
Titelseite
\end{titlepage}
\begin{document}
\clearpage
\phantomsection
\hypertarget{target:inhalt}{}
\pdfbookmark[1]{\contentsname}{target:inhalt}
\tableofcontents
\foodoc[99]
\end{document}

Gibts da ne Lösung für oder ist das ein Bug?

Gruss Markus

rais
21-10-2007, 00:41
Moin moin,

Ich benutze die Dokumentenklasse scrbook mit Titelseite. Bei scrbook wird dann ein an die Titelseite (Seite 1) nach einer Leerseite auf Seite 3 gesetzt. Der Bookmark zeigt aber auf die Leerseite.
ah, zweiseitiges Layout -- nimm mal \cleardoublepage statt \clearpage, dann passt das schon.
BTW: Deine titlepage-Umgebung solltest Du erst nach \begin{document} aufrufen, sonst dürfte das in einen ``missing \begin{document}´´-Fehler laufen.
MfG,