Archiv verlassen und diese Seite im Standarddesign anzeigen : \pdfbookmark verlinkt falsch
stephcar
05-04-2006, 17:53
servus,
ich hab ein Problem mit \pdfbookmark bei meiner Diplomarbeit.
Bei \pdfbookmark[1]... wird im pdf auf die falsche Stelle - hier: auf die übergeordnete Seite "Titel" verlinkt (s.u.). Bei \pdfbookmark[2]... stimmt die Verlinkung, aller dings wird der Abstract natürlich als Unterpunkt von "Titel" behandelt:
Titel
|-Abtract
Inhalt
|
...
%abstract.tex
\thispagestyle{empty}
\begin{abstract}
\section*{Zusammenfassung}
\pdfbookmark[1]{Abstract}{}
Blabla blabla blaaaa...
abtract.tex wird dabei wie alle anderen Kapitel auch über \include in das dokument eingelesen.
\begin{document}
\include{mainmatter/titel}
\include{mainmatter/abstract}
\include{mainmatter/toc}
...
Ich hoffe, dass ihr einen Tipp habt und die angegebenen Infos reichen ;)
Gruß Stephan
Ich hoffe, dass ihr einen Tipp habt und die angegebenen Infos reichen ;)
Nicht wirklich - denn meine Glaskugel ist zur Zeit gerade in Reparatur; Wie wärs mit nem Minimalbeispiel?
MfG Bischi
stephcar
06-04-2006, 14:56
Okay :)
Hier also ein Minibeispiel:
die beiden files titel.tex und abtract.tex werden über \include eingebunden. Wie gesagt im pdf-dokument zielt der link in Abstract nicht auf die gewünschte sondern auf die Titelseite.
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[activate=normal]{pdfcprot}
\usepackage{hyperref}
\hypersetup{
pdfauthor={name},
pdftitle={title},
pdfsubject={Diplomarbeit},
pdfproducer={LaTeX with hyperref},
pdfproducer={LaTeX},
pdfview=FitV, % FitH
pdfstartview=FitV,
pdfhighlight=/I,
pdfborder=0 0 0, % keine Box um die Links!
bookmarksopen=true,
bookmarksnumbered=false,
plainpages=false,
}
\begin{document}
\include{titel}
\include{abstract}
\newpage
\tableofcontents
\pdfbookmark[1]{\contentsname}{toc}
\newpage
\section{Kapitel 1}
Kapitel 1
\end{document}
%titel.tex
\thispagestyle{empty} % erzeugt Seite ohne Kopf- / Fusszeile
\begin{titlepage}
\pdfbookmark[1]{Titelseite}{}
\begin{center}
{\Large \bfseries Titelseite\\}
\end{center}
\end{titlepage}
%abstract.tex
\thispagestyle{empty}{
\begin{abstract}
\section*{Zusammenfassung}
bla bla bla
\pdfbookmark[1]{Abstract}{}
\end{abstract}
stephcar
07-04-2006, 10:15
Servus,
leider konnte ich das Problem bislang noch nicht selbst lösen. Ich hoffe, das Minibeispiel oben ist das gewünschte - das Problem stellt es zumindest dar - und ihr könnt mir helfen.
Gruß
Stephan
Moin moin,
hast Du das Problem eigentlich auch noch, wenn Du \input statt \include für titel und abstract verwendest?
Afaik wird bei \include eine eigene aux-Datei generiert, die hinterher in die aux-Datei der Hauptdatei per \(@)input eingebunden wird... wenn \pdfbookmark also irgend etwas in der aux lassen will, dann bliebe dies hier lokal.
MfG,
stephcar
10-04-2006, 12:42
Moin Rainer,
leider funktioniert es so auch nicht. Der pdf-Link "Abstract" verweist immer ncoh auf "Titel".
Gruß Stephan
stephcar
10-04-2006, 12:53
Ich habe den Fehler in den Warnungen gefunden. Bei
\pdfbookmark[1]{Abstract}{}
kommt folgende Warnmeldung.
!pdfTeX warning (ext4): destination with the same identifier (name{.1}) has been already used, duplicate ignored
Leider weiss ich dadurch noch immer nicht, wie das Problem zu beheben ist. In titel.tex wird der Link ja mit dem anderen Titel \pdfbookmark[1]{Titelseite}{} initialisiert.
Gruß Stephan
Moin Stephan,
das hört sich immer noch so an, als ob es an zwei gleichen "Namen" in unterschiedlichen aux-Dateien liegt, die ja hinterher zusammengefügt werden.
Hast Du bei dem Test die (Haupt)-aux-Datei _vor_ dem Kompilieren mit \input's mal gelöscht? Da steht ja sonst immer noch drin, daß Datei sowieso.aux noch dazugehört...
MfG,
stephcar
10-04-2006, 16:14
Danke schonmal für deine geistigen Mühen,
Allerdings: auch das Löschen der aux-files bringt leider nichts.
Hier mal das Ergebnis der log-file:
...
(C:\programme\miktex\texmf\tex\latex\hyperref\name ref.sty
Package: nameref 2003/12/03 v2.21 Cross-referencing by name of section
\c@section@level=\count104
)
LaTeX Info: Redefining \ref on input line 24.
LaTeX Info: Redefining \pageref on input line 24.
(LaTeX1.out) (LaTeX1.out) (titel.tex [1
{psfonts.map}])
(abstract.tex
! pdfTeX warning (ext4): destination with the same identifier (name{.1}) has been already used, duplicate ignored
<recently read> V
l.5 \pdfbookmark[1]{Abstract}{}
) [2] (LaTeX1.toc)
\tf@toc=\write4
[3] [4] (LaTeX1.aux) )
(\end occurred inside a group at level 1)
...
stephcar
10-04-2006, 16:55
So, die Lösung ist eigentlich recht einfach:
Die Zeile muss so heisen:
\pdfbookmark[1]{Abstract}{abstract}
Gruß Stephan
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.