#+LATEX_HEADER: \usepackage{tikz} * Tikz test Here's a tree, exported to both html and pdf. #+header: :file (by-backend (latex "tree.tikz") (t "tree.png")) #+header: :imagemagick yes :iminoptions -density 600 :imoutoptions -geometry 800 #+header: :results file raw #+header: :fit yes #+header: :headers '("\\usepackage{tikz}") #+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 The same, with shorter syntax #+header: :file (by-backend (latex "tree2.tikz") (t "tree2.png")) #+begin_src tikz \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 * COMMENT evaluate this first #+begin_src emacs-lisp :results silent (defmacro by-backend (&rest body) `(case org-export-current-backend ,@body)) (org-babel-do-load-languages 'org-babel-load-languages '((latex . t))) (defalias 'org-babel-execute:tikz 'org-babel-execute:latex) (add-to-list 'org-src-lang-modes '("tikz" . latex)) (defvar org-babel-default-header-args:tikz '((:imagemagick . "yes") (:iminoptions . "-density 600") (:imoutoptions . "-geometry 300") (:results . "file raw") (:fit . "yes") (:headers . "'(\"\\\\usepackage{tikz}\")"))) #+end_src