我正在用 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 的文件格式。
更正编码格式后将会修复错误。