von hereiam » Do 24. Nov 2011, 13:23
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.
- Dateianhänge
-
- ansicht.png (5.34 KiB) 1048 mal betrachtet
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?
[code]
\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}
[/code]
Es soll so sein, dass das diamond am beginn des pfeils direkt anliegt und nicht nach oben abdriftet.
Im Anhang noch die bisherige Darstellung.