3

I am having a problem with \citename dropping a name article, e.g. printing "Foerster" instead of "Von Foerster" in the following example:

\documentclass{article}

\usepackage{biblatex}
\usepackage{filecontents}

\DeclareNameFormat{idem}{%
  \usebibmacro{name:last}{#1}{#3}{#5}{#7}%
  \usebibmacro{name:andothers}}

\newcommand*{\person}[2]{%
  \citename{#1}[#2]{author}%
}

\begin{filecontents}{\jobname.bib}
@incollection{foerster1979cybernetics,
    AUTHOR = "von Foerster, Heinz"
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\person{foerster1979cybernetics}{idem} described this as a shift from...
\end{document}

How can I change this to properly print "Von Foerster described this as a shift from..." (it should automatically capitalise the 'v' as the macro appears at the beginning of a sentence).

lockstep
  • 250,273
Emit Taste
  • 4,404

1 Answers1

4

You need to load biblatex with the option setting useprefix=true (or simply useprefix). This will (1) print any last name prefix in citations and (2) include prefixes in sorting. Marco shows how you can do (1) but not (2) in this post.

To capitalize the prefix, you can use a variant of \person:

\newcommand*{\Person}[2]{\bibsentence\citename{#1}[#2]{author}}
Audrey
  • 28,881