
Eu tenho o seguinte código:
\documentclass[tikz]{standalone}
\usetikzlibrary{graphs}
\begin{document}
\tikz \graph[grow right sep=20,nodes={draw,rectangle}] { a -> {b, long node name} };
\end{document}
O que produz esta saída:
Eu gostaria que a borda "a" -> "nome longo do nó" não fosse de leste para norte, mas de sul para oeste. Isso é possível usando apenas uma chamada \graph? Ou preciso especificar essa borda manualmente em um comando extra?
(Ou seja, tenho basicamente o mesmo problema da perguntaÂncora de borda no tikz, mas quero usar os recursos de desenho gráfico do TikZ em vez de criar bordas manualmente.)
Responder1
Responder2
Isso é o que você quer, eu acho.
Eu nunca usei \graph
. A maneira natural de fazer algo parecido com o que você pediu é usando \node
s e anchor
s, da seguinte maneira:
\documentclass[tikz]{standalone}
\usetikzlibrary{graphs}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\node[draw] (a) {a};
\node[draw,anchor=west] (b) at ($(a)+(1cm,0)$) {b};
\node[draw,anchor=west] (c) at ($(a)+(1cm,-1cm)$) {long node name};
\draw[->] (a) -- (b);
\draw[->] (a.south) -- (c.west);
\end{tikzpicture}
\end{document}
Claro, você deve definir uma distância adequada entre os nós; caso contrário, a ponta da seta poderá cruzar o retângulo, mas não há maneira de evitar isso a não ser alterando as pontas da seta. Além disso, você pode usar setas curvas.