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.

It often happens that LaTeX breaks up an inline formula over two lines. However, I find it quite distracting when it breaks an inline formula over multiple pages. For example:

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1-5]

We could go on like this for some time.  We eventually get $x = 15y + 4z + 3w + 2u - 5v$, which is unpleasant.  In contrast, something like $x = 2y + 3z - 4w - 15u - 4v$ is no problem.
\end{document}

Is there a global way (or, failing that, a local way) of forbidding breaks over multiple pages while allowing breaks over multiple lines?

share|improve this question
    
Does this help: tex.stackexchange.com/a/18299/10898 –  azetina Aug 22 '12 at 16:20
    
@azetina: How should that help? That one prevents line breaks! (And I don't see how \nopagebreak would help.) –  Hendrik Vogt Aug 22 '12 at 16:45
    
Ah well, guess I misunderstood the question but really thought it would have helped the OP as he asked forbidding breaks. –  azetina Aug 22 '12 at 16:48
1  
Tricky. Of course you can forbid page breaks in the whole paragraph by adjusting \interlinepenalty. A more involved solution would probably set a high \brokenpenalty (you don't want page breaks at hyphens anyway, do you?), forbid line breaks in inline formulas in general and then re-insert break points using discretionary breaks so you get \brokenpenalty between lines where a formula broke. –  Stephan Lehmke Aug 22 '12 at 16:54
add comment

1 Answer 1

up vote 4 down vote accepted

enter image description here

\documentclass{article}
\usepackage{lipsum}
\everymath{\vadjust{\nobreak\null}}
\begin{document}
\lipsum[1-5]

We could go on like this for some time.  We eventually get $x = 15y + 4z + 3w + 2u - 5v$, which is unpleasant.  In contrast, something like $x = 2y + 3z - 4w - 15u - 4v$ is no problem.
\end{document}
share|improve this answer
    
How does this differentiate whether or not a formula is line-broken? –  Stephan Lehmke Aug 22 '12 at 16:56
    
Wow, why does this work? –  Hendrik Vogt Aug 22 '12 at 17:00
    
@StephanLehmke you are so rude about my carefully crafted code:-) Actually the description isn't totally innacurate it has "home time" feel to it now I look again. It actually prevents a page break after the line on which the math starts so would prevent it even if the math didn't split. Probably you could vadjust a penalty at the end of the math to re-allow page breaks in the non split case... –  David Carlisle Aug 22 '12 at 17:08
1  
@StephanLehmke oh no need to apologise, as I say it was basically accurate anyway. Yes the two break case I had thought of (and chose to ignore) but I just blanked out the no-break case. \def\allowbrk{\vadjust{\penalty0}} \everymath{\vadjust{\nobreak\null}\aftergroup\allowbrk} doen't quit ework though but now it really is home time so I'm offline for a bit –  David Carlisle Aug 22 '12 at 17:23
2  
@DavidCarlisle -- you might adjust that example so that the paragraph with math in it has more than three lines so that it won't be affected by either \clubpenalty or \widowpenalty. i know, picky, picky. –  barbara beeton Aug 22 '12 at 18:00
show 8 more comments

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.