* including the result of a block in several places?
@ 2012-12-07 16:16 Alan Schmitt
2012-12-07 18:26 ` Sebastien Vauban
0 siblings, 1 reply; 12+ messages in thread
From: Alan Schmitt @ 2012-12-07 16:16 UTC (permalink / raw)
To: emacs-orgmode
Hello,
I tried including the result of evaluation a block in several slides,
but the second time it was not included. Here is the code I ran:
#+begin_src org
** Prototype-based objects
#+name: object_example
#+begin_src js :results code output :exports both
var f = function(a) {
this.x = a
}
f.prototype = {y : 1}
var o = new f (42)
console.log("o.x = " + o.x + ", o.y = " + o.y)
#+end_src
Results
#+results: object_example
** Prototype-based objects
#+begin_src js
var f = function(a) {
this.x = a
}
f.prototype = {y : 1}
var o = new f (42)
console.log("o.x = " + o.x + ", o.y = " + o.y)
#+end_src
Results
#+results: object_example
(Some additional images added)
#+end_src
I cannot do a "\pause" because a slide will be inserted in the middle.
Is it possible to have the results of the evaluation of a block in
several places?
Thanks,
Alan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-07 16:16 including the result of a block in several places? Alan Schmitt
@ 2012-12-07 18:26 ` Sebastien Vauban
2012-12-08 10:13 ` Alan Schmitt
0 siblings, 1 reply; 12+ messages in thread
From: Sebastien Vauban @ 2012-12-07 18:26 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Hi Alan,
Alan Schmitt wrote:
> I tried including the result of evaluation a block in several slides,
> but the second time it was not included.
>
> Is it possible to have the results of the evaluation of a block in
> several places?
OOTB, I don't think so. However, you could have a code block which simply
copies the results.
See `echo' in the `library-of-babel.org'.
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-07 18:26 ` Sebastien Vauban
@ 2012-12-08 10:13 ` Alan Schmitt
2012-12-08 16:57 ` Thomas S. Dye
0 siblings, 1 reply; 12+ messages in thread
From: Alan Schmitt @ 2012-12-08 10:13 UTC (permalink / raw)
To: emacs-orgmode
"Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes:
> Hi Alan,
>
> Alan Schmitt wrote:
>> I tried including the result of evaluation a block in several slides,
>> but the second time it was not included.
>>
>> Is it possible to have the results of the evaluation of a block in
>> several places?
>
> OOTB, I don't think so. However, you could have a code block which simply
> copies the results.
>
> See `echo' in the `library-of-babel.org'.
Nice suggestion, thanks a lot. According to the documentation, I can
"call" functions from the library of babel from anywhere, but when I try
this:
#+begin_src org
#+name: test
#+begin_src perl
for (my $i = 0; $i != 10; ++i) {
print "hello, world!\n";
}
#+end_src
#+call: echo(test)
#+end_src
I get a "org-babel-ref-resolve: Reference 'echo' not found in this
buffer".
Do I need to do something special to load the library?
Alan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-08 10:13 ` Alan Schmitt
@ 2012-12-08 16:57 ` Thomas S. Dye
2012-12-10 8:57 ` Alan Schmitt
0 siblings, 1 reply; 12+ messages in thread
From: Thomas S. Dye @ 2012-12-08 16:57 UTC (permalink / raw)
To: Alan Schmitt; +Cc: emacs-orgmode
Aloha Alan,
Alan Schmitt <alan.schmitt@polytechnique.org> writes:
> "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes:
>
>> Hi Alan,
>>
>> Alan Schmitt wrote:
>>> I tried including the result of evaluation a block in several slides,
>>> but the second time it was not included.
>>>
>>> Is it possible to have the results of the evaluation of a block in
>>> several places?
>>
>> OOTB, I don't think so. However, you could have a code block which simply
>> copies the results.
>>
>> See `echo' in the `library-of-babel.org'.
>
> Nice suggestion, thanks a lot. According to the documentation, I can
> "call" functions from the library of babel from anywhere, but when I try
> this:
>
> #+begin_src org
> #+name: test
> #+begin_src perl
> for (my $i = 0; $i != 10; ++i) {
> print "hello, world!\n";
> }
> #+end_src
> #+call: echo(test)
> #+end_src
>
> I get a "org-babel-ref-resolve: Reference 'echo' not found in this
> buffer".
>
> Do I need to do something special to load the library?
I've had these in my .emacs for quite a while and they seem to work:
** ON Load Standard Library of Babel
#+begin_src emacs-lisp :tangle yes
(org-babel-lob-ingest "~/.emacs.d/src/org-mode/contrib/babel/library-of-babel.org")
#+end_src
** ON Load Local Library of Babel
#+begin_src emacs-lisp :tangle yes
(org-babel-lob-ingest "~/org/td-lob.org")
#+end_src
hth,
Tom
--
Thomas S. Dye
http://www.tsdye.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-08 16:57 ` Thomas S. Dye
@ 2012-12-10 8:57 ` Alan Schmitt
2012-12-10 9:57 ` Sebastien Vauban
0 siblings, 1 reply; 12+ messages in thread
From: Alan Schmitt @ 2012-12-10 8:57 UTC (permalink / raw)
To: Thomas S. Dye; +Cc: emacs-orgmode
tsd@tsdye.com (Thomas S. Dye) writes:
> I've had these in my .emacs for quite a while and they seem to work:
>
> ** ON Load Standard Library of Babel
> #+begin_src emacs-lisp :tangle yes
> (org-babel-lob-ingest "~/.emacs.d/src/org-mode/contrib/babel/library-of-babel.org")
> #+end_src
Thanks a lot, I'm now able to call the "echo" function.
Unfortunately it does not exactly do what I want (but I was not really
clear about what I wanted first). Here is the code I have (don't worry
about the code inside the blocks, the idea is that I want a source block
and its results on two different slides, without having to duplicate
them):
#+begin_src org
** Prototype-based objects
#+name: object_example
#+begin_src js :results code output :exports both
var f = function(a) {
this.x = a
}
f.prototype = {y : 1}
var o = new f (42)
console.log("o.x = " + o.x + ", o.y = " + o.y)
#+end_src
Results
#+results: object_example
** Prototypes resolution
#+BEGIN_SRC coq
Inductive proto : heap -> field -> loc -> loc -> Prop :=
| proto_null : forall h f,
proto h f loc_null loc_null
| proto_here : forall h l f,
indom h l f ->
proto h f l l
| proto_next : forall h l f l' l'',
~ indom h l f ->
binds h l field_proto l' ->
proto h f l' l'' ->
proto h f l l''.
#+END_SRC
** Prototype-based objects
#+call: echo(object_example) :results code output :exports both
#+end_src
My problem is twofold.
- The code from "object_example" is not repeated. I guess that here what
I want is to be able to export a source code block in several places. Is
it possible?
- The highlighting of the results in the "#+call:" line is not in
javascript syntax, and I don't know how to tell the call that the result
will be javascript.
Thanks again,
Alan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-10 8:57 ` Alan Schmitt
@ 2012-12-10 9:57 ` Sebastien Vauban
2012-12-10 10:17 ` Alan Schmitt
0 siblings, 1 reply; 12+ messages in thread
From: Sebastien Vauban @ 2012-12-10 9:57 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Alan Schmitt,
Alan Schmitt wrote:
> tsd-P0awH739Ni4AvxtiuMwx3w@public.gmane.org (Thomas S. Dye) writes:
>
>> I've had these in my .emacs for quite a while and they seem to work:
>>
>> ** ON Load Standard Library of Babel
>> #+begin_src emacs-lisp :tangle yes
>> (org-babel-lob-ingest "~/.emacs.d/src/org-mode/contrib/babel/library-of-babel.org")
>> #+end_src
>
> Thanks a lot, I'm now able to call the "echo" function.
>
> Unfortunately it does not exactly do what I want (but I was not really
> clear about what I wanted first). Here is the code I have (don't worry
> about the code inside the blocks, the idea is that I want a source block
> and its results on two different slides, without having to duplicate
> them):
>
> #+begin_src org
> ** Prototype-based objects
>
> #+name: object_example
> #+begin_src js :results code output :exports both
> var f = function(a) {
> this.x = a
> }
>
> f.prototype = {y : 1}
>
> var o = new f (42)
>
> console.log("o.x = " + o.x + ", o.y = " + o.y)
> #+end_src
>
> Results
>
> #+results: object_example
>
> ** Prototypes resolution
>
> #+BEGIN_SRC coq
> Inductive proto : heap -> field -> loc -> loc -> Prop :=
> | proto_null : forall h f,
> proto h f loc_null loc_null
> | proto_here : forall h l f,
> indom h l f ->
> proto h f l l
> | proto_next : forall h l f l' l'',
> ~ indom h l f ->
> binds h l field_proto l' ->
> proto h f l' l'' ->
> proto h f l l''.
> #+END_SRC
>
> ** Prototype-based objects
>
> #+call: echo(object_example) :results code output :exports both
> #+end_src
>
> My problem is twofold.
> - The code from "object_example" is not repeated. I guess that here what
> I want is to be able to export a source code block in several places. Is
> it possible?
> - The highlighting of the results in the "#+call:" line is not in
> javascript syntax, and I don't know how to tell the call that the result
> will be javascript.
In a hurry, to repeat the code:
- use named blocks
- use Noweb expansion
That is:
#+name: mycode
#+begin_src coq
...
#+end_src
Inserted a first time here:
#+begin_src coq :noweb yes
<<mycode>>
#+end_src
and another one here:
#+begin_src coq :noweb yes
<<mycode>>
#+end_src
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-10 9:57 ` Sebastien Vauban
@ 2012-12-10 10:17 ` Alan Schmitt
2012-12-10 14:58 ` Eric Schulte
0 siblings, 1 reply; 12+ messages in thread
From: Alan Schmitt @ 2012-12-10 10:17 UTC (permalink / raw)
To: Sebastien Vauban; +Cc: emacs-orgmode
"Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes:
> In a hurry, to repeat the code:
>
> - use named blocks
> - use Noweb expansion
>
> That is:
>
> #+name: mycode
> #+begin_src coq
> ...
> #+end_src
>
> Inserted a first time here:
>
> #+begin_src coq :noweb yes
> <<mycode>>
> #+end_src
>
> and another one here:
>
> #+begin_src coq :noweb yes
> <<mycode>>
> #+end_src
Thanks a lot, that worked perfectly.
Alan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-10 10:17 ` Alan Schmitt
@ 2012-12-10 14:58 ` Eric Schulte
2012-12-10 16:14 ` Alan Schmitt
2012-12-10 19:32 ` Alan Schmitt
0 siblings, 2 replies; 12+ messages in thread
From: Eric Schulte @ 2012-12-10 14:58 UTC (permalink / raw)
To: Alan Schmitt; +Cc: Sebastien Vauban, emacs-orgmode
Alan Schmitt <alan.schmitt@polytechnique.org> writes:
> "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes:
>
>> In a hurry, to repeat the code:
>>
>> - use named blocks
>> - use Noweb expansion
>>
Another option would be,
1. use named blocks
2. use call lines
--
Eric Schulte
http://cs.unm.edu/~eschulte
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-10 14:58 ` Eric Schulte
@ 2012-12-10 16:14 ` Alan Schmitt
2012-12-10 19:32 ` Alan Schmitt
1 sibling, 0 replies; 12+ messages in thread
From: Alan Schmitt @ 2012-12-10 16:14 UTC (permalink / raw)
To: Eric Schulte; +Cc: Sebastien Vauban, Alan Schmitt, emacs-orgmode
Eric Schulte writes:
> Alan Schmitt <alan.schmitt@polytechnique.org> writes:
>
>> "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes:
>>
>>> In a hurry, to repeat the code:
>>>
>>> - use named blocks
>>> - use Noweb expansion
>>>
>
> Another option would be,
>
> 1. use named blocks
> 2. use call lines
Thanks for the suggestion. I tried using a call line, but it does not
allow me to include the source code again (it's great to re-run the code
once more, though).
Alan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-10 14:58 ` Eric Schulte
2012-12-10 16:14 ` Alan Schmitt
@ 2012-12-10 19:32 ` Alan Schmitt
2012-12-10 19:43 ` Thomas S. Dye
1 sibling, 1 reply; 12+ messages in thread
From: Alan Schmitt @ 2012-12-10 19:32 UTC (permalink / raw)
To: Org Mode
Eric Schulte writes:
> Alan Schmitt <alan.schmitt@polytechnique.org> writes:
>
>> "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes:
>>
>>> In a hurry, to repeat the code:
>>>
>>> - use named blocks
>>> - use Noweb expansion
>>>
>
> Another option would be,
>
> 1. use named blocks
> 2. use call lines
Thanks for the suggestion. I tried using a call line, but it does not
allow me to include the source code again (it's great to re-run the code
once more, though).
Alan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-10 19:32 ` Alan Schmitt
@ 2012-12-10 19:43 ` Thomas S. Dye
2012-12-11 7:48 ` Alan Schmitt
0 siblings, 1 reply; 12+ messages in thread
From: Thomas S. Dye @ 2012-12-10 19:43 UTC (permalink / raw)
To: Alan Schmitt; +Cc: Org Mode
Alan Schmitt <alan.schmitt@polytechnique.org> writes:
> Eric Schulte writes:
>
>> Alan Schmitt <alan.schmitt@polytechnique.org> writes:
>>
>>> "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes:
>>>
>>>> In a hurry, to repeat the code:
>>>>
>>>> - use named blocks
>>>> - use Noweb expansion
>>>>
>>
>> Another option would be,
>>
>> 1. use named blocks
>> 2. use call lines
>
> Thanks for the suggestion. I tried using a call line, but it does not
> allow me to include the source code again (it's great to re-run the code
> once more, though).
What call line did you try?
All the best,
Tom
--
Thomas S. Dye
http://www.tsdye.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: including the result of a block in several places?
2012-12-10 19:43 ` Thomas S. Dye
@ 2012-12-11 7:48 ` Alan Schmitt
0 siblings, 0 replies; 12+ messages in thread
From: Alan Schmitt @ 2012-12-11 7:48 UTC (permalink / raw)
To: Org Mode
Thomas S. Dye writes:
> Alan Schmitt <alan.schmitt@polytechnique.org> writes:
>
>> Eric Schulte writes:
>>
>>> Alan Schmitt <alan.schmitt@polytechnique.org> writes:
>>>
>>>> "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes:
>>>>
>>>>> In a hurry, to repeat the code:
>>>>>
>>>>> - use named blocks
>>>>> - use Noweb expansion
>>>>>
>>>
>>> Another option would be,
>>>
>>> 1. use named blocks
>>> 2. use call lines
>>
>> Thanks for the suggestion. I tried using a call line, but it does not
>> allow me to include the source code again (it's great to re-run the code
>> once more, though).
>
> What call line did you try?
This is what I tried
#+begin_src org
** Prototype-based objects
#+name: object_example
#+begin_src js :results code output :exports both
var f = function(a) {
this.x = a
}
f.prototype = {y : 1}
var o = new f (42)
console.log("o.x = " + o.x + ", o.y = " + o.y)
#+end_src
Results
#+results: object_example
** Prototypes resolution
Some other slide
** Prototype-based objects
#+call: echo(object_example) :results code output :exports both
#+end_src
My problem with this was twofold: the code from "object_example" is
not repeated, and the highlighting of the results in the "#+call:"
line is not in javascript syntax.
Using a "noweb" approach solves both issues.
Alan
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2012-12-11 7:48 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-07 16:16 including the result of a block in several places? Alan Schmitt
2012-12-07 18:26 ` Sebastien Vauban
2012-12-08 10:13 ` Alan Schmitt
2012-12-08 16:57 ` Thomas S. Dye
2012-12-10 8:57 ` Alan Schmitt
2012-12-10 9:57 ` Sebastien Vauban
2012-12-10 10:17 ` Alan Schmitt
2012-12-10 14:58 ` Eric Schulte
2012-12-10 16:14 ` Alan Schmitt
2012-12-10 19:32 ` Alan Schmitt
2012-12-10 19:43 ` Thomas S. Dye
2012-12-11 7:48 ` Alan Schmitt
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).