Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

hyperref: PDF-Bookmark führt an "falsche" Stelle

28 views
Skip to first unread message

Tom Wagner

unread,
Nov 4, 2009, 2:03:00 AM11/4/09
to
Hallo,

ich habe das Problem, dass aus irgend einem Grund das Verhalten von
hyperref bei mir nicht konsistent ist: klicke ich in der PDF-Datei auf
ein Bookmark zu einem Kapitel, lande ich knapp unter dem oberen Rand
der entsprechenden Seite, so dass ich die Nummer und den Namen des
Kapitels noch komplett lesen kann.

Beim Literaturverzeichnis jedoch springe ich seltsamerweise mit dem
entsprechenden Link direkt auf den ersten Eintrag des
Literaturverzeichnisses, so dass der Titel "Bibliography" nicht mehr
sichtbar ist. Das gleiche gilt für die mit dem Paket glossary
erzeugten Verzeichnisse - hier springt man bei Anklicken des Bookmarks
direkt auf den ersten Eintrag des Verzeichnisses.

Hat jemand eine Idee, woran das liegen könnte? Falls das wichtig ist:
ich benutze die Klasse scrbook.

Grüße,

Tom.

Heiko Oberdiek

unread,
Nov 4, 2009, 2:36:57 AM11/4/09
to
Tom Wagner <honora...@googlemail.com> wrote:

> ich habe das Problem, dass aus irgend einem Grund das Verhalten von
> hyperref bei mir nicht konsistent ist: klicke ich in der PDF-Datei auf
> ein Bookmark zu einem Kapitel, lande ich knapp unter dem oberen Rand
> der entsprechenden Seite, so dass ich die Nummer und den Namen des
> Kapitels noch komplett lesen kann.
>
> Beim Literaturverzeichnis jedoch springe ich seltsamerweise mit dem
> entsprechenden Link direkt auf den ersten Eintrag des
> Literaturverzeichnisses, so dass der Titel "Bibliography" nicht mehr

> sichtbar ist. Das gleiche gilt f�r die mit dem Paket glossary


> erzeugten Verzeichnisse - hier springt man bei Anklicken des Bookmarks
> direkt auf den ersten Eintrag des Verzeichnisses.

\clearpage % oder \cleardoublepage
\phantomsection
\bibliograpy...

\clearpage % oder \cleardoublepage
\phantomsection
\glossary...

Viele Gr��e
Heiko <ober...@uni-freiburg.de>

Markus Kohm

unread,
Nov 4, 2009, 5:18:00 AM11/4/09
to
Tom Wagner wrote:

> Hat jemand eine Idee, woran das liegen kᅵnnte?

Das liegt an einem inkonsistenten Verhalten von hyperref, das dem Maintainer
einschlieᅵlich Abhilfe schon vor vielen Monaten gemeldet wurde. Da das
Problem trotzdem nicht beseitigt wurde, wurde die Lᅵsung in scrhack.sty
aufgenommen. In folgendem Beispiel sollte das Problem nicht auftreten, bzw.
erst wieder, wenn man scrhack auskommentiert:

\documentclass[bibliography=totoc]{scrbook}
\usepackage{scrhack}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\begin{thebibliography}{}
\bibitem{Test}Nur ein Test
\end{thebibliography}
\end{document}

Gruᅵ
Markus
--
Gruppenhinweise (auch Minimalbeispiel) --> http://www.latex-einfuehrung.de
Fragen zu LaTeX? --> http://www.dante.de/faq/de-tex-faq/
Fragen zu KOMA-Script? --> http://www.komascript.de

Philipp Stephani

unread,
Nov 4, 2009, 2:58:13 PM11/4/09
to
Markus Kohm <marku...@gmx.de> writes:

> Tom Wagner wrote:
>
>> Hat jemand eine Idee, woran das liegen könnte?


>
> Das liegt an einem inkonsistenten Verhalten von hyperref, das dem Maintainer

> einschließlich Abhilfe schon vor vielen Monaten gemeldet wurde. Da das
> Problem trotzdem nicht beseitigt wurde, wurde die Lösung in scrhack.sty
> aufgenommen.

Wenn wir gerade dabei sind: hyperref.hak ist leider inkompatibel mit dem
minitoc-Paket, weil die Änderungen zu spät vorgenommen werden. Das
minitoc-Paket überschreibt die originalen hyperref-Definitionen,
deswegen sollte hyperref.hak meiner Meinung nach nicht am Ende der
Präambel, sondern nach der hyperref-Treiberdatei (z.B. hpdftex.def)
geladen werden.

Kennst du eigentlich eine robuste Möglichkeit, auch gesternte
Überschriften automatisch in die Lesezeichen aufzunehmen? Ich habe mal
einen entsprechenden Code geschrieben, der aber wohl nicht ganz koscher
ist, weil er \@startsection überschreiben muss.

--
Change “LookInSig” to “tcalveu” to answer by mail.

Tom Wagner

unread,
Nov 5, 2009, 1:35:19 AM11/5/09
to
Danke für die Hinweise - eine Frage bleibt noch:

On 4 Nov., 11:18, Markus Kohm <markus.k...@gmx.de> wrote:

> aufgenommen. In folgendem Beispiel sollte das Problem nicht auftreten, bzw.
> erst wieder, wenn man scrhack auskommentiert:

Ich nutze eine Standard-Installation von SuSE 11.1, die bringt
folgende Version von KOMA-Script mit, in der scrhack scheinbar noch
nicht enthalten ist:

2006/07/30 v2.95b

Besteht die Möglichkeit, lokal für ein einzelnes Projekt dieses Paket
zu nutzen, ohne Änderungen am Gesamtsystem vornehmen zu müssen?

Grüße,

Tom.

Christoph Bier

unread,
Nov 5, 2009, 9:19:32 AM11/5/09
to
Tom Wagner schrieb am 05.11.2009 07:35:

> Danke f�r die Hinweise - eine Frage bleibt noch:


>
> On 4 Nov., 11:18, Markus Kohm <markus.k...@gmx.de> wrote:
>
>> aufgenommen. In folgendem Beispiel sollte das Problem nicht auftreten, bzw.
>> erst wieder, wenn man scrhack auskommentiert:
>
> Ich nutze eine Standard-Installation von SuSE 11.1, die bringt
> folgende Version von KOMA-Script mit, in der scrhack scheinbar noch
> nicht enthalten ist:
>
> 2006/07/30 v2.95b

Wow, das ist wirklich alt.

> Besteht die M�glichkeit, lokal f�r ein einzelnes Projekt dieses Paket
> zu nutzen, ohne �nderungen am Gesamtsystem vornehmen zu m�ssen?

Wenn Du nicht auf ein selbst installiertes TeXLive umsteigen willst,
solltest Du Dir wenigstens das neueste KOMA-Script in ~/texmf
installieren. Ob scrhack auch mit Deiner KOMA-Script-Version
funktioniert, kannst Du ausprobieren, indem Du scrhack in dem
Verzeichnis ablegst, in dem Deine Hauptdatei liegt (und es dann
nat�rlich �ber \usepackage l�dst).

Gr��e
Christoph
--
(La)TeX-FAQ: http://www.dante.de/faq/ +++ Minimalbeispiel erstellen
und Einf�hrung in de.comp.text.tex: http://www.latex-einfuehrung.de/
+++ Veraltete Befehle, Pakete und andere Fehler:
ftp://ftp.dante.de/tex-archive/info/l2tabu/german/l2tabu.pdf
+++ Typografie-Regeln (1.7): http://zvisionwelt.de/?page_id=56

Markus Kohm

unread,
Nov 5, 2009, 1:28:57 PM11/5/09
to
Philipp Stephani wrote:

> Wenn wir gerade dabei sind: hyperref.hak ist leider inkompatibel mit dem

> minitoc-Paket, weil die ᅵnderungen zu spᅵt vorgenommen werden. Das
> minitoc-Paket ᅵberschreibt die originalen hyperref-Definitionen,

ᅵhm, scrhack prᅵft, ob die Definition der Erwartung entspricht und nimmt
ᅵnderungen nur vor, wenn dem so ist. Eigentlich sollte das minitoc-Paket
also eigentlich nicht dadurch gestᅵrt werden. Es kann allenfalls sein, dass
der Hack nicht aktiv wird. Das sollte dann gemeldet werden. Ich sehe mir
das aber gerne einmal an, wenn Du mir per Mail ein Beispiel schickst.

Markus Kohm

unread,
Nov 5, 2009, 1:31:18 PM11/5/09
to
Philipp Stephani wrote:

> deswegen sollte hyperref.hak meiner Meinung nach nicht am Ende der

> Prᅵambel, sondern nach der hyperref-Treiberdatei (z.B. hpdftex.def)
> geladen werden.

Da die Inkonsistenz in diversen hyperref-Treiberdateien enthalten ist, war
mir das einfach zu viel Arbeit. Du kannst ja mal Heiko fragen, ob er das
Problem nicht endlich direkt in den Treiberdateien beseitigen kann.

> Kennst du eigentlich eine robuste Mᅵglichkeit, auch gesternte
> ᅵberschriften automatisch in die Lesezeichen aufzunehmen?

Eintrag ins Inhaltsverzeichnis.

Philipp Stephani

unread,
Nov 5, 2009, 5:06:25 PM11/5/09
to
Markus Kohm <marku...@gmx.de> writes:

> Philipp Stephani wrote:
>
>> Wenn wir gerade dabei sind: hyperref.hak ist leider inkompatibel mit dem

>> minitoc-Paket, weil die Änderungen zu spät vorgenommen werden. Das
>> minitoc-Paket überschreibt die originalen hyperref-Definitionen,
>

> Ähm, scrhack prüft, ob die Definition der Erwartung entspricht und nimmt
> Änderungen nur vor, wenn dem so ist. Eigentlich sollte das minitoc-Paket
> also eigentlich nicht dadurch gestört werden. Es kann allenfalls sein, dass


> der Hack nicht aktiv wird. Das sollte dann gemeldet werden. Ich sehe mir
> das aber gerne einmal an, wenn Du mir per Mail ein Beispiel schickst.

Das Problem tritt immer auf, wenn alle drei Pakete geladen werden, also
z.B. hier:

\documentclass{scrartcl}
\usepackage{scrhack}
\usepackage{hyperref}
\usepackage{minitoc}
\begin{document}
\null
\end{document}

minitoc definiert fast alles um, selbst \tableofcontents, \newread...
\@spart wird beispielsweise als \mtc@svspart gespeichert (ohne
Überprüfung). Es würde also funktionieren, \@spart und die anderen
Makros vor dem Laden von minitoc zu überschreiben, ansonsten müsstest du
auf das Vorhandensein von minitoc prüfen und dann \mtc@svspart statt
\@spart usw. überschreiben.

Philipp Stephani

unread,
Nov 5, 2009, 5:09:24 PM11/5/09
to
Markus Kohm <marku...@gmx.de> writes:

> Philipp Stephani wrote:
>
>> deswegen sollte hyperref.hak meiner Meinung nach nicht am Ende der

>> Präambel, sondern nach der hyperref-Treiberdatei (z.B. hpdftex.def)


>> geladen werden.
>
> Da die Inkonsistenz in diversen hyperref-Treiberdateien enthalten ist, war
> mir das einfach zu viel Arbeit. Du kannst ja mal Heiko fragen, ob er das
> Problem nicht endlich direkt in den Treiberdateien beseitigen kann.

Ich glaube, er kennt das Problem bereits, es ist ja nicht das erste Mal,
wo es auftritt.

>
>> Kennst du eigentlich eine robuste Möglichkeit, auch gesternte
>> Überschriften automatisch in die Lesezeichen aufzunehmen?
>
> Eintrag ins Inhaltsverzeichnis.

Das geht natürlich, ist aber meiner Meinung nach nicht sinnvoll. Ich
muss dir ja nicht erzählen, dass bestimmte Kapitel wie das
Abbildungsverzeichnis an festgelegten Stellen erwartet werden und
deshalb nicht im Inhaltsverzeichnis auftauchen müssen ;-)
In den PDF-Lesezeichen wären sie dagegen sinnvoll zwecks Navigation (die
Lesezeichen dienen einem anderen Zweck als das Inhaltsverzeichnis und
deshalb sollte man meiner Meinung nach nicht verlangen, dass die Inhalte
identisch sein sollen).

Tom Wagner

unread,
Nov 6, 2009, 1:18:44 AM11/6/09
to
Hallo Christoph.

On 5 Nov., 15:19, Christoph Bier <christoph.b...@web.de> wrote:

> Wenn Du nicht auf ein selbst installiertes TeXLive umsteigen willst,
> solltest Du Dir wenigstens das neueste KOMA-Script in ~/texmf
> installieren.

Danke, ich wußte nicht, dass das so einfach ist (ich dachte, es geht
nicht ohne root-Rechte, weil systemweite Änderungen vorgenommen werden
müssen).

Tom.

Axel Berger

unread,
Nov 6, 2009, 4:36:00 AM11/6/09
to
*Philipp Stephani* wrote on Thu, 09-11-05 23:09:
>In den PDF-Lesezeichen w?�ren sie dagegen sinnvoll

Bei mir sieht das dann so aus:

\label{titel}\pdfbookmark[1]{Umschlagbild}{titel}

Markus Kohm

unread,
Nov 6, 2009, 12:19:51 PM11/6/09
to
Philipp Stephani wrote:

> \documentclass{scrartcl}
> \usepackage{scrhack}
> \usepackage{hyperref}
> \usepackage{minitoc}
> \begin{document}
> \null
> \end{document}

ᅵberleg Dir mal, was ich damit testen kann auᅵer der Tatsache, dass der
hyperref-Hack derzeit korrekter Weise nicht geladen wird. Wenn ich das
ᅵberhaupt anfassen soll, brauche ich schon einen vernᅵnftigen Testfall -
und den mᅵglichst per Mail, damit ich ihn nicht versehentlich ᅵbersehe und
ihn auch gleich halbwegs dauerhaft gespeichert habe.

Markus Kohm

unread,
Nov 9, 2009, 4:35:18 AM11/9/09
to
Markus Kohm wrote:

> Ich sehe mir das aber gerne einmal an, wenn Du mir per Mail ein Beispiel
> schickst.

Obwohl mir noch immer ein brauchbares Beispiel fehlt, habe ich mal eine
kleine ᅵnderung an scrhack vorgenommen, die dazu fᅵhrt, dass hyperref.hak
frᅵher geladen wird. Eine spezielle Behandlung fᅵr minitoc gibt es dabei
nicht. Primᅵres Ziel war, dass es keine Rolle mehr spielt, ob scrhack vor
oder nach hyperref geladen wird. Mᅵglicherweise hilft das auch bei dem von
Philipp erwᅵhnten Problem.

Eine Release mit der geᅵnderten Version gibt es derzeit nicht. Die Quellen
sind aber im SVN auf BerliOS zu finden.

0 new messages