我正在尝试自定义投影仪演示文稿,并尝试使用以下代码来设置框架标题的外观:
\setbeamertemplate{frametitle}{
\begin{beamercolorbox}[left, wd = \paperwidth, ht = 1em]{palette frame title}
\usebeamerfont{frametitle}
\textbf{\insertframetitle}
\end{beamercolorbox}
\begin{beamercolorbox}[wd = \paperwidth, ht = .15em]{palette frame title}
\rule{\paperwidth}{.15em}
\end{beamercolorbox}
}
结果如下(我已经bg = yellow
在调色板中设置以beamercolorbox
可视化它们的尺寸):
如果有人能向我解释一下这两个空白从何而来,我将不胜感激:第一个框上方的空白beamercolorbox
和两个框之间的空白。我注意到,修改框的高度似乎会改变这些空白的大小,这在我看来是一种奇怪的行为,并且很难准确定位事物。
答案1
您可以查看默认的 beamer 主题,了解它们如何根据背景颜色的存在删除行间跳跃,例如https://github.com/josephwright/beamer/blob/main/base/themes/outer/beamerouterthemedefault.sty#L164
\documentclass{beamer}
\setbeamertemplate{frametitle}{%
\ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
\begin{beamercolorbox}[left,wd=\paperwidth,ht=2.5ex,dp=1ex]{frametitle}
\usebeamerfont{frametitle}%
\strut\insertframetitle
\end{beamercolorbox}%
\ifbeamercolorempty[bg]{lower separation line head}{}{\nointerlineskip}%
\begin{beamercolorbox}[colsep=1.5pt,wd=\paperwidth]{lower separation line head}
\end{beamercolorbox}%
}
\setbeamercolor{frametitle}{bg=yellow,fg=blue}
\setbeamerfont{frametitle}{series=\bfseries}
\setbeamercolor{lower separation line head}{bg=blue}
\begin{document}
\begin{frame}
\frametitle{titgle}
abc
\end{frame}
\end{document}