This question has been posed in many different variants, but not exactly as I ask here, so please do not consider this as a duplicate.
I use biblatex
with the option useprefix
. I would like to have the following automatic behavior:
-
Name prefixes are rendered before the last name in the bibliography, but always in lower case.
-
The name prefixes are ignored for the sake of sorting of the bibliography.
-
In running text, the name prefix is rendered with a capital letter at the beginning of a sentence, and lower case elsewhere (possible using
\Textcite
vs.\textcite
).
To achieve this, I can have three author fields for each concerned entry, with the following scheme:
author = { {v}an Dijk, A.}
shortauthor = { van Dijk, A.}
sortname = {Dijk, A. van}
Is there a simple way to automate this? Ideally, such a way could also allow for easy changing of the system.
Best Answer
In order to get the sorting in the bibliography right, we have to set
useprefix=false
at loading-time. E.g.Then we turn on
\useprefix
in the actual document - i.e. in the citations and bibliography.With
\AtBeginBibliography{\toggletrue{blx@useprefix}}
you can control the bibliography separately.Since we want the prefix to be in lower-case in the bibliography, we issue
MWE