[背景与问题描述]

在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问题后续]的更多相关文章

  1. 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 ...

  2. 架构验证过程发现非数据类型错误 validation found non-data type errors

    问题: infopath报一下错误 validation found non-data type errors 架构验证过程发现非数据类型错误 原因: 重复表字段在后台代码里要一一对应,否则报错. 错 ...

  3. 发生了Post错误:错误代码40005,微信返回错误信息:invalid file type

    给客户部署 PxxCms, 使用群发功能发送图文的的时候提示: 发生了Post错误:错误代码40005,微信返回错误信息:invalid file type, 没学过php伤不起 ... Google ...

  4. 【转】JAVA错误:The public type *** must be defined in its own file***

    出现The public type xxx must be defined in its own file这个问题,是由于定义的JAVA类同文件名不一致.public类必须定义在它自己的文件中. 解决 ...

  5. VMware运行gazebo,关于vmw_ioctl_command error Invalid argument错误

    运行rviz 时报  VMware: vmw_ioctl_command error 无效的参数.  这个错误. 或者 运行gazebo,关于vmw_ioctl_command error Inval ...

  6. 启动docker容器时的Error response from daemon: devmapper: Error mounting: invalid argument. 错误解决

    错误出现 在一台物理机重启后,以前创建的容器无法启动了.一启动,则会报出错误. [root@217TN1V ~]# docker start e7e Error response from daemo ...

  7. 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 ...

  8. 报错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 ...

  9. 第一次在线latex的使用

    发现了一个神奇的网站,overleaf 以下是基于默认模板写的. \documentclass[a4paper]{article} %% Language and font encodings \us ...

随机推荐

  1. 【第七篇】SAP ABAP7.5x新语法之F4增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之F4增强 前言部分 ...

  2. django模板语言之Template

    当前端的一些数据需要后端传送过来并展示时,用到了django的模板语言,模板语言的作用就是,在后端把一些处理好的数据,通过模板语言所规定的格式,通过render渲染,放到前端页面固定的位置展示.这之间 ...

  3. 关于MySQL checkpoint

    Ⅰ.Checkpoint 1.1 checkpoint的作用 缩短数据库的恢复时间 缓冲池不够用时,将脏页刷到磁盘 重做日志不可用时,刷新脏页 1.2 展开分析 page被缓存在bp中,page在bp ...

  4. Sql Server 判断字符串是否可以转数字

    主要是在sql server的内置系统函数ISNUMERIC的基础上,将例外的“+”.“-”.“$”等也进行判断. CREATE FUNCTION [dbo].[fn_IsNumberic]( @st ...

  5. 【PAT】B1059 C语言竞赛(20 分)

    这个题也是个逻辑问题 此题用我这种方式很复杂,应该用map 用两个分别储存成绩,已领过奖的人, #include<stdio.h> #include<math.h> int a ...

  6. kafka的Java客户端示例代码(kafka_2.12-0.10.2.1)

    使用0.9开始增加的KafkaProducer和KafkaConsumer. Pom.xml <project xmlns="http://maven.apache.org/POM/4 ...

  7. kafka管理器之kafka-manager

    功能 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很容易地发现分布在集群中的哪些to ...

  8. postMessage 实现跨源通信 iframe 跨域获取url

    用postMessage实现跨源通信的方法实例 如:在www.bbb.com/index.html页面获取www.aaa.com/index.html的数据,以iframe的形式 www.aaa.co ...

  9. c++ 常成员函数 和 常对象

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhuyingqingfen/article/details/31751111 先明白几个概念: 1. ...

  10. 【剑指offer】推断二叉树平衡

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/mmc_maodun/article/details/27242575 转载请注明出处:http:// ...