Biblatex,超链接后记

Biblatex,超链接后记

我希望内联引用的后记能够超链接,即我希望作者姓名、年份和任何后记都能够超链接(但不是预注!)。

我已经用过答案这里获取作者姓名超链接,但不知道如何将后记添加到超链接。

梅威瑟:

\documentclass{article} 
\usepackage[utf8]{inputenc} 
\usepackage[style=authoryear-comp,backend=bibtex,hyperref]{biblatex} 
\usepackage[colorlinks]{hyperref}
\addbibresource{biblatex-examples.bib}


\makeatletter
%Works without the last bracket ;-)
\let\abx@macro@citeOrig\abx@macro@cite
\renewbibmacro{cite}{%
\bibhyperref{%
\let\bibhyperref\relax\relax%
\abx@macro@citeOrig%
  }%
}
\let\abx@macro@textciteOrig\abx@macro@textcite
\renewbibmacro{textcite}{%
  \bibhyperref{%
    \let\bibhyperref\relax\relax%
    \abx@macro@textciteOrig%
  }%
}%
\makeatother


\begin{document} 
A reference to \parencite[e.g.][3-4]{kastenholz}, \parencite[56]{bertram}, and~\textcite[12-14]{sigfridsson}.  
\printbibliography 
\end{document}

在上面的例子中,“,第 3-4 页”和“,第 56 页”应该分别针对 Kastenholz 和 Bertram 添加超链接(不是括号),而“,第 12-14 页)”应该针对 Sigfridsson 引用添加超链接(包括括号)。

有什么建议么?

PS 我在 RStudio 中编译这个,这要求我使用 backend=bibtex,所以任何解决方案都必须允许这样做。

答案1

这里有一种方法:(多年后回答,因为@aan 用户发现没有回答的问题相关问题来自他/她)

\documentclass{article} 
\usepackage[utf8]{inputenc} 
\usepackage[style=authoryear-comp,backend=bibtex,hyperref]{biblatex} 
\usepackage[colorlinks]{hyperref}
\addbibresource{biblatex-examples.bib}


\makeatletter
%Works without the last bracket ;-)
\let\abx@macro@citeOrig\abx@macro@cite
\renewbibmacro{cite}{%
\bibhyperref{%
\let\bibhyperref\relax\relax%
\abx@macro@citeOrig%
  }%
}
\let\abx@macro@textciteOrig\abx@macro@textcite
\renewbibmacro{textcite}{%
  \bibhyperref{%
    \let\bibhyperref\relax\relax%
    \abx@macro@textciteOrig%
  }%
}%
\makeatother
\DeclareFieldFormat{postnote}{\printtext[bibhyperref]{#1}}
\DeclareFieldFormat{multipostnote}{\printtext[bibhyperref]{#1}}
\DeclareFieldFormat{prenote}{\printtext[bibhyperref]{#1}}
\DeclareFieldFormat{multiprenote}{\printtext[bibhyperref]{#1}}

\begin{document} 
A reference to \parencite[e.g.][3-4]{kastenholz}, \parencite[56]{bertram}, and~\textcite[12-14]{sigfridsson}.  
\printbibliography 
\end{document}

相关内容