自从在新笔记本电脑上安装新的 TexLive 和 TexStudio 以来,我不断遇到此错误。这在我的台式机上编译正常,但我不知道问题的真正根源是什么。
有很多问题,"File ended while scanning for use of <something>"
但是每个问题似乎都有些独立。我看不到其他人有<something>="\documentclass"
。
在我的主文件中,我使用子文件包编写文档的不同章节(您可以在 LHS 上看到结构)。当我尝试编译时,TexStudio 似乎会抛出一个解析子文件头的解析错误。
我还深入研究了错误日志,似乎我得到了一些“失控参数”,其中编译中的某些点有一个额外的空格。例如,查看"R = \frac{h}{q^2}"
选定的行,然后是“失控参数”错误"R = \frac {h}{q^2}..."
(\frac 和参数之间的额外空格)。
我认为这种间距不匹配是导致解析错误的原因。知道发生了什么吗?编辑器中的原始文件看起来不错,在我的另一台电脑上编译也很好。
答案1
这种错误通常是由某种未封闭的结构引起的,即某种缺失}
或未封闭的环境。
在用 编写复杂的演示文稿时,我经常遇到这种情况beamer
。解决方案是缩小开始范围(可能通过仔细阅读文件*.log
,查看获得的任何部分输出文件),并毫不留情地注释掉/删除文件的某些部分,直到将问题隔离到一小段,然后如果看不到问题,则进行二进制搜索。
如果您要求(重新)缩进一段代码,支持 LaTeX 的编辑器(我使用带有 AUC-TeX 的 emacs)会有所帮助,许多错误将表现为奇怪的缩进。
答案2
根据subfiles
文档,你应该使用
\documentclass[<main_file_name>]{subfiles}
\begin{document}
....
\end{document}
这肯定已经更新了,因为我之前使用的版本可能在 2020 年之前,当时我不需要 \begin \end 命令。最后简单修复。