从树状结构快速生成图形时,在以组织方式进行笔记时需要其他人共享或美化,这非常有用。
除了手动创建动态点/ graphviz块以外,我找不到其他方法。
从结构树到简单有向图的转换应该相当简单。
我正在寻找一种遍历组织模式树(选定区域)并将树结构(以及可选的一些来自结构内容的信息)转换为点图的简单方法。
我不可能是第一个提出这个建议的人。这个解决了吗
输入
* la1
** la2
*** la3
*** la4
** la5
也许是可变的组织到点的前同步码
digraph {
rankdir=TB;
splines=true;
node [shape=box];
输出看起来像一个组织模式动态块
#+BEGIN_SRC dot :file out.png :cmdline -Kdot -Tpng
(contents of org-to-dot-preamble)
la1 -> la2
la1 -> la5
la2 -> la3
la2 -> la4
}
#+END_SRC
一个更高级的版本将首先声明所有节点并允许某种格式。
输入
* la1
firstline
secondline
** la2
firstline
secondline
*** la3
*** la4
firstline
** la5
一些格式变量
org-to-dot-shape
org-to-dot-font
输出
#+BEGIN_SRC dot :file out.png :cmdline -Kdot -Tpng
(contents of org-to-dot-preamble)
la1 [shape=Mrecord, label="{firstline|secondline}", fontname = "helvetica"]
la2 [shape=Mrecord, label="{firstline|secondline}", fontname = "helvetica"]
la3 [shape=Mrecord, label="{firstline|secondline}", fontname = "helvetica"]
la4 [shape=Mrecord, label="{firstline|secondline}", fontname = "helvetica"]
la5 [shape=Mrecord, label="{firstline|secondline}", fontname = "helvetica"]
la1 -> la2
la1 -> la5
la2 -> la3
la2 -> la4
}
#+END_SRC