Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Possible Duplicate:
How can I fix jumping TikZ pictures in beamer?

I am putting together a series of slides using beamer, and I'm using tike to do most of the figures. On one particular slide, I need to make nodes appear, then some more nodes, then edges between them. The code looks like this:

\begin{tikzpicture}[>=latex,text height=1.5ex,text depth=0.25ex]
    \draw[help lines] (0,0) grid (10.5,7.5);
    \tikzstyle{every node}=[draw,minimum size = .4cm,circle,draw=none,fill=red!30!white]    
    \tikzstyle{every path}=[solid,thick]
    %% First species
    \draw (3.7,2.2) node (a) {};
    \draw (9.6,1.4) node (b) {};
    \draw (6.6,6.6) node (c) {};
    %% Second species
    \draw <2-> (0.4,4.0) node [fill=blue!30!white] (d) {};
    \draw <2-> (4.4,3.6) node [fill=blue!30!white] (e) {};
    \draw <2-> (8.0,3.4) node [fill=blue!30!white] (f) {};
    %% Third species
    \draw <3-> (1.3,5.2) node [fill=green!30!white] (g) {};
    \draw <3-> (4.5,6.4) node [fill=green!30!white] (h) {};
    \draw <3-> (3.8,0.45) node [fill=green!30!white] (i) {};
    %% Arrows
    \path <4> [<->] (g) edge [bend right] (d);
    \path <4> [<->] (g) edge [bend left] (e);
    \path <4> [<->] (h) edge [bend left] (c);
    \path <4> [<->] (e) edge [bend left] (a);
    \path <4> [<->] (i) edge [bend left] (a);
    \path <4> [<->] (i) edge [bend right] (f);
    \path <4> [<->] (b) edge [bend right] (f);
    \path <4> [<->] (e) edge [bend left] (f);
    \path <4> [<->] (e) edge [bend right] (h);
    \path <4> [<->] (f) edge [bend right] (c);

My problem is that, when I remove the help lines, the figure changes positions on the slide between each transition, which is really not what I expected. I found a quick-and-dirty way to fix the problem with draw=none for the help line, but if anyone here ran into the same problem, I'd like to know a way towards a solution.

share|improve this question

marked as duplicate by Loop Space, percusse, Jake, egreg, Torbjørn T. Jun 28 '12 at 15:18

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

Please make sure to post complete compilable examples, starting from \documentclass. That makes it easier for others to try out your code. –  Jake Jun 26 '12 at 14:27
add comment

1 Answer

up vote 2 down vote accepted

TikZ tries to find the minimum sized rectangle that covers the picture. Beamer in turn runs the TikZ picture at each slide to give the overlay effect. So when the nodes are not visible in the first picture tikz shrinks down the bounding box of the picture to the first 3 nodes. That's why you have such jumps.

The easiest fix is, as you have found out, not drawing the lines or adding a fixed bounding box with

\path[use as bounding box] (0,0) rectangle(10.5,7.5);

at the start such that tikz don't change the bounding box. Or use the solution given in How can I fix jumping TikZ pictures in beamer?

share|improve this answer
Thanks, works like a charm! And sorry for missing the duplicate. –  Timothée Poisot Jun 26 '12 at 16:16
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.