Tikz-uml 建立嵌套關係

Tikz-uml 建立嵌套關係

我在用tikz-uml,但似乎不存在UML嵌套關係。我不太擅長 tikz 你能幫我如何實現它嗎?你可以看到它應該是什麼樣子在標題“嵌套”的最後

例如,這是聚合的實作方式

\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

相關內容