[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] conditional export based on babel result

From: cberry
Subject: Re: [O] conditional export based on babel result
Date: Thu, 06 Sep 2012 12:07:53 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux)

Andreas Leha <address@hidden> writes:

I am a bit late to the thread, but two possibilities come to mind:

1) write a brew template as

#+name: brewtemp
#+begin_src latex 
#end_src block

then call it as 

#+begin_src R :noweb yes :results output latex
Brew allows loops and conditionals over both markup and code, which
allows you to choose or skip a sub-document as the R code dictates. If
the sub-document is of modest size and complexity, this is reasonably
easy and the brew markup will be easy to read.

2) Use ravel (at https://github.com/chasberry/orgmode-accessories/) to
export an org subtree as a knitr parent document in Rnw format (akin to
Sweave) and another org subtree as a knitr child document. The parent
document must call the child from within a code block to allow loops and
conditionals. Then run knitr. For more complicated sub-documents, this
might work better than building brew templates in latex src blocks as
editting the org structure and retooling R src blocks is easier (for me
at least) than re-organizing a lengthy latex src block with embedded
brew calls.



> Eric Schulte <address@hidden> writes:
>> Andreas Leha <address@hidden> writes:
>>> Hi all,
>>> is there a possibility to exclude (or include) parts of the document
>>> based on some babel source block result?
>>> First some use case:
>>> Say, I am doing a statistical test.  And only if the test turns out to be
>>> significant, a follow-up analysis is carried out.
>>> Is that possible?
>>> One thinkable and ugly option would be to allow lisp-generated tags like
>>> in this dummy example:
>>> #+begin_org
>>> * The Test
>>> #+name: sometest
>>> #+begin_src R
>>>   test_result <- 0.03
>>> #+end_src
>>> ** export maybe (if (< (string-to-number (sbe sometest)) 0.05) ":export:" 
>>> ":noexport:")
>>> The follow-up
>>> #+end_org
>>> Regards,
>>> Andreas
>> Hi Andreas,
>> When doing something this complex you may just want to write your own
>> function which could say... take a subtree ID and a boolean flag as
>> arguments and then set the export flag on that subtree as appropriate.
>> The org-id-goto and org-toggle-comment functions may help in
>> implementing this function.
>> Best,
> Hi Eric,
> in my opinion, there are more complex things in org-mode already ;-)
> I agree, that such functionality doesn't need to be provided in org
> itself.
> Thanks a lot for the pointers to possible entry-points for an
> implementation.  I hope, I'll find time to to go for it.  Would be good
> for my elisp, anyway...
> Regards,
> Andreas

Charles C. Berry                            Dept of Family/Preventive Medicine
cberry at ucsd edu                          UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

reply via email to

[Prev in Thread] Current Thread [Next in Thread]