设置Org中图片显示的尺寸
我才发现,可以在不更改图片文件的情况下改变图片在Org 中显示的大小. 这太棒了: 这样我就能把它缩小到合适的大小了.
关键在于配置变量 org-image-actual-width
的值. 用 C-h v org-image-actual-width
可以看到相关说明:
org-image-actual-width 是一个定义在‘org.el’中的变量. 它的值是t
Documentation:
内嵌图片时是否显示它的实际宽度?
若设置为t,总是显示实际图片宽度.
若设置为一个数字, 使用imagemagick (如果可以的话) 来缩放图片宽度为该值大小.
若设置为一个只有一个数字的列表, 则若能找到类似
#+ATTR_HTML: :width 300px
这样的指定宽度的关键字,则尝试从#+ATTR.*
中抽取相应的宽度,否则使用指定的数字.若设置为nil, 则先尝试从
#+ATTR.*
关键字中获取宽度,如果获取不到宽度则使用实际宽度.该功能要求Emacs >= 24.1, build with imagemagick support.
(我是直接从源代码中 中构建的Emacs, 并且构建是开启了ImageMagick 支持, 不过我忘了当初是怎么做的了. 貌似只需要安装ImageMagick就行了. 请运行 ./configure | grep -i imagemagick
来看看能否查出相关说明.)
我可以在init文件中设置该变量的值:
(setq org-image-actual-width nil)
不过我现在都是把它设置为文件局部变量, 方法是把在Org文件的i第一行加入下面内容:
# -*- org-image-actual-width: nil; -*-
然后, 假设我有如下内容:
#+NAME: fig:moodleviz #+CAPTION: Screenshot from Moodleviz. #+ATTR_ORG: :width 600 #+ATTR_LATEX: :width 5in file:figures/moodleviz-laps.png
该图片原本有1520像素宽(要宽于我的个人笔记本电脑显示宽度—这张图片本身是从一个更大的屏幕上截屏下来的). 若按源大小显示则还需要上下移动该图片才能看清全貌,太麻烦了,所以最好将它缩小一点来显示. 上面这样设置能让她的宽度缩小到600像素:
ATTR_LATEX
会在我将文档导出成PDF时将图片缩小到指定大小. 我不需要将文档到处成HTML,所以我也不关心设置导出成HTML时的图像大小.