我希望线起点的边缘点位于某个坐标,而不是中心点(这似乎是默认的)。 有类似的东西吗\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=0pt
中stack/.style
。
请参阅第 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}