After some more thought, I am not sure it is possible to setup just a parse tree for this. It works ok for src blocks, e.g.
#+BEGIN_SRC emacs-lisp (org-element--interpret-data-1 '(src-block (:language "emacs-lisp" :switches nil :parameters ":results code" :value "(org-element-context)\n" :post-blank 1 :parent nil)) nil) #+END_SRC #+RESULTS: : #+BEGIN_SRC emacs-lisp :results code : (org-element-context) : #+END_SRC : On the other hand, it isn't clear how to use this to make a table. e.g. this table: | 5 | 6 | | 6 | 7 | was represented as an element like this. (table (:begin 5133 :end 5154 :type org :tblfm nil :contents-begin 5133 :contents-end 5153 :value nil :post-blank 1 :post-affiliated 5133 :parent nil)) There is no data in that representation, just points in the buffer where the data is. Does anyone know how to do this? Related to this, I have wanted to be able to have code blocks output full figures and tables with captions and attributes. I usually do this by building up strings and using :results org drawer, but it might be nice to build an element and render it. I feel like what you really want is this: http://oremacs.com/2015/01/23/eltex/ for org-mode. Arun Isaac writes: >> I don't know if there is a "correct" way. It might depend on how >> sophisticated the document is. I usually use strings and format. >> Sometimes that is a pain though, if there is a lot of conditional >> formatting. So the question is which is easier for your situation, and I >> would say easier is "correct" ;) > > Fair enough. Sounds good. Thank you. -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu