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.

Given LaTeX likeso:

\section{Heading}

Here is some text after the heading.

How could one prevent the Heading from showing up at the very bottom of the page?

In other words, how could one prevent a page-break after Heading and before the following text?

This seems to be happening in a document that I've got. If there's more information that would be helpful, I'd be happy to post more of the entire LaTeX document.

share|improve this question
    
It's happenning to me, too. I have a small document, I'm not redefining anything. I don't even use \usepackage! I'm using \documentclass{article} and there are \sections in it. It might be because all that are in the sections are tables, so perhaps it's very difficult to layout the tables so that they're not split across pages (which latex won't do?) and keep the section title with the contents? –  Limited Atonement Nov 10 '11 at 16:55
    
@LimitedAtonement: Maybe give the Memoir class a shot - it solved the problem for me: ctan.org/tex-archive/macros/latex/contrib/memoir –  Brian M. Hunt Nov 10 '11 at 19:07
add comment

migrated from stackoverflow.com Sep 1 '12 at 12:22

This question came from our site for professional and enthusiast programmers.

7 Answers

up vote 6 down vote accepted

This should rarely happen with the standard document classes (and the better-known ones such as memoir and koma). Are you using a homegrown document class or redefining the \section command yourself?

share|improve this answer
    
Using \documentclass[oneside,12pt]{article}. Was thinking of moving to memoir- this might push me more. :) Thanks. –  Brian M. Hunt Feb 5 '09 at 4:41
1  
Problem went away with the Memoir class. –  Brian M. Hunt Sep 1 '09 at 19:58
1  
@Will Robertson: It still occurs e.g. in book class if you have a footnote below the start of the new section... –  strpeter Jan 28 at 22:46
add comment

As Will Robertson says, this really should not be happening with standard document classes and packages. You might like to try redefining the sectioning commands with the titlesec package; I usually do this anyway to get the section heading styles I want, and titlesec has features to control the breaking and positioning of section headings.

The other suggestions regarding \widowpenalty and enlarging the page are not helpful here; they're for problems with regular flowing text, and section headings mess up the normal flow with their spacing commands.

Edit: What's probably happening is that you have a chapter with non-text material that's forcing TeX to choose the "least bad" break it can, which in this case happens to be splitting a section heading from its contents; this is Really Bad, but if it's the only option it's the only option. Usually this is caused by floats; if you have floats near the problem heading, you may try playing with them. Or not playing with them; LaTeX floats are dread beasts only the bravest dare do true battle with.

For a quick fix, you can try the titlesec package as I mentioned earlier. The titlesec manual gives (section 9.2, page 26 of 27) titlesec versions of the standard LaTeX headings. The LaTeX sectioning commands are well known to be ugly, internally and externally (the non-chapter headings aren't so bad, but the rumor that the standard classes were designed to be so ugly that people would be obligated to create their own classes exists for a reason). Paste the following into your preamble (before \begin{document}) and see if it helps after rerunning LaTeX until it stabilizes:

\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titleformat{\section}
{\normalfont\Large\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}
{\normalfont\large\bfseries}{\thesubsection}{1em}{}
\titleformat{\subsubsection}
{\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
\titleformat{\paragraph}[runin]
{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
\titleformat{\subparagraph}[runin]
{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
\titlespacing*{\chapter} {0pt}{50pt}{40pt}
\titlespacing*{\section} {0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
\titlespacing*{\subsection} {0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\titlespacing*{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\titlespacing*{\paragraph} {0pt}{3.25ex plus 1ex minus .2ex}{1em}
\titlespacing*{\subparagraph} {\parindent}{3.25ex plus 1ex minus .2ex}{1em}

With those definitions in place, your section headings should look just about identical, but internally be generated by titlesec's cleaner code, and hopefully exhibit saner behavior. Without seeing the document in question it's hard to predict if they'll help or not, but the fix is easy enough that it's worth a shot. Also, this exposes the commands' definitions for tweaking -- if you adjust the spacing values for \section in that block I'm sure you'll be able to find something that works (but it might be even uglier than the broken header!). You can also get ambitious and try defining your own heading styles, but this is 1) a waste of time for documents shorter than book length and 2) likely to go horribly wrong without some experience in typography and/or design.

Hope that helps.

share|improve this answer
    
I had understood that this wouldn't happen, either. Alas, I was wrong. I'd be mighty appreciative for suggestions as to where to start looking to figure out what's going on. –  Brian M. Hunt Feb 5 '09 at 4:43
    
I've added a lengthy edit that gives a potential fix using titlesec; I'd have posted it as a comment, but this 300-character limit annoys me to no end. –  kquinn Feb 5 '09 at 6:14
add comment

I once had a similar problem and used a tip also found here:

\widowpenalty=1000
\clubpenalty=1000
share|improve this answer
    
Which also prevents single lines from long paragraphs being stranded at the top or bottom of a page. There is some chance of this causing other weird layout decisions, but all it has every done too me was generate big chunks of whitespace... +1 –  dmckee Feb 4 '09 at 20:05
add comment

Here is an example to show that this shouldn't happen by default. Perhaps you can try and create something similar based on your document to demonstrate the problem on your end, although I do understand that these can be tricky problems to reproduce and debug.

In the following example, we've got twenty-five lines of text preceding a section title. Uncomment the \oneline to add just one line of text and -- despite the fact that it could fit if the amount of text below the section title was reduced -- the entire section heading is pushed to the next page to avoid the problem you're encountering in your own document.

\documentclass[oneside,12pt]{article}
\def\oneline{%
  text text text text abc def ghi text 
  text text text text abc def ghi text 
  text
}
\def\fiveline{\oneline\oneline\oneline\oneline\oneline\par}
\def\twentyfiveline{\fiveline\fiveline\fiveline\fiveline\fiveline}
\begin{document}
\section{one}
\twentyfiveline
%\oneline
\section{two}
\twentyfiveline
\end{document}
share|improve this answer
add comment

Have a look at these pages in the TeX FAQ:

What I normally do is add a \clearpage to force a page break where necessary, or add \enlargethispage{\baselineskip} to increase the height of the current page by one line, or \enlargethispage{-\baselineskip} to reduce the height of the page. But, it's best to leave these kinds of cosmetic changes until the document content is complete, to avoid continually readjusting the layout while you're editing the document.

share|improve this answer
add comment

In case you have completed editing the LaTeX file or if you are positive that the position of the heading(right now at the bottom of the page) is not going to change, you can include a pagebreak before the \section{}. I know this is crude, but it's a quick fix.

share|improve this answer
add comment

It will never happen if you do not put the blank line (which is equivalent to a paragraph break in TeX/LaTeX) between the section command (i.e., \section{Heading}) and the text that follows it. Instead of what you have typed, including a blank line, viz.,

\section{Heading}

Here is some text after the heading.

type

\section{Heading}
Here is some text after the heading.

Alternatively, if you think that a blank line helps you guide your eyes when you are editing, type

\section{Heading} 
%
Here is some text after the heading.
share|improve this answer
    
Hi, welcome to TeX.SX! You can edit your posts, so no need to post the same thing twice. –  Torbjørn T. Mar 19 at 10:06
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.