3

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.

  • Can you try arrows={->[sep=10pt]-}? – Jake Oct 17 '14 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 Oct 17 '14 at 11:14
1

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}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.