Hallo alle zusammen,

ich habe angehängten Code erstellt. Dabei habe ich eine schräge Linie, die zwei Knoten verbindet. Auf der Linie habe ich Text geschrieben. Text soll auf der Linie links oben, rechts oben, links unten und rechts unten stehen. Leider schreibt der Text, wie auf dem Bild zu sehen von dem Ende bzw. der Mitte weg. Wie erreiche ich, dass der Text von Anfang/Ende zur Mitte hinschreibt?

Schonmal vielen Dank!

Open in writeLaTeX
\documentclass[margin=5mm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}

\begin{tikzpicture}[thick,node distance=1cm and 3.4cm,font=\itshape]
%Knoten
\node(M)[draw]{Mitarbeiter};
\node(S)[draw,right= of M]{Stelle};
\node(R)[draw,below= of M]{Rolle};
%Verbindungen
\path(S)edge
      node[above right, sloped]{zugeordnet}
      node[pos=1, below left, sloped]{N687zuihz9uhiko}
      node[above left, sloped]{zugeordnet}
      node[below right, sloped]{Nasdfqwersafd}
      (R);
\end{tikzpicture}
\end{document}
Dieser Frage ist "Community Wiki" markiert.

gefragt 24 Mär '14, 18:24

tt33tt's gravatar image

tt33tt
256131925
Akzeptiert-Rate: 100%

bearbeitet 25 Mär '14, 01:41

welle's gravatar image

welle
106222631


Ich habe gerade die Lösung gefunden, wenn ich auch nicht weiß, warum :-) Es wäre schön, wenn mir jemand erklärt, warum die links und rechts usw. vertauscht ist.

Open in writeLaTeX
\path(R)edge
  node[pos=0,above right, sloped]{zugeordnet}node[pos=0,below right, sloped]{N}
  node[pos=1,above left, sloped]{zugeordnet}node[pos=1,below left, sloped]{Nasdfqwersafd}
  (S);
Permanenter link
Dieser Antwort ist "Community Wiki" markiert.

beantwortet 24 Mär '14, 18:28

tt33tt's gravatar image

tt33tt
256131925
Akzeptiert-Rate: 100%

Wenn du mit pos auf bestimmte Stellen eines Pfades zugreifen möchtest, musst du die Richtung des Pfades beachten.

pos=0 entspricht immer dem Startpunkt eines Pfades und man kann dafür auch at start schreiben. Analog ist pos=1 bzw. at end das Ende des Pfades. Die Verbindung\path(R)edge(S); startet beim Knoten S und endet beim Knoten R. Mit

Open in writeLaTeX
node[pos=0,above left,red]{pos=0}

wird nun an der Stelle, an der der Pfad beim Knoten R beginnt, ein neuer Knoten mit dem roten Text "pos=0" eingefügt. Die Option above left sorgt dafür, dass beim Einfügen der south east Anker des neuen Knotens verwendet wird. Damit befindet sich dieser links oberhalb des Startpunktes des Pfades. Damit das besser zu erkennen ist, werden im folgenden Beispiel auch die Rahmen der Beschriftungsknoten gezeichnet.

Open in writeLaTeX
\documentclass[margin=5mm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}

\begin{tikzpicture}[thick,node distance=1cm and 3.4cm,font=\itshape,
  every node/.style=draw
]
%Knoten
\node(M){Mitarbeiter};
\node(S)[right= of M]{Stelle};
\node(R)[below= of M]{Rolle};
%Verbindungen
\path[->,sloped](S)edge
      node[pos=0,above left,red]{pos=0}
      node[pos=1,above right, blue]{pos=1}
      (R);
\end{tikzpicture}
\end{document}

alt text

Werden die beiden Knoten vertauscht, dann ändert sich die Richtung des Pfades. In dem Beispiel befindet sich pos=0 dann bei (R) und pos=1 bei (S).

Open in writeLaTeX
\path[->,sloped](R)edge
      node[pos=0,above left,red]{pos=0}
      node[pos=1,above right, blue]{pos=1}
      (S);

alt text

Fehlt bei einem edge Knoten die pos Angabe, dann wird die Mitte der Verbindung genommen, was pos=0.5 entspricht.

Open in writeLaTeX
\path[->,sloped](R)edge node[green]{\huge x}(S);

alt text

Permanenter link

beantwortet 25 Mär '14, 01:21

welle's gravatar image

welle
106222631
Akzeptiert-Rate: 0%

bearbeitet 25 Mär '14, 16:57

Habe ich das richtig verstanden, dass an der Stelle von z.B. pos=0 ein Node (inkl. Text) erstellt wird. Und der Text wird dann in Richtung above left geschrieben? Das heißt above left gibt hier sozusagen die Richtung an, in die der Text geht?
Ist es allgemein sinnvoll solche Nachfragen als Kommentar zu erstellen oder soll ich dafür eine neue Frage eröffnen?

(25 Mär '14, 13:19) tt33tt
1

@tt33tt Einfache Rückfragen zu Antworten sind als Kommentare vollkommen in Ordnung. Wenn es aber eher Folgefragen sind, dann lohnt sich eine neue Frage. Ich habe oben noch eine Erklärung zu above left eingefügt. Falls diese nicht ausreicht, dann empfiehlt sich eventuell wirklich eine neue Frage dazu.

Du brauchst auch nicht jede Frage oder Antwort als Community-Wiki kennzeichnen. Kleinere Formatierungsfehler und ähnliches können auch so von anderen korrigiert werden. Schön wäre es aber, wenn du deinen Code immer selbst auf den für das Problem unbedingt nötigen Umfang kürzt.

(25 Mär '14, 17:06) welle
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:

×76
×50
×30

gestellte Frage: 24 Mär '14, 18:24

Frage wurde gesehen: 12,011 Mal

zuletzt geändert: 25 Mär '14, 17:06