In meiner Zeichnung gehen die Pfeile von genau von einem Node zum anderen. Hier ein Ausschnitt:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows}
\tikzset{
  state/.style={circle,draw,minimum size=6ex},
  arrow/.style={-latex}}
\begin{document}
\begin{tikzpicture}[node distance=5em]
  \node [state] (S1) {$S_1$};
  \node [state, right=of S1] (S2) {$S_2$};
  \draw [arrow, bend left]  (S1) to (S2);
  \draw [arrow, bend right] (S1) to (S2);
\end{tikzpicture}
\end{document}

Ausgabe Nodes und Pfeile

Der jeweilige Pfeil soll jedoch nicht direkt am Umkreis des Node beginnen, sondern mit etwas Abstand, so 1 ex, und auch nicht mit der Spitze am anderen Node kleben, sondern den gleichen geringen Abstand halten.

Wie kann ich die Pfeile beidseitig verkürzen?

gefragt 15 Jul '13, 23:08

Felix's gravatar image

Felix
1.3k525666
Akzeptiert-Rate: 47%

bearbeitet 13 Aug '13, 20:12

cgnieder's gravatar image

cgnieder
22.1k243463


Mit der Option shorten >=<Längenwert> kann man einen Pfeil vom Ende her kürzen, mit shorten <=<Längenwert> vom Anfang her, wobei sich Anfang und Ende auf die Richtung des entsprechenden TikZ-Pfades beziehen und nicht auf die Seite der Pfeilspitze. Eine Pfeilspitze muss gar nicht vorhanden sein.

Beide Effekte sind hier demonstriert:

Ergebnis

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows}
\tikzset{
  state/.style={circle,draw,minimum size=6ex},
  arrow/.style={-latex}}
\begin{document}
\begin{tikzpicture}[node distance=5em]
  \node [state] (S1) {$S_1$};
  \node [state, right=of S1] (S2) {$S_2$};
  \draw [arrow, shorten >=3pt, bend left]  (S1) to (S2);
  \draw [arrow, shorten <=3pt, bend right] (S1) to (S2);
\end{tikzpicture}
\end{document}

Beide Optionen können natürlich kombiniert werden.

Permanenter link

beantwortet 15 Jul '13, 23:18

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

bearbeitet 13 Aug '13, 20:13

Klappt, danke, damit setze ich arrow/.style={-latex, shorten >=1ex, shorten <=1ex}}.

(15 Jul '13, 23:23) Felix
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
×35

gestellte Frage: 15 Jul '13, 23:08

Frage wurde gesehen: 16,674 Mal

zuletzt geändert: 13 Aug '13, 20:13