I'm just getting started with org-mode and so far I love it. I've seen that it is possible to insert R in the org-mode file and execute it upon export. But I have some trouble getting org-babel (the code embedding) to generate the plot I'm interested in and embed the resulting image instead of the code or the output from running the code.
So far I've got this to work:
#+BABEL: :session *R* :results output graphics :exports both
#+begin_src R :file img.pdf :results output graphics :session *R*
hist(rnorm(100))
#+end_src
#\includegraphics{img.pdf}
But it's not as nice as it could be. First it always prompts me whether I do want to execute the R code and secondly I would like to eliminate the \includegraphics
instruction.
Is this possible at all?
Few things: 1) Org mode has changed a lot recently, especially w.r.t. Babel and src blocks - get the latest version from their git repository (check the FAQ for details how to do that). 2) We don't use #+BABEL
line any more, those are now done with #+PROPERTY
lines, 3) The inclusion of graphics is done automatically. A person shouldn't need to do an \includegraphics{}
at all (unless you want to tweak the default behavior, say, for caption placement).
For instance, here's what a simple version of your example would look like under a recent version of Org mode:
#+TITLE: tester.org
#+PROPERTY: session *R*
#+PROPERTY: results output
* Headline here
Here is some text.
#+begin_src R :exports both :results graphics :file img.pdf
hist(rnorm(100))
#+end_src
I just tested on my machine and it works like a charm. One last thing - I highly recommend you subscribe to the Org mode mailing list, because that's the place you'll see the ongoing discussions about the BABEL, PROPERTY, and a whole bunch of other stuff.
By the way, the #+PROPERTY: results output
line isn't critical, it's just what I usually do because it's more like what I expect from Sweave.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With