如何解决 Zotero 生成的 BibTeX 文件的编码问题?

如何解决 Zotero 生成的 BibTeX 文件的编码问题?

我使用 Zotero 管理和导出参考列表。有时文本字段包含重音符号、抑扬符、变音符等。

当我在 LyX 中使用此类 bib 文件(尝试了plainunsrturl样式)时,出现以下错误:

  • Command \texteuro unavailable in encoding T1(OT1 也有类似错误;使用\usepackage{textcomp} 使错误消失
  • Undefined control sequence
  • Package inputenc Error: Keyboard character used is undefined(即使使用后仍然出现\usepackage{textcomp}

仅当我用常规字符替换重音字符时,代码才会编译。

答案1

正如 @MikeRenfro 指出的那样,解决方案来自OhadSoft:Zotero – 将 Unicode 和 LaTeX 结构导出到 BibTex,工作:

  1. Zotero 首选项 -> 导出 -> 选中导出时显示字符编码选项。
  2. 每当您导出数据库时,请选择非 Unicode 字符编码,例如 ISO-8859-1

答案2

我没有使用 Lyx,但我刚刚在自己的 Zotero 设置中遇到了这个问题。问题是 Zotero 使用 UTF-8(Unicode)对所有内容进行编码,因此它创建的导出 .bib 文件也将具有 UTF-8 编码。BibLaTex 与 UTF-8 兼容,但 BibTex 不兼容;因此,如果您尝试使用 BibTex 或 Biber 进行编译,即您\usepackage[backend=biber, citestyle=chem-acs, maxbibnames=99]{biblatex}在序言中有一行,它会向您显示有关 UTF-8 的错误。在我的情况下,我使用的是 TexWorks,因此只有在我重新编译使用 pdfLaTex。这是一个重大问题,并且还有许多悬而未决的问题。

我尝试添加\usepackage[utf8]{inputenc}我的序言,但没有帮助。

目前可行的解决方案是使用优秀的第三方 Zotero 插件zotero-better-bibtex导出 BibTex 格式的 .bib 文件,其中 UTF-8 编码字符已替换为 LaTeX 编码字符。目前 Zotero 默认不支持此操作。

为了安装这个插件,我必须升级到 Zotero 的最新版本然后安装 zotero-better-bibtex根据说明

为了导出将 unicode 转换为 LaTeX 的 .bib

  • 选择导出 > 格式: Better BibTex(不是 Better BibLaTex(BibLaTex 与 UTF-8 兼容))
  • 在 TexWorks 中,
    1. 使用 pdfLaTeX 进行编译
    2. 使用 Biber 进行编译
    3. 使用 pdfLaTeX 进行编译

我现在可以无错误地进行编译并获得具有正确格式的特殊字符的参考书目的 PDF

相关内容