Positionen trotz Overlays beibehalten

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


SebF

Positionen trotz Overlays beibehalten

Beitrag von SebF »

Hallo!
\documentclass{beamer} 

\usepackage[ngerman]{babel} 
\usepackage{tikz} 
\usepackage{algorithmic}
\usetikzlibrary{arrows,decorations.pathmorphing,decorations.pathreplacing,backgrounds,fit,automata,shapes,calc,matrix}

\begin{document} 

\begin{frame}{}
\underline{\small{Calls in $P$:}} \qquad \qquad $1: f \to g$ and $2: g \to g$
\vspace*{0.3cm}
\begin{columns}
\column{0.6\textwidth} 
\begin{algorithmic}
\STATE Build $S$:
\scriptsize
\visible<2->{
\FORALL{calls $c : f \to g$ of program $P$}
	\IF{$f$ is reachable from $f_{\text{initial}}$}
		\STATE include $G_c:f \to g$ in $S$
    \ENDIF
\ENDFOR}
\visible<4->{\REPEAT 
\STATE For any $G: f \to g$ and $H: g \to h$ in $S$ include also $G;H$ in $S$
\UNTIL{no new graph was added to $S$}}
\end{algorithmic}
\only<6->{
\begin{algorithmic}
\vspace*{0.3cm}
\STATE Check $S$:
\scriptsize
\FORALL{$G:f \to f$ in $S$}
	\IF{$G = G;G$ and $x \stackrel{\downarrow}{\to} x \not\in G$ for each $x \in Param(f)$}
		\STATE $P$ is not size-change terminating
	\ENDIF
\ENDFOR
\end{algorithmic}}
\column{0.4\textwidth} 
\begin{tikzpicture}
  \node[draw=none,fill=none] (aoben) at (0,0) {};
 \node[draw=none,fill=none] (aunten) at (0,-1.25) {};
   \node[draw=none,fill=none] (boben) at (0,-1.75) {};
   \node[draw=none,fill=none] (bunten) at (0,-2.75) {};
  \node[draw=none,fill=none] (coben) at (0,-4) {};
     \node[draw=none,fill=none] (cunten) at (0,-5) {};

\visible<3->{\draw[decorate,decoration=brace] (aoben.north) -- (aunten.south) node[right,pos=0.5,font=\scriptsize] { S = \{$G_1:f\to g$, $G_2:g\to g$\}};}
\visible<5->{\draw[decorate,decoration=brace] (boben.north) -- (bunten.south) node[right,pos=0.5,font=\scriptsize] { \parbox{4cm}{S = \{$G_1:f\to g$, $G_2:g\to g$, \\ \hspace*{0.65cm} $G_1;G_2:f \to g$\}}};}
\only<7->{\draw[decorate,decoration=brace] (coben.north) -- (cunten.south) node[right,pos=0.5,font=\scriptsize] { \parbox{4cm}{It is only $G_2 = G_2;G_2$ but\\ $d \stackrel{\downarrow}{\to} d \in G_2$}};}
\end{tikzpicture}
\end{columns}
\only<4>{\scalebox{0.8}{% 
      \begin{tikzpicture} 
      \tikzstyle{every state}=[minimum size=10pt,fill=white,text=black, node distance=1cm] 
      \tikzstyle{every pin edge}=[<-,shorten <=1pt] 
      
      \node[state,shape=circle]             (a)                {$a$}; 
      \node[state,shape=circle]             (b) at (0, -1.5) {$b$}; 
      \node[state,shape=circle]             (c) at (1.5,0.75) {$c$}; 
      \node[state,shape=circle]             (d) at (1.5,-0.75) {$d$}; 
          \node[state,shape=circle]             (e) at (1.5,-2.25) {$e$}; 
       \node[draw=none,fill=none]			(name) at (0.75,-3) {$G_1: f \to g$};
    
       \path[->]    (a) edge node[above] {$\downarrow$} (c) 
                    (a) edge node[above, very near end] {$\downarrow$} (e) 
                    (b) edge node[above, near end] {$\downarrow$}   (d)   
    
              ; 
      \end{tikzpicture}} }
\end{frame}


\end{document} 
In dieser Folie versuche ich meinen Algorithmus nach und nach zu erklären. Ob mein Ansatz jetzt der geschickteste ist, naja, das sei mal dahin gestellt ;-)
Jedenfalls könnte er aufgehen, wenn denn nicht durch die overlays alles dauernd seine Position verändern würde! Am Ende soll es halt so aussehen wie im letzten Overlay und der Algorithmus und rechts die Klammern sollen in allen Overlays ihre Position behalten.
Ich kann aber kein \visible benutzen, weil ich ja den Platz unten brauche, um für 1-2 Overlays Automaten einzublenden. Da ich damit gezwungen(?) bin, \only zu verwenden, verschiebt sich alles.
Ich hoffe ihr könnt mir helfen!! :-)

Seb