Andreas Leha <andreas.l...@med.uni-goettingen.de> 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(text= <<brewtemp>> ) #+end_src 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. HTH, Chuck > Eric Schulte <eric.schu...@gmx.com> writes: > >> Andreas Leha <andreas.l...@med.uni-goettingen.de> 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