我有一些没有数字的部分,但我想用虚线来表示。但是它们会自动获得部分的缩进,因为这是使用 全局定义的\tableofcontents
。是否可以删除“1 上下文”之前的缩进,但保留之后的缩进?
\documentclass[11pt]{report}
...
\begin{document}
\section*{Inhoudsopgave}
\makeatletter
\@starttoc{toc}
\makeatother
\section*{Inleiding}
\addcontentsline{toc}{section}{\protect\numberline{}Inleiding}%
...
text
...
\chapter{Context}
...
\end{document}
答案1
\cftsecindent
包的长度tocloft
控制节的缩进。它应该写入本身ToC
,并用一个组包裹它,\addtocontents{toc}{\begingroup....}...\addtocontent{toc}{\endgroup}
以便将其范围限制在第一个未编号的节。
这些\protect
命令是必要的,因为\setlength
它很脆弱,在写入过程中会中断。
附注:该tocloft
包定义了很多\cftX....
命令,其中是X
、chap
等等。请参阅 的文档。sec
subsec
tocloft
\documentclass{book}
\usepackage[dutch]{babel}
\usepackage{tocloft}
\begin{document}
\tableofcontents
\addtocontents{toc}{\begingroup\protect\setlength{\protect\cftsecindent}{-\leftmargin}}
\section*{Inleiding}
\addcontentsline{toc}{section}{\protect\numberline{}Inleiding}%
\section*{Voorword}
\addcontentsline{toc}{section}{\protect\numberline{}Voorword}
\addtocontents{toc}{\endgroup}
\clearpage
\chapter{Context}
\section{Het bedrijf}
\end{document}