t...@tsdye.com (Thomas S. Dye) writes: > "Sebastien Vauban" <wxhgmqzgw...@spammotel.com> writes: > >> Hi Thomas, >> >> Thomas S. Dye wrote: >>> I want to use one of the dot utilities, tred, in a way that preserves my >>> ability to distribute the Org-mode file as reproducible research, i.e., >>> intermediate results should end up in the Org-mode file or be passed >>> along in a chain. >>> >>> Right now I have a python routine that reads a couple of Org-mode tables >>> and outputs a valid dot graph. I'm saving this to a file, dot-temp.gv, >>> and then running some shell commands, like this: >>> >>> #+begin_src sh >>> tred dot-temp.gv > test.gv >>> dot -o test.pdf -Tpdf test.gv >>> open test.pdf >>> #+end_src >>> >>> The graph is just what I want, but I can't see how to automate the >>> process in Org-mode. In particular, the tred step trips me up. Do I >>> have to make babel, tred-aware? >> >> Sorry if I misunderstand, but could you be more explicit (for me) on what the >> problem is? Why is it a problem for you to have that sh block inside your >> Org. It is executed automagically upon exporting, no? If yes, why is that >> not >> good enough? >> >> Best regards, >> Seb > > Aloha Seb, > > Yes, babel is working fine and the sh block does its job. > > The problem is that I like to see intermediate results in the Org-mode > file and the sh block works instead with files that reside outside Org-mode. > > In this particular case, I'd prefer to have dot-temp.gv in a results > block in the Org-mode file, and then pass this results block into a > source code block where tred can manipulate it, and which returns its > results to the Org-mode file. > > That way, the skeptical inquirer need only consult the Org-mode file to > be convinced that tred removed the transitive relations from the > digraph. It would be an easy matter to compare the two results blocks. > > All the best, > Tom
Hi Tom, Maybe rather than saving the output of your python block to an external file you could save it into the Org-mode file, into a results block named e.g., "dot-temp", and then you could do the following in your sh code block... #+begin_src sh :var body=dot-temp echo $dot-temp > dot-temp.gv tred dot-temp.gv > test.gv dot -o test.pdf -Tpdf test.gv rm dot-temp.gv open test.pdf #+end_src Hope this helps -- Eric -- Eric Schulte http://cs.unm.edu/~eschulte/