De
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{shapes,arrows,positioning}
\begin{document}
\tikzstyle{block} = [draw, rectangle, minimum height=3em, minimum width=6em]
\tikzstyle{line} = [->, dashed]
\begin{tikzpicture}[auto, node distance=3.5cm,>=latex']
\node [block] (A) {A};
\node [block,right of=A] (B) {B};
\node [block,right of=B] (C) {loooooooooooooooong C};
\node [block,right of=C] (D) {D};
\draw [line] (A) -- (B);
\draw [line] (B) -- (C);
\draw [line] (C) -- (D);
\end{tikzpicture}
\end{document}
Eu entendo essa figura
Como posso definir a distância entre as bordas dos nós e não entre seus centros?
Na figura, a distância entre B
e loooooooooooooooong C
é menor que a distância entre A
e B
.
Responder1
Você deve usar right = of
(que é a sintaxe da positioning
biblioteca) em vez de right of =
.
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{shapes,arrows,positioning}
\begin{document}
\tikzstyle{block} = [draw, rectangle, minimum height=3em, minimum width=6em]
\tikzstyle{line} = [->, dashed]
\begin{tikzpicture}[auto, node distance=3.5cm,>=latex']
\node [block] (A) {A};
\node [block,right = of A] (B) {B};
\node [block,right = of B] (C) {loooooooooooooooong C};
\node [block,right = of C] (D) {D};
\draw [line] (A) -- (B);
\draw [line] (B) -- (C);
\draw [line] (C) -- (D);
\end{tikzpicture}
\end{document}