我的 Latex 文档需要多个实例,\end{document}
尽管我只有一个begin{document}
。
如果没有额外的\end{document}
s,我会收到错误:
Compile Error. Sorry your LaTeX code couldn't compile for some reason.
以下是非致命错误列表(我还没有上传一些照片)以及致命错误:
Emergency Stop.
<*> main.tex
***(job aborted, no legal \end found)
\end(doument)
直到我在文档末尾添加了一个额外内容,该错误才消失。过了一会儿,错误再次出现,并且直到我添加了另一个,才得到明显修复\end(doument)
。
我现在有三个实例,但\end(doument)
只有一个\begin(document)
,但它似乎已经修复了错误。
可能的原因(也许):
在我添加包后不久,错误开始出现etex
,所以可能与此有关。我添加这个包是因为我已经达到了图片限制。不过,在我添加这个包后,它确实编译了几次,没有任何问题,所以可能不是这个原因。
我也在使用子文件包,每个部分都在其自己的 tex 文件中。这些文件通过 添加到主 tex 文件中\subfile{path}
。这些子文件没有前导,因为该\subfile
命令的工作方式就像 .tex 文件中的文本被简单地复制并粘贴到 的位置一样\subfile{path}
。同样,这在错误出现之前就已经起作用了,但现在文档越来越大,所以也许是它让人感到困惑?
我只使用过\input{}
一次该命令,在文件的最开始main.tex
,在 之前\begin{document}
。这是为了输入所有前言内容,例如用户包和自定义命令。再次说明,这在错误发生之前就已经正常工作了。
我的文件的开头main.tex
如下所示:
\documentclass[a4paper]{report}
\input{header.tex}
\title{the title}
\begin{document}
\maketitle
...
header.tex 文件只是\usepackage
和\definecolor
和命令的列表。没有其他内容。此文件的底部或开头没有任何内容。同样,在错误开始出现之前\newcommand
,\linespread{1.5}
它运行良好。我只是想提一下,以便您了解我的源代码的结构。
我正在 ShareLatex 网站上使用 pdfLaTeX 编译器编写这个项目。我的文档长达 200 页。我使用了 20 多个软件包。如果您想查看完整的头文件,我已将其放在单独的项目中供查看这里。
为什么我会收到此错误?我该如何修复它?
谢谢!