目录页的单页底部空间

目录页的单页底部空间

我之前发过一个问题,关于如何在目录中从第十个子节开始在子节编号和子节名称之间留出一点空间。答案这里建议解决方案。最好的解决方案之一是使用命令

\usepackage[tocindentauto]{tocstyle}
\usetocstyle{KOMAlike}

事实上,这解决了问题,并改变了目录的样式,根据需要在编号和子部分标题之间留出一点空间。但是,这又带来了另一个问题,即在目录页面的单个页面底部出现了空白!以下是问题的屏幕截图:

在此处输入图片描述 我怎样才能用其他项目(已经移至下一页)填充此空间?!这是我的 MWE:

\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\usepackage{tocloft}
\usepackage[tocindentauto]{tocstyle}
\usetocstyle{KOMAlike}

\begin{document}
\tableofcontents

\end{document}

答案1

首先:最多使用一个包来格式化目录,即要么toclofttocstyle要么tocbasic或...

不幸的是,MWE 没有显示该问题。因此,以下内容只是猜测:也许第 9.1 节后面跟着第 9.2 节和第 9.2.1 节。

包避免在节级别和较低节级别之间出现分页符。此处较低节级别表示较高节级别编号。因此,a和第一个条目之间或 a和第一个条目之间tocstyle不允许出现分页符。sectionsubsectionsubsectionsubsubsection

请注意,该软件包tocstyle是 alpha 版本,据我所知,此状态永远不会改变。作者建议使用包裹tocbasic反而:

\usepackage{tocbasic}[2017/01/03]
\DeclareTOCStyleEntry[dynnumwidth]{tocline}{section}
\DeclareTOCStyleEntry[dynnumwidth]{tocline}{subsection}
\DeclareTOCStyleEntry[dynnumwidth]{tocline}{subsubsection}

tocbasicsection避免条目与其第一个条目之间的分页符subsection

例子:

在此处输入图片描述

但你可以使用选项改变这种行为onstarthigherlevel=\LastTOCLevelWasSameonstarthighersectionlevel指的是部分级别数字)。请注意,我不推荐这样做,但这是可能的:

\usepackage{tocbasic}[2017/01/03]
\DeclareTOCStyleEntry[dynnumwidth,onstarthigherlevel=\LastTOCLevelWasSame]{tocline}{section}
\DeclareTOCStyleEntry[dynnumwidth,onstarthigherlevel=\LastTOCLevelWasSame]{tocline}{subsection}
\DeclareTOCStyleEntry[dynnumwidth,onstarthigherlevel=\LastTOCLevelWasSame]{tocline}{subsubsection}

在此处输入图片描述

代码:

\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\usepackage{tocbasic}[2017/01/03]
\DeclareTOCStyleEntry[dynnumwidth,onstarthigherlevel=\LastTOCLevelWasSame]{tocline}{section}
\DeclareTOCStyleEntry[dynnumwidth,onstarthigherlevel=\LastTOCLevelWasSame]{tocline}{subsection}
\DeclareTOCStyleEntry[dynnumwidth,onstarthigherlevel=\LastTOCLevelWasSame]{tocline}{subsubsection}

\usepackage{blindtext}% for dummy text
\usepackage{showframe}% to show the page layout
\begin{document}
\tableofcontents
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}

如果你想使用包裹tocloft然后手动删除tocstyle并更改 ToC 中的数字宽度和缩进的设置:

\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\usepackage{tocloft}
\renewcommand*\cftsecnumwidth{2em}
\renewcommand*\cftsubsecindent{2em}
\renewcommand*\cftsubsecnumwidth{2.8em}
\renewcommand*\cftsubsubsecindent{4.8em}

\usepackage{blindtext}% for dummy text
\usepackage{showframe}% to show the page layout
\begin{document}
\tableofcontents
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}

在此处输入图片描述

相关内容