5

A specification like this

arrows={|>[sep=10pt]-}

works perfectly giving something like |-->--------.

I would like to use the sep option to shift the arrow in the same way but without the need for an arrow tip at the beginning. If I write

arrows={>[sep=10pt]-}

I obtain a shifted arrow tip but the line supporting it starts with the arrow tip. Adding . at the beginning does not help.

The question is: is there an arrow tip name indicating "no tip"? If such tip name existed I could use it to mark the start of the arrow line.

Alternatively: is there a better way to shift the arrow tip using tip specifications?

Related:

  • by defining a new arrow tip you can control the extent of the tip.
  • by drawing the arrow in two steps you can draw a -> arrow 10pt long and then the rest; very unsatisfactory.
  • by using decorations one can position items, including an arrow tip, in any position. I would prefer to have an arrow tip specification.

Given TikZ 3 offer such powerful ways to modify the style of the tip (color, scale, slant, line style, bending etc) the absence of a shifting option / null-tip feels like an important omission.

2
  • Can you try arrows={->[sep=10pt]-}?
    – Jake
    Commented Oct 17, 2014 at 11:10
  • @Jake I should have mentioned I tried that as well but - is not an arrow tip kind and TikZ would throw an error
    – Bordaigorl
    Commented Oct 17, 2014 at 11:14

1 Answer 1

3

I think I got it by defining my own "no-tip" arrow tip specification:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows}

\pgfarrowsdeclare{:}{:}{}{}


\begin{document}

\begin{tikzpicture}[
  every node/.style={circle,draw,outer sep=0},
  thick]
  \node(A) at (0,0){A};
  \node(B) at (2,0){B};
  \draw[arrows={:>[sep=10pt]-}](A)--(B);
\end{tikzpicture}

\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .