Содержание в виде растущего справа дерева

Содержание в виде растущего справа дерева

Как подготовить оглавление следующим образом:

образец

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-qtree}
\begin{document}

\begin{tikzpicture}
\tikzset{grow'=right,level distance=32pt}
\tikzset{execute at begin node=\strut}
\tikzset{every tree node/.style={anchor=base west}}
\Tree [.S [.Introduction ] [.Taxonomy
 ] ]
\end{tikzpicture}
\section{Introduction}
\section{Taxonomy}
\section{User Association}
\subsection{Subsection Header}
\end{document}

решение1

Определенно не стоило пытаться ответить на этот вопрос...

Доказательство концепции:

\documentclass{article}
\usepackage[edges]{forest}
\forestset{%
  subsection/.style={%
    delay n={%
      >O{n} %
    }{%
      for preceding siblings={do dynamics},
      temptoksa/.option=name,
      if nodewalk valid={previous}{%
        for previous={%
          if section={append/.register=temptoksa}{}%
        }%
      }{%
        replace by={[, coordinate, append]},
      },
    },
  },
  declare boolean={section}{0},
}
\makeatletter
\newcommand\foresttoc{%
  \begingroup
    \xdef\foresttoctoc{}%
    \renewcommand\contentsline[3]{%
      \let\tempb\foresttoctoc
      \xdef\foresttoctoc{\tempb[{##2}, ##1]}%
    }%
    \renewcommand\numberline[1]{Sec.~##1 }%
    \bracketset{action character=@}%
    \@starttoc{toc}%
    \begin{forest}
      before typesetting nodes={
        forked edges,
        for tree={
          grow'=0,
          anchor=parent,
          tier/.option=level,
        },
        where level=1{fork sep'=0pt}{},
      },
      [, coordinate,   @+\foresttoctoc  ]
    \end{forest}%
  \endgroup
}
\makeatother
\begin{document}
\foresttoc
% \tableofcontents
\subsection{Awkward}
\section{User Association}
\subsection{Subsection Header}
\subsection{Subsection Header}
\section{Introduction}
\section{Taxonomy}
\section{User Association}
\subsection{Subsection Header}
\subsection{Subsection Header}
\end{document}

дерево-ток

Это позволяет — но больше не требует — вам иметь также и обычное оглавление. Это хорошо, потому что желаемый формат довольно бесполезен для поиска вещей, что обычные оглавления делают по своей сути.

Связанный контент