beamer:head/foot 字体的颜色与 bg/fg 颜色不同

beamer:head/foot 字体的颜色与 bg/fg 颜色不同

是否可以独立于头部/脚部的 fg/bg 颜色来更改头部/脚部各部分的字体颜色?

编辑:这是MWE:

\documentclass{beamer}
\useoutertheme{miniframes}
\setbeamercolor{palette tertiary}{fg=white,bg=black}

\begin{document}
\section{sec 1}
\begin{frame}
sec 1
\end{frame}

\section{sec 2}
\begin{frame}
sec 2
\end{frame}

\end{document}

如果我想将标题中活动部分名称的颜色更改为红色,将非活动部分名称的颜色更改为蓝色,但保留第三调色板的颜色为黑色和白色 - 我该怎么做?

答案1

这应该有效:

\setbeamercolor{section in head/foot}{parent=palette tertiary,fg=red}
\setbeamertemplate{section in head/foot shaded}{\color{blue}\usebeamertemplate{section in head/foot}}

说明

看第一行:它表示section in head/foot从 继承颜色palette tertiary并重新定义fg=red。因此palette tertiary保持不变,活动部分标题设置为红色。

类似地,我们想要类似\setbeamercolor{section in head/foot shaded}{parent=palette tertiary,fg=blue}非活动部分标题的东西。是的,我们可以设置这些颜色。但不,Beamer 永远不会使用它。请参阅以下代码beamerbasenavigation.sty

\def\sectionentry#1#2#3#4#5{% section number, section title, page
  \ifnum#5=\c@part%
  \beamer@section@set@min@width
  \box\beamer@sectionbox\hskip1.875ex plus 1fill%
  \beamer@xpos=0\relax%
  \beamer@ypos=1\relax%
  \setbox\beamer@sectionbox=
  \hbox{\def\insertsectionhead{#2}%
    \def\insertsectionheadnumber{#1}%
    \def\insertpartheadnumber{#5}%
    {%
      \usebeamerfont{section in head/foot}\usebeamercolor[fg]{section in head/foot}%
      \ifnum\c@section=#1%
        \hyperlink{Navigation#3}{{\usebeamertemplate{section in head/foot}}}%
      \else%
        \hyperlink{Navigation#3}{{\usebeamertemplate{section in head/foot shaded}}}%
      \fi}%
  }%
  \ht\beamer@sectionbox=1.875ex%
  \dp\beamer@sectionbox=0.75ex%
  \fi\ignorespaces}

你可以看到有一个\ifnum\c@section=#1检查是否应该为 section-title 加阴影。但是,颜色主题已在 处应用\usebeamercolor[fg]{section in head/foot}。因此\setbeamercolor{section in head/foot shaded}{parent=palette tertiary,fg=blue}是合法的,但无用。

但是我们还有一次机会:在之后\ifnum\usebeamertemplate{section in head/foot shaded}它的定义是beamerouterthemedefault.sty

\defbeamertemplate*{section in head/foot shaded}{default}[1][50]
{\color{fg!#1!bg}\usebeamertemplate{section in head/foot}}

bg请注意,fg这是的颜色section in head/foot。这解释了为什么不活动的节标题似乎是透明的。此时粗暴地分配一种新颜色可以解决您的问题。

相关内容