emacs-orgmode
[Top][All Lists]
Advanced

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

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


From: Darlan Cavalcante Moreira
Subject: Re: [O] [babel] create tikz pictures in an floating LaTeX environment
Date: Fri, 07 Oct 2011 18:26:15 -0300
User-agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/24.0 Mule/6.0 (HANACHIRUSATO)

I have a (very) small personal wiki in org mode where I add stuff that I
read/learn that deserve this work. I usually don't need to export it, but
recently I was trying to export it to PDF and HTML and I had the same doubt
with a block o tikz code.

It would be nice if org had a begin_tikz block. This block could either
create a PDF file or include the tikz code directly in the latex file when
exporting to latex (or PDF), and create an SVG file when when exporting to
HTML. Of course this block should accept all the usual image options, such
as caption and width.

This is just a feature request from a tikz lover.

--
Darlan

At Fri, 07 Oct 2011 09:14:20 -0600,
Eric Schulte wrote:
> 
> Nick Dokos <address@hidden> writes:
> 
> > Torsten Wagner <address@hidden> wrote:
> >
> >> 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 ]]
> >> 
> >
> >
> > ``:results output silent'' should suppress that I think.
> >
> 
> Nick's solution should work well.  Also, (if you're exporting to LaTeX)
> couldn't you just combine the tikz picture and the wrapping figure
> environment into a single begin_latex block?
> 
> Best -- Eric
> 
> >
> > Nick
> >
> >> 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
> >> 
> >
> 
> -- 
> Eric Schulte
> http://cs.unm.edu/~eschulte/
> 



reply via email to

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