biblatex 包含多余的作者姓名首字母

biblatex 包含多余的作者姓名首字母

我正在使用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”。

相关内容