我一直在尝试自定义马德里 Beamer 主题中幻灯片部分的颜色主题。我检查了 Beamercolorthemedefault.sty 文件,寻找我应该更改的属性,然后我能够修改框架标题背景:
\setbeamercolor{frametitle}{bg=green!40!black}
我也可以用这个把它改回来:
\setbeamercolor{frametitle}{bg=beamer@blendedblue}
到目前为止,我无法更改底部框的颜色,其中包含作者、简称等。我一直在想哪些颜色定义与这些相关,因为我已经更改了其中几个,我认为它们会,但没有成功。我对颜色定义的父系统也有点困惑。其中一些只是链接到另一个已经定义的,如下所示:
\setbeamercolor{frametitle}{parent=titlelike}
\setbeamercolor{titlelike}{parent=structure}
\setbeamercolor{structure}{fg=beamer@blendedblue}
我不知道我该在哪里打断这个链条。
答案1
您必须深入了解Madrid
主题才能了解其为颜色设置的内容。查看beamerthemeMadrid.sty
,我们看到它使用了以下附加主题:
\usecolortheme{whale}
\usecolortheme{orchid}
\useinnertheme[shadow]{rounded}
\useoutertheme{infolines}
虽然人们可能认为颜色的定义是beamercolorthemewhale.sty
和beamercolorthemeorchid.sty
,这只是部分正确。让我们footline
看看beamerouterthemeinfolines.sty
:
\setbeamercolor*{author in head/foot}{parent=palette tertiary}
\setbeamercolor*{title in head/foot}{parent=palette secondary}
\setbeamercolor*{date in head/foot}{parent=palette primary}
\defbeamertemplate*{footline}{infolines theme}
{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
\usebeamerfont{title in head/foot}\insertshorttitle
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
\usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
\insertframenumber{} / \inserttotalframenumber\hspace*{2ex}
\end{beamercolorbox}}%
\vskip0pt%
}
看起来好像构建了 3 个框,左边使用颜色author in head/foot
( parent=palette tertiary
),中间使用颜色title in head/foot
( parent=palette secondary
),右边使用颜色date in head/foot
( parent=palette primary
)。因此,更改上述颜色。
我更建议更改基色,并让其他主题颜色与之相对应。例如,更改beamer@blendedblue
:
\documentclass{beamer}
\usepackage{lmodern}
\usetheme{Madrid}
% Change base colour beamer@blendedblue (originally RGB: 0.2,0.2,0.7)
\colorlet{beamer@blendedblue}{green!40!black}
\begin{document}
\begin{frame}{Frame title}
This is some frame content
\end{frame}
\end{document}