对于我的荷兰论文,我需要在使用命令时在名称前加上前缀\cite
,但在参考书目中则不需要。所以基本上我需要的是
引用: 'De Jonge'
书目:《Jonge, Marinus, de》
我无法同时实现这一点biblatex
,因为我似乎需要useprefix=true
引用和useprefix=false
参考书目。
有人可以帮忙吗?
答案1
domwass 的解决方案有一个问题:在参考书目中,作者姓名将在开头不带前缀的情况下排版,但排序仍将使用名称前缀。因此我建议 a)useprefix=false
在加载时设置biblatex
b) 使用 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
不过,我没有测试它,因为你没有给出最小的例子。