From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: Centering R babel plots in LaTeX/Beamer export? Date: Mon, 09 Jul 2012 19:24:33 -0400 Message-ID: <8198.1341876273@alphaville> References: <6351.1341869204@alphaville> Reply-To: nicholas.dokos@hp.com Return-path: Received: from eggs.gnu.org ([208.118.235.92]:43198) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoNJm-0003qJ-Ih for emacs-orgmode@gnu.org; Mon, 09 Jul 2012 19:24:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SoNJk-0004CS-Jx for emacs-orgmode@gnu.org; Mon, 09 Jul 2012 19:24:38 -0400 Received: from g6t0184.atlanta.hp.com ([15.193.32.61]:7633) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoNJk-0004CI-EM for emacs-orgmode@gnu.org; Mon, 09 Jul 2012 19:24:36 -0400 In-Reply-To: Message from John Hendy of "Mon, 09 Jul 2012 16:56:56 CDT." List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: John Hendy Cc: emacs-orgmode John Hendy wrote: > On Mon, Jul 9, 2012 at 4:26 PM, Nick Dokos wrote: > > John Hendy 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 > > >