LaTeX:在\ part或\ chapter后删除空白页

Cap*_*olo 41 latex

如何删除在书籍文档类中\ part {}或\ chapter {}后自动添加的空白页?

我需要添加一些描述\ part的短文本.在part命令之后添加一些文本会导致至少3个页面在零件标题和文​​本之间有一个空页面:

  1. 第xx部分
  2. (空)
  3. 一些文字

如何摆脱那个空页?

PS Latex:如何删除IN章节中两章之间的空白页?是类似的,但它改变了文本其余部分的行为,而我只需删除此one\part命令的空白页面.

gro*_*ull 48

我想,你可以简单地添加oneside选项的书类?

\documentclass[oneside]{book}
Run Code Online (Sandbox Code Playgroud)

虽然我没有测试它:)

  • 我需要本地修改,仅适用于一个\ part {}语句. (2认同)

小智 39

它会留下空白页面,以便在右侧开始新的部分或章节.您可以使用文档类的"openany"选项来解决此问题.;)


Cap*_*olo 16

有效的解决方案:

使用下面提供的代码包装需要此修改行为的文档部分.在我的例子中,要包装的部分是\ part {},后面是一些文本.

\makeatletter\@openrightfalse
\part{Whatever}

Some text

\chapter{Foo}
\@openrighttrue\makeatother 
Run Code Online (Sandbox Code Playgroud)

包装部分还应该包括该行为需要停止的章节.否则,LaTeX可能会在本章之前生成一个空页面.

资料来源:irc.freenode.net上#latex IRC频道的人们


dmc*_*kee 8

你没有说你正在使用什么课,但我猜这是标准book.在这种情况下,页面清除是他的类的一个功能,您可以按照Mica建议覆盖,或通过切换到另一个类来解决.标准report类是类似book,或memoir是一种改进book,是非常灵活的确实.


小智 6

虽然我猜你不再需要答案了,但我会为那些会来看这篇文章的人提供解决方案.

源自book.cls

\def\@endpart{\vfil\newpage
              \if@twoside
                \null
                \thispagestyle{empty}%
                \newpage
              \fi
              \if@tempswa
                \twocolumn
              \fi}
Run Code Online (Sandbox Code Playgroud)

在此片段的第一行是"\newpage",在部件标题页后面添加了一个冗余空白页.所以你必须重新定义命令\ _endpart.将以下代码段添加到tex文件的开头.

\makeatletter
\renewcommand\@endpart{\vfil
              \if@twoside
                \null
                \thispagestyle{empty}%
                \newpage
              \fi
              \if@tempswa
                \twocolumn
              \fi}
\makeatother
Run Code Online (Sandbox Code Playgroud)