Beamer: color para fuentes en encabezado/pie diferente del color bg/fg

Beamer: color para fuentes en encabezado/pie diferente del color bg/fg

¿Es posible cambiar el color de fuente de las secciones en el encabezado/pie independientemente del color fg/bg del encabezado/pie?

editar: Aquí hay un 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}

Si quisiera cambiar el color de los nombres de las secciones activas en el encabezado a rojo, el nombre de la sección inactiva a azul, pero mantener los colores blanco y negro para la paleta terciaria, ¿cómo lo haría?

Respuesta1

Esto debería funcionar:

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

Explicación

Mire la primera línea: Dice que section in head/foothereda colores de palette tertiaryy redefine fg=red. Por lo tanto, palette tertiarypermanece sin cambios y los títulos de las secciones activas están configurados en rojo.

De manera similar, queremos algo así como \setbeamercolor{section in head/foot shaded}{parent=palette tertiary,fg=blue}para títulos de secciones inactivas. Sí, podemos configurar estos colores. Pero no, Beamer nunca lo usará. Vea el siguiente código de 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}

Podrías ver que se está \ifnum\c@section=#1comprobando si se debe sombrear el título de la sección o no. Sin embargo, el tema del color ya se aplica en \usebeamercolor[fg]{section in head/foot}. Por lo tanto \setbeamercolor{section in head/foot shaded}{parent=palette tertiary,fg=blue}es legal pero inútil.

Pero todavía tenemos una oportunidad más: después de que \ifnumhaya un \usebeamertemplate{section in head/foot shaded}. Se define en beamerouterthemedefault.sty:

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

Fíjate que bgy fgaquí están los colores de section in head/foot. Esto explica por qué los títulos de las secciones inactivas parecen ser transparentes. Asignar brutalmente un nuevo color en este punto resuelve su problema.

información relacionada