列中叠加,垂直居中

列中叠加,垂直居中

我想用columns叠加层替换 beamer 中的某些内容,并使其仍然垂直居中(默认情况下),尤其是让其他内容保持固定。测试用例:

\documentclass{beamer}
\usetheme{Copenhagen}

\begin{document}

\begin{frame}

\begin{columns}

\begin{column}{0.5\textwidth}
%\begin{overlayarea}{\linewidth}{8cm}
\begin{block}{}
\only<1>{Foo}
\only<2>{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ultricies mauris in ligula eleifend tincidunt. Etiam in malesuada neque. Curabitur tempus purus purus.}
\end{block}
%\end{overlayarea}
\end{column}

\begin{column}{0.5\textwidth}
This line shouldn't move
\end{column}

\end{columns}

\end{frame}

\end{document}

我发现一些解决方案建议使用overlayarea,但这会破坏页面中 的垂直对齐block。还有其他解决方案吗(不需要手动指定所有间距)?

答案1

您可以使用来minipage修复垂直对齐overlayarea

\documentclass{beamer}
\usetheme{Copenhagen}


\begin{document}

\begin{frame}

\begin{columns}

\begin{column}{0.5\textwidth}
\begin{overlayarea}{\linewidth}{8cm}
\begin{minipage}[c][.85\textheight]{\linewidth}
\begin{block}{}
\only<1>{Foo}
\only<2>{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ultricies mauris in ligula eleifend tincidunt. Etiam in malesuada neque. Curabitur tempus purus purus.}
\end{block}
\end{minipage}
\end{overlayarea}
\end{column}

\begin{column}{0.5\textwidth}
\begin{minipage}[c][.85\textheight]{\linewidth}
This line shouldn't move
\end{minipage}
\end{column}

\end{columns}

\end{frame}

\end{document}

相关内容