Tikz - 带有节点标记路径的自定义路径样式

Tikz - 带有节点标记路径的自定义路径样式

我想定义一个自定义路径样式(例如skip loop来自http://www.texample.net/tikz/examples/diagram-chains/) 并且仍然能够将节点定位在路径上的任何位置 ( midwaynear endat startpos=0.3等)。一旦我对路径使用自定义样式,节点就会消失。请参阅以下最小工作示例:

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[%
    ,>=latex%
    ,skip loop/.style={to path={-- ++(0,#1) -| (\tikztotarget)}}%
    ]

    % bended path: node is visible
    \draw [<->] (0,0) to [bend left] node [near start,above] {x} (4,0);

    % custom path: node is invisible
    \draw [<->] (0,-1.5) to [skip loop=1] node [near start,above] {y} (4,-1.5);

\end{tikzpicture}
\end{document}

mwe_输出

我想使用该\draw命令并避免该\path命令。 有可能吗?

答案1

自定义to path需要\tikztonodes宏将收集到的节点放置在路径上。因此它应该读作

skip loop/.style={to path={-- ++(0,#1) -| (\tikztotarget)\tikztonodes}}

处理节点。

相关内容