答案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}