删除 bib 文件中首字母后的长空格

删除 bib 文件中首字母后的长空格

目前,当您在 biblatex 中引用完整名字时,这会导致 bib 文件中设置了首字母缩写的作者出现长空格问题。当首字母缩写是名字的最后一项时,不会发生这种情况,但在其他地方都会发生这种情况。考虑 MWE:

\documentclass{article}
\usepackage[style=verbose]{biblatex}
\bibliography{biblatex-examples}
\begin{document}
    \cite{sarfraz}
\end{document}

这将使 在此处输入图片描述

如您所见,M. 和 F. 后面的空格是长空格,而 M. 和 A. 后面的空格是常规空格。这种行为似乎发生在 verbose、musuos 和 windycity 样式中,所以我怀疑它与样式无关。

我有两个问题。1. 如何防止 biblatex 在 bib 文件中设置的首字母后添加长空格,而这些长空格不是名字的最后一个首字母?2. 是否也可以用短空格替换它们?

为 bib 文件中的每个条目提供全名不是一个选择,因为这与作者的自我介绍方式不一致(例如 K. Maria D. Lane 或 H. Floris Cohen 的情况)。理想情况下,我不必将 bib 文件中的每个相关条目都更改为类似M.\ F.\ A.\

答案1

出现此问题是因为在引用中biblatex没有切换到\frenchspacing(但在参考书目中却切换到,另请参见https://github.com/plk/biblatex/issues/295),因此.姓名首字母中的 s 在 LaTeX 中会被看作句末句号,后面跟着一个较大的空格。

可以通过添加显式\isdot\bibnamedelimi

\documentclass{article}
\usepackage[style=verbose]{biblatex}

\renewrobustcmd*{\bibnamedelimi}{\isdot\addnbspace}

\addbibresource{biblatex-examples.bib}

\begin{document}
  \cite{sarfraz}
\end{document}

“M. Sarfraz 和 MFA Razzak。”间距相等。

如果你想要首字母之间的空格较细,你可以尝试类似

\renewrobustcmd*{\bibnamedelimi}{\addnbthinspace}

相关内容