1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
%% LaTeX2e file `etocsnippet-27.tex'
%% generated by the `filecontentsdef' environment
%% from source `etoc' on 2019/11/17.
%%
% \newtoks\treetok % put this (uncommented) preferably in the preamble
% \newtoks\tmptok % (idem)
\newcommand*\appendtotok[2]{% #1=toks variable, #2=macro, expands once #2
#1\expandafter\expandafter\expandafter
{\expandafter\the\expandafter #1#2}}
\newcommand*\PrepareSectionNode{%
\tmptok {\centering\bfseries}%
\appendtotok\tmptok\etocthelinkedname
\edef\foresttreenode{ [{\noexpand\parbox{2cm}{\the\tmptok}}}%
}
\newcommand*{\PrepareSubsectionNode}{%
\tmptok {\raggedright}%
\appendtotok\tmptok\etocthelinkedname
\edef\foresttreenode{ [{\noexpand\parbox{6cm}{\the\tmptok}}}%
}
\etocsetstyle{section}
{\etocskipfirstprefix}
{\appendtotok\treetok{ ]}}
{\PrepareSectionNode \appendtotok\treetok\foresttreenode}
{\appendtotok\treetok{ ]}}
\etocsetstyle{subsection}
{\etocskipfirstprefix}
{\appendtotok\treetok{ ]}}
{\PrepareSubsectionNode \appendtotok\treetok\foresttreenode}
{\appendtotok\treetok{ ]}}
\etocsettocstyle
{\treetok{[{\hyperref[part:overview]{Overview}}}}
{\global\appendtotok\treetok{ ]}}
% forest does not like @\the\treetok if \treetok is empty. On first latex
% run, this will be the case because the TOC style defined above will not
% have been executed, as the label {toc:overview} does not refer to a valid
% TOC yet. So we must give a safe default value to \treetok
\treetok{[{run latex again}]}
\begin{figure}[th!]\centering
\etocsetnexttocdepth{subsection}
\tableofcontents \label{toc:forest}\ref{toc:overview}
\hypersetup{hidelinks}%
\bracketset{action character=@}
\begin{forest}
for tree={anchor=center,child anchor=west,
grow'=east,draw,thick,
edge={draw,thick,dashed,color=teal}},
where={level()==1}{circle,thick,fill=blue!5,
before computing xy={l=3cm}}{},
where={level()==2}{fill=red!5,
before computing xy={l=6cm}}{},
rectangle, thick, fill=cyan!5, inner sep=6pt,
@\the\treetok
\end{forest}
\end{figure}
|