From mboxrd@z Thu Jan 1 00:00:00 1970 From: tsd@tsdye.com (Thomas S. Dye) Subject: Re: babel work flow Date: Fri, 15 Jul 2011 06:58:39 -1000 Message-ID: References: <80oc0x9uyz.fsf@somewhere.org> <87mxgfk10q.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([140.186.70.92]:55734) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qhlj3-0004xq-3r for emacs-orgmode@gnu.org; Fri, 15 Jul 2011 12:58:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qhliy-0000Ew-Og for emacs-orgmode@gnu.org; Fri, 15 Jul 2011 12:58:52 -0400 Received: from oproxy6-pub.bluehost.com ([67.222.54.6]:48907) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1Qhliy-0000Ep-8P for emacs-orgmode@gnu.org; Fri, 15 Jul 2011 12:58:48 -0400 In-Reply-To: <87mxgfk10q.fsf@gmail.com> (Eric Schulte's message of "Fri, 15 Jul 2011 09:36:55 -0600") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Schulte Cc: Sebastien Vauban , Org-mode Eric Schulte writes: > tsd@tsdye.com (Thomas S. Dye) writes: > >> "Sebastien Vauban" 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 Aloha Eric, With a few modifications I got exactly what I wanted. Thanks! This takes a valid dot digraph in a results block, runs it through tred so transitive relations are removed, creates a pdf file, and then writes the dot source produced by tred back to the Org-mode file. #+begin_src sh :var body=dot-digraph :results output raw echo $body > dot-temp.gv tred dot-temp.gv > dot-temp-tred.gv dot -o test.pdf -Tpdf dot-temp-tred.gv cat dot-temp-tred.gv rm dot-temp-tred.gv #+end_src All the best, Tom -- Thomas S. Dye http://www.tsdye.com