[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] patch for latex->tikz
From: |
Andreas Leha |
Subject: |
[O] patch for latex->tikz |
Date: |
Wed, 17 Jul 2013 23:37:41 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Hi all,
attached is a small patch that makes it possible to 'evaluate' latex
source blocks to tikz files.
When the :file header argument has a value ending in '.tikz' the content
of the body of the source block will be copied into the resulting tikz
file.
This makes handling of tikz figures with captions easier.
Here is a use-case:
--8<---------------cut here---------------start------------->8---
#+latex_header: \usepackage{tikz}
* Test
#+name: picturecontents
#+begin_src latex :noweb yes :exports none
\node[red!50!black] (a) {A};
\node (b) [right of=a] {B};
\draw[->] (a) -- (b);
#+end_src
#+name: flowdiagram
#+header: :exports results
#+header: :imagemagick (if (and (boundp 'backend) (eq (org-export-backend-name
backend) (intern "latex"))) "no" "yes")
#+header: :fit (if (and (boundp 'backend) (eq (org-export-backend-name backend)
(intern "latex"))) "no" "yes")
#+header: :results raw :file (if (and (boundp 'backend) (eq
(org-export-backend-name backend) (intern "latex"))) "flowdiagram.tikz"
"flowdiagram.png")
#+header: :headers "\\usepackage{tikz}"
#+header: :noweb yes
#+begin_src latex
\begin{tikzpicture}
<<picturecontents>>
\end{tikzpicture}
#+end_src
#+caption: Testing figure caption for figure going to multiple destinations
#+results: flowdiagram
[[file:flowdiagram.png]]
--8<---------------cut here---------------end--------------->8---
This example works well besides some weird scaling/placement issue.
Regards,
Andreas
>From 1d9c381c309a3a72b5d9feb3db28cdaed920c16d Mon Sep 17 00:00:00 2001
From: Andreas Leha <address@hidden>
Date: Wed, 17 Jul 2013 16:45:32 +0200
Subject: [PATCH] add *.tikz files as possible result files for latex blocks
* lisp/ob-latex.el (org-babel-execute:latex) add a tizk option
that copies the body of the block into a tikz file
---
lisp/ob-latex.el | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lisp/ob-latex.el b/lisp/ob-latex.el
index f916eb0..f9216e1 100644
--- a/lisp/ob-latex.el
+++ b/lisp/ob-latex.el
@@ -95,7 +95,11 @@ This function is called by `org-babel-execute-src-block'."
((and (string-match "\\.png$" out-file) (not imagemagick))
(org-create-formula-image
body out-file org-format-latex-options in-buffer))
- ((or (string-match "\\.pdf$" out-file) imagemagick)
+ ((string-match "\\.tikz$" out-file)
+ (when (file-exists-p out-file) (delete-file out-file))
+ (with-temp-file out-file
+ (insert body)))
+ ((or (string-match "\\.pdf$" out-file) imagemagick)
(with-temp-file tex-file
(require 'ox-latex)
(insert
--
1.7.10.4
- [O] patch for latex->tikz,
Andreas Leha <=