|
From: | Gary Oberbrunner |
Subject: | Re: [O] LaTeX export figure width, when figure comes from python? |
Date: | Sun, 31 Mar 2013 19:57:45 -0400 |
I wonder if that's similar to the question I asked as a followup toOn Sun, Mar 31, 2013 at 11:03 AM, Gary Oberbrunner
<address@hidden> wrote:
>
> On Fri, Mar 29, 2013 at 4:53 PM, John Hendy <address@hidden> wrote:
>>
>> On Fri, Mar 29, 2013 at 3:16 PM, Gary Oberbrunner <address@hidden>
>> wrote:
>> > Now that python mode is working nicely, I'm generating lots of graphics.
>> >
>> > #+BEGIN_SRC python :session MYpython :exports results :results file
>> > #... bunch of matplotlib stuff that produces /tmp/myfig.pdf
>> > '/tmp/myfig.pdf'
>> > #+END_SRC
>> >
>> > This works, and the LaTeX exporter includes /tmp/mfig.pdf:
>> >
>> > \includegraphics[width=.9\linewidth]{c:/tmp/myfig.pdf}
>> >
>> > My question is, is there any way to remove the width specifier? If the
>> > figure were coming straight from org-mode source text, I could use
>> > #+ATTR_LaTeX (well actually maybe not, because there's no way to
>> > *remove*
>> > the width, but at least I could set it as desired.) But in the
>> > situation
>> > above, where the filename is coming from the exporter running the code
>> > block, there's no place for me to put the ATTR_LaTeX that works.
>> >
>> > Any ideas, exporter gurus?
>> >
>>
>> Does this post help at all?
>> - http://lists.gnu.org/archive/html/emacs-orgmode/2012-08/msg01225.html
>>
>> This would be if your compilation of that block is spitting out a
>> #+results block. Is that the case?
>>
>> Also, per a recent use of that same concept, I got updated advice to
>> use :wrap since the above wasn't working for me anymore:
>> - http://lists.gnu.org/archive/html/emacs-orgmode/2013-03/msg01599.html
>>
>> So, basically if you're generating plots, you can just print the
>> Org-mode include file syntax ([[filename.ext]]) into a results block
>> and should also be able to pass it the #+attr_latex stuff as well.
>> Something like:
>>
>> print("#+attr_latex: :width Xcm \n
>> [[filename.ext]]")
>
>
> That almost works. This does:
>
> #+name: fields_chart(labels=fields[,0], vals=fields[,1])
> #+BEGIN_SRC python :session UDpython :exports results :results raw
> fname=do_hbar('/tmp/fields.pdf', (4,.9), vals, labels) # this creates the
> actual plot in /tmp/fields.pdf
> "#+ATTR_LaTeX: :width 4in \n[[%s]]"%fname
> #+END_SRC
>
> Notes:
> * You have to use :results raw rather than :results org. The latter
> prepends a comma to the #+ATTR_LaTeX line, making it unusable. (Not sure if
> that's a bug, or expected.)
the link I sent you to:
- https://lists.gnu.org/archive/html/emacs-orgmode/2013-03/msg01583.html
Did you try :wrap as well? I was having issues with :results org as
> * In session mode, you can't use :results output because the python
> interpreter prompts also are output. But returning the string as above
> works fine.
well and found out that the prior recommendation to use this was
updated to :wrap org instead...
Out of curiosity... is the "%s" syntax related to python
(unfamiliar)... just noticed how you did that and wondered if that was
via Org/emacs/babel or via python.
Glad you found something that worked!
John
>
> But now my graphics come out the right size! Thanks!
>
> --
> Gary
[Prev in Thread] | Current Thread | [Next in Thread] |