在用另一个元素替换一个元素时保持文本不变

在用另一个元素替换一个元素时保持文本不变

我想让 \only<2> 中的图像替换 \only<3> 中的文本,但又不让 \visible<1,2,3> 中的文本来回移动。我该如何实现呢?

\begin{frame}
\frametitle{test}
\visible<1,2,3>{Blalalalalalala}

\only<2>{
\begin{figure}[!htb]
\centering
\includegraphics[scale=0.5]{pic1.png}
\end{figure}}

\only<3>{Balalalalala}}
\end{frame}

答案1

您可以使用overlayarea

\documentclass{beamer}

\begin{document}

\begin{frame}
    \frametitle{test}
    \visible<1,2,3>{Blalalalalalala}

    \begin{overlayarea}{\textwidth}{.5\textheight}
        \only<2>{
        \begin{figure}
        \includegraphics[scale=0.5]{example-image}
        \end{figure}}

        \only<3>{Balalalalala}
    \end{overlayarea}
\end{frame} 

\end{document}

无关:

  • 浮动说明符(如)[!htb]在没有浮动机制的文档类中没有意义

  • 你不需要\centering在图中,投影仪会自动将图形居中

  • 如果只有 3 个叠加层供您使用,则不需要\visible<1,2,3>{Blalalalalalala},只需将其替换为Blalalalalalala。如果这些叠加层之后还有更多叠加层,您可以使用以下方法简化它\visible<1-3>{...}

相关内容