指定线边距的坐标,而不是线中心的坐标

指定线边距的坐标,而不是线中心的坐标

我希望线起点的边缘点位于某个坐标,而不是中心点(这似乎是默认的)。 有类似的东西吗\draw[anchor=north] (0,0) -- (1,0);

这是我的代码片段。您可以看到两条额外的延长线在堆栈的边缘点处摆动。

\begin{tikzpicture}[stack/.style={rectangle split, rectangle split horizontal,
 rectangle split parts=#1, draw, anchor=center}]
\node[stack=5] (stack) {
    \nodepart{one}$m_1$
    \nodepart{two}$m_2$
    \nodepart{three}$m_3$
    \nodepart{four}$m_4$
    \nodepart{five}$m_5$
};

\draw (stack.north east) to ++(.5cm, 0);
\draw (stack.south east) to ++(.5cm, 0);
\node[at=(stack.five east), right] {$\cdots$};
\end{tikzpicture}

线摆动

答案1

設置outer sep=0ptstack/.style

tikz-矩形角

请参阅第 219 页的解释pgfmanual(版本 3.0.1a)

此选项的默认值为线宽的一半。使用默认值并绘制背景路径时,锚点将恰好位于路径的“外边框”上(而不是路径本身上)。

\documentclass{standalone}

\usepackage[]{tikz}
\usetikzlibrary{shapes}

\begin{document}
\begin{tikzpicture}[stack/.style={rectangle split, rectangle split horizontal,
 rectangle split parts=#1, draw, anchor=center, outer sep=0pt}]
\node[stack=5] (s) {
    \nodepart{one}$m_1$
    \nodepart{two}$m_2$
    \nodepart{three}$m_3$
    \nodepart{four}$m_4$
    \nodepart{five}$m_5$
};

\draw (s.north east) to ++(.5cm, 0);
\draw (s.south east) to ++(.5cm, 0);
\node[at=(s.five east), right] {$\cdots$};
\end{tikzpicture}
\end{document}

相关内容