* Another tricky question: accessing named values
@ 2012-09-13 19:02 Neuwirth Erich
2012-09-14 7:33 ` Bastien
0 siblings, 1 reply; 5+ messages in thread
From: Neuwirth Erich @ 2012-09-13 19:02 UTC (permalink / raw)
To: emacs-orgmode@gnu.org emacs-orgmode@gnu.org
Is there a way of accessing the value of something defined by a #name: statement as part of plain text,
of within the definition of a macro?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Another tricky question: accessing named values
2012-09-13 19:02 Another tricky question: accessing named values Neuwirth Erich
@ 2012-09-14 7:33 ` Bastien
2012-09-14 8:52 ` Neuwirth Erich
0 siblings, 1 reply; 5+ messages in thread
From: Bastien @ 2012-09-14 7:33 UTC (permalink / raw)
To: Neuwirth Erich; +Cc: emacs-orgmode@gnu.org emacs-orgmode@gnu.org
Hi Erich,
Neuwirth Erich <erich.neuwirth@univie.ac.at> writes:
> Is there a way of accessing the value of something defined by a #name: statement as part of plain text,
> of within the definition of a macro?
This is a bit cryptic to me. Care to give an example?
Thanks,
--
Bastien
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Another tricky question: accessing named values
2012-09-14 7:33 ` Bastien
@ 2012-09-14 8:52 ` Neuwirth Erich
2012-09-14 9:16 ` Sebastien Vauban
2012-09-14 9:24 ` Christian Moe
0 siblings, 2 replies; 5+ messages in thread
From: Neuwirth Erich @ 2012-09-14 8:52 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode@gnu.org emacs-orgmode@gnu.org
Here is an example of what I would like.
#+title: Macro test
Define a name with a value
#+name: myval
#+begin_src elisp :exports both
(+ 1 2)
#+end_src
The named value can be accessed in another code block
#+begin_src elisp :session *elisp* :var myval2=myval :exports both
(setq myval3 myval2)
myval2
#+end_src
I can also (with some trickery as shown above)
use the value in running text: value equals
src_elisp[:session *elisp*]{myval3}
One of the minor annoyances here is that output of the inline src
is always put between equals signs, and in some cases I would like the same
formatting as the surrounding text.
Macros create output without additional formatting.
#+macro: testmac this is plain macro text
Before macro expanded : {{{testmac}}} : after macro expanded
Macros with arguments work nicely:
#+macro: testmacarg the argument is $1
{{{testmacarg(my argument)}}}
I would like to get the value of the name =myval= into the argument of the macro.
I also would like to be able to say something like
=evalorg(myval)=
and get the value of myval into my running text without any
additional formatting.
What I would like to be able to do is put results of computations
into running text. A typical example would be something like
#+BEGIN_QUOTE
As the table above shows we hav 1217 cases in our analysis.
#+END_QUOTE
The number 1217 would come from a named code block, but it should
be typeset as running text, not as code text.
Since macros do the right kind of formatting,
being able to the value of org names in a macro would solve my problem.
On Sep 14, 2012, at 9:33 AM, Bastien <bzg@altern.org> wrote:
> Hi Erich,
>
> Neuwirth Erich <erich.neuwirth@univie.ac.at> writes:
>
>> Is there a way of accessing the value of something defined by a #name: statement as part of plain text,
>> of within the definition of a macro?
>
> This is a bit cryptic to me. Care to give an example?
>
> Thanks,
>
> --
> Bastien
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Another tricky question: accessing named values
2012-09-14 8:52 ` Neuwirth Erich
@ 2012-09-14 9:16 ` Sebastien Vauban
2012-09-14 9:24 ` Christian Moe
1 sibling, 0 replies; 5+ messages in thread
From: Sebastien Vauban @ 2012-09-14 9:16 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Hi Erich,
Neuwirth Erich wrote:
> I also would like to be able to say something like
>
> =evalorg(myval)=
>
> and get the value of myval into my running text without any
> additional formatting.
For this bit, a call with raw results such as
call_evalorg(myval)[:results raw]
should not have quoted results.
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Another tricky question: accessing named values
2012-09-14 8:52 ` Neuwirth Erich
2012-09-14 9:16 ` Sebastien Vauban
@ 2012-09-14 9:24 ` Christian Moe
1 sibling, 0 replies; 5+ messages in thread
From: Christian Moe @ 2012-09-14 9:24 UTC (permalink / raw)
To: Neuwirth Erich; +Cc: Bastien, emacs-orgmode@gnu.org emacs-orgmode@gnu.org
Hi,
You could just call the named block from inline:
: value equals call_myval()[:results raw]
The `:results raw' argument should take care of the formatting.
No macros needed. But if you want to use macros, e.g. because the call
lines get very long, or you want to add fancy formatting around the
result of each calculation (not what you're looking for here, I
think), you could write a macro to expand to a call_<name>() expression.
Yours,
Christian
On 9/14/12 10:52 AM, Neuwirth Erich wrote:
> Define a name with a value
>
> #+name: myval
> #+begin_src elisp :exports both
> (+ 1 2)
> #+end_src
>
>
> The named value can be accessed in another code block
>
>
> #+begin_src elisp :session*elisp* :var myval2=myval :exports both
> (setq myval3 myval2)
> myval2
> #+end_src
>
>
> I can also (with some trickery as shown above)
> use the value in running text: value equals
> src_elisp[:session*elisp*]{myval3}
>
> One of the minor annoyances here is that output of the inline src
> is always put between equals signs, and in some cases I would like the same
> formatting as the surrounding text.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-09-14 9:23 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-13 19:02 Another tricky question: accessing named values Neuwirth Erich
2012-09-14 7:33 ` Bastien
2012-09-14 8:52 ` Neuwirth Erich
2012-09-14 9:16 ` Sebastien Vauban
2012-09-14 9:24 ` Christian Moe
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).