含有 Biber 的文献会产生奇怪的引用:名字出现不规律

含有 Biber 的文献会产生奇怪的引用:名字出现不规律

我已经使用 bibtex 和 biblatex 有一段时间了。在编写我的书的最新版本时,我改用了 biber。我偶然注意到有时会生成名字,有时则不会。其他人有没有注意到这种情况?

我尝试制作一个最小示例,但没有成功。使用以下代码(显示了我在序言中拥有的所有与 biblatex 相关的命令),我无法显示名字。即使使用我为本书制作的样式文件(第二行),也没有发生错误。

我有一个 Dropbox,里面有这本书的 Latex 文件。我可以授予这些文件的访问权限。

你有什么建议?

\documentclass[fontsize=10pt,twoside]{scrbook}
\usepackage{hormonbuch}
\usepackage[%
  style=authoryear%
  ,natbib=true%
  ,sorting=nyt,backend=biber,doi=false,isbn=false,url=false]{biblatex}
\addbibresource{../Literatur/EndokrinologieKundeNourl.bib}

\renewcommand*{\bibpagespunct}{\addcolon}
\DeclareFieldFormat{pages}{#1}

\renewrobustcmd*{\enquote}{}

\renewbibmacro{in:}{%       Herbert Voss auf http://tex.stackexchange.com/questions/10682/suppress-in-biblatex
  \ifentrytype{article}{}{%
  \printtext{\bibstring{in}\intitlepunct}}}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
%  \setunit{\addspace}%
  \newunit}

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
%  \setunit{\addcolon\space}%
  }%
%
\renewbibmacro*{note+pages}{%
  \printfield{pages}%
  \newunit}
%
\begin{document}

\citet{CRT+88,FDe+85}
\citep{CRT+88,FDe+85}
\cite{CRT+88,FDe+85} 
\printbibliography

\end{document}

答案1

这几乎肯定与使用 uniquename 和 uniquelist 选项有关,这些选项在大多数捆绑样式中默认启用。这些选项意味着 biber 会根据引用的其他名称,使用首字母或全名自动消除名称歧义。请参阅 biblatex 手册,其中通过一些全面的示例对此进行了解释。如果您设置uniquename=falseuniquelist=false我保证您看到的“奇怪”行为会停止。

答案2

最常见的情况是,此问题是由 bib 文件中的作者姓名不一致引起的。例如,如果 bib 文件包含一些带有

author = {Smith, John}

以及其他条目

author = {Smith, J}

然后 biblatex 将尝试通过引用 J Smith 或 John Smith 来消除这些作者的歧义。

解决此问题的一种方法是关闭消歧义功能,如@PLK 所建议的。另一种方法是确保所有 bib 条目都有一致的名称。

答案3

更简单的答案:要么

  1. 包括uniquename=false在选项中biblatex,或
  2. 确保您注意到此问题的作者(如果确实只有一个人)的名字在您的.bib文件中始终以相同的方式书写。

出于某种原因,在几个地方建议也设置uniquelist=false,但设置uniquenames可能对您来说就足够了(如在这个答案中:biblatex,authoryear 样式:文内引用显示某些参考书目条目的名字首字母)。

顺便说一下,在 LyX 中,您可以uniquename=false在“文档设置”对话框的“参考书目”下,选择样式格式后在顶部的第一个选项框中进行设置Biblatex

在 LaTeX 中,你可以使用:

\usepackage[style=authoryear,uniquename=false]{biblatex}

相关内容