emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* LaTeX export figure width, when figure comes from python?
@ 2013-03-29 20:16 Gary Oberbrunner
  2013-03-29 20:53 ` John Hendy
  0 siblings, 1 reply; 3+ messages in thread
From: Gary Oberbrunner @ 2013-03-29 20:16 UTC (permalink / raw)
  To: Orgmode Mailing List

[-- Attachment #1: Type: text/plain, Size: 811 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 1100 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: LaTeX export figure width, when figure comes from python?
  2013-03-29 20:16 LaTeX export figure width, when figure comes from python? Gary Oberbrunner
@ 2013-03-29 20:53 ` John Hendy
       [not found]   ` <CAFChFyiFSPrqT2UEKsbh3FxaFOMb165k4M4dpE7vTjZ-OqeGYg@mail.gmail.com>
  0 siblings, 1 reply; 3+ messages in thread
From: John Hendy @ 2013-03-29 20:53 UTC (permalink / raw)
  To: Gary Oberbrunner; +Cc: Orgmode Mailing List

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


Would that work?
John


> --
> Gary

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: LaTeX export figure width, when figure comes from python?
       [not found]     ` <CA+M2ft8efLRoFAm29w1e7A6=_gRS_kgVmOOJmikj_vckSSx=wA@mail.gmail.com>
@ 2013-03-31 23:57       ` Gary Oberbrunner
  0 siblings, 0 replies; 3+ messages in thread
From: Gary Oberbrunner @ 2013-03-31 23:57 UTC (permalink / raw)
  To: John Hendy, Orgmode Mailing List

[-- Attachment #1: Type: text/plain, Size: 3675 bytes --]

[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 <jw.hendy@gmail.com> wrote:

> On Sun, Mar 31, 2013 at 11:03 AM, Gary Oberbrunner
> <garyo@oberbrunner.com> wrote:
> >
> > On Fri, Mar 29, 2013 at 4:53 PM, John Hendy <jw.hendy@gmail.com> wrote:
> >>
> >> On Fri, Mar 29, 2013 at 3:16 PM, Gary Oberbrunner <
> garyo@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

[-- Attachment #2: Type: text/html, Size: 5678 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-03-31 23:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-29 20:16 LaTeX export figure width, when figure comes from python? Gary Oberbrunner
2013-03-29 20:53 ` John Hendy
     [not found]   ` <CAFChFyiFSPrqT2UEKsbh3FxaFOMb165k4M4dpE7vTjZ-OqeGYg@mail.gmail.com>
     [not found]     ` <CA+M2ft8efLRoFAm29w1e7A6=_gRS_kgVmOOJmikj_vckSSx=wA@mail.gmail.com>
2013-03-31 23:57       ` Gary Oberbrunner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).