我是一个“新手” TeX/LaTeX 用户,我遇到了错误Missing \begin{document}
。我试过 pdflatex、xelatex、xetex、luatex……都没用。
其实我解决了通过删除每个辅助文件并仅保留 .tex 文件,此方法(至少扭转了局面)之后可以顺利编译,所以我将这些信息留给其他新手。
我认为问题更准确地说是出在 .aux 文件上,但我不确定,因为我无法完全复制该问题并逐个文件尝试。
在删除文件之前,我尝试用相同的代码创建一个新的.tex 文件并进行编译,但包含辅助文件的原始文件却没有。
我的问题是:为什么只要删除辅助文件就可以顺利编译?
代码大致如下:
\documentclass[a4paper,landscape,twocolumn,openany]{book}
\usepackage[utf8]{inputenc}
\usepackage[brazilian]{babel}
\usepackage{geometry} % for landscape and some other stuff
% some other innocent packages like amsmath
% i'm pretty sure it wasn't their fault anyway
\title{HUEHUEHUE}
\author{Fulano}
\date{\today}
\usepackage{lipsum} % illustration purposes
\begin{document}
\maketitle
\tableofcontents
\part{bla, bla, bla}
\lipsum
\chapter{pi, pi, pi}
\lipsum
\section{nhe, nhe, nhe}
\lipsum
\end{document}
我在 Ubuntu 的终端和 vim 中编辑,没有特殊选项,例如在 vim 中保存折叠等。
我还注意到,有时对于其他“测试”文件,当我将每个块放在其上时,我必须编译两次才能获得正确的内容,否则它会错过章节,搞乱目录之类的东西。
对于没有阅读完整文档的其他懒惰的 tex 用户来说,这个答案可能非常方便。
编辑:我没有改变序言中的任何内容,它只是“突然”决定错过\begin{document}
答案1
\begin{document}
如果 latex在设置之前开始尝试排版段落,则会出现该错误。在此处理过程中aux
,将读取文件(以解析上次运行保存的交叉引用信息)。可能会发生文件aux
损坏的情况,因此文件中的命令被误解,字符开始被解释为要排版的文本,从而触发错误。如果发生这种情况,删除文件aux
是应该做的事情。
看着一个修复好的文件,不可能说出它aux
是如何损坏的。中止以前的工作、意外编辑、杂散宇宙射线……