自定义 Beamer Madrid 主题的颜色

自定义 Beamer Madrid 主题的颜色

我一直在尝试自定义马德里 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.stybeamercolorthemeorchid.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}

相关内容