emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [babel] create tikz pictures in an floating LaTeX environment


From: Torsten Wagner
Subject: [O] [babel] create tikz pictures in an floating LaTeX environment
Date: Fri, 7 Oct 2011 23:02:07 +0900

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]