与箭头大小无关地设置线宽

与箭头大小无关地设置线宽

我想在 Tikz 绘图中使用带箭头的线条。线条应具有不同的粗细/宽度,如下所示:

不同线宽的箭头

这里还有另一个答案指出了line width在 Tikz 中修改线宽的属性。我在一个小的示例文档中尝试过这个:

\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}

不幸的是,由于某种原因,Tikz 在使用时也会放大箭头line width

具有不同线宽和不同箭头大小的箭头

我怎样才能抑制这种行为并强制 Tikz 在所有线条粗细上都使用固定的箭头大小?

arrowhead size据我在手册中看到的那样,似乎没有属性(?)

编辑:为了澄清起见,我不是寻找一种方法来设置每行箭头的大小。我正在寻找一种方法来设置绝对整个 Tikz 图片的箭头大小,然后它将应用于特定样式的所有线条,无论它们的宽度是多少(宽度是根据每行设置的!)。

答案1

您可以使用库arrows.meta并明确说明长度和宽度或箭头。您可以对整个图片执行此操作一次 - 无需对每个个案执行此操作。

\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}

箭头的明确长度和宽度

使用Triangle而不是LaTeX三角形尖端:

三角变化

相关内容