想问问大家org中数学公式预览的问题

很久以前就试了一下Emacs,但是那会记笔记的需求不是那么大,最近又开始学着用Emacs的org模式记笔记。 平时敲公式比较多,虽然用了pretty mode之后敲公式能够有个直观的反馈,但是还是需要敲完公式C-c C-x C-l预览一下检查,有时候发现敲错了,想退回去修改,我得重新C-c C-x C-l取消预览,有没有方法实现自动预览,就是光标挪到公式位置就展开,离开就恢复,之类的。

另一个问题是预览的公式不对齐,我参考了 https://emacs-china.org/t/org-mode-latex-mode/22490 配置了一下,发现xenops对新版Emacs的org支持有问题,另一套对自带的 org-latex-preview 的代码效果不是那么好,但也有用。

我想问问大家现在都是怎么配置org中的公式的呢?

或许可以参考这个 项目分享: Org Mode 中 LaTeX 预览与导出的优化 (Improved LaTeX Preview).?

好的, 我周一去办公室试试看, 我只有工作机装了Linux :smiling_face_with_tear: 这个项目是不是要先把原本的org删了,还是说直接用usepackage会自动替换这个新版本的呀?

  1. 安装教程可以参考 https://abode.karthinks.com/org-latex-preview/
  2. 但在我个人的 macOS+Emacs30+中, 好像不能直接 package-delete org 了, 为了避免重复加载Org, 我个人的安装配置如下:

early-init.el:

(setq package-enable-at-startup nil) ;; 注意需要在 ‘init.el’ 中手动 package-initialize

(add-to-list 'features 'org)
(add-to-list 'features 'org-loaddefs) ;; 早期加载时暂时禁用 Org

init.el

(progn ; 紧随 package-initialize, 过晚加载可能导致很多依赖 Org 的包加载错误
  (add-to-list 'load-path "path/to/org/lisp/") ; 在此之前 cd path/to/org/, git checkout dev, make autoloads, make
  (setq features (delq 'org features))
  (require 'org))

看你介不介意使用 GitHub - io12/org-fragtog: Automatically toggle Org mode LaTeX fragment previews as the cursor enters and exits them 这个库?他能自动切换预览。

好的好的,我试试看

1 个赞

我先尝试一下上面那个方法

很好用,我想问问这个新的org能不能一次性全部编译org文档里面的所有LaTeX公式的呀?

如果是要一次性渲染全部的公式,把光标放在公式之外的地方就能做到了,或者是加个两个前缀C-u。这个 org 渲染的函数用起来应该是和以前一样的。

好的好的,可以了,谢谢 :folded_hands:

请问这个还没合入主线嘛?

应该一两年内不会合并,很多问题没解决。比如我放弃的原因之一 org-babel-execute:latex is broken · Issue #32 · tecosaur/org-latex-preview-todos · GitHub 这个 issue 是由于生成 PDF 改成异步导致的,org-babel 执行的时候,inkscape 要把 PDF 转为 SVG 的时候,PDF 还没有生成。暂时作者也没有计划或者办法修复这个问题。

相比于自动展开,令人糟糕的是当 org 有公式没有预先编译的时候,要等挺长时间才能进去,会很卡特别是用 org-fragtog 展开的时候老是会卡一下,很难受。我用的是 math-preview插件,他是类似 markdown 一样利用 mathjax 引擎已经算是挺快速的渲染公式的svg 图片了,另外关于公式的对准,我设置 了一套函数,已经解决了,行公式能够在基线中间,当窗口大小变化的也能自动对准变化。另外也实现了 org-fragtog 的功能,不过还没有完善,有些条件触发不灵敏,但是总体可用。 1.mathjax 快速的编译 svg速度 Screen Recording 2025-10-20 at 22.25.55 2.行内和行间公式的检测,以及基线对准 Screen Recording 2025-10-20 at 22.29.31 3.窗口变化也能自动更新公式位置,对准到基线中间 Screen Recording 2025-10-20 at 22.28.05 4.类似 org-fragtog(完善中,有些地方检测不灵) Screen Recording 2025-10-20 at 22.26.55

1 个赞

:cow_face::beer_mug:,很强