3

enter image description here Could someone please help me to convert this Graphic into TikZ? I am sorry for that stupid questiok but I am a total beginner with TikZ. Thanks for your help!

Sorry, all I've achieved so far is this:

\begin{tikzpicture}
\draw  (0,0) circle (1cm);
\draw (b) (0,3) ellipse (1cm and 0.5cm);
\draw (0,-3) ellipse (1cm and 0.5cm);
\draw (3,0) ellipse (1cm and 0.5cm);
\draw (-3,0) ellipse (1cm and 0.5cm);
\draw (-3,1) ellipse (1cm and 0.5cm);
\draw (-3,-1) ellipse (1cm and 0.5cm);
\end{tikzpicture}

As you can see, I'm pretty mentally overstrained with TikZ. I searched for direct graphs but couldn't find a good example to show me how it works. I can't get text into the shapes and no matching arrows. This is the result:

enter image description here

Sorry for the miserable try.

1

To add text to diagram you use node {..}. Note that there are a lot of different node shapes available (most require to load a library), including an ellipse shape, from the shapes.geometric library. You can place a node at a specific location with \node at (x,y) {...};, or you can load the positioning library and place one node relative to another, e.g. \node [right=of foo] {...};. This requires having a node with the name foo. To name a node, you either use \node [name=foo] {...}; or \node (foo) {...};.

Having named a node, you can also use the name as a coordinate, which makes drawing lines/arrows to a node easier, as you can do \draw [->] (foo) -- (bar); to draw an arrow from the foo node to the bar node. You don't want the arrows to reach the node border though, so you could use shorten >/shorten < to make the arrows shorter at either end.

I didn't finish the diagram, but you'll probably be able to do the rest. Note I manually added line breaks with \\ inside the nodes where needed. The code has some explanatory comments.

That said, I really recommend you to go through the tutorials chapter 2-6 (I think) of the TikZ manual. That will teach you a lot.

enter image description here

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{
  shapes.geometric, % for ellipse node
  positioning, % for placing nodes relative to another
  arrows.meta % for extra arrow tips
}
\begin{document}
\begin{tikzpicture}[
   node distance=2cm,% default distance when using e.g. left=of
   % make a couple of styles, to avoid having to repeat things so much
   outernodes/.style={
     ellipse, % shape
     align=center, % allows for manual line breaks with \\
     draw % draw outline
   },
   myarrow/.style={
      line width=2mm,
      -{Triangle[length=4mm, width=5mm]}, % add the Triangle arrow tip with custom width/height at end of line
      shorten >=3mm, % shorten end of line by 3mm
      shorten <=3mm, % shorten start of line by 3mm
   }
]

% start with center node
\node [circle, % shape
       fill=black, %background color 
       text=white, % text color
       align=center, % allow for line breaks
       font=\bfseries,  %font style
       name=center
      ] {psycho-\\logischer\\vertrag};

% then add the surrounding nodes
% note I can write outernodes in the style options, instead of repeating "ellipse, align=center, draw" in all of them
\node [right=of center, name=right, outernodes] {Transaktions-\\kostenüber-\\legungen};
\node [above=of center, name=top, outernodes] {foo};
\node [left=of center, name=left, outernodes] {bar};
\node [below=of center, name=bottom, outernodes] {baz};

\node [below=0 of left, outernodes, name=l2] {bar2};
\node [below=0 of l2, outernodes, name=l3] {bar3};

% add title node
\node [above=5mm of top, font=\LARGE\bfseries] {some title};

% draw arrows
\draw [myarrow] (top) -- (center);
\draw [myarrow] (bottom) -- (l3);


% make frame
\draw [rounded corners=15pt, % the 15pt sets the radius (or something) of the rounded corners
       dotted, % line style
       ultra thick % line width
      ]
      % - all tikzpictures have a special node called "current bounding box"
      %   which fits around the content of the diagram
      % - nodename.<something> is used to access an anchor, i.e. a point along the border of a node
      % - to get a coordinate relative to a node anchor, one can use e.g.
      %     ([shift={(5pt,5pt)}]nodename.north)
      %   which is the point 5pt right and 5pt above the north anchor of the node
      ([shift={(-5pt,-5pt)}]current bounding box.south west)
      rectangle % draw a rectangle from the previous to the next coordinate
      ([shift={(5pt,5pt)}]current bounding box.north east);
\end{tikzpicture}
\end{document}  
1

Thank you a lot Torbjørn T. for your work. It helped me a lot to reach my goal. I understood well what you did and I promise to read the introduction of Tikz. This is my result:

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{
  shapes.geometric, % for ellipse node
  positioning, % for placing nodes relative to another
  arrows.meta % for extra arrow tips
}
\begin{document}
 \begin{tikzpicture}[
   node distance=1.5cm, % default distance when using e.g. left=of
   % make a couple of styles, to avoid having to repeat things so much
   outernodes/.style={
     ellipse,
     align=center,
     draw
   },
   myarrow/.style={
      line width=2mm,
      -{Triangle[length=4mm, width=5mm]}, % add the Triangle arrow tip with custom width/height at end of line
      shorten >=1.5mm, % shorten end of line by 3mm
      shorten <=5mm, % shorten start of line by 3mm
   }
]
\node [circle, % shape
       fill=black, %background color 
       text=white, % text color
       align=center, % allow for line breaks
       font=\bfseries,  %font style
       name=center
      ] {Psycho-\\logischer\\Vertrag};

\node [right=of center,name=right, font=\scriptsize, outernodes] {Transaktions-\\kostenüberle-\\gungen};
\node [above=of center, name=top,font=\scriptsize, outernodes] {Stresserfahrungen in\\ der Restrukturierung};
\node [left=of center, name=left,font=\scriptsize, outernodes] {Reziprozitäts-\\verletzung};
\node [below=of center, name=bottom,font=\scriptsize, outernodes] {Transformamtionsproble};

\node [above=0 of left, outernodes,font=\scriptsize, name=l2] {Arbeits-\\emotionen};
\node [below=0 of left, outernodes,font=\scriptsize, name=l3] {Gerechtigkeits-\\normen};

\node [above=5mm of top, font=\bfseries] {Betriebliche Interaktionskultur};

\draw [myarrow] (top) -- (center);
\draw [myarrow] (top) -- (right);
\draw [myarrow,shorten >=5mm,
      shorten <=1.5mm,] (center) -- (bottom);
\draw [myarrow] (bottom) -- (l3);
\draw [myarrow] (bottom) -- (right);
\draw [myarrow] (top) -- (l2);
\draw [myarrow] (left) -- (center);
\draw [myarrow] (right) -- (center);

\draw [rounded corners=15pt, % the 15pt sets the radius (or something) of the rounded corners
       dotted, % line style
       ultra thick % line width
      ]
      % - all tikzpictures have a special node called "current bounding box"
      %   which fits around the content of the diagram
      % - nodename.<something> is used to access an anchor, i.e. a point along the border of a node
      % - to get a coordinate relative to a node anchor, one can use e.g.
      %     ([shift={(5pt,5pt)}]nodename.north)
      %   which is the point 5pt right and 5pt above the north anchor of the node
      ([shift={(-5pt,-5pt)}]current bounding box.south west)
      rectangle % draw a rectangle from the previous to the next coordinate
      ([shift={(5pt,5pt)}]current bounding box.north east);
\end{tikzpicture}
\end{document}

enter image description here

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.