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
。