Quiero crear una cadena descendente de nodos TikZ. Algunos nodos están girados y pueden diferir en altura.
Considere el resultado del MWE a continuación:
La cadena horizontal se adapta a los distintos anchos de los nudos, mientras que la descendente no. ¿Podría esto tener algo que ver con la rotación? ¿Sabes cómo puedo hacer que la cadena descendente evite intersecciones de nodos como lo hace la 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}
Respuesta1
Esta es una solución bastante rápida ya que los tikzpicture
entornos son independientes entre sí:
\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}