Dateibaum mit Seitenumbruch funktioniert, aber nur mit einem Dateibaum

Dateibaum mit Seitenumbruch funktioniert, aber nur mit einem Dateibaum

Ich habe einen Latex-Code gefunden(Dateibaum mit Seitenumbruch, der Eigentümer/Ersteller dieses Codes (Seitenumbruch+Dateibaum) ist Sašo Živanović).

Ich möchte diesen Code für eine Dokumentation verwenden. Ich möchte mehrere verschiedene Dateibäume haben, aber mit diesem Code funktioniert nur ein Dateibaum mit Seitenumbrüchen. Weiß jemand, wie es mit mehreren verschiedenen Bäumen funktioniert? Vielen Dank im Voraus.

Deutsches Forum:https://texwelt.de/wissen/fragen/24325/wie-kann-man-2-oder-mehrere-file-trees-mit-pagebreak-abbilden

Einen schönen Tag noch.

\documentclass[11pt,a4paper,titlepage,bibliography=totoc,numbers=noenddot,abstract=on,multi,dvipsnames,svgnames,x11names]{scrreprt}%Dokumentklasse wie in unserer Vorlage

\usepackage{storebox}%Pagebrak
\usepackage[edges]{forest}%FileTree
\usepackage{adjustbox}%Pagebrak
%\usepackage{lmodern}%Schrift


%Zeilenumbruch in der tikz Umgebung!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% addaswyd o gôd Sašo Živanović: http://tex.stackexchange.com/a/296771/
\def\hiddenparcommand{\par}
\newcommand\otherhiddenparcommand{\par\noindent}
\newcommand\hiddencommacommand{, }
\forestset{%
    declare keylist register={split here ids},% the list of nodes to split the tree at
    split here ids={},
    declare keylist register={split here interjects},% the list of comments to put in between the tree parts
    split here interjects={},
    declare keylist={split here auto siblings}{},% a list to hold the siblings which need edge restoration
    declare toks register=split here toks,
    declare dimen register=tmpdima,
    tmpdima'=0pt,
    declare dimen register=tmpdimb,
    tmpdimb'=0pt,
    declare dimen register=tmpdimc,
    tmpdimc'=0pt,
    to widest/.style={
        tikz+={\path (\forestregister{tempdima}, \forestoption{y}) -- (\forestregister{tempdimb}, \forestoption{y});},
    },
    hide commas/.style={%
        split here toks+={\hiddencommacommand},
        split here toks+={#1},
    },
    split dir tree pre/.style={%
        label={[text=gray, anchor=north, font=\scriptsize]below:{[cont.]}{}},
    },
    split dir tree post/.style={%
        label={[font=\scriptsize, anchor=south, text=gray]above:{[cont.]}{}},
    },
    split dir tree auto post/.style={% this gets applied to the first node after a break
        split dir tree post,
        tempkeylistc'={},
        tmpdimb/.option=y,
        for nodewalk={
            while={
                > ORw2+d _+d < On=! & {y}{tmpdimb}{##2-##1} {\textheight-#1} {n'}{1}%
            }{
            next,
            tempkeylistc/.option=name
        }%
    }{},
    % save the list
    split here auto siblings/.register=tempkeylistc,
    tikz+/.process={% this tries to redraw the edges to the following siblings
        OOw2{edge}{id}%
        {%
            \path [##1] (!u.parent anchor |- .north) ++(\forestregister{folder indent},1ex) coordinate (before ##2) |- (.child anchor);
            \edef\tempa{\foresteoption{split here auto siblings}}
            \foreach \i in \tempa \path [##1] (before ##2) |- ({forest cs:\i.child anchor});
        }%
    },
},
split dir tree/.code={%
    \forestset{%
        draw tree stage/.style={
            for root'={
                tempdima/.min={%
                    >OOw2+d{x}{min x}{####1+####2}%
                }{tree},
                tempdimb/.max={%
                    >OOw2+d{x}{max x}{####1+####2}%
                }{tree},
                for tree={%
                    to widest,
                },
            },
            tempcountb'=-1,
            do until={%
                strequal((split_here_ids),"")
            }{%
            tempkeylistb'={},
            tempkeylista'={},
            split register={split here ids}{,}{tempcounta,tempkeylistb+},
            split register={split here interjects}{,}{temptoksa,tempkeylista+},
            split here ids'/.register=tempkeylistb,
            split here interjects'/.register=tempkeylista,
            % Sašo Živanović: http://chat.stackexchange.com/transcript/message/28484520#28484520
            for nodewalk={%
                draw tree processing order/.style={%
                    filter={tree}{> ORw+n< OR> & {id}{tempcounta}{########1+1}{id}{tempcountb}}%
                }%
            }{},
            for root'={draw tree},
            TeX/.process={Rw{temptoksa}{\otherhiddenparcommand ####1\hiddenparcommand}},
            tempcountb'/.register=tempcounta,
        },
        for nodewalk={%
            draw tree processing order/.style={%
                filter={tree}{>OR>{id}{tempcountb}}%
            }%
        }{},
        for root'={draw tree},
    },
}%
},
split dir here auto/.style n args=2{%
    split dir tree pre,
    !next node.split dir tree auto post=#2,
    split here ids+/.option=id,
    %     !next node.split resume here ids+/.option=id,
    split={#1}{,}{split here toks,hide commas},
    split here interjects/.register=split here toks,
},
split dir tree auto/.style={%
    split dir tree,
    before drawing tree={%
        tempdima/.max={y}{tree},
        tempdimc/.register=tempdima,
        tempdimd/.min={y}{tree},
        tempdima-/.register=tempdimd,
        tempdimb'=\textheight,
        tmpdima'=10ex,
        tmpdimc'=\pagetotal,
        while={%
            >RR>{tempdima}{tempdimb}%
        }{%
        for nodewalk={%
            root',
            until={%
                > ROw2+d RRw2+d > {tempdimc}{y}{##1-##2} {tmpdima}{tmpdimc}{\textheight-##2-##1}%
            }{next node},
            previous node,
            split dir here auto/.process={R_w2{tmpdima}{continued}{{##2}{##1}}},
            next node,
            tempdima/.option=y,
            tempdimc/.register=tempdima,
            tempdima-/.register=tempdimd,
            tmpdima'=15ex,
            tmpdimc'=0pt
        }{},
    },
},
},
}
\begin{document}    



    \begin{forest}
        for tree={
            folder,
            draw, %zeichnet Kästchen
            before computing xy={l=100pt},%definiert die länge der horizontalen Linie
            grow'=0,
            fit=band,
        },
        split dir tree auto,
        [ \textcolor{green}{\textbf{LASTFall}}
        [ {\fontsize{8}{9} \selectfont fdsdssdfsd},edge label={node[pos=0.75,above,font=\scriptsize]{$\textbf{(2.807E+05x) 005}$}} %Mathematik Modus plus Fett 
        [ \scriptsize{str Rinfi aq000 tq0 fs v002 l000 AW0 check},edge label={node[pos=0.75,above,font=\ttfamily]{$\textbf{(2.807E+05x) 005}$}}] %Mathematik Modus plus Fett 
        [ \tiny{str Rinfi aq000 tq0 fs v002 l000 AW0 check},edge label={node[pos=0.75,above,font=\scriptsize]{$\textbf{(2.807E+05x) 005}$}}] %Mathematik Modus plus Fett 
        [ \normalsize{str Rinfi aq000 tq0 fs v002 l000 AW0 check},edge label={node[pos=0.75,above,font=\scriptsize]{$\textbf{(2.807E+05x) 005}$}}] %Mathematik Modus plus Fett 
        [  \large{str Rinfi aq000 tq0 fs v002 l000 AW0 check},edge label={node[pos=0.75,above,font=\Large]{$\textbf{(2.807E+05x) 005}$}}] %Mathematik Modus plus Fett 
        [  \small{str Rinfi aq000 tq0 fs v002 l000 AW0 check},edge label={node[pos=0.75,above,font=\large]{$\textbf{(2.807E+05x) 005}$}}] %Mathematik Modus plus Fett 
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 check,edge label={node[pos=0.75,above,font=\footnotesize]{$\textbf{(2.807E+05x) 005}$}}] %Mathematik Modus 
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 check,edge label={node[pos=0.75,above,font=\small]{$\textbf{(2.807E+05x) 005}$}}] %Mathematik Modus plus Fett     
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}}
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}}
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        ]
        ]
        ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}}
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}}
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}}
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}}
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        ]
        ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}}
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}}
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        [ str Rinfi aq000 tq0 fs v002 l000 AW0 kjijlopopheck,edge label={node[pos=0.75,above,font=\scriptsize]{(2.807E+05x) 005}} ]
        ]
        ]
        ]
        ]
    \end{forest}
\end{document}

Aktualisieren: Mit dieser Version (Code) funktioniert es nicht. Irgendeine Idee, warum?

\documentclass[11pt,a4paper,titlepage,bibliography=totoc,numbers=noenddot,abstract=on,multi,dvipsnames,svgnames,x11names]{scrreprt}%Dokumentklasse wie in unserer Vorlage

\usepackage{storebox}%Pagebrak
\usepackage[edges]{forest}%FileTree
\usepackage{adjustbox}%Pagebrak
%\usepackage{lmodern}%Schrift
%Zeilenumbruch in der tikz Umgebung!
% addaswyd o gôd Sašo Živanović: http://tex.stackexchange.com/a/296771/
\def\hiddenparcommand{\par}
\newcommand\otherhiddenparcommand{\par\noindent}
\newcommand\hiddencommacommand{, }
\forestset{%
    declare keylist register={split here ids},% the list of nodes to split the tree at
    split here ids={},
    declare keylist register={split here interjects},% the list of comments to put in between the tree parts
    split here interjects={},
    %declare keylist={split here auto siblings}{},% a list to hold the siblings which need edge restoration
    declare toks register=split here toks,
    declare dimen register=tmpdima,
    tmpdima'=0pt,
    declare dimen register=tmpdimb,
    tmpdimb'=0pt,
    declare dimen register=tmpdimc,
    tmpdimc'=0pt,
    to widest/.style={
        tikz+={\path (\forestregister{tempdima}, \forestoption{y}) -- (\forestregister{tempdimb}, \forestoption{y});},
    },
    hide commas/.style={%
        split here toks+={\hiddencommacommand},
        split here toks+={#1},
    },
    split dir tree pre/.style={%
        label={[text=gray, anchor=north, font=\scriptsize]below:{[cont.]}{}},
    },
    split dir tree post/.style={%
        label={[font=\scriptsize, anchor=south, text=gray]above:{[cont.]}{}},
    },
    split dir tree auto post/.style={% this gets applied to the first node after a break
        split dir tree post,
        tempkeylistc'={},
        tmpdimb/.option=y,
        for nodewalk={
            while={
                > ORw2+d _+d < On=! & {y}{tmpdimb}{##2-##1} {\textheight-#1} {n'}{1}%
            }{
            next,
            tempkeylistc/.option=name
        }%
    }{},
    % save the list
    %split here auto siblings/.register=tempkeylistc,
    tikz+={\path(!u.parent anchor |- .north) ++(\forestregister{folder indent},1ex) coordinate (before split) |- (.child anchor);},
    split register={tempkeylistc}{,}{edge in tikz},
},
edge in tikz/.style={
    tikz+/.process=OOw2{#1.edge}{#1.edge label}{%
        \path [##1] (before split) |- (#1.child anchor)##2;
    },
},
split dir tree/.code={%
    \forestset{%
        draw tree stage/.style={
            for root'={
                tempdima/.min={%
                    >OOw2+d{x}{min x}{####1+####2}%
                }{tree},
                tempdimb/.max={%
                    >OOw2+d{x}{max x}{####1+####2}%
                }{tree},
                for tree={%
                    to widest,
                },
            },
            tempcountb'=-1,
            do until={%
                strequal((split_here_ids),"")
            }{%
            tempkeylistb'={},
            tempkeylista'={},
            split register={split here ids}{,}{tempcounta,tempkeylistb+},
            split register={split here interjects}{,}{temptoksa,tempkeylista+},
            split here ids'/.register=tempkeylistb,
            split here interjects'/.register=tempkeylista,
            % Sašo Živanović: http://chat.stackexchange.com/transcript/message/28484520#28484520
            for nodewalk={%
                draw tree processing order/.style={%
                    filter={tree}{> ORw+n< OR> & {id}{tempcounta}{########1+1}{id}{tempcountb}}%
                }%
            }{},
            for root'={draw tree},
            TeX/.process={Rw{temptoksa}{\otherhiddenparcommand ####1\hiddenparcommand}},
            tempcountb'/.register=tempcounta,
        },
        for nodewalk={%
            draw tree processing order/.style={%
                filter={tree}{>OR>{id}{tempcountb}}%
            }%
        }{},
        for root'={draw tree},
    },
}%
},
split dir here auto/.style n args=2{%
    split dir tree pre,
    !next node.split dir tree auto post=#2,
    split here ids+/.option=id,
    %     !next node.split resume here ids+/.option=id,
    split={#1}{,}{split here toks,hide commas},
    split here interjects/.register=split here toks,
},
split dir tree auto/.style={%
    split dir tree,
    before drawing tree={%
        tempdima/.max={y}{tree},
        tempdimc/.register=tempdima,
        tempdimd/.min={y}{tree},
        tempdima-/.register=tempdimd,
        tempdimb'=\textheight,
        tmpdima'=10ex,
        tmpdimc'=\pagetotal,
        while={%
            >RR>{tempdima}{tempdimb}%
        }{%
        for nodewalk={%
            root',
            until={%
                > ROw2+d RRw2+d > {tempdimc}{y}{##1-##2} {tmpdima}{tmpdimc}{\textheight-##2-##1}%
            }{next node},
            previous node,
            split dir here auto/.process={R_w2{tmpdima}{continued}{{##2}{##1}}},
            next node,
            tempdima/.option=y,
            tempdimc/.register=tempdima,
            tempdima-/.register=tempdimd,
            tmpdima'=15ex,
            tmpdimc'=0pt
        }{},
    },
},
},
}
%Zeilenumbruch in der tikz Umgebung! Ende

%
\ExplSyntaxOn
\box_new:N \l_helmutW_box
\cs_new_protected:Npx \helmutW_replace_verb_newline:Nn #1 #2
{
    \tl_replace_all:Nnn #1 { \char_generate:nn { 13 } { 12 } } { #2 }
}
\cs_new_protected:Npx \helmutW_replace_verb_newline_newline:Nn #1 #2
{
    \tl_replace_all:Nnn #1
    { \char_generate:nn { 13 } { 12 } \char_generate:nn { 13 } { 12 } } { #2 }
}
\cs_new_protected:Npn \helmutW_process_verb_newline:nnn #1 #2 #3
{
    \tl_set:Nn \ProcessedArgument { #3 }
    \helmutW_replace_verb_newline_newline:Nn \ProcessedArgument { #2 }
    \helmutW_replace_verb_newline:Nn \ProcessedArgument { #1 }
}
\NewDocumentCommand \AutoSplittedTree
{
    s
    O{ for~tree = { folder, grow'=0, fit=band,draw } }
    >{ \helmutW_process_verb_newline:nnn { ~ } { ~ \par } } +v
}
{
    \par
    \IfBooleanTF { #1 }
    { \iftrue }
    {
        \vbox_set:Nn \l_helmutW_box { \helmutW_tree:n { #2, #3 } }
        \dim_compare:nNnTF { \box_ht:N \l_helmutW_box } >
        { \dim_min:nn { \pagegoal-\pagetotal } { \textheight } }
        {
            \iftrue
        }
        {
            \box_use:N \l_helmutW_box
            \iffalse
        }
    }
    \helmutW_tree:n { #2, split~dir~tree~auto, #3 }
    \fi
}
\cs_new_protected:Npn \helmutW_tree:n #1
{
    \scantokens
    {
        \begin{forest}
            #1
        \end{forest}%
    }
}
\ExplSyntaxOff

\begin{document}    
\AutoSplittedTree
{
    [ XYZ
    [ XYZ
    [  \textcolor{green}{\textbf{gfgfg}},edge label={node[pos=0.75,above,font=\scriptsize]{A}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [ XYZ,edge label={node[pos=0.75,above,font=\scriptsize]{AAA}}]
    [ gfgh,edge label={node[midway,left,font=\scriptsize]{head1}} ]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},rounded corners,edge label={node[pos=0.75,above,font=\scriptsize]{ist das}}
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{lang}}
    [ XYZ,before computing xy={l=50pt},edge label={node[pos=0.75,above,font=\scriptsize]{wow}}
    [ XYZ,before computing xy={l=100pt},fill=yellow,edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}
    ]
    ]
    ]
    ]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]\\
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]\\
    [  \textcolor{red}{LASTFall},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [ gfgh,edge label={node[midway,left,font=\scriptsize]{head11}} ]
    [ gfgh,before computing xy={l=50pt}, edge label={node[midway,left,font=\scriptsize]{head1111111111}},minimum size=6cm ]
    [ gfgh,edge label={node[midway,left,font=\scriptsize]{head1111111111}},minimum size=3cm ]
    [ gfgh,edge label={node[fill=red!20,midway,left,font=\scriptsize]{head1111111111}},minimum size=1cm ]
    [ 7,before computing xy={l=50pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    ]
    ]
    ]
}
\mbox{}
\AutoSplittedTree
{
    [ XYZ
    [ XYZ
    [  \textcolor{green}{\textbf{gfgfg}},edge label={node[pos=0.75,above,font=\scriptsize]{A}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [ XYZ,edge label={node[pos=0.75,above,font=\scriptsize]{AAA}}]
    [ gfgh,edge label={node[midway,left,font=\scriptsize]{head1}} ]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},rounded corners,edge label={node[pos=0.75,above,font=\scriptsize]{ist das}}
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{lang}}
    [ XYZ,before computing xy={l=50pt},edge label={node[pos=0.75,above,font=\scriptsize]{wow}}
    [ XYZ,before computing xy={l=100pt},fill=yellow,edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}
    ]
    ]
    ]
    ]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [ XYZ,before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]\\
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]\\
    [  \textcolor{red}{LASTFall},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [  \textcolor{red}{LASTFall},before computing xy={l=100pt},edge label={node[pos=0.75,above,font=\scriptsize]{\textcolor{green}{\textbf{gfgfg}}}}]
    [ gfgh,edge label={node[midway,left,font=\scriptsize]{head11}} ]
    [ gfgh,before computing xy={l=50pt}, edge label={node[midway,left,font=\scriptsize]{head1111111111}},minimum size=6cm ]
    [ gfgh,edge label={node[midway,left,font=\scriptsize]{head1111111111}},minimum size=3cm ]
    [ gfgh,edge label={node[fill=red!20,midway,left,font=\scriptsize]{head1111111111}},minimum size=1cm ]
    [ 7,before computing xy={l=50pt},edge label={node[pos=0.75,above,font=\scriptsize]{Too longggggggg}}]
    ]
    ]
    ]
}

\end{document}

Antwort1

Der Fehler wird dadurch verursacht, dass auf der Seite vor dem (ersten Teil des) automatisch geteilten Baums zu wenig vertikaler Platz übrig bleibt. Der Teilungsalgorithmus versucht, den Baum am Stammknoten zu teilen, aber anstatt dies zu bemerken, versucht er, zum vorherigen Knoten zu gehen (um ihn zu formatieren, d. h. das continuedEtikett hinzuzufügen), und dort tritt der Fehler auf.

Die richtige Lösung wäre zwar, das Problem im Code zur Baumaufteilung zu beheben, ich glaube jedoch, dass die folgende Ad-hoc-Lösung ausreichen könnte: Verwenden Sie das needspacePaket, um sicherzustellen, dass vor dem Starten des Baums genügend vertikaler Platz auf der Seite übrig ist.

Im Beispiel des OP \Needspace{2\baselineskip}funktioniert das Hinzufügen vor dem zweiten Baum, aber im Allgemeinen kann der benötigte Platz unterschiedlich sein.

Ich schlage tatsächlich vor, \Needspace{2\baselineskip}ganz am Anfang der Definition von hinzuzufügen \AutoSplittedTree.

verwandte Informationen