自动增加 minitoc 章节编号和标题之间的数字宽度

自动增加 minitoc 章节编号和标题之间的数字宽度

当章节和小节的数量达到两位数时,章节号和标题开始minitoc重叠: 在此处输入图片描述

\documentclass{book}

\usepackage{minitoc}

\setcounter{chapter}{9}
\begin{document}

\dominitoc% Initialization
\faketableofcontents

\chapter{bla}
\minitoc% Creating an actual minitoc

\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One

\end{document}

知道如何防止这种情况吗?由于我有一大堆这样的文档,因此最好自动调整宽度而不是应用固定宽度。类似tocstyle这样的软件包提供的设置tocindentauto似乎不会影响mintoc

答案1

据我所知,minitoc没有提供水平设置的设置,也就是numwidth这里所关注的。这要么在诸如\l@section\l@subsection等命令中设置,要么用于tocloft向长度寄存器添加一些间距\cftsubsecnumwidth

(我不确定是否tocloftminitoc总是兼容!)

这里的盒子numwidth太小,必须扩大,缩进对这个盒子的宽度没有影响——它只是移动盒子(通常向右)

\documentclass{book}

\usepackage{tocloft}

\addtolength{\cftsubsecnumwidth}{10pt}
\usepackage{minitoc}

\setcounter{chapter}{9}
\begin{document}

\dominitoc% Initialization
\faketableofcontents

\chapter{bla}
\minitoc% Creating an actual minitoc

\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\section{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One
\subsection{One}
One

\end{document}

在此处输入图片描述

相关内容