Нарисуйте круглую соединительную полосу между двумя (или более) узлами разных tikzpictures

Нарисуйте круглую соединительную полосу между двумя (или более) узлами разных tikzpictures

Я пытался найти что-то максимально идентичное этому вопросу, но не нашел. Если так, пожалуйста, дайте мне знать. Я хочу соединить два узла, которые находятся в разных средах tikzpicture, с помощью круговой соединительной полосы. По умолчанию соединительный штрих-код должен быть близок к среде tikzpicture последнего объявленного узла или изолирован от одного tikzpicture, но никогда не должен быть связан со средой tikzpicture первого объявленного узла, см. случай 1 и 2. Кажется, что все (оптическая иллюзия?) работает хорошо, но в обоих случаях узлы не остаются в своем исходном положении на обоих концах края круговой соединительной полосы, и это главная проблема. Кроме того, если бы было решение, оно бы работало для случая 3 при использовании \newpage?

Дело 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}

Как указал @Henri Menke, я представляю попытку использовать remember pictureи 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}

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

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