-
Notifications
You must be signed in to change notification settings - Fork 761
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Underfull" and "Overfull" warnings emitted from Latex. #693
Comments
The underfull and overfull warnings mean that TeX was unhappy with the spacing in a line—either the line ended up being too short or too long. For small values of points, this is rarely noticeable to the casual reader and can be ignored. For larger values, there will be white space at the end of a line or a line may overrun its margin. The amount that you let TeX stretch or shrink the spaces in a line to make it fit the margins can be modified to make TeX more or less lax. Generally, I just look for overfull or underfull lines that are more than a few points and visually inspect them to see if I need to make any adjustments (e.g., teach TeX how to hyphenate a new word, reword a sentence so it can be typeset more easily, adjust TeX's line breaking parameters to better accommodate that paragraph). |
@tkoeppe went through and fixed a bunch of these, but I don't think he got through all of the document. It would be good to get this clean before we produce the C++17 IS. |
I tracked down one of the Underfull cases - it's caused by a section name which is too long in xref.tex:
The warning is:
although the actual line is 759.
I also tracked down an overfull case. The warning is:
caused by an impldef being too long in exceptions.tex line 1296:
which causes the xrefs on that page to be only a single column. It would be good to know what the maximums/minimums are which cause these warnings in various cases so that we could better track the warnings down and avoid them in the future. Is that information available anywhere? |
First off: you will never ever be able to fix all the justification problems, since many of them will require wording changes or non-standard hyphenation, and it'd be a futile task, because you'd have to redo the work after every meeting. What I propose instead is to create a filter on the log to only show those warnings where the excess is large (say over 10pt, or maybe over 3pt later on), and concentrate on those first. |
@jensmaurer: If you want to get your hands dirty, here are two typical challenges which you need to be able to answer:
(To be clear, my personal position is that we should leave both of those cases alone and instead exercise discretion. We should only fix those instances of overfull boxes that are obviously disruptive.) |
@tkoeppe: We can certainly fix the overlong stable names; those will continue to bite us otherwise. For the requirements tables, we can either abandon them or ignore the problem. For [exception]p5 in particular, I'll send a pull request. |
Partially addresses cplusplus#693.
Partially addresses cplusplus#693.
Partially addresses cplusplus#693.
This may be of interest: if you change the memoir class option from |
The If you just want the black slugs denoting overfull boxes, you can |
@godbyk: Thanks, good tip! |
A handy enumeration of problem spots is easily obtained from the logs:
The log lets you find the page number of the problem and the file location to fix, and the slugs let you find the problem on the page. |
793a12c fixes most boxes in strings.tex. |
…"specialization of *template*". The containing lines were too long (cf. #693), and the change is a mild increase in pedantic correctness.
Fixes some overfull boxes in the index (cf. #693).
Use placeholder macros. Reformat class synopsis in our usual style. Reorder private members. Use codeblocks for long descriptions. Addresses #693.
Use codeblocks for long return elements. Addresses #693 for this part.
…rement in [futures.async]. Addresses #693 for this Clause.
I have fixed the important problems in all files except containers.tex and iostreams.tex. Many of the container problems come from the requirements tables; many iostreams problems seem to come from filesystem. There are a few remaining overfull boxes in utilities and lib-intro which I think are benign and should just stay. The excess is very small, and the affected line is usually by itself, so the protrusion is almost imperceptible. |
Addresses cplusplus#693 for this part, but is also clearer.
…ch *j' in terms of indexes Addresses cplusplus#693 for this part, but is also clearer.
…ch *j' in terms of indexes Addresses cplusplus#693 for this part, but is also clearer.
…ch *j' in terms of indexes Addresses #693 for this part, but is also clearer.
to avoid 'Overfull hbox' warnings. Partially addresses cplusplus#693.
…he result of" from return statements This fixes overfull hboxes, see #693.
Almost all the remaining overfull boxes in |
Richard has fixed all overfull hboxes with commit 89260fb. |
We get a ton of "Underfull" and "Overfull" warnings emitted during the Latex build of the spec. What causes them? Can they be fixed?
The text was updated successfully, but these errors were encountered: