Я используютикз-умл, но, кажется, нет вложенности 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