我正在基于柏林主题创建自己的 Beamer 主题,我想要做的是将导航栏移动到框架标题下方,而不是默认位置(即页面顶部,所有内容之上)。
例如,下面的图片和代码使用了柏林主题,在框架顶部的标题中创建了一个导航栏。如何将框架标题移到框架顶部,并将导航栏移到框架标题下方?
\documentclass{beamer}
\usetheme{Berlin}
\begin{document}
\section{First Sec}
\begin{frame}{First Frame Title}First Section\end{frame}
\section{Second Sec}
\begin{frame}{Second Frame Title}Second Section\end{frame}
\end{document}
答案1
搜索了一段时间后,我还是找不到答案,我怀疑是否有任何直接的命令可以做到这一点。不过,对于那些可能感兴趣的人,我找到了一种解决方法。
首先,您需要知道您的 Beamer 主题使用哪个外部主题(.sty 文件)。在本例中,柏林主题(beamerthemeBerlin.sty)使用迷你框架外主题(beamerouterthememiniframes.sty)。
然后我进入这个外部主题,并改变了标题并添加了一个定义框架标题.请参阅下面的代码:
% Head Line
\defbeamertemplate*{headline}{miniframes theme}
{%
\begin{beamercolorbox}[wd=\paperwidth,ht=10.25ex,dp=4.5ex,left]{frametitle}
\hspace{6pt}
\usebeamerfont{frametitle}
\insertframetitle
\vskip2pt
\end{beamercolorbox}%
\vspace{-10pt}
}
% Frame Title
\defbeamertemplate*{frametitle}{miniframes theme}
{%
\begin{beamercolorbox}[wd=\paperwidth,ht=1.4ex,dp=0.7ex,center]{section in head/foot}
\usebeamerfont{headline}
\insertnavigation{0.85\paperwidth}
\end{beamercolorbox}%
% no subsection title for simplicity
}
结果如下所示: