使用 \only 时修复小页面环境中的位置

使用 \only 时修复小页面环境中的位置

我有以下幻灯片

\documentclass[10pt]{beamer}
\usepackage{graphicx}

\begin{document}

\begin{frame}{Title}
Some texts

\begin{figure}
    \begin{minipage}{0.499\linewidth}{
            \centering
            \only<1>{%
                \includegraphics[width=\linewidth]{image1}}%
            \only<2>{%
                \includegraphics[width=\linewidth]{image2}}%            
        }
    \end{minipage}%
    \begin{minipage}{0.499\linewidth}{
            \centering
            \includegraphics[width=\linewidth]{image3}
        }
    \end{minipage}
\end{figure}
Some other texts
\end{frame}

\end{document}

问题是 image1 和 image2 具有不同的高度(特别是 image1 较高),因此图形上方的文本在第一张和第二张幻灯片之间改变位置

有没有办法让文本保持在第一张幻灯片中的位置?

答案1

尝试使用overlayarea。例如,来自 beamer 用户指南“9.5 动态更改文本或图像”:

\begin{overlayarea}{\textwidth}{3cm}
  \only<1>{Some text for the first slide.\\Possibly several lines long.}
  \only<2>{Replacement on the second slide.}
\end{overlayarea}

或者简单地指定你的小页面的高度:

\documentclass[10pt]{beamer}

\begin{document}

\begin{frame}{Title}
Some texts

\begin{figure}
    \begin{minipage}[c][3cm][c]{0.499\linewidth}
    \centering
    \includegraphics<1>[height=3cm]{example-image}
    \includegraphics<2>[height=1cm]{example-image}            
    \end{minipage}%
    \begin{minipage}{0.499\linewidth}
    \centering
    \includegraphics[height=2cm]{example-image}
    \end{minipage}
\end{figure}
Some other texts
\end{frame}

\end{document}

相关内容