24

If possible, can someone help me to animated this figure with Tikz in Beamer?

I updated starting by

1 : ( Yamada-watanab )
2: (Existence faible)
3: (unicite trajectorielle)
4: Tow edges frome  (Existence faible)  (unicite trajectorielle)
5: one Edge from  ( Yamada-watanab ) To (Existence Forte)
6: one Edge from (Existence Forte) to (Defintion) (left one )
7: one Edge from (defintion) (left one) To (Existence faible)
8: One Edge from (unicité trajectorielle) To (Defintion) ( right one)
8: One Edge from (Defintion) ( right one) To (unicité en loi)
9: (unicité en loi)
10: (Engelbert-Cherny) 
11: Tow Edge from (Existence Forte) and (Unicité en loi) To (Engelbert-Cherny)
12: One Edge from (Engelbert-Cherny) To (Unicté trajectorielle)

I tries to use package animated but failed:

\documentclass[leqno,mathserif]{beamer}  
\usepackage{graphics,bm}
\usetheme{Luebeck} 
\setbeamercovered{transparent}
\usepackage[utf8]{inputenc}  
\usepackage[T1]{fontenc}
\usepackage[english,french]{babel}
\usepackage{tikz}
\usetikzlibrary{positioning} 
\usetikzlibrary{matrix}
\begin{document}

    \begin{frame}
        \begin{figure}
            \begin{tikzpicture}
                \matrix (magic) [matrix of nodes,ampersand replacement=\&, column sep=7mm, row sep=5mm]{
                    \node (se) [draw,shape=rectangle] {Existence Forte}; \&
                    \node (yw) [draw,shape=circle] {Yamada-watanab}; \&
                    \node (ul) [draw,shape=rectangle] {Unicité en Loi}; \\
                    \node (d1) [draw,shape=circle] {Définition}; \& 
                    \&   
                    \node (d2) [draw, shape=circle] {Définition}; \\
                    \node (we) [draw, shape=rectangle] {Existence Faible}; \&
                    \node (ec) [draw, shape=circle] {Engelbert-Cherny}; \& 
                    \node (pu) [draw, shape=rectangle] {Unicité Trajectorielle}; \\
                };
                \draw[->, thick] (se) -- (d1); \draw[->, thick] (d1) -- (we);
                \draw[->, thick] (we) -- (yw); \draw[->, thick] (yw) -- (se);
                \draw[->, thick] (se) -- (ec); \draw[->, thick] (ul) -- (ec);
                \draw[->, thick] (ec) -- (pu); \draw[->, thick] (pu) -- (yw);
                \draw[->, thick] (pu) -- (d2); \draw[->, thick] (d2) -- (ul);
            \end{tikzpicture}
        \end{figure}
    \end{frame} \end{document}

  • 1
    I am not sure I understand your specifications. Shall each number be a consecutive animation step? Shall the objects from previous animation steps be hidden again? What exactly does "to give" mean? – Daniel Oct 2 '13 at 20:13
  • 1
    Furthermore: What should happen to the edges. Shall they appear only if both, starting and ending node, are visible? – Daniel Oct 2 '13 at 20:17
  • 2
    To get yourself started: Take a look at the visible on style defined in this answer – Daniel Oct 2 '13 at 20:21
  • @Daniel thanks for ur time so I'll redefine specifications this time with edges – Educ Oct 2 '13 at 21:18
39

If by "animated" you mean creating overlays, then a straight application of Daniel's visible on key would solve the problem.

Step 1. Put the following in the preamble:

\tikzset{
  invisible/.style={opacity=0},
  visible on/.style={alt={#1{}{invisible}}},
  alt/.code args={<#1>#2#3}{%
    \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
  },
}

Step 2. Use the [visible on=<num->] to control the part of drawing you want to show on a particular slide. For example,

\node (se) [draw,shape=rectangle,visible on=<5->] {Existence Forte};

means node (se) will be shown from the fifth slide onwards.

The following should produce an overlay effect you wanted:

\begin{tikzpicture}
    \matrix (magic) [matrix of nodes,ampersand replacement=\&, column sep=7mm, row sep=5mm]{
        \node (se) [draw,shape=rectangle,visible on=<5->] {Existence Forte}; \&
        \node (yw) [draw,shape=circle,visible on=<1->] {Yamada-watanab}; \&
        \node (ul) [draw,shape=rectangle,visible on=<9->] {Unicité en Loi}; \\
        \node (d1) [draw,shape=circle,visible on=<6->] {Définition}; \& 
        \&   
        \node (d2) [draw, shape=circle,visible on=<8->] {Définition}; \\
        \node (we) [draw, shape=rectangle,visible on=<2->] {Existence Faible}; \&
        \node (ec) [draw, shape=circle,visible on=<10->] {Engelbert-Cherny}; \& 
        \node (pu) [draw, shape=rectangle,visible on=<3->] {Unicité Trajectorielle}; \\
    };
    \draw[->, thick,visible on=<6->] (se) -- (d1); \draw[->, thick,visible on=<7->]  -- (we);
    \draw[->, thick,visible on=<4->] (we) -- (yw); \draw[->, thick,visible on=<5->] (yw) -- (se);
    \draw[->, thick,visible on=<11->] (se) -- (ec); \draw[->, thick,visible on=<11->] (ul) -- (ec);
    \draw[->, thick,visible on=<12->] (ec) -- (pu); \draw[->, thick,visible on=<4->] (pu) -- (yw);
    \draw[->, thick,visible on=<8->] (pu) -- (d2); \draw[->, thick,visible on=<9->] (d2) -- (ul);
\end{tikzpicture}

enter image description here

  • Would you please post the full MWE on pastebin? additionally, how can I export the beamer presentation to gif? Thanks in advance – Diaa Oct 4 at 23:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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