我怎样才能在引用中将名称的前缀放在前面,但在参考书目中却不放呢?

我怎样才能在引用中将名称的前缀放在前面,但在参考书目中却不放呢?

对于我的荷兰论文,我需要在使用命令时在名称前加上前缀\cite,但在参考书目中则不需要。所以基本上我需要的是

引用: 'De Jonge'

书目:《Jonge, Marinus, de》

我无法同时实现这一点biblatex,因为我似乎需要useprefix=true引用和useprefix=false参考书目。

有人可以帮忙吗?

答案1

domwass 的解决方案有一个问题:在参考书目中,作者姓名将在开头不带前缀的情况下排版,但排序仍将使用名称前缀。因此我建议 a)useprefix=false在加载时设置biblatexb) 使用 domwass 的 hack 将底层切换设置为true文档的开头 c) 再次使用 hack 将其设置为false参考书目的开头。

\documentclass{article}

\usepackage[useprefix=false,style=authoryear]{biblatex}% "useprefix=false" is the default

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {de Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\makeatletter
\AtBeginDocument{\toggletrue{blx@useprefix}}
\AtBeginBibliography{\togglefalse{blx@useprefix}}
\makeatother

\begin{document}

Some text \autocite{A01,B02}.

\printbibliography

\end{document}

答案2

您可以使用该选项useprefix=true并将以下内容放在序言中:

\makeatletter
\AtBeginBibliography{\togglefalse{blx@useprefix}}
\makeatother

不过,我没有测试它,因为你没有给出最小的例子。

相关内容