forest, changing `s sep` such that it is at each second end node larger? The Next CEO of Stack...

A pseudo-riley?

When airplanes disconnect from a tanker during air to air refueling, why do they bank so sharply to the right?

% symbol leads to superlong (forever?) compilations

Why Were Madagascar and New Zealand Discovered So Late?

How to start emacs in "nothing" mode (`fundamental-mode`)

How to write the block matrix in LaTex?

Why here is plural "We went to the movies last night."

How can I get through very long and very dry, but also very useful technical documents when learning a new tool?

Term for the "extreme-extension" version of a straw man fallacy?

Why didn't Theresa May consult with Parliament before negotiating a deal with the EU?

Opposite of a diet

What happens if you roll doubles 3 times then land on "Go to jail?"

What is the point of a new vote on May's deal when the indicative votes suggest she will not win?

Are there languages with no euphemisms?

Why does GHC infer a monomorphic type here, even with MonomorphismRestriction disabled?

How easy is it to start Magic from scratch?

How to be diplomatic in refusing to write code that breaches the privacy of our users

Fastest way to shutdown Ubuntu Mate 18.10

What is meant by a M next to a roman numeral?

How do I construct this japanese bowl?

How do I get the green key off the shelf in the Dobby level of Lego Harry Potter 2?

How to Reset Passwords on Multiple Websites Easily?

Example of a Mathematician/Physicist whose Other Publications during their PhD eclipsed their PhD Thesis

Why did we only see the N-1 starfighters in one film?



forest, changing `s sep` such that it is at each second end node larger?



The Next CEO of Stack OverflowOverlapping nodes in a decision treeCreating a tree using the forest package such that different nodes are alignedLaTeX: how to make a horizontal tree that is closed at the end (forest)Radial node arrangement in Forest












4















The following MWE generate a tree diagram (using the forest package) as I like to have:



documentclass[border=3mm]{standalone}
usepackage{forest}

begin{document}
tikzset{ELS/.style={% Edge Label Style
font=footnotesize, inner sep=2pt,
anchor=south #1, % label position: "ELS=west" or "EL=east"
pos=0.6}
}
newcommandEL{edge label}
begin{forest}
for tree={
draw, semithick,
parent anchor=children,
l sep=13 mm,
s sep= 1 mm,
anchor=parent,% <--- work around alignment issue
},
EL/.style = {
before typesetting nodes={%% <--- work around edge labels positioning
where n=1{%
edge label/.wrap value={node[ELS=east]{$#1$}}
}{%
edge label/.wrap value={node[ELS=west]{$#1$}}
}
}
}
[Start
[A, EL=leq 0.5
[A1, EL=leq 0.3
[A11, EL=leq 0.7]
[A12, EL=geq 0.7]
]
[,phantom,fit=band] % <---
[A2, EL=geq 0.3
[A21, EL=leq 0.7]
[A22, EL=geq 0.7]
]
]
[,phantom,fit=band] % <---
[B, EL=geq 0.5
[B1, EL=leq 0.3
[B11, EL=leq 0.7]
[B12, EL=geq 0.7]
]
[,phantom,fit=band] % <---
[B2, EL=geq 0.3
[B11, EL=leq 0.7]
[B12, EL=geq 0.7]
]
]
]
end{forest}
end{document}


enter image description here



I wonder, if it is possible to obtain the same result without inserting phantom nodes? Also I will appreciate any improvements of the my MWE code.



addendum: one way is insert manually s sep as is done code below:



[Start,s sep=4mm
[A, EL=leq 0.5,s sep=4mm
[A1, EL=leq 0.3,s sep=1mm
[A11, EL=leq 0.7]
[A12, EL=geq 0.7]
]
[A2, EL=geq 0.3,s sep=1mm
[A21, EL=leq 0.7]
[A22, EL=geq 0.7]
]
]
[B, EL=geq 0.5,s sep=4mm
[B1, EL=leq 0.3,s sep=1mm
[B11, EL=leq 0.7]
[B12, EL=geq 0.7]
]
[B2, EL=geq 0.3,s sep=1mm
[B11, EL=leq 0.7]
[B12, EL=geq 0.7]
]
]
]


considering above solution the question is now: is possible to write a code in fortree preamble, which will replace tose manulaly inserted s sep=...?










share|improve this question





























    4















    The following MWE generate a tree diagram (using the forest package) as I like to have:



    documentclass[border=3mm]{standalone}
    usepackage{forest}

    begin{document}
    tikzset{ELS/.style={% Edge Label Style
    font=footnotesize, inner sep=2pt,
    anchor=south #1, % label position: "ELS=west" or "EL=east"
    pos=0.6}
    }
    newcommandEL{edge label}
    begin{forest}
    for tree={
    draw, semithick,
    parent anchor=children,
    l sep=13 mm,
    s sep= 1 mm,
    anchor=parent,% <--- work around alignment issue
    },
    EL/.style = {
    before typesetting nodes={%% <--- work around edge labels positioning
    where n=1{%
    edge label/.wrap value={node[ELS=east]{$#1$}}
    }{%
    edge label/.wrap value={node[ELS=west]{$#1$}}
    }
    }
    }
    [Start
    [A, EL=leq 0.5
    [A1, EL=leq 0.3
    [A11, EL=leq 0.7]
    [A12, EL=geq 0.7]
    ]
    [,phantom,fit=band] % <---
    [A2, EL=geq 0.3
    [A21, EL=leq 0.7]
    [A22, EL=geq 0.7]
    ]
    ]
    [,phantom,fit=band] % <---
    [B, EL=geq 0.5
    [B1, EL=leq 0.3
    [B11, EL=leq 0.7]
    [B12, EL=geq 0.7]
    ]
    [,phantom,fit=band] % <---
    [B2, EL=geq 0.3
    [B11, EL=leq 0.7]
    [B12, EL=geq 0.7]
    ]
    ]
    ]
    end{forest}
    end{document}


    enter image description here



    I wonder, if it is possible to obtain the same result without inserting phantom nodes? Also I will appreciate any improvements of the my MWE code.



    addendum: one way is insert manually s sep as is done code below:



    [Start,s sep=4mm
    [A, EL=leq 0.5,s sep=4mm
    [A1, EL=leq 0.3,s sep=1mm
    [A11, EL=leq 0.7]
    [A12, EL=geq 0.7]
    ]
    [A2, EL=geq 0.3,s sep=1mm
    [A21, EL=leq 0.7]
    [A22, EL=geq 0.7]
    ]
    ]
    [B, EL=geq 0.5,s sep=4mm
    [B1, EL=leq 0.3,s sep=1mm
    [B11, EL=leq 0.7]
    [B12, EL=geq 0.7]
    ]
    [B2, EL=geq 0.3,s sep=1mm
    [B11, EL=leq 0.7]
    [B12, EL=geq 0.7]
    ]
    ]
    ]


    considering above solution the question is now: is possible to write a code in fortree preamble, which will replace tose manulaly inserted s sep=...?










    share|improve this question



























      4












      4








      4








      The following MWE generate a tree diagram (using the forest package) as I like to have:



      documentclass[border=3mm]{standalone}
      usepackage{forest}

      begin{document}
      tikzset{ELS/.style={% Edge Label Style
      font=footnotesize, inner sep=2pt,
      anchor=south #1, % label position: "ELS=west" or "EL=east"
      pos=0.6}
      }
      newcommandEL{edge label}
      begin{forest}
      for tree={
      draw, semithick,
      parent anchor=children,
      l sep=13 mm,
      s sep= 1 mm,
      anchor=parent,% <--- work around alignment issue
      },
      EL/.style = {
      before typesetting nodes={%% <--- work around edge labels positioning
      where n=1{%
      edge label/.wrap value={node[ELS=east]{$#1$}}
      }{%
      edge label/.wrap value={node[ELS=west]{$#1$}}
      }
      }
      }
      [Start
      [A, EL=leq 0.5
      [A1, EL=leq 0.3
      [A11, EL=leq 0.7]
      [A12, EL=geq 0.7]
      ]
      [,phantom,fit=band] % <---
      [A2, EL=geq 0.3
      [A21, EL=leq 0.7]
      [A22, EL=geq 0.7]
      ]
      ]
      [,phantom,fit=band] % <---
      [B, EL=geq 0.5
      [B1, EL=leq 0.3
      [B11, EL=leq 0.7]
      [B12, EL=geq 0.7]
      ]
      [,phantom,fit=band] % <---
      [B2, EL=geq 0.3
      [B11, EL=leq 0.7]
      [B12, EL=geq 0.7]
      ]
      ]
      ]
      end{forest}
      end{document}


      enter image description here



      I wonder, if it is possible to obtain the same result without inserting phantom nodes? Also I will appreciate any improvements of the my MWE code.



      addendum: one way is insert manually s sep as is done code below:



      [Start,s sep=4mm
      [A, EL=leq 0.5,s sep=4mm
      [A1, EL=leq 0.3,s sep=1mm
      [A11, EL=leq 0.7]
      [A12, EL=geq 0.7]
      ]
      [A2, EL=geq 0.3,s sep=1mm
      [A21, EL=leq 0.7]
      [A22, EL=geq 0.7]
      ]
      ]
      [B, EL=geq 0.5,s sep=4mm
      [B1, EL=leq 0.3,s sep=1mm
      [B11, EL=leq 0.7]
      [B12, EL=geq 0.7]
      ]
      [B2, EL=geq 0.3,s sep=1mm
      [B11, EL=leq 0.7]
      [B12, EL=geq 0.7]
      ]
      ]
      ]


      considering above solution the question is now: is possible to write a code in fortree preamble, which will replace tose manulaly inserted s sep=...?










      share|improve this question
















      The following MWE generate a tree diagram (using the forest package) as I like to have:



      documentclass[border=3mm]{standalone}
      usepackage{forest}

      begin{document}
      tikzset{ELS/.style={% Edge Label Style
      font=footnotesize, inner sep=2pt,
      anchor=south #1, % label position: "ELS=west" or "EL=east"
      pos=0.6}
      }
      newcommandEL{edge label}
      begin{forest}
      for tree={
      draw, semithick,
      parent anchor=children,
      l sep=13 mm,
      s sep= 1 mm,
      anchor=parent,% <--- work around alignment issue
      },
      EL/.style = {
      before typesetting nodes={%% <--- work around edge labels positioning
      where n=1{%
      edge label/.wrap value={node[ELS=east]{$#1$}}
      }{%
      edge label/.wrap value={node[ELS=west]{$#1$}}
      }
      }
      }
      [Start
      [A, EL=leq 0.5
      [A1, EL=leq 0.3
      [A11, EL=leq 0.7]
      [A12, EL=geq 0.7]
      ]
      [,phantom,fit=band] % <---
      [A2, EL=geq 0.3
      [A21, EL=leq 0.7]
      [A22, EL=geq 0.7]
      ]
      ]
      [,phantom,fit=band] % <---
      [B, EL=geq 0.5
      [B1, EL=leq 0.3
      [B11, EL=leq 0.7]
      [B12, EL=geq 0.7]
      ]
      [,phantom,fit=band] % <---
      [B2, EL=geq 0.3
      [B11, EL=leq 0.7]
      [B12, EL=geq 0.7]
      ]
      ]
      ]
      end{forest}
      end{document}


      enter image description here



      I wonder, if it is possible to obtain the same result without inserting phantom nodes? Also I will appreciate any improvements of the my MWE code.



      addendum: one way is insert manually s sep as is done code below:



      [Start,s sep=4mm
      [A, EL=leq 0.5,s sep=4mm
      [A1, EL=leq 0.3,s sep=1mm
      [A11, EL=leq 0.7]
      [A12, EL=geq 0.7]
      ]
      [A2, EL=geq 0.3,s sep=1mm
      [A21, EL=leq 0.7]
      [A22, EL=geq 0.7]
      ]
      ]
      [B, EL=geq 0.5,s sep=4mm
      [B1, EL=leq 0.3,s sep=1mm
      [B11, EL=leq 0.7]
      [B12, EL=geq 0.7]
      ]
      [B2, EL=geq 0.3,s sep=1mm
      [B11, EL=leq 0.7]
      [B12, EL=geq 0.7]
      ]
      ]
      ]


      considering above solution the question is now: is possible to write a code in fortree preamble, which will replace tose manulaly inserted s sep=...?







      forest






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 3 hours ago







      Zarko

















      asked 4 hours ago









      ZarkoZarko

      128k868167




      128k868167






















          2 Answers
          2






          active

          oldest

          votes


















          3














          Yes. Use s sep+.



          documentclass[border=3mm]{standalone}
          usepackage{forest}

          begin{document}
          tikzset{ELS/.style={% Edge Label Style
          font=footnotesize, inner sep=2pt,
          anchor=south #1, % label position: "ELS=west" or "EL=east"
          pos=0.6}
          }
          newcommandEL{edge label}
          begin{forest}
          for tree={
          draw, semithick,
          parent anchor=children,
          l sep=13 mm,
          s sep+=2mm,
          anchor=parent,% <--- work around alignment issue
          },
          EL/.style = {
          before typesetting nodes={%% <--- work around edge labels positioning
          where n=1{%
          edge label/.wrap value={node[ELS=east]{$#1$}}
          }{%
          edge label/.wrap value={node[ELS=west]{$#1$}}
          }
          }
          }
          [Start
          [A, EL=leq 0.5
          [A1, EL=leq 0.3,s sep+=-3mm
          [A11, EL=leq 0.7]
          [A12, EL=geq 0.7]
          ]
          %[,phantom,fit=band] % <---
          [A2, EL=geq 0.3,s sep+=-3mm
          [A21, EL=leq 0.7]
          [A22, EL=geq 0.7]
          ]
          ]
          %[,phantom,fit=band] % <---
          [B, EL=geq 0.5
          [B1, EL=leq 0.3,s sep+=-3mm
          [B11, EL=leq 0.7]
          [B12, EL=geq 0.7]
          ]
          %[,phantom,fit=band] % <---
          [B2, EL=geq 0.3,s sep+=-3mm
          [B11, EL=leq 0.7]
          [B12, EL=geq 0.7]
          ]
          ]
          ]
          end{forest}
          end{document}


          enter image description here



          And I had this on my machine before Zarko pinged me. (I didn't think it is worthwhile to add an update for it.)



          documentclass[border=3mm]{standalone}
          usepackage{forest}

          begin{document}
          tikzset{ELS/.style={% Edge Label Style
          font=footnotesize, inner sep=2pt,
          anchor=south #1, % label position: "ELS=west" or "EL=east"
          pos=0.6}
          }
          newcommandEL{edge label}
          begin{forest}
          for tree={
          draw, semithick,
          parent anchor=children,
          s sep=4mm,
          l sep=13 mm,
          anchor=parent,% <--- work around alignment issue
          },
          EL/.style = {
          before typesetting nodes={%% <--- work around edge labels positioning
          where n=1{%
          edge label/.wrap value={node[ELS=east]{$#1$}}
          }{%
          edge label/.wrap value={node[ELS=west]{$#1$}}
          },
          where level=2{s sep+=-1mm}{s sep+=0.5mm}
          }
          }
          [Start
          [A, EL=leq 0.5
          [A1, EL=leq 0.3
          [A11, EL=leq 0.7]
          [A12, EL=geq 0.7]
          ]
          %[,phantom,fit=band] % <---
          [A2, EL=geq 0.3
          [A21, EL=leq 0.7]
          [A22, EL=geq 0.7]
          ]
          ]
          %[,phantom,fit=band] % <---
          [B, EL=geq 0.5
          [B1, EL=leq 0.3
          [B11, EL=leq 0.7]
          [B12, EL=geq 0.7]
          ]
          %[,phantom,fit=band] % <---
          [B2, EL=geq 0.3
          [B11, EL=leq 0.7]
          [B12, EL=geq 0.7]
          ]
          ]
          ]
          end{forest}
          end{document}


          enter image description here






          share|improve this answer


























          • thank you very much for answer. apparently my question is not clear enough. i like to obtain in question showed image with removed ˙phantom` nodes (indicated by % <---). as i see, in your suggestion the distances between nodes at level 0 are equal. i like to have smaller between A11 and A12 and bigger between A21 and A22, etc.

            – Zarko
            3 hours ago











          • @Zarko Sorry, didn't read carefully. Better now?

            – marmot
            3 hours ago











          • yes, that is. i need to check how you achieve this :-)

            – Zarko
            3 hours ago











          • with help of your answer and after reading forest documentation again (and again) i figured out solution which i like to have: from your code i remove all s sep+=-3mm from nodes on the second level and to fortree add option where level=2{s sep+=-1mm}{}. it works fine.

            – Zarko
            47 mins ago













          • @Zarko Yes, I have almost the same thing on my machine. where level=2{s sep+=...}{s sep+=...} but with other dimensions.

            – marmot
            44 mins ago



















          2














          Just for record. With help of nice @marmot answer and after reading forest documentation again (and again) i figured out the solution which i looked for:



          documentclass[border=3mm, preview]{standalone}
          usepackage{forest}

          begin{document}
          tikzset{ELS/.style={% Edge Label Style
          font=footnotesizesffamily, inner sep=2pt,
          anchor=south #1, % label position: "ELS=west" or "ELS=east"
          pos=0.6}
          }
          begin{forest}
          for tree={
          draw,
          semithick,
          % fill=orange!20,
          parent anchor=children,
          l sep=13 mm,
          s sep=4mm,
          where level=2{s sep=-1mm}{}
          },
          EL/.style = {
          before typesetting nodes={%
          where n=1{%
          edge label/.wrap value={node[ELS=east]{$#1$}}
          }{%
          edge label/.wrap value={node[ELS=west]{$#1$}}
          }
          }
          }
          [Start
          [A, EL=leq 0.5
          [A1, EL=leq 0.3
          [A11, EL=leq 0.7]
          [A12, EL=geq 0.7]
          ]
          [A2, EL=geq 0.3
          [A21, EL=leq 0.7]
          [A22, EL=geq 0.7]
          ]
          ]
          [B, EL=geq 0.5
          [B1, EL=leq 0.3
          [B11, EL=leq 0.7]
          [B12, EL=geq 0.7]
          ]
          [B2, EL=geq 0.3
          [B11, EL=leq 0.7]
          [B12, EL=geq 0.7]
          ]
          ]
          ] end{forest}
          end{document}


          which gives desired result:



          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%2f481967%2fforest-changing-s-sep-such-that-it-is-at-each-second-end-node-larger%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














            Yes. Use s sep+.



            documentclass[border=3mm]{standalone}
            usepackage{forest}

            begin{document}
            tikzset{ELS/.style={% Edge Label Style
            font=footnotesize, inner sep=2pt,
            anchor=south #1, % label position: "ELS=west" or "EL=east"
            pos=0.6}
            }
            newcommandEL{edge label}
            begin{forest}
            for tree={
            draw, semithick,
            parent anchor=children,
            l sep=13 mm,
            s sep+=2mm,
            anchor=parent,% <--- work around alignment issue
            },
            EL/.style = {
            before typesetting nodes={%% <--- work around edge labels positioning
            where n=1{%
            edge label/.wrap value={node[ELS=east]{$#1$}}
            }{%
            edge label/.wrap value={node[ELS=west]{$#1$}}
            }
            }
            }
            [Start
            [A, EL=leq 0.5
            [A1, EL=leq 0.3,s sep+=-3mm
            [A11, EL=leq 0.7]
            [A12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [A2, EL=geq 0.3,s sep+=-3mm
            [A21, EL=leq 0.7]
            [A22, EL=geq 0.7]
            ]
            ]
            %[,phantom,fit=band] % <---
            [B, EL=geq 0.5
            [B1, EL=leq 0.3,s sep+=-3mm
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [B2, EL=geq 0.3,s sep+=-3mm
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            ]
            ]
            end{forest}
            end{document}


            enter image description here



            And I had this on my machine before Zarko pinged me. (I didn't think it is worthwhile to add an update for it.)



            documentclass[border=3mm]{standalone}
            usepackage{forest}

            begin{document}
            tikzset{ELS/.style={% Edge Label Style
            font=footnotesize, inner sep=2pt,
            anchor=south #1, % label position: "ELS=west" or "EL=east"
            pos=0.6}
            }
            newcommandEL{edge label}
            begin{forest}
            for tree={
            draw, semithick,
            parent anchor=children,
            s sep=4mm,
            l sep=13 mm,
            anchor=parent,% <--- work around alignment issue
            },
            EL/.style = {
            before typesetting nodes={%% <--- work around edge labels positioning
            where n=1{%
            edge label/.wrap value={node[ELS=east]{$#1$}}
            }{%
            edge label/.wrap value={node[ELS=west]{$#1$}}
            },
            where level=2{s sep+=-1mm}{s sep+=0.5mm}
            }
            }
            [Start
            [A, EL=leq 0.5
            [A1, EL=leq 0.3
            [A11, EL=leq 0.7]
            [A12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [A2, EL=geq 0.3
            [A21, EL=leq 0.7]
            [A22, EL=geq 0.7]
            ]
            ]
            %[,phantom,fit=band] % <---
            [B, EL=geq 0.5
            [B1, EL=leq 0.3
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [B2, EL=geq 0.3
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            ]
            ]
            end{forest}
            end{document}


            enter image description here






            share|improve this answer


























            • thank you very much for answer. apparently my question is not clear enough. i like to obtain in question showed image with removed ˙phantom` nodes (indicated by % <---). as i see, in your suggestion the distances between nodes at level 0 are equal. i like to have smaller between A11 and A12 and bigger between A21 and A22, etc.

              – Zarko
              3 hours ago











            • @Zarko Sorry, didn't read carefully. Better now?

              – marmot
              3 hours ago











            • yes, that is. i need to check how you achieve this :-)

              – Zarko
              3 hours ago











            • with help of your answer and after reading forest documentation again (and again) i figured out solution which i like to have: from your code i remove all s sep+=-3mm from nodes on the second level and to fortree add option where level=2{s sep+=-1mm}{}. it works fine.

              – Zarko
              47 mins ago













            • @Zarko Yes, I have almost the same thing on my machine. where level=2{s sep+=...}{s sep+=...} but with other dimensions.

              – marmot
              44 mins ago
















            3














            Yes. Use s sep+.



            documentclass[border=3mm]{standalone}
            usepackage{forest}

            begin{document}
            tikzset{ELS/.style={% Edge Label Style
            font=footnotesize, inner sep=2pt,
            anchor=south #1, % label position: "ELS=west" or "EL=east"
            pos=0.6}
            }
            newcommandEL{edge label}
            begin{forest}
            for tree={
            draw, semithick,
            parent anchor=children,
            l sep=13 mm,
            s sep+=2mm,
            anchor=parent,% <--- work around alignment issue
            },
            EL/.style = {
            before typesetting nodes={%% <--- work around edge labels positioning
            where n=1{%
            edge label/.wrap value={node[ELS=east]{$#1$}}
            }{%
            edge label/.wrap value={node[ELS=west]{$#1$}}
            }
            }
            }
            [Start
            [A, EL=leq 0.5
            [A1, EL=leq 0.3,s sep+=-3mm
            [A11, EL=leq 0.7]
            [A12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [A2, EL=geq 0.3,s sep+=-3mm
            [A21, EL=leq 0.7]
            [A22, EL=geq 0.7]
            ]
            ]
            %[,phantom,fit=band] % <---
            [B, EL=geq 0.5
            [B1, EL=leq 0.3,s sep+=-3mm
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [B2, EL=geq 0.3,s sep+=-3mm
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            ]
            ]
            end{forest}
            end{document}


            enter image description here



            And I had this on my machine before Zarko pinged me. (I didn't think it is worthwhile to add an update for it.)



            documentclass[border=3mm]{standalone}
            usepackage{forest}

            begin{document}
            tikzset{ELS/.style={% Edge Label Style
            font=footnotesize, inner sep=2pt,
            anchor=south #1, % label position: "ELS=west" or "EL=east"
            pos=0.6}
            }
            newcommandEL{edge label}
            begin{forest}
            for tree={
            draw, semithick,
            parent anchor=children,
            s sep=4mm,
            l sep=13 mm,
            anchor=parent,% <--- work around alignment issue
            },
            EL/.style = {
            before typesetting nodes={%% <--- work around edge labels positioning
            where n=1{%
            edge label/.wrap value={node[ELS=east]{$#1$}}
            }{%
            edge label/.wrap value={node[ELS=west]{$#1$}}
            },
            where level=2{s sep+=-1mm}{s sep+=0.5mm}
            }
            }
            [Start
            [A, EL=leq 0.5
            [A1, EL=leq 0.3
            [A11, EL=leq 0.7]
            [A12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [A2, EL=geq 0.3
            [A21, EL=leq 0.7]
            [A22, EL=geq 0.7]
            ]
            ]
            %[,phantom,fit=band] % <---
            [B, EL=geq 0.5
            [B1, EL=leq 0.3
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [B2, EL=geq 0.3
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            ]
            ]
            end{forest}
            end{document}


            enter image description here






            share|improve this answer


























            • thank you very much for answer. apparently my question is not clear enough. i like to obtain in question showed image with removed ˙phantom` nodes (indicated by % <---). as i see, in your suggestion the distances between nodes at level 0 are equal. i like to have smaller between A11 and A12 and bigger between A21 and A22, etc.

              – Zarko
              3 hours ago











            • @Zarko Sorry, didn't read carefully. Better now?

              – marmot
              3 hours ago











            • yes, that is. i need to check how you achieve this :-)

              – Zarko
              3 hours ago











            • with help of your answer and after reading forest documentation again (and again) i figured out solution which i like to have: from your code i remove all s sep+=-3mm from nodes on the second level and to fortree add option where level=2{s sep+=-1mm}{}. it works fine.

              – Zarko
              47 mins ago













            • @Zarko Yes, I have almost the same thing on my machine. where level=2{s sep+=...}{s sep+=...} but with other dimensions.

              – marmot
              44 mins ago














            3












            3








            3







            Yes. Use s sep+.



            documentclass[border=3mm]{standalone}
            usepackage{forest}

            begin{document}
            tikzset{ELS/.style={% Edge Label Style
            font=footnotesize, inner sep=2pt,
            anchor=south #1, % label position: "ELS=west" or "EL=east"
            pos=0.6}
            }
            newcommandEL{edge label}
            begin{forest}
            for tree={
            draw, semithick,
            parent anchor=children,
            l sep=13 mm,
            s sep+=2mm,
            anchor=parent,% <--- work around alignment issue
            },
            EL/.style = {
            before typesetting nodes={%% <--- work around edge labels positioning
            where n=1{%
            edge label/.wrap value={node[ELS=east]{$#1$}}
            }{%
            edge label/.wrap value={node[ELS=west]{$#1$}}
            }
            }
            }
            [Start
            [A, EL=leq 0.5
            [A1, EL=leq 0.3,s sep+=-3mm
            [A11, EL=leq 0.7]
            [A12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [A2, EL=geq 0.3,s sep+=-3mm
            [A21, EL=leq 0.7]
            [A22, EL=geq 0.7]
            ]
            ]
            %[,phantom,fit=band] % <---
            [B, EL=geq 0.5
            [B1, EL=leq 0.3,s sep+=-3mm
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [B2, EL=geq 0.3,s sep+=-3mm
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            ]
            ]
            end{forest}
            end{document}


            enter image description here



            And I had this on my machine before Zarko pinged me. (I didn't think it is worthwhile to add an update for it.)



            documentclass[border=3mm]{standalone}
            usepackage{forest}

            begin{document}
            tikzset{ELS/.style={% Edge Label Style
            font=footnotesize, inner sep=2pt,
            anchor=south #1, % label position: "ELS=west" or "EL=east"
            pos=0.6}
            }
            newcommandEL{edge label}
            begin{forest}
            for tree={
            draw, semithick,
            parent anchor=children,
            s sep=4mm,
            l sep=13 mm,
            anchor=parent,% <--- work around alignment issue
            },
            EL/.style = {
            before typesetting nodes={%% <--- work around edge labels positioning
            where n=1{%
            edge label/.wrap value={node[ELS=east]{$#1$}}
            }{%
            edge label/.wrap value={node[ELS=west]{$#1$}}
            },
            where level=2{s sep+=-1mm}{s sep+=0.5mm}
            }
            }
            [Start
            [A, EL=leq 0.5
            [A1, EL=leq 0.3
            [A11, EL=leq 0.7]
            [A12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [A2, EL=geq 0.3
            [A21, EL=leq 0.7]
            [A22, EL=geq 0.7]
            ]
            ]
            %[,phantom,fit=band] % <---
            [B, EL=geq 0.5
            [B1, EL=leq 0.3
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [B2, EL=geq 0.3
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            ]
            ]
            end{forest}
            end{document}


            enter image description here






            share|improve this answer















            Yes. Use s sep+.



            documentclass[border=3mm]{standalone}
            usepackage{forest}

            begin{document}
            tikzset{ELS/.style={% Edge Label Style
            font=footnotesize, inner sep=2pt,
            anchor=south #1, % label position: "ELS=west" or "EL=east"
            pos=0.6}
            }
            newcommandEL{edge label}
            begin{forest}
            for tree={
            draw, semithick,
            parent anchor=children,
            l sep=13 mm,
            s sep+=2mm,
            anchor=parent,% <--- work around alignment issue
            },
            EL/.style = {
            before typesetting nodes={%% <--- work around edge labels positioning
            where n=1{%
            edge label/.wrap value={node[ELS=east]{$#1$}}
            }{%
            edge label/.wrap value={node[ELS=west]{$#1$}}
            }
            }
            }
            [Start
            [A, EL=leq 0.5
            [A1, EL=leq 0.3,s sep+=-3mm
            [A11, EL=leq 0.7]
            [A12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [A2, EL=geq 0.3,s sep+=-3mm
            [A21, EL=leq 0.7]
            [A22, EL=geq 0.7]
            ]
            ]
            %[,phantom,fit=band] % <---
            [B, EL=geq 0.5
            [B1, EL=leq 0.3,s sep+=-3mm
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [B2, EL=geq 0.3,s sep+=-3mm
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            ]
            ]
            end{forest}
            end{document}


            enter image description here



            And I had this on my machine before Zarko pinged me. (I didn't think it is worthwhile to add an update for it.)



            documentclass[border=3mm]{standalone}
            usepackage{forest}

            begin{document}
            tikzset{ELS/.style={% Edge Label Style
            font=footnotesize, inner sep=2pt,
            anchor=south #1, % label position: "ELS=west" or "EL=east"
            pos=0.6}
            }
            newcommandEL{edge label}
            begin{forest}
            for tree={
            draw, semithick,
            parent anchor=children,
            s sep=4mm,
            l sep=13 mm,
            anchor=parent,% <--- work around alignment issue
            },
            EL/.style = {
            before typesetting nodes={%% <--- work around edge labels positioning
            where n=1{%
            edge label/.wrap value={node[ELS=east]{$#1$}}
            }{%
            edge label/.wrap value={node[ELS=west]{$#1$}}
            },
            where level=2{s sep+=-1mm}{s sep+=0.5mm}
            }
            }
            [Start
            [A, EL=leq 0.5
            [A1, EL=leq 0.3
            [A11, EL=leq 0.7]
            [A12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [A2, EL=geq 0.3
            [A21, EL=leq 0.7]
            [A22, EL=geq 0.7]
            ]
            ]
            %[,phantom,fit=band] % <---
            [B, EL=geq 0.5
            [B1, EL=leq 0.3
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            %[,phantom,fit=band] % <---
            [B2, EL=geq 0.3
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            ]
            ]
            end{forest}
            end{document}


            enter image description here







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited 18 mins ago

























            answered 3 hours ago









            marmotmarmot

            112k5143269




            112k5143269













            • thank you very much for answer. apparently my question is not clear enough. i like to obtain in question showed image with removed ˙phantom` nodes (indicated by % <---). as i see, in your suggestion the distances between nodes at level 0 are equal. i like to have smaller between A11 and A12 and bigger between A21 and A22, etc.

              – Zarko
              3 hours ago











            • @Zarko Sorry, didn't read carefully. Better now?

              – marmot
              3 hours ago











            • yes, that is. i need to check how you achieve this :-)

              – Zarko
              3 hours ago











            • with help of your answer and after reading forest documentation again (and again) i figured out solution which i like to have: from your code i remove all s sep+=-3mm from nodes on the second level and to fortree add option where level=2{s sep+=-1mm}{}. it works fine.

              – Zarko
              47 mins ago













            • @Zarko Yes, I have almost the same thing on my machine. where level=2{s sep+=...}{s sep+=...} but with other dimensions.

              – marmot
              44 mins ago



















            • thank you very much for answer. apparently my question is not clear enough. i like to obtain in question showed image with removed ˙phantom` nodes (indicated by % <---). as i see, in your suggestion the distances between nodes at level 0 are equal. i like to have smaller between A11 and A12 and bigger between A21 and A22, etc.

              – Zarko
              3 hours ago











            • @Zarko Sorry, didn't read carefully. Better now?

              – marmot
              3 hours ago











            • yes, that is. i need to check how you achieve this :-)

              – Zarko
              3 hours ago











            • with help of your answer and after reading forest documentation again (and again) i figured out solution which i like to have: from your code i remove all s sep+=-3mm from nodes on the second level and to fortree add option where level=2{s sep+=-1mm}{}. it works fine.

              – Zarko
              47 mins ago













            • @Zarko Yes, I have almost the same thing on my machine. where level=2{s sep+=...}{s sep+=...} but with other dimensions.

              – marmot
              44 mins ago

















            thank you very much for answer. apparently my question is not clear enough. i like to obtain in question showed image with removed ˙phantom` nodes (indicated by % <---). as i see, in your suggestion the distances between nodes at level 0 are equal. i like to have smaller between A11 and A12 and bigger between A21 and A22, etc.

            – Zarko
            3 hours ago





            thank you very much for answer. apparently my question is not clear enough. i like to obtain in question showed image with removed ˙phantom` nodes (indicated by % <---). as i see, in your suggestion the distances between nodes at level 0 are equal. i like to have smaller between A11 and A12 and bigger between A21 and A22, etc.

            – Zarko
            3 hours ago













            @Zarko Sorry, didn't read carefully. Better now?

            – marmot
            3 hours ago





            @Zarko Sorry, didn't read carefully. Better now?

            – marmot
            3 hours ago













            yes, that is. i need to check how you achieve this :-)

            – Zarko
            3 hours ago





            yes, that is. i need to check how you achieve this :-)

            – Zarko
            3 hours ago













            with help of your answer and after reading forest documentation again (and again) i figured out solution which i like to have: from your code i remove all s sep+=-3mm from nodes on the second level and to fortree add option where level=2{s sep+=-1mm}{}. it works fine.

            – Zarko
            47 mins ago







            with help of your answer and after reading forest documentation again (and again) i figured out solution which i like to have: from your code i remove all s sep+=-3mm from nodes on the second level and to fortree add option where level=2{s sep+=-1mm}{}. it works fine.

            – Zarko
            47 mins ago















            @Zarko Yes, I have almost the same thing on my machine. where level=2{s sep+=...}{s sep+=...} but with other dimensions.

            – marmot
            44 mins ago





            @Zarko Yes, I have almost the same thing on my machine. where level=2{s sep+=...}{s sep+=...} but with other dimensions.

            – marmot
            44 mins ago











            2














            Just for record. With help of nice @marmot answer and after reading forest documentation again (and again) i figured out the solution which i looked for:



            documentclass[border=3mm, preview]{standalone}
            usepackage{forest}

            begin{document}
            tikzset{ELS/.style={% Edge Label Style
            font=footnotesizesffamily, inner sep=2pt,
            anchor=south #1, % label position: "ELS=west" or "ELS=east"
            pos=0.6}
            }
            begin{forest}
            for tree={
            draw,
            semithick,
            % fill=orange!20,
            parent anchor=children,
            l sep=13 mm,
            s sep=4mm,
            where level=2{s sep=-1mm}{}
            },
            EL/.style = {
            before typesetting nodes={%
            where n=1{%
            edge label/.wrap value={node[ELS=east]{$#1$}}
            }{%
            edge label/.wrap value={node[ELS=west]{$#1$}}
            }
            }
            }
            [Start
            [A, EL=leq 0.5
            [A1, EL=leq 0.3
            [A11, EL=leq 0.7]
            [A12, EL=geq 0.7]
            ]
            [A2, EL=geq 0.3
            [A21, EL=leq 0.7]
            [A22, EL=geq 0.7]
            ]
            ]
            [B, EL=geq 0.5
            [B1, EL=leq 0.3
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            [B2, EL=geq 0.3
            [B11, EL=leq 0.7]
            [B12, EL=geq 0.7]
            ]
            ]
            ] end{forest}
            end{document}


            which gives desired result:



            enter image description here






            share|improve this answer






























              2














              Just for record. With help of nice @marmot answer and after reading forest documentation again (and again) i figured out the solution which i looked for:



              documentclass[border=3mm, preview]{standalone}
              usepackage{forest}

              begin{document}
              tikzset{ELS/.style={% Edge Label Style
              font=footnotesizesffamily, inner sep=2pt,
              anchor=south #1, % label position: "ELS=west" or "ELS=east"
              pos=0.6}
              }
              begin{forest}
              for tree={
              draw,
              semithick,
              % fill=orange!20,
              parent anchor=children,
              l sep=13 mm,
              s sep=4mm,
              where level=2{s sep=-1mm}{}
              },
              EL/.style = {
              before typesetting nodes={%
              where n=1{%
              edge label/.wrap value={node[ELS=east]{$#1$}}
              }{%
              edge label/.wrap value={node[ELS=west]{$#1$}}
              }
              }
              }
              [Start
              [A, EL=leq 0.5
              [A1, EL=leq 0.3
              [A11, EL=leq 0.7]
              [A12, EL=geq 0.7]
              ]
              [A2, EL=geq 0.3
              [A21, EL=leq 0.7]
              [A22, EL=geq 0.7]
              ]
              ]
              [B, EL=geq 0.5
              [B1, EL=leq 0.3
              [B11, EL=leq 0.7]
              [B12, EL=geq 0.7]
              ]
              [B2, EL=geq 0.3
              [B11, EL=leq 0.7]
              [B12, EL=geq 0.7]
              ]
              ]
              ] end{forest}
              end{document}


              which gives desired result:



              enter image description here






              share|improve this answer




























                2












                2








                2







                Just for record. With help of nice @marmot answer and after reading forest documentation again (and again) i figured out the solution which i looked for:



                documentclass[border=3mm, preview]{standalone}
                usepackage{forest}

                begin{document}
                tikzset{ELS/.style={% Edge Label Style
                font=footnotesizesffamily, inner sep=2pt,
                anchor=south #1, % label position: "ELS=west" or "ELS=east"
                pos=0.6}
                }
                begin{forest}
                for tree={
                draw,
                semithick,
                % fill=orange!20,
                parent anchor=children,
                l sep=13 mm,
                s sep=4mm,
                where level=2{s sep=-1mm}{}
                },
                EL/.style = {
                before typesetting nodes={%
                where n=1{%
                edge label/.wrap value={node[ELS=east]{$#1$}}
                }{%
                edge label/.wrap value={node[ELS=west]{$#1$}}
                }
                }
                }
                [Start
                [A, EL=leq 0.5
                [A1, EL=leq 0.3
                [A11, EL=leq 0.7]
                [A12, EL=geq 0.7]
                ]
                [A2, EL=geq 0.3
                [A21, EL=leq 0.7]
                [A22, EL=geq 0.7]
                ]
                ]
                [B, EL=geq 0.5
                [B1, EL=leq 0.3
                [B11, EL=leq 0.7]
                [B12, EL=geq 0.7]
                ]
                [B2, EL=geq 0.3
                [B11, EL=leq 0.7]
                [B12, EL=geq 0.7]
                ]
                ]
                ] end{forest}
                end{document}


                which gives desired result:



                enter image description here






                share|improve this answer















                Just for record. With help of nice @marmot answer and after reading forest documentation again (and again) i figured out the solution which i looked for:



                documentclass[border=3mm, preview]{standalone}
                usepackage{forest}

                begin{document}
                tikzset{ELS/.style={% Edge Label Style
                font=footnotesizesffamily, inner sep=2pt,
                anchor=south #1, % label position: "ELS=west" or "ELS=east"
                pos=0.6}
                }
                begin{forest}
                for tree={
                draw,
                semithick,
                % fill=orange!20,
                parent anchor=children,
                l sep=13 mm,
                s sep=4mm,
                where level=2{s sep=-1mm}{}
                },
                EL/.style = {
                before typesetting nodes={%
                where n=1{%
                edge label/.wrap value={node[ELS=east]{$#1$}}
                }{%
                edge label/.wrap value={node[ELS=west]{$#1$}}
                }
                }
                }
                [Start
                [A, EL=leq 0.5
                [A1, EL=leq 0.3
                [A11, EL=leq 0.7]
                [A12, EL=geq 0.7]
                ]
                [A2, EL=geq 0.3
                [A21, EL=leq 0.7]
                [A22, EL=geq 0.7]
                ]
                ]
                [B, EL=geq 0.5
                [B1, EL=leq 0.3
                [B11, EL=leq 0.7]
                [B12, EL=geq 0.7]
                ]
                [B2, EL=geq 0.3
                [B11, EL=leq 0.7]
                [B12, EL=geq 0.7]
                ]
                ]
                ] end{forest}
                end{document}


                which gives desired result:



                enter image description here







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 4 mins ago

























                answered 42 mins ago









                ZarkoZarko

                128k868167




                128k868167






























                    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%2f481967%2fforest-changing-s-sep-such-that-it-is-at-each-second-end-node-larger%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

                    List of shipwrecks in 1808...

                    Is there a lightweight tool to crop images quickly?Cropping Images using Command Line Tools OnlyHow to crop...

                    Unit packagekit.service is masked Announcing the arrival of Valued Associate #679: Cesar...