放置在 tikz 线上的节点继承了许多样式,但没有“双重”

放置在 tikz 线上的节点继承了许多样式,但没有“双重”

使用 tikz,当节点放置在样式线上并绘制时,它们会继承该线的样式(点线、虚线、颜色、粗细)但不继承双重样式。

double 样式不会被继承

\draw[green] (0,2) -- node[draw, fill=white] {X} ++(3,0);
\draw[dotted] (0,1.5) -- node[draw, fill=white] {X} ++(3,0);
\draw[line width=.2ex] (0,1) -- node[draw, fill=white] {X} ++(3,0);
% this fails :
\draw[double] (0,0) -- node[draw, fill=white] {X} ++(3,0);
% node has to be styled specifically :
\draw[double] (0,-1) -- node[draw, fill=white, double] {X} ++(3,0);

有办法完成这个吗?

答案1

您的观察是正确的。您可以通过定义一个新样式来解决这个问题,Double该样式负责处理节点。nodes是的简写every node/.append style

\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[Double/.style={double,nodes={double}}]
\draw[Double] (0,0) -- node[draw, fill=white] {X} ++(3,0);
\end{tikzpicture}
\end{document}

在此处输入图片描述

该密钥的效果仅限于您使用它的路径,这可能就是您想要的。

相关内容