[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [PATCH 4/5] ox-latex: Treat tikz files as images
From: |
Aaron Ecay |
Subject: |
[O] [PATCH 4/5] ox-latex: Treat tikz files as images |
Date: |
Wed, 20 Feb 2013 23:02:25 -0500 |
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
- [O] [RFC] [PATCH] conditional use of latex packages, Aaron Ecay, 2013/02/20
- [O] [PATCH 3/5] ob-R: change the file extension for tikz figures, Aaron Ecay, 2013/02/20
- [O] [PATCH 4/5] ox-latex: Treat tikz files as images,
Aaron Ecay <=
- [O] [PATCH 1/5] ox-latex: add optional-packages machinery, Aaron Ecay, 2013/02/20
- [O] [PATCH 2/5] ox-latex: convert source code and table export to use optional packages, Aaron Ecay, 2013/02/20
- [O] [PATCH 5/5] ox-latex: Convert the image inclusion code to use optional packages, Aaron Ecay, 2013/02/20
- Re: [O] [RFC] [PATCH] conditional use of latex packages, Suvayu Ali, 2013/02/21
- Re: [O] [RFC] [PATCH] conditional use of latex packages, Nicolas Goaziou, 2013/02/21