我正在使用biblatex
和\textcite
,大多数引文都正确显示,作者姓名首字母仅在需要消除歧义时才显示。但对于少数作者,即使作者姓名是唯一的,姓名首字母也始终显示。我检查了所有 bibtex 文件是否以完全相同的方式引用了这些麻烦的作者。姓氏很不寻常,我确信它们在我的 bibtex 文件中是唯一的。这是什么原因造成的?
我发现这种情况只发生在参考书目中以简写形式开头的条目上。例如,名称 Mawer 会触发此条目中的问题:
PN Sx 1 = Mawer、Allen、FM Stenton 和 JEB Gover (1929),《苏塞克斯的地名》,第 1 部分,第 VI 卷,《奇切斯特、阿伦德尔和布兰伯的强奸案》,剑桥:英国地名学会
简写前缀通过以下代码创建:
\renewcommand*{\postnotedelim}{\addcolon\space}
\AtEveryBibitem{%
\iffieldundef{shorthand}{}
{\printfield{shorthand}\printtext{ = }}}
以下是一个例子:
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[english]{babel}
\usepackage[style=authoryear-comp,sorting=nyt,backref=true,useprefix=true,hyperref,backend=biber]{biblatex}
\renewcommand*{\postnotedelim}{\addcolon\space}
\AtEveryBibitem{%
\iffieldundef{shorthand}{}
{\printfield{shorthand}\printtext{ = }}}
\bibliography{%
bibtex/misc_place_names,%
bibtex/EPNS,%
}
\begin{document}
See \textcite{mawer-nth} and \textcite{epns-Bk}.
\printbibliography
\end{document}
当两个条目位于不同的 bibtex 文件中时,它会给出以下输出,如上面的代码所示:
参见 A. Mawer (1920) 以及 Mawer 和 Stenton (PN Bk)。
但是,如果我将问题条目放在单个 bibtex 文件中,问题就会消失。
这些是 .bbl 条目:
\refsection{0}
\sortlist{entry}{nyt}
\entry{mawer-nth}{book}{}
\name{labelname}{1}{}{%
{{uniquename=1,hash=20531a50f8126d9de20c019a74363211}{Mawer}{M\bibinitperiod}{Allen}{A\bibinitperiod}{}{}{}{}}%
}
\name{author}{1}{}{%
{{uniquename=1,hash=20531a50f8126d9de20c019a74363211}{Mawer}{M\bibinitperiod}{Allen}{A\bibinitperiod}{}{}{}{}}%
}
\list{location}{1}{%
{Cambridge}%
}
\list{publisher}{1}{%
{CUP}%
}
\strng{namehash}{20531a50f8126d9de20c019a74363211}
\strng{fullhash}{20531a50f8126d9de20c019a74363211}
\field{sortinit}{M}
\field{labelyear}{1920}
\field{labeltitle}{{The place-names of Northumberland and Durham}}
\field{title}{{The place-names of Northumberland and Durham}}
\field{year}{1920}
\endentry
\entry{epns-Bk}{book}{}
\name{labelname}{2}{}{%
{{uniquename=0,hash=4d6093b4a0c2460e6f2882adf13392d7}{Mawer}{M\bibinitperiod}{}{}{}{}{}{}}%
{{uniquename=0,hash=21ae7cedb02db0fa4466cce84219d21e}{Stenton}{S\bibinitperiod}{}{}{}{}{}{}}%
}
\name{author}{2}{}{%
{{hash=20531a50f8126d9de20c019a74363211}{Mawer}{M\bibinitperiod}{Allen}{A\bibinitperiod}{}{}{}{}}%
{{hash=7e3d1c286187382e0f79c1973fb3b5ea}{Stenton}{S\bibinitperiod}{F.\bibnamedelimi M.}{F\bibinitperiod\bibinitdelim M\bibinitperiod}{}{}{}{}}%
}
\name{shortauthor}{2}{}{%
{{uniquename=0,hash=4d6093b4a0c2460e6f2882adf13392d7}{Mawer}{M\bibinitperiod}{}{}{}{}{}{}}%
{{uniquename=0,hash=21ae7cedb02db0fa4466cce84219d21e}{Stenton}{S\bibinitperiod}{}{}{}{}{}{}}%
}
\list{location}{1}{%
{Cambridge}%
}
\list{publisher}{1}{%
{English Place-Name Society}%
}
\strng{namehash}{3d5595324379f60156ee89ea3274856c}
\strng{fullhash}{52adbb96b7969c24919cfbabcc553da5}
\field{sortinit}{P}
\field{labelyear}{1925}
\field{labeltitle}{The place-names of Buckinghamshire}
\field{shorthand}{PN Bk}
\field{title}{The place-names of Buckinghamshire}
\field{volume}{II}
\field{year}{1925}
\keyw{place-names,England,Buckinghamshire}
\endentry
\endsortlist
\endrefsection
感谢所有评论的人 - 似乎是 shortauthor 字段导致了问题。如果这是我的 bibtex 文件:
@book{epns-Bk,标题 =“白金汉郡的地名”,作者 =“Allen Mawer 和 FM Stenton”,卷 = {II},年份 = {1925},简写 = {PN Bk},shortauthor="Mawer and Stenton",出版商 = {英国地名协会},}
@book{mawer-nth, title= "诺森伯兰郡和达勒姆郡的地名", author= "Allen Mawer", year= "1920", publisher="CUP", shortauthor="Mawer", address= "剑桥", }
如果在两种情况下都使用 shortauthor,则不会出现问题。但如果 shortauthor 只出现在一个条目中,则会出现不需要的首字母问题。因此,我不确定如何才能始终如一地使用 shortauthor。
答案1
这里的解决方案似乎是:不要使用shortauthor
。在你展示的例子中,使用shortauthor
你的方式是没有意义的,biblatex
你可以自己弄清楚那些东西。biblatex
文档说shortauthor
(第 22 页)
此字段主要针对企业作者的缩写形式
如果出于某种原因需要使用shortauthor
,请确保仍然一致地提供所有名称。因为biblatex
Allen Mawer
不是Mawer
,所以使用
@book{NASA,
author = {Allen Mawer and {National Aeronautics and Space Administration}},
shortauthor = {Allen Mawer and {NASA}},
title = {The Moon Landing},
year = {1969},
}
而不是shortauthor = {Mawer and {NASA}}
,在两种情况下输出仍将是“Mawer and NASA”。