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