[Tex/LaTex] TOC entries in Small Caps

fontstable of contents

I want to have my TOC entries in Small Caps. I cant get by using \textsc{\tableofcontents} rather than \tableofcontents but this adds a blank page before TOC. Any help will be highly appreciated. Thanks

% Document Class
\documentclass[a4paper,12pt]{book}

% Packages
\usepackage[english]{babel}
\usepackage{blindtext}

\usepackage{titlesec}
\titlespacing*{\chapter}{0pt}{-50pt}{20pt}
\titleformat{\chapter}[display]{\normalfont\scshape\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}


\titleformat{\section}
  {\normalfont\scshape\Large\bfseries}{\thesection}{15pt}{\LARGE}


\titleformat{\subsection}
  {\normalfont\scshape\large\bfseries}{\thesubsection}{15pt}{\Large}



\begin{document}

\tableofcontents


\chapter{First Chapter}

\section{Introduction}

% Blind Text
\blindtext[1]


\section{Material \& Method}

% Blind Text
\blindmathpaper


\chapter{Second Chapter}

\section{Introduction}

% Blind Text
\blindtext[1]


\section{Material \& Method}

% Blind Text
\blindmathpaper


% End Document
\end{document}

Best Answer

You can use tocloft and its \cftXfont family of commands:

\documentclass[a4paper,12pt]{book}

% Packages
\usepackage[english]{babel}
\usepackage{blindtext}

\usepackage{titlesec}
\usepackage[titles]{tocloft}

\titlespacing*{\chapter}{0pt}{-50pt}{20pt}
\titleformat{\chapter}[display]{\normalfont\scshape\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}


\titleformat{\section}
  {\normalfont\scshape\Large\bfseries}{\thesection}{15pt}{\LARGE}


\titleformat{\subsection}
  {\normalfont\scshape\large\bfseries}{\thesubsection}{15pt}{\Large}

\renewcommand\cftchapfont{\scshape}
\renewcommand\cftsecfont{\scshape}

\begin{document}

\tableofcontents


\chapter{First Chapter}

\section{Introduction}

% Blind Text
\blindtext[1]


\section{Material \& Method}

% Blind Text
\blindmathpaper


\chapter{Second Chapter}

\section{Introduction}

% Blind Text
\blindtext[1]


\section{Material \& Method}

% Blind Text
\blindmathpaper


% End Document
\end{document}

An image of the resulting ToC:

enter image description here

Notice that tocloft was loaded using the titles option:

\usepackage[titles]{tocloft}

so the lists (ToC, LoF and LoT) titles will follow your redefinition using titlesec.