为什么下面的 MWE 没有将后者填充的颜色更改为红色?如何修复?
背景:我正在更改示例框架的结构颜色,并希望其中的所有 tikzpictures 都使用基于结构颜色的颜色。
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}{My Default Structure Color Rectangle}
\begin{tikzpicture}
\draw [fill=structure] rectangle (2,2);
\end{tikzpicture}
\end{frame}
\setbeamercolor{structure}{fg=red}
\begin{frame}{My Red Rectangle}
\begin{tikzpicture}
\draw [fill=structure] rectangle (2,2);
\end{tikzpicture}
\end{frame}
\end{document}
答案1
您必须\usebeamercolor
在实际使用之前进行设置。此外,您还应.fg
在使用颜色时指定,即structure.fg
。这是因为在设置时\usebeamercolor
您还可以访问structure.bg
,这是一种不同的颜色。
代码:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}{My Default Structure Color Rectangle}
\begin{tikzpicture}
\draw [fill=structure] rectangle (2,2);
\end{tikzpicture}
\end{frame}
\setbeamercolor{structure}{fg=red}
\begin{frame}{My Red Rectangle}
\usebeamercolor{structure}
\begin{tikzpicture}
\draw [fill=structure.fg] rectangle (2,2);
\draw (4,0) [fill=structure.bg] rectangle+ (2,2);
\end{tikzpicture}
\end{frame}
\end{document}
结果: