多张图片叠加动画

多张图片叠加动画

我正在写关于 Beamer 的论文报告。我需要写一个框架,以便

  1. 从一些初始文本和图片开始
  2. 然后添加更多文本
  3. 保留相同的文本,将图片更改为更大的图片并添加逐项列表
  4. 向列表中添加另一个元素

目前我有

\documentclass{beamer}

\begin{document}

\begin{frame}
  \begin{columns}
    \begin{column}{0.5\textwidth}
      \onslide <1->
      text1\\
      \onslide <2->
     text2:
      \begin{itemize}
        \onslide <3-> \item item1
        \onslide <4-> \item item2
      \end{itemize}
    \end{column}
    \begin{column}{0.5\textwidth}
      \begin{figure}[H]
        \resizebox{\textwidth}{!}{%
          \only <1,2> {small picture} %pictures are tikz picture on a separate file
          \only <3,4> {big picture}
        }
      \end{figure}
    \end{column}
  \end{columns}
\end{frame}
\end{document}

该代码的问题在于:

  1. 幻灯片 1 和 2 上不显示图片,只在幻灯片 3 和 4 上显示
  2. 由于图片大小不同,切换到大图时,侧面的文字会垂直移动

编辑:更改代码

答案1

  • \onslide如果您以非线性方式构建框架,我会避免使用 unscoped 。如果您使用\only<>{...}etc,则可以更轻松地控制元素的外观。

  • 为了避免因图片更改而导致的偏移,您可以使用环境overlayarea。只需确保环境的高度(以下示例中为 3 厘米)足以容纳您最高的图片即可

  • 如果你使用,\uncover你可以避免新文本影响页面布局,因为文本存在于所有覆盖层上,只是一开始不可见

  • beamer 没有浮动机制。指定浮动说明符是没有意义的[H]。事实上,如果你的图像没有标题,你实际上并不需要环境,figure除非你想让图像居中。


\documentclass{beamer}

\begin{document}

\begin{frame}
  \begin{columns}
    \begin{column}{0.5\textwidth}
      \uncover<1->{text1\\}
      \uncover<2->{text2:}
      \begin{itemize}
        \item<3-> item1
        \item<4-> item2
      \end{itemize}
    \end{column}
    \begin{column}{0.5\textwidth}
        \begin{overlayarea}{\textwidth}{3cm}
          \resizebox{\textwidth}{!}{%
            \only<1,2>{small picture} %pictures are tikz picture on a separate file
            \only<3,4>{big picture}
          }
        \end{overlayarea}
    \end{column}
  \end{columns}
\end{frame}
\end{document}

在此处输入图片描述

相关内容