我想用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}