如何避免使用 \chapter*{} 时出现空白页

如何避免使用 \chapter*{} 时出现空白页

因此,当使用\chapter*{}这个时,在下一页之前会引入一个空白页,\chapter*{}我猜这是因为我使用的是书籍格式,尝试将它放入一个新组并清除双页,但这会弄乱整个格式。

有没有办法告诉 Latex 不要包含这个页面。

我特别将这部分的代码附在我的文档中:

\chapter*{Resumen}
\section*{Resumen}
Text Here
\section*{Palabras Clave}
a, b, c, d, e
\chapter*{}
\section*{Abstract}
Text Here
\section*{Key words}
a, b, c, d, e

先感谢您

答案1

如果要在任何页面上打开所有章节,请使用选项openany(如已经推荐的一样)@alwin。如果只应在左侧打开特定章节,则可以通过说来关闭向右打开功能\makeatletter\@openrightfalse\makeatother。之后不要忘记恢复。

通过命令的定义进行一些解释\chapter(取自)book.cls

\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}

可以看出,每个\chapter(无论是否使用\chapter\chapter*)都使用相同的起始代码,即测试 是否\if@openright扩展为 true 并执行\cleardoublepage,因此它将从下一个奇数页开始。如果\if@openright为 false,它将使用\clearpage并且章节从下一页开始(偶数或奇数)。

笔记我不建议在一份文档中使用多种不同的打开方式。

\documentclass{book}

\makeatletter
\newcommand{\enableopenany}{%
  \@openrightfalse%
}
\newcommand{\disableopenany}{%
  \@openrighttrue%
}
\makeatother

\usepackage{blindtext}

\begin{document}

\chapter{Foo}
\blindtext[20]


\enableopenany
\chapter*{Foobar}

\blindtext[17]


\disableopenany
\chapter{Foobar again}

\blindtext[20]

\end{document}

在此处输入图片描述

答案2

如果你不想在前面有任何空白页全部您的章节,您可以告诉 LaTeX 在任何页面上打开章节。

这是通过以下方式完成的:\documentclass[openany]{book}

默认值是openright让 LaTeX 添加额外的页面,以确保章节在正确的页面上打开。

这个答案中有更多详细信息:https://tex.stackexchange.com/a/128336/51373

如果您只是不想在两个特定章节之间出现空白页,我的方法是:\makeatletter\@openrightfalse在章节之前关闭 openright,然后在章节之后使用 将其再次打开\@openrighttrue\makeatother

希望它能解决你的问题!

相关内容