删除前言中空白偶数页的页码

删除前言中空白偶数页的页码

在前言中,有没有办法显示没有任何标题或页码的空白页?

例如,如果我的序言刚好适合奇数页,我不希望接下来的空白偶数页显示任何内容。

我正在使用这个book课程。

谢谢。

答案1

如果您希望整个文档都具有该行为,只需加载该包即可emptypage

平均能量损失

\documentclass{book}
\usepackage{emptypage}
\usepackage{lipsum}

\begin{document}

\frontmatter
\chapter*{Preface}
\lipsum[1]

\mainmatter
\chapter{1}
\lipsum[1]
\chapter{2}
\lipsum[1]

\backmatter
\chapter*{Conclusions}
\lipsum[1]
\chapter*{At the end}
\lipsum[1]

\end{document} 

相反,如果您希望在前言中实现该行为,但不在主内容中实现该行为,您可以执行以下操作。

使用包中的代码,emptypage我们定义了两个命令,\setempty打印空白页和\setnonempty打印普通空白页。

\makeatletter
\def\emptypage@emptypage{%
    \hbox{}%
    \thispagestyle{empty}%
    \newpage%
    \if@twocolumn%
        \hbox{}%
        \newpage%
    \fi%
}
\let\oldcleardoublepage\cleardoublepage
\newcommand{\setempty}{%
  \def\cleardoublepage{%
      \clearpage%
      \if@twoside%
          \ifodd\c@page%
              % do nothing
          \else%
              \emptypage@emptypage%
          \fi%
      \fi%
  }%
}
\newcommand{\setnonempty}{%
  \let\cleardoublepage\oldcleardoublepage%
}
\makeatother

以下 MWE 展示了其如何工作。

\documentclass{book}
\makeatletter
\def\emptypage@emptypage{%
    \hbox{}%
    \thispagestyle{empty}%
    \newpage%
    \if@twocolumn%
        \hbox{}%
        \newpage%
    \fi%
}
\let\oldcleardoublepage\cleardoublepage
\newcommand{\setempty}{%
  \def\cleardoublepage{%
      \clearpage%
      \if@twoside%
          \ifodd\c@page%
              % do nothing
          \else%
              \emptypage@emptypage%
          \fi%
      \fi%
  }%
}
\newcommand{\setnonempty}{%
  \let\cleardoublepage\oldcleardoublepage%
}
\makeatother
\usepackage{lipsum}

\begin{document}

\frontmatter
\setempty
\chapter*{Preface}
\lipsum[1]

\mainmatter
\setnonempty
\chapter{1}
\lipsum[1]
\chapter{2}
\lipsum[1]

\backmatter
\setempty
\chapter*{Conclusions}
\lipsum[1]
\chapter*{At the end}
\lipsum[1]

\end{document} 

答案2

您可以加载该包scrextend。然后它就是默认行为。

\documentclass{book}
\usepackage{scrextend}
\usepackage{blindtext}
\begin{document}
\frontmatter
\chapter{preface}
\blindtext
\mainmatter
\blinddocument
\end{document}

也可以使用包选项cleardoublepage=<pagestyle>或宏为此类页面选择其他样式

\KOMAoptions{cleardoublepage=<pagestyle>}

因此,如果您愿意,可以使用plain\mainmatter

\documentclass{book}
\usepackage{scrextend}
\usepackage{blindtext}
\begin{document}
\frontmatter
\chapter{preface}
\blindtext
\mainmatter
\KOMAoptions{cleardoublepage=plain}
\chapter{Start}
\blindtext
\blinddocument
\end{document}

答案3

我遇到了同样的问题,我发现这是最简单的解决方案:

\usepackage[clearempty]{titlesec}

相关内容