4

In a document I write, I use the following for setting the page proportions:

\documentclass[12pt,a4paper]{report}
\setlength\textwidth{145mm}
\setlength\textheight{247mm}
\setlength\oddsidemargin{15mm}
\setlength\evensidemargin{15mm}
\setlength\topmargin{0mm}
\setlength\headsep{0mm}
\setlength\headheight{0mm}

However, sometimes I want certain blocks of text not to be broken into several lines. In math mode, I use simply

 ${1+1+1=3}$

that is, composed brackets around the block. In normal text, I use

\mbox{crucial-expression}

However, in both cases, when the block comes inconveniently at the end of the line, it is often compiled so that the block exceeds the prescribed line width. I would like to force Latex somehow to put the block on the next line instead and stretch the preceding text to the whole line. In particular, I would rather not use \newline, because then the text on the upper line ends before the prescribed line width.

(Moreover, I would like to do it in a way that dos not change the above setting of the page proportions, if possible.)

I am sorry if this is a duplicate of some sort, I was not able to find anything related here (maybe because of my poor terminology concerning typing).

Thanks in advance for any tips.

  • 1
    That has to do with the penalties defined in LaTeX. Their values tell the system what is preferable if no optimum can be achieved, i.e. in your case whether it is better to leave a line 'underfull' or just let something hang into the margin a bit. Of course you can manually set these values to 'force' the type of behavior you're after (to be used with caution). You can find more info in TeX by Topic for instance. – Count Zero Jul 22 '13 at 11:22
  • 3
    \sloppy does this, more or less. – David Carlisle Jul 22 '13 at 11:33
  • Thanks for both suggestions. I am afraid to mess with the penalties, but so far the sloppypar works fine. – PavelC Jul 22 '13 at 11:51
5

As noted in comments, using \sloppy or the sloppypar environment (or as an alternative setting \setlength\emergencystretch\textwidth) allow TeX to favour stretching white space to keep text within margins where possible.

  • While it solves the problem. Overall, this has detrimental formatting effects on whole documents. Is there a more topical solution possible? That is, tell Latex by hand where to solve a problem? – user989762 Aug 20 '18 at 13:52
  • 1
    you only need to apply \sloppy to a single paragraph if only one paragraph is having problems @user989762 – David Carlisle Aug 20 '18 at 14:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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