Biblatex 样式,使用 bib 文件中的 url 进行超链接

Biblatex 样式,使用 bib 文件中的 url 进行超链接

我正在使用biblatexhref选项作为我的参考书目。

我想使用文件url的字段bib添加指向文章在线版本的超链接。但是,我不希望将整个 URL 链接打印在参考书目中,但如果可能的话,单击引用期刊的卷/页(或期刊名称也可以)时会出现链接 - 很多科学期刊都是这样。

我正在使用nature引用样式并尝试.bbx根据我的需要进行修改 - 但我对.bbx结构和 LaTeX 宏的了解非常少。

答案1

自然风格的设置方式是,用链接(或卷)替换页面是最容易的,但获取页面和卷很困难,因为它们是在不同时间印刷的。您必须对风格进行重大改革。解决方案的核心是

\newbibmacro*{myurl}{\printfield[myurl]{url}}
\DeclareFieldFormat{myurl}{\href{#1}{\printfield{pages}}}

\newbibmacro*{note+pages}{%
  \printfield{note}%
  \setunit{\bibpagespunct}%
  \usebibmacro{myurl}%
  \newunit}

将其组合起来形成完整的 MWE 可得出:

\documentclass{article}
\usepackage{filecontents}
\usepackage[style=nature, url=true]{biblatex}
\usepackage{hyperref}
\begin{filecontents}{\jobname.bib}
@article{aksin,
  author = {Aks{\i}n, {\"O}zge and T{\"u}rkmen, Hayati and Artok, Levent
    and {\k{C}}etinkaya, Bekir and Ni, Chaoying
    and B{\"u}y{\"u}kg{\"u}ng{\"o}r, Orhan and {\"O}zkal, Erhan},
  indextitle = {Effect of immobilization on catalytic characteristics},
  title = {Effect of immobilization on catalytic characteristics of saturated
    Pd-N-heterocyclic carbenes in Mizoroki-Heck reactions},
  journaltitle = jomch,
  volume = {691},
  number = {13},
  date = {2006},
  pages = {3027--3036},
  url = {http://www.google.com}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\newbibmacro*{myurl}{\printfield[myurl]{url}}
\DeclareFieldFormat{myurl}{\href{#1}{\printfield{pages}}}

\newbibmacro*{note+pages}{%
  \printfield{note}%
  \setunit{\bibpagespunct}%
  \usebibmacro{myurl}%
  \newunit}

\begin{document}
\cite{aksin}
\printbibliography
\end{document}

相关内容