macOS下emacs+orgmode+imagemagick配置

Emacs的org模式下可以实现latex公式片段的预览,通过C-c C-x C-l即可实现,在官方文档中描述如下。 Produce a preview image of the LaTeX fragment at point and overlay it over the source code. If there is no fragment at point, process all fragments in the current entry (between two headlines). When called with a prefix argument, process the entire subtree. When called with two prefix arguments, or when the cursor is before the first headline, process the entire buffer. 使用C-c C-x C-l需要安装图片转换插件,有ltxpng和imagemagick两种。ltxpng仅支持转换为png图片,imagemagick与之相比支持的格式就丰富很多,这里我们选择imagemagick插件。 在Emacs的init.el中可以设置生成图片的插件,我们这里设置为imagemagick,在init.el中添加(setq org-latex-create-formula-image-program ‘imagemagick) macOS中可以通过brew来安装imagemagick,在终端中运行

brew install imagemagick

安装成功后,在org中进行C-c C-x C-l操作,发现仍不能将latex片段转换为图片,Emacs提示Can’t find ’convert‘ (You need to install imagemagick) 在终端中运行

which convert

发现convert存在于/usr/local/bin/中,而Emacs的配置是在/usr/bin/中寻找命令,我们需要在/usr/bin中创建convert的alias。当尝试更改/usr/bin/中的文件时,发现操作失败,即使使用sudo,也无法成功创建。原因是在EI Capitan后的macOS系统中为了对抗恶意程序,加入了Rootless机制,导致我们不再能够随心所欲地读写一些路径。因此,我们需要尝试关闭Rootless。 重启,按住Command+R进入恢复模式,打开Terminal,执行

csrutil disable

执行后,Rootless已经关闭。进入系统,定位到/usr/local/bin/中convert的目标文件,创建alias,命名为convert,拷贝到/usr/bin/中。此时,我们打开Emacs,在org中进行C-c C-x C-l操作,latex片段可以成功转换为图片。 最后,别忘了开启Rootless,重启,按住Command+R进入恢复模式,打开Terminal,执行下面命令即可

csrutil enable

该操作在Linux下同理

Hello World Again! 559

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×