diff options
Diffstat (limited to 'Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopagebrk.html')
-rw-r--r-- | Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopagebrk.html | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopagebrk.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopagebrk.html index c1555b648cd..189dea74418 100644 --- a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopagebrk.html +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopagebrk.html @@ -8,53 +8,53 @@ same page; it turns out to be surprisingly tricky to arrange this. does this sort of thing for you. It proceeds by setting infinite penalties for all sorts of page-break situations; but in many situations where you want to prevent a page break, -<code>samepage</code> doesn't help. If you're trying to keep running +<code>samepage</code> doesn’t help. If you’re trying to keep running text together, you need to end the paragraph inside the environment (see <a href="FAQ-paraparam.html">preserving paragraph parameters</a>). Also, if the things you are trying to keep together insert their own pagebreak hints, <code>samepage</code> has no power over them: a good -exaple is list items - they suggest page breaks between them. Even -if <code>samepage</code> <em>does</em> work, it's likely to leave stuff +exaple is list items — they suggest page breaks between them. Even +if <code>samepage</code> <em>does</em> work, it’s likely to leave stuff jutting out at the bottom of the page. <p>A convenient trick is to set all the relevant stuff in a <code>\</code><code>parbox</code> (or a <code>minipage</code> if it contains things like verbatim text that may not be in the argument of a <code>\</code><code>parbox</code>). The resulting box -certainly <em>won't</em> break between pages, but that's not to say that +certainly <em>won’t</em> break between pages, but that’s not to say that it will actually do what you want it to do: again, the box may be left jutting out at the bottom of the page. -<p>Why do neither of these obvious things work? Because TeX can't +<p>Why do neither of these obvious things work? Because TeX can’t really distinguish between infinitely awful things. -<code>Samepage</code> will make any possible break point "infinitely -bad" and boxes don't even offer the option of breaks, but if the +<code>Samepage</code> will make any possible break point “infinitely +bad” and boxes don’t even offer the option of breaks, but if the alternative is the leave an infinitely bad few centimetres of blank paper at the bottom of the page, TeX will take the line of least resistance and do nothing. <p>This problem still arises even if you have <code>\</code><code>raggedbottom</code> in -effect: TeX doesn't notice the value of <em>that</em> until it starts +effect: TeX doesn’t notice the value of <em>that</em> until it starts actually shipping a page out. One approach is to set: <blockquote> <pre> \raggedbottom \addtolength{\topskip}{0pt plus 10pt} </pre> -</blockquote> +</blockquote><p> The <code>10pt</code> offers a hint to the output routine that the column is stretchable; this will cause TeX to be more tolerant of the need to -stretch while building the page. If you're doing this as a temporary +stretch while building the page. If you’re doing this as a temporary measure, cancel the change to <code>\</code><code>topskip</code> by: <blockquote> <pre> \addtolength{\topskip}{0pt plus-10pt} </pre> -</blockquote> +</blockquote><p> as well as resetting <code>\</code><code>flushbottom</code>. (Note that the <code>10pt</code> never actually shows up, because it is overwhelmed when the page is shipped out by the stretchability introduced by <code>\</code><code>raggedbottom</code>; however, it could well have an effect if <code>\</code><code>flushbottom</code> was in effect.) <p>An alternative (which derives from a suggestion by Knuth in the -TeXbook) is the package <i>needspace</i> or the <i>memoir</i>, +TeXbook) is the package <i>needspace</i> or the <i>memoir</i> class, which both define a command <code>\</code><code>needspace</code> whose argument tells it -what space is needed. If the space isn't available, the current page +what space is needed. If the space isn’t available, the current page is cleared, and the matter that needs to be kept together will be inserted on the new page. For example, if 4 lines of text need to be kept together, the sequence @@ -66,7 +66,7 @@ kept together, the sequence <text generating lines 1-4> % now stuff we don't mind about </pre> -</blockquote> +</blockquote><p> Yet another trick by Knuth is useful if you have a sequence of small blocks of text that need, individually, to be kept on their own page. Insert the command <code>\</code><code>filbreak</code> before each small block, and the @@ -83,8 +83,8 @@ patch would be: \oldsubsubsection } </pre> -</blockquote> -While the trick works for consecutive sequences of blocks, it's +</blockquote><p> +While the trick works for consecutive sequences of blocks, it’s slightly tricky to get out of such sequences unless the sequence is interrupted by a forced page break (such as <code>\</code><code>clearpage</code>, which may be introduced by a <code>\</code><code>chapter</code> command, or the end of the document). @@ -93,14 +93,14 @@ forced onto a new page, regardless of whether it actually needs it. <p>If one is willing to accept that not everything can be accomplished totally automatically, the way to go is to typeset the document and to check for things that have the potential to give trouble. In such a -scenario (which has Knuth's authority behind it, if one is to believe +scenario (which has Knuth’s authority behind it, if one is to believe the rather few words he says on the subject in the TeXbook) one can decide, case by case, how to deal with problems at the last proof-reading stage. The alternatives are to insert <code>\</code><code>clearpage</code> commands as necessary, or to use <code>\</code><code>enlargethispage</code>. Supposing you have a line or two that stray: issue the command <code>\</code><code>enlargethispage{2<code>\</code><code>baselineskip</code>}</code> and two lines are -added to the page you're typesetting. It depends on the document +added to the page you’re typesetting. It depends on the document whether this looks impossibly awful or entirely acceptable, but the command remains a useful item in the armoury. <dl> |