今天我意外地收到了可怕的character not set up for use with LaTeX
。inputenc
在这种情况下,我还非常确定错误来自文件.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
以便它们可以在没有特殊解决方法的情况下正确使用inputenc
UTF8pdflatex
编码?
请注意,我确实了解 XeLaTeX 和 LuaLaTeX,但我特别感兴趣的是让它与 pdfLaTeX 一起工作。
答案1
这是一个错误,应该在 SF 上的 biber 2.0 DEV 版本中修复。解码为 UTF8 时,“\-”实际上不应该被触及。