编译器突然给出数百个“无效字符”

编译器突然给出数百个“无效字符”

我正在用 TexMaker 编写我的 latex 文档,突然在我进行的数千次编译中,有一次出现了错误,我无法消除它。错误是:

! Text line contains an invalid character.

“有趣”的是,错误出现在第 2 行,我已经好几个星期没有修改过这一行了,结果编译中出现了 100 个这样的错误,每个错误都多了一个无效字符。一开始只有一个,然后每个错误都会给字符串增加一个字符。很奇怪。

以前有人遇到过这个错误吗?很明显,错误不是由于无效字符引起的,它不存在!有什么想法吗?

答案1

以下内容来自.log您所报告的文件:

("C:\Documents and Settings\ander.biguri\Escritorio\Memoria\LaTeX\Memoria.aux"
! Text line contains an invalid character.
l.2 ! Text line contains an invalid character.

这意味着在.aux文件中发现了无效字符。请删除该文件并重试。

编译过程中的错误有时可能会导致每次重写文件时损坏.aux。删除操作是安全的操作,唯一的后果是需要再运行几次 LaTeX 来同步交叉引用。

答案2

错误消息的下一行(您没有显示)应该显示字符,例如

! Text line contains an invalid character.
l.7 \begin{document}^^?

事实上,我认为在默认设置中这是唯一无效的字符(删除,U+007F)。所以你需要删除删除字符。

您的文件可能以错误的编码保存?

答案3

我遇到了同样的问题,避免这些错误的一个简单方法是将构建系统更改为xelatex

例如,如果您使用sublime text,则将以下行添加到文件头部.tex

%!TEX program = xelatex

有些人可能不想改变构建系统。现在让我介绍另一种解决方案。此问题是由错误的文件编码格式引起的。因此你应该将文件编码格式更改为UTF-8(Notepad++ 可以帮助您做到这一点)。

例如,Windows 用户可能会收到类似这样的错误zhwindowsfonts.tex:1: Text line contains an invalid character. [^^@]

xxx\texlive\texmf-dist\tex\generic\ctex\zhwindowsfonts.tex:1: Text line contains an invalid character. [^^@]
xxx\texlive\texmf-dist\tex\generic\ctex\zhwindowsfonts.tex:1: Text line contains an invalid character. [^^@^^@]

在这种情况下,您应该更改 zhwindowsfonts.tex 的文件格式。您可能会收到类似以下错误

xxx\texlive\texmf-dist\tex\context\base\mkii\supp-pdf.mkii: Text line 

在这种情况下,您应该更改 supp-pdf.mkii 的文件格式。

更正编码格式后将会修复错误。

相关内容