Erstellen Sie einen Loop-Pfeil in TikZ

Erstellen Sie einen Loop-Pfeil in TikZ

Ich versuche, einen Pfeil zu erstellen, der vom unteren Ende eines Wortes ausgeht und dann eine Schleife zum oberen Ende desselben Wortes bildet. Der Punkt ist, zu veranschaulichen, dass die Ausgabe von „Operationen“ auch zur Eingabe von „Operationen“ wird.

Mein erster Versuch bestand darin, einfach zu verwenden edge[out = -90, in = 90], aber dadurch umrundet der Pfeil das Wort nicht.

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \node at (0,0) (Operations) {Operations};
    \draw [->] (Operations) edge[out = -90, in = 90] (Operations);
\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben


BEARBEITEN

In meinem realen Beispiel habe ich einen Pfeil, der von einem Knoten darüber nach unten zu „Operationen“ zeigt, und einen Pfeil, der von „Operationen“ nach unten zu einem Knoten darunter zeigt. Der Anfang und das Ende des Schleifenpfeils sollten idealerweise mit diesen beiden vorhandenen Pfeilen übereinstimmen.

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \node at (0,3) (Input) {Input};
    \node at (0,1.5) (Operations) {Operations};
    \node at (0,0) (Output) {Output};
    \draw [->] (Input) -- (Operations);
    \draw [->] (Operations.center) arc (-180:180:1);
    \draw [->] (Operations) -- (Output);
\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben

Antwort1

Hier eine sehr grobe Lösung durch Hinzufügen eines dritten Knotens \node at (1,0) (here) {};und Ändern der Pfeilgröße um looseness.

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \node at (0,0) (Operations) {Operations};
    \node at (1,0) (here) {};
    \draw [->] (Operations) to[out=-80, in=-90,looseness=2] (here)    to[out=90,in=80,looseness=2] (Operations);
\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben

Antwort2

Wie ich im Kommentar sagte, mit genauer Zahl

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \node at (0,0) (Operations) {Operations};
    \draw [->] (Operations.south)arc(-160:160:1);
\end{tikzpicture}

\end{document}



Ein anderer Ansatz

\draw[->,shorten <=5pt,shorten >=5pt](Operations.center)arc(-180:180:1);



Dritter Ansatz

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \node at (0,3) (Input) {Input};
    \node at (0,1.5) (Operations) {Operations};
    \node at (0,0) (Output) {Output};
    \draw [->] (Input) -- (Operations);
    \draw [->] (Operations) -- (Output);
    \draw[->](Operations.south)arc(-180:0:1)coordinate(X)
             (Operations.north)+(2,0)--(X)
             (Operations.north)+(2,0)arc(0:180:1);
\end{tikzpicture}

\end{document}

verwandte Informationen