My document has three "parts" (using the \part command), and chapters, and sections. When I generate my table of contents (\tableofcontents), all the chapters and lower have dots between the name of the chapter/section/etc. and the page number. However, the parts do not have dots.

How do I fix this?

Here is the code in my cls that pertains to the table of contents, please advise how to make it so that parts also have dots.

\renewcommand\contentsname{Table of Contents}

  \ifnum \c@tocdepth >\m@ne
    \vskip 1.0em \@plus 0.2em \@minus 0.2em
      \leftskip \z@ \rightskip \@tocrmarg \parfillskip -\rightskip
      \parindent \z@
      \leavevmode \bfseries
      \hskip -\leftskip
      \leaders\hbox{$\m@th\mkern\@dotsep mu\hbox{.}\mkern\@dotsep mu$}
      \hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par

The document class uiucthesis2009 is used and this class based on book:

  • Can you post a link to the whole class? – Alan Munn Mar 11 '12 at 18:23
  • Please note that "fixing issues with dots in ToC" usually means "getting rid of the dots": their very presence is the main problem (at least from aesthetical and functional points of view). – mbork Mar 11 '12 at 19:11
  • I agree with your general opinion mbork - but my university is requiring them for my dissertation.... – JMH Mar 11 '12 at 19:23
  • @alan-munn - here is a link to the CLS file - netfiles.uiuc.edu/jhailpe2/www/uiucthesis2009.cls – JMH Mar 11 '12 at 19:26

You show the chapter code but not the part code, the dots come ffom this bit of \l@chapter

 \leaders\hbox{$\m@th\mkern\@dotsep mu\hbox{.}\mkern\@dotsep mu$}

If you look in your class file (or if it inputs one of the standard classes) you will find \ definition of \l@part that just has \hfil (white space) rather than the leaders. eg \l@part in article has

       \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par

putting the \leaders line between #1 (the chapter title) and the \hfil will make the hfill work by repeating the dots rather than just using space.

like so:



  \ifnum \c@tocdepth >-2\relax
    \addvspace{2.25em \@plus\p@}%
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
       \large \bfseries #1%
      \leaders\hbox{$\m@th\mkern\@dotsep mu\hbox{.}\mkern\@dotsep mu$}%
       \hfil \hb@xt@\@pnumwidth{\hss #2}}\par




\part{the first}






  • Hi @david-carlisle, my cls file has no \l@part in it. So what would i do to add it? – JMH Mar 11 '12 at 19:44
  • If part appears in the table of contents l@part must be defined, does your class \input or RequoreClass report or article class for example. You can find out the definition by adding \show\l@part but the error format breaks lines so it is nicer to copy from the original definition. (or just copy l@part from article.cls if you are really stuck) – David Carlisle Mar 11 '12 at 19:57
  • @DavidCarlisle: The class was added in a comment above. The relevant part: \LoadClass{book} – Marco Daniel Mar 11 '12 at 20:00
  • Ah I see you gave a link it has \LoadClass{book} so take the definition of l@part from latex/base/book.cls, amended to have dots as in my answer – David Carlisle Mar 11 '12 at 20:01
  • @DavidCarlisle: I edited the question ;-) – Marco Daniel Mar 11 '12 at 20:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.