
É possível alterar a cor da fonte das seções no cabeçalho/pé independente da cor fg/bg do cabeçalho/pé?
editar: Aqui está um 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}
Se eu quisesse alterar a cor dos nomes das seções ativas no cabeçalho para vermelho, o nome da seção inativa para azul, mas manter as cores preto e branco para a paleta terciária - como eu faria isso?
Responder1
Isso deve funcionar:
\setbeamercolor{section in head/foot}{parent=palette tertiary,fg=red}
\setbeamertemplate{section in head/foot shaded}{\color{blue}\usebeamertemplate{section in head/foot}}
Explicação
Veja a primeira linha: Diz que section in head/foot
herda cores palette tertiary
e redefine fg=red
. Portanto, palette tertiary
permanece inalterado e os títulos das seções ativas são definidos como vermelhos.
Da mesma forma, queremos algo parecido \setbeamercolor{section in head/foot shaded}{parent=palette tertiary,fg=blue}
com títulos de seções inativas. Sim, podemos definir essas cores. Mas não, o Beamer nunca o usará. Veja o seguinte 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}
Você pode ver que há uma \ifnum\c@section=#1
verificação se deve sombrear o título da seção ou não. No entanto, o tema de cores já está aplicado em \usebeamercolor[fg]{section in head/foot}
. Portanto, \setbeamercolor{section in head/foot shaded}{parent=palette tertiary,fg=blue}
é legal, mas inútil.
Mas ainda temos mais uma chance: depois que \ifnum
houver um arquivo \usebeamertemplate{section in head/foot shaded}
. É definido em beamerouterthemedefault.sty
:
\defbeamertemplate*{section in head/foot shaded}{default}[1][50] {\color{fg!#1!bg}\usebeamertemplate{section in head/foot}}
Observe isso bg
e fg
aqui estão as cores de section in head/foot
. Isso explica por que os títulos das seções inativas parecem ser transparentes. Atribuir brutalmente uma nova cor neste ponto resolve o seu problema.