从 amsrefs 切换到 biblatex

从 amsrefs 切换到 biblatex

我一直将amsrefs其用作参考包。但是,它似乎biblatex得到了更好的支持,并且使用得更广泛(至少在这个社区中)。将 37 个帖子与标记到 3.6k 个帖子,使用标签。我之所以转换的触发因素是所谓的牛津逗号,这似乎是很容易去除使用biblatex,而且我不知道如何使用amsrefs

不过,我喜欢 的一些功能amsrefs,我想知道是否可以使用 来模拟它们biblatex。示例:

  • msc-links允许使用MRNUMBERbib 条目中的条目添加到 MathSciNet 的链接。
  • 随着帮助@egreg,我可以使用 使书名以粗体显示amsrefs

我可以用 以某种方式模拟这些功能吗biblatex?我可以让biblatex采纳amsrefs的默认值吗?

您是否同意转换是一个合理的决定?

答案1

是的,可以链接到 MathSciNet。可以按如下方式进行Biblatex 和 Pubmed/Pubmed Central ID. 无论是eprint通过

\DeclareFieldFormat{eprint:mrnumber}{%
  MR\addcolon\space
  \ifhyperref
    {\href{http://www.ams.org/mathscinet-getitem?mr=#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}

进而

eprint     = {1678525},
eprinttype = {mrnumber},

.bib文件中。

或者作为具有新数据模型的单独字段。称之为mrnumber.dbx

\DeclareDatamodelFields[type=field,datatype=verbatim]{mrnumber}
\DeclareDatamodelEntryfields{mrnumber}

然后使用该选项加载该数据模型datamodel=mrnumber,指定格式

\DeclareFieldFormat{mrnumber}{%
  MR\addcolon\space
  \ifhyperref
    {\href{http://www.ams.org/mathscinet-getitem?mr=#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}

并打印出来

\renewbibmacro*{doi+eprint+url}{%
  \iftoggle{bbx:doi}
    {\printfield{doi}}
    {}%
  \newunit\newblock
  \printfield{mrnumber}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}}

您可以在最后的示例中看到这一点。


很容易就可以将书名加粗

\DeclareFieldFormat[book]{title}{\mkbibbold{#1}}

我不知道有什么方法可以让输出看起来像amsrefs只需在键盘上敲几下就可以实现。但我相信标准biblatex样式所需的许多更改都可以轻松实现。当然,可能有一些奇怪的细节更难实现。


如果您需要的功能仅在 中存在biblatex或很难在 中使用amsrefs,则切换似乎是合理的。但如果您不会错过任何东西或可以相当轻松地解决缺陷,则无需经历切换的痛苦。

也可以看看我什么时候应该使用 amsrefs 而不是常规 bibtex?与 Bibtex 相比,amsrefs 有多受欢迎?


例子

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{filecontents}

\begin{filecontents*}{mrnumber.dbx}
\DeclareDatamodelFields[type=field,datatype=verbatim]{mrnumber}
\DeclareDatamodelEntryfields{mrnumber}
\end{filecontents*}

\usepackage[backend=biber, style=numeric, datamodel=mrnumber]{biblatex}
\usepackage{hyperref}

\begin{filecontents*}{\jobname.bib}
@article{grabiner,
  author    = {David J. Grabiner},
  title     = {Brownian motion in a Weyl chamber, non-colliding particles, and random matrices},
  journal   = {Annales de l'Institut Henri Poincare (B) Probability and Statistics},
  volume    = {35},
  number    = {2},
  pages     = {177-204},
  year      = {1999},
  doi       = {10.1016/S0246-0203(99)80010-7},
  mrnumber  = {1678525},
}
\end{filecontents*}

\DeclareFieldFormat{mrnumber}{%
  MR\addcolon\space
  \ifhyperref
    {\href{http://www.ams.org/mathscinet-getitem?mr=#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}

\renewbibmacro*{doi+eprint+url}{%
  \iftoggle{bbx:doi}
    {\printfield{doi}}
    {}%
  \newunit\newblock
  \printfield{mrnumber}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}}

\DeclareFieldFormat[book]{title}{\mkbibbold{#1}}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{cicero,grabiner,sigfridsson}

\printbibliography
\end{document}

David J. Grabiner。《Weyl 室中的布朗运动、非碰撞粒子和随机矩阵》。收录于:Henri Poincare (B) 概率和统计研究所年鉴 35.2 (1999),第 177-204 页。doi:10.1016/S0246-0203(99)80010-7。MR:1678525。

相关内容