Швидке генерування графіків з деревоподібної структури може бути дуже корисним, коли робити нотатки в org-режимі, які потребують спільного використання або прикраси для інших людей.
Я не міг знайти іншого способу зробити це, крім ручного створення динамічного блоку точка / графік.
Переклад із структурованого дерева на простий спрямований графік повинен бути досить простим.
Я шукаю простий спосіб перемістити дерево в режимі org (вибраний регіон) і перевести структуру дерева (і необов'язково деяку інформацію зі вмісту структури) на крапковий графік.
Я не можу бути першим, хто придумав це. Це вирішено?
вхід
* la1
** la2
*** la3
*** la4
** la5
і, можливо, змінна орга-до-точка-преамбула
digraph {
rankdir=TB;
splines=true;
node [shape=box];
вихід буде виглядати як динамічний блок в режимі org
#+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