​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.leha@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 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 > 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 > > > > >