Anzeige:
Ergebnis 1 bis 10 von 10

Thema: \pdfbookmark verlinkt falsch

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.03.2005
    Beiträge
    68

    Thumbs up \pdfbookmark verlinkt falsch

    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

  2. #2
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Zitat Zitat von stephcar
    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

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #3
    Registrierter Benutzer
    Registriert seit
    02.03.2005
    Beiträge
    68
    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}

  4. #4
    Registrierter Benutzer
    Registriert seit
    02.03.2005
    Beiträge
    68
    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

  5. #5
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.863
    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,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  6. #6
    Registrierter Benutzer
    Registriert seit
    02.03.2005
    Beiträge
    68
    Moin Rainer,

    leider funktioniert es so auch nicht. Der pdf-Link "Abstract" verweist immer ncoh auf "Titel".

    Gruß Stephan

  7. #7
    Registrierter Benutzer
    Registriert seit
    02.03.2005
    Beiträge
    68

    Nachtrag:

    Ich habe den Fehler in den Warnungen gefunden. Bei
    Code:
      \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
    MikTeX | TeXnicCenter
    TeX Live | gedit mit LaTeX-Erweiterung

  8. #8
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.863
    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,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  9. #9
    Registrierter Benutzer
    Registriert seit
    02.03.2005
    Beiträge
    68
    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
    V

    l.5 \pdfbookmark[1]{Abstract}{}
    ) [2] (LaTeX1.toc)
    \tf@toc=\write4
    [3] [4] (LaTeX1.aux) )
    (\end occurred inside a group at level 1)

    ...
    MikTeX | TeXnicCenter
    TeX Live | gedit mit LaTeX-Erweiterung

  10. #10
    Registrierter Benutzer
    Registriert seit
    02.03.2005
    Beiträge
    68

    gelöst!!!

    So, die Lösung ist eigentlich recht einfach:
    Die Zeile muss so heisen:
    Code:
    \pdfbookmark[1]{Abstract}{abstract}
    Gruß Stephan
    MikTeX | TeXnicCenter
    TeX Live | gedit mit LaTeX-Erweiterung

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •