[Tex/LaTex] add dots to list of tables in contents and add contents to contents itself

bookstable of contentstables

I have two question regarding toc in book class.

First, I added list of table to contents using:

\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{\listtablename}

It appears in contents. However, there is no dots filling the gap between the title and page number. How to add dots for this, please?

Second, how do I add the contents itself to the contents itself, please?

Thank you!

Best Answer

For adding contents in toc, just add \usepackage{tocbibind} in your preamble. To put dots for contents, load tocloft package and issue \renewcommand \cftchapdotsep{4.5}

\documentclass{book}
\usepackage{blindtext}
\usepackage{tocbibind}
\usepackage{tocloft}
 \renewcommand \cftchapdotsep{4.5}
\begin{document}
  \tableofcontents
  \Blinddocument
\end{document}

enter image description here

Here is a variant using titlesec instead of fncychap

\documentclass[draft]{book}
\usepackage{blindtext}
\usepackage{tocbibind}
\usepackage[titles]{tocloft}
\renewcommand \cftchapdotsep{4.5}

 \usepackage{titlesec}
 \titleformat{\chapter}[display]
    {\filcenter\bfseries\Large}
    {\MakeUppercase{\chaptertitlename} \Huge\thechapter}
    {4ex}
    {\titlerule
        \vspace{2ex}%
    }
    [\vspace{2ex}%
        \titlerule] 
    %
    \titleformat{name=\chapter,numberless}[display]
    {\filcenter\bfseries\Large}
    {}
    {4ex}
    {\titlerule
        \vspace{2ex}%
    }
    [\vspace{2ex}%
        \titlerule]
    \titlespacing*{\chapter} {0pt}{0pt}{40pt}
    \titlespacing*{name=\chapter,numberless} {0pt}{15pt}{40pt}
\begin{document}
  \tableofcontents
  \Blinddocument
\end{document}