
I am using \tableofcontents to create TOC in my document. however it is appearing as shown in the image. As the numbers increase the gap between the number and text is reducing.
Thanks for your help Aku

I am using \tableofcontents to create TOC in my document. however it is appearing as shown in the image. As the numbers increase the gap between the number and text is reducing.
Thanks for your help Aku
You can use the tocloft package, e.g.
\documentclass{book}
\usepackage{tocloft}
\setlength{\cftchapnumwidth}{3em}
\begin{document}
\tableofcontents
\chapter{Lorem}
\setcounter{chapter}{9}
\chapter{Ipsum}
\setcounter{chapter}{99}
\chapter{Dolor}
\end{document}
The length \cftXnumwidth defines how wide the space for the number of X should be, where X is part (for \part), chap (for \chapter), sec (for \section) etc. See the tocloft manual for a complete list. Set this length to fit your needs.
cftchapnumwidth, one might want to also increase by the same amount cftsecindent and cftsubsecindent (in general, cftXindent for all lower levels), so that section numbers (etc.) keep starting below chapter titles as they do by default. tocloft doesn't document this, but the output looks odd (IMHO) otherwise.
– Blaisorblade
Jul 17 '17 at 04:10
You can use a package or simply redefine the section level command as follows:
\documentclass[11pt]{article}
\makeatletter
\def\l@section{\@dottedtocline{1}{1em}{2em}}
\makeatother
\usepackage{index}
\makeindex
\begin{document}
\tableofcontents
\section{One}
\section{Two}
\section{Three}
\end{document}
In the \def\l@section{\@dottedtocline{1}{1em}{2em}} change the 2em to suit. Here is the format of the \@dottedtocline{<level>}{<indent>}{<numwidth>}{<title>}{<page>}.
tocloft completely remove all format of the toc. But with your command chapter in the toc are no longer written in bold. How can I fix this ? Maybe it is due to the fact that chapter is not a dotted toc line ?
– Ger
Sep 03 '12 at 10:14
tocloft was causing many problems with hyperref and other errors impossible to decipher. I also implemented it correctly for sublevels, thanks!
– Santiago
Aug 18 '16 at 08:54
tocloft is a bit incompatible with KOMA-classes. The KOMA-bundle provides an own package tocstyle, that can be used with the standard classes as well. You can change the appearance of the toc, the right width will be iterated over several latex runs.
\documentclass{book}
\usepackage[tocindentauto]{tocstyle}
\usetocstyle{standard}
\begin{document}
\tableofcontents
\chapter{Duck}
\setcounter{chapter}{9}
\chapter{Penguin}
\setcounter{chapter}{99}
\chapter{Platypus}
\end{document}

\setuptoc to automatically indent equivalent to the tocindentauto combined with usetocstyle{standard}. But I suppose I should ask that as a separate question if it becomes an issue (for now I will just use the obsolete package and hope I don't need to update soon).
– hasManyStupidQuestions
Apr 08 '20 at 03:18