異なる tikzpictures の 2 つ (またはそれ以上) のノード間に円形の接続バーを描画します。

異なる tikzpictures の 2 つ (またはそれ以上) のノード間に円形の接続バーを描画します。

この質問とできるだけ同一のものを探しましたが、見つかりませんでした。もし見つかったら、教えてください。異なる tikzpicture 環境にある 2 つのノードを、円形接続バーを介して接続したいと考えています。デフォルトでは、接続バー コードは、最後に宣言されたノードの tikzpicture 環境に近くなるか、単一の tikzpicture に分離される必要がありますが、最初に宣言されたノードの tikzpicture 環境には分離されません (ケース 1 および 2 を参照)。すべてが (錯覚?) うまく機能しているように見えますが、どちらの場合も、ノードは円形接続バー エッジの両端で元の位置のままではなく、それが主な問題です。また、解決策があれば、\newpage?を使用する場合のケース 3 でも機能します。

ケース1:

ここに画像の説明を入力してください

\documentclass{article} 
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}
\node (energy1) at (30:10cm){motorcycle.1};
\end{tikzpicture}
\begin{tikzpicture}
\node (energy2) at (90:10cm) {motorcycle.2};
\draw[circle connection bar]
(energy1)
  edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]
  (energy2)
  ;
\end{tikzpicture}
\end{document}

ケース2:

ここに画像の説明を入力してください

\documentclass{article} 
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}
\node (energy1) at (30:10cm){motorcycle.1};
\end{tikzpicture}
\begin{tikzpicture}
\node (energy2) at (90:10cm) {motorcycle.2};
\end{tikzpicture}
\begin{tikzpicture}
\draw[circle connection bar]
(energy1)
  edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]
  (energy2)
  ;
\end{tikzpicture}
\end{document}

ケース3( あり\newpage):

ここに画像の説明を入力してください

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}
\node (energy1) at (30:10cm){motorcycle.1};
\end{tikzpicture}
\newpage
\begin{tikzpicture}
\node (energy2) at (90:10cm) {motorcycle.2};
\end{tikzpicture}
\newpage
\begin{tikzpicture}
\draw[circle connection bar]
(energy1)
  edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]
  (energy2)
  ;
\end{tikzpicture}
\end{document}

remember picture@Henri Menke が指摘したように、と を使用する試みを提示しますoverlay。これらの引数をどのように使用すればよいか正確にはわかりませんが、結局のところ、 の両端のノードを から離しておくことはできませんでしたcircle connection bar。これらの引数を使用するときに何か間違ったことをしているのでしょうか?

ここに画像の説明を入力してください

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}
\node [remember picture,overlay]
(energy1) at (30:10cm){motorcycle.1};
\end{tikzpicture}
\begin{tikzpicture}[remember picture,overlay]
\node (energy2) at (90:10cm) {motorcycle.2};
\end{tikzpicture}
\begin{tikzpicture}
\draw[circle connection bar]
(energy1)
  edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]
  (energy2)
  ;
\end{tikzpicture}
\end{document}

上記の試みに関する @Henrique Menke のメモに従って、ノードを最後に配置することはできましたcircle connection barが、両方のノードの座標をどんどん離して変更しようとしたにもかかわらず、初期位置を維持できませんでした。これが本当に機能しているのか、それとも「目の錯覚」なのかを確認するためです。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}[remember picture]

        \node [remember picture] (energy1) at (30:30cm){motorcycle.1};
\end{tikzpicture}
\begin{tikzpicture}[remember picture]
        \node [remember picture] (energy2) at (90:10cm) {motorcycle.2};
\end{tikzpicture}
\begin{tikzpicture}[remember picture,overlay]

\draw[circle connection bar,remember picture, overlay]
(energy1)
  edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]
  (energy2)
  ;
\end{tikzpicture}
\end{document}

ここに画像の説明を入力してください

答え1

異なる環境を接続するという面倒な作業を行う必要はなく、すべてを単一の tikz 環境で描画できます。ラベルを配置するオプションがここで役立ちます。これは例です。

唯一の問題は、図面とラベルのサイズですが、これはテキストのスケーリングによって処理できる可能性があります。(おそらく)

\documentclass{standalone} 
\usepackage{tikz}
\usetikzlibrary{mindmap,quotes}
\begin{document}
\begin{tikzpicture}
\node (energy1)[label=right:motorcycle.1] at (30:10cm){};
\node (energy2)[label=left:motorcycle.2] at (90:10cm){};
\draw[circle connection bar]
(energy1)%
edge["USA" {orange ,sloped,above=.5cm,align=center,text width=8cm}]%
(energy2);
\end{tikzpicture}
\end{document}

ここに画像の説明を入力してください

関連情報