Re: [O] Switch for exported file types when evaluating code blocks
On Thu, Jul 18, 2013 at 09:02:41PM -0400, Nick Dokos wrote: #+BEGIN_LaTeX \includesvg{foo} #+END_LaTeX I believe even this can be integrated with Org using a filter. How about something like this: (defun my-svg-graphics (contents backend info) (when (eq backend 'latex) (replace-regexp-in-string \\`includegraphics.+\\({.+\.svg}\\) includesvg\1 contents))) (add-to-list 'org-export-filter-link-functions 'my-svg-graphics) Of course the above ignores the options since I do not know if \includesvg takes the same options. But that is a detail that can be fixed by changing the regexp. What do you think? -- Suvayu Open source is the future. It sets us free.
Re: [O] Switch for exported file types when evaluating code blocks
Great Example, Nick, Thanks, will push on with this approach ~ malcolm_c...@stowers.org From: emacs-orgmode-bounces+mec=stowers@gnu.org [emacs-orgmode-bounces+mec=stowers@gnu.org] on behalf of Nick Dokos [ndo...@gmail.com] Sent: Thursday, July 18, 2013 8:02 PM To: emacs-orgmode@gnu.org Subject: Re: [O] Switch for exported file types when evaluating code blocks Cook, Malcolm m...@stowers.org writes: Hi Nick, I'm not sure how to use this ctan package in concert with orgmode's export to tex-pdf. Here's a simplfied example of what I did with it. The source block uses dot to produce an SVG file for illustration - if you already have one then you can ignore it: --8---cut here---start-8--- #+LATEX_HEADER: \usepackage{svg} * foo #+name: foo #+BEGIN_SRC dot :file foo.svg :exports results :results none digraph foo { a - b } #+END_SRC #+BEGIN_LaTeX \includesvg{foo} #+END_LaTeX --8---cut here---end---8--- Perhaps there is a way to use orgmode's export filtering capability to swap in a up-to-date png when exporting to tex PNG is a raster format whereas SVG is a vector format. I was trying to produce some slides and I did use PNG at first because it's easier to fit into the pdflatex workflow. But when I made the slides full screen, the PNG got fuzzy. Sticking with SVG got rid of the fuzzies for me. Hmmm Anyone? Thx! -Original Message- From: emacs-orgmode-bounces+mec=stowers@gnu.org [mailto:emacs-orgmode-bounces+mec=stowers@gnu.org] On Behalf Of Nick Dokos Sent: Wednesday, July 17, 2013 11:02 PM To: emacs-orgmode@gnu.org Subject: Re: [O] Switch for exported file types when evaluating code blocks Suvayu Ali fatkasuvayu+li...@gmail.com writes: Hello again Malcolm, On Thu, Jul 18, 2013 at 12:45:36AM +, Cook, Malcolm wrote: I tend to work with org-export-babel-evaluate set to nil. Thus, my code blocks are not evaled in the context of an export. Thus at eval time there is no way of knowing what the eventual backend is going to be. I think I need an approach that auto converts svg to png on-demand/on-the-fly during export. In that case just use another source block with shell source. In that block you can call inkscape to do the conversion. For an example, see here: http://ctan.mirrorcatalogs.com/info/svg-inkscape/InkscapePDFLaTeX.pdf#subsubsection.2.3.1 OT for the OP (say that three times fast!) but maybe of some use to somebody: For SVG, there is a latex package that is an evolutionary offshoot of the above link. It does the inkscape dance so you don't have to: http://www.tex.ac.uk/ctan/graphics/svg/ -- Nick -- Nick
Re: [O] Switch for exported file types when evaluating code blocks
Suvayu, This is splendid news! I will try it immediately upon return from gone fishin in a week... (erhm, that is, right after I figure out haw to migrate my orgmode SETUPFILE to comport with new export backend I just upgraded to my fancy TOC and org-export-html-table-tag javascript have gone missin) Future is looking bright!, ~ malcolm_c...@stowers.org From: emacs-orgmode-bounces+mec=stowers@gnu.org [emacs-orgmode-bounces+mec=stowers@gnu.org] on behalf of Suvayu Ali [fatkasuvayu+li...@gmail.com] Sent: Friday, July 19, 2013 5:23 AM To: emacs-orgmode@gnu.org Subject: Re: [O] Switch for exported file types when evaluating code blocks On Thu, Jul 18, 2013 at 09:02:41PM -0400, Nick Dokos wrote: #+BEGIN_LaTeX \includesvg{foo} #+END_LaTeX I believe even this can be integrated with Org using a filter. How about something like this: (defun my-svg-graphics (contents backend info) (when (eq backend 'latex) (replace-regexp-in-string \\`includegraphics.+\\({.+\.svg}\\) includesvg\1 contents))) (add-to-list 'org-export-filter-link-functions 'my-svg-graphics) Of course the above ignores the options since I do not know if \includesvg takes the same options. But that is a detail that can be fixed by changing the regexp. What do you think? -- Suvayu Open source is the future. It sets us free.
Re: [O] Switch for exported file types when evaluating code blocks
Hi Nick, I'm not sure how to use this ctan package in concert with orgmode's export to tex-pdf. Perhaps there is a way to use orgmode's export filtering capability to swap in a up-to-date png when exporting to tex Hmmm Anyone? Thx! -Original Message- From: emacs-orgmode-bounces+mec=stowers@gnu.org [mailto:emacs-orgmode-bounces+mec=stowers@gnu.org] On Behalf Of Nick Dokos Sent: Wednesday, July 17, 2013 11:02 PM To: emacs-orgmode@gnu.org Subject: Re: [O] Switch for exported file types when evaluating code blocks Suvayu Ali fatkasuvayu+li...@gmail.com writes: Hello again Malcolm, On Thu, Jul 18, 2013 at 12:45:36AM +, Cook, Malcolm wrote: I tend to work with org-export-babel-evaluate set to nil. Thus, my code blocks are not evaled in the context of an export. Thus at eval time there is no way of knowing what the eventual backend is going to be. I think I need an approach that auto converts svg to png on-demand/on-the-fly during export. In that case just use another source block with shell source. In that block you can call inkscape to do the conversion. For an example, see here: http://ctan.mirrorcatalogs.com/info/svg-inkscape/InkscapePDFLaTeX.pdf#subsubsection.2.3.1 OT for the OP (say that three times fast!) but maybe of some use to somebody: For SVG, there is a latex package that is an evolutionary offshoot of the above link. It does the inkscape dance so you don't have to: http://www.tex.ac.uk/ctan/graphics/svg/ -- Nick
Re: [O] Switch for exported file types when evaluating code blocks
Cook, Malcolm m...@stowers.org writes: Hi Nick, I'm not sure how to use this ctan package in concert with orgmode's export to tex-pdf. Here's a simplfied example of what I did with it. The source block uses dot to produce an SVG file for illustration - if you already have one then you can ignore it: --8---cut here---start-8--- #+LATEX_HEADER: \usepackage{svg} * foo #+name: foo #+BEGIN_SRC dot :file foo.svg :exports results :results none digraph foo { a - b } #+END_SRC #+BEGIN_LaTeX \includesvg{foo} #+END_LaTeX --8---cut here---end---8--- Perhaps there is a way to use orgmode's export filtering capability to swap in a up-to-date png when exporting to tex PNG is a raster format whereas SVG is a vector format. I was trying to produce some slides and I did use PNG at first because it's easier to fit into the pdflatex workflow. But when I made the slides full screen, the PNG got fuzzy. Sticking with SVG got rid of the fuzzies for me. Hmmm Anyone? Thx! -Original Message- From: emacs-orgmode-bounces+mec=stowers@gnu.org [mailto:emacs-orgmode-bounces+mec=stowers@gnu.org] On Behalf Of Nick Dokos Sent: Wednesday, July 17, 2013 11:02 PM To: emacs-orgmode@gnu.org Subject: Re: [O] Switch for exported file types when evaluating code blocks Suvayu Ali fatkasuvayu+li...@gmail.com writes: Hello again Malcolm, On Thu, Jul 18, 2013 at 12:45:36AM +, Cook, Malcolm wrote: I tend to work with org-export-babel-evaluate set to nil. Thus, my code blocks are not evaled in the context of an export. Thus at eval time there is no way of knowing what the eventual backend is going to be. I think I need an approach that auto converts svg to png on-demand/on-the-fly during export. In that case just use another source block with shell source. In that block you can call inkscape to do the conversion. For an example, see here: http://ctan.mirrorcatalogs.com/info/svg-inkscape/InkscapePDFLaTeX.pdf#subsubsection.2.3.1 OT for the OP (say that three times fast!) but maybe of some use to somebody: For SVG, there is a latex package that is an evolutionary offshoot of the above link. It does the inkscape dance so you don't have to: http://www.tex.ac.uk/ctan/graphics/svg/ -- Nick -- Nick
[O] Switch for exported file types when evaluating code blocks
Hi, I'm hitting on an old theme in a new way here. I want graphics files which are exported by evaluated code blocks to be generated in a format best suited to their intended use. For HTML I want either PNG or SVG. For LaTeX/PDF I almost always want PDF. For inline viewing in emacs I want either PNG or SVG. To that end I went a'googling and found this idea: http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html#sec-4-3 It doesn't work with my copies[1] of emacs and org-mode but I was able to adapt it. I suck at elisp so this is probably more an accomplishment to me than it appears to most of you! In any case, here is a short org document based on the one I found above in worg which shows what I ended up with: * COMMENT setup #+begin_src emacs-lisp :results silent (defmacro by-backend (rest body) `(case (if (boundp 'backend) backend nil) ,@body)) #+end_src * A graph #+header: :file (by-backend (html graph.png) (latex graph.pdf) (t graph.svg)) #+header: :export results #+begin_src dot digraph Name { tail - head; } #+end_src I think the real learning experience for me was that I could put lisp directly in a header like this! Now, I just gotta learn elisp better Also, I'd certainly be interested to hear of any better ways to accomplish this. Thanks, -Brett. [1] The versions I'm using are - Org-mode version 8.0.3 (8.0.3-elpa @ /home/bviren/.emacs.d/elpa/org-20130514/) - GNU Emacs 24.1.1 (i486-pc-linux-gnu, GTK+ Version 2.24.10) of 2012-07-20 on murphy, modified by Debian pgpOglEO1Y7O6.pgp Description: PGP signature
Re: [O] Switch for exported file types when evaluating code blocks
I want graphics files which are exported by evaluated code blocks to be generated in a format best suited to their intended use. For HTML I want either PNG or SVG. For LaTeX/PDF I almost always want PDF. For inline viewing in emacs I want either PNG or SVG. To that end I went a'googling and found this idea: http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html#sec-4-3 It doesn't work with my copies[1] of emacs and org-mode but I was able to adapt it. I suck at elisp so this is probably more an accomplishment to me than it appears to most of you! In any case, here is a short org document based on the one I found above in worg which shows what I ended up with: * COMMENT setup #+begin_src emacs-lisp :results silent (defmacro by-backend (rest body) `(case (if (boundp 'backend) backend nil) ,@body)) #+end_src * A graph #+header: :file (by-backend (html graph.png) (latex graph.pdf) (t graph.svg)) #+header: :export results #+begin_src dot digraph Name { tail - head; } #+end_src [Cook, Malcolm] Brett, Thanks for posting your findings. They almost help me. I am looking for a solution to a similar problem. I tend to work with org-export-babel-evaluate set to nil. Thus, my code blocks are not evaled in the context of an export. Thus at eval time there is no way of knowing what the eventual backend is going to be. I think I need an approach that auto converts svg to png on-demand/on-the-fly during export. Has anyone come across a variation on this that works as I am suggesting? Thanks!
Re: [O] Switch for exported file types when evaluating code blocks
Hello again Malcolm, On Thu, Jul 18, 2013 at 12:45:36AM +, Cook, Malcolm wrote: I tend to work with org-export-babel-evaluate set to nil. Thus, my code blocks are not evaled in the context of an export. Thus at eval time there is no way of knowing what the eventual backend is going to be. I think I need an approach that auto converts svg to png on-demand/on-the-fly during export. In that case just use another source block with shell source. In that block you can call inkscape to do the conversion. For an example, see here: http://ctan.mirrorcatalogs.com/info/svg-inkscape/InkscapePDFLaTeX.pdf#subsubsection.2.3.1 Hope this helps, -- Suvayu Open source is the future. It sets us free.
Re: [O] Switch for exported file types when evaluating code blocks
Suvayu Ali fatkasuvayu+li...@gmail.com writes: Hello again Malcolm, On Thu, Jul 18, 2013 at 12:45:36AM +, Cook, Malcolm wrote: I tend to work with org-export-babel-evaluate set to nil. Thus, my code blocks are not evaled in the context of an export. Thus at eval time there is no way of knowing what the eventual backend is going to be. I think I need an approach that auto converts svg to png on-demand/on-the-fly during export. In that case just use another source block with shell source. In that block you can call inkscape to do the conversion. For an example, see here: http://ctan.mirrorcatalogs.com/info/svg-inkscape/InkscapePDFLaTeX.pdf#subsubsection.2.3.1 OT for the OP (say that three times fast!) but maybe of some use to somebody: For SVG, there is a latex package that is an evolutionary offshoot of the above link. It does the inkscape dance so you don't have to: http://www.tex.ac.uk/ctan/graphics/svg/ -- Nick