具有分頁符號的文件樹可以工作,但只能使用一個文件樹

具有分頁符號的文件樹可以工作,但只能使用一個文件樹

我找到了乳膠代碼(帶有分頁符的文件樹,此程式碼(分頁符號+文件樹)的所有者/創建者是 Sašo Živanović)

我想將此程式碼用於文件。我想要幾個不同的檔案樹,但使用此程式碼只有一個帶有分頁符號的檔案樹正在工作。有誰知道它如何與幾種不同的樹一起使用?先感謝您。

德國論壇:https://texwelt.de/wissen/fragen/24325/wie-kann-man-2-oder-mehrere-file-trees-mit-pagebreak-abbilden

祝你今天過得愉快。

\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}

更新: 使用此版本(程式碼)它不起作用。知道為什麼嗎?

\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}

答案1

這個錯誤是由於自動分割樹(的第一部分)之前頁面上留下的垂直空間太少而引起的。分裂演算法嘗試在根節點分裂樹,但它沒有註意到這一點,而是嘗試轉到前一個節點(對其進行格式化,即添加continued),這就是錯誤發生的地方。

雖然正確的解決方案是解決樹分割程式碼中的問題,但我相信以下臨時解決方案可能就足夠了:使用needspace套件確保在啟動樹之前頁面上留有足夠的垂直空間。

在OP的例子中,加入\Needspace{2\baselineskip}在第二棵樹之前添加可以解決問題,但一般來說,所需的空間量可能會有所不同。

我實際上建議添加\Needspace{2\baselineskip}到定義的最開始\AutoSplittedTree

相關內容