如何更改 beamer 中 tikz 节点的警报颜色?

如何更改 beamer 中 tikz 节点的警报颜色?

在 Beamer 中,我可以使用命令更改警告文本的颜色\setbeamercolor。但是,更改颜色不会更改我向其传递选项的 tikz 节点所使用的颜色alert

以下是 MWE:

\documentclass{beamer}
\usepackage{tikz}
\setbeamercolor{alerted text}{fg=green}

\begin{document}

\begin{frame}

Some \alert{text}

\begin{tikzpicture}
\node (A) {Node A};
\node[alert, below of=A] {Node B};
\end{tikzpicture}

\end{frame}    

\end{document}

结果是这样的:

节点颜色错误

请注意,在普通文本中颜色正确更改为绿色,但 tikz 节点忽略我选择的颜色并使用默认的红色。

如何更改向其传递警报选项的节点所使用的颜色?也就是说,如何确保将警报选项传递给节点 B 会使其变为绿色?

答案1

正如奎伯比尔贝尔在评论中,最直观的解决方案实际上是通过在 beamer 颜色上使用组件访问语法来重用颜色,例如alerted text.fg

\documentclass{beamer}
\usepackage{tikz}
\setbeamercolor{alerted text}{fg=green}

\begin{document}

\begin{frame}
Some \alert{text}

\begin{tikzpicture}
\node (A) {Node A};
\node[text=alerted text.fg, below of=A] {Node B};
\end{tikzpicture}
\end{frame}    

\end{document}

替代方法:您可以像其他颜色一样调整它。在本例中,使用 fi \colorlet

警示颜色

\documentclass{beamer}
\usepackage{tikz}
\setbeamercolor{alerted text}{fg=green}
\colorlet{alert}{green}

\begin{document}

\begin{frame}
Some \alert{text}

\begin{tikzpicture}
\node (A) {Node A};
\node[alert, below of=A] {Node B};
\end{tikzpicture}
\end{frame}    

\end{document}

相关内容