包 inputenc 错误:使用的键盘字符未定义 - ^^c0

包 inputenc 错误:使用的键盘字符未定义 - ^^c0

我有一个非常大的 LaTeX 文档,由于以下错误而无法编译:

/usr/share/texlive/texmf-dist/tex/latex/pdfx/pdfx.sty:1398:
Package inputenc Er
ror: Keyboard character used is undefined
(inputenc)                in inputencoding `utf8'.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.1398 \ifcat ^^c0
                  \active \pdf@activecharstrue\fi 

问题是,由于文档的大小,我无法找到有问题的符号。

我想用一些不同的东西来“替换”这个角色,就像这样

\DeclareUnicodeCharacter{^^c0}{?????}

但它不起作用。是我做错了什么吗?还是这个字符根本无法替换?或者你还有其他提示来找出错误吗?

我在用着pdflatex

我已经阅读了其他几个问题,但无论如何我都无法解决这个问题:


编辑

它是这个文件- 我删除了几乎所有的文本main.tex但它仍然不起作用......


编辑2

好的,问题显然是由pdfx软件包引起的。我尝试将其移到inputencinclude 之前,如下所示

\RequirePackage[a-1b]{pdfx}
\RequirePackage[latin1, utf8]{inputenc},

但现在它给了我另一个错误:

/usr/share/texlive/texmf-dist/tex/latex/base/article.cls:235:
LaTeX Error: Comm
and \maketitle already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.235 }

答案1

类文件diploma.cls写得不太好。

软件包通常应在 之后加载\LoadClass。您只需将\LoadClass声明移到顶部即可。还应pdfx在 之前加载inputenc

\def\fileversion{9.0}
\def\filedate{2016/06/20}
\def\docdate{20. června 2016}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{diploma}[\filedate\space \fileversion\space diploma EXPERIMENTAL LaTeX document class]
\LoadClass[11pt]{article}
\RequirePackage[a-1b]{pdfx}
\RequirePackage[latin1,utf8]{inputenc}

我认为这个latin1选项没有inputenc任何好处。实际上,包应该在文档中加载,而不是由类加载。

答案2

有时只是一个复制粘贴的问题。

尝试手动重写问题行。

有一次我帮助一个学生,他在一行 Python 代码中犯了一些语法错误,这一行代码明显是这样的:

variable = [1,2,3].append("text")

然后我决定逐个字符地删除该行,结果发现在=[字符之间我必须按 5 次退格键。

这通常发生在您将某些内容从呈现的文本文档(如 PDF 文件)复制到控制台时。

答案3

人们会告诉你不要这么做,只需删除所有 root_document.bbl、root_document.out 等文件(假设 root_document 是你的根文档)。通常,即使你删除了有问题的字符,这些文件也无法正确更新。只需重新编译,一切就都好了。

相关内容