tikz:边缘循环和旋转

tikz:边缘循环和旋转

以下是我的例子:

\documentclass{standalone}
\usepackage{tikz}

\def\test#1{\node[circle,draw](#1) at (0,0) {#1}; \draw[->] (#1) edge[in=40,out=-40,loop] ();}

\begin{document}
\begin{tikzpicture}
  \test{A}
  \begin{scope}[shift={(2,0)},rotate=90]
    \test{B}
  \end{scope}
\end{tikzpicture}
\end{document}

以下是我得到的结果:

在此处输入图片描述

B 只是在具有旋转的范围内的 A。我想了解如何在这样的范围内修复我的循环,以便它们可以按预期进行移动/缩放/旋转:我希望 B 与旋转后的 A 完全一样。

答案1

代码

我不知道为什么,但out角度似乎不受旋转的影响。添加选项transform shape似乎可以解决问题,但文本会旋转和缩放... 作为一种丑陋的解决方法,您可以第一次用白色绘制节点。不过,您仍然会遇到缩放问题。

\documentclass{standalone}
\usepackage{tikz}

\def\test#1{%
  \node[white,circle,draw,transform shape](#1) at (0,0) {#1};
  \node[circle,draw] at (0,0) {#1};%
  \draw[->] (#1) edge[in=40,out=-40,loop] ();%
}

\begin{document}
\begin{tikzpicture}
  \test{A}
  \begin{scope}[shift={(2,0)},rotate=90]
    \test{B}
  \end{scope}
\end{tikzpicture}
\end{document}

输出

输出

相关内容