I am using report
document class. When I create a new chapter, it starts it on a new blank page in which only the chapter name appears.
I want to be able to start new chapters on the same page as the old chapter ends. Is there any way to do it?
The \chapter
command internally uses \cleardoublepage
and \clearpage
to add page breaks. Use the etoolbox
package to selectively change the definition of \chapter
.
\documentclass{book}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{}
\makeatother
\begin{document}
\chapter{foo}
Some text.
\chapter{bar}
Some text.
\end{document}
Note: This etoolbox
hack also works for the report
class.
For KOMA-Script
scrbook
from version 3.19a (and most likely for other KOMA-Script
classes, too), you need to patch \scr@startchapter
instead of chapter
:
\usepackage{etoolbox}
\makeatletter
\patchcmd{\scr@startchapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{}
\makeatother
\include
adds page breaks before and after it.
\input
instead. See When should I use \input vs \include? for details.
\documentclass{report}
\begin{document}
\chapter{foo}
{\let\clearpage\relax \chapter{bar}}
\chapter{baz}
\end{document}
use \cleardoublepage
instead of \clearpage
for a two sided document
\vspace*{\fill} {\let\clearpage\relax\chapter*{Abstract}}
I have used this whenever I needed to add one chapter to the previous page:
\begingroup
\let\clearpage\relax
\chapter{My Chapter}
\endgroup
It doesn't change the rest of the chapters, or anything else in the document.