当前位置: 首页 > news >正文

Mac中LaTex无法编译的问题

最近在使用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中,设置引擎路径为正确的路径。。
或者把以前版本删干净后再重新安装,我怕删错了,没试。
在这里插入图片描述

相关文章:

Mac中LaTex无法编译的问题

最近在使用TexStudio时,遇到一个棘手的问题: 无法编译,提示如下: kpathsea: Running mktexfmt xelatex.fmt /Library/TeX/texbin/mktexfmt: kpsewhich -var-valueTEXMFROOT failed, aborting early. BEGIN failed–compilation a…...

【Python爬虫】8大模块md文档集合从0到scrapy高手,第7篇:selenium 数据提取详解

本文主要学习一下关于爬虫的相关前置知识和一些理论性的知识,通过本文我们能够知道什么是爬虫,都有那些分类,爬虫能干什么等,同时还会站在爬虫的角度复习一下http协议。 爬虫全套笔记地址: 请移步这里 共 8 章&#x…...

【python基础(三)】操作列表:for循环、正确缩进、切片的使用、元组

文章目录 一. 遍历整个列表1. 在for循环中执行更多操作2. 在for循环结束后执行一些操作 二. 避免缩进错误三. 创建数值列表1. 使用函数range()2. 使用range()创建数字列表3. 指定步长。4. 对数字列表执行简单的统计计算5. 列表解析 五. 使用列表的一部分-切片1. 切片2. 遍历切片…...

使用VSCode调试全志R128的C906 RISC-V核心

使用 VSCode 调试 调试 XuanTie C906 核心 准备工具 T-Head DebugServer(CSkyDebugServer) - 搭建调试服务器 下载地址:T-Head DebugServer手册:T-Head Debugger Server User Guide驱动:cklink_dirvers VSCode - 开…...

Node.js之http模块

http模块是什么? http 模块是 Node,js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一台Web 服务器,从而对外提供 Web 资源服务。 如果我们想在node…...

golang 断点调试

1.碰见如下报错,调试器没有打印变量信息 Delve is too old for Go version 1.21.2 (maximum supported version 1.19) 2. 解决办法 升级delve delve是go语言的debug工具。 go install github.com/go-delve/delve/cmd/dlvlatest报错 Get “https://proxy.golang.org/github…...

定时器如何计算触发频率?

定时器触发频率的计算公式为:定时器时钟频率/(预分频系数*计数周期1)。其中,定时器时钟频率是指定时器所连接的总线频率,预分频系数和计数周期需要根据具体的需求进行设置。预分频系数用于将总线频率分频,计…...

【数据库】数据库中的检查点Checkpoint,数据落盘的重要时刻

检查点(checkpoint) ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定…...

关于 Docker

关于 Docker 1. 术语Docker Enginedockerd(Docker daemon)containerdOCI (Open Container Initiative)runcDocker shimCRI (Container Runtime Interface)CRI-O 2. 容器启动过程在 Linux 中的实现daemon 的作用 Docker 是个划时代的开源项目,…...

​LeetCode解法汇总2342. 数位和相等数对的最大和

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个下…...

数据库的级联删除

级联删除是指在数据库中删除一个对象时,与该对象有关的其他对象也被自动删除。在 Django 中,级联删除通常通过在模型中定义外键时使用 on_delete 参数来实现。以下是一些常见的 on_delete 选项: 1.models.CASCADE: 当关联的对象被删除时&…...

【Python 千题 —— 基础篇】奇数列表

题目描述 题目描述 创建奇数列表。使用 for 循环创建一个包含 20 以内奇数的列表。 输入描述 无输入。 输出描述 输出创建的列表。 示例 示例 ① 输出: 创建的奇数列表为: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]代码讲解 下面是本题的代码: #…...

当npm下载库失败时可以用cnpm替代

下载cnpm npm install -g cnpm --registryhttp://registry.npmmirror.com 然后使用cnpm代替npm下载即可 cnpm install...

PyTorch多GPU训练时同步梯度是mean还是sum?

PyTorch 通过两种方式可以进行多GPU训练: DataParallel, DistributedDataParallel. 当使用DataParallel的时候, 梯度的计算结果和在单卡上跑是一样的, 对每个数据计算出来的梯度进行累加. 当使用DistributedDataParallel的时候, 每个卡单独计算梯度, 然后多卡的梯度再进行平均.…...

Spring Framework IoC依赖注入-按Bean类型注入

Spring Framework 作为一个领先的企业级开发框架,以其强大的依赖注入(Dependency Injection,DI)机制而闻名。DI使得开发者可以更加灵活地管理对象之间的关系,而不必过多关注对象的创建和组装。在Spring Framework中&am…...

IDEA运行thymeleaf的html文件打开端口为63342且连不上数据库

这边贴apple.html代码 <!DOCTYPE html> <html xmlns:th"http://www.thymeleaf.org"> <head><meta charset"UTF-8"><title>User List</title> </head> <body> <h1>User List</h1> <table&…...

sql报错注入和联合注入

1.[NISACTF 2022]join-us 过滤&#xff1a; as IF rand() LEFT by updatesubstring handler union floor benchmark COLUMN UPDATE & sys.schema_auto_increment_columns && 11 database case AND right CAST FLOOR left updatexml DATABASES BENCHMARK BY sleep…...

028 - STM32学习笔记 - ADC结构体学习(二)

028 - STM32学习笔记 - 结构体学习&#xff08;二&#xff09; 上节对ADC基础知识进行了学习&#xff0c;这节在了解一下ADC相关的结构体。 一、ADC初始化结构体 在标准库函数中基本上对于外设都有一个初始化结构体xx_InitTypeDef&#xff08;其中xx为外设名&#xff0c;例如…...

Pytest自动化测试框架:mark用法---测试用例分组执行

pytest中的mark&#xff1a; mark主要用于在测试用例/测试类中给用例打标记(只能使用已注册的标记名)&#xff0c;实现测试分组功能&#xff0c;并能和其它插件配合设置测试方法执行顺序等。 如下图&#xff0c;现在需要只执行红色部分的测试方法&#xff0c;其它方法不执行&am…...

【TCP连接的状态】

linux查看tcp的状态命令&#xff1a; 1&#xff09;、netstat -nat 查看TCP各个状态的数量 2&#xff09;、lsof -i:port 可以检测到打开套接字的状况 3)、 sar -n SOCK 查看tcp创建的连接数 4)、tcpdump -iany tcp port 9000 对tcp端口为9000的进行抓包 查看占用端口…...

基于大模型API与提示词工程,构建AI文本口语化转换工具

1. 项目概述&#xff1a;一个“说人话”的AI对话工具最近在GitHub上看到一个挺有意思的项目&#xff0c;叫shuorenhua&#xff0c;直译过来就是“说人话”。这个名字起得相当直白&#xff0c;也切中了很多人在使用AI工具时的一个核心痛点&#xff1a;AI的回答太“AI”了。无论是…...

告别默认配色!用scCustomize和viridis包,让你的单细胞FeaturePlot颜值飙升(附完整代码)

单细胞数据可视化美学革命&#xff1a;scCustomize与viridis包实战指南 当你的单细胞测序分析进入可视化阶段&#xff0c;是否曾为那些千篇一律的默认图表感到沮丧&#xff1f;学术期刊和顶级会议上那些令人眼前一亮的FeaturePlot究竟是如何炼成的&#xff1f;本文将带你突破Se…...

从物联网小设备到工业网关:RT-Thread、FreeRTOS、uC/OS-II选型实战指南(附对比表格)

从物联网小设备到工业网关&#xff1a;RT-Thread、FreeRTOS、uC/OS-II选型实战指南 在智能农业监测系统的开发过程中&#xff0c;我们遇到了一个典型困境&#xff1a;如何为不同层级的设备选择合适的实时操作系统&#xff1f;从田间部署的微型土壤传感器到负责数据汇总的4G边缘…...

通过Python快速编写第一个调用Taotoken多模型API的脚本

通过Python快速编写第一个调用Taotoken多模型API的脚本 1. 准备工作 在开始编写Python脚本前&#xff0c;需要确保已完成以下准备工作。首先注册并登录Taotoken平台&#xff0c;在控制台创建一个API Key。该Key将用于后续的身份验证。同时建议在模型广场查看当前支持的模型列…...

3步实现Honey Select 2汉化:HS2-HF_Patch完整安装指南

3步实现Honey Select 2汉化&#xff1a;HS2-HF_Patch完整安装指南 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为Honey Select 2的日文界面而困扰吗&…...

论文降AI率软件哪个最好?2026 实测对比,嘎嘎降是本科论文首选!

毕业季论文提交前&#xff0c;很多同学都有一个共同的想法&#xff1a;先查一下论文的AI率&#xff0c;看看到底有多高&#xff0c;再决定要不要花钱处理。这个思路完全正确——盲目处理不如先摸清底数。但问题是&#xff0c;正规的AIGC检测动辄几十元一次&#xff0c;查完发现…...

Databricks AI Dev Kit:模块化LLM应用开发与RAG生产部署指南

1. 项目概述&#xff1a;AI开发者的“瑞士军刀” 如果你正在尝试将大型语言模型&#xff08;LLM&#xff09;集成到你的企业应用或数据产品中&#xff0c;大概率会经历这样一个过程&#xff1a;兴奋地找到一个开源模型&#xff0c;然后陷入一连串的“琐事”泥潭——模型怎么部署…...

给业务同学讲明白:模型好坏怎么看?MSE、MAE、R²这些“黑话”到底在说啥

给业务同学讲明白&#xff1a;模型好坏怎么看&#xff1f;MSE、MAE、R这些“黑话”到底在说啥 想象一下&#xff0c;你正在网购一件衣服&#xff0c;系统根据你的浏览记录推荐了尺码。收到货后发现大了两码——这就是预测模型出错了。作为业务负责人&#xff0c;你需要知道这个…...

从“Could not resolve hostname”到成功Clone:一个OpenHarmony开发者的踩坑实录与效率工具推荐

从“Could not resolve hostname”到成功Clone&#xff1a;一个OpenHarmony开发者的踩坑实录与效率工具推荐 作为一名长期深耕OpenHarmony生态的开发者&#xff0c;我清楚地记得第一次尝试为开源项目贡献代码时的挫败感——当我在终端输入git clone命令后&#xff0c;屏幕上赫然…...

【复现】基于DoS攻击+二次控制+下垂控制和事件触发式负荷控制的四机并联孤岛微电网(实现电压、频率恢复与功率共享分配)(Simulink仿真实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...