1

I'm using the tikz-uml package and attempting to create a use case diagram, where I have a system in another system, like so:

\documentclass[a4paper]{report}


\usepackage{tikz}
\usepackage{ifthen}
\usepackage{xstring}
\usepackage{calc}
\usepackage{pgfkeys}
\usepackage{pgfopts}
\usepackage{tikz-uml}

\begin{document}

\begin{figure}[H]
    \centering
    \begin{tikzpicture}

    \begin{umlsystem} [x=0, y=0] {System 1}
        \begin{umlsystem} [x=0.1, y=-1] {System 2}

        \end{umlsystem} 
    \end{umlsystem}

    \end{tikzpicture}
\end{figure}
\end{document}

The output ends up like this:
Actual outout

This is how i would like to have it look: Prefered output

Is there a way to do that?

  • Welcome to TeX.SE! Please show us what you have attempted so far and add a minimal working example (MWE), starting with \documentclass{...} and ending with \end{document} (including only relevant packages). So that the people here don't need to start from scratch. – Troy Mar 1 '17 at 10:49
0

Place the second system after the first one, and inside the first one add

\tikzset{every node/.append style={inner xsep=12ex,inner ysep=3em}}

Basically a system without any \umlusecase is just an empty node with the settings inner xsep=10ex, inner ysep=1em. The tikzset line overrides that setting, making the node a little bit bigger. You can then place the second system, which will have the default size, on top.

output of code

\documentclass[a4paper]{report}
\usepackage{tikz-uml}
\begin{document}
    \begin{tikzpicture}
    \begin{umlsystem}{System 1}
    \tikzset{every node/.append style={inner xsep=12ex,inner ysep=3em}}
    \end{umlsystem}
    \begin{umlsystem}[y=0.2]{System 2}
    \end{umlsystem} 
    \end{tikzpicture}
\end{document}
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.