如何在组织模式下调整图像大小

问题描述 投票:0回答:7

是否有通用方法来定义

org-mode
中链接的图像的大小(以百分比或像素为单位)?

假设我的

.org
文件中有以下链接:

[[~/images/example.jpg]]

这个 JPG 太大了,所以如果我将其导出为 HTML 或 LaTeX,或者使用

C-c C-o i
org-mode 中打开它,将只能看到图像的一小部分。

html image resize export org-mode
7个回答
91
投票

Org 8.0 开始,“属性行现在采用 plists”:

#+attr_html: :width 100px
#+attr_latex: :width 100px
[[~/images/example.jpg]]

63
投票

根据 Jacobo 的评论,将以下内容添加到您的 init.el 文件中:

(setq org-image-actual-width nil)

然后在 org-mode 下,您可以按照以下示例所示在每个 JPG、PNG 和 SVG 前面调整每个内嵌图像的大小。

#+ATTR_ORG: :width 100
[[~/images/example.svg]]

如果您想调整内联预览和 html 输出的大小:

#+ATTR_HTML: width="100px"
#+ATTR_ORG: :width 100
[[~/images/example.svg]]

14
投票
#+ATTR_HTML: width="100px"
[[~/images/example.jpg]]

14
投票

这是有关如何使用百分比调整图像大小的示例(组织模式版本 9.0.5)

#+CAPTION: Weight space                                                                                                                                     
#+ATTR_HTML: :alt neural network :title Neural network representation :align right                                                                          
#+ATTR_HTML: :width 50% :height 50%                                                                                                                         
https://i.stack.imgur.com/nzHSl.jpg

8
投票

这是一种在 emacs Org 模式下调整图像大小以进行预览(而不是导出)的方法。通常,

  1. 我们希望在需要时将图像设置为特定宽度,例如 249px。
  2. 我们想要设置一个默认的图像宽度,这样我们就不需要为每个图像指定
    +attr_html
    - 这会很乏味。

这可以通过配置

org-image-actual-width
来实现,如下所示:

(setq org-image-actual-width (list 550))

然后,在您的

.org
文件中,如果有

#+attr_html :width 249
[[~/images/example1.jpg]]

然后图像将以宽度 249px 显示在预览中。对于另一张未指定

+attr_*
的图像,将应用默认宽度 550px。

[[~/images/example2.jpg]]

您可以从 org-mode 源代码中的文档中看到此行为

When set to a number in a list, try to get the width from any
#+ATTR.* keyword if it matches a width specification like
  #+ATTR_HTML: :width 300px
and fall back on that number if none is found.

我发现很难理解“列表中的数字意味着什么”,所以我查看了实现,事实上,像

(list 550)
这样的东西是有效的。


3
投票

对于 LaTeX,要删除默认的

width=.9\linewidth
,请将
org-latex-image-default-width
设置为空字符串。这样,图像就会具有自然大小。

要即时执行此操作,请使用

set-variable
emacs 命令。或者要永久设置此变量,请在 init.el 中添加以下行:
(setq org-latex-image-default-width "")


0
投票

对于导出到 LaTeX,如果您希望“缩放”图像(a Alioth 对 HTML 的响应),有几种方法可以选择。

相对于图像尺寸的缩放:

#+ATTR_LATEX: :scale 1.2

相对于 LaTeX 认为排版情况的缩放:

#+ATTR_LATEX: :width 0.40\linewidth

#+ATTR_LATEX: :width 0.5\textwidth

© www.soinside.com 2019 - 2024. All rights reserved.