zoukankan      html  css  js  c++  java
  • Runaway argument错误 [Overleaf: 在线Latex] [Type 3问题后续]

    [背景与问题描述]

    在Latex中,经常出现各种问题;

    Runaway argument?
    {contentsline {subsection}{
    umberline {6.3}General comments o 
    ! File ended while scanning use of @writefile.
    <inserted text> 
                par 
    l.47 egin{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

    =======================

    鸣谢:华中科技大学 陈琼同志

  • 相关阅读:
    流量控制--2.传统的流量控制元素
    流量控制--1.概览
    Opentelemetry Collector的配置和使用
    高德全链路压测——精准控压的建设实践
    高德全链路压测——语料智能化演进之路
    业内首发车道级导航背后——详解高精定位技术演进与场景应用
    浅析云控平台画面传输的视频流方案
    关于卫星定位,你想知道的一切
    Pod容器中安装软件包
    面试应该怎么问问题?
  • 原文地址:https://www.cnblogs.com/zeedmood/p/8991821.html
Copyright © 2011-2022 走看看