Beamer: erste Tabelle immer im selben Rahmen überlagern

Beamer: erste Tabelle immer im selben Rahmen überlagern

Eine ähnliche Frage zuDieses hier, aber jetzt möchte ich statt Listenelementen Floats überlagern können table. Das hier funktioniert für Blöcke:

\begin{frame}[fragile]

\begin{block}<only@+>{First block}
%stuff
\end{block}

\begin{block}<only@+>{Second block}
%more stuff
\end{block}

\end{frame}

Bei Tabellen ist dies leider nicht der Fall:

\begin{frame}[fragile]

\begin{table}[!h]<only@+>
    \begin{tabular}{} %column specs
    %first table
    \end{tabular}
    \caption{} %some caption
\end{table}

\begin{table}[!h]<only@+>
    \begin{tabular}{} %column specs
    %second table
    \end{tabular}
    \caption{} %some caption
\end{table}

\end{frame}

Ausgabe: beide Tabellen auf derselben Folie mit Kauderwelsch (¡only@+¿) darüber. Was wäre in diesem Fall die richtige Syntax? Prost.

PS: Wenn es auch eine bessere Syntax zum Überlagern von Blöcken gibt als die, die ich mir ausgedacht habe, bin ich ganz Ohr! :) Idealerweise suche ich nach etwas, \begin{framebody}[<only@+>]sodass alles (Blöcke, Tabellen itemizeoder enumerateUmgebungen) innerhalb des Rahmens dieses Verhalten erbt.

Antwort1

Das Folgende scheint das beabsichtigte Ziel zu erreichen.

\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{overprint}
\onslide*<1>{
\begin{table}[h]
    \begin{tabular}{cc} %column specs
    f & f%first table
    \end{tabular}
    \caption{1} %some caption
\end{table}
}
%
\onslide*<2>{
\begin{table}[h]
    \begin{tabular}{cc} %column specs
    c & c
    %second table
    \end{tabular}
    \caption{2} %some caption
\end{table}
}
\end{overprint}
\end{frame}
%
\begin{frame}
%
\begin{block}<only@+>{First block}
b
\end{block}
%
\begin{block}<only@+>{Second block}
f
\end{block}
%
\end{frame} 
\end{document}

verwandte Informationen