如果你编译此代码(请注意,\begin{document}
已被注释):
% arara: pdflatex
\documentclass{article}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
%\begin{document}
\PreviewEnvironment{tikzpicture}
\begin{tikzpicture}
\node {a node};
\end{tikzpicture}
\end{document}
你收到此错误:
! I can't find file `preview.aux'.
但如果你取消注释\begin{document}
,请再次编译并创建preview.aux
:
\relax
\gdef \@abspage@last{1}
再次评论\begin{document}
,并最终重新编译它,它有效!
为什么会发生这种情况?
答案1
错误
! LaTeX Error: Missing \begin{document}.
有一个相当简单的实现:它已被添加到 \everypar 中,格式如下:
\everypar{\@nodocument}
因此,如果某件事在序言中开始一个段落,它就会被触发。
抑制错误很容易,只需清空\everpar
:
\documentclass{article}
\everypar{}
zzz
\begin{document}
aaa
\end{document}
另一种方法是调用\@arrayparboxrestore
包含以下内容的函数\everypar{}
:
\documentclass{article}
\makeatletter \@arrayparboxrestore \makeatletter
zzz
\begin{document}
aaa
\end{document}
预览代码在开头包含 a \@arrayparboxrestore
,因此它会抑制错误,但如果没有\begin{document}
重要代码丢失,那么最后您就会收到缺少辅助文件的错误。证明辅助文件在这里有帮助,但这并不意味着您有一个健全的文档。