为什么 \addcontentsline 没有添加到目录?

为什么 \addcontentsline 没有添加到目录?
\documentclass[12pt,a4paper]{scrartcl}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{hyperref}
\usepackage{graphicx}
\title{Rechtevergabe Testdokument}
\author{Test1}
\begin{document}
\maketitle
\newpage
\tableofcontents
\newpage
\addcontentsline{toc}{section}{Bereich A}
\addcontentsline{toc}{subsection}{Kapitel I}
\addcontentsline{toc}{subsection}{Kapitel II}
\addcontentsline{toc}{section}{Bereich B}
\end{document}

根本没有 TOC(运行后pdflatex两次)。移至\addcontentsline之前\tableofcontents并删除\newpage没有任何变化。我打算获取仅包含目录的文档。谢谢。

答案1

命令\addcontentsline写在\shipout。但您的页面是空的。删除\newpage后面的\tableofcontents应该有效(对我来说有效)或在页面上放置一些带有\addcontentsline命令的内容,例如\newpage\mbox{}

答案2

如果你想要一个只包含目录的文档,这个片段(复制自杰文)将有助于:

\newcommand\immediateaddcontentsline[3]{%
  \begingroup
  \let\origwrite\write
  \def\write{\immediate\origwrite}%
  \addcontentsline{#1}{#2}{#3}%
  \endgroup
}

相关内容