von Vertigo » Do 23. Aug 2018, 11:35
Folgendes Problem: Ich möchte ein Sequenzdiagramm und ein UML-Diagramm im gleichen Dokument erstellen. Einzeln geht das auch:
\documentclass[]{scrreprt}
\usepackage[ngerman, english]{babel}
\usepackage{tikz}
\usepackage{verbatim}
\usetikzlibrary{positioning,shapes,shadows,arrows}
\usepackage{tikz-uml}
\let\umlnoteold\umlnote
\let\umlnote\relax
%\usepackage[simplified]{pgf-umlcd}
\begin{document}
\begin{figure}[h]
\centering
\resizebox{1\textwidth}{!}{%
\begin{tikzpicture}
%\pgfsetlayers{connections,activity,lifelines}
\tikzumlset{fill object = white, fill call = gray!20}
\begin{umlseqdiag}
\umlactor{a}
\umlobject[x=4]{b}
\umlobject[x=13]{c}
\begin{umlcall}[op=blah, type=synchron, return=halb]{a}{b}
\begin{umlcallself}[op=lögfkhjölgkjh]{b}
\end{umlcallself}
\begin{umlcallself}[op=sieorjögdfljglö]{b}
\end{umlcallself}
\begin{umlcallself}[op=pffffff]{b}
\end{umlcallself}
\begin{umlcall}[op=signalize witching]{b}{c}
\end{umlcall}
\begin{umlcall}[op=send fartValue, type=synchron, return=backnforth]{b}{c}
\begin{umlcallself}[padding=1.5, op=search th ligth]{c}
\end{umlcallself}
\end{umlcall}
\end{umlcall}
\umlsdnode[dt=5]{a}
\umlsdnode[dt=5.5]{b}
\umlsdnode[dt=7]{c}
\end{umlseqdiag}
\end{tikzpicture}}
\caption{blaaaaah}
\label{fig:SDG}
\end{figure}
%
%\begin{figure}[h]
%\centering
%\resizebox{1\textwidth}{!}{%
%\begin{tikzpicture}
%
% \begin{class}[text width =14 cm]{Meeeh}{0,0}
%\attribute{\# m\_actualinpuss:int}
%\attribute{\# m\_bufferFlood:buul}
%%%%%%
%\operation{+ deleteSuffers():void}
%\operation{+ Togglewitch(int, FatServer*, unint32\_t)}
%\end{class}
% \begin{class}[text width =10 cm]{Slave}{-6,-14}
%\inherit{Meeeh}
%\attribute{- m\_...: ... int}
%%%%%%
%\operation{+ ....(int, ...)}
%\end{class}
% \begin{class}[text width =10 cm]{Master}{6,-14}
%\inherit{Slave}
%\attribute{- m\_...: ... int}
%%%%%%
%\operation{+ ....(int, ...)}
%\end{class}
% \begin{class}[text width =15 cm]{blabber}{-8,-18}
%\inherit{Slave}
%\attribute{- m\_bufferHamburger: unsigned int}
%\attribute{- m\_emptySlotCount:int}
%%%%%%
%\operation{+ nghjkldrt*)}
%\operation{+ \~{}ggllblabber()}
%\
%\end{class}
% \begin{class}[text width =15 cm]{blubber}{8,-18}
%\inherit{Master}
%\attribute{- m\_blub:bool}
%\attribute{- m\_blahblah*}
%%%%%%
%\operation{+ getBlah():shared\_ptr$<$ShmSlotBlahBuffer$>$}
%\operation{+ blah():void}
%\end{class}
%
%\end{tikzpicture}}
%\caption{blah}
%\label{fig:KDG}
%\end{figure}
\end{document}
Allerdings wenn ich beide benutze werden die
uml-objects nicht mehr angezeigt/verarbeitet.:
\documentclass[]{scrreprt}
\usepackage[ngerman, english]{babel}
\usepackage{tikz}
\usepackage{verbatim}
\usetikzlibrary{positioning,shapes,shadows,arrows}
\usepackage{tikz-uml}
\let\umlnoteold\umlnote
\let\umlnote\relax
\usepackage[simplified]{pgf-umlcd}
\begin{document}
\begin{figure}[h]
\centering
\resizebox{1\textwidth}{!}{%
\begin{tikzpicture}
\pgfsetlayers{connections,activity,lifelines}
\tikzumlset{fill object = white, fill call = gray!20}
\begin{umlseqdiag}
\umlactor{a}
\umlobject[x=4]{b}
\umlobject[x=13]{c}
\begin{umlcall}[op=blah, type=synchron, return=halb]{a}{b}
\begin{umlcallself}[op=lögfkhjölgkjh]{b}
\end{umlcallself}
\begin{umlcallself}[op=sieorjögdfljglö]{b}
\end{umlcallself}
\begin{umlcallself}[op=pffffff]{b}
\end{umlcallself}
\begin{umlcall}[op=signalize witching]{b}{c}
\end{umlcall}
\begin{umlcall}[op=send fartValue, type=synchron, return=backnforth]{b}{c}
\begin{umlcallself}[padding=1.5, op=search th ligth]{c}
\end{umlcallself}
\end{umlcall}
\end{umlcall}
\umlsdnode[dt=5]{a}
\umlsdnode[dt=5.5]{b}
\umlsdnode[dt=7]{c}
\end{umlseqdiag}
\end{tikzpicture}}
\caption{blaaaaah}
\label{fig:SDG}
\end{figure}
\begin{figure}[h]
\centering
\resizebox{1\textwidth}{!}{%
\begin{tikzpicture}
\begin{class}[text width =14 cm]{Meeeh}{0,0}
\attribute{\# m\_actualinpuss:int}
\attribute{\# m\_bufferFlood:buul}
%%%%%
\operation{+ deleteSuffers():void}
\operation{+ Togglewitch(int, FatServer*, unint32\_t)}
\end{class}
\begin{class}[text width =10 cm]{Slave}{-6,-14}
\inherit{Meeeh}
\attribute{- m\_...: ... int}
%%%%%
\operation{+ ....(int, ...)}
\end{class}
\begin{class}[text width =10 cm]{Master}{6,-14}
\inherit{Slave}
\attribute{- m\_...: ... int}
%%%%%
\operation{+ ....(int, ...)}
\end{class}
\begin{class}[text width =15 cm]{blabber}{-8,-18}
\inherit{Slave}
\attribute{- m\_bufferHamburger: unsigned int}
\attribute{- m\_emptySlotCount:int}
%%%%%
\operation{+ nghjkldrt*)}
\operation{+ \~{}ggllblabber()}
\
\end{class}
\begin{class}[text width =15 cm]{blubber}{8,-18}
\inherit{Master}
\attribute{- m\_blub:bool}
\attribute{- m\_blahblah*}
%%%%%
\operation{+ getBlah():shared\_ptr$<$ShmSlotBlahBuffer$>$}
\operation{+ blah():void}
\end{class}
\end{tikzpicture}}
\caption{blah}
\label{fig:KDG}
\end{figure}
\end{document}
Folgendes Problem: Ich möchte ein Sequenzdiagramm und ein UML-Diagramm im gleichen Dokument erstellen. Einzeln geht das auch:
[code]\documentclass[]{scrreprt}
\usepackage[ngerman, english]{babel}
\usepackage{tikz}
\usepackage{verbatim}
\usetikzlibrary{positioning,shapes,shadows,arrows}
\usepackage{tikz-uml}
\let\umlnoteold\umlnote
\let\umlnote\relax
%\usepackage[simplified]{pgf-umlcd}
\begin{document}
\begin{figure}[h]
\centering
\resizebox{1\textwidth}{!}{%
\begin{tikzpicture}
%\pgfsetlayers{connections,activity,lifelines}
\tikzumlset{fill object = white, fill call = gray!20}
\begin{umlseqdiag}
\umlactor{a}
\umlobject[x=4]{b}
\umlobject[x=13]{c}
\begin{umlcall}[op=blah, type=synchron, return=halb]{a}{b}
\begin{umlcallself}[op=lögfkhjölgkjh]{b}
\end{umlcallself}
\begin{umlcallself}[op=sieorjögdfljglö]{b}
\end{umlcallself}
\begin{umlcallself}[op=pffffff]{b}
\end{umlcallself}
\begin{umlcall}[op=signalize witching]{b}{c}
\end{umlcall}
\begin{umlcall}[op=send fartValue, type=synchron, return=backnforth]{b}{c}
\begin{umlcallself}[padding=1.5, op=search th ligth]{c}
\end{umlcallself}
\end{umlcall}
\end{umlcall}
\umlsdnode[dt=5]{a}
\umlsdnode[dt=5.5]{b}
\umlsdnode[dt=7]{c}
\end{umlseqdiag}
\end{tikzpicture}}
\caption{blaaaaah}
\label{fig:SDG}
\end{figure}
%
%\begin{figure}[h]
%\centering
%\resizebox{1\textwidth}{!}{%
%\begin{tikzpicture}
%
% \begin{class}[text width =14 cm]{Meeeh}{0,0}
%\attribute{\# m\_actualinpuss:int}
%\attribute{\# m\_bufferFlood:buul}
%%%%%%
%\operation{+ deleteSuffers():void}
%\operation{+ Togglewitch(int, FatServer*, unint32\_t)}
%\end{class}
% \begin{class}[text width =10 cm]{Slave}{-6,-14}
%\inherit{Meeeh}
%\attribute{- m\_...: ... int}
%%%%%%
%\operation{+ ....(int, ...)}
%\end{class}
% \begin{class}[text width =10 cm]{Master}{6,-14}
%\inherit{Slave}
%\attribute{- m\_...: ... int}
%%%%%%
%\operation{+ ....(int, ...)}
%\end{class}
% \begin{class}[text width =15 cm]{blabber}{-8,-18}
%\inherit{Slave}
%\attribute{- m\_bufferHamburger: unsigned int}
%\attribute{- m\_emptySlotCount:int}
%%%%%%
%\operation{+ nghjkldrt*)}
%\operation{+ \~{}ggllblabber()}
%\
%\end{class}
% \begin{class}[text width =15 cm]{blubber}{8,-18}
%\inherit{Master}
%\attribute{- m\_blub:bool}
%\attribute{- m\_blahblah*}
%%%%%%
%\operation{+ getBlah():shared\_ptr$<$ShmSlotBlahBuffer$>$}
%\operation{+ blah():void}
%\end{class}
%
%\end{tikzpicture}}
%\caption{blah}
%\label{fig:KDG}
%\end{figure}
\end{document}[/code]
Allerdings wenn ich beide benutze werden die [b]uml-objects[/b] nicht mehr angezeigt/verarbeitet.:
[code]\documentclass[]{scrreprt}
\usepackage[ngerman, english]{babel}
\usepackage{tikz}
\usepackage{verbatim}
\usetikzlibrary{positioning,shapes,shadows,arrows}
\usepackage{tikz-uml}
\let\umlnoteold\umlnote
\let\umlnote\relax
\usepackage[simplified]{pgf-umlcd}
\begin{document}
\begin{figure}[h]
\centering
\resizebox{1\textwidth}{!}{%
\begin{tikzpicture}
\pgfsetlayers{connections,activity,lifelines}
\tikzumlset{fill object = white, fill call = gray!20}
\begin{umlseqdiag}
\umlactor{a}
\umlobject[x=4]{b}
\umlobject[x=13]{c}
\begin{umlcall}[op=blah, type=synchron, return=halb]{a}{b}
\begin{umlcallself}[op=lögfkhjölgkjh]{b}
\end{umlcallself}
\begin{umlcallself}[op=sieorjögdfljglö]{b}
\end{umlcallself}
\begin{umlcallself}[op=pffffff]{b}
\end{umlcallself}
\begin{umlcall}[op=signalize witching]{b}{c}
\end{umlcall}
\begin{umlcall}[op=send fartValue, type=synchron, return=backnforth]{b}{c}
\begin{umlcallself}[padding=1.5, op=search th ligth]{c}
\end{umlcallself}
\end{umlcall}
\end{umlcall}
\umlsdnode[dt=5]{a}
\umlsdnode[dt=5.5]{b}
\umlsdnode[dt=7]{c}
\end{umlseqdiag}
\end{tikzpicture}}
\caption{blaaaaah}
\label{fig:SDG}
\end{figure}
\begin{figure}[h]
\centering
\resizebox{1\textwidth}{!}{%
\begin{tikzpicture}
\begin{class}[text width =14 cm]{Meeeh}{0,0}
\attribute{\# m\_actualinpuss:int}
\attribute{\# m\_bufferFlood:buul}
%%%%%
\operation{+ deleteSuffers():void}
\operation{+ Togglewitch(int, FatServer*, unint32\_t)}
\end{class}
\begin{class}[text width =10 cm]{Slave}{-6,-14}
\inherit{Meeeh}
\attribute{- m\_...: ... int}
%%%%%
\operation{+ ....(int, ...)}
\end{class}
\begin{class}[text width =10 cm]{Master}{6,-14}
\inherit{Slave}
\attribute{- m\_...: ... int}
%%%%%
\operation{+ ....(int, ...)}
\end{class}
\begin{class}[text width =15 cm]{blabber}{-8,-18}
\inherit{Slave}
\attribute{- m\_bufferHamburger: unsigned int}
\attribute{- m\_emptySlotCount:int}
%%%%%
\operation{+ nghjkldrt*)}
\operation{+ \~{}ggllblabber()}
\
\end{class}
\begin{class}[text width =15 cm]{blubber}{8,-18}
\inherit{Master}
\attribute{- m\_blub:bool}
\attribute{- m\_blahblah*}
%%%%%
\operation{+ getBlah():shared\_ptr$<$ShmSlotBlahBuffer$>$}
\operation{+ blah():void}
\end{class}
\end{tikzpicture}}
\caption{blah}
\label{fig:KDG}
\end{figure}
\end{document}[/code]