Edge 2 Nodes verbinden: Position bei einem angeben, dann gerade Linie zeichnen?
Hallo alle zusammen,
ich habe unten angehängten Code. Ich habe die Matrix OU und S. Beide möchte ich verbinden. Standardmäßig ist das ja jeweils OU.west und S.east.
Allerdings würde ich beide gerne wesentlich tiefer verbinden, so dass noch genug Platz für eine weitere, beschriftete Transition besteht.
Ich habe es bereits mit (S.337) und (OU.200) versucht, allerdings ist die Linie etwas schief und ich schaffe es nicht, eine gerade Linie zu zeichnen.
Gibt es z.B. eine Linie im rechten Winkel zu einem der Matrizen zu zeichnen, so dass ich nur auf einer der beiden Seiten einen Wert angeben muss?
Vielen Dank schonmal :-)
\documentclass[margin=5mm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning}
\tikzset{
tab/.style={inner sep=0pt,
nodes={inner sep=.333em,
% notwendig für leere Zellen und Unterlängen:
minimum height={\baselineskip+0.666em}
}
},
vtab/.style={matrix of nodes,tab,
row sep=-\pgflinewidth,column sep=-\pgflinewidth,
nodes in empty cells,% leere Zellen werden ebenfalls gezeichnet
row 1/.style={nodes={align=center}},
nodes={draw,align=left,text width=#1}
},
vtab/.default=3cm,% voreingestellte Breite
htab/.style={matrix of nodes,draw,tab,anchor=north west},
every edge/.append style={font=\footnotesize\strut,inner ysep=.1em},
pfeil/.style={out=270,in=90,->}
}
\begin{document}
\resizebox{\textwidth}{!}{%
\begin{itshape}
\begin{tikzpicture}[thick,
% vertikaler und horizontaler Abstand zwischen den Tabellen:
node distance=1cm and 3.5cm, % row 1/.style={},
]
%Tabelle
\matrix(S)[right= of R,vtab]{Stelle\\{Nummer<<pk>>}\\\\};
\matrix(S)[vtab]{Stelle\\{Nummer<<pk>>}\\\\};
\matrix(OU)[right= of S,vtab=3.5cm]{Organisationseinheit\\{Nummer<<pk>>\newline Name\newline Art}\\\\};
\path(S)edge
node[pos=0,above right]{zugeordnet}node[pos=0,below right]{N}
node[pos=1,above left]{beinhaltet}node[pos=1,below left]{1}
(OU);
\end{tikzpicture}
\end{itshape}
}
\end{document}