[Top][All Lists]
[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
>