emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Simplify repeated same section with different variable value


From: Darlan Cavalcante Moreira
Subject: Re: [O] Simplify repeated same section with different variable value
Date: Tue, 24 Apr 2012 19:25:51 -0300
User-agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/24.1 Mule/6.0 (HANACHIRUSATO)

If you like the call method (which is the best one IMHO) you can also add
the foo function to the library of babel. In this way you will be able to
call it from any org file without having to put the definition of the foo
function in each of them.

--
Darlan

At Tue, 24 Apr 2012 10:44:27 -0400,
Nick Dokos <address@hidden> wrote:
> 
> Rainer M Krug <address@hidden> wrote:
> 
> > On 24/04/12 14:36, Myles English wrote:
> > >>> On Tue, 24 Apr 2012 14:22:48 +0200, Rainer M Krug said:
> > >
> > >> Hi I have a section which I want to repeat for different variable 
> > >> values. At the moment I am
> > >> copying them, but I do not like it at all:
> > >
> > >> ** Species one :PROPERTIES: :var: SPECIES="sp1" :END: *** Data Checks 
> > >> Here is some text
> > >> #+header: :results output #+begin_src R checkData(species=SPECIES) 
> > >> #+end_src
> > >
> > >
> > >> ** Species 2 :PROPERTIES: :var: SPECIES="sp2" :END: *** Data Checks Here 
> > >> is some text
> > >> #+header: :results output #+begin_src R checkData(species=SPECIES) 
> > >> #+end_src
> > >
> > >
> > >> I am sure there must be an easier way with org?
> > >
> > > How about using yasnippet?
> > 
> > Yasnippets would help in filling the file with the repeated code - but if I 
> > want to change e.g.
> > "some text" to "some more text", I still have to do it manually. 
> > Nevertheless, if I could define
> > the org section once and repeat it with different variable values, this 
> > would enable me to change
> > it only once.
> > 
> 
> Use the #+call mechanism:
> 
> --8<---------------cut here---------------start------------->8---
> * subroutine
> 
> #+name: foo
> #+BEGIN_SRC elisp :var x=1
> (* x x)
> #+END_SRC
> 
> * call
> 
> #+call: foo(4)
> 
> #+RESULTS: foo(4)
> : 16
> 
> * call
> 
> #+call: foo(5) 
> 
> #+RESULTS: foo(5)
> : 25
> --8<---------------cut here---------------end--------------->8---
> 
> Nick
> 
> 
> 



reply via email to

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