![Beamer: 画像を表示するときにテキストを動かさないようにする](https://rvso.com/image/420062/Beamer%3A%20%E7%94%BB%E5%83%8F%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%92%E5%8B%95%E3%81%8B%E3%81%95%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B.png)
スライドは、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}