I am drawing a tikz picture with some arrows. There are two separate sets of formations which have to be rotated against each other in a specific way. That's why I am using two scope-environments. To draw the paths I used self defined coordinates in relative distance to each other. Now I need to draw an arrow between two points, each of them defined in another scope-environment. I tried to use a local bounding box and call the coordinate by refering to it, but it doesn't work. Is there a way to realise this?

Edit: changed name of the bounding box; added image of the desided result; changed coordinate names for better understanding.

\begin{scope}[local bounding box = bbox, rotate =-7.765, transform shape]
  \node (O) [] at (0,0) {};
  \node (U1) [right of=O, node distance = 10cm] {};
  \draw (O.center) [-latex] to (U1.center);
\begin{scope}[rotate = 5.194, transform shape]
  \node (O) [] at (0,0) {};
  \node (U2) [right of=O, node distance = 9.568cm] {};
  \draw (O.center) [-latex] to (U2.center);
  \draw (U2.center) [-latex] to (bbox.U1.center);

desided result

  • Add a hand sketch of the desided result. Jun 24 at 3:23
  • "L.O.center" is wrong. Add "name prefix=L-" to the options of the first scope. And then use "\draw (U2.center) [-latex] to (L-O.center);".
    – Anonymous
    Jun 24 at 3:29
  • I added a picture of the result I want. The problem is not about the name prefix, it is that I need a coordinate which is defined in another scope.
    – DraUX
    Jun 24 at 8:05
  • 1
    Your code compiles fine just removing bbox. in […] (bbox.U1.center) […]
    – NBur
    Jun 24 at 8:35
  • Thanks. It works now for me as well. Somehow I didn't think about that.
    – DraUX
    2 days ago


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.