La génération rapide de graphiques à partir d'une structure arborescente peut être très utile lors de la prise de notes en mode organisation qui nécessitent un partage et / ou une embellissement pour d'autres humains.
Je ne pouvais pas trouver d'autre moyen que de créer manuellement un bloc point / graphique dynamique.
Une traduction d'un arbre structuré en un graphique dirigé simple devrait être assez simple.
Je cherche un moyen simple de parcourir une arborescence en mode organisationnel (une région sélectionnée) et de traduire la structure arborescente (et éventuellement des informations du contenu de la structure) en un graphique à points.
Je ne peux pas être le premier à avoir pensé à ça. Cela a-t-il été résolu?
contribution
* la1
** la2
*** la3
*** la4
** la5
et peut-être un préambule org-to-dot variable
digraph {
rankdir=TB;
splines=true;
node [shape=box];
la sortie ressemblerait à un bloc dynamique en mode 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
Une version plus avancée déclarerait d'abord tous les nœuds et permettrait une mise en forme.
contribution
* la1
firstline
secondline
** la2
firstline
secondline
*** la3
*** la4
firstline
** la5
Quelques variables de formatage
org-to-dot-shape
org-to-dot-font
production
#+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
Réponses:
Voici un exemple de travail qui utilise l'
org-element
API pour analyser les en-têtes de tampon:Cela fonctionne en plusieurs étapes: tout d'abord, un bloc elisp utilise
org-element-parse-buffer
pour obtenir tous les titres et extraire une liste du titre du parent et du titre du titre.Ensuite, un autre bloc source transforme cette liste en syntaxe à points.
Un troisième bloc source de points contient l'encapsulation DOT et inclut les relations générées.
Améliorations cosmétiques: filtrer la section pour le test lui-même; vous pouvez ajouter une balise à cette section et filtrer par balise dans le premier bloc.
la source
Vous pourrez peut-être réutiliser une partie du code à partir du bas de http://pages.sachachua.com/evil-plans/ . J'utilise essentiellement les entrées org-map pour parcourir mes rubriques. Comme j'ai un graphique dirigé au lieu d'un arbre strict, j'utilise des recherches d'expressions régulières simples pour analyser la structure des liens à partir d'un texte convivial. Si vous travaillez uniquement avec un arbre, vous pouvez créer votre arborescence directement à partir des titres. Après cela, il s'agit de générer la syntaxe graphviz appropriée, et org-babel peut gérer la production et la conversion en PNG ou SVG. J'espère que cela pourra aider!
la source
Ce n'est pas un point, mais si vous êtes pressé, les suivis pourraient être utiles.
Nous avons besoin de
org-plus-contrib
FreeMind.app pour produire une carte mentale à partir de documents en mode organisation.Installez un package en mode organisation supplémentaire appelé
org-plus-contrib
parM-x package-list-packages
.Peut-être faudrait-il ajouter
à nos .emacs.
Ensuite , nous pouvons exporter notre fichier org-mode pour Freemind fichier * .mm par
C-c C-e f f
,org-freemind-export-to-freemind
.Maintenant, nous ouvrons * .mm de Freemind.app, et le tour est joué!
Passez la souris pour voir le contenu des nœuds.
la source
MISE À JOUR: 2019
Il existe un package appelé org-mind-map
https://github.com/theodorewiles/org-mind-map
Il crée des graphiques dirigés graphviz à partir de fichiers en mode organisation en utilisant le langage à points.
Après avoir installé org-mind-map, vous pouvez exporter un fichier org
C-c C-e
et sélectionner "Créer un fichier graphique & dot"g d
Cela créera un fichier dot à partir de votre fichier org. Il contiendra par défaut certaines personnalisations visuelles du package org-mind-map. Vous pouvez les éditer ou copier les parties pertinentes dans un nouveau fichier de points.
la source