
Encontrei um código de látex(árvore de arquivos com quebra de página, o proprietário/criador deste código (pagebreak+filetree) é Sašo Živanović).
Quero usar esse código para uma documentação. Quero ter várias árvores de arquivos diferentes, mas com esse código apenas uma árvore de arquivos com quebras de página está funcionando. Alguém sabe como funciona com várias árvores diferentes? Agradeço antecipadamente.
Fórum Alemão:https://texwelt.de/wissen/fragen/24325/wie-kann-man-2-oder-mehrere-file-trees-mit-pagebreak-abbilden
Tenha um bom dia.
\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}
Atualizar: Com esta versão (código) não funciona. Alguma ideia do porquê?
\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}
Responder1
O erro é causado por muito pouco espaço vertical deixado na página antes da (primeira parte da) árvore de divisão automática. O algoritmo de divisão tenta dividir a árvore no nó raiz, mas em vez de perceber isso, ele tenta ir para o nó anterior (para formatá-lo, ou seja, adicionar o continued
rótulo), que é onde ocorre o erro.
Embora a solução adequada seja resolver o problema no código de divisão da árvore, acredito que a seguinte solução ad hoc possa ser suficiente: use o needspace
pacote para garantir que haja espaço vertical suficiente na página antes de iniciar a árvore.
No exemplo do OP, adicionar \Needspace{2\baselineskip}
antes da segunda árvore resolve, mas em geral, a quantidade de espaço necessária pode variar.
Na verdade, sugiro adicionar \Needspace{2\baselineskip}
logo no início da definição de \AutoSplittedTree
.