"Eric Schulte" writes: > Carsten Dominik writes: > >> On May 27, 2009, at 9:09 PM, Russell Adams wrote: >> [...] > > Hi Russel, > > Thanks for the update, and for the clear exposition in the org demo > file. I think that rather than changing the specification of the dot > block (which will break existing org files) we should create new block > files. Either create a single graphviz file, which will accept an > argument indicating which command to use, or create a new block type for > each command. I'm not sure which of these approaches would be > preferred... They should both require only small changes to your > existing code. If we were starting from scratch my preference would be > a single graphviz block type, however in order to maintain functionality > for existing org-mode documents, in this case I would lean towards > generating a block type for each command. I suppose we could support > both options. > The attached version of org-exp-blocks.el should support both graphviz blocks (accepting each command as the first header argument), as well as block types for all of the commands (see the monolithic mapc statement). > > If our goal is just to allow post processing in this instance, I > believe that using defadvice would be the easiest hack. Make sure > that the last statement in `org-export-blocks-format-dot' returns the > file path, and then try something like the following... > > (defadvice org-export-blocks-format-dot (around fix-eps-org-export-blocks-format-dot activate) > "Fix graphviz eps output." > (let ((file ad-do-it)) > (shell-command (format "sed -i -e 's/PS-Adobe-2.0/PS-Adobe-2.0 EPSF-1.2/1' %s" file)))) > I was mistaken about the return value of org-export-blocks-format-dot, perhaps a defadvice more like the following would be preferable. ;; untested (defadvice org-export-blocks-format-dot (around fix-eps-org-export-blocks-format-dot activate) "Fix graphviz eps output." (let ((out-file (if headers (car headers)))) ad-do-it (if (string-match "\\.eps" out-file) (shell-command (format "sed -i -e 's/PS-Adobe-2.0/PS-Adobe-2.0 EPSF-1.2/1' %s" out-file))))) -- Eric