​Hello
 Alan,

I'm not 100% sure, but I think the distorted PNG file is generated by
dvipng. It seems that dvipng cannot handle tikz blocks very well, and one
must use imagemagick for those blocks. I think this line:

#+header: :imagemagick :iminoptions -density 600 :imoutoptions -geometry 800

should be

#+header: :imagemagick yes :iminoptions -density 600 :imoutoptions
-geometry 800

so that imagemagick would be used instead of dvipng, which is the global
default.

As said by Andreas,
​it's probably that ​
your
​​
by
​​
-backend
​​
macro
​​
​is not working​
 properly, or, maybe you are not using a recent enough version of org-mod
​​
e
​​
. This
​​
​​
magic
​, if I remember correctly,​
​​
​​
is
​​
​​
​​
act
​​
​​
uall
​​
​​
​​
​​
​​
​​
​​
​​
​​
​​
​​
​​
​​
​​
​y​
​​
done
​​
by
​​
a
​​
special
​​
case
​​
added
​​
to
​​
some
​​
latex
​​
babel
​​
export
​​
function
​​
, wh
​​
ich is contributed by Andreas somehow recently. You may want to try upgrade
your org-mode and try again.

Also please follow this link [1] to fix a
​bug
 in htlatex as mentioned in Andreas's mail, or your html export will fail
silently (showing success on emacs, but no images generated).

[1] http://tex.stackexchange.com/a/232739




--

Mail from Haochen Xie

On Thu, Sep 3, 2015 at 9:30 PM, Andreas Leha <
andreas.l...@med.uni-goettingen.de> wrote:

> Hi Alan,
>
> Glad you like the example.
>
> Three things:
> 1. It still works for me ;-)
> 2. The distorted png might come from the bug in htlatex I mentioned in
> this thread [1].
> 3. It seems that the by-backend does not work properly for you.  I am
> not sure about the reason for that.  What org-mode version do you run?
>
> HTH,
> Andreas
>
>
> [1] http://tex.stackexchange.com/a/232739
>
>
>
> Alan Schmitt <alan.schm...@polytechnique.org> writes:
> > Hello Andreas,
> >
> > I’m slowly catching up on the org mailing list, and I found your example
> > very interesting. I tried to run it and it does not seem to work here.
> > Here is what I did:
> > - I copied the code below to a file
> > - I evaluated the last block
> > - I made sure that latex was one of the org-babel-load-languages
> >   language
> > - I tried executing the first block, which generated this strange png
> >
> >
> >
> > - I exported both to html and pdf, and in both cases I would have
> >   a reference to the png instead of the svg/tikz code.
> >
> > I’m afraid I’m missing a step. Do you see what I’m doing wrong?
> >
> > Thanks,
> >
> > Alan
> >
> > On 2015-08-12 10:50, Andreas Leha <andreas.l...@med.uni-goettingen.de>
> writes:
> >
> >> #+LATEX_HEADER: \usepackage{tikz}
> >>
> >> First execute the second code block, to define the convenience macro
> >> and to set the required new variables in ob-latex.el.  Then export to
> >> HTML and to pdf to see the tree exported as an SVG image and as
> >> embedded tikz respectively.
> >>
> >> * Tikz test
> >> Here's a tree, exported to both html and pdf.
> >>
> >> #+header: :file (by-backend (html "tree.svg") (latex "tree.tikz") (t
> "tree.png"))
> >> #+header: :imagemagick :iminoptions -density 600 :imoutoptions
> -geometry 800
> >> #+header: :results file raw
> >> #+header: :fit yes
> >> #+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.png]]
> >>
> >> * COMMENT setup
> >> #+begin_src emacs-lisp :results silent
> >>   (setq org-babel-latex-htlatex "htlatex")
> >>   (defmacro by-backend (&rest body)
> >>     `(case (if (boundp 'backend) (org-export-backend-name backend) nil)
> ,@body))
> >> #+end_src
>
>
>
>
>

Reply via email to