[背景与问题描述]

在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. windows server 2008额外域控提升为主域控

    windows server 2008额外域控提升为主域控 ---图形界面操作方法 https://blog.csdn.net/tladagio/article/details/79618338 wi ...

  2. Ubuntu18.04 更换源

    在虚拟机新建一个Ubuntu18.04.1-live-server-amd64当做服务器 在安装软件时报错: slave@slave:~$ sudo -s[sudo] password for sla ...

  3. [HDFS_4] HDFS 的 Java 应用开发

    0. 说明 在 IDEA下 进行 HDFS 的 Java 应用开发 通过编写代码实现对 HDFS 的增删改查操作 1. 流程 1.1 在项目下新建 Moudle 略 1.2 为 Moudle 添加 M ...

  4. Python基础知识:集合

    1.集合(set)是一个存放在中括号内的无序,不重复的序列.例如:set = {'1','12','25'} 2.创建集合的两种方法: set = {1,2,3} 中括号直接创建 set = {[1, ...

  5. tkinter学习系列之(六)Radiobutton控件

    目录 目录 前言 (一)基本属性 (二)在Frame里布局: 目录 前言 Radiobutton单选框,在一组选框中,只能选中一个. (一)基本属性 (1)特有属性: value 按钮的值 varia ...

  6. Linux系统将http转为https

    想把网站由http访问转变为https访问并没有想象中那么难,网上查了一些资料,想要转为https需要SSL安全证书,这里推荐一款景安网络的证书,可以免费试用一年时间,自己拿来实践还是很不错的选择. ...

  7. Jersey常用注解解释 @DET、@PUT、@POST 、@DELETE等

    uri : ... /resource/{id} public voide method(@PathParam("id") String userId){} uri :  .../ ...

  8. Alpha冲刺博客汇总(麻瓜制造者)

    目录 Alpha冲刺报告 Github项目地址 测试报告与用户反馈博客地址 课程展示博客地址 事后诸葛亮 Alpha冲刺报告 Alpha冲刺报告(1/12)(麻瓜制造者) Alpha冲刺报告(2/12 ...

  9. 计算机基础-BIOS

    BIOS--硬件和软件的纽带(Basic Input Output System) 1.含义:基本的输入输出系统,它是一组固化到计算机内主板上的一个ROM存储芯片上的程序 2.性质:它保存着计算机最重 ...

  10. python scrapy爬虫框架概念介绍(个人理解总结为一张图)

    python的scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架   python和scrapy的安装就不介绍了,资料很多 这里我个人总结一下,能更加快理解scrapy和快速上手一个简 ...