1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
%%
%% Ein Beispiel der DANTE-Edition
%%
%%
%% Copyright (C) 2010 Herbert Voss
%%
%% It may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%%
%% See http://www.latex-project.org/lppl.txt for details.
%%
%%
%% ====
% Show page(s) 1
%%
\documentclass[]{exaarticle}
\pagestyle{empty}
\setlength\textwidth{352.81416pt}
\setlength\parindent{0pt}
\StartShownPreambleCommands
\usepackage{uml}
\StopShownPreambleCommands
\begin{document}
\umlSchema[box=]{Stack}{ %Attributes
\umlAttribute[visibility=-,type=\emph{type},default=null,]{firstNode}
}{% Methods
\umlMethod[visibility]{push}{\emph{type} x}
\umlMethod[visibility,type=\emph{type}]{pop}{}
}{% Arguments
\umlArgument[type=Metaclass]{type}
}{% Constraints
\umlCompartmentline{S:Stack = S.push(x).pop()}
}{% Structure
\umlDiagram[innerBorder=2mm,sizeX=11em,sizeY=5em,ref=StackDiagram,
outerBorder=2mm]{%
\umlClass[pos={.5,.5}, ref=stackNode]{Node}{
\umlAttribute[visibility=\#,type=\emph{type}]{data}}{}
\umlRelation[angleA=20,angleB=-20,armA=1em,armB=1em]{stackNode}{stackNode}{%
\umlLabelA[height=-1ex,fraction=1.5]{stackNode}{1}
\umlLabelB[height=-5ex,fraction=1.5]{stackNode}{1}}
}% End of diagram
}% End of Structure/Stack
\end{document}
|