填充和绘制选项

填充和绘制选项

是否有一个选项可以同时设置 TikZ 节点的绘制和填充颜色?

就像是:

\node[rectangle,drawandfill=red]{test};

实际问题如下:我有许多相邻的矩形节点,它们的填充颜色不同。每个矩形都有不同的填充颜色。

现在我需要去除每个矩形周围的微小白色边框,并且我希望每个矩形的绘图颜色等于其填充颜色。

因为为每个矩形重写会很麻烦draw=<color name>,所以我希望有一个类似的命令,fillanddrawn=<color name>这样我可以使用一些搜索和替换功能来一次添加所有的绘图颜色。

答案1

您可以定义自己的参数化样式来执行此操作,

\tikzset{drawandfill/.style={draw=#1,fill=#1}}

完整示例:

\documentclass[tikz]{standalone}
\begin{document}
\tikzset{drawandfill/.style={draw=#1,fill=#1}}
\begin{tikzpicture}
  \node[rectangle,drawandfill=red] at (0,0) {test};
  \node[rectangle,fill=red,draw=red] at (1,0) {test};
\end{tikzpicture}
\end{document}

两个节点相同:

在此处输入图片描述

答案2

我怀疑您是否希望填充和绘制颜色相同,因为您将看不到任何东西!

下面是一个例子(绘图颜色只是作为节点颜色给出,填充颜色用指定fill=...):

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
  \node[blue,fill=red, rectangle]at (0,0){test};
  \node[blue,fill=blue, rectangle]at (1,0){test};
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案3

使用正则表达式的查找/替换(编辑器的功能,而不是 TeX 的功能)将任何出现的“fill=colorx,”替换为“fill=colorx,draw=colorx,”。在 Winedt 中,我刚刚确认搜索

fill=\(*\),

并替换为

fill=\0,draw=\0,

将转向

\node[fill=red,rectangle]at (0,0){test};%

进入

\node[fill=red,draw=red,rectangle]at (0,0){test};%

相关内容