EID bib 条目导致 biblatex 引用中的页码重复

EID bib 条目导致 biblatex 引用中的页码重复

ADS 论文服务通常在其 bibtex 文件中提供 EID 条目以及页面条目。这两个条目通常都包含文章的页码。通常这似乎不会引起任何问题。但是,当使用\fullcite{}biblatex 时,两个条目都会打印,导致引文中的页码重复。有没有办法用 来抑制打印 EID \fullcite

完整示例:

\documentclass{article}
\usepackage[backend=biber,]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ARTICLE{eisenstein2011,
    author = {{Eisenstein}, D.~J. and {Weinberg}, D.~H. and {Agol}, E. and
    {Aihara}, H. and {Allende Prieto}, C. and {Anderson}, S.~F. and
    {Arns}, J.~A. and {Aubourg}, {\'E}. and {Bailey}, S. and
    {Balbinot}, E. and et al.},
    title = "{SDSS-III: Massive Spectroscopic Surveys of the Distant Universe,
    the Milky Way, and Extra-Solar Planetary Systems}",
    journal = {Astrophysical Journal},
    archivePrefix = "arXiv",
    eprint = {1101.1529},
    primaryClass = "astro-ph.IM",
    keywords = {cosmology: observations, Galaxy: evolution, planets and
    satellites: detection, surveys},
    year = 2011,
    month = sep,
    volume = 142,
    eid = {72},
    pages = {72},
    doi = {10.1088/0004-6256/142/3/72},
    adsurl = {http://adsabs.harvard.edu/abs/2011AJ....142...72E},
    adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
\end{filecontents}

\begin{document}
\fullcite{eisenstein2011}

\end{document}

答案1

像这样的文章有点模糊,我想说在这种情况下只有eid = {72}正确并且pages = {72}有点误导,但你可能会感觉到完全相反。

无论如何,你可以用以下方式删除eid引用

\AtEveryCitekey{\clearfield{eid}}

在参考书目中

\AtEveryBibitem{\clearfield{eid}}

要完全摆脱该领域,你可以使用 Biber

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldset=eid, null]
    }
  }
}

\AtEveryCitekey{\iffieldsequal{eid}{pages}{\clearfield{pages}}{}}
\AtEveryBibitem{\iffieldsequal{eid}{pages}{\clearfield{pages}}{}}

pages只有当页面内容和字段一致时,我们才会删除eid

相关内容