“此页故意留空”,但仅限于前言

“此页故意留空”,但仅限于前言

我使用book类来完成我的论文,我想在使用 时在左侧页面上插入“此页故意留空”消息openright。但是,我只想在文档的 中显示此消息,并在可能为空的页面上frontmatter使用 中设置的标题。我使用以下代码,改编自fancyhdrmainmatter回答:

\documentclass[11pt,openright]{book}
\makeatletter
\def\cleardoublepage{\clearpage\if@twoside%
    \ifodd\c@page\else
    \vspace*{5cm}
    \begin{center}
        This page intentionally left blank.
    \end{center}
    \thispagestyle{empty}
    \newpage
    \if@twocolumn\hbox{}\newpage\fi\fi\fi
}
\makeatother
\usepackage{fancyhdr}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[CE]{\textit{\MakeUppercase{My name}}}
\fancyhead[RE]{}
\fancyhead[LO]{}
\fancyhead[CO]{\textit{\MakeUppercase{\The title}}}
\pagestyle{fancy}

\title{The title}
\author{My name}
\date{\today}

\begin{document}
\maketitle
\frontmatter
\chapter{Abstract}
\mainmatter
\chapter{The first chapter}
\chapter{The second chapter}
\end{document}

我尝试\if@mainmatter在命令定义中将其放在不同的位置cleardoublepage,但无法使其工作。有什么帮助吗?谢谢。

答案1

这非常接近您所拥有的(并且您可能尝试过)。我能够完成\if@mainmatter工作。另一个区别是\frontmatter需要在之前\maketitle

\documentclass[openright]{book}
\makeatletter
\def\cleardoublepage{\clearpage%
\if@twoside%
 \ifodd%
  \c@page%
 \else%
  \if@mainmatter%
   \hbox{}%
  \else%
   \vspace*{5cm}
   \begin{center}This page intentionally left blank.\end{center}
   \thispagestyle{empty}
  \fi%
  \newpage%
  \if@twocolumn\hbox{}\newpage\fi%
 \fi%
\fi%
}
\makeatother
\usepackage{fancyhdr}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[CE]{\textit{\MakeUppercase{My name}}}
\fancyhead[RE]{}
\fancyhead[LO]{}
\fancyhead[CO]{\textit{\MakeUppercase{\The title}}}
\pagestyle{fancy}

\title{The title}
\author{My name}
\date{\today}

\begin{document}
\frontmatter
\maketitle
\chapter{Abstract}
\mainmatter
\chapter{The first chapter}
\chapter{The second chapter}
\end{document}

另一种可能性(但需要做更多工作)是\let\mainmattercleardoublepage=\cleardoublepage,然后重新定义,并重新定义\mainmatter为包括\let\cleardoublepage=\mainmattercleardoublepage

答案2

可以在仅包含前言的组内进行重新定义:

\documentclass[11pt,openright]{book}

\usepackage{fancyhdr}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[CE]{\textit{\MakeUppercase{My name}}}
\fancyhead[RE]{}
\fancyhead[LO]{}
\fancyhead[CO]{\textit{\MakeUppercase{The title}}}
\pagestyle{fancy}

\title{The title}
\author{My name}
\date{\today}

\begin{document}

\begingroup
\makeatletter
\def\cleardoublepage{\clearpage\if@twoside%
    \ifodd\c@page\else
    \vspace*{5cm}
    \begin{center}
        This page intentionally left blank.
    \end{center}
    \thispagestyle{empty}
    \newpage
    \if@twocolumn\hbox{}\newpage\fi\fi\fi
}
\makeatother
\maketitle
\frontmatter
\chapter{Abstract}

\endgroup
\mainmatter
\chapter{The first chapter}
\chapter{The second chapter}
\end{document}

相关内容