在多部分路径上以减少的位置进行标记时会出现奇怪的行为。

在多部分路径上以减少的位置进行标记时会出现奇怪的行为。

当我在不断减少的位置标记一条路径并且该路径包含两个或更多部分时,只考虑to最后一个部分。to

以下是一个例子:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,arrows.meta,decorations.markings}
\begin{document}

\begin{tikzpicture}
  \draw[gray] (0,0) grid (4,4);
  \draw[very thick, draw=red,
      decoration={markings,
      mark=at position .3 with {\arrow[green]{*}},
      mark=at position .9 with {\arrow[black]{*}},
      mark=at position .3 with {\arrow[blue]{*}}, % the bad positioned mark
    },postaction={decorate}]
    (0,1) to[out=30,in=270] (4,3) to[out =90, in =-30 ] (0,4);
  % orange mark using only the second 'to'
  \path[decoration={markings,
          mark=at position -1.46 with {\arrow[green,scale=.5]{*}},
        },postaction={decorate}]
    (4,3) to[out =90, in =-30 ] (0,4);
\end{tikzpicture}

\end{document}

在此处输入图片描述

我的问题是:这是一个错误吗?

答案1

我不认为这是一个错误。问题是不能按降序使用位置。手册第 585 页说(斜体字是我的强调)

可以mark多次给出该选项,从而应用多个标记。在这种情况下,然而,路径上的位置必须按递增顺序排列。 那是,不允许(并且会导致混乱)让路径上较早的标记跟随路径上较晚的标记

这不就是现在的情况吗?你在 位置放置标记.3.9然后.3,结果就造成了混乱。

相关内容