可能重复:
如何删除章节之间的页眉和页脚?
使用下面的代码,您可以清除空白页的页脚。
\makeatletter
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
\hbox{}
\vspace*{\fill}
\vspace{\fill}
\thispagestyle{empty}
\newpage
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\makeatother
是否有任何包或其他命令可以减少这个代码?
答案1
的定义中有一些不必要的空格和框线\cleardoublepage
。这个稍微短一点:
\makeatletter
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
\null\thispagestyle{empty}\newpage\fi\fi}
\makeatother
但是,如果您知道文档的设置,则可以删除许多条件语句,因为它们添加了大部分代码。这样做的原因是该命令是为了适应一般的文档设置,而不是特定于一个实例。为此,如果您正在排版book
使用该twoside
选项的文件,您也可以使用
\makeatletter
\def\cleardoublepage{\clearpage\ifodd\c@page\else
\null\thispagestyle{empty}\newpage\fi}
\makeatother
如果你不喜欢这个@
符号(带有\makeatletter
和\makeatother
),你也可以使用
\def\cleardoublepage{\clearpage\ifodd\value{page}\else
\null\thispagestyle{empty}\newpage\fi}
答案2
来自 ams 文档类的此代码可以完美地覆盖旧版本 latex 中不合标准的版本:
\let\cleardouble@page\cleardoublepage
\AtBeginDocument{%
\ifx\cleardouble@page\cleardoublepage
\def\cleardoublepage{\clearpage{\pagestyle{empty}\cleardouble@page}}
\fi
}
当然,在文档序言中您需要\makeatletter .... \makeatother
。
答案3
我在用着:
\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{\clearpage{\pagestyle{empty}\origdoublepage}}
\let\cleardoublepage\clearemptydoublepage
可以说比该方法更少涉及\AtBeginDocument
,但仍然足够小心以保存先前的定义:)