[Tikz] Kanten bevorzugt horizontal/vertikal zeichnen?

Tabellen und Grafiken erstellen und anordnen


juk789
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: So 8. Mai 2011, 17:16

[Tikz] Kanten bevorzugt horizontal/vertikal zeichnen?

Beitrag von juk789 »

Hallo,
gibt es bei Tikz eine Möglichkeit, Kanten bevorzugt horizontal bzw. vertikal zu zeichnen?
Ich habe die Situation, dass ich einen breiten Kasten habe und zwei schmälere darunter. Wenn ich jetzt eine Kante zwischen schmal und breit zeichne, setzt diese automatisch jeweils in der Mitte der beiden Kästen an. Ich fände es aber schöner, wenn die Kante vertikal vom schmalen Kasten nach oben verlaufen würde. Ich kann natürlich manuell den Ansatzpunkt beim breiten Kasten ausprobieren aber das ist sicher keine saubere Lösung.
Gibt es da irgendeine Option, mit der ich das automatisch erreichen kann?
\begin{tikzpicture}[]
\node (a) [minimum width=1cm] {A};
\node (b) [minimum width=1cm, right =of a] {B};
\node (c) [minimum width=6cm, above =2cm of b] {C};
\draw [<-] (a) to (c);
\draw [<-] (b) to (c);
\end{tikzpicture}
Danke!

Edit: Und noch eine kleine Zeichnung die verdeutlicht, was ich will :lol:
Dateianhänge
Unbenannt.jpg
Unbenannt.jpg (37.29 KiB) 1922 mal betrachtet
Zuletzt geändert von juk789 am Sa 21. Mai 2011, 16:00, insgesamt 1-mal geändert.

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Die rechteckigen Nodes haben doch Anker, z. B. (a.north) oder (a.south east), an denen kanst du ansetzten und mit |- oder -| statt -- kannst du Ecken zeichenen.
Siehe auch Abschnitt 16.5 „Positioning Nodes“ im Handbuch.

juk789
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: So 8. Mai 2011, 17:16

Beitrag von juk789 »

Ja, das wäre eine Möglichkeit, parallele Linien zu bekommen, würde aber aufgrund der dann "indirekten" Kantenführung noch seltsamer aussehen als bisher, finde ich. :wink:

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Ja, ich hab glaube ich auch erst nach dem Antworten verstanden, was du willst :)

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hallo,

du kannst die Koordinate mit (a|-c.south) angeben. Das ist der Punkt, wo sich die Parallele zur y-Achse durch (a) und die Parallele zur x-Achse durch (c.south) schneiden.
\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}

\begin{tikzpicture}[every node/.style=draw]
  \node (c) [minimum width=6cm] {C}; 
  \node (a) [minimum width=2cm, below =of c.south west,anchor=north west] {A};
  \node (b) [minimum width=2cm, below =of c.south east,anchor=north east] {B};
  \draw [->] (a)--(a|-c.south); 
  \draw [->] (b)--(b|-c.south); 
\end{tikzpicture} 
\end{document}
In dem Beispiel habe ich zusätzlich die Noden a und b an den Rändern von c ausgrichtet.

Gruß
Elke

juk789
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: So 8. Mai 2011, 17:16

Beitrag von juk789 »

Genau das, was ich gesucht habe! Da hab ich wohl an der falschen Stelle geschaut.

Antworten