7

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?

4
  • Does this help: tex.stackexchange.com/a/18299/10898
    – azetina
    Aug 22, 2012 at 16:20
  • @azetina: How should that help? That one prevents line breaks! (And I don't see how \nopagebreak would help.) Aug 22, 2012 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, 2012 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. Aug 22, 2012 at 16:54

1 Answer 1

4

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}
12
  • How does this differentiate whether or not a formula is line-broken? Aug 22, 2012 at 16:56
  • Wow, why does this work? Aug 22, 2012 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... Aug 22, 2012 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 Aug 22, 2012 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. Aug 22, 2012 at 18:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .