John Hendy <jw.he...@gmail.com> wrote: > On Mon, Jul 9, 2012 at 4:26 PM, Nick Dokos <nicholas.do...@hp.com> wrote: > > John Hendy <jw.he...@gmail.com> 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 > > >