如何覆盖书籍的子类以获取偶数页的目录?

如何覆盖书籍的子类以获取偶数页的目录?

我正在尝试将目录放在背面(即偶数页)。我在这里看到了几个关于类似主题的帖子,其中许多帖子建议你自己制作命令,大致如下:

\makeatletter
\def\clearevenpage{\clearpage\if@twoside \ifodd\c@page
    \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\makeatother

这对我的文档不起作用。我也尝试了基于发布的 changepage 和 ifthen 包的解决方案在此主题中。如果我只是在命令前放置\null\clearpage或,我只会清除到右页(奇数页),这样我只会得到一个额外的空白页。\hbox{}\newpage\tableofcontents

我在用这个子类书籍类别。我没有看到任何内容cls 文件这显然会导致这种行为,但我不太擅长阅读 Latex 代码,所以我可能遗漏了一些东西。或者是书籍类本身?

答案1

ntnuthesis加载类book\tableofcontents使用 定义\chapter*。所有\chapter命令都调用\cleardoublepage

的定义\cleardoublepage可以改为\clearevenpage在的持续时间内执行\tableofcontents

\documentclass[twoside]{book}

\makeatletter
\newcommand*{\clearevenpage}{%
  \clearpage
  \if@twoside
    \ifodd\c@page
      \hbox{}%
      \newpage
      \if@twocolumn
        \hbox{}%
        \newpage
      \fi
    \fi
  \fi
}
\makeatother

\begin{document}
First page
\begingroup
  \let\cleardoublepage\clearevenpage
  \tableofcontents
\endgroup
\chapter{First chapter}
\end{document}

结果是三页:

  1. “第一页”
  2. “目录”
  3. “第一章”

如果您只想允许章节从偶数页和奇数页开始,那么您可以使用选项openany

\PassOptionsToClass{openany}{book}
\documentclass[twoside]{ntnuthesis}

答案2

重新定义\cleardoublepage\clearpage本地应该可行。

调用\tableofcontents方式如下:

{\let\cleardoublepage\clearpage\tableofcontents}

MWE(你可以用book替代ntnuthesis

\documentclass{book}

\begin{document}

\chapter{Intro}

{\let\cleardoublepage\clearpage\tableofcontents}

\chapter{1st}
\section{test}
\section{test}
\chapter{2nd}
\section{test}
\section{test}

\end{document} 

输出(目录):

在此处输入图片描述

相关内容