Usepackage Forest - Wie kann ich nodes in den Rechtecken erzeugen?
Mein Code:
\documentclass[11pt,a4paper,titlepage,bibliography=totoc,numbers=noenddot,abstract=on,multi,dvipsnames,svgnames,x11names]{scrreprt}
\usepackage{forest}
\definecolor{folderbg}{RGB}{124,166,198}
\definecolor{folderborder}{RGB}{110,144,169}
\def\Size{5pt}
\tikzset{
folder/.pic={
\filldraw[draw=folderborder,top color=folderbg!0,bottom color=white]
(-3*\Size,-\Size) rectangle (3*\Size,\Size);
}
}
\begin{document}
\begin{forest}
for tree={
font=\ttfamily,
grow'=0,
child anchor=west,
parent anchor=south,
anchor=west,
calign=first,
inner xsep=20pt,
edge path={
\noexpand\path [draw, \forestoption{edge}]
(!u.south west) +(4pt,0) |- (.child anchor) pic {folder} \forestoption{edge label};
},
before typesetting nodes={
if n=1
{insert before={[,phantom]}}
{}
},
fit=band,
before computing xy={l=60pt},
}
[system
[config
]
[lib
[Access
]
[Plugin
]
]
[templates
]
[tests
]
[tests
]
[tests
]
[tests
]
[tests
]
[tests
]
]
\end{forest}
\end{document}
Meine Frage:
Wenn ich jetzt mehrere "Zeilen" (tests) hinzufüge wird kein Seitenumbruch erzeugt. Keine 2te Seite mit den Einträgen wird erzeugt.Warum?
Wie kann ich verschiedene Strings (Text) in die Rechtecke schreiben. Siehe Bild.
[![alt text][1]][1]
[1]: https://texwelt.de/wissen/upfiles/1_1.PNGhttps://texwelt.de/wissen/upfiles/1_1.PNG
Update;
\documentclass[11pt,a4paper,titlepage,bibliography=totoc,numbers=noenddot,abstract=on,multi,dvipsnames,svgnames,x11names]{scrreprt}
\usepackage{storebox}
\usepackage[edges]{forest}
\usepackage{adjustbox}
\definecolor{folderbg}{RGB}{124,166,198}
\definecolor{folderborder}{RGB}{110,144,169}
\def\Size{5pt}
\tikzset{
folder/.pic={
\filldraw[draw=folderborder,top color=folderbg!0,bottom color=white]
(-3*\Size,-\Size) rectangle (3*\Size,\Size);
\coordinate (X) at (0,0);
}
}
\forestset{fmark/.style={label={[at={(X)},anchor=center,font=\sffamily]left:#1}}}
% 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{document}
%\blindtext
\begin{forest}
for tree={
folder,
grow'=0,
fit=band,
},
split dir tree auto,
[ XYZ
[ XYZ
[ XYZ
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
]
]
[ XYZ
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
]
[ XYZ
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ XYZ ]
[ 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{document}