投影机完全垂直居中

投影机完全垂直居中

我的工作没有使用预定义的主题。

看来

\begin{frame}[c]
Hello world!
\end{frame}

文本没有完全垂直居中;它有点太高了。

我设法使用 minipage 环境解决了这个问题:

\begin{frame}[c]
\begin{minipage}[c][\textheight][c]{\linewidth}
Hello world!
\end{minipage}
\end{frame}

还有其他解决办法吗?

答案1

在中,我们可以找到框架选项beamerbaseframe.sty的定义:c

\define@key{beamerframe}{c}[true]{% centered
  \beamer@frametopskip=0pt plus 1fill\relax%
  \beamer@framebottomskip=0pt plus 1.5fill\relax%
  \beamer@frametopskipautobreak=0pt plus .4\paperheight\relax%
  \beamer@framebottomskipautobreak=0pt plus .6\paperheight\relax%
  \def\beamer@initfirstlineunskip{}%
}

为了使文本完全垂直居中,我们只需要重新定义它,使\beamer@frametopskip\beamer@framebottomskip具有相同fill

\documentclass{beamer}
\makeatletter
\define@key{beamerframe}{c}[true]{% centered
  \beamer@frametopskip=0pt plus 1fill\relax%
  \beamer@framebottomskip=0pt plus 1fill\relax%
  \beamer@frametopskipautobreak=0pt plus .4\paperheight\relax%
  \beamer@framebottomskipautobreak=0pt plus .6\paperheight\relax%
  \def\beamer@initfirstlineunskip{}%
}
\makeatother
\begin{document}
\begin{frame}[c]
Hello world!
\end{frame}
\end{document}

相关内容