剪裁至网格边界

剪裁至网格边界

我正在尝试让一条更宽(相对于网格线宽度)的线延伸到网格的末端,但不超过末端(红色)。使用默认选项,红线不会到达边界。设置红线line cap=rect会使它太长。我尝试过剪辑,但似乎参考点是黑线的中心而不是边界,这让我回到使用默认选项的结果。有没有一种简单的方法可以让红线到达框边界的末端,而无需摆弄坐标?

看起来相似,但是这里的线帽也在网格外边界之前终止。

梅威瑟:

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
  \draw[line width=1pt, step=1, line cap=rect] (1,1) grid (4,2);

  \begin{scope}
  \clip (1,0) rectangle (4,5);
  \draw[line width=2pt, yshift=2, color=red, line cap=rect] (1,1) -- (4,1);
  \end{scope}
\end{tikzpicture}
\end{document}

目前结果:

在此处输入图片描述

期望结果:

在此处输入图片描述

答案1

我认为您至少需要对坐标进行一些调整,因为您必须告诉红线网格的线宽为 1pt:

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \draw[line width=1pt, step=1, line cap=rect] (1,1) grid (4,2);

  \draw[line width=2pt,red,yshift=2,shorten >=-0.5pt,shorten <=-0.5pt] (1,1)  -- (4,1);

\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容