当我尝试将参考书目包含在文档中时,我收到了此消息\printbibliography
! Package inputenc Error: Unicode char \u8:‐ not set up for use with LaTeX.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
...
l.174 ...rintbibliography[heading=subbibliography]
我想说问题出在我的 .bib 文件中的某些字符上。但如果我没有收到来自 Biber 的错误消息,我该如何找到有问题的字符?
答案1
这种问题很容易解决。
软件包inputenc
会显示一个错误,向您提供有关文档中有问题的字符的信息。 在您的例子中,它是‐
(U+2010 HYPHEN),有问题的行是\printbibliography[heading=subbibliography]
,这意味着您的.bib
文件中有这样的字符。
使用编辑器的“搜索和替换”功能,将该字符替换为 可识别的字符inputenc
,例如-
(U+002D HYPHEN-MINUS),问题就解决了。
好的编辑器通常能够显示字符的 Unicode 代码。如果您的编辑器没有,而您又想知道该代码,那么您可以在网上找到很多用于此目的的工具。
一个例子是Unicode 字符查找器。将字符粘贴到那里,您将获得所有需要的信息。
答案2
这个问题解决了一个非常相似的问题: https://stackoverflow.com/questions/13596531/how-to-search-for-non-ascii-characters-with-bash-tools
看看答案建议
nonascii() { LANG=C grep --color=always '[^ -~]\+'; }
您将能够看到所有有问题的字符以红色显示,并且您可以添加额外的 grep 行。例如,您可以忽略 中的 UTF-8 Author
,但在Pages
字段中打印它。