使用 biblatex/biber 在 bib 文件中指定自由连字符的正确方法

使用 biblatex/biber 在 bib 文件中指定自由连字符的正确方法

今天我意外地收到了可怕的character not set up for use with LaTeXinputenc在这种情况下,我还非常确定错误来自文件.bib。但是,我 grep 了工作目录中的所有内容以及所有.bib文件,并且,以防万一,还 grep 了我所有的自定义.cls.sty文件。我唯一能找到这个角色的地方是生成文件中。也就是说,它似乎不在来源完全:

$ grep ‑ * ~/texmf/bibtex/bib/*.bib ~/texmf/tex/latex/cfr/* ~/texmf/tex/latex/config/*

从我的工作目录执行时出现以下内容(加上一些关于非文件类事物的无害投诉):

filename.bbl:        {Oxford University Press/Clar‑endon}%
filename.log:! Package inputenc Error: Unicode char \u8:‑ not set up for use with LaTeX.

也就是说,尽管角色是不是在我的任何源文件中,它在文件中biber生成。

我可以使用以下文件重现该错误:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
  @book{mybook,
    title       =   {Great Book},
    author      =   {Author, Some},
    year        =   1055,
    publisher   =   {Oxford University Press/Clar\-endon},
    address     =   {Oxford}}
\end{filecontents}

\bibliography{\jobname}

\begin{document}

  \autocite{mybook}

  \printbibliography

\end{document}

显然,我可以使用几个选项来解决这个问题。我可以\-从相关.bib文件中删除。或者我可以声明要插入的相关 Unicode 字符biber。或者我可以在文件外部的某个地方定义自由连字符.bib,我想。

但是,直到最近,这种方法一直运行良好。我已经使用了\-Clar\-endon长时间,以前从未出现过任何问题。因此,我认为biblatex/biber对文件中条目的响应方式发生了一些变化。(也许我应该补充一点,这并不是调用了连字符。在这种情况下,没有必要换行,因为它确实如此。)

这就引出了一个问题:在文件中指定自由连字符的正确方法是什么,.bib以便它们可以在没有特殊解决方法的情况下正确使用inputencUTF8pdflatex编码?

请注意,我确实了解 XeLaTeX 和 LuaLaTeX,但我特别感兴趣的是让它与 pdfLaTeX 一起工作。

答案1

这是一个错误,应该在 SF 上的 biber 2.0 DEV 版本中修复。解码为 UTF8 时,“\-”实际上不应该被触及。

相关内容