Re: [O] LaTeX export figure width, when figure comes from python?

2013-03-31 Thread Gary Oberbrunner
[I can never get the reply-all thing down on this list!  See below.]

On Sun, Mar 31, 2013 at 7:02 PM, John Hendy  wrote:

> On Sun, Mar 31, 2013 at 11:03 AM, Gary Oberbrunner
>  wrote:
> >
> > On Fri, Mar 29, 2013 at 4:53 PM, John Hendy  wrote:
> >>
> >> On Fri, Mar 29, 2013 at 3:16 PM, Gary Oberbrunner <
> ga...@oberbrunner.com>
> >> 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.)
>
> I wonder if that's similar to the question I asked as a followup to
> the link I sent you to:
> - https://lists.gnu.org/archive/html/emacs-orgmode/2013-03/msg01583.html
>
> >  * 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.
>
> Did you try :wrap as well? I was having issues with :results org as
> well and found out that the prior recommendation to use this was
> updated to :wrap org instead...
>

I didn't try :wrap, but I did try :results wrap (which is what that post
suggested) which did nothing different as far as I could tell.


> 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.
>

That's python syntax.

Glad you found something that worked!
> John
>
> >
> > But now my graphics come out the right size!  Thanks!
> >
> > --
> > Gary
>



-- 
Gary


Re: [O] LaTeX export figure width, when figure comes from python?

2013-03-29 Thread John Hendy
On Fri, Mar 29, 2013 at 3:16 PM, Gary Oberbrunner  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]]")


Would that work?
John


> --
> Gary



[O] LaTeX export figure width, when figure comes from python?

2013-03-29 Thread Gary Oberbrunner
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?

-- 
Gary