使用 biblatex 仅显示引文中的姓氏

使用 biblatex 仅显示引文中的姓氏

我正在写一篇论文,决定用它biblatex来引用和参考。我使用 Jabref 来组织文件.bib,并以以下方式将其实现到我的文档中:

\usepackage[backend=biber,
style=authoryear,
citestyle=authoryear]{biblatex}
\addbibresource{bibliography.bib}

现在的问题是,我希望引用仅显示作者的姓氏,但这并不总是有效。示例:

 author    = {Johnson, Jesse C. and Souva, Mark and Smith, Dale L.}

显示为

JC Johnson、Souva 和 Smith (2013)

在文件中

 author    = {Linzer, Drew A. and Staton, Jeffrey K.}

作为

Linzer 和 JK Staton (2015)。

这种不一致从何而来?我该如何避免?大多数引用都是正确的(在忽略名字的意义上)。

请记住,我不是程序员,而只是普通用户。

答案1

欢迎来到 TeX.SE!因为您没有提供带有参考书目的最小工作示例(MWEB)-- 请在您的下一个问题中添加 MWE 或 MWEB,这有助于我们帮助您!-- 我不得不猜测一下。

请参阅以下 mwe(我在包中添加了一个虚构的 bib 文件filecontents仅以获得编译 mwe,您可以使用自己的 .bib 文件):

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Johnson,
  author    = {Johnson, Jesse C. and Souva, Mark and Smith, Dale L.},
  Publisher = {Pearson},
  Title     = {Physics for Scientists \& Engineers},
  Year      = {2014},
  Date-Added = {2015-10-05 12:23:12 +0000},
  Date-Modified = {2015-10-05 12:23:50 +0000},
}
@book{JohnsonE,
  author    = {Johnson, David C. and Einstein, Albert},
  Publisher = {Pearson},
  Title     = {Physics for Scientists \& Engineers},
  Year      = {2014},
  Date-Added = {2015-10-05 12:23:12 +0000},
  Date-Modified = {2015-10-05 12:23:50 +0000},
}
@article{Linzer,
  author    = {Linzer, Drew A. and Staton, Jeffrey K.},
  Title     = {Physics for Scientists \& Engineers},
  Year      = {2014},
}
\end{filecontents*}


\documentclass{article}

\usepackage[%
  backend=biber,
  style=authoryear,
]{biblatex}
\addbibresource{\jobname.bib}


\begin{document}

Some \cite{Johnson}, 
%\cite{JohnsonE} % <========================================= uncomment!
and \cite{Linzer}.

%\nocite{*}
\printbibliography

\end{document}

及其结果:

生成的 pdf

现在请取消注释该行

%\cite{JohnsonE} % <========================================= uncomment!

\cite{JohnsonE} % <========================================= uncomment!

并再次编译三次。现在的结果是:

第二个结果

如您所见,现在有两个 bib 条目的姓氏都是 Johnson,但名字不同。这就是为什么 biber 添加名字的首字母以在参考书目中创建不同的作者姓名,从而为您提供可以确定识别的条目...

正如@AlanMunn 在他的评论中提到的那样:这里需要注意的是,biblatex如果相关.bib项目中的作者姓名不同,则无法区分实际上是同一作者的作者。因此,例如,如果您Johnson, David C.在一个项目中有姓名,而Johnson, David在另一个项目中有姓名,他们仍然会获得首字母缩写。此外,您可以使用具有各种值的选项之一来关闭此行为uniquename...

相关内容