Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I've googled, and I read a lot about how not having a pagebreak before a new chapter is bad style. I've read about how one could use sections instead. I've read about how changing whether a chapter begins on a new page or not within a document is even worse, from a style standpoint.

However, if I still have to do it somehow, typographic style be damned, and I have to do it in a twocolumn document...

Background: I am translating a set of gaming rulebooks into a single scrbook, with each original rulebook represented by a part in my scrbook. Layout of the rulebooks is relatively uniform, with fancy chapter headings beginning on a new page each.

The exception to this is the first rulebook / part, which has very short chapters, sometimes several on a single page, but following the same numbering scheme as the more elaborate chapters in the other rulebooks / parts.

I could typeset that first book seperately, using sections instead of chapters, and include the resulting PDF. That way, I would lose the common TOC / LOT / index, which would be unfortunate.

I could wing it by redefining header formats for the first part, to make sections "look" like chapters and subsections look like sections and subsubsections... and so on. Pretty heavy-handed.

Edit: The solution in Start new chapter on same page (using etoolbox to patch the clearpage / cleardoublepage out of the definition of \chapter) does not work for a twocolumn document, yielding "Float(s) lost" errors. (I hadn't mentioned the twocolumn detail before as I did not think it would make a difference.) User lockstep asked for a seperate question; instead, I vote for re-opening this (edited) one.


tl;dr:

Is there a way to tell LaTeX not to put a pagebreak for \chapter in a twocolumn document?

share|improve this question
add comment

2 Answers

up vote 10 down vote accepted

As switching between twocolumn and onecolumn causes a page break, one may use the multicol package and its multicols environment instead. (The environment's optional argument is used for introductory one-column material.) In the following example, I use the twocolumn class option to achieve smaller margins, then temporarily switch two \onecolumn at the start of the document. Page breaks before chapters are removed by disabling \clearpage inside a group.

Note: The vertical space before chapter 1 (typeset with multicols) is actually larger than the space before chapter 3 (typeset with \twocolumn). The larger space is caused by LaTeX bug 3126 (\twocolumn interfering with \topskip); for consistent spacing, use multicols environments for every chapter of your document. EDIT: Even better, use Frank Mittelbachs answer to Is it possible to define a `multicols{2}` preamble switch that works for \chapter?

\documentclass[twocolumn]{book}

\usepackage{multicol}
\setlength{\columnsep}{20pt}

\newcommand*{\sometext}{Hello, here is some text without a meaning. This
    text should show, how a printed text will look like at this place.
    If you read this text, you will get no information.}

\begin{document}

\onecolumn

\begingroup
\let\clearpage\relax

\begin{multicols}{2}[%
  \chapter{First (and some text to fill the line)}%
]

\sometext

\end{multicols}

\begin{multicols}{2}[%
  \chapter{Second (and some text to fill the line)}%
]

\sometext

\end{multicols}

\endgroup

\twocolumn

\chapter{Third (and some text to fill the line)}

\sometext

\chapter{Fourth (and some text to fill the line)}

\sometext

\end{document}

enter image description here

share|improve this answer
    
Sigh... Yes, this solves the immediate problem. And gives me the next one: multicols and tables... :-P Thanks, anyway. –  DevSolar Nov 13 '11 at 20:58
add comment

onecolumn inserts page break, redefine it!

\def\onecolumn{%
%  \clearpage
  \global\columnwidth\textwidth
  \global\hsize\columnwidth
  \global\linewidth\columnwidth
  \global\@twocolumnfalse
  \col@number \@ne
  \@floatplacement}
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.