[背景与问题描述]

在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. [20171130]关于rman备份疑问.txt

    [20171130]关于rman备份疑问.txt --//前面测试太乱,重新做一些rman as copy相关测试. 1.环境:SCOTT@book> @ &r/ver1PORT_STR ...

  2. 常用Linux 服务器命令--各种性能指标命令

    如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个专业的 Linux 系统管理员. 监控命令## iostat### iostat命令用来显示存储系统的 ...

  3. 如何检查oracle的归档日志及空间占用率,清除归档日志

    如何解决“归档日志已满问题” 问题描述: 所用数据库为 Oracle 10g ,模式为归档模式,oracle 系统默认的归档空间为2G,由于日志过多,空间写满,数据库的redo文件不能归档,而出现or ...

  4. 给电脑插上无线网卡,变成路由器----Windows系统承载网络的使用

    1. 以管理员身份运行命令提示符(PowerShell) 2. 启用并设定虚拟wifi网卡 netsh wlan set hostednetwork mode=allow ssid=wifi名称 ke ...

  5. CentOS7查询系统版本内核信息

    1. 查看版本号 查看CentOS的版本号命令: [root@localhost ~]# cat /etc/centos-releaseCentOS Linux release 7.4.1708 (C ...

  6. 安装.Net Framework 4.6.2时出现“无法建立到信任根颁发机构的证书链”解决方法

    在安装Microsoft .NET Framework 4.6.2脱机包时提示 无法建立到信任根颁发机构的证书链 实际上是要安装一个根证书.解决方案如下(因无法贴链接,可百度搜索“mamicode.c ...

  7. 关于无限试用JetBrains产品的方案

    JetBrains免费试用期限为30天,通过对其试用机制的设想,找到了其破解试用机制的方案,具体如下: 在选择试用JetBrains产品的时候,它会在 C:\Users\用户名\对应产品\config ...

  8. PostgreSQL 空间处理函数

    PostGIS中的常用函数 以下内容包括比较多的尖括号,发布到blogger的时候会显示不正常,内容太多我也无暇一个个手动改代码,因此如有问题就去参考PostGIS官方文档. 首先需要说明一下,这里许 ...

  9. MapReduce全局变量之捉虫记

    全局变量 写MapReduce程序时候,有时候须要用到全局变量,经常使用的全局变量实现由三种方式: 通过作业的Configuration传递全局变量.作业初始化的时候.conf.set(),须要的时候 ...

  10. 【知识碎片】Mysql语句

    (1)mysql 更新最新的一条记录  ;