Hyperref – \marginpar

  • Questo topic ha 5 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 13 anni fa da Andrea.
  • Creatore
    Topic
  • #88192
    Up
    0
    Down
    ::


    ciao a tutti,

    vorrei preparare un documento per raccogliere citazioni e aforismi. Ho deciso di utilizzare suftesi con lo stile elements.

    La cosa che mi piacerebbe fare è collegare le diverse citazioni “per analogia” utilizzando \marginpar e attivando un collegamento.
    Ho pensato subito ad hyperref. Guardando la documentazione ho trovato infatti i comandi hypertarget e hyperlink.

    Il problema è che se utilizzo \marginpar all’interno del comando \hyperlink , cioè \hyperlink{a}{\marginpar{Sir. 5:6}}, il link non funziona correttamente: la nota a margine è “inerte” e il collegamento resta dove sarebbe senza \marginpar

    Ecco qui di seguito l’esempio compilabile che riproduce il problema.
    `

    % !TeX encoding = UTF-8
    % !TeX program = pdflatex
    % !TeX spellcheck = it_IT
    \documentclass[ %11pt,
    oneside,
    style=elements,
    crop=false
    ]{suftesi}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage[italian=guillemets]{csquotes}

    % % %REFERENCES
    \usepackage{attrib}
    \def\PreTrib{} \def\PostTrib{}
    \usepackage{verse}
    \usepackage{bibleref}
    \addbiblebook{Siracide}{Siracide}
    \addbiblebook{Purgatorio}{Purgatorio}
    % Custom macros
    \def\V#1 {\(^{#1}\)}
    \def\vattrib#1#2{\attrib{(\bibleverse{#1}#2)}}
    \def\vdattrib#1#2{\attrib{\em \bibleverse{#1}#2}}
    \usepackage{verse}

    % % %NEWCOMMAND
    \newcommand{\omissis}{[\textellipsis\unkern]}

    % % %
    \title[Appunti]{Appunti}
    \author{}
    \date{}
    \usepackage{hyperref}

    \begin{document}
    \maketitle
    \chapter*{Citazioni}

    \section*{Bibbia}
    \hypertarget{a}{\marginpar{Purg. XXIV, 141}}
    \settowidth{\versewidth}{Siano molti quelli che vivono in pace con te}
    \begin{verse}[\versewidth]
    \begin{altverse}
    \V{6}
    Siano molti quelli che vivono in pace con te,\\
    \vin ma tuo consigliere uno su mille.
    \end{altverse}
    \vattrib{Siracide}{5:6}
    \end{verse}
    \clearpage

    \section*{Divina Commedia}
    \settowidth{\versewidth}{quinci si va chi vuol andar per pace}
    \begin{verse}[\versewidth]
    \begin{altverse}
    quinci si va chi vuol andar per pace
    \vdattrib{Purgatorio}{ XXIV, 141}\hyperlink{a}{\marginpar{Sir. 5:6}}
    \end{altverse}
    \end{verse}

    \end{document}

    `

    Il secondo problema è che comunque il link va in una sola direzione. Quello che mi piacerebbe è che il collegamento funzionasse in tutte e due le direzioni.

    Qualcuno sa aiutarmi o darmi un suggerimento?

    Grazie!
    Andrea

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #88193
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Non ho provato, ma secondo me dovresti scambiare \marginpar e \hperlink:`\marginpar{\hyperlink{a}{Sir. 5:6}}`

        Il ritorno al punto di partenza è una funzionalità del visualizzatore di file PDF; ess generalmente contiene due frecce nere una verso a destra e una verso sinistra, per navigare il documento anche dopo vari salti ai vari target; Se nella menu bar non ci sono queste due frecce (per esempio Adobe Reader) allora ci sono die voci in uno dei meno à discesa.

      • #88194
        Up
        0
        Down
        ::


        così funziona! grazie!

        speravo proprio invece che i link “a doppio senso” potessero essere fatti. A differenza di una nota a pié di pagina, dove in effetti l’uso del visualizzatore pdf fa va benissimo per muoversi avanti e indietro nel documento, le citazioni dovrebbero essere accessibili dal loro riferimento a margine ovunque questo sia.

        In modo molto brutale sarebbe sufficiente rifare l’hyperlink e fare in modo che il relativo hypertarget risulti invisibile nel pdf, ma sto andando di fantasia…

        Ecco cosa intendo

        `

        \begin{document}
        \maketitle
        \chapter*{Citazioni}

        \section*{Bibbia}
        \hypertarget{a}{\marginpar{Purg. XXIV, 141}} %dovrebbe diventare invisibile nel pdf…
        \marginpar{\hyperlink{b}{Purg. XXIV, 141}}
        \settowidth{\versewidth}{Siano molti quelli che vivono in pace con te}
        \begin{verse}[\versewidth]
        \begin{altverse}
        \V{6}
        Siano molti quelli che vivono in pace con te,\\
        \vin ma tuo consigliere uno su mille.
        \end{altverse}
        \vattrib{Siracide}{ 5:6}
        \end{verse}
        \clearpage

        \section*{Divina Commedia}
        \settowidth{\versewidth}{quinci si va chi vuol andar per pace}
        \hypertarget{b}{\marginpar{Sir. 5:6}}%dovrebbe diventare invisibile nel pdf…
        \marginpar{\hyperlink{a}{Sir. 5:6}}
        \begin{verse}[\versewidth]
        \begin{altverse}
        quinci si va chi vuol andar per pace
        \vdattrib{Purgatorio}{ XXIV, 141}
        \end{altverse}
        \end{verse}

        \end{document}

        `

        … non esiste?

        ciao
        Andrea

      • #88195
        Up
        0
        Down
        ::


        Mi sono arrangiato così… non è molto elegante ma sembra funzionare…

        `

        % !TeX encoding = UTF-8
        % !TeX program = pdflatex
        % !TeX spellcheck = it_IT
        \documentclass[ %11pt,
        oneside,
        style=elements,
        crop=false
        ]{suftesi}
        \usepackage[T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[italian]{babel}
        \usepackage[italian=guillemets]{csquotes}

        % % %REFERENCES
        \usepackage{attrib}
        \def\PreTrib{} \def\PostTrib{}
        \usepackage{verse}
        \usepackage{bibleref}
        \addbiblebook{Siracide}{Siracide}
        \addbiblebook{Purgatorio}{Purgatorio}
        % Custom macros
        \def\V#1 {\(^{#1}\)}
        \def\vattrib#1#2{\attrib{(\bibleverse{#1}#2)}}
        \def\vdattrib#1#2{\attrib{\em \bibleverse{#1}#2}}
        \usepackage{verse}

        % % %NEWCOMMAND
        \newcommand{\omissis}{[\textellipsis\unkern]}

        % % %
        \title[Appunti]{Appunti}
        \author{}
        \date{}
        \usepackage{hyperref}

        \begin{document}
        \maketitle
        \chapter*{Citazioni}

        \section*{Bibbia}
        \marginpar{\hypertarget{daAn}{}} %
        \marginpar{\hyperlink{daSir}{An.}} %il secondo argomento è la nota a margine

        \settowidth{\versewidth}{Siano molti quelli che vivono in pace con te}
        \begin{verse}[\versewidth]
        \begin{altverse}
        \V{6}
        Siano molti quelli che vivono in pace con te,\\
        \vin ma tuo consigliere uno su mille.
        \end{altverse}
        \vattrib{Siracide}{ 5:6}
        \end{verse}
        \clearpage

        \section*{Divina Commedia}
        \settowidth{\versewidth}{quinci si va chi vuol andar per pace}
        \marginpar{\hypertarget{daAn1}{}} %
        \marginpar{\hyperlink{daPurg}{An.}} %il secondo argomento è nota a margine
        \begin{verse}[\versewidth]
        \begin{altverse}
        quinci si va chi vuol andar per pace
        \vdattrib{Purgatorio}{ XXIV, 141}
        \end{altverse}
        \end{verse}
        \clearpage
        \section*{anonimi}
        se avessi studiato meglio la matematica avrei fatto sicuramente prima e sarei in pace con me stesso…
        \marginpar{\hyperlink{daAn}{Sir. 5:6}} %il secondo argomento è nota a margine
        \marginpar{\hypertarget{daSir}{}} % questo è il comando di ritorno relativo ad {daAn}

        \marginpar{\hyperlink{daAn1}{Purgatorio XXIV, 141}} %il secondo argomento è nota a margine
        \marginpar{\hypertarget{daPurg}{}} %questo è il comando di ritorno relativo ad {daAn1}

        \end{document}

        `

        Che ne dici @Oldclaudio?

        grazie
        Andrea

      • #88196
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Difficile dire qualcosa senza vedere come è composta la bibliografia.

          Tuttavia la mia obbiezione è che non devi puntare a rendere cliccabile il ritorno al punto di partenza del testo, perché ogni riferimento bibliografico potrebbe essere citato più di una volta; quindi vicino al riferimento composto nella sezione della bibliografia dovrebbero esserci più link a target diversi. Inve quello che dico io è che da qualunque punto del testo tu sia passato al puto rilevante della bibliografia (che ripeto potrebbe costituire la destinazione di diversi link) l’unico modo per tornare con certezza alla pagina di partenza è quello di sfruttare la freccia nera che punta a sinistra per tornare alla pagina precisa da cui eri partito. Questa è un proprietà del formato PDF, quella di ricordare le pagine visitate in precedenza, per cui tocca al visulaizzatore il compito di tornare alla pagina da cui eri partito per andare alla bibliografia; non tocca all’utente di ricordarsi il numero di pagina, o cose simili, per cliccare il link giusto nella bibliografia al fine di tornare alla pagina giusta.

          Non credo che il tuo meccanismo sia usabile se lo stesso riferimento è linkato più di una sola volta.

        • #88197
          Up
          0
          Down
          ::


          Infatti non si tratterebbe di “tornare al punto di partenza del testo”. Due citazioni sarebbero, per così dire, reciprocamente cugine tra loro, cioè di pari grado; è per quello che mi piacerebbe che fossero raggiungibili in un senso e nell’altro.
          Il sistema manuale del post precedente sembra funzionare anche per riferimenti multipli: Anonimo punta sia a Siracide che a Purgatorio, Purgatorio punta ad Anonimo e Siracide punta ad Anonimo.
          Come dicevo, è un po’ brutale e non molto comodo, ma se non ci sono alternative mi adatterò.

          Quanto alla bibliografia, per adesso non è strutturata in alcun modo, anche perché tutti i riferimenti li ho ancora dispersi qua e là sulle prime pagine dei libri. Pensavo invece di creare un indice analitico, ma questa è un’altra storia…

          grazie
          ciao
          Andrea

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

      Go to top