通过 TikZ 样式添加节点,使用双虚线“--”

通过 TikZ 样式添加节点,使用双虚线“--”

我基本上是在问问题,因为那里的答案不适用于--线条的情况。

假设你有如下一行:

\draw (0,0) -- (3,3) node[sloped, midway,above]{Hey!};

那么,是否可以创建一种样式,使得下面的代码产生与上面相同的结果?

\draw[heyEnd](0,0) -- (3,3);

我怀疑这应该是非常有可能的,因为箭头会产生这种效果。

完整示例:

\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\begin{document}
  \begin{tikzpicture}
    \tikzset{
      heyEnd/.style={
          every edge/.style={
              edge node={node[sloped, midway,above]{Hey!}},
              draw
            }
        }
    }

    %% Intended result:
    % \draw (0,0) -- (3,3) node[sloped, midway,above]{Hey!};

    %% This works:
    % \draw[heyEnd](0,0) edge (3,3);

    % This does not, but I want it to
    \draw[heyEnd](0,0) -- (3,3);
  \end{tikzpicture}
\end{document}

(可能)相关:

答案1

我现在不知道这是否是您要寻找的答案,但您当然可以使用--装饰线条实现相同的效果。

\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
  \begin{tikzpicture}
    \tikzset{
      heyEnd/.style={
          every edge/.style={
              edge node={node[sloped, midway,above]{Hey!}},
              draw
            }
        },
     heyMark/.style={postaction={decorate,decoration={markings,
     mark=at position 0.5 with {\node[midway,above,sloped]{Hey!}; }}}}  
    }

    %% Intended result:
    % \draw (0,0) -- (3,3) node[sloped, midway,above]{Hey!};

    %% This works:
    \draw[heyEnd](0,0) edge (3,3);

    % This works now
    \draw[heyMark](4,0) -- (7,3);
  \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容