在 Berkeley 主题中,我有一些幻灯片有框架标题,还有一些幻灯片没有框架标题。对于没有框架标题的幻灯片,我希望标题区域的垂直空间为零。我该怎么做?
我提供了一个简单的示例代码。
\documentclass[11pt,t]{beamer}
\hypersetup{pdfencoding=auto}
%\usefonttheme{professionalfonts}
\usefonttheme[onlymath]{serif}
\usetheme{Berkeley}
\begin{document}
\begin{frame}
\frametitle{This has frametitle}
contents
\end{frame}
\begin{frame}
contents without frametitle
\end{frame}
\end{document}
答案1
您可以删除这些框架的标题,然后强制重新计算页面几何形状:
\documentclass[11pt,t]{beamer}
\hypersetup{pdfencoding=auto}
%\usefonttheme{professionalfonts}
\usefonttheme[onlymath]{serif}
\usetheme{Berkeley}
\makeatletter
\newcommand{\calculateheadfoot}{\beamer@calculateheadfoot}
\makeatother
\begin{document}
\begin{frame}
\frametitle{This has frametitle}
contents
\end{frame}
{
\setbeamertemplate{headline}{}
\calculateheadfoot
\begin{frame}
contents without frametitle
\end{frame}
}
\begin{frame}
\frametitle{This has frametitle}
contents
\end{frame}
\end{document}
更新:
随着当前 beamer 开发版本(应包含在 beamer v3.70 或更新版本中),beamer 现在会在每帧开始时重新计算头部和脚部的高度,因此不再需要解决方法:
\documentclass[11pt,t]{beamer}
\hypersetup{pdfencoding=auto}
%\usefonttheme{professionalfonts}
\usefonttheme[onlymath]{serif}
\usetheme{Berkeley}
\begin{document}
\begin{frame}
\frametitle{This has frametitle}
contents
\end{frame}
{
\setbeamertemplate{headline}{}
\begin{frame}
contents without frametitle
\end{frame}
}
\begin{frame}
\frametitle{This has frametitle}
contents
\end{frame}
\end{document}