Unlike other image types, they should be \input into the document – LaTeX converts the tikz source code into the image as part of the document’s compilation. --- lisp/ox-latex.el | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el index 100de1d..8027ce7 100644 --- a/lisp/ox-latex.el +++ b/lisp/ox-latex.el @@ -505,7 +505,7 @@ order to reproduce the default set-up: :type 'string) (defcustom org-latex-inline-image-rules - '(("file" . "\\.\\(pdf\\|jpeg\\|jpg\\|png\\|ps\\|eps\\)\\'")) + '(("file" . "\\.\\(pdf\\|jpeg\\|jpg\\|png\\|ps\\|eps\\|tikz\\)\\'")) "Rules characterizing image files that can be inlined into LaTeX. A rule consists in an association whose key is the type of link @@ -1797,6 +1797,7 @@ used as a communication channel." (path (let ((raw-path (org-element-property :path link))) (if (not (file-name-absolute-p raw-path)) raw-path (expand-file-name raw-path)))) + (filetype (file-name-extension path)) (caption (org-latex--caption/label-string parent info)) ;; Retrieve latex attributes from the element around. (attr (org-export-read-attribute :attr_latex parent)) @@ -1824,22 +1825,25 @@ used as a communication channel." ((org-string-nw-p opt) (format "[%s]" opt)) ((eq float 'float) "[width=0.7\\textwidth]") ((eq float 'wrap) "[width=0.48\\textwidth]") - (t ""))))) + (t "")))) + (image-code (if (equal filetype "tikz") + (format "\\input{%s}" path) + (format "\\includegraphics%s{%s}" options path)))) ;; Return proper string, depending on FLOAT. (case float (wrap (format "\\begin{wrapfigure}%s \\centering -%s\\includegraphics%s{%s} -%s\\end{wrapfigure}" placement comment-include options path caption)) +%s%s +%s\\end{wrapfigure}" placement comment-include image-code caption)) (multicolumn (format "\\begin{figure*}%s \\centering -%s\\includegraphics%s{%s} -%s\\end{figure*}" placement comment-include options path caption)) +%s%s +%s\\end{figure*}" placement comment-include image-code caption)) (figure (format "\\begin{figure}%s \\centering -%s\\includegraphics%s{%s} -%s\\end{figure}" placement comment-include options path caption)) - (t (format "\\includegraphics%s{%s}" options path))))) +%s%s +%s\\end{figure}" placement comment-include image-code caption)) + (t image-code)))) (defun org-latex-link (link desc info) "Transcode a LINK object from Org to LaTeX. -- 1.8.1.4