I am looking for a way to split a long directory tree across multiple pages.
I've found this post: Automatic page break with Forest? (Spanning a tree over multiple pages.) but I find these examples too complex to analyze.
I have also come across this question: Breaking pictures across multiple pages and used the proposed solution to forest.
The result is as follows, which is almost what I want, except the fact the tree starts on a new page instead of just under the text.
The code is as follows:
\documentclass[a4paper]{article}
\usepackage[edges]{forest}
\usepackage{adjustbox}
\usepackage{blindtext}
\newsavebox{\mysavebox}
\newlength{\myrest}
\begin{document}
\blindtext
\begin{lrbox}{\mysavebox}%
\begin{forest}
for tree={folder,grow'=0,fit=band}
[ XYZ
[ XYZ
[ XYZ
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
]
]
\end{forest}
\end{lrbox}
%
\ifdim\ht\mysavebox>\textheight
\setlength{\myrest}{\ht\mysavebox}%
\loop\ifdim\myrest>\textheight
\newpage\par\noindent
\clipbox{0 {\myrest-\textheight} 0 {\ht\mysavebox-\myrest}}{\usebox{\mysavebox}}%
\addtolength{\myrest}{-\textheight}%
\repeat
\newpage\par\noindent
\clipbox{0 0 0 {\ht\mysavebox-\myrest}}{\usebox{\mysavebox}}%
\else
\usebox{\mysavebox}%
\fi
\end{document}