Biblatex - 禁止作者名字和姓氏之间换行

Biblatex - 禁止作者名字和姓氏之间换行

我正在使用一个biblatex-gost包。这是 MWE:

\documentclass[12pt,a4paper]{article}
\begin{filecontents}{\jobname.bib}
@book{halanay,
    langid = {english},
    title = {Differential Equations Stability, Oscillations, Time Lag},
    author = {A. Halanay},
    location = {New York--London},
    publisher = {Acad. Press},
    year = {1968},
    pagetotal = {568},
}
\end{filecontents}       
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[backend=biber,bibencoding=utf8,maxbibnames=999,style=gost-numeric,language=auto,autolang=other]{biblatex}
\addbibresource{\jobname.bib}

\toggletrue{bbx:gostbibliography}
\usepackage[autostyle]{csquotes}

\begin{document}
\cite{halanay}
\printbibliography
\end{document}

它产生

在此处输入图片描述

如您所见,参考文献中作者的名字和姓氏之间有一个换行符。我该如何禁止它,以便它们A. Halanay在同一行中?

注意:A.~Halanay不太好,因为 Biblatex 认为它是一个单词,并且A. Halanay也写在行首。但是 GOST 样式要求Halanay A.首先是,然后是A. Halanay

答案1

名字与姓氏之间的空格由 控制\bibnamedelimd,默认情况下为\addlowpenspace,即换行惩罚较低的空格。

您可以使用

\renewcommand*{\bibnamedelimd}{\addnbspace}

无条件避免换行。

\documentclass[12pt,a4paper]{article}
\begin{filecontents}{\jobname.bib}
@book{halanay,
    langid = {english},
    title = {Differential Equations Stability, Oscillations, Time Lag},
    author = {A. Halanay},
    location = {New York--London},
    publisher = {Acad. Press},
    year = {1968},
    pagetotal = {568},
}
\end{filecontents}       
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[backend=biber, maxbibnames=999, style=gost-numeric, language=auto, autolang=other]{biblatex}
\addbibresource{\jobname.bib}

\renewcommand*{\bibnamedelimd}{\addnbspace}

\toggletrue{bbx:gostbibliography}
\usepackage[autostyle]{csquotes}

\begin{document}
\cite{halanay}
\printbibliography
\end{document}

“A.”和“Halanay”之间没有换行符。

相关内容