Tocloft + KOMA,删除目录中的编号,但保留内容中的编号

Tocloft + KOMA,删除目录中的编号,但保留内容中的编号

我正在使用 documentclass scrbook(KOMA),tocloft并希望删除目录中所有章节、节和小节的编号,但不删除内容本身的编号。我该怎么做?我搜索了很多,但什么也没找到。

我试过

 \renewcommand{\thechapter}{}

但随后所有的数字都会消失……

答案1

您可以简单地重新定义负责排版数字的 LaTeX/scrbook宏。(页眉/页脚中的分段条目将保留其编号。)\numberline\contentsline

\documentclass{scrbook}

\usepackage{tocloft}

\usepackage{lipsum}

\makeatletter

% Original LaTeX definition
% \def\numberline#1{\hb@xt@\@tempdima{#1\hfil}}

% scrbook definition
% \renewcommand*{\numberline}[1]{%
%   \numberline@box{%
%     \numberline@prefix\numberline@numberformat{#1}\numberline@postfix
%   }%
% }

% Variant A -- without number, but with indentation
% \renewcommand*{\numberline}[1]{%
%   \numberline@box{%
%     \numberline@prefix\numberline@numberformat{}\numberline@postfix
%   }%
% }

% Variant B -- without number and indentation
\renewcommand*{\numberline}[1]{}

\makeatother

\begin{document}

\tableofcontents

\chapter{foo}

\section{foobar}

\subsection{foobargnu}

\lipsum

\end{document}

答案2

自从KOMA-Script 版本 3.20(CTAN 当前版本)可以使用 删除 TOC 中的条目编号\RedeclareSectionCommands

\documentclass{scrbook}[2016/05/10]
\usepackage{lipsum}

\newcommand\remove[1]{}

\RedeclareSectionCommands[
  %tocindent=0pt,% if the indentation should also be removed
  tocnumwidth=0pt,
  tocentrynumberformat=\remove
]{part,chapter,section,subsection,subsubsection}


\begin{document}
\tableofcontents

\chapter{foo}
\section{foobar}
\subsection{foobargnu}
\lipsum
\end{document}

在此处输入图片描述 在此处输入图片描述

tocindent=0pt

在此处输入图片描述

相关内容