diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/etoc/etocsnippet-18.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/etoc/etocsnippet-18.tex | 123 |
1 files changed, 108 insertions, 15 deletions
diff --git a/Master/texmf-dist/doc/latex/etoc/etocsnippet-18.tex b/Master/texmf-dist/doc/latex/etoc/etocsnippet-18.tex index 9414dcbe37c..5f2d92cc469 100644 --- a/Master/texmf-dist/doc/latex/etoc/etocsnippet-18.tex +++ b/Master/texmf-dist/doc/latex/etoc/etocsnippet-18.tex @@ -1,23 +1,116 @@ %% LaTeX2e file `etocsnippet-18.tex' %% generated by the `filecontentsdef' environment -%% from source `etoc' on 2023/01/21. +%% from source `etoc' on 2023/03/02. %% -\begin{center} +% \newtoks\treetok % done in preamble +% \newtoks\parttok +\newcommand*\partnode {} % check with \newcommand we will not overwrite something +\newcommand*\childnode {} + +\newcommand*\tmprotate {} % (idem) +\newcommand*\tmpoption {} % +\newcommand*\tmpstuff {} % + +\newcommand*\appendtotok[2]{% #1=toks variable, #2=macro, expands once #2 + #1\expandafter\expandafter\expandafter{\expandafter\the\expandafter #1#2}} + +\newcommand*{\appendchildtree}[3]{% +% this is to construct "t1 child [#3]{t2}" from #1=t1 and #2=t2 +% t1 and t2 are two toks variable (not macros) +% #3 = for example teal!60 + \edef\tmpstuff {\the#1 child [#3]{\the#2}}% + #1\expandafter {\tmpstuff }% +} + +\newcounter{partco} + +% 1,2,3,4,5,... -> 1,2,3,1,2,3,1,2,3 +\def\pseudomodthree #1{\numexpr #1 + 3 - 3*((#1+1)/3)\relax} + +\etocsetstyle{part} + {\etocskipfirstprefix} +% This updates the global tree with the data from the previous +% part and all its children sections. Moved here because for some parts the +% sections are not displayed due to depth tags. + {\ifnum\value{partco}=3 + \appendchildtree\treetok\parttok {branch color= green!50,level distance=10cm}% + \else +\ifcase\pseudomodthree{\value{partco}}% + \or \appendchildtree\treetok\parttok {branch color= teal!30}% first + \or \appendchildtree\treetok\parttok {branch color= yellow!80}% second + \else\appendchildtree\treetok\parttok {branch color= green!50}% third and next ... + \fi\fi + } + {\stepcounter{partco}% +% customize manually some TikZ set-up (should be done inside the TikZ thing I guess) + \def\tmpoption {}% + \def\tmprotate {}% first + %\ifnum\value{partco}=5 \def\tmprotate {[counterclockwise from =-40]}\fi + %\ifnum\value{partco}=8 \def\tmprotate {[counterclockwise from =-50]}\fi +% define the part node + \edef\partnode{node \tmpoption + {\unexpanded\expandafter{\etocthelinkednumber}. + \unexpanded\expandafter{\etocthelinkedname}}\tmprotate }% +% this is a starting point which will be filled it by the section children + \parttok\expandafter{\partnode}} + {\ifcase\pseudomodthree{\value{partco}}% + \or \appendchildtree\treetok\parttok {branch color= teal!60}% first + \or \appendchildtree\treetok\parttok {branch color= yellow!80}% second + \else\appendchildtree\treetok\parttok {branch color= green!50}% third and next ... + \fi + } + \etocsetstyle{section} - {} - {\etociffirst{\\\hline\hline}{\\\hline}} - {\etocname & \etocnumber & \etocpage } - {} + {} + {} + {% define the section node + \edef\childnode{child {node {\unexpanded\expandafter{\etocthelinkednumber} + \unexpanded\expandafter{\etocthelinkedname}}}}% + % append it to the current \parttok + \appendtotok\parttok\childnode + } + {} \etocsettocstyle - {\hypersetup{hidelinks}\begin{tabular}{|p{4cm}|c|c|}\hline - \multicolumn{1}{|c|}{\bfseries Section}& - \bfseries number& - \bfseries page} - {\\\hline\end{tabular}} + {\setcounter{partco}{0}% + \treetok{\node [root concept]{\textbf{The \etoc documentation}}}} + {\global\appendtotok\treetok{ ;}} +% The \global above is mandatory because etoc always typesets TOC inside a group + +\etocsetnexttocdepth{section} +% use of depth tags to cut out sections for most parts, the sections +% are too numerous to fit well with the circular growth +\etocsettagdepth {preamble} {part} +\etocsettagdepth {overview} {part} +\etocsettagdepth {styling} {part} +\etocsettagdepth {control} {part} +\etocsettagdepth {examples} {part} +\etocsettagdepth {advanced} {part} +\etocsettagdepth {etocandworld}{part} +\etocsettagdepth {code} {section} -\etocglobaldefs % MANDATORY !! -\etocsetnexttocdepth{1} +\tikzset{ + branch color/.style={ + concept color=#1!white, + every child/.append style={concept color=#1!white!30!white, font=\normalsize}, + } +}% -\tableofcontents\ref{toc:overview} -\end{center} +\begin{figure}[htbp!] +\etocobeydepthtags % obey the depth tags restrictions (which is default anyhow) +\tableofcontents\label{toc:mindmap}% +\centeredline{\resizebox{.85\paperwidth}{!}% +{\begin{tikzpicture}[mindmap, + grow cyclic, + text width=2cm, + align=flush center, + nodes={concept}, + concept color=orange!60, + root concept/.append style={text width=4cm, font=\Large}, + level 1/.append style={level distance=5cm,sibling angle=45, text width=3cm}, + level 2/.append style={level distance=7cm,sibling angle=30, text width=3cm}, + level 1 concept/.append style={font=\normalsize}, + ] +\the\treetok +\end{tikzpicture}}} +\end{figure} |