[Tex/LaTex] Skew an Arrow in a Tikz Diagram

arrowsdiagramstikz-pgf

I am trying to draw an arrow in a Tikz diagram but I would like it to be skewed as shown below.

enter image description here

I searched Google but couldn't find any info about how to skew objects in Tikz.

Is such a thing possible?

(For reference the image above was made in inkscape.)

Best Answer

You could try a canvas transformation but you'd have to recalculate all the coordinates which would probably be a nightmare.

Or...

You can slant arrow heads with the arrows.meta library in PGF 3.0. However, skewing the non-arrow head end needs be faked using another arrow tip. This won't work if the slanting is much greater that +/-0.5 (there will be a small gap) but this can be customized (see the manual for details).

\documentclass[tikz,border=0.125cm]{standalone}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[line width=4pt]
\draw [red!50!black, -Stealth] (0,0) -- (3,0);
\draw [green!50!black, -{Stealth[slant=-0.5]}] (0,1) -- (3,1);
\draw [blue!50!black, {Square[slant=-0.5,length=\the\pgflinewidth]}-{Stealth[slant=-0.5]}] (0,2) -- (3,2);
\end{tikzpicture}
\end{document}

enter image description here

Related Question