我对 的默认主题进行本地更改感兴趣beamer
。
我希望幻灯片开头的每个标题都用粗体显示,颜色为黑色(而不是紫色,而是黑色),并在其下方延伸一条水平线,并且该线和幻灯片的端点之间留有一定的边距。
这可能吗beamer
?
答案1
一个选项是设置frametitle
模板来添加水平规则;类似这样的操作:
\documentclass{beamer}
\setbeamertemplate{frametitle}{\color{black}\bfseries\insertframetitle\par\vskip-6pt\hrulefill}
\begin{document}
\begin{frame}
\frametitle{Test title for the frame}
\end{frame}
\end{document}
为了保持原始模板的精确格式frametitle
,您可以更改默认定义(我不确定框架字幕的情况下规则的位置,因此我选择将规则放在可能的框架字幕下方;这可以轻松修改):
\documentclass{beamer}
\makeatletter
\setbeamertemplate{frametitle}
{
\ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
\@tempdima=\textwidth%
\advance\@tempdima by\beamer@leftmargin%
\advance\@tempdima by\beamer@rightmargin%
\begin{beamercolorbox}[sep=0.3cm,left,wd=\the\@tempdima]{frametitle}
\vbox{}\vskip-1ex%
\if@tempswa\else\csname beamer@fteleft\endcsname\fi%
{\strut\color{black}\bfseries\insertframetitle\strut\par%
{%
\ifx\insertframesubtitle\@empty%
\else%
{\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle\strut\par}%
\fi
}%
\vskip-1.5ex%
\rule{\dimexpr\paperwidth-0.6cm\relax}{0.4pt}}
\if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
\end{beamercolorbox}%
%
}
\makeatother
\begin{document}
\begin{frame}
\frametitle{Test title for the frame}
\end{frame}
\end{document}