考虑以下TikZ
代码:
\filldraw[fill=black!40!white,thick] (0,1.5) node[above left] {start} rectangle (3.2,2) node[below right] {end} node [midway] {cp} ;
它在所需坐标处生成一个矩形,cp
矩形内有文本。我需要在矩形的左侧和右侧添加文本标签。我尝试使用附加到above left
和below right
节点的文本来生成这些标签。但是,end
标签的位置略低于标签start
。我该如何解决这个问题,或者有没有更好/更简单的方法将文本放置在矩形旁边。我已经查看了 700+ 手册第一部分中的教程TikZ
。
编辑:针对以下 percusses 的回答的补充信息:
\filldraw[fill=black!40!white,thick] (0,2.5) rectangle (3.2, 3) node [midway] {cp} ;
\node[fill=black!40!white,thick,draw,minimum height=0.5cm,minimum width=3.2cm,label=0:end,label=west:start] at (0,1.5) {cp};
注意不同的 x 位置。您的代码(上面的第二行)将整个结构放置start
在位置 0 的位置。出于某种原因,我的代码生成的结构向右移动,因此它相对于您的代码从矩形的中间开始。
答案1
手册确实很长,但结构很好,所以你可以跳过许多不相关的部分。对于这个特定示例,你可以使用一个节点并在其周围放置标签。
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[fill=black!40!white,
thick,
draw,
minimum height=0.5cm,
minimum width=3.2cm,
label=0:end,%< -- This uses angle zero degree on the border for the location
label=west:start %< -- This uses an anchor of the node for the location
] at (0,1.5) {cp};
\end{tikzpicture}
\end{document}