emacs org-latex-preview Windows 调试

emacs org-latex-preview Windows 调试

问题背景

latex的数学公式编辑功能尤为理工科研佬热爱,emacs是一个性化的文字编辑器。org模式是其支持的众多强大的主模式之一。

org模式支持在文档中编辑latex代码,并且在文本内容中,先将tex转换dvi,在通过其他执行文件转化png,再自动调整png的大小,将png插入原latex代码中。一切通过快捷键

C-c C-x C-l

完成。其中大写C表示ctrl键

效果展示:
效果展示
全部过程依赖latex、dvipng两个执行文件。

问题描述

在ubuntu系统中,下载好texlive,dvipng后便可以启用该项功能。
在win中执行时出现:

org-compile-file: File "/path/filename.dvi" wasn’t produced.  
Please adjust ‘dvipng’ part of ‘org-preview-latex-process-alist’

解决尝试

1. 查看系统路径是否含有latex 、 dvipng,

latex
>> This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) 
dvipng
>> This is dvipng 1.17 Copyright 2002-2015, 2019 Jan-Ake Larsson
**

表示已经安装,如果无,查看系统环境变量。将texlive的执行文件目录加入环境变量中。
通过

2. 已经在环境变量中,仍然无效。则有可能是texlive依赖包缺少,无法编译。手动执行操作过程

cd /path
dir *.tex
>> filename.tex
latex filename.tex

如果末尾分别显示
latex编译
dvipng编译

则编译成功。如若不成功,根据提示信息,补充安装相应缺失的安装包。

3. 如若手动能够成功的生成png。此时应该解决了大部分情况,仍然有小部分情况不成功,则可能是emacs内部的执行路径无法读取texlive的执行路径导致的。

两种解决思路,笔者只成功了一种,但是无法称述另一种的失败原因,故也列出。

  1. 将执行文件目录添加到emacs环境变量。在emacs init.el文件中添加:
(add-to-list 'exec-path "path/to/execute/folder")

重启后通过eshell,可以识别对应的执行文件。笔者的eshell能够识别对应文件,但是仍然无法通过C-c C-x C-l预览latex,原因不明

  1. 直接更改org-priew-latex-process-alist,将执行文件的位置填入,在重新执行byte文件,生成.elc
C-h v org-preview-latex-process-alist

弹出buffer
在这里插入图片描述
进入 org.el
在这里插入图片描述
修改dvipng中 latex-compiler,image-converter两个属性。

:latex-compiler ("path/to/latex.exe -interaction nonstopmode -output-directory %o %f")
:image-converter ("path/to/dvipng.exe -D %D -T tight -bg Transparent -o %O %f")

再执行

M-x byte-compile-file <RET>
/path/to/org.el

重启,即可启用org-latex-preview功能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值