From mboxrd@z Thu Jan  1 00:00:00 1970
From: Andreas Leha <andreas.leha@med.uni-goettingen.de>
Subject: Re: Very large svg file output from latex block using =#+header:
 :imagemagick=
Date: Mon, 04 Nov 2013 10:39:43 +0100
Message-ID: <8761s8qzds.fsf@med.uni-goettingen.de>
References: <CA+M2ft-6cGns4EfOy=QXhhM0AFWJUV8NDu2N6WvaGFyroetEMQ@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain
Return-path: <emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org>
Received: from eggs.gnu.org ([2001:4830:134:3::10]:44199)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <geo-emacs-orgmode@m.gmane.org>) id 1VdGdh-0006SP-3U
	for emacs-orgmode@gnu.org; Mon, 04 Nov 2013 04:40:10 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <geo-emacs-orgmode@m.gmane.org>) id 1VdGdb-00012M-Jp
	for emacs-orgmode@gnu.org; Mon, 04 Nov 2013 04:40:04 -0500
Received: from plane.gmane.org ([80.91.229.3]:39038)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <geo-emacs-orgmode@m.gmane.org>) id 1VdGdb-00012E-Cy
	for emacs-orgmode@gnu.org; Mon, 04 Nov 2013 04:39:59 -0500
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <geo-emacs-orgmode@m.gmane.org>) id 1VdGdX-0007lu-5C
	for emacs-orgmode@gnu.org; Mon, 04 Nov 2013 10:39:55 +0100
Received: from genepi110.genepi.med.uni-goettingen.de ([134.76.140.110])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <emacs-orgmode@gnu.org>; Mon, 04 Nov 2013 10:39:55 +0100
Received: from andreas.leha by genepi110.genepi.med.uni-goettingen.de with
	local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00
	for <emacs-orgmode@gnu.org>; Mon, 04 Nov 2013 10:39:55 +0100
List-Id: "General discussions about Org-mode." <emacs-orgmode.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/emacs-orgmode>,
	<mailto:emacs-orgmode-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/emacs-orgmode>
List-Post: <mailto:emacs-orgmode@gnu.org>
List-Help: <mailto:emacs-orgmode-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/emacs-orgmode>,
	<mailto:emacs-orgmode-request@gnu.org?subject=subscribe>
Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org
Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org
To: emacs-orgmode@gnu.org

Hi John,

John Hendy <jw.hendy@gmail.com> writes:

> I'm trying to following along with the example here:
> - http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html#sec-4-3
>
> I don't need dual export, so I tried this instead for straight html
> compatible output:
>
> #+header: :file tree.svg
> #+header: :imagemagick
> #+begin_src latex
>   \usetikzlibrary{trees}
>   \begin{tikzpicture}
>     \node [circle, draw, fill=red!20] at (0,0) {1}
>     child { node [circle, draw, fill=blue!30] {2}
>       child { node [circle, draw, fill=green!30] {3} }
>       child { node [circle, draw, fill=yellow!30] {4} }};
>   \end{tikzpicture}
> #+end_src
>
> Should this work? I get this error:
>
> org-babel-execute:latex: Can not create svg files, please specify a
> .png or .pdf file or try the :imagemagick header argument
>
> In perusing another thread, it looks like the argument might be
> =:imagemagic yes=?
> - http://lists.gnu.org/archive/html/emacs-orgmode/2011-02/msg01302.html
>
> When I do that and run the above, I get a 30.9mb file as the .svg
> output. Surely I'm doing something incorrectly?

Well, the error message is misleading.

If you go via imagemagick, I guess, the image is rendered and converted
to pixel graphics and then converted back to svg with embedded pixel
graphics, which will inflate the output.

The way to go is to customize org-babel-latex-htlatex to "htlatex".

Then, the block without the :imagemagick header argument should produce
a decent svg.

For reference, this works for me (having org-babel-latex-htlatex set to
"htlatex")

--8<---------------cut here---------------start------------->8---
#+header: :file tree.svg
#+header: :results file raw
#+begin_src latex
  \usetikzlibrary{trees}
  \begin{tikzpicture}
    \node [circle, draw, fill=red!20] at (0,0) {1}
    child { node [circle, draw, fill=blue!30] {2}
      child { node [circle, draw, fill=green!30] {3} }
      child { node [circle, draw, fill=yellow!30] {4} }};
  \end{tikzpicture}
#+end_src

#+results:
[[file:tree.svg]]
--8<---------------cut here---------------end--------------->8---


Regards,
Andreas



>
> Just pulled this morning before executing:
>
> Org-mode version 8.2.1 (release_8.2.1-163-ge7397d @
> /home/jwhendy/.elisp/org.git/lisp/)
>
>
> Thanks for any suggestions!
> John