Mac中LaTex无法编译的问题

news2025/6/18 2:34:57

最近在使用TexStudio时,遇到一个棘手的问题:

无法编译,提示如下:

kpathsea: Running mktexfmt xelatex.fmt
/Library/TeX/texbin/mktexfmt: kpsewhich -var-value=TEXMFROOT failed, aborting early. BEGIN failed–compilation aborted at /Library/TeX/texbin/mktexfmt line 25.
Process exited with error(s)

以往,把错误提示复制到搜索引擎,一般都能找到类似问题,按照大家的经验,总能解决。但这次,无论如何也找不到类似错误提示。或许有,我看不懂。

这里尝试分析一下这个错误。

kpathsea

是一个解决编译过程中文件搜索问题的库,是由Karl Berry编写的,因此该程序命名为Karl’s Path Searching简称为kpathsea。想详细了解一些可以看看对作者的采访。

mktexfmt xelatex.fmt

mktexfmt是一个脚本(程序),它用于生成TeX
Live中的格式文件。在LaTeX中,格式文件是预先编译的文件,可以使LaTeX快速地处理文档。 比如,当执行 pdflatex
的时候,实际上 LaTeX 会调用 pdflatex.fmt 这个预编译好的格式文件来快速处理 pdflatex。

在LaTeX系统中,.fmt文件是格式文件(format
file),它是预编译的,其中包含了LaTeX的所有宏定义,字符信息,以及其他的基础格式设置。这样,每次运行LaTeX的时候,就不必重新读取所有的宏定义和格式设置,大大加快了编译速度。

当然,.fmt文件不仅只用于LaTeX,还用于TeX和其他一些TeX的变体。

.fmt文件通常在TeX系统安装或是更新时自动生成,也可以手动创建。TeX系统在启动时会加载一个.fmt文件,该文件决定了将要使用的格式。例如在启动LaTeX时,系统会加载latex.fmt文件。

网上没搜到合适的解释,所以上面引用的文字是我问的chatGPT,它的回答。

继续问chatGPT

问题是:
在只用TexStudio编译tex文件时,遇到了错误提示“kpathsea: Running mktexfmt xelatex.fmt
/Library/TeX/texbin/mktexfmt: kpsewhich -var-value=TEXMFROOT failed, aborting early. BEGIN failed–compilation aborted at /Library/TeX/texbin/mktexfmt line 25.
Process exited with error(s)”,可能是什么原因?

回答是:

这个错误可能是由于你的电脑的TeX安装有问题。这可能是由于安装过程中的错误,或者是你的TeX环境变量没有正确设置。

具体来讲,错误提示显示kpsewhich
-var-value=TEXMFROOT命令失败,这说明在运行这条命令查找TeX安装的根目录时出了问题。mktexfmt是TeX用来创建格式文件的程序,当它找不到需要的文件或者无法确定TeX的根目录时,就会退出并给出错误。

如果你能够确保TeX已经正确安装,并且你知道TeX安装的实际路径,你可以尝试在终端中执行下面的命令以设定环境变量:

export TEXMFROOT=/your/texmf/root
这里的/your/texmf/root应当替换为你电脑中TeX的实际安装路径。

如果你不确定TeX的实际安装路径,那也可能需要重新安装TeX。你可以去TeX Live官网下载最新的安装包,按照其指示进行安装。

在大多数情况下,这些步骤能够解决问题。如果问题仍然存在,你可能需要寻找专业的TeX支持或者在TeX社区发。

chatGPT的回答是不错的,但我是在写这个文章的时候才想起来问它。写文章之前其实已经解决了问题。现在看来,如果早点儿问chatGPT,能够更快地找到问题所在。

实际问题所在

可能是由于我卸载了以前版本的TexLive,但实际上没有卸载干净,新安装后,TexStudio默认的编译引擎所指向的地址实际找不到引擎。

解决办法

在TexStudio的preference中,设置引擎路径为正确的路径。。
或者把以前版本删干净后再重新安装,我怕删错了,没试。
在这里插入图片描述

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

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

相关文章

基于原子轨道搜索算法优化概率神经网络PNN的分类预测 - 附代码

基于原子轨道搜索算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于原子轨道搜索算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于原子轨道搜索优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xf…

2023年中国油墨树脂主要环节、产量及市场规模分析[图]

油墨树脂是指用于油墨制造中的一种高分子材料,主要用于改善油墨的粘性、流动性、光泽度和耐磨性等性能。其主要成分为合成树脂,如聚酯、聚酰胺、聚丙烯酸酯等。油墨树脂在油墨制造中的应用非常广泛,可以用于各种类型的油墨,包括印…

Java架构师软件架构风格

目录 1 数据流风格1.1 管道过滤器1.2 数据流风格的优点2 调用返回风格2.1 面向对象风格2.2 调用返回风格总结3 独立构件风格3.1 事件驱动系统风格的主要特点3.2 独立构件风格总结4 虚拟机风格4.1 虚拟机风格总结5 仓库风格5.1 仓库风格总结想学习架构师构建流程请跳转:Java架构…

基于Acconeer的A121-60GHz毫米波雷达传感器SDK移植及测距示例(STM32L496为例)

基于Acconeer的A121-60GHz毫米波雷达传感器SDK移植及测距示例(STM32L496为例) 工程: Keil工程资源 参考资料: A121 datasheet 1.3 A121 HAL Software Integration User Guide A121 STM32CubeIDE User Guide 官方参考示例工程&a…

接口测试快速上手指南

大量线上BUG表明,对接口进行测试可以有效提升产品质量,暴露手工测试时难以发现的问题,同时也能缩短测试周期,提升测试效率。但在实际执行过程中,接口测试被很多同学打上了“上手难,门槛高”的标签。 本文旨…

使用gin 代理 web网页

问web项目的代理,业界常用的方案是nginx做代理,这个是网上最多资料的。 因为我需要做自己的流量转发,也就是所有访问都要经过我的一个流量分发微服务,这和nginx作用冲突了。如果再加个nginx来做第一层方向代理和网页的静态资源代…

如何让Python2与Python3共存

安装 首先分别安装Py2和Py3,我都安装到C盘根目录里了,然后分别将Py2和Py3都配置到系统环境变量中去:C:\Python36\Scripts\;C:\Python36\;C:\Python27\;C:\Python27\Scripts; 配置 修改两个版本的可执行文件名字 验证 重新配置一下pip …

警惕.locked勒索病毒,您需要知道的预防和恢复方法。

尊敬的读者: 随着网络技术的进步,勒索病毒已经成为一种极具威胁性的网络犯罪工具之一。其中,.locked勒索病毒是一种采用高级加密算法的恶意软件,目的是加密用户的文件,并勒索赎金以提供解密密钥。本文将介绍如何应对被…

A股风格因子看板 (2023.11第12期)

该因子看板跟踪A股风格因子,该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子,用以分析市场风格切换、组合风格暴露等。 今日为该因子跟踪第12期,指数组合数据截止日2023-10-31,要点如下: 近1年A股风…

LeetCode算法心得——使用最小花费爬楼梯(记忆化搜索+dp)

大家好,我是晴天学长,很重要的思想动规思想,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1)使用最小花费爬楼梯 给你一个整数数组 cost ,其中 cost[i] 是从…

OpenHarmony Axios组件使用过程中,Api9不适配问题

大家好,我是【八戒,你又涨价了哎】 以下是我个人在学习OpenHarmony过程中的分享,请大家多多指教 目录 问题描述 解决方法 问题描述 使用axios组件的时候,把应用部署到开发板,提示Api9不适配 解决方法 对这类版本不…

【SpringCloud微服务全家桶学习笔记-Hystrix(服务降级,熔断,接近实时的监控,服务限流等)】

服务雪崩 (微服务面临的问题) 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用&…

一条命令彻底卸载Linux自带多个版本jdk

一条命令彻底卸载Linux自带多个版本jdk 检查系统已经安装的jdk rpm -qa | grep java卸载所有已经安装的 jdk xargs 将参数逐个传递 将已安装的 java 程序逐个当做参数传递给 rpm -e --nodeps rpm -qa | grep java | xargs rpm -e --nodeps再次检查系统已经安装的jdk rpm -qa | …

Halcon Solution Guide I basics(3): Region Of Interest(有兴趣区域/找重点)

文章目录 文章专栏前言文章解读前言创建ROI案例1:直接截取ROI手动截取ROI 总结ROI套路获取窗口句柄截取ROI区域获取有效区域 Stop组合 文章专栏 Halcon开发 Halcon学习 练习项目gitee仓库 CSDN Major 博主Halcon文章推荐 前言 今天来看第三章内容,既然是…

Golang 中的良好代码与糟糕代码

最近,有人要求我详细解释在 Golang 中什么是好的代码和坏的代码。我觉得这个练习非常有趣。实际上,足够有趣以至于我写了一篇关于这个话题的文章。为了说明我的回答,我选择了我在空中交通管理(ATM)领域遇到的一个具体用…

依赖库:Ceres-solver-2.0.0安装

依赖库:Ceres-solver-2.0.0安装 前言安装ceres-solver-2.0.0验证 前言 Ceres Solver是谷歌开源的C非线性优化库,能够解决有约束或无约束条件下的非线性最小二乘问题。2010年之后大量的运用在谷歌的产品开发中,尤其在谷歌开源的cartographer中…

详解StringBuilder和StringBuffer(区别,使用方法,含源码讲解)

目录 一.为什么要使用StringBuilder和StringBuffer 字符串的不可变性 性能损耗 二.StringBuilder和StringBuffer StringBuffer源码讲解 使用方式 三.常用方法总结 示例: 四.StringBuilder和StringBuffer的区别 一.为什么要使用StringBuilder和StringBuffe…

电动汽车充放电V2G模型MATLAB代码

微❤关注“电气仔推送”获得资料(专享优惠) 主要内容: 本程序主要建立电动汽车充放电V2G模型,采用粒子群算法,在保证电动汽车用户出行需求的前提下,为了使工作区域电动汽车尽可能多的消纳供给商场基础负荷…

Java进阶——多线程相关,实际应用中的积累,持续更新

目录 多线程相关CountDownLatch赛跑的案例countDownLatch.await(300, TimeUnit.SECONDS); Java其他进阶Map的put方法只放一个元素的集合 多线程相关 CountDownLatch 案例:主线程的执行需要等待子线程执行完,等各个线程执行完毕后,主线程做收…

【图像分类】基于深度学习的垃圾分类系统的设计与实现(ResNet网络,附代码和数据集)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。(专栏订阅用户订阅专栏后免费提供数据集和源码一份,超级VIP用户不在服务范围之内,不想订阅专栏的兄弟们可以私信…