Quero criar uma cadeia descendente de nós TikZ. Alguns nós são girados e podem diferir em altura.
Considere a saída do MWE abaixo:
A cadeia horizontal adapta-se às diferentes larguras dos nós, enquanto a descendente não. Isso pode ter algo a ver com a rotação? Você sabe como posso fazer com que a cadeia descendente evite interseções de nós como a horizontal?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{chains,shapes}
\tikzstyle{arrow}
= [ shape=single arrow
, single arrow head extend=.75em
, single arrow head indent=.25em
, minimum width=3em
, draw
]
\tikzstyle{rarrow}
= [ shape=single arrow
, single arrow head extend=.75em
, single arrow head indent=.25em
, minimum width=3em
, draw
, rotate=-90
]
\begin{document}
\begin{tikzpicture}[start chain,every node/.style={on chain,join}]
\node[arrow] {foo};
\node[arrow] {foo};
\node[arrow] {foooooooooo};
\node[arrow] {foo};
\end{tikzpicture}\\
\begin{tikzpicture}[start chain=going below,every node/.style={on chain,join}]
\node[rarrow] {foo};
\node[rarrow] {foo};
\node[rarrow] {foooooooooo};
\node[rarrow] {foo};
\end{tikzpicture}
\end{document}
Responder1
Esta é uma solução bastante rápida, pois os tikzpicture
ambientes são independentes uns dos outros:
\documentclass{article}
\parindent=0pt
\usepackage{tikz}
\usetikzlibrary{chains,shapes}
\tikzstyle{arrow}
= [ shape=single arrow
, single arrow head extend=.75em
, single arrow head indent=.25em
, minimum width=3em
, draw
]
\tikzstyle{rarrow}
= [ shape=single arrow
, single arrow head extend=.75em
, single arrow head indent=.25em
, minimum width=3em
, draw
]
\begin{document}
\begin{tikzpicture}[start chain,every node/.style={on chain,join}]
\node[arrow] {foo};
\node[arrow] {foo};
\node[arrow] {foooooooooo};
\node[arrow] {foo};
\end{tikzpicture}\\
\rotatebox{-90}{%
\begin{tikzpicture}[start chain,
every node/.style={on chain,join}]
\node[rarrow] {foo};
\node[rarrow] {foo};
\node[rarrow] {foooooooooo};
\node[rarrow] {foo};
\end{tikzpicture}}
\end{document}