Rotulando um loop em um nó no tikz com ângulos "out" e "in" especificados

Rotulando um loop em um nó no tikz com ângulos "out" e "in" especificados

Estou usando \draw com parâmetros "out" e "in" para fazer loops em um nó. Gostaria de rotular esses loops, mas estou tendo dificuldade em descobrir como fazer isso. Nenhum dos exemplos de arestas ou loops rotulados que encontrei por meio de pesquisa usa os parâmetros out/in.

Aqui está um exemplo mínimo de trabalho.

\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\node at (0,0) (0) {node};

\draw [->] (0) to [out=135,in=45,looseness=8] (0);
\draw [->] (0) to [out=300,in=30,looseness=8] (0);
\draw [->] (0) to [out=240,in=150,looseness=8] (0);

\node at (0,1.4) {label 1};
\node at (1.8,-.4) {label 2};
\node at (-1.8,-.4) {label 3};


\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Observe que rotulei os loops simplesmente adicionando novos nós e ajustando suas posições para corresponder aos loops. Claro, isso é menos do que desejável se eu quiser alterar a posição do nó central.

Desde já, obrigado!

Responder1

Você basicamente só precisa colocar node [<options>] {<text>}imediatamente depois to[<options>].

(Observe que a minimalclasse em geral não deve ser usada, articleé melhor. VejaPor que a classe mínima deveria ser evitada?)

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\node at (0,0) (0) {node};

\draw [->] (0) to [out=135,in=45,looseness=8] node[above] {label1} (0);
\draw [->] (0) to [out=300,in=30,looseness=8] node[right] {label2} (0);
\draw [->] (0) to [out=240,in=150,looseness=8] node[below left] {label3} (0);

\end{tikzpicture}
\end{document}

informação relacionada