文章作者姓名被 \citename 删除

文章作者姓名被 \citename 删除

\citename我在删除姓名冠词时遇到问题,例如在以下示例中打印“Foerster”而不是“Von Foerster”:

\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}

我怎样才能改变它以正确打印“Von Foerster 将此描述为从...的转变”(它应该自动将“v”大写,因为宏出现在句子的开头)。

答案1

您需要biblatex使用选项设置useprefix=true(或简单地useprefix)加载。这将 (1) 在引用中打印任何姓氏前缀,并且 (2) 在排序中包含前缀。Marco 展示了如何在这个帖子

要将前缀大写,可以使用以下变体\person

\newcommand*{\Person}[2]{\bibsentence\citename{#1}[#2]{author}}

相关内容