
スライドは、1. テキスト ブロック、2. 画像、3. 2 番目の画像で置き換えられるという構成になっています。コードは次のようになります。
\begin{frame}
\onslide<1->{Some text}%
\begin{center}
\only<2> {\includegraphics{image1}}%
\only<3> {\includegraphics{image2}}%
\end{center}
\end{frame}
問題は、テキストが次に画像が表示されることを認識していないようで、画像が表示されるとテキストが移動してしまうことです。次の画像をご覧ください。
当然ですが、テキストを移動させたくはありません (テキストは最初のスライドの最終位置に配置されるはずです)。このコードを修正するにはどうすればよいでしょうか?
答え1
正しい方向に進んでいます。画像の間に空行を挿入するだけです。コード フラグメントを拡張して少し修正します。
\documentclass{beamer}
\begin{document}
\begin{frame}
Some text
\begin{center}
\only<2> {\includegraphics[width=0.8\linewidth]{example-image-a}}
\only<3> {\includegraphics[width=0.8\linewidth]{example-image-b}}
\end{center}
\end{frame}
\end{document}
期待通りに動作するはずです。
答え2
Beamer は、特に定義されていない場合は、コンテンツを垂直方向の中央に配置します。これに基づいて、コンテンツを上部から開始するオプションを使用できます。
\begin{frame}[t]
Contents
\end{frame}