转自:https://www.douban.com/note/419828344/
目录:
一、问题描述
二、测试情况(可以跳过,直接看建议)
三、建议
四、参考资料

正文:

问题描述:

错漏某个符号(比如“$”)并在编译中被报错之后,过去经常采取的操作是按Console窗口里面的红色叉叉(Terminate Application),然后修改错误,然后重新编译,但是改正后的代码仍然编译报错,每次编译都是如此。编译报告说明:
Runaway argument?
{\contentsline {subsection}{\number1
! File ended while scanning use of @writefile.

\par
1.56 \begin{document}
?
奇怪的是,把全部代码复制到新窗口,保存为新的.tex文件并编译之后又完全没有问题。
后来又发现,只要把编译后在同一文件夹内生的.aux文件删除,就可以正确编译通过了。
但是如果每次都要这样的话,也太麻烦了。
上网查了查,并测试了下。过程如下。

测试情况:

说明下简称:
普通的漏掉“\(”这样的错误,叫作“错误Error\)”;
出现“Runaway argument?…………\begin{document}?”这样报错的错误,叫作“错误ErrorBoss”;
点击Console窗口里面的红色叉叉(Terminate Application)的操作叫作“按红叉”;
直接在Console窗口按回车,叫作“回车”;
在Console窗口先输入字母“x”再按回车,叫作“x回车”;
在Console窗口先输入字母“q”再按回车,叫作“q回车”。
下面记录下出现两种错误时,不同操作产生的效果:

出现错误Error\(时: 按红叉:中断编译过程过程,不给出编译报告。然后修改错误之后重新编译时,(根据在错误文中位置不同而有可能)出现错误ErrorBoss。 回车:仅跳过这步,继续编译完后面的,结尾Errors=1,Warnings与Bad Boxes正常显示。修改错误后,重新编译,可以正常编译。次推荐。 x回车:跳过余下全部编译过程,直接出编译报告,结尾Errors=1,Warnings与Bad Boxes只显示到该位置的数量。修改错误后,重新编译,可以正常编译。最推荐。 q回车:跳过余下全部编译过程,直接出编译报告,entering \batchmode,未深究,但结尾Errors数量随着“\)”位置的不同不可预测,Warnings与Bad Boxes正常显示。修改错误后,重新编译,可以正常编译。

以上步骤只有“按红叉”会导致错误ErrorBoss。

出现错误ErrorBoss时:
按红叉:中断编译过程过程,不给出编译报告。重新编译仍旧报错。
回车:仅跳过这步,继续编译完后面的,结尾Errors=1,Warnings与Bad Boxes正常显示(至此可以生成pdf)。重新点击编译,可以正常编译。次推荐。
x回车:跳过余下全部编译过程,直接出编译报告,结尾Errors=1,Warnings与Bad Boxes只显示到该位置的数量。重新编译仍旧报错。
q回车:跳过余下全部编译过程,直接出编译报告,结尾Errors=1,Warnings与Bad Boxes正常显示。重新编译,可以正常编译。最推荐。

建议:

最建议的做法是:
1.出现错误Error$时,不要按红叉,在Console窗口先输入字母“x”再按回车,然后再修改错误重新编译。或者直接按回车,但要多编译一些内容。看哪一个省力。反正不要按红叉,万一中招了呢。
2.如果不幸中招,出现错误ErrorBoss,正确做法是在Console窗口先输入字母“q”再按回车。或者直接按回车,但要多编译一些内容。然后确认代码正确后,重新编译。

【参考资料】
1.http://tex.stackexchange.com/questions/66015/errors-in-tables-then-runaway-argument-at-begindocument
里面Ulrike Fischer和tohecz的回答简洁而全面。
2.http://miktex.10937.n7.nabble.com/pdfLatex-won-t-compile-until-I-delete-archive-aux-td7311.html

PS关于.aux等附属文件有什么用处,以及如何方便删除,则暂时不管它,待参考:
3.http://tex.stackexchange.com/questions/11123/prevent-pdflatex-from-writing-a-bunch-of-files
4.http://tex.stackexchange.com/questions/24785/deleting-external-auxiliary-files

PPS:能用就好,暂时不究原因...

【转】Latex编译报错后中断编译并改正,然后重复出现不明原因报错的解决方法的更多相关文章

  1. Gradle 同步时报错,Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha8的解决方法

    Error:Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha8. 原因: SDK 中可能是没有安装 ...

  2. svn报错:“Previous operation has not finished; run 'cleanup' if it was interrupted“ 的解决方法

    今天改完代码提交时,提交接近完成但窗口还未关闭电脑蓝屏了.夏天来了,电脑比人还怕热啊~~~   心里咯噔一下,估计svn又会出一些莫名其妙的问题了. 果然,待电脑重启后开eclipse,文件还是新增状 ...

  3. Linux下Python3.5使用pyqt5.11报错 ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtCore.so: undefined symbol: PySlice_AdjustIndices 解决方法

    我用的Linux自带的是Python3.5版本,运行pip3 install PyQt5, 下载的是PyQt5.11,运行PyQt5程序会报错: ImportError: /usr/local/lib ...

  4. MySQL设置外键报错 #1452 - Cannot add or update a child row: a foreign key constraint fails 解决方法

    MySQL数据库,当我尝试在A表中设置B表的主键为外键时,报出错误:#1452 - Cannot add or update a child row: a foreign key constraint ...

  5. Django1.10+Mysql 5.7存储emoji表情,报Incorrect string value: '\\xF0\\x9F\\x90\\xA8' for column 'signature' at row 1的解决方法

    问题: 在做webapp项目的时候,用户提交emoji数据,控制台报错:Incorrect string value: '\\xF0\\x9F\\x90\\xA8' for column 'signa ...

  6. Mysql安装后在服务里找不到和服务启动不起来的解决方法

    一,在安装完Mysql数据库后,发现在控制面板->管理->服务中找不到Mysql的服务启动 解决方法如下:开启命令行,按照如下步骤即可: 1.进入到mysql的安装包,在bin里执行:my ...

  7. Latex 编译错误: ! pdfTeX error (ext4): \pdfendlink ended up in different nesting level than \pd fstartlink. 解决方法

    最近写 AAAI 的文章,下载了其模板,但是蛋疼的是,总是提示错误,加上参考文献总是出错: 如下: ! pdfTeX error (ext4): \pdfendlink ended up in dif ...

  8. composer 报错:Your requirements could not be resolved to an installable set of packages 解决方法

    composer 报错: - Your requirements could not be resolved to an installable set of packages xxxxxxxxxxx ...

  9. 【airtest, python】报错:requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer')),解决方法如下

    环境及设备 mac, xcode , iphonex 问题 最近出现一个让人费解的问题,airtest 没跑多长时间,服务就断掉,而且总是报“requests.exceptions.Connectio ...

随机推荐

  1. 关于dbw 与dbm 的计算

    一分贝(dB)表示单元信号强度的相对差异.其比率的基础对数为10,,如dB = 10 x Log10 (P1/P2). 基础10对数规则: Log10 (AxB) = Log10(A) + Log10 ...

  2. Jmeter+ant+jenkins接口自动化测试 平台搭建(一)

    平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成.Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可 ...

  3. python自动化17-JS处理滚动条

    前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候 ...

  4. TPO-19 C2 Cafeteria's Food Policy

    TPO-19 C2 Cafeteria's Food Policy 第 1 段 1.Listen to a conversation between a student and the directo ...

  5. 廖雪峰git教程学习笔记2

    本地git仓库和github仓库之间的传输是通过SSH加密的,所以: 注册GitHub账号 创建SSH key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id ...

  6. mysql删除表中的记录

    大家都知道,在MySQL中删除一个表中的记录有两种方法,一种是DELETE FROM TABLENAME WHERE... , 还有一种是TRUNCATE TABLE TABLENAME. DELET ...

  7. centos7 --ngnix 常用命令:

    配置命令 随服务器启动 # systemctl enable nginx.service 重启 nginx 服务 # systemctl restart nginx.service 停止 nginx ...

  8. ubuntu下Open vSwitch安装

    ubuntu下Open vSwitch安装 有关Open vSwitch的安装,网上有各种的教程资料,但一些已经过时,按照网上的教程,花费了大量时间,都没能安装成功.于是,通过查阅官方安装教程以及综合 ...

  9. c++ getline()和get()的区别

    1.方法get(char &)和get(void)提供不跳过空白的单字符输入功能:2.函数get(char * , int , char)和getline(char * , int , cha ...

  10. 数据库之python操作mysql

    目录 一.pymysql 二.SQLAchemy 2.操作使用 (1)连接数据库 (2)执行原生SQL语句 (3)ORM操作-数据表操作 (4)ORM操作-数据行操作 (5)更多例子 一.pymysq ...