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 <pmma...@gmail.com>: > 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 >