Beamer:在 tikzpicture 中更改结构颜色

Beamer:在 tikzpicture 中更改结构颜色

为什么下面的 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}

结果:

在此处输入图片描述

相关内容