Tikz: place node leftmost of two nodes of different widths

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












4















I have the following tikz picture:



documentclassminimal
usepackagetikz
usetikzlibrarypositioning
begindocument
begintikzpicture
coordinate (origin) at (0,0) ;
node[above=10pt of origin,anchor=east] (topnode) Short;
node[below=10pt of origin,anchor=east] (bottomnode) Longer Node;
endtikzpicture
enddocument


My goal is to place a node at position (x,y), with y=0, but with x equal to leftmost of the two nodes (topnode) and (bottomnode). I would like to do this without hard-coding the position. So that the position would still be correct if I changed the content of those two nodes.










share|improve this question


























    4















    I have the following tikz picture:



    documentclassminimal
    usepackagetikz
    usetikzlibrarypositioning
    begindocument
    begintikzpicture
    coordinate (origin) at (0,0) ;
    node[above=10pt of origin,anchor=east] (topnode) Short;
    node[below=10pt of origin,anchor=east] (bottomnode) Longer Node;
    endtikzpicture
    enddocument


    My goal is to place a node at position (x,y), with y=0, but with x equal to leftmost of the two nodes (topnode) and (bottomnode). I would like to do this without hard-coding the position. So that the position would still be correct if I changed the content of those two nodes.










    share|improve this question
























      4












      4








      4








      I have the following tikz picture:



      documentclassminimal
      usepackagetikz
      usetikzlibrarypositioning
      begindocument
      begintikzpicture
      coordinate (origin) at (0,0) ;
      node[above=10pt of origin,anchor=east] (topnode) Short;
      node[below=10pt of origin,anchor=east] (bottomnode) Longer Node;
      endtikzpicture
      enddocument


      My goal is to place a node at position (x,y), with y=0, but with x equal to leftmost of the two nodes (topnode) and (bottomnode). I would like to do this without hard-coding the position. So that the position would still be correct if I changed the content of those two nodes.










      share|improve this question














      I have the following tikz picture:



      documentclassminimal
      usepackagetikz
      usetikzlibrarypositioning
      begindocument
      begintikzpicture
      coordinate (origin) at (0,0) ;
      node[above=10pt of origin,anchor=east] (topnode) Short;
      node[below=10pt of origin,anchor=east] (bottomnode) Longer Node;
      endtikzpicture
      enddocument


      My goal is to place a node at position (x,y), with y=0, but with x equal to leftmost of the two nodes (topnode) and (bottomnode). I would like to do this without hard-coding the position. So that the position would still be correct if I changed the content of those two nodes.







      tikz-pgf positioning






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 17 at 16:09









      PeutchPeutch

      1,07511019




      1,07511019




















          2 Answers
          2






          active

          oldest

          votes


















          3














          A local bounding box known the left/right/top/bottom-most coordinate of everything that's inside.



          documentclassminimal
          usepackagetikz
          usetikzlibrarypositioning
          begindocument
          begintikzpicture
          coordinate (origin) at (0,0) ;
          beginscope[local bounding box=nodes]
          node[above=10pt of origin,anchor=east] (topnode) Short;
          node[below=10pt of origin,anchor=east] (bottomnode) Longer Node;
          endscope
          node[anchor=west] at (origin-|nodes.west) here I am;
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer






























            3














            A different way: use the pgfgetlastxy:



            documentclass[tikz]standalone
            usetikzlibrarypositioning
            newdimenxone
            newdimeny
            newdimenxtwo
            begindocument
            begintikzpicture
            coordinate (origin) at (0,0) ;
            node[above=10pt of origin,anchor=east,inner sep=0pt] (topnode) Short;
            node[below=10pt of origin,anchor=east,inner sep=0pt] (bottomnode) Longer Node;
            path (topnode.west);
            pgfgetlastxyxoney;
            path (bottomnode.west);
            pgfgetlastxyxtwoy;
            draw (min(xone,xtwo),0) circle (1pt);
            endtikzpicture
            enddocument


            I put a circle to the desired place. You can change it to whatever you want, you can even use this as a coordinate:



            enter image description here



            enter image description here






            share|improve this answer























              Your Answer








              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "85"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f479949%2ftikz-place-node-leftmost-of-two-nodes-of-different-widths%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              3














              A local bounding box known the left/right/top/bottom-most coordinate of everything that's inside.



              documentclassminimal
              usepackagetikz
              usetikzlibrarypositioning
              begindocument
              begintikzpicture
              coordinate (origin) at (0,0) ;
              beginscope[local bounding box=nodes]
              node[above=10pt of origin,anchor=east] (topnode) Short;
              node[below=10pt of origin,anchor=east] (bottomnode) Longer Node;
              endscope
              node[anchor=west] at (origin-|nodes.west) here I am;
              endtikzpicture
              enddocument


              enter image description here






              share|improve this answer



























                3














                A local bounding box known the left/right/top/bottom-most coordinate of everything that's inside.



                documentclassminimal
                usepackagetikz
                usetikzlibrarypositioning
                begindocument
                begintikzpicture
                coordinate (origin) at (0,0) ;
                beginscope[local bounding box=nodes]
                node[above=10pt of origin,anchor=east] (topnode) Short;
                node[below=10pt of origin,anchor=east] (bottomnode) Longer Node;
                endscope
                node[anchor=west] at (origin-|nodes.west) here I am;
                endtikzpicture
                enddocument


                enter image description here






                share|improve this answer

























                  3












                  3








                  3







                  A local bounding box known the left/right/top/bottom-most coordinate of everything that's inside.



                  documentclassminimal
                  usepackagetikz
                  usetikzlibrarypositioning
                  begindocument
                  begintikzpicture
                  coordinate (origin) at (0,0) ;
                  beginscope[local bounding box=nodes]
                  node[above=10pt of origin,anchor=east] (topnode) Short;
                  node[below=10pt of origin,anchor=east] (bottomnode) Longer Node;
                  endscope
                  node[anchor=west] at (origin-|nodes.west) here I am;
                  endtikzpicture
                  enddocument


                  enter image description here






                  share|improve this answer













                  A local bounding box known the left/right/top/bottom-most coordinate of everything that's inside.



                  documentclassminimal
                  usepackagetikz
                  usetikzlibrarypositioning
                  begindocument
                  begintikzpicture
                  coordinate (origin) at (0,0) ;
                  beginscope[local bounding box=nodes]
                  node[above=10pt of origin,anchor=east] (topnode) Short;
                  node[below=10pt of origin,anchor=east] (bottomnode) Longer Node;
                  endscope
                  node[anchor=west] at (origin-|nodes.west) here I am;
                  endtikzpicture
                  enddocument


                  enter image description here







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Mar 17 at 16:15









                  marmotmarmot

                  118k6152286




                  118k6152286





















                      3














                      A different way: use the pgfgetlastxy:



                      documentclass[tikz]standalone
                      usetikzlibrarypositioning
                      newdimenxone
                      newdimeny
                      newdimenxtwo
                      begindocument
                      begintikzpicture
                      coordinate (origin) at (0,0) ;
                      node[above=10pt of origin,anchor=east,inner sep=0pt] (topnode) Short;
                      node[below=10pt of origin,anchor=east,inner sep=0pt] (bottomnode) Longer Node;
                      path (topnode.west);
                      pgfgetlastxyxoney;
                      path (bottomnode.west);
                      pgfgetlastxyxtwoy;
                      draw (min(xone,xtwo),0) circle (1pt);
                      endtikzpicture
                      enddocument


                      I put a circle to the desired place. You can change it to whatever you want, you can even use this as a coordinate:



                      enter image description here



                      enter image description here






                      share|improve this answer



























                        3














                        A different way: use the pgfgetlastxy:



                        documentclass[tikz]standalone
                        usetikzlibrarypositioning
                        newdimenxone
                        newdimeny
                        newdimenxtwo
                        begindocument
                        begintikzpicture
                        coordinate (origin) at (0,0) ;
                        node[above=10pt of origin,anchor=east,inner sep=0pt] (topnode) Short;
                        node[below=10pt of origin,anchor=east,inner sep=0pt] (bottomnode) Longer Node;
                        path (topnode.west);
                        pgfgetlastxyxoney;
                        path (bottomnode.west);
                        pgfgetlastxyxtwoy;
                        draw (min(xone,xtwo),0) circle (1pt);
                        endtikzpicture
                        enddocument


                        I put a circle to the desired place. You can change it to whatever you want, you can even use this as a coordinate:



                        enter image description here



                        enter image description here






                        share|improve this answer

























                          3












                          3








                          3







                          A different way: use the pgfgetlastxy:



                          documentclass[tikz]standalone
                          usetikzlibrarypositioning
                          newdimenxone
                          newdimeny
                          newdimenxtwo
                          begindocument
                          begintikzpicture
                          coordinate (origin) at (0,0) ;
                          node[above=10pt of origin,anchor=east,inner sep=0pt] (topnode) Short;
                          node[below=10pt of origin,anchor=east,inner sep=0pt] (bottomnode) Longer Node;
                          path (topnode.west);
                          pgfgetlastxyxoney;
                          path (bottomnode.west);
                          pgfgetlastxyxtwoy;
                          draw (min(xone,xtwo),0) circle (1pt);
                          endtikzpicture
                          enddocument


                          I put a circle to the desired place. You can change it to whatever you want, you can even use this as a coordinate:



                          enter image description here



                          enter image description here






                          share|improve this answer













                          A different way: use the pgfgetlastxy:



                          documentclass[tikz]standalone
                          usetikzlibrarypositioning
                          newdimenxone
                          newdimeny
                          newdimenxtwo
                          begindocument
                          begintikzpicture
                          coordinate (origin) at (0,0) ;
                          node[above=10pt of origin,anchor=east,inner sep=0pt] (topnode) Short;
                          node[below=10pt of origin,anchor=east,inner sep=0pt] (bottomnode) Longer Node;
                          path (topnode.west);
                          pgfgetlastxyxoney;
                          path (bottomnode.west);
                          pgfgetlastxyxtwoy;
                          draw (min(xone,xtwo),0) circle (1pt);
                          endtikzpicture
                          enddocument


                          I put a circle to the desired place. You can change it to whatever you want, you can even use this as a coordinate:



                          enter image description here



                          enter image description here







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Mar 17 at 16:17









                          JouleVJouleV

                          13.8k22664




                          13.8k22664



























                              draft saved

                              draft discarded
















































                              Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f479949%2ftikz-place-node-leftmost-of-two-nodes-of-different-widths%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown






                              Popular posts from this blog

                              How to check contact read email or not when send email to Individual?

                              Displaying single band from multi-band raster using QGIS

                              How many registers does an x86_64 CPU actually have?