emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nick Dokos <nicholas.dokos@hp.com>
To: R.M.Krug@gmail.com
Cc: Myles English <mylesenglish@gmail.com>,
	emacs-orgmode <emacs-orgmode@gnu.org>
Subject: Re: Simplify repeated same section with different variable value
Date: Tue, 24 Apr 2012 10:44:27 -0400	[thread overview]
Message-ID: <12876.1335278667@alphaville> (raw)
In-Reply-To: Message from Rainer M Krug <r.m.krug@gmail.com> of "Tue, 24 Apr 2012 15:01:44 +0200." <4F96A438.6070703@gmail.com>

Rainer M Krug <r.m.krug@gmail.com> 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

  parent reply	other threads:[~2012-04-24 14:45 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-24 12:22 Simplify repeated same section with different variable value Rainer M Krug
2012-04-24 12:36 ` Myles English
2012-04-24 13:01   ` Rainer M Krug
2012-04-24 13:43     ` Toby Cubitt
     [not found]     ` <r.m.krug@gmail.com>
2012-04-24 14:44       ` Nick Dokos [this message]
2012-04-24 22:25         ` Darlan Cavalcante Moreira
2012-04-25  8:57           ` Rainer M Krug
2012-08-22 15:01       ` remove all #+RESULTS blocks in a file? Nick Dokos
  -- strict thread matches above, loose matches on Subject: below --
2012-08-22 13:25 Rainer M Krug

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=12876.1335278667@alphaville \
    --to=nicholas.dokos@hp.com \
    --cc=R.M.Krug@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=mylesenglish@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).