von esdd » Do 4. Feb 2016, 21:50
Ergänze in Deinem ersten Bespiel anchor=south bei dem foo Stil.
\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{chains}
\begin{document}
\begin{tikzpicture}
[
start chain=going below,
foo/.style = {
draw,
align=center,
on chain,
rotate=90,
anchor=south
},
every node/.append style = foo
]
\node {Eins};
\node {Zwei};
\node {Drei};
\node {Vier};
\end{tikzpicture}
\end{document}
Beim Rotieren eines Nodes rotieren die Anker mit. Die south Anker sind also bei den gedrehten Nodes rechts. Mit going below wird aber offensichtlich immer der north Anker eines neuen Nodes relativ zum south Anker des vorhergehenden eingefügt. Das führt dann zu der „Treppe“. Das explizite anchor=south bestimmt, das von dem neuen Node auch dieser Anker verwendet wird. Allerdings sind die Nodes damit rechtsbündig untereinander und der Abstand zwischen den Nodes hängt von deren Breite (unrotiert betrachtet), ja er der Abstand zwischen den beiden south Ankern ist.
Besser geeignet ist deshalb vermutlich die zweite Variante. Allerdings musst Du da für jeden Node den Nodentext als Argument an den Stil foo übergeben.
\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{chains}
\begin{document}
\begin{tikzpicture}
[
start chain=going below,
foo/.style = {
draw,
align=center,
on chain,
node contents={\rotatebox{90}{#1}}},
]
\node [foo=Eins];
\node [foo=Zwei];
\node [foo=Drei];
\node [foo=Vier];
\end{tikzpicture}
\end{document}

- Dateianhänge
-

- gl_chainrotatecontents.png (8.13 KiB) 968 mal betrachtet
-

- gl_chainrotatenodes.png (6.16 KiB) 969 mal betrachtet
Ergänze in Deinem ersten Bespiel [tt]anchor=south[/tt] bei dem [tt]foo[/tt] Stil.
[code]\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{chains}
\begin{document}
\begin{tikzpicture}
[
start chain=going below,
foo/.style = {
draw,
align=center,
on chain,
rotate=90,
anchor=south
},
every node/.append style = foo
]
\node {Eins};
\node {Zwei};
\node {Drei};
\node {Vier};
\end{tikzpicture}
\end{document}
[/code]
[img]http://golatex.de/files/gl_chainrotatenodes_780.png[/img]
Beim Rotieren eines Nodes rotieren die Anker mit. Die [tt]south[/tt] Anker sind also bei den gedrehten Nodes rechts. Mit [tt]going below[/tt] wird aber offensichtlich immer der [tt]north[/tt] Anker eines neuen Nodes relativ zum [tt]south[/tt] Anker des vorhergehenden eingefügt. Das führt dann zu der „Treppe“. Das explizite [tt]anchor=south[/tt] bestimmt, das von dem neuen Node auch dieser Anker verwendet wird. Allerdings sind die Nodes damit rechtsbündig untereinander und der Abstand zwischen den Nodes hängt von deren Breite (unrotiert betrachtet), ja er der Abstand zwischen den beiden [tt]south[/tt] Ankern ist.
Besser geeignet ist deshalb vermutlich die zweite Variante. Allerdings musst Du da für jeden Node den Nodentext als Argument an den Stil [tt]foo[/tt] übergeben.
[code]\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{chains}
\begin{document}
\begin{tikzpicture}
[
start chain=going below,
foo/.style = {
draw,
align=center,
on chain,
node contents={\rotatebox{90}{#1}}},
]
\node [foo=Eins];
\node [foo=Zwei];
\node [foo=Drei];
\node [foo=Vier];
\end{tikzpicture}
\end{document}[/code]
[img]http://golatex.de/files/gl_chainrotatecontents_628.png[/img]