This is a follow-up to Gonzalo Medina's answer to this question.
The solution offered there includes the following code at the start of the forest environment:
edge path={
\noexpand\path[\forestoption{edge}]
(!u.parent anchor) -- +(0,-13pt) -|
(.child anchor)\forestoption{edge label};
},
How does this code achieve the desired layout? I am unclear how the explanation of the relevant option on page 33 of the manual relates to the resulting diagram. In general, I find forest's documentation rather difficult to follow when it comes to customising tree layout (as opposed to specifying the relationships between nodes etc.) but I would like to understand it since forest seems to be more powerful and flexible in principle than the available alternatives.
For completeness, the full code of Gonzalo Medina's solution is:
\documentclass{article}
\usepackage{forest}
\begin{document}
\begin{forest}
where n children=0{font=\sffamily}{},
for tree={
edge path={
\noexpand\path[\forestoption{edge}]
(!u.parent anchor) -- +(0,-13pt) -|
(.child anchor)\forestoption{edge label};
},
l sep=10pt,
}
[\mbox{}
[$C1_2$
[$C1$ [a]]
[$C2$ [b]]
[$C3$ [c]]
[$C4$ [d]]
]
[$C2_2$
[$C5$ [e]]
[$C6$ [f]]
[$C7$ [g]]
[$C8$ [h]]
]
]
\end{forest}
\end{document}
