A geração rápida de gráficos a partir de uma estrutura semelhante a uma árvore pode ser muito útil ao fazer anotações no modo organizacional que exigem compartilhamento e / ou embelezamento para outros seres humanos.
Não consegui encontrar outra maneira de fazer isso além de criar manualmente um bloco dinâmico de ponto / gráfico.
Uma tradução de uma árvore estruturada para um gráfico direcionado simples deve ser bastante direta.
Estou procurando uma maneira simples de percorrer uma árvore de modo organizacional (uma região selecionada) e traduzir a estrutura da árvore (e opcionalmente algumas informações do conteúdo da estrutura) em um gráfico de pontos.
Não posso ser o primeiro a pensar nisso. Isso foi resolvido?
entrada
* la1
** la2
*** la3
*** la4
** la5
e talvez um preâmbulo variável de ponto a ponto
digraph {
rankdir=TB;
splines=true;
node [shape=box];
a saída pareceria um bloco dinâmico no modo organizacional
#+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
Uma versão mais avançada declararia primeiro todos os nós e permitiria alguma formatação.
entrada
* la1
firstline
secondline
** la2
firstline
secondline
*** la3
*** la4
firstline
** la5
Algumas variáveis de formatação
org-to-dot-shape
org-to-dot-font
resultado
#+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