emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* conditional export based on babel result
@ 2012-09-05 12:36 Andreas Leha
  2012-09-05 16:09 ` Thomas S. Dye
  2012-09-05 18:08 ` Eric Schulte
  0 siblings, 2 replies; 6+ messages in thread
From: Andreas Leha @ 2012-09-05 12:36 UTC (permalink / raw)
  To: emacs-orgmode

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: conditional export based on babel result
  2012-09-05 12:36 conditional export based on babel result Andreas Leha
@ 2012-09-05 16:09 ` Thomas S. Dye
  2012-09-05 18:57   ` Andreas Leha
  2012-09-05 18:08 ` Eric Schulte
  1 sibling, 1 reply; 6+ messages in thread
From: Thomas S. Dye @ 2012-09-05 16:09 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

Hi Andreas,

Perhaps you could generate the conditional parts of the document from
source code blocks?  Pass in your test result and either export "" or
#+begin_latex ... #+end_latex?

All the best,
Tom

Andreas Leha <andreas.leha@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
>
>
>

-- 
Thomas S. Dye
http://www.tsdye.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: conditional export based on babel result
  2012-09-05 12:36 conditional export based on babel result Andreas Leha
  2012-09-05 16:09 ` Thomas S. Dye
@ 2012-09-05 18:08 ` Eric Schulte
  2012-09-05 19:04   ` Andreas Leha
  1 sibling, 1 reply; 6+ messages in thread
From: Eric Schulte @ 2012-09-05 18:08 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

Andreas Leha <andreas.leha@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,

-- 
Eric Schulte
http://cs.unm.edu/~eschulte

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: conditional export based on babel result
  2012-09-05 16:09 ` Thomas S. Dye
@ 2012-09-05 18:57   ` Andreas Leha
  0 siblings, 0 replies; 6+ messages in thread
From: Andreas Leha @ 2012-09-05 18:57 UTC (permalink / raw)
  To: emacs-orgmode

tsd@tsdye.com (Thomas S. Dye) writes:

> Hi Andreas,
>
> Perhaps you could generate the conditional parts of the document from
> source code blocks?  Pass in your test result and either export "" or
> #+begin_latex ... #+end_latex?
>

Hi Tom,

thanks for the suggestion.  I have indeed done that already but I will
avoid such things in the future.  It (a) feels wrong and (b) is ugly code
when I write (parts of) my document using print() and cat() functions.

Regards,
Andreas
 

>
> Andreas Leha <andreas.leha@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
>>
>>
>>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: conditional export based on babel result
  2012-09-05 18:08 ` Eric Schulte
@ 2012-09-05 19:04   ` Andreas Leha
  2012-09-06 19:07     ` cberry
  0 siblings, 1 reply; 6+ messages in thread
From: Andreas Leha @ 2012-09-05 19:04 UTC (permalink / raw)
  To: emacs-orgmode

Eric Schulte <eric.schulte@gmx.com> writes:

> Andreas Leha <andreas.leha@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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: conditional export based on babel result
  2012-09-05 19:04   ` Andreas Leha
@ 2012-09-06 19:07     ` cberry
  0 siblings, 0 replies; 6+ messages in thread
From: cberry @ 2012-09-06 19:07 UTC (permalink / raw)
  To: emacs-orgmode

Andreas Leha <andreas.leha@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.schulte@gmx.com> writes:
>
>> Andreas Leha <andreas.leha@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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-09-06 19:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-05 12:36 conditional export based on babel result Andreas Leha
2012-09-05 16:09 ` Thomas S. Dye
2012-09-05 18:57   ` Andreas Leha
2012-09-05 18:08 ` Eric Schulte
2012-09-05 19:04   ` Andreas Leha
2012-09-06 19:07     ` cberry

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).