emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Centering R babel plots in LaTeX/Beamer export?


From: Nick Dokos
Subject: Re: [O] Centering R babel plots in LaTeX/Beamer export?
Date: Mon, 09 Jul 2012 19:24:33 -0400

John Hendy <address@hidden> wrote:

> On Mon, Jul 9, 2012 at 4:26 PM, Nick Dokos <address@hidden> wrote:
> > John Hendy <address@hidden> wrote:
> >
> >> I'm exporting a Beamer presentation with R babel blocks and my plots
> >> are not centered. This should be a reproducible example:
> >>
> >> -----
> >> #+startup: beamer
> >> #+latex_class: beamer
> >> #+options: toc:nil latex:t tex:t
> >> #+latex_class_options: [presentation,bigger]
> >> #+beamer_frame_level: 1
> >>
> >> * plot
> >>
> >> #+header: :width 8 :height 6
> >> #+begin_src R :exports results :results output graphics :file file.pdf
> >> x <- c(1:10)
> >> y <- x^2
> >> plot(x,y)
> >> #+end_src
> >> -----
> >>
> >> I tried putting #+begin_center and #+end_center around the block, but
> >> it changes the LaTeX export to wrapping my R block in
> >> \begin/\end{verbatim}.
> >>
> >> Worg ob-R-doc has a :pagecentre option, but says it defaults to true,
> >> so I'm not sure that's my fix.
> >>
> >
> > This is pretty much brute-force, but seems to work:
> >
> > --8<---------------cut here---------------start------------->8---
> > #+startup: beamer
> > #+latex_class: beamer
> > #+options: toc:nil latex:t tex:t
> > #+latex_class_options: [presentation,bigger]
> > #+beamer_frame_level: 1
> >
> > * plot
> >
> > #+header: :width 8 :height 6
> > #+name: foo
> > #+begin_src R :exports results :results output graphics :file file.pdf 
> > :pagecentre true
> > x <- c(1:10)
> > y <- x^2
> > plot(x,y)
> > #+end_src
> >
> > #+LATEX: \begin{center}
> > #+RESULTS: foo
> > [[file:file.pdf]]
> > #+LATEX: \end{center}
> > --8<---------------cut here---------------end--------------->8---
> >
> 
> I only get a #+results line if I do C-c C-c on the block. I'm
> primarily tweaking other stuff and just using C-c C-e p to export to
> LaTeX, which produces no #+results section and thus does not allow me
> to use a center environment around that bit. I suppose I can manually
> add them, but if I re-evaluate babel doesn't recognize it as the
> #+results section anymore and I wind up with this after the second
> eval:
> 

Not here: if you have a *named* code block (did you add the ``#+name: foo''
line to the code block?), the results block is named the same way the first
time it is generated (as you say, C-c C-c on the block is necessary to
produce it). But once it is produced, I can delete the link to file.pdf
(but not the ``#+RESULTS: foo'' line), redo the C-c C-c and end up with
exactly the same thing as before: no duplication of results blocks.

And this property of named blocks allows the results block to be separated
from the code block by arbitrary intervening text:

--8<---------------cut here---------------start------------->8---
#+startup: beamer
#+latex_class: beamer
#+options: toc:nil latex:t tex:t
#+latex_class_options: [presentation,bigger]
#+beamer_frame_level: 1

* plot

#+header: :width 8 :height 6
#+name: foo
#+begin_src R :exports results :results output graphics :file file.pdf 
:pagecentre true
x <- c(1:10)
y <- x^2
plot(x,y)
#+end_src


foo

bar

* baz

#+LATEX: \begin{center}

#+RESULTS: foo

#+LATEX: \end{center}
--8<---------------cut here---------------end--------------->8---

The link will be placed after the ``#+RESULTS: foo'' line.

Nick

PS. Org-mode version 7.8.11 (release_7.8.11-139-g0442b9 @ 
/home/nick/elisp/org-mode/lisp/)
    (includes 3 local commits).

> -----
> #+RESULTS: foo
> [[file:file.pdf]]
> 
> #+LATEX: \begin{center}
> #+RESULTS: foo
> [[file:file.pdf]]
> #+LATEX: \end{center}
> -----
> 
> I still may consider it as an interim solution. I'm surprised there's
> no option to center resultant plots!
> 

PPS. There may be: I just don't know.

> 
> John
> 
> 
> > Nick
> >
> 



reply via email to

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