我开始使用 biber 和 biblatex 来编制参考书目。我引用法语和西班牙语的书籍,因此几本书和文章的标题或作者姓名中有重音字母。使用 bibtex 编译 .bib 文件时我没有遇到任何问题,我已经使用该文件两年了。但现在使用 biber 时,我的一些条目似乎有问题,但不是全部。
我正在使用 TexShop 并使用 Latex 进行编译。
您会发现我的序言中的一些内容可能与您相关:
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=authoryear]{biblatex}
\addbibresource{MyBib.bib}
\usepackage[colorlinks, allcolors=blue, breaklinks]{hyperref}
\begin{document}
\autocite{key}
\end{document}
当我运行 bibtex 时(图形选项称为 bibtex buy,我使用 biber 作为后端),我一开始就收到以下消息:
在 /var/folders/1t/gfg6lx791ds0hfh1hxskk8y40000gp/T/par-696675636873/cache-955b5cd96386991ca6623279060097e4c757d28e/inc/lib/Biber/Utils.pm 第 932 行,“\x{fffd}”未映射到 ascii。
尝试再次使用 Latex 进行编译时,我收到以下消息:
未定义控制序列。St\x{fffd}phanie
此参数对应于我的某个条目中的作者姓名。我修改了该条目,如下所示:
St{\'e}phanie
在我的 .bib(JabRef)中,但这并不能解决问题。
我该怎么办?有没有办法找到解决方案,而不需要逐个更改字符来查看整个参考书目数据库?
答案1
如果您使用 ,这种问题很容易解决biber
。由于它默认使用 UTF-8,因此有充分的理由在文件中使用相同的编码bib
。也就是说,使用 ,é
而不是传统的 (Bib)TeX 编写{\'e}
。
当然,如果您需要在现有.bib
文件上使用 BibTeX,那么如果它是 UTF-8,您就会遇到问题。但是,biber
可以轻松为您解决这个问题:
biber --tool --output_encoding=ascii inputfile.bib
这将生成一个名为的文件inputfile_biber.bib
,该文件可以与传统的 BibTeX 一起使用。
在上述情况下,它似乎biber
正在向您提供.bbl
UTF-8 编码,但您的文档使用的是传统编码,而这种编码在当今几乎没有什么可推荐的。对于大多数依赖 pdfTeX 引擎的基于拉丁字母的文档(即使用或OT1
编译您的文档),我建议您使用:latex
pdflatex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
xelatex
(如果您使用 XeTeX ( ) 或 LuaTeX ( lualatex
) 来编译您的文档,则通常不会出现此问题……)