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, 15:01

tt33tt's gravatar image

tt33tt
24131322
Akzeptiert: 64%

bearbeitet 24 Mär '14, 15:02

Clemens's gravatar image

Clemens
19.0k113060


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, 15:55

stefan's gravatar image

stefan ♦♦
5.8k12234

bearbeitet 24 Mär '14, 16: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, 18: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.

(24 Mär '14, 20: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 24 Mär '14, 21:38

esdd's gravatar image

esdd
14.2k53251

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×51
×27

Frage gestellt: 24 Mär '14, 15:01

Frage wurde angeschaut: 2,713 Mal

Zuletzt aktualisiert: 24 Mär '14, 21:38