[Tex/LaTex] Page number won’t appear on the first page Chapter

chaptersheader-footerpage-numberingtable of contents

I' using the following code to create the table of contents, list of figures, and so on:

\documentclass[12pt,envcountsame,envcountchap]{svmono}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} % high quality pdf
\usepackage{ucs} % unicode for mac os x
\usepackage{geometry} % Flexible and complete interface to document dimensions.
\geometry{a4paper}
\usepackage{graphics}
\usepackage{caption}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{epstopdf} % eps to pdf
\usepackage{rotating} % rotate stuff
\usepackage{lmodern} %Type1-font for non-english texts and characters
\usepackage{graphicx}        % standard LaTeX graphics tool when including figure files
\usepackage{multicol}        % used for the two-column index
\usepackage[bottom]{footmisc}% places footnotes at page bottom, etc.
\usepackage{url}
\linespread{1.2}
\usepackage{color}
\usepackage{array}
\usepackage[toc,page]{appendix}
\usepackage[acronym]{glossaries}
\usepackage{glossaries}
\usepackage{listings}
\usepackage{longtable}
\usepackage{subcaption}

\captionsetup{compatibility=false}
\interfootnotelinepenalty=10000
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Use of Times New Roman font
\usefont{T1}{ptm}{m}{n}
\selectfont

\loadglsentries{001-acronyms}   % Load list of acronyms
\loadglsentries{001-symbols}        % Load list of frequent symbols
\makeglossaries
\glsaddall

\begin{document}
\frontmatter
\pagenumbering{roman}  

\include{100-cover}
\pagestyle{plain} 
\tableofcontents
\listoffigures  
\addcontentsline{toc}{chapter}{List of Figures} 
\listoftables
\addcontentsline{toc}{chapter}{List of Tables}
\lstlistoflistings
\end{document}

The \tableofcontents generates two pages, but the page number only appears on the second page. Since other commands (\listoffigures, \listoftables, \lstlistoflistings) only generate one page, the page number doesn't appear at all.
I would like to have page number present on all this pages.
Is there any way to achieve this?

Best Answer

This is a very common "problem" that typically follows document classes - not specific to svmono - that provide \chapters. The reason for this stems from the fact that the layout of the header on these chapter-first-pages typically look weird, and therefore is set in a different style via something like \thispagestyle{<chapter-page-style>} (typically <chapter-page-style> is plain).

While it is possible to issue

\chapter{<title>}
\thispagestyle{<style>}

in order to update the forced <chapter-page-style> style to <style> works for regular chapters, it's not that easy for List-of "chapters" like \tableofcontents, \listoffigures and the like. The reason for this is because the List-of chapter is set as a whole, thereby making it difficult to insert \thispagestyle{<style>} at the appropriate (timed) location.

You can resolve this problem through a patch of the List-of commands (using etoolbox):

\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\tableofcontents}{\@starttoc}{\thispagestyle{plain}\@starttoc}{}{}
\patchcmd{\listoffigures}{\@starttoc}{\thispagestyle{plain}\@starttoc}{}{}
\patchcmd{\listoftables}{\@starttoc}{\thispagestyle{plain}\@starttoc}{}{}
\makeatother

or by letting the empty page style be equivalent to the plain page style:

\makeatletter
\let\ps@empty\ps@plain
\makeatother

Either of the above, inserted in the preamble somewhere should work.