今天遇到一个非常奇葩的问题,我的main.tex引入了layout.tex:
tex
% main.tex
\input{layout.tex}
...tex
% layout.tex
...
\begin{env}
...
\end{env}在没编辑 layout.tex 以前,正常编译。编辑以后,main.tex就各种报错。结果发现是在编辑保存时,vscode 自动删除了 layout.tex文件末尾的空行,这导致 \input 导入文件出错,引发下文编译的连锁问题。如果有新行,即包含实际内容的最后一行以换行符结尾则编译成功。为了显式这个问题,可以插入 \endinput 来告知 \input 导入文档的结束位置。
tex
% layout.tex
...
\begin{env}
...
\end{env}
\endinput