在线latex编译器与本机编译,差别在三处
更新于
把本机能通过的项目交给在线latex编译器后突然报错,先别急着重写正文。源码相同不代表运行条件相同:宏包文件从哪里来、字体由谁提供、一次任务允许运行多久,都可能发生变化。迁移前做三组有针对性的检查,比反复更换网页更容易找到原因。
宏包要连同依赖一起搬
先在原稿导言区查看使用了哪些宏包,再检查项目文件夹里是否还有自带的文档类、样式文件和配置文件。只传一个主文件,正文里使用的命令不一定就能被识别。尤其是老师或期刊给的模板,正文很短,也可能依赖旁边几个不显眼的文件。
测试时保留文档类和必要宏包,正文只放一段普通文字与一条公式。如果此时就提示缺少文件,应处理环境依赖,而不是删掉正文中的数学符号。如果文件存在却提示某个命令未定义,再核对宏包是否实际加载、文件名大小写是否一致,以及环境提供的版本是否满足模板需要。
记录这份短稿使用的主文件与引擎。否则换了设置再测试,看似是宏包问题消失,实际可能只是跑了另一份文件。对自带文件保留原来的目录关系,避免将同名样式放到多个位置后无法判断调用了哪份。
字体来自运行端而非眼前这台电脑
本机排版可以读取本机已配置的字体,远端任务则使用远端提供的字体资源。你在办公软件里看到某款字体,只能证明它在当前电脑可用,不能证明浏览器背后的服务也能找到它。

用一页文字分别放入中文、英文、数字和数学表达式,检查是否缺字、是否出现替代字形、数学字母是否与正文协调。先用服务已有的字体完成测试,再处理指定字体的要求。若服务允许添加字体文件,也要按其说明设置路径并确认自己有使用权限;仅在源码里写一个字体名称不能完成迁移。
这一步应与宏包测试分开。字体替换可能让字宽改变,随后产生换行与分页变化,因此既要看日志是否通过,也要看标题、表格与页尾有没有挤出。

超时看复杂度,不只数页面
最后用接近交付状态的稿件运行一次。保留真实图片、绘图和参考文献流程,记录任务是主动报错结束,还是被运行限制中断。前者通常有可定位的原因,后者需要减少单次负担或换到能承接该任务的环境。
可以逐章加入内容,观察从哪一章开始明显变慢。若加入一张复杂绘图就出现变化,检查它是否能预先处理为目标接受的图形;若每章都正常而整稿超限,再考虑分章校稿、本机完成整稿。分章检查不等于最终分页已经通过,交付前仍需跑完整文档。
不要拿一页纯文字得出的速度推算整本论文,也不要把运行中断解释成公式语法一定有错。相同的页数,只有文字与带大量绘图的工作量可以差很多。

只修一个公式时换小范围处理
如果问题只是分式括号或上下标,可先在本站输入那条公式,利用 LaTeX 模式与右侧预览检查结构。符号面板也能帮助补入不熟悉的记号,无须为这一小处先迁移整个 TeX 项目。
本站的公式编辑和完整文档编译承担不同任务。公式整理好后,可插入文档继续写说明;要交给 Word,可在「可视化」模式导出为 .docx,再用 Word 2016 及以上打开核对原生公式对象。导出需要登录与会员,不能据此推断本站承接原项目的宏包执行或字体环境。
延伸阅读
- LaTeX 在线编译:按错误类型确定排查位置。
- latex在线编译器:把实际需求变成两项测试。
常见问题
- 很长的稿子在线编译会不会超时?
- 有这种可能,但页数不能单独决定结果。复杂绘图、高分辨率图片和辅助程序都会增加处理负担,应拿真实稿件测试,并查看所用服务的单次运行限制。