emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Weirdness re: inclusion of figures


From: Yu
Subject: Re: [O] Weirdness re: inclusion of figures
Date: Thu, 16 Feb 2012 13:59:20 +0100

Hello!

The behaviour is actually as expected. To understand this, you have to
consider, that org-mode currently only seems to recognize the relation
between source block and #+result paragraph if one of these two
conditions holds:
  o The "#+result:" line follows the source code without any text in between.
  o Both code block and "#+result:" line are labeled with the same name.

Also consider, as said by Nick Dokos, the significance of the
":exports" header argument:
  o By default the result is computed but not exported.
  o If the (unnamed) result is delimited from the source code by
intervening text, it is no longer considered any source blocks result:
The exporter just ignores the "#+result:" line and includes the image
into the exported file.

Labelling a source code block can be done with a "#+NAME:" line
preceding the code block. When evaluating the code block, the
"#+results"-line automatically gets named too. When reevaluating a
code block then the contents of this "#+results" entry is correctly
refreshed even after intervening code.

What you want thus probably is:

  : #+name: code-block
  : #+begin_src R :file z.png :results output graphics
  : plot(matrix(rnorm(100), ncol=2), type="l")
  : #+end_src
  :
  : Intervening text
  :
  : #+results: code-block
  : [[file:z.png]]

I did some tests to verify I'm right about this though, having
installed a recent version from git (at most 2 days since the last
pull):
  o No intervening text, no ":exports": Image is not exported.
  o No intervening text, ":exports both": Image is exported once; When
exporting the code is rerun.
  o Intevening text, no ":exports": The image is exported once. The
code block is not rerun on export.
  o Intervening text, ":exports both": The code is run twice (!), the
image is exported both before and after the text.

king regards, Yu


2012/2/16 Paul Magwene <address@hidden>:
> Hi All,
>
> I'm trying to get up to speed with org-mode and babel for doing
> reproducible computational research.  I'm just starting to play around
> with simple examples, and I'm baffled by the following.
>
> This first example, when exported to HTML or LaTeX produces the
> expected result -- a simply code block with one embedded figure.
>
> # Example 1.
>
> This is my R example:
>
> #+begin_src R :file z.png :results output graphics
> plot(matrix(rnorm(100), ncol=2), type="l")
> #+end_src
>
> Some intervening text...
>
> #+results:
> [[file:z.png]]
>
>
> However, this almost identical example, minus the intervening text
> between the code and the results, doesn't include the figure:
>
> # Example 2
>
> This is my R example:
>
> #+begin_src R :file z.png :results output graphics
> plot(matrix(rnorm(100), ncol=2), type="l")
> #+end_src
>
> #+results:
> [[file:z.png]]
>
>
> What gives here? Do I always need to have intervening text between the
> source code and results in order to get a figure in the exported
> document?
>
> Thanks,
> Paul
>



reply via email to

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