我一直在使用Emacs 24.4进行我的所有数学/科学笔记。对于此,org-latex-preview
非常好用!但是最近,我升级到了配备视网膜显示器的MacBook Pro,现在我发现在org-mode中所有的方程式都有点...模糊。有没有设置可以改变这个效果?
以下是截图:
谢谢!
我一直在使用Emacs 24.4进行我的所有数学/科学笔记。对于此,org-latex-preview
非常好用!但是最近,我升级到了配备视网膜显示器的MacBook Pro,现在我发现在org-mode中所有的方程式都有点...模糊。有没有设置可以改变这个效果?
以下是截图:
谢谢!
我找到了一个通用的解决方案,适用于所有内联图片。首先确保生成的所有图片都使用2倍的比例因子创建。例如,对于LaTeX代码块和内联LaTeX片段,可以通过以下方式实现:
(plist-put org-format-latex-options :scale 2)
然后,您可以使org对所有内联图像进行缩放。
对于LaTeX代码块,我们可以使用以下方式建议org--create-inline-image
:
(defun my/image-scale-advice (image)
(let* ((factor (image-property image :scale))
(new-factor (if factor
(/ factor 2.0)
0.5)))
(image--set-property image :scale new-factor)
image))
(advice-add 'org--create-inline-image :filter-return #'my/image-scale-advice)
这将把任何已存在的缩放因子除以2,如果没有缩放因子,则设置缩放因子为0.5。
对于内联LaTeX代码片段,我们可以像这样建议使用org--make-preview-overlay
:
(defun my/overlay-scale-advice (beg end image &optional imagetype)
(mapc (lambda (ov) (if (equal (overlay-get ov 'org-overlay-type) 'org-latex-overlay)
(overlay-put ov
'display
(list 'image :type (or (intern imagetype) 'png) :file image :ascent 'center :scale 0.5))))
(overlays-at beg)))
(advice-add 'org--make-preview-overlay :after #'my/overlay-scale-advice)
dvisvgm
的需要(你需要从源代码构建它在 macOS 上)。 - gsgxdvisvgm
。如果你希望进行大量的TeX相关工作,MacTeX也包含了dvisvgm
(以及其他工具)。 - undefined默认情况下,orgmode LaTeX 预览不支持视网膜屏幕,在具有视网膜屏幕的 Mac 上,LaTeX 预览将变得模糊。
然而,我们可以通过修改 org.el 来实现此功能。只需按照以下步骤进行操作:
如果您想使用Yamamoto Mitsuharu版本的Emacs 25.1(具有更多的Mac特定功能):
brew tap railwaycat/emacsmacport
brew install emacs-mac
brew linkapps emacs-mac
这个版本的emacs将支持视网膜图片显示。
将比例从1.0更改为2.0,以生成两倍大小的图像。
删除org.elc。 在org.el中添加函数(defun galaxy-compose-image-filename-2x(image-file-name)
(concat (file-name-directory image-file-name) (file-name-base image-file-name) "@2x." (file-name-extension image-file-name)))
修改片段:
(unless (file-exists-p movefile)
(org-create-formula-image value movefile options forbuffer processing-type)
to
(unless (file-exists-p movefile)
(org-create-formula-image value movefile options forbuffer processing-type)
(setq filename-2x (galaxy-compose-image-filename-2x movefile))
(rename-file movefile filename-2x)
(call-process-shell-command "convert" nil nil nil nil (concat "\"" filename-2x "\" -scale \"50%\" -quality \"100%\"" ) (concat "\"" movefile "\"" )))
并且执行该函数。
现在,您可以在Mac Retina屏幕上预览具有2倍大小图像的LaTeX。
这可能不是问题的答案,但我想分享在AUCTEX mode中使用preview-latex时的经验。
模糊图像主要由位图图像引起,因此需要使用dvisvgm,因此需要preview-dvisvgm包,并且环境变量LIBGS需要设置正确。
仍然有一个问题与ghostscript的dvisvgm有关。在带有M1芯片的OSX 12.6.1中,ghostscript v10.00.0存在一些pdf解释问题,导致dvisvgm无法从pdf文件生成svg。一个解决方法是: