ツリーのような構造からのグラフの高速生成は、他の人間の共有または美化を必要とする組織モードでメモを作成する場合に非常に役立ちます。
動的なdot / 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