我正在使用 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