Springer LNCS bst (splncs04) 中的“无效 UTF-8 字节序列”

Springer LNCS bst (splncs04) 中的“无效 UTF-8 字节序列”

我的合著者正在使用 Overleaf 准备稿件,使用Springer LNCS 风格(版本 2.21)。参考书目条目包含各种非 ASCII 字母的名称,例如带点的 G (Ġ)、一些(但不是全部)在使用 进行编译时会导致“无效的 UTF-8 字节序列”错误pdflatex。(使用 和 进行编译时也会触发类似的错误xelatexlualatex)该问题似乎仅在使用 Springerbst文件时发生,在使用 BibTeX 的默认参考书目样式时不会发生。

使用 TeX Live 2022 离线编译文档时,此问题也会重现,因为 TeX Live 2022 将utf8其用作默认输入编码。我已验证输入文件确实是 UTF-8 编码的,并且有问题的字符是有效的 UTF-8 序列。使用bibtexu代替 可以bibtex解决这个问题,但似乎没有任何方法可以告诉 Overleaf 使用bibtexu

问题的原因是什么?修复或解决该问题的最佳方法是什么?这样我们才能继续使用 Overleaf?不幸的是,我们不得不使用 Springer 书目样式,但也许有办法可以解决它?

我认为一种解决方法是bib使用 LaTeX 命令序列重写文件中有问题的字母(例如,${\mathrm{\dot{G}}}$Ġ),但这最终会混合文本和数学字体,并阻止我们简单地将现有的参考书目条目复制并粘贴到文件中。此外,我们的参考书目文件可能包含数十种不同的非 ASCII 字符,我们不清楚哪些需要替换。(问题出现在某些字母上,但不出现在其他字母上。)

这是一个演示该问题的最小示例:

\documentclass[runningheads]{llncs}

\begin{filecontents}{\jobname.bib}
  @incollection{foo,
  title = {Foo},
  booktitle = {Bar},
  author = {Mathurin, Élise and Mallia, Ġorġ},
  year = {2022},
}
\end{filecontents}

\begin{document}
\nocite{foo}
\bibliographystyle{splncs04}
\bibliography{\jobname}
\end{document}

答案1

(此处有来自 Overleaf Support 的汤姆。)

有一种方法可以在 Overleaf 中bibtexu代替运行bibtex,但是,正如 Ulrike Fischer 所指出的,该工具总体上没有得到很好的支持,应该从 TeX Live 中删除。

为了运行它,您可以latexmkrc在项目的顶级文件夹中创建一个名为(不带任何文件扩展名)的文件,并向其中添加以下行:

$bibtex = `bibtexu %O %S`

不过,我无法bibtexu正常工作,所以我把这部分留给你,也许你会更幸运。

相关内容