emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] [babel] strategies for generating multiple graphics files


From: Eric Schulte
Subject: Re: [Orgmode] [babel] strategies for generating multiple graphics files from same code block
Date: Tue, 10 Aug 2010 12:21:52 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Hi Erik,

Given that arbitrary lisp forms can be used to assign header arguments,
the following can be used to achieve this functionality under the
current setup.

--8<---------------cut here---------------start------------->8---
#+Title: Export Target Conditional Header Arguments

The following generates an =.eps= image for LaTeX export and a =.png=
image for html export.
#+begin_src gnuplot :term (if (and (boundp 'latexp) latexp) "postscript" "png") 
:file (if (and (boundp 'latexp) latexp) "sin.eps" "sin.png")
  plot sin(x)
#+end_src
--8<---------------cut here---------------end--------------->8---

So, given that maybe the next development push for babel should focus on
the ability to break header arguments over multiple lines, rather than
on syntactic sugar for the above.

Cheers -- Eric

Erik Iverson <address@hidden> writes:

> Sounds good, and perhaps another 'export' target could be tangling of the 
> code.
>

The above does not address tangling, however this could be fixed by
having ob-tangle could set a tanglep global variable in the spirit of
htmlp and latexp.

>
>
> On 08/09/2010 06:00 PM, Eric Schulte wrote:
>> Hi Erik,
>>
>> There is a planned feature for Org-babel which should subsume these use
>> cases, namely backend-conditional header arguments.  These would allow
>> you to specify different header arguments (including file) depending on
>> the export target, be that html, latex, or none if you are just
>> interactively evaluating inside of an Org-mode buffer.
>>
>> This is still in the early stages, and is waiting until I have a
>> reasonable amount of free time.
>>
>> Cheers -- Eric
>>
>> Erik Iverson<address@hidden>  writes:
>>
>>> Hello,
>>>
>>> I'm using org-mode to write R code and generate figures.
>>>
>>> I have multiple files generated per code block, one png and one PDF.
>>> This is so that I can display the graphic:
>>>
>>> 1) Inline in my org-mode buffer (png)
>>> 2) Upon export to HTML, viewable in the browser (png)
>>> 3) Included in a separate PDF, *not* from exporting my org-mode
>>> file.  For this, I would like a PDF version of the graphic to be
>>> generated, and pdflatex can use it (pdf)
>>>
>>> So, for points 1 and 2 above, no problem.
>>>
>>> * Figure 1
>>> Here is the first figure.
>>>
>>> #+begin_src R :file figure1.png :width 960 :exports both :tangle fig1.R
>>>    plot(1,1)
>>> #+end_src
>>>
>>> For point 3, I use tangling to write the source code to a file.  I
>>> notice that the graphical code is wrapped by the export process by a
>>> call to png() and dev.off().
>>>
>>> My question, is there any facility to have the tangled code generate a
>>> PDF, instead of PNG?  I still need the png for goals 1 and 2, but the
>>> pdf for goal 3.  Anyone else have any other strategies for realizing
>>> all 3 of my goals?
>>>
>>> I suppose one would be to define a named code block, and use the noweb
>>> syntax:
>>>
>>> Define the plot
>>> #+srcname: fig-test
>>> #+begin_src R
>>>    plot(1,1)
>>> #+end_src
>>>
>>> Tangle, but don't export
>>> #+begin_src R :file figure1.pdf :exports none :tangle fig1.R :noweb yes
>>>   <<fig-test>>
>>> #+end_src
>>>
>>> Export, but don't tangle
>>> #+begin_src R :file figure1.png :exports both :noweb yes
>>>   <<fig-test>>
>>> #+end_src
>>>
>>> This is not too bad, but maybe there's an alternative approach?
>>>
>>> Thanks!
>>> Erik Iverson
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Please use `Reply All' to send replies to the list.
>>> address@hidden
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode



reply via email to

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