2

有时我的 org-babel 生成的点图很大,目前在浏览器中查看 html 导出时会被截断。所以我试图将生成的图像标签的宽度设置为100%. 我目前生成的图形如下所示:

#+BEGIN_SRC dot :file x.svg :cmdline -Kdot -Tsvg
digraph {
  rankdir=LR; // graph from left to right

  A -> B -> C
}
#+END_SRC

org 8.2.10吐出这个:

<div class="figure">
<p><img src="x.svg" alt="x.svg" />
</p>
</div>

我试着把

#+ATTR_HTML: :width 100%

之前#+BEGIN_SRC- 这确实适用于[[file:...]链接。我也试过

#+BEGIN_SRC dot :file x.svg :width 100% :cmdline -Kdot -Tsvg

两者都不起作用。

那么怎么做呢?

4

2 回答 2

2

要修改由 babel 源块生成的图形的宽度,请将 :width 属性添加到结果块,如下所示:

#+BEGIN_SRC dot :file x.svg :cmdline -Kdot -Tsvg
digraph {
  rankdir=LR; // graph from left to right

  A -> B -> C
}
#+END_SRC

#+attr_html: :width 100%
#+RESULTS:
[[file:x.svg]]

然后生成的html是:

<div class="figure">
<p><img src="x.svg" alt="x.svg" width="100%" />
</p>
</div>

此代码示例在 Org 模式 8.2.9 和 Emacs 24.3.1 中进行了测试。

于 2014-12-26T21:22:29.357 回答
0

jpeloquin 的回答让我意识到我可以用另一种方式做到这一点。

  • :exports none
  • 使用标准的组织模式图像链接并#+ATTR_HTML在其上设置

#+BEGIN_SRC dot :file x.svg :exports none :cmdline -Kdot -Tsvg
digraph {
  rankdir=LR; // graph from left to right

  A -> B -> C
}
#+END_SRC

#+ATTR_HTML: :width 100%
[[file:x.svg]]

生成的 html 与 jpeloquin 的相同。

在 Org-mode 版本 8.2.10 和 Emacs 24.4.1 上测试。

于 2015-01-07T00:09:50.007 回答