|
From: | Charles C. Berry |
Subject: | Re: [O] [PATCH] inline src block results can be removed |
Date: | Wed, 12 Nov 2014 15:47:07 -0800 |
User-agent: | Alpine 2.00 (OSX 1167 2008-08-23) |
On Wed, 12 Nov 2014, Aaron Ecay wrote:
Hi Chuck, 2014ko azaroak 12an, "Charles C. Berry"-ek idatzi zuen:Inline src blocks cannot update their results --- causing some of us heaadaches [1]. These patches fix that by placing the result of an inline src block in an export snippet with a faux :back-end called 'babel'. So C-c C-c with point on src_R{1+2} will insert `@@babel:3@@'. Updating the contents of the inline src block and retyping C-c C-c will update the snippet. On export, these snippets are rendered using the verbatim transcoder, e.g. \texttt{3} for latex backends. Support for most backends is provided. org-babel-execute-buffer will also update such snippets.Instead of using an export snippet, which requires per-backend changes, you could wrap results in a macro, e.g. {{{results(2)}}}. Users could customize this macro per-buffer (with the usual #+macro keyword) to provide their own formatting of inline results. You could provide the fallback interpretation in the second call to ‘org-macro-replace-all’ in ‘org-export-as’ (currently responsible for expanding a few macros like {{{author}}} and {{{date}}}). What do you think of this idea?
Aaron, I like the flexibility that macros would allow. Some care needs to be taken with commas, but not a big deal.I don't think the usual #+MACRO works here, as the definition would be found in `org-macro-templates' by the first call and existing stuff would be expanded instead of being left for babel to remove it. But setting it up as a document keyword should work, right?
Don't know if there are other gotchas.Maybe a limited collection of formats could be set up to support basic markup options and the macro could choose amongst them with a second arg set by a babel header arg.
I am not quite sure how to marry this to header args. Maybe the :wrap header arg should be hijacked for inline src blocks to specify a macro for the results.
I mean, does anyone actually use stuff like src_R[:wrap latex]{1+2}? The current result cannot be parsed as an export block, AFAICS.
Chuck
[Prev in Thread] | Current Thread | [Next in Thread] |