格式化目录以忽略部分并删除多余的空格

格式化目录以忽略部分并删除多余的空格

我想格式化目录以忽略节和小节,因为章节都非常小,并且只列出章节而它们之间没有空格。

我看到了这个问题:使用 LaTex 格式化目录

但我完全不明白如何使用这些样式。

如何使用 etocsetstyle 设置章节显示,但关闭所有子层级的显示?如何停止打印章节之间的空行?

答案1

最简单的方法是使用tocloft

\documentclass[a4paper]{book}
\usepackage[titles]{tocloft}

\setcounter{tocdepth}{0}
\setlength{\cftbeforechapskip}{0pt}

\begin{document}

\tableofcontents

\chapter{One}
\section{Aaaaa}
\section{Bbbbb}

\chapter{Two}
\section{Ccccc}
\section{Ddddd}
\section{Eeeee}

\chapter{Three}
\section{Fffff}
\section{Ggggg}
\section{Hhhhh}

\end{document}

在此处输入图片描述

在这种情况下,您可能希望避免将页码对齐到右边距;将上面的代码更改为

\documentclass[a4paper]{book}
\usepackage[titles]{tocloft}

\setcounter{tocdepth}{0}
\setlength{\cftbeforechapskip}{0pt}
\renewcommand\cftchapfillnum[1]{%
  \nolinebreak\hspace{.5em}%
  \textbullet
  \nolinebreak\hspace{.5em}%
  \textbf{#1}\cftparfillskip\par
}

要得到

在此处输入图片描述

答案2

在你的序言中,尝试命令\setcounter{tocdepth}{0}

请注意 这个问题解释如果您以后想更改目录中显示的深度,在命令参数中使用什么数字。

答案3

以下是一个“快速而粗糙”的解决方案:看看它是否让您满意。

\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
\usepackage{lipsum}

\makeatletter
\renewcommand*\l@chapter{\@dottedtocline{0}{0em}{1.5em}}
\makeatother

\setcounter{tocdepth}{0} % Also try **without** this line.



\begin{document}

\tableofcontents

\chapter{One}
\lipsum[1]

\section{Aaaaa}
\lipsum[2]

\section{Bbbbb}
\lipsum[3]

\chapter{Two}
\lipsum[4]

\section{Ccccc}
\lipsum[5]

\section{Ddddd}
\lipsum[6]

\section{Eeeee}
\lipsum[7]

\chapter{Three}
\lipsum[8]

\section{Fffff}
\lipsum[9]

\section{Ggggg}
\lipsum[10]

\section{Hhhhh}
\lipsum[11]

\end{document}

输出:

示例代码的输出

相关内容