我有一个与论文中引用的研究人员姓氏前缀有关的问题。这些人的名字以“van”、“von”、“den”、“van der”等开头。我希望这些名字在正文中以小写字母出现在参考文献的姓氏前面,如 (den Besten1983),然后在参考书目中也以同样的方式出现,但不按前缀排序。因此,“den Besten, Hans”应列在 B 下。使用我当前的设置,我在文本中得到 (Besten1983),在参考书目中得到“Besten, Hans den”。我曾尝试在 BibTex 源(我使用 Jabref)中将“den Besten”括在花括号中,例如 {den Besten}, Hans。这在参考文献中给出了正确的结果,但在参考书目中将名称列为“den Besten, Hans”在 D 下。
JabRef 中的来源:作者 = {den Besten, Hans},
以下是 MWE:
\documentclass[12]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage [T1]{fontenc}
\usepackage[backend=biber, style=authoryear-comp]{biblatex}
\addbibresource{ref.bib}
\begin{document}
Blabla \cite{denBesten1983}.
\printbibliography
\end{document}
答案1
有几种方法可以做到这一点(例如Biblatex 处理荷兰语“van”前缀),但如果有电流,biblatex
我会做以下事情
- 设置
useprefix=true
选项。这告诉biblatex
将“den Boer”视为姓氏,始终打印“den Boer”并归类在“d”下。 - 更改排序方式,先按名称的组成部分排序
family
,然后再按 排序prefix
。因此,与第 1 点所述相反useprefix=true
,“den Boer” 归入“B”之下。 - 修改参考书目,使前缀不大写。(由于每个 bib 项
\bibsentence
在处理钩子后的很晚阶段默认发出\AtEveryBibitem
,因此我能找到的最干净的解决方案是挂接到begentry
bibmacro 中。)
\documentclass[12]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear-comp, useprefix]{biblatex}
\DeclareSortingNamekeyTemplate{
\keypart{
\namepart{family}
}
\keypart{
\namepart{prefix}
}
\keypart{
\namepart{given}
}
\keypart{
\namepart{suffix}
}
}
\renewbibmacro{begentry}{\midsentence}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{besten,
author = {Hans den Besten},
title = {On the Importance of the Civil Service},
date = {1980},
}
@book{boer,
author = {Hans de Boer},
title = {On the Importance of the Civil Service},
date = {1980},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{besten}\nocite{boer,baez/article,cicero,worman,sigfridsson}
\printbibliography
\end{document}