在 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}