Создать циклическую стрелку в TikZ

Создать циклическую стрелку в TikZ

Я пытаюсь создать стрелку, которая выходит из нижней части слова, а затем замыкается в верхней части того же самого слова. Суть в том, чтобы проиллюстрировать, что выход «Операций» также становится входом «Операций».

Моя первая попытка была просто использовать edge[out = -90, in = 90], но это не привело к тому, что стрелка зациклилась вокруг слова.

\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}

введите описание изображения здесь


РЕДАКТИРОВАТЬ

В моем реальном примере у меня есть стрелка, указывающая вниз на "Операции" из узла выше, и стрелка, указывающая вниз от "Операций" к узлу ниже. Начало и конец стрелки цикла должны в идеале совпадать с этими двумя существующими стрелками.

\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}

введите описание изображения здесь

решение1

Вот очень простое решение: добавьте третий узел \node at (1,0) (here) {};и измените размер стрелки на 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}

введите описание изображения здесь

решение2

Как я уже сказал в комментарии, с точным числом

\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}



Другой подход

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



Третий подход

\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}

Связанный контент