在 Tikz 中创建带装饰的命令

在 Tikz 中创建带装饰的命令

我正在做一件简单但必须做上千次的工作。我想创建一个命令,其输入是两个坐标( 例如,\coordinate (A) at (0,0);B 在),\coordinate (B) at (3,6);和四种颜色所需的输出是坐标之间的路径,该路径用下面显示的图形装饰

装饰

我试过了,但这个命令超出了我对 Tikz 的了解。下面我还会向你展示一些手工制作的例子,它们的结果符合我的要求。

例子

基本代码是

\documentclass[border=5]{standalone}
\usepackage{tikz}
\usetikzlibrary {decorations.markings}
\begin{document}
    \begin{tikzpicture}
        
        \begin{scope}
            \draw (-8,0)-- (8,0);       
            \draw[fill][line width=0.5pt, ](-2,-1)rectangle (2, 1);
            \draw[red] (-1.5, 1)-- ++ (0,-2);
            \draw[blue] (-1, 1)-- ++ (0,-2);
            \draw[yellow] (-0.5, 1)-- ++ (0,-2);
            \draw[orange] (-0, 1)-- ++ (0,-2);
        \end{scope}
    \end{tikzpicture}
\end{document}

非常感谢您的帮助。

答案1

您可以使用节点path picture中的来执行此操作sloped。您可以调整minimum heightminimum width,然后调整四条线的(相对)坐标。

在此处输入图片描述

\documentclass{article}

\usepackage{tikz}
\tikzset{
    mynode/.style n args={4}{sloped, allow upside down, thick, fill, minimum height=2cm, minimum width=4cm, path picture={
        \draw[#1](-1.5,-1)--(-1.5,1);
        \draw[#2](-1,-1)--(-1,1);
        \draw[#3](-.5,-1)--(-.5,1);
        \draw[#4](0,-1)--(0,1);}
    }
}

\begin{document}

\begin{tikzpicture}
\draw[thick](0,0)--node[mynode={blue}{white}{orange}{yellow}]{}(8,3);
\end{tikzpicture}

\end{document}

相关内容