llcc

An amateur in Emacs, but with enthusiastic


Navigation
» Home
» About Me
» Github
» XML Feed

关于图片预览问题

29 May 2016 » emacs

在windows下会遇到emacs不支持png和jpg的问题,主要是由于缺少 libpng14-14.dlllibjpg62.dll ,因此需要下载该文件,并将它们置于系统可搜索到的文件目录下,emacs即可支持该类型文件。 参考该网页:让 Windows 版本的 Emacs 支持图片直接显示

以下代码可以用于验证emacs是否支持该类型图片。

(print image-library-alist)
(image-type-available-p 'png)
(image-type-available-p 'jpeg)
(image-type-available-p 'gif)
(image-type-available-p 'tiff)
(image-type-available-p 'xbm)
(image-type-available-p 'xpm)
(image-type-available-p 'pdf)

org-mode有一个很好的功能就是通过org-latex-preview-fragment命令可以实现org-mode latex的实时预览。具体过程是:

  1. 通过将程序块导出到tex,编译成dvi,然后通过dvipng转换成png图片进行预览。
  2. 通过imagemagick将编译成的pdf转换成png进行预览。

可以通过 setq org-latex-create-formula-image-program 'imagemagick 来选择dvipng和imagemagick。dvipng在tex32的latex包中已包含。windows的imagemagick可以自行下载安装,通过convert命令转换即可,安装时即在系统path中添加了命令的路径。导出tex的过程涉及自动引入的package和选择的documentclass的问题,分别在org-format-latex-header中设置,然后通过添加[NO-DEFAULT-PACKAGES]与[NO-PACKAGES]命令来选择是否自动添加一些默认的包,这些包可以在org-latex-default-class中设置,设置方法是 M-x customize-option 输入命令回车然后修改即可。由于我的公式中存在 *日语字符*和编号,所以我documentclass设置为jsarticle,默认包设置为array以满足以上功能。问题具体描述是:

  1. dvipng时可以建立lxpng目录,但是里面没有文件,并且org buffer为空方格。
  2. imagemagick时提示.pdf文件在windows的temp目录先未成功建立。针对上面的问题,我定位到该目录下,在org-mode下通过C-c C-x C-l,发现tex文件已经建立,但未有div和pdf存在,相应的.log文件显示tex编译失败。那么肯定就是tex编译过程中出现问题了,然后打开该tex文件,发现引入宏包和documentclass存在问题,通过以上描述的内容修正后,预览成功。

Related Posts