我有两个引文,例如
@ARTICLE{Openshaw1999a,
author = {Openshaw, S. and Turton, I. and Macgill, J},
title = {Using the Geographical Analysis Machine to Analyze Limiting Long-term
Illness},
journal = {Geographical and Environmental Modelling},
year = {1999},
volume = {3.1},
pages = {83-99},
owner = {ijt1},
timestamp = {2010.09.27}
}
和
@INCOLLECTION{citeulike:8468480,
author = {Openshaw, Stan and Turton, Ian and Macgill, James and Davy, John},
title = {{Putting the Geographical Analysis Machine on the Internet}},
booktitle = {Innovations in GIS 6},
publisher = {Taylor and Francis},
year = {1999},
editor = {Gittings, Bruce},
chapter = {10},
pages = {121--132},
address = {London}}
当我引用它们时,它们在文中都显示为“Openshaw et al (1999)”。除了使用[fullnamesfirst]
作为选项之外,natbib
还有其他方法可以防止它们看起来像是同一篇论文的引用吗?
答案1
将这两篇论文引用为“Openshaw et al (1999a)”和“Openshaw et al (1999b)”意味着这些论文是由同一位合著者撰写的,而事实上其中一位作者(John Davy)是第二位作者,但不是第一位作者。(Herbert 使用的样式alpha
避免了这个问题。)使用作者年份样式,我会将论文引用为“Openshaw, Turton et al (1999)”和“Openshaw, Turton, Macgill et al (1999)”。我不知道有哪种参考书目样式可以自动执行此操作(作者列表的歧义消除是 未来版本的路线图biblatex
)。使用natbib
,您可以定义
\defcitealias{key1}{Oppenshaw, Turton et al (1999)}
\defcitealias{key2}{Oppenshaw, Turton, Macgill et al (1999)}
和写
\citetalias{key1,key2}
在文本中,但这个解决方案远非完美(\citepalias
会导致双括号)。
更新:作者姓名和姓名列表的歧义消除功能已在 2011 年 3 月 31 日发布的 v1.4 中实现。有关详细信息biblatex
,请参阅手册第 4.11.4 节biblatex
。请查看以下带有包选项的示例uniquelist=true
:
\documentclass{article}
\usepackage[style=authoryear,maxnames=1,uniquelist=true]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Openshaw1999a,
author = {Openshaw, Stan and Turton, Ian and Macgill, James},
title = {Using the Geographical Analysis Machine to Analyze Limiting Long-term Illness},
journaltitle = {Geographical and Environmental Modelling},
year = {1999},
volume = {3.1},
pages = {83-99},
owner = {ijt1},
timestamp = {2010.09.27},
}
@incollection{citeulike:8468480,
author = {Openshaw, Stan and Turton, Ian and Macgill, James and Davy, John},
title = {{Putting the Geographical Analysis Machine on the Internet}},
booktitle = {Innovations in GIS 6},
publisher = {Taylor and Francis},
year = {1999},
editor = {Gittings, Bruce},
chapter = {10},
pages = {121--132},
location = {London},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}
为了进行比较,请参见同一示例的输出uniquelist=false
:
答案2
使用星号版本
foo~\citep*{Openshaw1999a,citeulike:8468480}
答案3
biblatex
可以做你想做的一些事情。事实上,它会自动添加 1999a 或 1999b 样式style=authoryear
。然而,这不会解决提到的问题:即作者列表的歧义消除。你可以设置选项maxnames=4
,这将消除作者列表的歧义,但这可能不是最理想的...