7

Is there any way I can force all the pages of table of contents (and its family) to be printed only on the right side ?

Presently I am having it as :

\phantomsection
\tableofcontents
\addtocontents{toc}{\protect\addcontentsline{toc}{chapter}{Contents}}
\cleardoublepage

\phantomsection
\addtocontents{lof}{\protect\addcontentsline{toc}{chapter}{List of Figures}}
\listoffigures
\cleardoublepage

\phantomsection
\addtocontents{lot}{\protect\addcontentsline{toc}{chapter}{List of Tables}}
\listoftables
\cleardoublepage

\phantomsection
\addtocontents{loa}{\protect\addcontentsline{toc}{chapter}{List of Algorithms}}
\listofalgorithms
\cleardoublepage

My table of content is a long one and it spans over 2 pages. But they are printed as back-to-back. Is it possible that I can print them only on the right hand side pages ?

0

3 Answers 3

5

In case of two pages, package \afterpage helps in putting \afterpage{\cleardoublepage} right at the begin of the table of contents:

\documentclass[twoside]{report}
\usepackage[a6paper]{geometry}% for testing only
\usepackage{afterpage}
\AtBeginDocument{%
  \addtocontents{toc}{\protect\afterpage\protect\cleardoublepage}%
}
\usepackage{hyperref}

\begin{document}
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{\contentsname}
\tableofcontents
\chapter{A}
\section{B}
\chapter{C}
\section{D}
\chapter{E}
\section{F}
\chapter{G}
\section{H}
\chapter{I}
\section{J}
\chapter{K}
\section{L}
\chapter{M}
\section{N}
\end{document}
3
  • Tried this. Still no change.
    – gaganbm
    Jun 7, 2013 at 22:22
  • @gaganbm: The chapter header of the table of contents had interfered. Now the updated answer puts the \afterpage{\cleardoublepage} at the begin of the .toc file. Jun 7, 2013 at 23:13
  • Perfect. Exactly what I needed. Thanks a lot.
    – gaganbm
    Jun 7, 2013 at 23:25
3

Presumably you want blank even pages not just in the table of contents, but everywhere in the front matter. Package everyshi allows you to add "every shipout" code that can check whether the page is even and if yes, output a blank page. The counter \c@page can be used for this. You also need to switch off this feature inside main matter.

This code seems to work:

\usepackage{everyshi}
\makeatletter
\EveryShipout{\if@mainmatter\else\ifodd\c@page\null\pagebreak\fi\fi}
\makeathother
1
  • Very informative. Yes, I was looking for printing the front matter only on odd pages. Fore the rest of the pages, like abstract etc., it was easily done with '\cleardoublepage'. Anyways, I already used the other approach, but will take note of this one for future.
    – gaganbm
    Jun 11, 2013 at 7:06
1

You can add commands to the TOC using \addtocontents{toc}{\whatever}. If your documentclass is book, memoir, scrbook, or another book-like class \addtocontents{toc}{\protect\cleardoublepage} should do what you want. Just insert it after the last chapter that you want to appear on page ix. I am not sure whether \protect is necessary.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .