目录仅在右侧页面上

目录仅在右侧页面上

有什么方法可以强制将目录(及其相关内容)的所有页面仅打印在右侧?

目前我的情况是:

\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

我的目录很长,跨越 2 页。但它们是连续打印的。我是否可以只在右侧页面上打印它们?

答案1

如果有两页,包\afterpage有助于将\afterpage{\cleardoublepage}其放在目录的开头:

\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}

答案2

假设您不仅希望目录中有空白偶数页,还希望前言中所有地方都有空白偶数页。软件包everyshi允许您添加“every shipout”代码,该代码可以检查页面是否为偶数,如果是,则输出空白页。计数器\c@page可用于此目的。您还需要在主内容中关闭此功能。

该代码似乎有效:

\usepackage{everyshi}
\makeatletter
\EveryShipout{\if@mainmatter\else\ifodd\c@page\null\pagebreak\fi\fi}
\makeathother

答案3

您可以使用 向目录添加命令\addtocontents{toc}{\whatever}。如果您的文档类是书籍、回忆录、scrbook 或其他类似书籍的类,则\addtocontents{toc}{\protect\cleardoublepage}应该可以满足您的要求。只需将其插入到您希望出现在第 ix 页的最后一章之后即可。我不确定是否\protect有必要。

相关内容