我在用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