我想将 beamer 类中的框架标题分成两个相等的列,这样左侧显示节的标题,右侧显示子节的标题(如果存在)。另外,如果两侧使用不同的颜色就更好了。
我正在尝试使用:
\useoutertheme{split}
\setbeamertemplate{headline}[split]
但是它会创建标题中的所有章节和子章节,而不命名它们。我只想要当前的。
答案1
在这种情况下,您必须自己重新定义标题。我只是复制了拆分主题,并分别将导航栏替换为\insertsection
和\insertsubsection
。
要设置颜色,您必须使用以下命令\setbeamercolor{}
:
\setbeamercolor{section in head/foot}{fg=white, bg=red}
\setbeamercolor{subsection in head/foot}{fg=white, bg=blue}
完整示例:
\documentclass{beamer}
\setbeamertemplate{headline}{%
\leavevmode%
\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{section in head/foot}%
\hfill\insertsection\hspace*{1em}%
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{subsection in head/foot}%
\hspace*{1em}\insertsubsection%
\end{beamercolorbox}%
}
\setbeamercolor{section in head/foot}{fg=white, bg=red}
\setbeamercolor{subsection in head/foot}{fg=white, bg=blue}
\begin{document}
\section{My Section 1}
\subsection{My Subsection 1}
\begin{frame}{Frametitle}
Frame Content
\end{frame}
\subsection{My Subsection 2}
\begin{frame}{Frametitle}
Frame Content
\end{frame}
\section{My Section 2}
\subsection{My Subsection 1}
\begin{frame}{Frametitle}
Frame Content
\end{frame}
\subsection{My Subsection 2}
\begin{frame}{Frametitle}
Frame Content
\end{frame}
\end{document}
输出: