【报错】arXiv上传文章出现XXX.sty not found

news2024/9/22 11:35:33

笔者在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的话,这里给出一些建议:

  1. 先去官网检查一下arxiv最新的tex编译器的版本是啥(可以去arxiv先尝试随便上传一个文件,看看编译的log)。

  2. 将自己的本地环境,或者overleaf编译器设置为和arxiv一致,以防后续发生不兼容的问题。
    在这里插入图片描述

  3. 在上传arxiv之前,把项目里导入过的一些没用的package全部注释掉,以最大程度降低上传出错的可能性。

  4. 保持自己tex源码整洁。。至少能够分得清哪些packages是自己后面加的,哪些是conference template本来就自带的(不然就得像笔者一样,一个个试)。。。

参考

  • https://github.com/tectonic-typesetting/tectonic/issues/871
  • Adding .sty files into tex

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/480318.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AppSmith(安装与练习4套)

AppSmith官网文档: https://docs.appsmith.com/getting-started/setup/installation-guides/docker安装前需要已经安装好docker,需要版本如下: Docker ( 20.10.7或者更高) Docker-Compose ( 1.29.2或者更高) 安装Appsmith: 准备…

【Linux】第二站:Linux基本指令(一)

文章目录 一、操作系统OS概念1.OS是什么?2.为什么要有OS?1.一个好的操作系统,他的衡量指标是什么?2.操作系统的核心工作 3.理解我们在计算机上的操作4.Linux和Windows的特点 二、Linux基本指令1. 指令概述2.ls指令1> ls -l2> ls -a3&g…

ChatGPT其实并不想让开发人员做这5件事情

前言 ChatGPT已经火爆了快半年了吧,紧接着国内也开始推出了各种仿制品,我甚至一度怀疑,如果人家没有推出ChatGPT,这些仿制品会不会出现。而很多人也嗨皮得不行,利用各种方法开始科学上网,用ChatGPT做各种觉…

不得不说的行为型模式-解释器模式

解释器模式: 解释器模式(Interpreter Pattern)是一种行为型设计模式,它定义了一种语言,用于解释执行特定的操作,例如正则表达式、查询语言、数学表达式等。该模式通过定义一个解释器来解释语言中的表达式…

分治与减治算法实验:题目6 淘汰赛冠军问题

目录 前言 实验内容 实验流程 实验分析 实验过程 流程演示 写出伪代码 实验代码 运行结果 改进算法 总结 前言 淘汰赛冠军问题是一个经典的算法设计与分析的问题,它要求我们在给定的n个参赛者中,通过一系列的比赛,找出最终的冠军…

nginx负载均衡+RabbitMq集群及镜像队列(2)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、nginx是什么?二、搭建步骤1.软件和环境2.安装nginx3.负载均衡配置nginx.conf4.应用程序配置 总结 前言 提示:这里可以添加本文要记…

Linux套接字编程-3

在之前的套接字编程内容中,我们讲述完了UDP和TCP的主要内容,但是对于TCP通信中具体的实现还存在一些问题没有解决,所以我们本篇博客将对进行分析和解决。 目录 1.引入 2.多进程 3.多线程 1.引入 在上一篇博客中,当我们使用T…

sed进阶之模式替换

shell脚本编程系列 &符号可以代表替换命令中的匹配模式,不管模式匹配到了什么样的文本,都可以使用&符号代表这些内容。这样就能处理匹配模式的任何单词了。 echo "The cat sleeps in his hat." | sed s/.at/"&"/g&…

告别低效繁琐的Prometheus告警管理,Nightingale助你快速响应故障!

Prometheus的告警规则、记录规则都是采用配置文件管理,适合奉行Infrastructure as Code的公司或团队内部使用。但如果要把监控能力开放给全公司,就要支持协同操作的 UI,让各个团队互不干扰的同时共享成果。 开源方案: Grafana 擅…

No.053<软考>《(高项)备考大全》【冲刺7】《软考之 119个工具 (5)》

《软考之 119个工具 (5)》 84.文档审查:85.信息收集技术:86.核对表分析:87.假设分析:88.图解技术:89.SWOT 分析:90.风险概率和影响评估:91.概率和影响矩阵(包含在风险管理计划中):92.风险数据质量评估:93.风险分类(包含在风险管理计划中):94.风险紧迫性评…

快速多关键字统计

实例需求:在每个章节中统计关键字(“√”, “”, “〇”, “空缺”)的个数,B列中的章节编号作为章节划分的标识,例如1.1.1 ~ 1.1.5为第1.1章节,对应工作表的12 ~ 16行,其中黄色列为需要统计的数…

【软考数据库】第五章 计算机网络

目录 5.1 网络功能和分类 5.2 OSI七层模型 5.3 TCP/IP协议 5.4 传输介质 5.5 通信方式和交换方式 5.6 IP地址 5.7 IPv6 5.8 网络规划和设计 5.9 其他考点补充 5.10 网络安全技术 5.11 网络安全协议 前言: 笔记来自《文老师软考数据库》教材精讲&#xff…

从张鑫旭的demo中,我学到了图像拉伸的原理

文章收录: 个人网址:http://linglan01.cn/Github仓库:https://github.com/CatsAndMice/blog/issues 产品经理又有新需求啦,其中有一个图片上传后用户拉伸图像宽高的功能,评估后因要卡上线时间来不及砍掉了。保不准下一…

Java 基础进阶篇(四)—— 抽象类与模板方法设计模式

文章目录 一、抽象类、抽象方法概述二、抽象类的特征三、模板方法设计模式3.1使用场景3.2 实现步骤3.3 写作文案例 补充:final 和 abstract 是什么关系? 一、抽象类、抽象方法概述 在 Java 中 abstract 是抽象的意思,可以修饰类、成员方法。 abstract …

【LeetCode股票买卖系列:122. 买卖股票的最佳时机 II | 贪心 | 暴力递归=>记忆化搜索=>动态规划】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

基于 GS232 搭建的 SoC_up 说明

1.1 GS232 开源版本简介 GS232 开源版本不包含 DSP、浮点部件等。 TLB 大小为 32 项。 指令和数据 Cache 为 4 路组相连,每路大小为 4KB,Cache 行大小为 32 bytes。 对外接口为 32 位 AXI 接口。 1.2 1,soc_up结构 SoC_up 如上图所示。开源 GS232 对外有一个 AXI 接口,连…

「Codeforces」771-div2 E. Colorful Operations

E. Colorful Operations https://codeforces.com/contest/1638/problem/E 题目描述 给你一个数组,默认初始元素为 0 ,颜色为 1,有三种操作: Color l r c:将 [l, r] 区间内的颜色修改为 cAdd c x:将所有颜…

Human Pose as Compositional Tokens 阅读笔记

人体姿态作为合成 token —— CVPR2023 论文链接 代码链接 摘要: 人体姿态常由身体关节的坐标向量或其热图embedding表示。虽然数据易于处理,但由于身体关节间缺乏依赖建模,即使是不现实的姿态也被接受。本文提出了一种结构化表示&#xff1…

el-form-renderer 使用指南

目录 前言 起步 使用 update-form && getFormValue 表单项动态显示或隐藏(hidden) 表单数据联动(on) 输入/输出格式化(inputFormat/outputFormat) set-options el-form-renderer 实践案例 案例一 案例二 自定义组件接入指南 前言 el-form-renderer是基于e…

Starting Windows PowerShell (启动 Windows PowerShell)

Starting Windows PowerShell (启动 Windows PowerShell) Windows PowerShell is a scripting engine .DLL that’s embedded into multiple hosts. The most common hosts you’ll start are the interactive command-line powershell.exe and the Interactive Scripting Envi…