Tikz-uml ネスト関係を作成する

Tikz-uml ネスト関係を作成する

使っていますtikz-umlしかし、UMLのネスト関係がないようです。私はtikzにあまり詳しくないので、どのように実装すればよいか教えてください。どのように見えるか見ることができます。最後に「Nestings」というタイトルで

たとえば、集計の実装方法は次のとおりです。

\tikzstyle{tikzuml aggregation style}=[color=\tikzumldrawcolor, open diamond-]%
\newcommand{\umlaggreg}[3][]{\umlrelation[style={tikzuml aggregation style}, #1]{#2}{#3}}%

答え1

私も同じ問題を抱えていましたtikz-uml、次のアプローチを採用しました。tikzsetオプションは、この答え

\tikzset{cross/.style={cross out, draw=black,
         minimum size=2*(#1-\pgflinewidth), inner sep=0pt, outer sep=0pt},
         %default radius will be 1pt. 
         cross/.default={1pt}}

\begin{tikzpicture}    
  \begin{umlpackage}{Package}
    \umlclass{Class}
    {
    }
    {
      + <<Creator>> Class()
    }        

    \umlclass[y=-3]{InnerClass}
    {
    }
    {
      + <<Creator>> InnerClass()
    }

    \node[circle, scale=0.5, minimum size =2pt,
          draw] (Nested) at (0, -0.7) {};
    \draw (0, -0.7) node[cross=2pt,rotate=45]{};
    \draw (InnerClass.north) -- (Nested.south);
  \end{umlpackage}
\end{tikzpicture}  

これにより、次の図が作成されます。

ネストされたクラス

答え2

近々tikz-umlの新しいリリースを作成し、この新しい関係を追加します。\umlnesting

関連情報