From mboxrd@z Thu Jan 1 00:00:00 1970 From: Torsten Wagner Subject: [babel] create tikz pictures in an floating LaTeX environment Date: Fri, 7 Oct 2011 23:02:07 +0900 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: Received: from eggs.gnu.org ([140.186.70.92]:59630) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RCB09-0001kh-Bm for emacs-orgmode@gnu.org; Fri, 07 Oct 2011 10:02:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RCB04-0008O2-Ev for emacs-orgmode@gnu.org; Fri, 07 Oct 2011 10:02:13 -0400 Received: from mail-gx0-f169.google.com ([209.85.161.169]:47776) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RCB04-0008Nt-AS for emacs-orgmode@gnu.org; Fri, 07 Oct 2011 10:02:08 -0400 Received: by ggdk5 with SMTP id k5so3297217ggd.0 for ; Fri, 07 Oct 2011 07:02:07 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Org Mode Mailing List Hi all, Hi Eric (hehehe because most likely you read it ;) ) I try for the first time to write an entire article in org-mode. I do so, because with the tags :export: :noexport: I can easily keep my personal notes and todos "hidden" and the final export will be just what I want to publish. Furthermore, I'm interested to do my data evaluation in python blocks within the org-file itself, keeping all nicely together. At the moment I try to add a tikz picture to the manuscript. I followed the example at http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html However, I have some problems. I can generate the picture by using the following code. #+srcname: mypicture #+begin_src latex :file fig/mypicture.pdf :packages '(("" "tikz")) :border 1em :fit \begin{tikzpicture}[line width=1pt,text centered, inner sep = 2] \draw[fill=red!50] (0,0) rectangle ++(5,1); \draw[fill=yellow!50] (1,1) rectangle ++(1,0.25); \draw[fill=yellow!50] (3,1) rectangle ++(1,0.25); \draw[fill=green!50] (0.75,1) rectangle ++(1.5,-0.4); \draw[fill=green!50] (2.75,1) rectangle ++(1.5,-0.4); \end{scope} \end{tikzpicture} #+end_src Now, I want to include this in a floating figure environment This troubles me a bit. I tried to make a second latex src block which includes the environment and an \includegraphic pointing to the generated pdf file. However, I always find a link of the filename in addtion. I guess this is the result of the first (above) source code block. The pdf contains a line similar like [[file:fig/mypicture.pdf ]] I switched over to use the org-mode way of including a figure and replaced the latex second src code block by #+CAPTION: my great picture #+LABEL: fig:my_picture #+ATTR_LaTeX: [[file:fig/mypicture.pdf]] This worked out too and was identically to the fist approach, however, there was still the result line in the output. I tried to add exports: none and volia the line was gone. However, the source code block was not exported at all and hence the picture not updated at all (it simply used the old generated pdf) I tried to be ueber-smart and replaced the static link [[file:fig/mypicture.pdf]] by #+call: mypicture in the hope it would be executed and result in [[file:fig/mypicture.pdf]] finally getting the same like with the static link. However, this did not work out at all. No figure. Could someone help me to sort this out. Ideally, I would like to do a rather logical combination and end up with the following: #+CAPTION: my great picture #+LABEL: fig:my_picture #+ATTR_LaTeX: #+srcname: mypicture #+begin_src latex :file fig/mypicture.pdf :packages '(("" "tikz")) :border 1em :fit \begin{tikzpicture}[line width=1pt,text centered, inner sep = 2] \draw[fill=red!50] (0,0) rectangle ++(5,1); \draw[fill=yellow!50] (1,1) rectangle ++(1,0.25); \draw[fill=yellow!50] (3,1) rectangle ++(1,0.25); \draw[fill=green!50] (0.75,1) rectangle ++(1.5,-0.4); \draw[fill=green!50] (2.75,1) rectangle ++(1.5,-0.4); \end{scope} \end{tikzpicture} #+end_src avoiding to call/type the filename/link over and over again. Thanks for helping Torsten