Vincule a bibliografia do biblatex a citações sem imprimir backrefs

Vincule a bibliografia do biblatex a citações sem imprimir backrefs

Na minha bibliografia biblatex, tenho números como [1] ao lado das minhas referências. Quando clico na citação [1], ela direciona para a bibliografia [1] (graças ao pacote hyperref). Existe uma maneira de ter esse link na direção oposta? Então, a partir da bibliografia, posso ver rapidamente onde uma referência foi citada?Esta soluçãoé quase o que eu quero, mas exige que os números das páginas de citação sejam impressos, e não quero isso. Sei que isso não faria sentido se eu citasse uma referência mais de uma vez, mas raramente é o meu caso.

Responder1

A solução a seguir não usa backref, mas é baseada na vinculação de verbose-inote.

Definimos uma âncora de link em cada citação e vinculamos o rótulo na bibliografia à primeira âncora (que guardamos para uso posterior).

Isto requer que a primeira citação de cada entrada aconteça antes de \printbibliography.

MWE

\documentclass{article}
\usepackage[backref=false]{biblatex}
\usepackage[colorlinks=false]{hyperref}

\makeatletter
\DeclareFieldFormat{bibhypertarget}{%
  \bibhypertarget{\thefield{entrykey}:\the\value{instcount}}{#1}}

\renewbibmacro*{cite}{%
  \printtext[bibhyperref]{%
    \printtext[bibhypertarget]{%
      \printfield{labelprefix}%
      \printfield{labelnumber}%
      \ifbool{bbx:subentry}
        {\printfield{entrysetcount}}
        {}}}%
  \usebibmacro{cite:save}}

\newbibmacro*{cite:save}{%
  \ifcsundef{cbx@\thefield{entrykey}}
    {\csxdef{cbx@\thefield{entrykey}}{\the\value{instcount}}}
    {}}

\newbibmacro{cbx:linktofirstcite}[1]{%
  \ifcsdef{cbx@\thefield{entrykey}}
    {\bibhyperlink
       {\thefield{entrykey}:\csuse{cbx@\thefield{entrykey}}}
       {#1}}
    {#1}}

\DeclareFieldFormat{labelnumberwidth}{%
  \usebibmacro{cbx:linktofirstcite}{\mkbibbrackets{#1}}}
\makeatother


\addbibresource{biblatex-examples.bib}

\begin{document}
\nocite{knuth:ct}
Some text \autocite{geer,worman}.
\clearpage
Some more text \autocite{cicero}.
\printbibliography
\end{document}

insira a descrição da imagem aqui

informação relacionada