我正在自定义我的投影仪幻灯片的外观,并尝试设置一个漂亮的颜色主题。我正在使用miniframes
外部主题。
我已经设置了调色板的四种颜色(主色、次色等),但我希望 miniframes 外部主题使用另一种配色方案,因为主调色板中的配色方案相当不同。似乎等就是实现该目的的palette sidebar primary
方法,但更改它们没有任何效果。事实上,查看 beamer 提供的所有外部主题,似乎没有一个使用这些palette sidebar
颜色。
实际上是否有任何使用palette sidebar
beamer 提供的外部主题的用途,或者我是否必须编写自己的外部主题才能使用这个调色板?
编辑:确实,颜色palette sidebar
确实适用于sidebar
外部主题,但不能miniframes
像我希望的那样与外部主题一起使用(如下例所示)。我想这意味着我必须破解miniframes
外部主题,以便为其中的元素提供单独的调色板。
\documentclass[]{beamer}
% \useoutertheme{sidebar}
\useoutertheme{miniframes}
% These colors only affect the sidebar outertheme
\setbeamercolor{palette sidebar primary}{fg=red}
\setbeamercolor{palette sidebar secondary}{fg=red}
\setbeamercolor{palette sidebar tertiary}{fg=red}
% These colors affect everything, including the miniframes outertheme
\setbeamercolor{palette primary}{fg=orange}
\setbeamercolor{palette secondary}{fg=green}
\setbeamercolor{palette tertiary}{fg=yellow}
% This is what I would like to have
\setbeamercolor{palette miniframes primary}{fg=magenta}
\setbeamercolor{palette miniframes secondary}{fg=magenta}
\setbeamercolor{palette miniframes tertiary}{fg=magenta}
\begin{document}
\section{AAA}
\subsection{BBB}
\begin{frame}
\frametitle{A}
\end{frame}
\begin{frame}
\frametitle{B}
\end{frame}
\end{document}
答案1
大多数(所有?)带有侧边栏的主题都使用这些palette sidebar xxx
颜色。例如,观察以下文档中子部分标题的颜色:
\documentclass{beamer}
\usetheme{Berkeley}
\setbeamercolor{palette sidebar primary}{fg=red}
\begin{document}
\section{section name}
\subsection{subsection name}
\begin{frame}
abc
\end{frame}
\end{document}
如果您想更改 miniframes 主题标题的颜色,最简单的方法是设置颜色section in head/foot
。
\documentclass{beamer}
\useoutertheme{miniframes}
% These colors affect everything, including the miniframes outertheme
\setbeamercolor{palette primary}{fg=orange}
\setbeamercolor{palette secondary}{fg=green}
\setbeamercolor{palette tertiary}{fg=yellow}
% This is what I would like to have
\setbeamercolor{section in head/foot}{fg=magenta}
\setbeamercolor{subsection in head/foot}{fg=magenta}
\begin{document}
\section{AAA}
\subsection{BBB}
\begin{frame}
\frametitle{A}
\end{frame}
\begin{frame}
\frametitle{B}
\end{frame}
\end{document}