项目分享: Org Mode 中 LaTeX 预览与导出的优化 (Improved LaTeX Preview).

是否还需要确认一下 dvisvgm 的版本,因为这是默认的 process?

org-latex-preview 这个文件会检查系统 dvisvgm 版本是否满足或高于 3.0 否则使用 dvipng.

但这样不是很妥当, dvipng 相比 dvisvgm3 速度略有优势, 但匹配周围文本颜色、scale 比例等功能都有缺失.

目前 dvisvgm3 预计随着 TeX Live 2023 一起发布, 时间大概是今年 6 月份.

2 个赞

这里可以使用 TeX Live 2023 测试版: Pretests - TeX Live - TeX Users Group

TL 2023 已经 freeze 了, 3 月 19 日左右发布正式版.

1 个赞

重装整个 doom 后生效了,公式的颜色和放大缩小都正常,打开 auto-mode 编辑公式和显示都很流畅。

问题是公式的编号没有显示,行间公式不知道怎样设置居中,默认的公式字号有点偏小不知道怎样设置。

还有个问题,align 会标红,即使没有报错,例如

\begin{align}
  p_i&=\frac{\partial L}{\partial \dot{x}_{i}}=\frac{n\dot{x}_{i}}{\sqrt{\dot{x}^k\dot{x}_k}}\\
\frac{\partial L}{\partial x^i}&=\partial_in\sqrt{\dot{x}^k\dot{x}_k}
\end{align}

显示出来是

image

行内公式用 \( \) 围成的颜色正常,用 $ $颜色就不一样,而且打开 auto-mode 也不会自动渲染成图片

image

此外要如何设置打开文章自动渲染全部公式?

如果方便的话, 请问你可以将你的问题转述到 Discord 群组吗?

由于我不是核心的开发者, 这些问题我也不是很懂, 不能提供帮助.

我点击贴子里的 discord 链接无法加入群组,几乎没用过discord,不知道是什么问题

我看你的align没有对齐,然后结合上没有公式标号的问题,你是不是没有引amsmath包?

那个帖子是隶属于 Doom Emacs 的 Discord 的, 你可以先加入 Doom Emacs 的频道: Doom Emacs

1 个赞

红杠通常表示语句有错误, 我是用 $$ 作为分界符的时候也有相关问题.

1 个赞

如果没有关闭 tooltip-mode,那么光标在有错误的 snippet 上是会显示报错信息的

Screenshot from 2023-03-18 04-14-29 Screenshot from 2023-03-18 04-14-40

补两张图

1 个赞

请问如何在非doom下启用这个项目功能呢

目前我知道的方案有

  1. 手动安装. 把项目克隆到本地, 在根目录下执行 make autoloads 后将里面的 lisp 目录放入配置文件的加载目录. 具体可以参考 The Org Manual. 如果你使用 use-package 的话, (add-to-list 'load-path "~/src/org-mode/lisp") 这一段可以改成 (use-package org :load-path "~/src/org-mode/lisp"). 需要留意的是, 这段代码尽量放在配置文件靠前的地方防止 Emacs 加载内置的 Org.

  2. 使用 straight.el 自动安装 (来自 .emacs.d/init.el at f6fe3110be820bc4c4ec071b452a975dbbd90ad0 · karthink/.emacs.d · GitHub):

(use-package org
  :defer
  :straight `(org
             :fork (:host nil
                    :repo "https://git.tecosaur.net/tec/org-mode.git"
                    :branch "dev"
                    :remote "tecosaur")
             :files (:defaults "etc")
             :build t
             :pre-build
             (with-temp-file "org-version.el"
               (require 'lisp-mnt)
               (let ((version
                     (with-temp-buffer
                       (insert-file-contents "lisp/org.el")
                       (lm-header "version")))
                     (git-version
                     (string-trim
                      (with-temp-buffer
                        (call-process "git" nil t nil "rev-parse" "--short" "HEAD")
                        (buffer-string)))))
                 (insert
                  (format "(defun org-release () \"The release version of Org.\" %S)\n" version)
                  (format "(defun org-git-version () \"The truncate git commit hash of Org mode.\" %S)\n" git-version)
                  "(provide 'org-version)\n")))
             :pin nil))
1 个赞

好的,谢谢,我试试看

项目进展如何,请问大约什么时候能够用上?

我跟你一样, 完全不行

但我 build 了 3.0.4 的还是不行

  1. 请问你使用的操作系统是什么?
  2. 请你检查一下你的 dvisvgm -V1 是否和这里的一致.

链接消息的内容:

dvisvgm -V1
dvisvgm 3.0.4 (aarch64-apple-darwin22.3.0)
------------------------------------------
brotli:      1.0.9
clipper:     6.2.1
freetype:    2.13.0
Ghostscript: 10.0.0
kpathsea:    6.3.5
potrace:     1.16
xxhash:      0.8.1
zlib:        1.2.11

然后下面的参数是我目前的情况:

➜  ~ dvisvgm -V1
dvisvgm 3.0.3 (aarch64-apple-darwin20.6.0)
------------------------------------------
brotli:   1.0.9
clipper:  6.2.1
freetype: 2.13.0
kpathsea: 6.3.5
potrace:  1.16
xxhash:   0.8.1
zlib:     1.2.13