我正在尝试让一条更宽(相对于网格线宽度)的线延伸到网格的末端,但不超过末端(红色)。使用默认选项,红线不会到达边界。设置红线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}