Beamer:总是将第一个表格覆盖在同一框架上

Beamer:总是将第一个表格覆盖在同一框架上

类似的问题这个,但现在我希望能够覆盖table浮动,而不是覆盖列表项。虽然这对块有用:

\begin{frame}[fragile]

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

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

\end{frame}

不幸的是,它不适用于表格:

\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}

输出:同一张幻灯片上的两个表格上方都写有乱码(¡only@+¿)。在这种情况下正确的语法是什么?谢谢。

PS 如果还有比我想出的更好的覆盖块的语法,我洗耳恭听!:) 理想情况下,我正在寻找类似的东西,以便框架内的\begin{framebody}[<only@+>]所有内容(块,表格itemize或环境)都继承该行为。enumerate

答案1

以下似乎实现了预期的效果。

\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}

相关内容