emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Only evaluate code blocks interactively, but export results


From: David Dynerman
Subject: Re: [O] Only evaluate code blocks interactively, but export results
Date: Sat, 4 Apr 2015 13:55:17 -0500

Hi Tom,

Does :cache yes work with #+CALL lines? I’m not able to get it to work.

I’m calling my function through #+CALL’s because I’d like to generate several figures from the same org-babel code block/

I tried adding :cache yes to: 

1) The actual org-code block
2) The +CALL line, at the end
3) The +CALL line, before the argument list (i.e., my_python_function[:cache yes](…))

None of these worked - the code was still re-evaluated when I exported the file, although the +RESULTS line got a hash value.

Thank you very much,
David


On Apr 4, 2015, at 12:15, Thomas S. Dye <address@hidden> wrote:

Aloha David,

David Dynerman <address@hidden> writes:

Hi all,

I’m trying to accomplish the following:

1) I have an org-babel python block in my code that produces a figure file
2) I’d like to include the resulting figure HTML export of my org file
3) The code takes a bit to run, so I don’t want to execute the code
block during each HTML export

What I have so far:

#+NAME: my_python_function
#+HEADER: :var some python vars
#+BEGIN_SRC python :results value file
 my python code
#+END_SRC
#+CALL: my_python_function(some python vars=values) :results value file :exports results
#+CAPTION: Here is a figure
#+LABEL: fig:an_amazing_figure
#+ATTR_HTML: :height 200em
#+RESULTS:
[[file:output_file]]

This block works when I export to HTML (e.g. the code runs, and the
figure is placed in the appropriate figure with the appropriate
caption).

Question: How can I modify this so that the code is only executed when
I run C-c C-c on the +CALL line, but still have the figure in the
exported HTML?

I tried adding :eval no-export to the code and to the +CALL line, but
then the resulting HTML doesn’t contain the figure (it outputs “nil”,
presumably because the CALL line is trying to call it, but the code is
refusing to run because of the no-export line)

You can set :cache yes, which can be used to avoid re-evaluating
unchanged code blocks.

hth,
Tom

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

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail


reply via email to

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