diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-overfull.html')
-rw-r--r-- | Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-overfull.html | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-overfull.html b/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-overfull.html index 861205a5f0a..963117f2a30 100644 --- a/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-overfull.html +++ b/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-overfull.html @@ -5,36 +5,36 @@ <p/>When TeX is building a paragraph, it can make several attempts to get the line-breaking right; on each attempt it runs the same algorithm, but gives it different parameters. You can affect the way -TeX’s line breaking works by adjusting the parameters: this answer -deals with the “tolerance” and stretchability parameters. The other -vital ‘parameter’ is the set of hyphenations to be applied: see -“<a href="FAQ-nohyph.html">my words aren’t being hyphenated</a>” +TeX’s line breaking works by adjusting the parameters: this answer +deals with the “tolerance” and stretchability parameters. The other +vital ‘parameter’ is the set of hyphenations to be applied: see +“<a href="FAQ-nohyph.html">my words aren’t being hyphenated</a>” (and the questions it references) for advice. -<p/>If you’re getting an undesired “overfull box”, what has happened is -that TeX has given up: the parameters you gave it don’t allow it to -produce a result that <em>doesn’t</em> overfill. In this circumstance, +<p/>If you’re getting an undesired “overfull box”, what has happened is +that TeX has given up: the parameters you gave it don’t allow it to +produce a result that <em>doesn’t</em> overfill. In this circumstance, Knuth decided the best thing to do was to produce a warning, and to allow the user to solve the problem. (The alternative, silently to go -beyond the envelope of “good taste” defined for this run of TeX, +beyond the envelope of “good taste” defined for this run of TeX, would be distasteful to any discerning typographer.) The user can -almost always address the problem by rewriting the text that’s -provoking the problem — but that’s not always possible, and in some -cases it’s impossible to solve the problem without adjusting the +almost always address the problem by rewriting the text that’s +provoking the problem — but that’s not always possible, and in some +cases it’s impossible to solve the problem without adjusting the parameters. This answer discusses the approaches one might take to -resolution of the problem, on the assumption that you’ve got the +resolution of the problem, on the assumption that you’ve got the hyphenation correct. -<p/>The simplest case is where a ‘small’ word fails to break at the end of -a line; pushing the entire word to a new line isn’t going to make much -difference, but it might make things just bad enough that TeX won’t +<p/>The simplest case is where a ‘small’ word fails to break at the end of +a line; pushing the entire word to a new line isn’t going to make much +difference, but it might make things just bad enough that TeX won’t do it by default. In such a case on can <em>try</em> the LaTeX <code>\</code><code>linebreak</code> command: it may solve the problem, and if it does, it will save an awful lot of fiddling. Otherwise, one needs to adjust -parameters: to do that we need to recap the details of TeX’s line +parameters: to do that we need to recap the details of TeX’s line breaking mechanisms. -<p/>TeX’s first attempt at breaking lines is performed without even -trying hyphenation: TeX sets its “tolerance” of line breaking +<p/>TeX’s first attempt at breaking lines is performed without even +trying hyphenation: TeX sets its “tolerance” of line breaking oddities to the internal value <code>\</code><code>pretolerance</code>, and sees what -happens. If it can’t get an acceptable break, TeX adds the +happens. If it can’t get an acceptable break, TeX adds the hyphenation points allowed by the current patterns, and tries again using the internal <code>\</code><code>tolerance</code> value. If this pass also fails, and the internal <code>\</code><code>emergencystretch</code> value is positive, TeX will try @@ -44,46 +44,46 @@ to the spaces in each line. hyphenation) that you can change: <code>\</code><code>pretolerance</code>, <code>\</code><code>tolerance</code> and <code>\</code><code>emergencystretch</code>. Both the <code>tolerance</code> values are simple numbers, and should be set by TeX primitive count -assignment — for example +assignment — for example <blockquote> <pre> \pretolerance=150 </pre> </blockquote><p> -For both, an “infinite” tolerance is represented by the value +For both, an “infinite” tolerance is represented by the value <code>10</code><code>000</code>, but infinite tolerance is rarely appropriate, since it can lead to very bad line breaks indeed. -<p/><code>\</code><code>emergencystretch</code> is a TeX-internal ‘dimen’ register, and can +<p/><code>\</code><code>emergencystretch</code> is a TeX-internal ‘dimen’ register, and can be set as normal for dimens in Plain TeX; in LaTeX, use -<code>\</code><code>setlength</code> — for example: +<code>\</code><code>setlength</code> — for example: <blockquote> <pre> \setlength{\emergencystretch}{3em} </pre> </blockquote><p> -<p/>The choice of method has time implications — each of the +<p/>The choice of method has time implications — each of the passes takes time, so adding a pass (by changing <code>\</code><code>emergencystretch</code>) is less desirable than suppressing one (by -changing <code>\</code><code>pretolerance</code>). However, it’s unusual nowadays to find a -computer that’s slow enough that the extra passes are really +changing <code>\</code><code>pretolerance</code>). However, it’s unusual nowadays to find a +computer that’s slow enough that the extra passes are really troublesome. <p/>In practice, <code>\</code><code>pretolerance</code> is rarely used other than to manipulate the use of hyphenation; Plain TeX and LaTeX both set its value to <code>100</code>. To suppress the first scan of paragraphs, set <code>\</code><code>pretolerance</code> to <code>-1</code>. <p/><code>\</code><code>tolerance</code> is often a good method for adjusting spacing; -Plain TeX and LaTeX both set its value to <code>200</code>. LaTeX’s +Plain TeX and LaTeX both set its value to <code>200</code>. LaTeX’s <code>\</code><code>sloppy</code> command sets it to <code>9999</code>, as does the <code>sloppypar</code> environment. This value is the largest available, this side of infinity, and can allow pretty poor-looking -breaks (this author rarely uses <code>\</code><code>sloppy</code> “bare”, though he does -occasionally use <code>sloppypar</code> — that way, the change of +breaks (this author rarely uses <code>\</code><code>sloppy</code> “bare”, though he does +occasionally use <code>sloppypar</code> — that way, the change of <code>\</code><code>tolerance</code> is confined to the environment). More satisfactory is to make small changes to <code>\</code><code>tolerance</code>, incrementally, and then to look to see how the change affects the result; very small increases can often -do what’s necessary. Remember that <code>\</code><code>tolerance</code> is a paragraph -parameter, so you need to ensure it’s actually applied — see -“<a href="FAQ-paraparam.html">ignoring paragraph parameters</a>”. +do what’s necessary. Remember that <code>\</code><code>tolerance</code> is a paragraph +parameter, so you need to ensure it’s actually applied — see +“<a href="FAQ-paraparam.html">ignoring paragraph parameters</a>”. LaTeX users could use an environment like: <blockquote> <pre> @@ -97,9 +97,9 @@ LaTeX users could use an environment like: enclosing entire paragraphs (or set of paragraphs) in it. <p/>The value of <code>\</code><code>emergencystretch</code> is added to the assumed stretchability of each line of a paragraph, in a further run of the -paragraph formatter in case that the paragraph can’t be made to look +paragraph formatter in case that the paragraph can’t be made to look right any other way. (The extra scan happens if -<code>\</code><code>emergencystretch>0pt</code> — if it’s zero or negative, no gain +<code>\</code><code>emergencystretch>0pt</code> — if it’s zero or negative, no gain could be had from rerunning the paragraph setter.) The example above set it to <code>3em</code>; the Computer Modern fonts ordinarily fit three space skips to the <code>em</code>, so the change would allow anything up @@ -110,21 +110,21 @@ width. It is therefore clear that <code>\</code><code>emergencystretch</code> n treated with a degree of caution. <p/>More subtle (but more tricky to manage) are the microtypographic extensions provided by PDFTeX. Since PDFTeX is the default -‘engine’ for LaTeX and ConTeXt work in all distributions, +‘engine’ for LaTeX and ConTeXt work in all distributions, nowadays, the extensions are available to all. There are two extensions, margin kerning and font expansion; margin kerning only affects the visual effect of the typeset page, and has little effect -on the ability of the paragraph setter to “get things right”. +on the ability of the paragraph setter to “get things right”. Font expansion works like a subtler version of the trick that -<code>\</code><code>emergencystretch</code> plays: PDFTeX ‘knows’ that your current font +<code>\</code><code>emergencystretch</code> plays: PDFTeX ‘knows’ that your current font may be stretched (or shrunk) to a certain extent, and will do that -“on the fly” to optimise the setting of a paragraph. This is a +“on the fly” to optimise the setting of a paragraph. This is a powerful tool in the armoury of the typesetter. <p/>As mentioned above, the microtypographic extensions are tricky beasts to control; however, the <i>microtype</i> package relieves the user of the tedious work of specifying how to perform margin adjustments -and how much to scale each font … for the fonts the package -knows about; it’s a good tool, and users who can take on the +and how much to scale each font … for the fonts the package +knows about; it’s a good tool, and users who can take on the specification of adjustments for yet more fonts are always welcome. <dl> <dt><tt><i>microtype.sty</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/microtype.zip">macros/latex/contrib/microtype</a> (or <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/microtype/">browse the directory</a>) |