Hallo alle zusammen,

ich würde gerne folgende Matrix per Node auf sich selbst zeigen lassen:

Open in writeLaTeX
\matrix(OU)[right= of S,vtab=3.5cm]{Organisationseinheit\\{Nummer<<pk>>\newline Name\newline Art}\\\\};

Der Kontext wäre:

Open in writeLaTeX
    \matrix(S)[right= of M,vtab]{Stelle\\{Nummer<<pk>>}\\\\};
    \matrix(OU)[right= of S,vtab=3.5cm]{Organisationseinheit\\{Nummer<<pk>>\newline Name\newline Art}\\\\};
 \path(S)edge
      node[pos=0,above right]{zugeordnet}node[pos=0,below right]{N}
      node[pos=1,above left]{beinhaltet}node[pos=1,below left]{1}
      (OU);

Ich würde gerne es so gestalten, dass es so aussieht: Stelle-OU

Zwar könnte ich da vielleicht auch drei Striche Zeichnen, doch wäre das dann mit Beschriftung usw. nicht so gut. Ich nehme mal an, dass ich da irgendwie einen Start- und Endpunkt angeben muss. Wie kann ich diesen Node um die drei Ecken zeichnen und dann auch noch richtig beschriften? Und geht das auch noch dynamischer als Start- und Endpunkt festzulegen? Vielleicht erkennt er ja irgendwie selbst, dass er auf sich referenzieren muss mit entsprechendem Bogen :-)

Danke schonmal!

Dieser Frage ist "Community Wiki" markiert.

gefragt 24 Mär '14, 20:01

tt33tt's gravatar image

tt33tt
256131925
Akzeptiert-Rate: 100%

bearbeitet 24 Mär '14, 20:02

cgnieder's gravatar image

cgnieder
22.1k243463


Mit -| eckige Verbindungen, ++ als relative Koordinate, nodes near end und near start als Beschriftungen:

Open in writeLaTeX
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[
    every node/.style={font=\sffamily},
    label/.style={font=\sffamily\scriptsize}    
  ]
  \node (OU) [rectangle, draw]           {OU};
  \draw (OU.east) -| ++(2ex,4ex)
    node [label, above=-1pt, near start] {B}
    node [label, below=-1pt, near start] {1}
    -| (OU)
    node [label, left=-1pt,  near end]   {A}
    node [label, right=-1pt, near end]   {N};
\end{tikzpicture}
\end{document}

Knoten mit Schleife

Permanenter link

beantwortet 24 Mär '14, 20:55

stefan's gravatar image

stefan ♦♦
18.1k143048
Akzeptiert-Rate: 48%

bearbeitet 24 Mär '14, 21:52

Vielen Dank für disen Durchbruch :-) Ich habe gerade gesehen, dass ich label weglassen kann. Welche Funktion hat das? Könnte ich auch mit pos, above right etc. arbeiten, so wie oben?

(24 Mär '14, 23:54) tt33tt

@tt33tt Ja, kannst Du - zwei verschiedene Wege mit gleichem Ziel - entweder relativ zum Node positionieren oder zum Kantenende hin. label war nur ein Stil für kleinere Schriftart. Ich setze gern in einen Stil, was mehrere Sachen gemeinsam haben, so wie Makros zu verwenden.

(25 Mär '14, 01:16) stefan ♦♦

Ein Bogen von einem Knoten zu sich selbst, ließe sich mit loop zeichnen. Allerdings ist für deine Anwendung der Vorschlag von @Stefan vermutlich sinnvoller.

Open in writeLaTeX
\documentclass[margin=5mm,tikz]{standalone}
\begin{document}
\begin{tikzpicture}[thick]
%Knoten
\node(M)[draw]{Knoten};
%Verbindungen
\path(M)edge[out=0,in=90,loop]% loop muss nach out und in stehen
  node[at start,above right]{B}
  node[at start,below right]{1}
  node[at end,above left]{A}
  node[at end,above right]{N}
  ();
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 25 Mär '14, 02:38

esdd's gravatar image

esdd
17.7k254256
Akzeptiert-Rate: 62%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×728
×76
×58

gestellte Frage: 24 Mär '14, 20:01

Frage wurde gesehen: 10,104 Mal

zuletzt geändert: 25 Mär '14, 02:38