Place additional nodes when using smartdiagram












2















I am trying to add additional nodes either side of a diagram produced using smartdiagram. Ideally, I would like node b1 placed to the left of the edge between a and b in the circular diagram, and b2 to the right of the edge between a and d. Using absolute coordinates to increase the distance between the additional nodes / try to place them still results in the circular diagram to the right of both nodes. Can this be done please?





My example code



documentclass[border=10pt]{standalone}
usepackage{tikz, smartdiagram}
usetikzlibrary{shapes.multipart}
tikzset{
state/.style={rectangle split, draw=black, text width=3cm}
}

begin{document}

begin{tikzpicture}[node distance = 4cm, auto]
node [state, rectangle split parts=2] (b1) at (0,5) {text nodepart{two} one};
node [state, rectangle split parts=2] (b2) at (5,5) {text nodepart{two} two};
end{tikzpicture}

smartdiagram[circular diagram] {a, b, c, d}

end{document}




I thought maybe TikZ: adding nodes to a circular diagram from smartdiagram package could help but I can't see how to add the nodes i.e.



smartdiagramadd[circular diagram]{a, b, c, d}{
left of module1/node [state, rectangle split parts=2]}









share|improve this question





























    2















    I am trying to add additional nodes either side of a diagram produced using smartdiagram. Ideally, I would like node b1 placed to the left of the edge between a and b in the circular diagram, and b2 to the right of the edge between a and d. Using absolute coordinates to increase the distance between the additional nodes / try to place them still results in the circular diagram to the right of both nodes. Can this be done please?





    My example code



    documentclass[border=10pt]{standalone}
    usepackage{tikz, smartdiagram}
    usetikzlibrary{shapes.multipart}
    tikzset{
    state/.style={rectangle split, draw=black, text width=3cm}
    }

    begin{document}

    begin{tikzpicture}[node distance = 4cm, auto]
    node [state, rectangle split parts=2] (b1) at (0,5) {text nodepart{two} one};
    node [state, rectangle split parts=2] (b2) at (5,5) {text nodepart{two} two};
    end{tikzpicture}

    smartdiagram[circular diagram] {a, b, c, d}

    end{document}




    I thought maybe TikZ: adding nodes to a circular diagram from smartdiagram package could help but I can't see how to add the nodes i.e.



    smartdiagramadd[circular diagram]{a, b, c, d}{
    left of module1/node [state, rectangle split parts=2]}









    share|improve this question



























      2












      2








      2








      I am trying to add additional nodes either side of a diagram produced using smartdiagram. Ideally, I would like node b1 placed to the left of the edge between a and b in the circular diagram, and b2 to the right of the edge between a and d. Using absolute coordinates to increase the distance between the additional nodes / try to place them still results in the circular diagram to the right of both nodes. Can this be done please?





      My example code



      documentclass[border=10pt]{standalone}
      usepackage{tikz, smartdiagram}
      usetikzlibrary{shapes.multipart}
      tikzset{
      state/.style={rectangle split, draw=black, text width=3cm}
      }

      begin{document}

      begin{tikzpicture}[node distance = 4cm, auto]
      node [state, rectangle split parts=2] (b1) at (0,5) {text nodepart{two} one};
      node [state, rectangle split parts=2] (b2) at (5,5) {text nodepart{two} two};
      end{tikzpicture}

      smartdiagram[circular diagram] {a, b, c, d}

      end{document}




      I thought maybe TikZ: adding nodes to a circular diagram from smartdiagram package could help but I can't see how to add the nodes i.e.



      smartdiagramadd[circular diagram]{a, b, c, d}{
      left of module1/node [state, rectangle split parts=2]}









      share|improve this question
















      I am trying to add additional nodes either side of a diagram produced using smartdiagram. Ideally, I would like node b1 placed to the left of the edge between a and b in the circular diagram, and b2 to the right of the edge between a and d. Using absolute coordinates to increase the distance between the additional nodes / try to place them still results in the circular diagram to the right of both nodes. Can this be done please?





      My example code



      documentclass[border=10pt]{standalone}
      usepackage{tikz, smartdiagram}
      usetikzlibrary{shapes.multipart}
      tikzset{
      state/.style={rectangle split, draw=black, text width=3cm}
      }

      begin{document}

      begin{tikzpicture}[node distance = 4cm, auto]
      node [state, rectangle split parts=2] (b1) at (0,5) {text nodepart{two} one};
      node [state, rectangle split parts=2] (b2) at (5,5) {text nodepart{two} two};
      end{tikzpicture}

      smartdiagram[circular diagram] {a, b, c, d}

      end{document}




      I thought maybe TikZ: adding nodes to a circular diagram from smartdiagram package could help but I can't see how to add the nodes i.e.



      smartdiagramadd[circular diagram]{a, b, c, d}{
      left of module1/node [state, rectangle split parts=2]}






      tikz-pgf smartdiagram






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 20 at 22:19







      user20650

















      asked Jan 20 at 21:57









      user20650user20650

      16617




      16617






















          1 Answer
          1






          active

          oldest

          votes


















          2














          smartdiagram gives the nodes names. You can thus connect them using overlay. The IMHO only less appealing aspect of this is that things drawn in overlay mode do not increase the bounding box, which you need to do by hand. This explains the hspace*{2cm} in



          documentclass[border=10pt]{standalone}
          usepackage{tikz, smartdiagram}
          usetikzlibrary{shapes.multipart}
          tikzset{
          state/.style={rectangle split, draw=black, text width=3cm}
          }
          tikzset{every picture/.append style={remember picture}}
          begin{document}

          hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}%
          begin{tikzpicture}[overlay]
          path (module1) -- (module2) node[midway,above left=1cm,state, rectangle split parts=2] (b1) at (0,5) {text nodepart{two} one};
          path (module1) -- (module4) node [midway,above right=1cm,state, rectangle split parts=2] (b2) at (5,5) {text nodepart{two} two};
          end{tikzpicture}


          end{document}


          enter image description here






          share|improve this answer
























          • Thank you , this looks great (I had managed to do something in completely in tikz, but the paths were all just a bit crude i.e. using bend right -- this looks much better). I hadn't heard of overlay but I'll read up Thanks again.

            – user20650
            Jan 20 at 23:28






          • 1





            You're welcome! (Sometimes arcs look better than bend right. In principle you can look up all definitions in the very nice manual of smartdiagram, which is how I learned that the names moduleN with integer N, but if the diagram already looks like you want to have it, you may not want to reinvent it. ;-)

            – marmot
            Jan 20 at 23:35











          • Dear @marmot; apologies for the follow-up I couldn't find how to do this, but how do you increase the vertical space as well i.e.hspace*{8cm}vspace{8cm} doesn't work.

            – user20650
            Jan 21 at 8:55











          • ... seems I can accomplish this with border=50pt -- but of a hack im sure

            – user20650
            Jan 21 at 9:18






          • 1





            @user20650 another way is begin{tabular}{c} ~\[3cm] hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}\[3cm] end{tabular} ... (also) not too beautiful

            – marmot
            Jan 21 at 11:28











          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%2f471053%2fplace-additional-nodes-when-using-smartdiagram%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          smartdiagram gives the nodes names. You can thus connect them using overlay. The IMHO only less appealing aspect of this is that things drawn in overlay mode do not increase the bounding box, which you need to do by hand. This explains the hspace*{2cm} in



          documentclass[border=10pt]{standalone}
          usepackage{tikz, smartdiagram}
          usetikzlibrary{shapes.multipart}
          tikzset{
          state/.style={rectangle split, draw=black, text width=3cm}
          }
          tikzset{every picture/.append style={remember picture}}
          begin{document}

          hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}%
          begin{tikzpicture}[overlay]
          path (module1) -- (module2) node[midway,above left=1cm,state, rectangle split parts=2] (b1) at (0,5) {text nodepart{two} one};
          path (module1) -- (module4) node [midway,above right=1cm,state, rectangle split parts=2] (b2) at (5,5) {text nodepart{two} two};
          end{tikzpicture}


          end{document}


          enter image description here






          share|improve this answer
























          • Thank you , this looks great (I had managed to do something in completely in tikz, but the paths were all just a bit crude i.e. using bend right -- this looks much better). I hadn't heard of overlay but I'll read up Thanks again.

            – user20650
            Jan 20 at 23:28






          • 1





            You're welcome! (Sometimes arcs look better than bend right. In principle you can look up all definitions in the very nice manual of smartdiagram, which is how I learned that the names moduleN with integer N, but if the diagram already looks like you want to have it, you may not want to reinvent it. ;-)

            – marmot
            Jan 20 at 23:35











          • Dear @marmot; apologies for the follow-up I couldn't find how to do this, but how do you increase the vertical space as well i.e.hspace*{8cm}vspace{8cm} doesn't work.

            – user20650
            Jan 21 at 8:55











          • ... seems I can accomplish this with border=50pt -- but of a hack im sure

            – user20650
            Jan 21 at 9:18






          • 1





            @user20650 another way is begin{tabular}{c} ~\[3cm] hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}\[3cm] end{tabular} ... (also) not too beautiful

            – marmot
            Jan 21 at 11:28
















          2














          smartdiagram gives the nodes names. You can thus connect them using overlay. The IMHO only less appealing aspect of this is that things drawn in overlay mode do not increase the bounding box, which you need to do by hand. This explains the hspace*{2cm} in



          documentclass[border=10pt]{standalone}
          usepackage{tikz, smartdiagram}
          usetikzlibrary{shapes.multipart}
          tikzset{
          state/.style={rectangle split, draw=black, text width=3cm}
          }
          tikzset{every picture/.append style={remember picture}}
          begin{document}

          hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}%
          begin{tikzpicture}[overlay]
          path (module1) -- (module2) node[midway,above left=1cm,state, rectangle split parts=2] (b1) at (0,5) {text nodepart{two} one};
          path (module1) -- (module4) node [midway,above right=1cm,state, rectangle split parts=2] (b2) at (5,5) {text nodepart{two} two};
          end{tikzpicture}


          end{document}


          enter image description here






          share|improve this answer
























          • Thank you , this looks great (I had managed to do something in completely in tikz, but the paths were all just a bit crude i.e. using bend right -- this looks much better). I hadn't heard of overlay but I'll read up Thanks again.

            – user20650
            Jan 20 at 23:28






          • 1





            You're welcome! (Sometimes arcs look better than bend right. In principle you can look up all definitions in the very nice manual of smartdiagram, which is how I learned that the names moduleN with integer N, but if the diagram already looks like you want to have it, you may not want to reinvent it. ;-)

            – marmot
            Jan 20 at 23:35











          • Dear @marmot; apologies for the follow-up I couldn't find how to do this, but how do you increase the vertical space as well i.e.hspace*{8cm}vspace{8cm} doesn't work.

            – user20650
            Jan 21 at 8:55











          • ... seems I can accomplish this with border=50pt -- but of a hack im sure

            – user20650
            Jan 21 at 9:18






          • 1





            @user20650 another way is begin{tabular}{c} ~\[3cm] hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}\[3cm] end{tabular} ... (also) not too beautiful

            – marmot
            Jan 21 at 11:28














          2












          2








          2







          smartdiagram gives the nodes names. You can thus connect them using overlay. The IMHO only less appealing aspect of this is that things drawn in overlay mode do not increase the bounding box, which you need to do by hand. This explains the hspace*{2cm} in



          documentclass[border=10pt]{standalone}
          usepackage{tikz, smartdiagram}
          usetikzlibrary{shapes.multipart}
          tikzset{
          state/.style={rectangle split, draw=black, text width=3cm}
          }
          tikzset{every picture/.append style={remember picture}}
          begin{document}

          hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}%
          begin{tikzpicture}[overlay]
          path (module1) -- (module2) node[midway,above left=1cm,state, rectangle split parts=2] (b1) at (0,5) {text nodepart{two} one};
          path (module1) -- (module4) node [midway,above right=1cm,state, rectangle split parts=2] (b2) at (5,5) {text nodepart{two} two};
          end{tikzpicture}


          end{document}


          enter image description here






          share|improve this answer













          smartdiagram gives the nodes names. You can thus connect them using overlay. The IMHO only less appealing aspect of this is that things drawn in overlay mode do not increase the bounding box, which you need to do by hand. This explains the hspace*{2cm} in



          documentclass[border=10pt]{standalone}
          usepackage{tikz, smartdiagram}
          usetikzlibrary{shapes.multipart}
          tikzset{
          state/.style={rectangle split, draw=black, text width=3cm}
          }
          tikzset{every picture/.append style={remember picture}}
          begin{document}

          hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}%
          begin{tikzpicture}[overlay]
          path (module1) -- (module2) node[midway,above left=1cm,state, rectangle split parts=2] (b1) at (0,5) {text nodepart{two} one};
          path (module1) -- (module4) node [midway,above right=1cm,state, rectangle split parts=2] (b2) at (5,5) {text nodepart{two} two};
          end{tikzpicture}


          end{document}


          enter image description here







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 20 at 23:18









          marmotmarmot

          95.1k4110210




          95.1k4110210













          • Thank you , this looks great (I had managed to do something in completely in tikz, but the paths were all just a bit crude i.e. using bend right -- this looks much better). I hadn't heard of overlay but I'll read up Thanks again.

            – user20650
            Jan 20 at 23:28






          • 1





            You're welcome! (Sometimes arcs look better than bend right. In principle you can look up all definitions in the very nice manual of smartdiagram, which is how I learned that the names moduleN with integer N, but if the diagram already looks like you want to have it, you may not want to reinvent it. ;-)

            – marmot
            Jan 20 at 23:35











          • Dear @marmot; apologies for the follow-up I couldn't find how to do this, but how do you increase the vertical space as well i.e.hspace*{8cm}vspace{8cm} doesn't work.

            – user20650
            Jan 21 at 8:55











          • ... seems I can accomplish this with border=50pt -- but of a hack im sure

            – user20650
            Jan 21 at 9:18






          • 1





            @user20650 another way is begin{tabular}{c} ~\[3cm] hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}\[3cm] end{tabular} ... (also) not too beautiful

            – marmot
            Jan 21 at 11:28



















          • Thank you , this looks great (I had managed to do something in completely in tikz, but the paths were all just a bit crude i.e. using bend right -- this looks much better). I hadn't heard of overlay but I'll read up Thanks again.

            – user20650
            Jan 20 at 23:28






          • 1





            You're welcome! (Sometimes arcs look better than bend right. In principle you can look up all definitions in the very nice manual of smartdiagram, which is how I learned that the names moduleN with integer N, but if the diagram already looks like you want to have it, you may not want to reinvent it. ;-)

            – marmot
            Jan 20 at 23:35











          • Dear @marmot; apologies for the follow-up I couldn't find how to do this, but how do you increase the vertical space as well i.e.hspace*{8cm}vspace{8cm} doesn't work.

            – user20650
            Jan 21 at 8:55











          • ... seems I can accomplish this with border=50pt -- but of a hack im sure

            – user20650
            Jan 21 at 9:18






          • 1





            @user20650 another way is begin{tabular}{c} ~\[3cm] hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}\[3cm] end{tabular} ... (also) not too beautiful

            – marmot
            Jan 21 at 11:28

















          Thank you , this looks great (I had managed to do something in completely in tikz, but the paths were all just a bit crude i.e. using bend right -- this looks much better). I hadn't heard of overlay but I'll read up Thanks again.

          – user20650
          Jan 20 at 23:28





          Thank you , this looks great (I had managed to do something in completely in tikz, but the paths were all just a bit crude i.e. using bend right -- this looks much better). I hadn't heard of overlay but I'll read up Thanks again.

          – user20650
          Jan 20 at 23:28




          1




          1





          You're welcome! (Sometimes arcs look better than bend right. In principle you can look up all definitions in the very nice manual of smartdiagram, which is how I learned that the names moduleN with integer N, but if the diagram already looks like you want to have it, you may not want to reinvent it. ;-)

          – marmot
          Jan 20 at 23:35





          You're welcome! (Sometimes arcs look better than bend right. In principle you can look up all definitions in the very nice manual of smartdiagram, which is how I learned that the names moduleN with integer N, but if the diagram already looks like you want to have it, you may not want to reinvent it. ;-)

          – marmot
          Jan 20 at 23:35













          Dear @marmot; apologies for the follow-up I couldn't find how to do this, but how do you increase the vertical space as well i.e.hspace*{8cm}vspace{8cm} doesn't work.

          – user20650
          Jan 21 at 8:55





          Dear @marmot; apologies for the follow-up I couldn't find how to do this, but how do you increase the vertical space as well i.e.hspace*{8cm}vspace{8cm} doesn't work.

          – user20650
          Jan 21 at 8:55













          ... seems I can accomplish this with border=50pt -- but of a hack im sure

          – user20650
          Jan 21 at 9:18





          ... seems I can accomplish this with border=50pt -- but of a hack im sure

          – user20650
          Jan 21 at 9:18




          1




          1





          @user20650 another way is begin{tabular}{c} ~\[3cm] hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}\[3cm] end{tabular} ... (also) not too beautiful

          – marmot
          Jan 21 at 11:28





          @user20650 another way is begin{tabular}{c} ~\[3cm] hspace*{2cm}smartdiagram[circular diagram] {a, b, c, d}hspace*{2cm}\[3cm] end{tabular} ... (also) not too beautiful

          – marmot
          Jan 21 at 11:28


















          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%2f471053%2fplace-additional-nodes-when-using-smartdiagram%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 send String Array data to Server using php in android

          Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

          Is anime1.com a legal site for watching anime?