Runaway argument错误 [Overleaf: 在线Latex] [Type 3问题后续]
[背景与问题描述]
在Latex中,经常出现各种问题;
Runaway argument?
{\contentsline {subsection}{\numberline {6.3}General comments o
! File ended while scanning use of \@writefile.
<inserted text>
\par
l.47 \begin{document}
这个Runaway argument问题经常是由于不完全的Latex编译导致的,例子可以参考
https://tex.stackexchange.com/questions/66015/errors-in-tables-then-runaway-argument-at-begindocument
在离线的Latex工具上,一个简单的解决方法就是删除.aux文件并重新编译。如果编译完全,生成正确.aux文件,问题也就解决了。但是,如果问题未解决,重新编译依然不完全,那么Runaway argument还会反复出现。
在线的Latex工具(如overleaf)由于增加了一些限制,也常常使得这些问题变得更加棘手。
如Overleaf有编译时间限制,当处理占用空间较大的图片文件时(比方说,为了解决Type 3问题,将eps图片曲线化从而使得图片增大),容易超时。
=============================
[问题解决方法与解释]
这里,针对在线Latex工具Overleaf,罗列我们尝试成功的方法:
1、重新新建Overleaf项目
“遇事不决就重启”的Latex版。虽然玄学地跑通了,但对Overleaf的内部业务逻辑不了解,我们猜测原因如下:
新开的项目,没有编译之前不存在中间文件,所以运行正常。而老项目:
1)在Overleaf中产生了备份或log文件,增加了编译时间
2)会产生中间文件会覆盖之前的,不断的覆盖的过程中,可能出现碎片等其它错误
--------------------------------
2、延用原有Overleaf项目
为了保持原有的版本控制,这里我们选择了继续调整原有项目。
问题描述:Runaway argument的产生是因为aux出错,aux出错是因为编译的不完全。而在线版本,由于我们重新编译仍然不完全,所以aux和compile timeout交替出现。
问题分析:编译不完全的其中一个原因是因为eps占用空间太大,在线生成pdf需要时间太长;
问题解决:
1)在离线备份前提下,删除在线的大体积eps (比如名字是abc.eps);
2)用离线latex(包含了epstopdf package,离线文件夹中也有大体积eps)生成大体积eps对应的pdf
3)确认pdf命名,比如名字是abc.eps,其pdf命名应为abc-eps-converted-to.pdf
4)上传pdf
编译无错通过
注意:
1)如果不希望编译eps,即使上传了pdf,其eps也应该删除。因为一旦系统发现eps和pdf不匹配,会重新编译eps。
2)pdf的命名
好处:主要是希望兼容之前的版本(不去修改原文中图片引用的代码)。原理是这样的,系统首先会搜索eps,搜索不到的情况会显示上一次成功版本(也就是,对名字是abc.eps的文件,系统会搜索abc-eps-converted-to.pdf),所以pdf的名字就需要是convert后的命名。这样就可以同时支持eps和pdf文件的读取(但abc.eps)。
缺点:由于部分在文中提及的eps缺失了,所以会有warning;如果之后有相应的eps图片要更新,就需要先生成pdf再上传
3)也可以考虑用其它方式压缩图片体积。用photoshop打开,然后另存为eps,可以将5.5MB的eps压缩到3.8M左右。也可以考虑换个转换的软件(如果读者还有其它建议,欢迎评论或留言)。
4)Overleaf编译超时还可以尝试一下买一个Pro版 。匿名版编译时间30秒,免费版编译时间1 min,时间到出不来就会超时。Pro / Pro+能把编译时间增加到4 min [1]。

Reference
[1] https://www.overleaf.com/help/46-why-do-i-keep-getting-the-compile-timeout-error-message
=======================
鸣谢:华中科技大学 陈琼同志
Runaway argument错误 [Overleaf: 在线Latex] [Type 3问题后续]的更多相关文章
- TypeError: Fetch argument 0.484375 has invalid type <class 'numpy.float32'>, must be a string or Tensor. (Can not convert a float32 into a Tensor or Operation.)
报错: TypeError: Fetch argument 0.484375 has invalid type <class 'numpy.float32'>, must be a str ...
- 架构验证过程发现非数据类型错误 validation found non-data type errors
问题: infopath报一下错误 validation found non-data type errors 架构验证过程发现非数据类型错误 原因: 重复表字段在后台代码里要一一对应,否则报错. 错 ...
- 发生了Post错误:错误代码40005,微信返回错误信息:invalid file type
给客户部署 PxxCms, 使用群发功能发送图文的的时候提示: 发生了Post错误:错误代码40005,微信返回错误信息:invalid file type, 没学过php伤不起 ... Google ...
- 【转】JAVA错误:The public type *** must be defined in its own file***
出现The public type xxx must be defined in its own file这个问题,是由于定义的JAVA类同文件名不一致.public类必须定义在它自己的文件中. 解决 ...
- VMware运行gazebo,关于vmw_ioctl_command error Invalid argument错误
运行rviz 时报 VMware: vmw_ioctl_command error 无效的参数. 这个错误. 或者 运行gazebo,关于vmw_ioctl_command error Inval ...
- 启动docker容器时的Error response from daemon: devmapper: Error mounting: invalid argument. 错误解决
错误出现 在一台物理机重启后,以前创建的容器无法启动了.一启动,则会报出错误. [root@217TN1V ~]# docker start e7e Error response from daemo ...
- asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value 'DALMsSql.DBSessionFactory,DALMsSql'.
asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value 'DALMsSql.DBSessionFa ...
- 报错The "chunk" argument must be one of type string or Buffer. Received type object
报错内容: TypeError [ERR_INVALID_ARG_TYPE]: The "chunk" argument must be one of type string or ...
- 第一次在线latex的使用
发现了一个神奇的网站,overleaf 以下是基于默认模板写的. \documentclass[a4paper]{article} %% Language and font encodings \us ...
随机推荐
- [20171214]hashcat破解oracle口令.txt
[20171214]hashcat破解oracle口令.txt hashcat is the world's fastest and most advanced password recovery u ...
- 用Python实现数据结构之映射
映射与字典 字典dict是Python中重要的数据结构,在字典中,每一个键都对应一个值,其中键与值的关系就叫做映射,也可以说是每一个键都映射到一个值上. 映射(map)是更具一般性的数据类型,具体到P ...
- [MapReduce_7] MapReduce 中的排序
0. 说明 部分排序 && 全排序 && 采样 && 二次排序 1. 介绍 sort 是根据 Key 进行排序 [部分排序] 在每个分区中,分别进行排序 ...
- JUnit单元测试入门
什么是单元测试 写了个类,要给别人用,会不会有bug?怎么办?测试一下. 用main方法测试好不好?不好! 不能一起运行! 大多数情况下需要人为的观察输出确定是否正确 为什么要进行单元测试 重用测试, ...
- Docker搭建wordpress博客环境(Centos7)
Docker搭建wordpress博客环境(Centos7) 升级系统 yum -y update 设置docker库 sudo yum install -y yum-utils sudo yum-c ...
- Android Studio入门问题汇总
1.如何设置 AS 中的字体大小 2.如何切换 AS 的皮肤颜色,默认为黑色,修改为白色,改为 default 3.首次安装 Android Studio并打开时,如果创建了一个新工程并将工程保存在另 ...
- js获得当前元素的样式
利用currentStyle()和ComputedStyle() 1 通常用法: balance为类名 window.getComputedStyle(document.querySelector(& ...
- 史上最全脉搏心率传感器PulseSensor资料(电路图+中文说明书+最全源代码)
准确度说明: 1 输入引脚一定要接在模拟输入口上 ESP-D1 只有一个模拟输入口 A0 0-3.3V 心跳不要接在5v上,否则电压不准 ESP-D1开发板有一个5V和一个3.3v 普通ar ...
- ROS教程4 ROS自定义srv类型及使用
创建srv文件 在上一节单独为自定义的消息和服务的包 test_msgs 里面 创建 srv文件夹 进入创建 testsrv.srv 文件 ,内容为: (srv文件和msg文件类似,唯一不同的是它包含 ...
- go标准库的学习-database/sql/driver
参考:https://studygolang.com/pkgdoc 1>导入方式: import "database/sql/driver" driver包定义了应被数据库驱 ...