我正在处理一个文档,我想将不同目录深度的几个(子)部分排除在目录中列出。
例子:
Chapter 1
Section 1.1
Subsection 1.1.1 << remove
Subsection 1.1.2 << remove
Section 1.2
Section 1.3 << remove
Section 1.4
tocdepth
我无法通过排除这些部分。因此我的想法是修改\chapter*
、、 ... 命令\section*
,\subsection*
这些命令会像往常一样生成标题(包括格式和编号),但不会在目录中列出条目。
有没有什么办法可以让它工作?
答案1
您可以使用分段命令的扩展可选参数。KOMA-Script 将自动省略空的 ToC 条目。要打开扩展可选参数的解析,您必须使用以下选项之一:
headings=optiontotocandhead
:对目录和页眉使用未扩展的可选参数headings=optiontotoc
:仅对目录使用未扩展的可选参数,但对运行头使用强制参数headings=optiontohead
:对运行头使用未扩展的可选参数,但对目录使用必需参数
因此您可以使用:
\documentclass[
headings=optiontotocandhead% switch on extended optional argument parsing
% for sectioning commands
]{scrbook}
\setcounter{tocdepth}{\subsectiontocdepth}% generally show part, chapter,
% section and subsection in the ToC
\usepackage{lipsum}
\begin{document}
\tableofcontents
\chapter{Chapter 1}
\lipsum[1]
\section{Section 1.1}
\lipsum[2]
\subsection[tocentry={}]{Subsection 1.1.1}% no ToC entry
\lipsum[3]
\subsection[tocentry={}]{Subsection 1.1.2}% no ToC entry
\lipsum[4]
\section{Section 1.2}
\lipsum[5]
\section[tocentry={}]{Section 1.3}% no ToC entry
\lipsum[6]
\section{Section 1.4}
\lipsum[7]
\subsection{Subsection 1.5}
\lipsum[8]
\end{document}
或者
\documentclass[
headings=optiontotoc% switch on extended optional argument parsing
% for sectioning commands and restrict it to the ToC
]{scrbook}
\setcounter{tocdepth}{\subsectiontocdepth}% generally show part, chapter,
% section and subsection in the ToC
\usepackage{lipsum}
\begin{document}
\tableofcontents
\chapter{Chapter 1}
\lipsum[1]
\section{Section 1.1}
\lipsum[2]
\subsection[]{Subsection 1.1.1}% no ToC entry
\lipsum[3]
\subsection[]{Subsection 1.1.2}% no ToC entry
\lipsum[4]
\section{Section 1.2}
\lipsum[5]
\section[]{Section 1.3}% no ToC entry
\lipsum[6]
\section{Section 1.4}
\lipsum[7]
\subsection{Subsection 1.5}
\lipsum[8]
\end{document}
要得到