목차를 작성하는 방법은 다음과 같습니다.
\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}
이를 통해 일반 목차도 가질 수 있지만 더 이상 필요하지는 않습니다. 이는 원하는 형식이 항목을 찾는 데 꽤 쓸모가 없기 때문에 좋습니다. 이는 일반적인 목차의 설계에 따라 수행되는 작업입니다.