
Ist es möglich, die Schriftfarbe der Abschnitte im Kopf-/Fußbereich unabhängig von der VG-/HG-Farbe des Kopf-/Fußbereichs zu ändern?
bearbeiten: Hier ist ein 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}
Wenn ich die Farbe der aktiven Abschnittsnamen in der Kopfzeile in Rot und die Farbe der inaktiven Abschnittsnamen in Blau ändern, für die Tertiärpalette jedoch die Farben Schwarz und Weiß beibehalten möchte – wie mache ich das?
Antwort1
Das sollte funktionieren:
\setbeamercolor{section in head/foot}{parent=palette tertiary,fg=red}
\setbeamertemplate{section in head/foot shaded}{\color{blue}\usebeamertemplate{section in head/foot}}
Erläuterung
Schauen Sie sich die erste Zeile an: Dort steht, dass section in head/foot
Farben von übernommen palette tertiary
und neu definiert werden fg=red
. Daher palette tertiary
bleibt es unverändert und aktive Abschnittstitel werden auf Rot gesetzt.
Ähnlich möchten wir etwas \setbeamercolor{section in head/foot shaded}{parent=palette tertiary,fg=blue}
für inaktive Abschnittstitel. Ja, wir können diese Farben festlegen. Aber nein, Beamer wird sie nie verwenden. Siehe den folgenden Code von 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}
Sie können sehen, dass geprüft wird, \ifnum\c@section=#1
ob der Abschnittstitel schattiert werden soll oder nicht. Das Farbthema ist jedoch bereits unter angewendet \usebeamercolor[fg]{section in head/foot}
. Daher \setbeamercolor{section in head/foot shaded}{parent=palette tertiary,fg=blue}
ist es zulässig, aber nutzlos.
Aber wir haben noch eine Chance: nach \ifnum
gibt es ein \usebeamertemplate{section in head/foot shaded}
. Es ist definiert in beamerouterthemedefault.sty
:
\defbeamertemplate*{section in head/foot shaded}{default}[1][50] {\color{fg!#1!bg}\usebeamertemplate{section in head/foot}}
Beachten Sie, dass bg
und fg
hier die Farben von sind section in head/foot
. Dies erklärt, warum inaktive Abschnittstitel transparent erscheinen. Wenn Sie an dieser Stelle brutal eine neue Farbe zuweisen, ist Ihr Problem gelöst.