目前,当您在 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}
如果你想要首字母之间的空格较细,你可以尝试类似
\renewrobustcmd*{\bibnamedelimi}{\addnbthinspace}