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

http://www.lryc.cn/news/239423.html

相关文章:

  • 【Python爬虫】8大模块md文档集合从0到scrapy高手,第7篇:selenium 数据提取详解
  • 【python基础(三)】操作列表:for循环、正确缩进、切片的使用、元组
  • 使用VSCode调试全志R128的C906 RISC-V核心
  • Node.js之http模块
  • golang 断点调试
  • 定时器如何计算触发频率?
  • 【数据库】数据库中的检查点Checkpoint,数据落盘的重要时刻
  • 关于 Docker
  • ​LeetCode解法汇总2342. 数位和相等数对的最大和
  • 数据库的级联删除
  • 【Python 千题 —— 基础篇】奇数列表
  • 当npm下载库失败时可以用cnpm替代
  • PyTorch多GPU训练时同步梯度是mean还是sum?
  • Spring Framework IoC依赖注入-按Bean类型注入
  • IDEA运行thymeleaf的html文件打开端口为63342且连不上数据库
  • sql报错注入和联合注入
  • 028 - STM32学习笔记 - ADC结构体学习(二)
  • Pytest自动化测试框架:mark用法---测试用例分组执行
  • 【TCP连接的状态】
  • Node.js入门指南(一)
  • 使用Grpc实现高性能PHP RPC服务
  • 二、爬虫-爬取肯德基在北京的店铺地址
  • linux驱动开发.之spi测试工具spidev_test源码(一)
  • 基于材料生成算法优化概率神经网络PNN的分类预测 - 附代码
  • Go——二、变量和数据类型
  • 合并区间问题
  • 2023 年最新 MySQL 数据库 Windows 本地安装、Centos 服务器安装详细教程
  • 每天一道算法题(十)——获取和为k的子数组
  • 2023年亚太杯数学建模思路 - 案例:最短时间生产计划安排
  • 在vscode中使用Latex:TexLive2023