emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Babel R source blocks problem


From: Charles C. Berry
Subject: Re: [O] Babel R source blocks problem
Date: Sat, 11 Feb 2017 12:02:56 -0800
User-agent: Alpine 2.20 (OSX 67 2015-01-07)

On Fri, 10 Feb 2017, Thomas S. Dye wrote:

Aloha Chuck,

Charles C. Berry writes:

A look at the `slidify-example.org' file in the `org-9-plus' branch of my
(chasberry) `orgmode-accessories' github repo might be a good start with
.Rmd exports even if you do not want to use `slidify'.

Your ox-ravel exporter is a pleasure to use.  I'm farther along than I
thought I'd be at this point.


Thanks. I am glad to hear this.


I'm new to much of the R ecosystem, including slidify, so forgive some
noob ignorance in the following three questions:

1) I've specified the properties EXPORT_TITLE and EXPORT_AUTHOR, but
they don't show up in the .Rmd file.  Is this a limitation of ox-ravel,
or do I need to learn how to insert them in the Org mode source?


Both, I guess.

Arguably, it is a limitation in the markdown backends available that
there isn't one that will create the yaml header from the export
options in the org buffer.  I think the long term fix is to create a
backend derived from 'md, but this is far down my todo list.  For now,
either hand tool a yaml header like that in

: slidify-example.org::#tds-headline

(If you are viewing that on my github repo, be sure to click 'raw' or the yaml header will not be visible!)

or create a src block that will pull the title, author, et cetera and wrap them as a yaml header in an md export block and put it at the top of the output. If you want to do the src block, I can provide a skeleton version.


2) How do I instruct ox-ravel to include the graphics output of a source
code block?  I tried :ravel fig=TRUE as a header to the source code
block, but no dice.  Most of my experience is with ox-latex, so that
colors my expectations here; i.e. I'm expecting a [[file:myfile.pdf]]
link to produce a graphic in the output.

Often it `just works', but it depends on the vignette engine. `fig=TRUE' is correct for Sweave. See

: demos.org::#36234656-157D-4F1D-B441-E727DFCC0251

for an example of that. For knitr, you usually do not need to include anything if there is just one plot produced, but there are loads of options. See

        https://yihui.name/knitr/options/#plots


I find myself using ~:ravel fig.cap=my_caption~ (where `my_caption' is
an R string from an earlier src block) a lot. See

: demos.org::#C341969B-90F3-4C27-AA7F-5352A9669506

for an example of a lengthy caption done in latex.

There is a src block that produces a plot in the slidify-example.org file. No special header was needed for ~slidify()~ to render it. But I cannot be sure whether the yaml block does something special for the graphics.


3) I've been knitting the .Rmd output using RStudio, which is also new
to me.  I don't mind doing this (it is what the session organizer is
going to do with the .Rmd file I send next week), but I'm wondering
if you have an emacs-only solution?


I don't know RStudio, but here is a start:

#+BEGIN_SRC R :exports none :results silent
require(rmarkdown)
render("my-file.Rmd")
#+END_SRC

If you look at the =demos.org= file, you will see examples and the src blocks used to run ~knitr::knit2pdf()~. If you export some of the examples to *.Rmd files and run the equivalent ~render(...)~ on the .Rmd files, you will get html by default.

---

Let me know how it works out!

Best,

Chuck



reply via email to

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