Нарисуйте круг со стрелкой на нем, чтобы обозначить петлю.

Нарисуйте круг со стрелкой на нем, чтобы обозначить петлю.

Как показано на рисунке, у меня уже есть три узла и стрелки, соединяющие друг друга. Стрелки образуют петлю, и я хочу добавить круг со стрелкой на нем (возможно, с текстом внутри) внутри треугольной области, чтобы указать, что образовалась петля. Как это сделать?

Код, который у меня уже есть:

\documentclass[border={10pt 10pt 10pt 10pt}]{standalone}

\usepackage{tikz}
\usetikzlibrary{shapes, positioning, arrows.meta, decorations.pathmorphing}

\begin{document}
\begin{tikzpicture}[
    node distance = 3.0cm and 1.5cm,
    sa/.style = {->, thick},
    sb/.style = {->, thick, dashed, red},
    sc/.style = {->, thick, dotted, blue},
    n/.style = {draw, inner sep = 3pt, align = center}]

  \node[n] (ta)
  {Content};
  \node[n, left = of ta] (tb)
  {Content};
  \node[n, below right = of tb] (tc)
  {Content};
  \draw[sa, sloped] (ta) to (tb);
  \draw[sb] (tb) to (tc);
  \draw[sc] (tc) to (ta);

\end{tikzpicture}
\end{document}

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

решение1

В качестве быстрого трюка вы можете вручную добавить дугу и текст:

\documentclass[border={10pt 10pt 10pt 10pt}]{standalone}

\usepackage{tikz}
\usetikzlibrary{shapes, positioning, arrows.meta, decorations.pathmorphing}

\begin{document}
\begin{tikzpicture}[
    node distance = 3.0cm and 1.5cm,
    sa/.style = {->, thick},
    sb/.style = {->, thick, dashed, red},
    sc/.style = {->, thick, dotted, blue},
    n/.style = {draw, inner sep = 3pt, align = center}]

  \node[n] (ta)
  {Content};
  \node[n, left = of ta] (tb)
  {Content};
  \node[n, below right = of tb] (tc)
  {Content};
  \draw[sa, sloped] (ta) to (tb);
  \draw[sb] (tb) to (tc);
  \draw[sc] (tc) to (ta);
  \draw[->,red] (-0.4,-1) arc [radius=0.5cm,start angle=0,end angle=340];
  \node at (-0.4-0.5,-1) {Text};
\end{tikzpicture}
\end{document}

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

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