想象特洛伊·麦克卢尔写了一本书,有趣的是,他的姓氏现在出现了缩写在 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}{\namepartprefix}{\namepartsuffix}}
答案1
将作者字段更改为
author={{\relax McC}lure, Troy},
让你实现你的目标,即,使姓氏显示为McC
。
完整的 MWE(与 biblatex v. 3.3 一起使用)——请注意,我必须删除{\namepartprefix}
:
\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}