! 程序包 inputenc 错误:Unicode 字符,为未知字符

! 程序包 inputenc 错误:Unicode 字符,为未知字符

我遇到了一个似乎很常见的问题。当我编译文档时,我遇到了几个 unicode 错误,就我而言,我遇到了字符 \global (U+2D1) 和 \egroup(U+2F2) 的错误。幸运的是,我在参考书目中发现了这两个有问题的符号,它们是作者姓名的一部分。

Mart{\a'\i}nez

这些问题经常出现,而且很难解决,因为问题可能多种多样。我看过其他几个有同样问题的问题。这里这里这里。一般来说,建议的解决方案是做一个变体 \DeclareUnicodeCharacter{<Unicode Hex>}{!!!!I-AM-HERE!!!!!}

如果我输入,\DeclareUnicodeCharacter{U+2D1}{!!!!I-AM-HERE!!!!!}我会得到以下错误“缺失数字被视为零”和“缺失 \begin{document}”。但是,如果我使用以下代码, \DeclareUnicodeCharacter{2D1}{!!!!I-AM-HERE!!!!!} 它不会发生任何变化,并且“!!!!I-AM-HERE!!!!!”不会出现在文档的任何地方。我正在使用 PDFLatex 来生成文档。

  • 为什么代码片段在我的文档中不起作用?
  • 我可以使用什么策略来处理自动生成的 .bib 书目产生的 Unicode 错误?

答案1

\DeclareUnicodeCharacter{U+2D1}{!!!!I-AM-HERE!!!!!}

应该

\DeclareUnicodeCharacter{02D1}{!!!!I-AM-HERE!!!!!} 

但是字符 U+02D1 是修饰字母半三角冒号,这似乎不太可能出现在您的源中。

\global您显示以虚假 tex 命令( , )为前缀的 unicode 数字,\egroup这表明整个错误消息是虚假的并且可能是由文件早期的编码错误引起的。

由于没有提供示例,很难提出任何修复建议。

相关内容