[Risolto] Biblatex: rendere cliccabile anche il prenote

  • Creatore
    Topic
  • #89619
    Liverpool
    Partecipante
      Up
      0
      Down
      ::


      Ho trovato qui il codice seguente, che rende cliccabile la citazione dell’autore per rinviare alla bibliografia:
      `\DeclareCiteCommand{\citeauthor}
      {\boolfalse{citetracker}%
      \boolfalse{pagetracker}%
      \usebibmacro{prenote}}
      {\ifciteindex
      {\indexnames{labelname}}
      {}%
      \printtext[bibhyperref]{\printnames{labelname}}}
      {\multicitedelim}
      {\usebibmacro{postnote}}`
      Vorrei che anche il [tt]prenote[/tt] fosse cliccabile ed eseguisse il medesimo rinvio.
      Questo perché sto utilizzando il campo vuoto [tt]author[/tt] semplicemente per aggiungere i riferimenti di pagina nella bibliografia tramite l’opzione [tt]backref[/tt] di Biblatex e vorrei che, scrivendo ad esempio
      `\citeauthor[regolamento][]{reg:23}`
      la parola regolamento rinviasse alla corrispondente voce in bibliografia.

      Si può fare?
      Grazie

    Visualizzazione 3 filoni di risposte
    • Autore
      Risposte
      • #89620
        Up
        0
        Down
        ::

        Liverpool” post=89141Ho trovato qui il codice seguente, che rende cliccabile la citazione dell’autore per rinviare alla bibliografia:
        `\DeclareCiteCommand{\citeauthor}
        {\boolfalse{citetracker}%
        \boolfalse{pagetracker}%
        \usebibmacro{prenote}}
        {\ifciteindex
        {\indexnames{labelname}}
        {}%
        \printtext[bibhyperref]{\printnames{labelname}}}
        {\multicitedelim}
        {\usebibmacro{postnote}}`
        Vorrei che anche il [tt]prenote[/tt] fosse cliccabile ed eseguisse il medesimo rinvio.
        Questo perché sto utilizzando il campo vuoto [tt]author[/tt] semplicemente per aggiungere i riferimenti di pagina nella bibliografia tramite l’opzione [tt]backref[/tt] di Biblatex e vorrei che, scrivendo ad esempio
        `\citeauthor[regolamento][]{reg:23}`
        la parola regolamento rinviasse alla corrispondente voce in bibliografia.

        Si può fare?
        Grazie

        Ammesso che tu stia usando uno stile (basato su uno stile) standard,
        dovrebbe bastare questo:
        `\renewbibmacro*{prenote}{%
        \iffieldundef{prenote}
        {}
        { \printtext[bibhyperref]{\printfield{prenote}}%
        \setunit{\prenotedelim}}}
        `

        La bibmacro “prenote” è definita nel file biblatex.def.

        Ciao
        Ivan

      • #89621
        Liverpool
        Partecipante
          Up
          0
          Down
          ::


          Grazie! Funziona benissimo, ma ho aggiunto due modifiche che dipendono dall’uso che ne faccio:

          1) ho incorporato direttamente il codice nel comando [tt]\DeclareCiteCommand{\citeauthor}[/tt] al posto di [tt]\usebibmacro{prenote}[/tt], perché mi serve che funzioni solo se sto usando [tt]\citeauthor[/tt] (altrimenti funziona con tutti i comandi di citazione e non mi va bene, visto che il prenote lo uso correttamente nei [tt]\footcite[/tt];

          2) ho eliminato [tt]\setunit{\prenotedelim}[/tt] altrimenti mi aggiungeva uno spazio bianco dopo il testo del prenote (considera che il campo author è vuoto).

          A tale proposito, visto che sto usando lo stile philosophy-verbose e pur avendo letto la licenza, vorrei chiederti per conferma se posso utilizzare le modifiche che ho fatto.

          Ciao

          Edit:
          Alla fine ho deciso di utliizzare il postnote anziché il prenote, perché così posso usare un solo parametro opzionale nel comando [tt]\citeauthor[/tt]. Il codice che ho usato è:
          `\DeclareCiteCommand{\citeauthor}
          {\boolfalse{citetracker}%
          \boolfalse{pagetracker}%
          \usebibmacro{prenote}}
          {\ifciteindex
          {\indexnames{labelname}}
          {}%
          \printtext[bibhyperref]{\printnames{labelname}}}
          {\multicitedelim}
          {\iffieldundef{postnote}
          {}
          {\printtext[bibhyperref]{\printfield{postnote}}}%
          }`

        • #89622
          Up
          0
          Down
          ::

          Liverpool” post=89145
          A tale proposito, visto che sto usando lo stile philosophy-verbose e pur avendo letto la licenza, vorrei chiederti per conferma se posso utilizzare le modifiche che ho fatto.

          Tranquillo, gli stili philosophy non hanno alcuna restrizione oltre alla LPPL.

          Ciao
          Ivan

        • #89623
          Liverpool
          Partecipante
            Up
            0
            Down
            ::


            Sto usando il comando che ho incollato all’inizio della discussione insieme alle varianti analoghe per [tt]\citetitle[/tt] e [tt]\citetitle*[/tt] cliccabili. Da quando ho aggiornato biblatex e il pacchetto biblatex-philosophy all’ultima versione ottengo uno spazio lungo (forse due spazi) prima di ogni citazione. Purtroppo l’inconveniente si è verificato in fase di ultima revisione del documento e vi lascio immaginare il disagio. Qualcuno è in grado di capire al volo il problema senza dover realizzare un MWE?

            Grazie

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

        Go to top