【报错】arXiv上传文章出现XXX.sty not found
笔者在overleaf上编译文章一切正常,但上传文章到arxiv时出现类似于如下报错:
一般情况下观察arxiv的编译log,不通过的原因,很多时候都是由于某一行导入了啥package,引起的报错;但是如果没有任何一个具体的报错,只是告诉你XXX.sty not found
,那么很可能是编译器版本的问题。
如上述这个报错,主要是由于arxiv 的latex编译器版本过低,导致tabularray根本无法在内置环境中找到导致的。
截止到目前,arxiv使用的latex编译器版本为2020版,但是像overleaf默认使用的都是最2022新版的tex,这就会导致很多在overleaf上自己能够导入编译成功的package,在arxiv上却not found
。
具体参考overleaf 官方给出的checklist.
解决方案
这里给出两种解决方案:
1. 改用老版本的package
最直接的解决方案,自然就是把一些太新的package注释掉,重新上传。
如果当前的pdf排版依赖于这些package,那么就得考虑用一些老版本的包代替了。
例如,如果你用了
tabularray
排版的表格,那么可以将其替换为tabular
,可以实现接近的排版效果。
按照笔者的经验,一些新的package,肯定能够找到能够用作替代的老版本packages。
只不过这个操作往往非常耗费时间;而且由于向下兼容,那些新package一两行命令能够实现的功能,用一些老packages就会绕很大的圈子,非常麻烦!
优点:
- 从源头解决问题
缺点:
- 极度花费时间
- 不能做到完全地平替很多新pakcages的功能
2. 下载源码
第二种方法更为省力:将那些太新的package的源码(.sty
)下载。然后在项目里倒入本地的.sty
文件。
例如,去从CTAN下载
tabularray.sty
,将文件放到项目目录下,然后再\usepackage{tabularray}
。
但是这种方法也是治标不治本,也并不是所有情况都能奏效。
而且很容易出现,你下载了A包,它依赖于B包;你下载了B包,它又依赖于C、D包。。。然后你可能还得理清楚这些package之间的版本关系。。。
但在某些情况下,比方说依赖的package很少,这还是一个非常有用的方法。
优点:
- 快速、省力
缺点:
- 治标不治本
- 容易出现“连环依赖”,和版本冲突
一些建议
如果你有计划把项目上传arxiv的话,这里给出一些建议:
先去官网检查一下arxiv最新的tex编译器的版本是啥(可以去arxiv先尝试随便上传一个文件,看看编译的log)。
将自己的本地环境,或者overleaf编译器设置为和arxiv一致,以防后续发生不兼容的问题。
在上传arxiv之前,把项目里导入过的一些没用的package全部注释掉,以最大程度降低上传出错的可能性。
保持自己tex源码整洁。。至少能够分得清哪些packages是自己后面加的,哪些是conference template本来就自带的(不然就得像笔者一样,一个个试)。。。
参考
- https://github.com/tectonic-typesetting/tectonic/issues/871
- Adding .sty files into tex
2023/05/26更新
刚看到消息,arxiv的tex编译器版本更新至2023了。。。
这样的话,大家在overleaf等地方,编译文章的时候,注意把tex版本也切换到最新版本,以确保和arxiv的一致。
但是很可惜,目前overleaf的编译器最新版本还是2022版本,所以和arxiv也并不是完全一致的。。笔者就曾遇到2022、2023两个版本编译出来的pdf出现差异。
好消息是overleaf的tex版本更新速度很快,不出几个月应该就能等到2023版本了(如下图,参考2022版本的发布速度)。
sb arxiv,学学人家overleaf吧!
【报错】arXiv上传文章出现XXX.sty not found相关推荐
- layui上传文件php上传接口异常,layui.upload上传图片报错“请求上传接口出现异常”...
layui.upload上传图片报错"请求上传接口出现异常"且接口报404问题 在调试layui.upload上传图片时候报错"请求上传接口出现异常": 且接口 ...
- 【错误记录】Google Play 上架报错 ( 您上传的 APK 没有经过 Zipalign 处理,请对 APK 运行 Zipalign 工具,然后重新上传。)
文章目录 一.报错信息 二.解决方案 一.报错信息 使用百度加固后的 APK , 签名后 , 上传 , 报如下错误 ; 您上传的 APK 没有经过 Zipalign 处理,请对 APK 运行 Zipa ...
- docker公共仓库:创建docker hub公共仓库 / 登陆docker hub仓库报错解决/ 上传拉取镜像 / 配置阿里云镜像加速器
######1.创建docker公共仓库###### Docker仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库, 每个仓库又可以包含多个具备不同tag的镜 ...
- oss上传报错_oss上传400报错-问答-阿里云开发者社区-阿里云
leehor 2018-07-27 16:20:48 Reoss上传400报错 回调部分代码 格式有问题吗 put.setCallbackParam(new HashMap() { { Log.e(& ...
- mysql 1033_mysql报错1033 Incorrect information in file: ''''xxx.frm''''问题的解决方法(图)...
这篇文章主要介绍了关于mysql报错1033 Incorrect information in file: 'xxx.frm'问题的解决方法,文中通过示例代码介绍的很详细,需要的朋友可以参考借鉴,下面 ...
- 最新清华大学arXiv上传的深度学习摄像头运动估计论文
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:黄浴 https://zhuanlan.zhihu.com/p/138926038 本文仅做学术 ...
- the android emulator process,Android studio报错:The emulator process for AVD (xxx) was killed
背景:重做系统后重新配置Android studio 安装虚拟机后无法启动 log中显示为启动AVD的进程被杀 控制台显示为:在虚拟机列表里没有找到所要启动的AVD的名称 首先考虑是BIOS问题:发现 ...
- vscode git报错 git warning: redirecting to https://xxx.xxx.xxxx/xxx/xxx.git/
背景:最近从websotrm转到vscode 刚开始两周开发没有问题,后面有两个常用的项目push到远程库或者拉去远程库的更新都会报错: vscode git报错 git warning: redir ...
- 导入自己模块包导入报错:ModuleNotFoundError: No module named ‘xxx‘解决方法 晓物智联
导入自己模块包导入报错:ModuleNotFoundError: No module named 'xxx'解决方法 文章来源于:http://www.52phm.cn/blog/detail/28 ...
最新文章
- python读取文件r_python read文件的r和rb的区别
- pyinstaller生成exe文件失败
- 姜黄的毒副作用调研汇总(调研手稿一)
- 在javaweb中通过servlet类和普通类读取资源文件
- MySql表结构修改详解
- 老年人用什么方式存款最好?
- Liunx安装 jemalloc == 内存管理工具
- Atitit cache缓存之道 attilax 艾提拉总结 1. 使用缓存的目的(使用缓存)	1 1.1. 1、实现目标减少数据库的负担	1 1.2. 加快查询的速度	2 2. 缓存的常见参数 过
- JAVA课程设计-电影院售票系统
- JAVA事务@Transactional之propagation
- QQ登录和分享(精简版)
- 定罪了!“女版乔布斯”有可能入狱20年
- spring配置事务
- HtmlHelper用法大全(下)
- docker attach 和 exec 的区别
- SQL注入:SQL注入类型(手动)SQL注入的检测
- 《高质量程序设计指南——C++/C》第三版勘误
- 微信小程序滚动居中导航选项卡
- 数字地球与计算机技术联系,关于数字地球应用前景的正确说法是
- css如何透过上层div点击下层的元素解决方法
热门文章
- 十五分钟水edusrc证书(小学生日记)
- 如何用Java设计一个简单的窗口界面(初级二)
- 小说形象特征包括哪些方面_小说的基本特征是塑造人物形象
- JavaC++题解与拓展——leetcode1823.找出游戏的获胜者【约瑟夫环】
- 项目案例:网上书店数据库设计
- Nginx编译安装与配置
- java工具:通过文件头的魔数判断文件类型
- 静态工厂方法优缺点个人理解
- 洲际酒店集团大中华区特许经营酒店已开业150家;百胜中国食物银行项目已覆盖超100家肯德基 | 美通社头条...
- 【测试面经】软件测试面试题大全,软件测试必问必背面试题,敢说会70%就可以轻松拿offer......