TikZ: Centering dash pattern between two nodes Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Can TikZ dashed lines emulate PSTricks dashed lines?TikZ: Centering dash pattern along the pathRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?Numerical conditional within tikz keys?Input/Output Nodes - Specification and Description LanguageTikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themHow to draw a square and its diagonals with arrows?Commutative diagram with curve connecting between nodesHow can I have TikZ automata accepting nodes be the same size as nonaccepting nodes?

Why complex landing gears are used instead of simple, reliable and light weight muscle wire or shape memory alloys?

Why is there so little support for joining EFTA in the British parliament?

latest version of QGIS fails to edit attribute table of GeoJSON file

Should man-made satellites feature an intelligent inverted "cow catcher"?

Pointing to problems without suggesting solutions

malloc in main() or malloc in another function: allocating memory for a struct and its members

Table formatting with tabularx?

Besides transaction validation, are there any other uses of the Script language in Bitcoin

How many time has Arya actually used Needle?

My mentor says to set image to Fine instead of RAW — how is this different from JPG?

Inverse square law not accurate for non-point masses?

What are some likely causes to domain member PC losing contact to domain controller?

Random body shuffle every night—can we still function?

What was the last profitable war?

What criticisms of Wittgenstein's philosophy of language have been offered?

Do i imagine the linear (straight line) homotopy in a correct way?

Statistical analysis applied to methods coming out of Machine Learning

Twin's vs. Twins'

Does a random sequence of vectors span a Hilbert space?

What does 丫 mean? 丫是什么意思?

How do Java 8 default methods hеlp with lambdas?

Why are two-digit numbers in Jonathan Swift's "Gulliver's Travels" (1726) written in "German style"?

By what mechanism was the 2017 UK General Election called?

Is the Mordenkainens' Sword spell underpowered?



TikZ: Centering dash pattern between two nodes



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Can TikZ dashed lines emulate PSTricks dashed lines?TikZ: Centering dash pattern along the pathRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?Numerical conditional within tikz keys?Input/Output Nodes - Specification and Description LanguageTikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themHow to draw a square and its diagonals with arrows?Commutative diagram with curve connecting between nodesHow can I have TikZ automata accepting nodes be the same size as nonaccepting nodes?










5















Is there a way to draw a dashed pattern between two nodes taking the middle point of these two nodes as the center point?



This is my code:



documentclassarticle
usepackage[utf8]inputenc
usepackageamsthm,amsmath,amssymb,authblk,tikz,graphicx
usetikzlibraryshapes,decorations,circuits.logic.US,circuits.logic.IEC,fit,external
tikzstyleloosely dashed=[dash pattern=on 4pt off 8pt]
tikzstyleloosely dashed2=[dash pattern=on 4pt off 8pt]

begindocument

beginfigure
centering
begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
path
(0,3) node(y) $Y$
(-1.5,0) node[draw, line width=1pt](x1) $X_1$
(1.5,0) node[draw, line width=1pt](x2) $X_2$;
draw [line width=1pt,-,black] (y) -- (x1);
draw [line width=1pt,-,black] (y) -- (x2);
draw [line width=3pt,-,loosely dashed,black] (x1) to[bend right=40] (x2);
endtikzpicture
endfigure

enddocument


And the resulting figure:



This is the resulting figure



It can clearly be seen that the dash from the X1 node is longer than that from the X2 node.



I want the right part of the dashed line to be the mirror image of the left part. Is there a way to do this (preferably regardless of the distance between the nodes, and the thickness or specific pattern of the line)?










share|improve this question
























  • Welcome to TexSE! Did you look at this question? tex.stackexchange.com/q/438299/15036

    – Thruston
    Apr 2 at 10:54











  • Try draw [line width=3pt,-,loosely dashed,black] (x1.east) to[bend right=40] (x2.west);

    – CarLaTeX
    Apr 2 at 11:02











  • @Thruston, thanks! That was indeed on of the pages I read before submitting this question, unfortunately I was not able to understand in. @CarLaTeX, thanks! This works! (I used draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);)

    – Joost Kruis
    Apr 2 at 11:08











  • @CarLaTeX Please add an answer.

    – JouleV
    Apr 2 at 11:12











  • @JouleV I can't explain the reason, maybe it works only by chance. Maybe it's somehow a duplicate of tex.stackexchange.com/questions/133271/….

    – CarLaTeX
    Apr 2 at 12:00















5















Is there a way to draw a dashed pattern between two nodes taking the middle point of these two nodes as the center point?



This is my code:



documentclassarticle
usepackage[utf8]inputenc
usepackageamsthm,amsmath,amssymb,authblk,tikz,graphicx
usetikzlibraryshapes,decorations,circuits.logic.US,circuits.logic.IEC,fit,external
tikzstyleloosely dashed=[dash pattern=on 4pt off 8pt]
tikzstyleloosely dashed2=[dash pattern=on 4pt off 8pt]

begindocument

beginfigure
centering
begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
path
(0,3) node(y) $Y$
(-1.5,0) node[draw, line width=1pt](x1) $X_1$
(1.5,0) node[draw, line width=1pt](x2) $X_2$;
draw [line width=1pt,-,black] (y) -- (x1);
draw [line width=1pt,-,black] (y) -- (x2);
draw [line width=3pt,-,loosely dashed,black] (x1) to[bend right=40] (x2);
endtikzpicture
endfigure

enddocument


And the resulting figure:



This is the resulting figure



It can clearly be seen that the dash from the X1 node is longer than that from the X2 node.



I want the right part of the dashed line to be the mirror image of the left part. Is there a way to do this (preferably regardless of the distance between the nodes, and the thickness or specific pattern of the line)?










share|improve this question
























  • Welcome to TexSE! Did you look at this question? tex.stackexchange.com/q/438299/15036

    – Thruston
    Apr 2 at 10:54











  • Try draw [line width=3pt,-,loosely dashed,black] (x1.east) to[bend right=40] (x2.west);

    – CarLaTeX
    Apr 2 at 11:02











  • @Thruston, thanks! That was indeed on of the pages I read before submitting this question, unfortunately I was not able to understand in. @CarLaTeX, thanks! This works! (I used draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);)

    – Joost Kruis
    Apr 2 at 11:08











  • @CarLaTeX Please add an answer.

    – JouleV
    Apr 2 at 11:12











  • @JouleV I can't explain the reason, maybe it works only by chance. Maybe it's somehow a duplicate of tex.stackexchange.com/questions/133271/….

    – CarLaTeX
    Apr 2 at 12:00













5












5








5


0






Is there a way to draw a dashed pattern between two nodes taking the middle point of these two nodes as the center point?



This is my code:



documentclassarticle
usepackage[utf8]inputenc
usepackageamsthm,amsmath,amssymb,authblk,tikz,graphicx
usetikzlibraryshapes,decorations,circuits.logic.US,circuits.logic.IEC,fit,external
tikzstyleloosely dashed=[dash pattern=on 4pt off 8pt]
tikzstyleloosely dashed2=[dash pattern=on 4pt off 8pt]

begindocument

beginfigure
centering
begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
path
(0,3) node(y) $Y$
(-1.5,0) node[draw, line width=1pt](x1) $X_1$
(1.5,0) node[draw, line width=1pt](x2) $X_2$;
draw [line width=1pt,-,black] (y) -- (x1);
draw [line width=1pt,-,black] (y) -- (x2);
draw [line width=3pt,-,loosely dashed,black] (x1) to[bend right=40] (x2);
endtikzpicture
endfigure

enddocument


And the resulting figure:



This is the resulting figure



It can clearly be seen that the dash from the X1 node is longer than that from the X2 node.



I want the right part of the dashed line to be the mirror image of the left part. Is there a way to do this (preferably regardless of the distance between the nodes, and the thickness or specific pattern of the line)?










share|improve this question
















Is there a way to draw a dashed pattern between two nodes taking the middle point of these two nodes as the center point?



This is my code:



documentclassarticle
usepackage[utf8]inputenc
usepackageamsthm,amsmath,amssymb,authblk,tikz,graphicx
usetikzlibraryshapes,decorations,circuits.logic.US,circuits.logic.IEC,fit,external
tikzstyleloosely dashed=[dash pattern=on 4pt off 8pt]
tikzstyleloosely dashed2=[dash pattern=on 4pt off 8pt]

begindocument

beginfigure
centering
begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
path
(0,3) node(y) $Y$
(-1.5,0) node[draw, line width=1pt](x1) $X_1$
(1.5,0) node[draw, line width=1pt](x2) $X_2$;
draw [line width=1pt,-,black] (y) -- (x1);
draw [line width=1pt,-,black] (y) -- (x2);
draw [line width=3pt,-,loosely dashed,black] (x1) to[bend right=40] (x2);
endtikzpicture
endfigure

enddocument


And the resulting figure:



This is the resulting figure



It can clearly be seen that the dash from the X1 node is longer than that from the X2 node.



I want the right part of the dashed line to be the mirror image of the left part. Is there a way to do this (preferably regardless of the distance between the nodes, and the thickness or specific pattern of the line)?







tikz-pgf






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 2 at 14:52









JouleV

14.8k22666




14.8k22666










asked Apr 2 at 10:36









Joost KruisJoost Kruis

263




263












  • Welcome to TexSE! Did you look at this question? tex.stackexchange.com/q/438299/15036

    – Thruston
    Apr 2 at 10:54











  • Try draw [line width=3pt,-,loosely dashed,black] (x1.east) to[bend right=40] (x2.west);

    – CarLaTeX
    Apr 2 at 11:02











  • @Thruston, thanks! That was indeed on of the pages I read before submitting this question, unfortunately I was not able to understand in. @CarLaTeX, thanks! This works! (I used draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);)

    – Joost Kruis
    Apr 2 at 11:08











  • @CarLaTeX Please add an answer.

    – JouleV
    Apr 2 at 11:12











  • @JouleV I can't explain the reason, maybe it works only by chance. Maybe it's somehow a duplicate of tex.stackexchange.com/questions/133271/….

    – CarLaTeX
    Apr 2 at 12:00

















  • Welcome to TexSE! Did you look at this question? tex.stackexchange.com/q/438299/15036

    – Thruston
    Apr 2 at 10:54











  • Try draw [line width=3pt,-,loosely dashed,black] (x1.east) to[bend right=40] (x2.west);

    – CarLaTeX
    Apr 2 at 11:02











  • @Thruston, thanks! That was indeed on of the pages I read before submitting this question, unfortunately I was not able to understand in. @CarLaTeX, thanks! This works! (I used draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);)

    – Joost Kruis
    Apr 2 at 11:08











  • @CarLaTeX Please add an answer.

    – JouleV
    Apr 2 at 11:12











  • @JouleV I can't explain the reason, maybe it works only by chance. Maybe it's somehow a duplicate of tex.stackexchange.com/questions/133271/….

    – CarLaTeX
    Apr 2 at 12:00
















Welcome to TexSE! Did you look at this question? tex.stackexchange.com/q/438299/15036

– Thruston
Apr 2 at 10:54





Welcome to TexSE! Did you look at this question? tex.stackexchange.com/q/438299/15036

– Thruston
Apr 2 at 10:54













Try draw [line width=3pt,-,loosely dashed,black] (x1.east) to[bend right=40] (x2.west);

– CarLaTeX
Apr 2 at 11:02





Try draw [line width=3pt,-,loosely dashed,black] (x1.east) to[bend right=40] (x2.west);

– CarLaTeX
Apr 2 at 11:02













@Thruston, thanks! That was indeed on of the pages I read before submitting this question, unfortunately I was not able to understand in. @CarLaTeX, thanks! This works! (I used draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);)

– Joost Kruis
Apr 2 at 11:08





@Thruston, thanks! That was indeed on of the pages I read before submitting this question, unfortunately I was not able to understand in. @CarLaTeX, thanks! This works! (I used draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);)

– Joost Kruis
Apr 2 at 11:08













@CarLaTeX Please add an answer.

– JouleV
Apr 2 at 11:12





@CarLaTeX Please add an answer.

– JouleV
Apr 2 at 11:12













@JouleV I can't explain the reason, maybe it works only by chance. Maybe it's somehow a duplicate of tex.stackexchange.com/questions/133271/….

– CarLaTeX
Apr 2 at 12:00





@JouleV I can't explain the reason, maybe it works only by chance. Maybe it's somehow a duplicate of tex.stackexchange.com/questions/133271/….

– CarLaTeX
Apr 2 at 12:00










2 Answers
2






active

oldest

votes


















6














There are standard answers, but all of them are very advanced and hard to understand. However, with markings one can "mirror" a half of the curve like this.



documentclass[tikz]standalone
usetikzlibraryshapes,decorations,circuits.logic.US,circuits.logic.IEC,fit,external
tikzstyleloosely dashed=[dash pattern=on 4pt off 8pt]
tikzstyleloosely dashed2=[dash pattern=on 4pt off 8pt]

begindocument
begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
path
(0,3) node(y) $Y$
(-1.5,0) node[draw, line width=1pt](x1) $X_1$
(1.5,0) node[draw, line width=1pt](x2) $X_2$;
draw [line width=1pt,-,black] (y) -- (x1);
draw [line width=1pt,-,black] (y) -- (x2);
%draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);
path [postaction=
decorate,
decoration=
markings,
mark=at position 0.5 with coordinate (mid);

] (x1) to[bend right=40] (x2);
draw[line width=3pt,-,loosely dashed] ([xshift=-4pt]mid) to[out=180,in=-40] (x1);
draw[line width=3pt,-,loosely dashed] ([xshift=4pt]mid) to[out=0,in=-140] (x2);
endtikzpicture
enddocument


enter image description here






share|improve this answer






























    3














    Another way is to measure the path and then stretch the dash length a bit in such a way that the path ends with a full on. Please also note that tikzstyle is deprecated.



    documentclassarticle
    usepackagetikz
    usetikzlibrarydecorations.markings
    tikzset
    full dash/.style args=on #1 off #2
    decoration=
    markings,
    mark=at position 0 with
    pgfmathsetmacromystretch((pgfdecoratedpathlength-#1)/(#1+#2))/int((pgfdecoratedpathlength-#1)/(#1+#2))
    pgfmathsetmacromyon#1*mystretch
    xdefmyonmyon
    pgfmathsetmacromyoff#2*mystretch
    xdefmyoffmyoff
    ,
    ,
    preaction=decorate,draw=none,
    postaction=draw,dash pattern=on myon pt off myoff pt
    ,

    begindocument

    beginfigure
    centering
    begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
    path
    (0,3) node(y) $Y$
    (-1.5,0) node[draw, line width=1pt](x1) $X_1$
    (1.5,0) node[draw, line width=1pt](x2) $X_2$;
    draw [line width=1pt,-,black] (y) -- (x1);
    draw [line width=1pt,-,black] (y) -- (x2);
    draw [line width=3pt,-,full dash=on 3pt off 6pt,black] (x1) to[bend right=40] (x2);
    endtikzpicture
    endfigure

    enddocument


    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%2f482750%2ftikz-centering-dash-pattern-between-two-nodes%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









      6














      There are standard answers, but all of them are very advanced and hard to understand. However, with markings one can "mirror" a half of the curve like this.



      documentclass[tikz]standalone
      usetikzlibraryshapes,decorations,circuits.logic.US,circuits.logic.IEC,fit,external
      tikzstyleloosely dashed=[dash pattern=on 4pt off 8pt]
      tikzstyleloosely dashed2=[dash pattern=on 4pt off 8pt]

      begindocument
      begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
      path
      (0,3) node(y) $Y$
      (-1.5,0) node[draw, line width=1pt](x1) $X_1$
      (1.5,0) node[draw, line width=1pt](x2) $X_2$;
      draw [line width=1pt,-,black] (y) -- (x1);
      draw [line width=1pt,-,black] (y) -- (x2);
      %draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);
      path [postaction=
      decorate,
      decoration=
      markings,
      mark=at position 0.5 with coordinate (mid);

      ] (x1) to[bend right=40] (x2);
      draw[line width=3pt,-,loosely dashed] ([xshift=-4pt]mid) to[out=180,in=-40] (x1);
      draw[line width=3pt,-,loosely dashed] ([xshift=4pt]mid) to[out=0,in=-140] (x2);
      endtikzpicture
      enddocument


      enter image description here






      share|improve this answer



























        6














        There are standard answers, but all of them are very advanced and hard to understand. However, with markings one can "mirror" a half of the curve like this.



        documentclass[tikz]standalone
        usetikzlibraryshapes,decorations,circuits.logic.US,circuits.logic.IEC,fit,external
        tikzstyleloosely dashed=[dash pattern=on 4pt off 8pt]
        tikzstyleloosely dashed2=[dash pattern=on 4pt off 8pt]

        begindocument
        begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
        path
        (0,3) node(y) $Y$
        (-1.5,0) node[draw, line width=1pt](x1) $X_1$
        (1.5,0) node[draw, line width=1pt](x2) $X_2$;
        draw [line width=1pt,-,black] (y) -- (x1);
        draw [line width=1pt,-,black] (y) -- (x2);
        %draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);
        path [postaction=
        decorate,
        decoration=
        markings,
        mark=at position 0.5 with coordinate (mid);

        ] (x1) to[bend right=40] (x2);
        draw[line width=3pt,-,loosely dashed] ([xshift=-4pt]mid) to[out=180,in=-40] (x1);
        draw[line width=3pt,-,loosely dashed] ([xshift=4pt]mid) to[out=0,in=-140] (x2);
        endtikzpicture
        enddocument


        enter image description here






        share|improve this answer

























          6












          6








          6







          There are standard answers, but all of them are very advanced and hard to understand. However, with markings one can "mirror" a half of the curve like this.



          documentclass[tikz]standalone
          usetikzlibraryshapes,decorations,circuits.logic.US,circuits.logic.IEC,fit,external
          tikzstyleloosely dashed=[dash pattern=on 4pt off 8pt]
          tikzstyleloosely dashed2=[dash pattern=on 4pt off 8pt]

          begindocument
          begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
          path
          (0,3) node(y) $Y$
          (-1.5,0) node[draw, line width=1pt](x1) $X_1$
          (1.5,0) node[draw, line width=1pt](x2) $X_2$;
          draw [line width=1pt,-,black] (y) -- (x1);
          draw [line width=1pt,-,black] (y) -- (x2);
          %draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);
          path [postaction=
          decorate,
          decoration=
          markings,
          mark=at position 0.5 with coordinate (mid);

          ] (x1) to[bend right=40] (x2);
          draw[line width=3pt,-,loosely dashed] ([xshift=-4pt]mid) to[out=180,in=-40] (x1);
          draw[line width=3pt,-,loosely dashed] ([xshift=4pt]mid) to[out=0,in=-140] (x2);
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer













          There are standard answers, but all of them are very advanced and hard to understand. However, with markings one can "mirror" a half of the curve like this.



          documentclass[tikz]standalone
          usetikzlibraryshapes,decorations,circuits.logic.US,circuits.logic.IEC,fit,external
          tikzstyleloosely dashed=[dash pattern=on 4pt off 8pt]
          tikzstyleloosely dashed2=[dash pattern=on 4pt off 8pt]

          begindocument
          begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
          path
          (0,3) node(y) $Y$
          (-1.5,0) node[draw, line width=1pt](x1) $X_1$
          (1.5,0) node[draw, line width=1pt](x2) $X_2$;
          draw [line width=1pt,-,black] (y) -- (x1);
          draw [line width=1pt,-,black] (y) -- (x2);
          %draw [line width=3pt,-,loosely dashed,black] (x1.south east) to[bend right=40] (x2.south west);
          path [postaction=
          decorate,
          decoration=
          markings,
          mark=at position 0.5 with coordinate (mid);

          ] (x1) to[bend right=40] (x2);
          draw[line width=3pt,-,loosely dashed] ([xshift=-4pt]mid) to[out=180,in=-40] (x1);
          draw[line width=3pt,-,loosely dashed] ([xshift=4pt]mid) to[out=0,in=-140] (x2);
          endtikzpicture
          enddocument


          enter image description here







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Apr 2 at 12:56









          JouleVJouleV

          14.8k22666




          14.8k22666





















              3














              Another way is to measure the path and then stretch the dash length a bit in such a way that the path ends with a full on. Please also note that tikzstyle is deprecated.



              documentclassarticle
              usepackagetikz
              usetikzlibrarydecorations.markings
              tikzset
              full dash/.style args=on #1 off #2
              decoration=
              markings,
              mark=at position 0 with
              pgfmathsetmacromystretch((pgfdecoratedpathlength-#1)/(#1+#2))/int((pgfdecoratedpathlength-#1)/(#1+#2))
              pgfmathsetmacromyon#1*mystretch
              xdefmyonmyon
              pgfmathsetmacromyoff#2*mystretch
              xdefmyoffmyoff
              ,
              ,
              preaction=decorate,draw=none,
              postaction=draw,dash pattern=on myon pt off myoff pt
              ,

              begindocument

              beginfigure
              centering
              begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
              path
              (0,3) node(y) $Y$
              (-1.5,0) node[draw, line width=1pt](x1) $X_1$
              (1.5,0) node[draw, line width=1pt](x2) $X_2$;
              draw [line width=1pt,-,black] (y) -- (x1);
              draw [line width=1pt,-,black] (y) -- (x2);
              draw [line width=3pt,-,full dash=on 3pt off 6pt,black] (x1) to[bend right=40] (x2);
              endtikzpicture
              endfigure

              enddocument


              enter image description here






              share|improve this answer





























                3














                Another way is to measure the path and then stretch the dash length a bit in such a way that the path ends with a full on. Please also note that tikzstyle is deprecated.



                documentclassarticle
                usepackagetikz
                usetikzlibrarydecorations.markings
                tikzset
                full dash/.style args=on #1 off #2
                decoration=
                markings,
                mark=at position 0 with
                pgfmathsetmacromystretch((pgfdecoratedpathlength-#1)/(#1+#2))/int((pgfdecoratedpathlength-#1)/(#1+#2))
                pgfmathsetmacromyon#1*mystretch
                xdefmyonmyon
                pgfmathsetmacromyoff#2*mystretch
                xdefmyoffmyoff
                ,
                ,
                preaction=decorate,draw=none,
                postaction=draw,dash pattern=on myon pt off myoff pt
                ,

                begindocument

                beginfigure
                centering
                begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
                path
                (0,3) node(y) $Y$
                (-1.5,0) node[draw, line width=1pt](x1) $X_1$
                (1.5,0) node[draw, line width=1pt](x2) $X_2$;
                draw [line width=1pt,-,black] (y) -- (x1);
                draw [line width=1pt,-,black] (y) -- (x2);
                draw [line width=3pt,-,full dash=on 3pt off 6pt,black] (x1) to[bend right=40] (x2);
                endtikzpicture
                endfigure

                enddocument


                enter image description here






                share|improve this answer



























                  3












                  3








                  3







                  Another way is to measure the path and then stretch the dash length a bit in such a way that the path ends with a full on. Please also note that tikzstyle is deprecated.



                  documentclassarticle
                  usepackagetikz
                  usetikzlibrarydecorations.markings
                  tikzset
                  full dash/.style args=on #1 off #2
                  decoration=
                  markings,
                  mark=at position 0 with
                  pgfmathsetmacromystretch((pgfdecoratedpathlength-#1)/(#1+#2))/int((pgfdecoratedpathlength-#1)/(#1+#2))
                  pgfmathsetmacromyon#1*mystretch
                  xdefmyonmyon
                  pgfmathsetmacromyoff#2*mystretch
                  xdefmyoffmyoff
                  ,
                  ,
                  preaction=decorate,draw=none,
                  postaction=draw,dash pattern=on myon pt off myoff pt
                  ,

                  begindocument

                  beginfigure
                  centering
                  begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
                  path
                  (0,3) node(y) $Y$
                  (-1.5,0) node[draw, line width=1pt](x1) $X_1$
                  (1.5,0) node[draw, line width=1pt](x2) $X_2$;
                  draw [line width=1pt,-,black] (y) -- (x1);
                  draw [line width=1pt,-,black] (y) -- (x2);
                  draw [line width=3pt,-,full dash=on 3pt off 6pt,black] (x1) to[bend right=40] (x2);
                  endtikzpicture
                  endfigure

                  enddocument


                  enter image description here






                  share|improve this answer















                  Another way is to measure the path and then stretch the dash length a bit in such a way that the path ends with a full on. Please also note that tikzstyle is deprecated.



                  documentclassarticle
                  usepackagetikz
                  usetikzlibrarydecorations.markings
                  tikzset
                  full dash/.style args=on #1 off #2
                  decoration=
                  markings,
                  mark=at position 0 with
                  pgfmathsetmacromystretch((pgfdecoratedpathlength-#1)/(#1+#2))/int((pgfdecoratedpathlength-#1)/(#1+#2))
                  pgfmathsetmacromyon#1*mystretch
                  xdefmyonmyon
                  pgfmathsetmacromyoff#2*mystretch
                  xdefmyoffmyoff
                  ,
                  ,
                  preaction=decorate,draw=none,
                  postaction=draw,dash pattern=on myon pt off myoff pt
                  ,

                  begindocument

                  beginfigure
                  centering
                  begintikzpicture[every node/.style = draw=none, text=black, circle, minimum size = 13mm, fill=gray!25]
                  path
                  (0,3) node(y) $Y$
                  (-1.5,0) node[draw, line width=1pt](x1) $X_1$
                  (1.5,0) node[draw, line width=1pt](x2) $X_2$;
                  draw [line width=1pt,-,black] (y) -- (x1);
                  draw [line width=1pt,-,black] (y) -- (x2);
                  draw [line width=3pt,-,full dash=on 3pt off 6pt,black] (x1) to[bend right=40] (x2);
                  endtikzpicture
                  endfigure

                  enddocument


                  enter image description here







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Apr 2 at 14:53









                  JouleV

                  14.8k22666




                  14.8k22666










                  answered Apr 2 at 14:52









                  marmotmarmot

                  120k6156292




                  120k6156292



























                      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%2f482750%2ftikz-centering-dash-pattern-between-two-nodes%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

                      Triangular numbers and gcdProving sum of a set is $0 pmod n$ if $n$ is odd, or $fracn2 pmod n$ if $n$ is even?Is greatest common divisor of two numbers really their smallest linear combination?GCD, LCM RelationshipProve a set of nonnegative integers with greatest common divisor 1 and closed under addition has all but finite many nonnegative integers.all pairs of a and b in an equation containing gcdTriangular Numbers Modulo $k$ - Hit All Values?Understanding the Existence and Uniqueness of the GCDGCD and LCM with logical symbolsThe greatest common divisor of two positive integers less than 100 is equal to 3. Their least common multiple is twelve times one of the integers.Suppose that for all integers $x$, $x|a$ and $x|b$ if and only if $x|c$. Then $c = gcd(a,b)$Which is the gcd of 2 numbers which are multiplied and the result is 600000?

                      Ingelân Ynhâld Etymology | Geografy | Skiednis | Polityk en bestjoer | Ekonomy | Demografy | Kultuer | Klimaat | Sjoch ek | Keppelings om utens | Boarnen, noaten en referinsjes Navigaasjemenuwww.gov.ukOffisjele webside fan it regear fan it Feriene KeninkrykOffisjele webside fan it Britske FerkearsburoNederlânsktalige ynformaasje fan it Britske FerkearsburoOffisjele webside fan English Heritage, de organisaasje dy't him ynset foar it behâld fan it Ingelske kultuergoedYnwennertallen fan alle Britske stêden út 'e folkstelling fan 2011Notes en References, op dizze sideEngland

                      Հադիս Բովանդակություն Անվանում և նշանակություն | Դասակարգում | Աղբյուրներ | Նավարկման ցանկ