Since my answer to a later question by Diaa Abidou apparently answered this one possibly better, I am repeating that answer here for completeness. For a full explanation of the code, please see the details I provided there.
\documentclass[border=10pt,multi,tikz]{standalone}
\usepackage[edges]{forest}
\usepackage{calc}
\usetikzlibrary{arrows.meta}
\forestset{%
declare dimen register={gap},
gap'=20mm,
declare dimen register={lbox width},
lbox width=(\textwidth-2*\forestregister{gap})/3,
rbox/.style = {draw=blue!80!black, fill=blue!20, rounded corners},
lbox/.style = {align/.wrap pgfmath arg={@{}p{##1 pt}@{}}{(lbox_width)}},
}
\begin{document}
\begin{forest}
forked edges,
for tree={%
font = \sffamily,
edge = {draw, -{Latex}},
},
where n children=0{%
lbox,
no edge,
}{%
rbox,
}
[Some Text, name=Start, l sep+=5pt
[Text Text, name=Block1
[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
]
]
[Text, name=Block2
[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
]
]
[Text Text Text, name=Block3
[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
]
]
]
\end{forest}
\end{document}
EDIT
In response to a query asking how to reduce the distance between the terminus nodes and their parents, I would change the value of l
for those nodes. However, we need to delay this until after the tree is packed in order to override Forest's calculations.
For example,
where n children=0{%
lbox,
no edge,
before computing xy={%
l'-=10pt,
},
}{%
rbox,
}
produces
\documentclass[border=10pt,multi,tikz]{standalone}
\usepackage[edges]{forest}
\usepackage{calc}
\usetikzlibrary{arrows.meta}
\forestset{%
declare dimen register={gap},
gap'=20mm,
declare dimen register={lbox width},
lbox width=(\textwidth-2*\forestregister{gap})/3,
rbox/.style = {draw=blue!80!black, fill=blue!20, rounded corners},
lbox/.style = {align/.wrap pgfmath arg={@{}p{##1 pt}@{}}{(lbox_width)}},
}
\begin{document}
\begin{forest}
forked edges,
for tree={%
font = \sffamily,
edge = {draw, -{Latex}},
},
where n children=0{%
lbox,
no edge,
before computing xy={%
l'-=10pt,
},
}{%
rbox,
}
[Some Text, name=Start, l sep+=5pt
[Text Text, name=Block1
[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
]
]
[Text, name=Block2
[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
]
]
[Text Text Text, name=Block3
[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
]
]
]
\end{forest}
\end{document}
node distance
, for example tonode distance = 12mm and 0mm
. Of course, you need to define the branch coordinate, see addendum to my answer.