[Tex/LaTex] Set line width independently of arrow size

arrowstikz-pgf

I would like to use lines with arrowheads in a Tikz drawing. The lines should have different thicknesses/widths, like so:

Arrows with different line widths

Another answer here pointed out the line width attribute to modify the width of a line in Tikz. I have tried this in a small example document:

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\draw[-latex,line width=1mm] (0,0) -- (5,0);
\draw[-latex,line width=2mm] (0,1.5) -- (5,1.5);
\draw[-latex,line width=3mm] (0,3) -- (5,3);
\draw[-latex,line width=4mm] (0,4.5) -- (5,4.5);
\draw[-latex,line width=5mm] (0,6) -- (5,6);
\draw[-latex,line width=6mm] (0,7.5) -- (5,7.5);
\draw[-latex,line width=7mm] (0,9) -- (5,9);
\end{tikzpicture}

\end{document}

Unfortunately, for some reason, Tikz also scales up the arrowhead when using line width:

Arrows with different line widths and different arrowhead sizes

How can I suppress this behaviour and force Tikz stick with a fixed arrowhead size across all line thicknesses?

There does not seem to be an arrowhead size attribute, as far as I can see in the manual (?)

EDIT: For clarification, I am not looking for a way to set an arrowhead size on a per-line basis. I am looking for a way to set an absolute arrowhead size for a whole Tikz picture, which will then apply to all lines of a certain style, no matter which width they have (the width being set on a per-line basis!).

Best Answer

You can use the library arrows.meta and explicitly state the length and width or the arrows. You can do this for the entire picture, once - no need to do it for each individual case.

\documentclass[tikz,border=20pt]{standalone}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[>={LaTeX[width=10mm,length=10mm]},->]
  \draw[line width=1mm] (0,0) -- (5,0);
  \draw[line width=2mm] (0,1.5) -- (5,1.5);
  \draw[line width=3mm] (0,3) -- (5,3);
  \draw[line width=4mm] (0,4.5) -- (5,4.5);
  \draw[line width=5mm] (0,6) -- (5,6);
  \draw[line width=6mm] (0,7.5) -- (5,7.5);
  \draw[line width=7mm] (0,9) -- (5,9);
\end{tikzpicture}
\end{document}

explicit length and width for arrows

Use Triangle rather than LaTeX for triangular tips:

Triangular variation