Seite 1 von 1

Diamond nicht richtig positioniert

Verfasst: Do 24. Nov 2011, 13:23
von hereiam
Hallo,

ich versuche die ganze Zeit schon den pfeil richtig den beiden Knoten zuzuordnen, allerdings ohne erfolg.

Was muss ich denn ändern damit das funktioniert?
\begin{center}
\begin{tikzpicture}   

\tikzstyle{uml_interface}=[font=\scriptsize, rectangle, draw=black, anchor=north, text=black] 
\tikzstyle{uml_class}=[font=\scriptsize, rectangle, draw=black, anchor=north, text=black] 
\tikzstyle{uml_interface_arrow}=[<-, >=open triangle 90, dashed] 
\tikzstyle{uml_aggregation_arrow}=[->, >=open diamond, thin] 
\tikzstyle{uml_composition_arrow}=[->, >=diamond, thin] 
\tikzstyle{uml_relation_arrow}=[->, >=angle 60, thin] 


\node (A) [uml_class, rectangle split, rectangle split parts=1, text width=3.5cm]         
{    
\centerline{<<enum>>} 
\centerline{ \textbf{ A } }
};

\node (B) [uml_class, rectangle split, rectangle split parts=1, below=2cm of A, text width=3.5cm]         
{             
\centerline{ \textbf{B} }

};


\node (C) [uml_class, rectangle split, rectangle split parts=1, right=1cm of B, text width=3.5cm]         
{             
\centerline{ \textbf{C} }    
\nodepart{second} H : char*
\newline byte\_count : ssize\_t
\newline last\_column : int

};


\node (D) [uml_class, rectangle split, rectangle split parts=1, below=2cm of B, text width=3.5cm]         
{             
\centerline{ \textbf{D} }  

};


\node (H) [uml_class, rectangle split, rectangle split parts=1, left=2cm of B, text width=3.5cm]         
{             
\centerline{ \textbf{H} }  

};

\draw[uml_relation_arrow] (B.north) ++(0,0) -| (A.south);

\draw[uml_aggregation_arrow] (H.east) ++(0,0) -| (B.west);

\draw[uml_aggregation_arrow] (D.north) ++(0,0) -| (B.south);

\draw[uml_aggregation_arrow] (C.west) ++(0,0.05) -| (B.east);

\end{tikzpicture}
\end{center}

Es soll so sein, dass das diamond am beginn des pfeils direkt anliegt und nicht nach oben abdriftet.

Im Anhang noch die bisherige Darstellung.