如何防止引用第二作者作为 Firstname Lastname

如何防止引用第二作者作为 Firstname Lastname

我正在使用 biblatex 和以下命令:

\usepackage[backend=biber,style=authoryear-comp,
      bibstyle=authoryear,citestyle=authoryear-comp]{biblatex}

现在,当我执行 \textcite 时,有时会得到以下输出:

Smit 和 John Doe,2011 年

在参考书目中

Smit, Peter 和 John Doe (2011 年 5 月)。“使用

我觉得这很丑陋。我怎样才能得到引用:

Smit 和 Doe,2011 年

以及参考书目

Smit, Peter 和 Doe, John (2011 年 5 月)。“使用

答案1

这可能会导致类似(包括名字)的引用,因为 biblatex 自 v1.4 以来将完全消除个人作者姓名和姓名列表的歧义。请看我的例子\textciteSmit and John Doe, 2011Doe

除了年份之外,月份的出现其实是 biblatex 的内置功能。只需使用 字段date代替year,并符合所需的格式即可。(详细信息可参见文档的第 2.3.8 节。)

对于名称的重新排序,我更喜欢以下形式\DeclareNameAlias{sortname}{last-first}。请参阅自定义 biblatex 样式的指南(“参考书目——名字和姓氏的顺序”)了解详情。

\documentclass{article}

\usepackage[style=authoryear-comp,backend=biber]{biblatex}

\DeclareNameAlias{sortname}{last-first}

\begin{filecontents}{\jobname.bib}
@misc{S11x,
  author = {Smit, Peter and Doe, Jane},
  date = {2011},
  title = {Me and Jane},
}
@misc{S11y,
  author = {Smit, Peter and Doe, John},
  date = {2011},
  title = {Me and John},
}
@misc{S11z,
  author = {Smit, Peter and McGee, Bobby},
  date = {2011-05},
  title = {Me and Bobby McGee},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\textcite{S11x}

\textcite{S11y}

\textcite{S11z}

\printbibliography

\end{document}

编辑:名称消歧义仅适用于biber作为后端。在我的示例中替换biberbibtex8,看看会发生什么。;-)

答案2

如果两者使用相同的格式,则无需使用多个bibstyleand命令。因此,您要加载的命令应该是:citestylebiblatex

\usepackage[backend=biber,style=authoryear-comp]{biblatex}

(由于authoryear-compauthoryear bbx文件相同,因此在这种情况下不需要单独的bibstylecitestyle规范。)

您的引文应按照您的要求以标准格式显示authoryear-comp。如果肯定项目显示不正确,那么这可能是.bib记录本身的输入方式存在问题。如果在比较了.bib有效的文件记录和无效的文件记录后,您仍然遇到此问题,则应编辑问题,显示文件中.bib导致问题的实际记录。

关于姓名的顺序,请在序言中添加以下内容:

\DeclareNameAlias{last-first/first-last}{last-first}

至于在参考书目中的日期字段中显示月份,这非常不合常规。您确定要这样做吗?我相信这是可行的,但可能需要一些工作。

相关内容