在 biblatex 中缩写 Troy McClure 的姓氏

在 biblatex 中缩写 Troy McClure 的姓氏

想象特洛伊·麦克卢尔写了一本书,有趣的是,他的姓氏现在出现了缩写在 biblatex+biber 书目中。其输出为“M., Troy”,但我认为最好是“McC., Troy”。

问题

我怎样才能让 biblatex 检测像这样的前缀(或者至少是这个特定的前缀)并获取正确的缩写姓氏?

平均能量损失

\documentclass{article}
\usepackage{biblatex}
\usepackage{filecontents}
\begin{filecontents}{bib.bib}
@book{mcd,
    author={McClure, Troy},
    title={Abbreviating My Surname In Biblatex Doesn't Work Well}}
\end{filecontents}
\addbibresource{bib.bib}
\DeclareNameFormat{author}{%
  \usebibmacro{name:last-first}{#2}{#3}{#5}{#7}}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

输出

输出

应该 ”麦克。,特洛伊。(…)”。

PS:对于 biblatex 3.3,\DeclareNameFormat 命令应该是(未经测试):

\DeclareNameFormat{author}{\nameparts{#1}%
\usebibmacro{name:given-family}{\namepartfamilyi}{\namepartgiven}{\namepartpre‌​fix}{\namepartsuffix}}

答案1

将作者字段更改为

author={{\relax McC}lure, Troy},

让你实现你的目标,,使姓氏显示为McC

完整的 MWE(与 biblatex v. 3.3 一起使用)——请注意,我必须删除{\namepartpre‌​fix}

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{bib.bib}
@book{mcd,
    author={{\relax McC}lure, Troy},
    title={Abbreviating My Surname \dots},
}
\end{filecontents}

\usepackage{biblatex}
\addbibresource{bib.bib}
\DeclareNameFormat{author}{\nameparts{#1}%
   \usebibmacro{name:given-family}{\namepartfamilyi}{\namepartgiven}{\namepartsuffix}}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

相关内容