如何全局改变 tikz 节点的颜色?

如何全局改变 tikz 节点的颜色?

我在这里看到:

如何在 tikzpicture 中的节点中指定 RGB 格式的填充颜色?

可以本地更改节点的颜色。不过,我想添加一个背景颜色全球默认为所有节点。这可能吗?

答案1

这是一种可行的方法。请注意,通常不建议全局设置此类样式。我不会提供任何“仅用边框填充节点”之类的东西,因为这太过黑客,我不明白为什么这会比定义样式并Draw/.style={draw=#1,fill=fillcolor}使用它而不是绘制更好。有一个if命名的\iftikz@mode@draw,但正如您所见,它有@内部,这表示“除非绝对需要,否则不要弄乱它”。因此,除非您提供一个很好的理由来说明为什么这比上面的更好,Draw否则在我看来走这条路没什么意义。无论如何,以下是您可以全局关闭和打开填充的方法。

\documentclass{article}
\usepackage{tikz}
\definecolor{fillcolor}{RGB}{255,51,76}
\begin{document}
\tikzset{nodes={fill=fillcolor}} % switch on global settings

\tikz{\node[draw]{Hello};}

\tikz{\node{World};}

\colorlet{fillcolor}{green}
\tikz{\node{Duck};}

\tikz{\node{Koala};}

\tikzset{every node/.style={}} %switch off global settings

\tikz{\node{Squirrel};}

\end{document}

在此处输入图片描述

相关内容