有没有简单的 如何使图片在overlayarea
环境内垂直居中?
这是一个小动画的 MWE:
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{columns}
\column{.45\columnwidth}
\begin{overlayarea}{\columnwidth}{.7\textheight}
\includegraphics<1>[width=\columnwidth,height=.7\textheight,keepaspectratio]{picture1}
\includegraphics<2>[width=\columnwidth,height=.2\textheight,keepaspectratio]{picture2}
\end{overlayarea}
\column{.45\columnwidth}
\begin{itemize}[<+->]
\item Point A
\item Point B
\end{itemize}
\end{columns}
\end{frame}
\end{document}
图片 1 和图片 2 将出现在列的顶部,而不是垂直居中(事实上,它是overlayarea
垂直居中的,并且里面的所有图片都明显地在其顶部对齐)
该命令\vfill
似乎不起作用。
目前,我可以通过插入这种代码来纠正图片的对齐方式:
\only<2>{\vspace{.25\textheight}}
但这需要手动调整...
答案1
一种可能性是使用\parbox
而不是overlayarea
:
\PassOptionsToPackage{demo}{graphicx}
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{columns}
\column{.45\columnwidth}
\parbox[c][.7\textheight][c]{\columnwidth}{%
\includegraphics<1>[width=\columnwidth,%
height=.7\textheight,keepaspectratio]{image1}%
\includegraphics<2>[width=\columnwidth,%
height=.2\textheight,keepaspectratio]{image2}%
}
\column{.45\columnwidth}
\begin{itemize}[<+->]
\item Point A
\item Point B
\end{itemize}
\end{columns}
\end{frame}
\end{document}
该线\PassOptionsToPackage{demo}{graphicx}
只是用黑色矩形替换实际数字;不是在实际文档中使用该选项。