Problema con hyperref : link impazziti

  • Creatore
    Topic
  • #6576
    Up
    0
    Down
    ::


    Salve a tutti. Innanzitutto complimenti per la gestione del sito e del forum che mi ha tirato spessissimo fuori dai guai. 🙂 🙂
    Sto scrivendo la tesi con LaTeX. Il problema che ho è relativo al package hyperref. Sul forum ho trovato diversi topic relativi a problemi su questo pacchetto, ma non mi sono stati d’aiuto, come non mi è stato d’aiuto il manuale del pacchetto(ovvero questo ), nè questo. La compilazione del documento và a termine, ma ottengo il seguente avvertimento:

    Package hyperref Warning : No destination for bookmark of \addcontentsline
    (hyperref) destination is added on input line 2.

    Risultato di questo avvertimento (o magari invece non centra niente) è che la maggiorparte degli hyperlink riguardanti capitoli/paragrafi ed equazioni sono sballati, mentre i link delle figure sono tutti corretti. Non so se mi spiego…ad esempio se sull’indice o da qualsiasi altra parte nel testo clicco sul riferimento al capitolo 2 mi và su capitolo 1.In pratica hyperref capisce che mi riferisco al tale capitolo o alla tale equazione, ma poi mi manda da una parte che non centra nulla(a volte la pagina prima altre volte addirittura una figura o proprio a caso). Vi posto il codice del file sorgente:
    `
    \ifx\pdfoutput\undefined % We are not running pdftex
    \documentclass[12pt,a4paper,italian,twoside,openright]{book}
    \usepackage[dvips]{graphicx}
    \usepackage[T1]{fontenc}
    \else
    \documentclass[pdftex,12pt,a4paper,italian,twoside,openright]{book}
    \usepackage[pdftex]{graphicx}
    \DeclareGraphicsExtensions{.pdf,.png,.jpg,.mps}
    \usepackage[pdftex,pdftitle={Olografia Digitale},pdfauthor={Daniele Venturi},pdfpagemode=FullScreen,plainpages=false,pdfpagelabels,urlcolor=blue,linkcolor=red,
    citecolor=green,bookmarks=false]{hyperref}
    \fi

    %Carichiamo un po' di pacchetti.
    \usepackage{babel}
    \usepackage[latin1]{inputenc}
    % Pacchetti matematici
    \usepackage{amssymb,amsmath,latexsym,amsthm,mathrsfs,eucal}

    % per l'indentazione all'inizio dei capitoli
    \usepackage{indentfirst}

    % interlinea
    \linespread{1.3}
    % per inserire figure eps
    \usepackage{epsfig}
    % to use colored text
    \usepackage{color}
    % per i riferimenti incrociati dinamici
    \usepackage{varioref}
    % per inserire file di condice Matlab
    \usepackage{listings}
    % per le estensioni delle tabelle
    %\usepackage{array}
    % per l'ambiente comment
    \usepackage{verbatim}
    % per inserire tabelle ruotate su una pagina
    \usepackage{rotating}

    % per avere un mini-indice all'inizio di ogni capitolo
    \usepackage{minitoc}
    …. %Impostazioni del pacchetto

    …. %Definisco alcuni nuovi comandi.

    % per personalizzare lo stile dei titoli
    \usepackage[Lenny]{fncychap}
    …. %Impostazioni del pacchetto

    % per il frontespizio esterno
    \usepackage{eso-pic}
    \newcommand\BackgroundPicture{
    \put(0,0){
    \parbox[\paperheight]{\paperwidth}{
    \vfill
    \centering
    \includegraphics[width=22cm]{./immagini/Logo_esterno}
    \vfill
    }}}

    % Impostiamo un buon layout.
    \usepackage[binding=1.5cm]{layaureo}
    \usepackage{fancyhdr}
    \setlength{\headheight}{27.2pt}
    … %Impostazioni del pacchetto

    % Fine preambolo

    % Inizia il documento
    \begin{document}

    % Il frontespizio.
    \input{../00_Frontespizio/Frontespizio.tex}

    \frontmatter

    \dominitoc
    \dominilof
    \dominilot

    \input{../01_Prefazione/Prefazione.tex}

    \tableofcontents
    \listoffigures
    \listoftables

    \clearpage{\pagestyle{empty}\cleardoublepage}

    %Ed ora il corpo della tesi.

    \mainmatter

    \input{../02_Intro/Intro.tex}
    \input{../03_Cap_2/Cap2.tex}
    \input{../04_Cap_3/Cap3.tex}
    \input{../05_Cap_4/Cap4.tex}

    % Bibliografia
    \addcontentsline{toc}{chapter}{Bibliografia}
    \nocite{*}
    \bibliographystyle{unsrt}
    \bibliography{../Bibliografia/bibl}

    \end{document}
    `
    Ho cercato di mettere solo le parti essenziali del codice (spero di esserci riuscito:)); cmq ho riportato tutti i pacchetti(magari qualcuno interferisce).
    Generalmente un capitolo lo imposto così:
    `
    \clearpage{\pagestyle{empty}\cleardoublepage} %se necessario
    \chapter{Capitolo}
    \label{cap:etichetta}
    \minitoc
    …bla bla bla…
    `
    Un’equazione invece la etichetto così:
    `
    \begin{equation}
    \label{eqn:etichetta}
    … %equazione
    \end{equation}
    `
    Uso MikTex 2.4 su WinXP Professional; come editor uso TeXnicCenter e compilo con LaTeX->pdf e BibTeX per la bibliografia.
    Notate qualcosa di sbagliato?
    Ovviamente vorrei riuscire a risolvere il problema con LaTeX (senza usare altri programmi tipo Acrobat Professional :))

    Grazie infinite in anticipo per il vostro aiuto!!!!!! 🙂 🙂

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #6577
      admin
      Amministratore del forum
        Up
        0
        Down
        ::


        Non sono sicuro di aver capito correttamente il tuo problema; io comunque ne ho avuto uno simile e l’ho risolto aggiungendo l’opzione hypertexnames=false al pacchetto hyperref, ovvero

        \usepackage[pdftex,bookmarks,colorlinks,linkcolor=red,hypertexnames=false]{hyperref}

        Spero ti possa essere d’aiuto, buona domenica

      • #6578
        Up
        0
        Down
        ::


        Ciao Franz83 e grazie infinite per la risposta. 🙂

        Non sono sicuro di aver capito correttamente il tuo problema;

        Cerco di spiegarlo meglio. Supponiamo che io stia scrivendo il secondo capitolo della mia tesi. Bene allora io lo imposto così:
        `
        \chapter{Capitolo}
        \label{cap:etichetta}
        \minitoc
        …bla bla bla…
        `
        Se mentre scrivo lo cito così:
        `
        …bla bla bla…capitolo \ref{cap:etichetta}
        `
        quello che ottengo è correttamente:
        … bla bla bla…capitolo 2.
        Il problema è che il link è sballato, ovvero se ci clicco sopra non sono linkato al capitolo 2, ma al capitolo 1 nel caso specifico. Questo accade ogni volta che cito tale capitolo e anche nell’indice:vengo linkato sempre dalla stessa parte; peccato che sia quella sbagliata 😥
        Ciò si ripete per altri capitoli o paragrafi o alcune equazioni. L’unico warning che ottengo è quello che ho scritto nel messaggio precedente.
        Spero di essermi spiegato un po’ più chiaramente… 😀

        io comunque ne ho avuto uno simile e l’ho risolto aggiungendo l’opzione hypertexnames=false al pacchetto hyperref

        Ho provato ma decisamente non funziona!!Ottengo esattamente lo stesso avvertimento di prima ed il risultato non cambia. Tra l’altro non ho neanche capito cosa dovrebbe fare l’opzione inserita. L’ho trovata sul manuale, ma non ho capito cosa si intenda per “guessable names”. Sai a cosa serve invece l’opzione naturalnames?
        Tu che problema avevi avuto di preciso? Magari mi aiuta a risolvere il mio. 😉
        Comunque ancora grazie infinite per l’aiuto 🙂
        Buona domenica anche a te

      • #6579
        Up
        0
        Down
        ::


        Hai provato a spostare \label all’interno di \chapter?`\chapter{Bellissimo capitolo della mia opera\label{cap:bello}}`

        Ciao.

      • #6580
        Up
        0
        Down
        ::


        Sembrava un ottimo suggerimento…anche se non avrei capito perchè alcuni link funzionavano ed altri no…
        Per un attimo ci ho sperato…ma niente ancora non funziona!! 😉
        La cosa che mi mette in crisi è che non riesco ad interpretare il messaggio di avvertimento che LaTeX mi fornisce e quindi non so proprio dove mettere le mani…Tu sai quello che LaTeX vuole dirmi?
        Se gli chiedo di mandarmi alla riga di codice che genera l’avvertimento ottengo questo:
        `
        \clearpage{\pagestyle{empty}\cleardoublepage}
        ->\chapter{Introduzione\label{cap:intro}}
        \minitoc

        \section{Obiettivi}
        …bla bla bla…
        `
        La riga che mi viene indicata l’ho segnata con una freccia..Corrisponde all’inizio del file relativo al capitolo1.
        Come vedi ho provato a mettere anche l’etichetta di questo capitolo nella forma da te suggerita, ma l’avvertimento resta sempre lo stesso..La cosa strana è che i link a questo capitolo funzionano perfettamente, sono gli altri ad essere sballati.
        Non so se la cosa possa essere collegata, ma ho un altro problema con hyperref che riguarda i bookmarks. Comunque per tagliare la testa al toro li ho eliminati. Pensi che le due cose possano essere collegate?Non descrivo il problema x non fare 2 domande nello stesso topic…eventualmente ne apro uno a parte.
        Pensavo che il problema potesse essere un’incompatibilità con minitoc, anche se avevo letto il manuale ed in particolare la pagina 39 seguendo attentamente le istruzioni per far cooperare i 2 pacchetti. Comunque ho provato anche ad escludere minitoc, ma il problema persiste. 🙄
        Non so proprio che pesci prendere…
        Grazie mille anche a te per la risposta… 😀

      • #6581
        admin
        Amministratore del forum
          Up
          0
          Down
          ::


          Dunque, a me dava problemi nei link agli elementi che periodicamente vengono rinumerati, per esempio i piè di pagina che ripartono da 1 ad ogni capitolo; con l’opzione che ti dicevo questo problema viene meno. Non è che per caso il tuo problema deriva dal pacchetto minitoc? non vorrei che dovendo gestire più indici all’interno dello stesso documento non ci capisca più niente nenche il buon latex.

        • #6582
          Up
          0
          Down
          ::

          Non è che per caso il tuo problema deriva dal pacchetto minitoc? non vorrei che dovendo gestire più indici all’interno dello stesso documento non ci capisca più niente nenche il buon latex.

          Come ho detto già nel mio precedente messaggio ci avevo pensato anche io..i due pacchetti possono lavorare insieme con qualche accortezza..Comunque ho anche provato ad escludere minitoc ed il problema resta lo stesso..
          Grazie comunque per l’aiuto 😀

        • #6583
          Up
          0
          Down
          ::


          Era proprio diventata una questione personale… 😉
          Problema risolto, ma un mistero resta…Alla fine il problema era di interferenza tra pacchetti. Il pacchetto che dava problemi era varioref!!! 😯
          Questa non l’avevo proprio mai sentita..cmq escludendolo i collegamenti sono perfetti e anche i bookmark vengono creati da hyperref senza nessun problema (come avevo accennato li avevo dovuti escludere perchè erano tutti sballati, anche come posizione…).
          Dico ma voi avevate mai sentito che varioref dà problemi del genere?!
          In realtà il problema non è esattamente varioref..Lo stesso identico file compilato su linux con kile non dà nessun problema, funziona perfettamente anche usando varioref..Ovviamente vale il viceversa, cioè un file perfettamente funzionante su linux-kile, che usa o solo carica varioref, compilato dal mio pc dove ho installato MiKTeX(ultima versione), dà gli stessi problemi che avevo io: link e bookmark completamente sballati.
          Allora che dipenda da MiKTeX?O mi è sfuggito qualcos’altro?
          Certo che non si finisce mai d’imparare eh!? 😀
          Grazie mille per la vostra disponibilità ed il vostro aiuto e non mi riferisco solo a questo problema ma a tanti altri che ho risolto grazie al forum…
          Buon LaTeX 😆

        • #6584
          Up
          0
          Down
          ::


          Io uso regolarmente varioref sotto Windows + MiKTeX e non ho mai riscontrato problemi di questo tipo.

      Visualizzazione 7 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top