我想要一个没有标题的普通 Beamer 框架,并有一些垂直和水平居中、突出的文本。以下代码
\documentclass{beamer}
\begin{document}
\begin{frame}[c]
\begin{center}
Thank you
\end{center}
\end{frame}
\end{document}
产生以下结果
其中文本明显更靠近框架顶部而不是底部。但是,如果我添加标题(使用命令使其不可见但仍占据垂直和水平空间,\phantom
以清楚地显示正文文本的不同垂直定位),如下所示
\documentclass{beamer}
\begin{document}
\begin{frame}[c]{\phantom{Title}}
\begin{center}
Thank you
\end{center}
\end{frame}
\end{document}
文本似乎(更接近)垂直居中:
我希望没有标题和可选参数的普通框架的正文c
完全垂直居中 - 而不是相反。有人能告诉我如何实现这一点吗?
最好的情况下,解决方案不要诉诸于使用 TikZ 等外部包;我希望该beamer
课程能够为这个(在我看来)基本问题提供一个简单的解决方案,即在演示文稿幻灯片上完美对齐正文。
答案1
您可以使用 tikz 来根据页面定位您的文本:
\documentclass{beamer}
\usepackage{tikz}
\setbeamertemplate{background canvas}{
\begin{tikzpicture}[remember picture,overlay]
\draw[lightgray] (current page.south west) -- (current page.north east);
\draw[lightgray] (current page.south east) -- (current page.north west);
\end{tikzpicture}}
\begin{document}
\begin{frame}
\begin{tikzpicture}[remember picture,overlay]
\node at (current page.center) {Thank you};
\end{tikzpicture}
\end{frame}
\end{document}
或者您可以使用[s]
可拉伸框架选项(需要 beamer v3.65 或更新版本):
\documentclass{beamer}
\usepackage{tikz}
\setbeamertemplate{background canvas}{
\begin{tikzpicture}[remember picture,overlay]
\draw[lightgray] (current page.south west) -- (current page.north east);
\draw[lightgray] (current page.south east) -- (current page.north west);
\end{tikzpicture}}
\begin{document}
\begin{frame}[s]
\vfill
\centering Thank you
\vfill
\end{frame}
\end{document}
或者您可以重新定义[c]entred
框架选项,使其顶部和底部具有相同的可拉伸性:
\documentclass{beamer}
\usepackage{tikz}
\setbeamertemplate{background canvas}{
\begin{tikzpicture}[remember picture,overlay]
\draw[lightgray] (current page.south west) -- (current page.north east);
\draw[lightgray] (current page.south east) -- (current page.north west);
\end{tikzpicture}}
\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%
}
\makeatother
\begin{document}
\begin{frame}[c]
\centering Thank you
\end{frame}
\end{document}