为什么 vfill 在 beamer 列内不起作用?

为什么 vfill 在 beamer 列内不起作用?

我最近尝试设置四分之一页面布局beamer(可能会有单独的问题),但\vfill在列环境中失败了。

最小示例:

\documentclass{beamer}
\begin{document}
\begin{frame}
    \begin{columns}
        \begin{column}{\textwidth}
                Blublub

                \vfill

                Blablabla

                Blublub

                \vfill

                Blablabla
        \end{column}
    \end{columns}
\end{frame}
\end{document}

这里有什么问题?我该如何修复或规避它?

答案1

环境内部column使用的环境minipage没有像整个框架那样的预定义高度。\vfill宏填充给定垂直空间的其余部分。由于没有定义高度,因此它什么也不做。您必须定义高度,例如使用\vbox如下所示:

\documentclass{beamer}
\begin{document}
\begin{frame}
    \begin{columns}
        \begin{column}{\textwidth}
                \vbox to .8\textheight{%
                Blublub

                \vfill

                Blablabla
                Blublub

                \vfill

                Blablabla
                }%
        \end{column}
    \end{columns}
\end{frame}
\end{document}

答案2

\documentclass{beamer}
\begin{document}
\begin{frame}{foo}{bar}
    \begin{columns}[t]
        \begin{column}{\textwidth}
          \minipage[c][0.7\textheight][s]{\columnwidth}
                Blublub

                \vfill

                Blablabla

                Blublub

                \vfill

                Blablabla
         \endminipage
        \end{column}
\end{columns}
\end{frame}
\end{document}

相关内容