Two columns for the classes that ask for them, by default - #200
Merged
Merged
Conversation
GOTEX_TWOCOLUMN gated the two-column output routine for every class whose
\twocolumn is not LaTeX's own — revtex reprint, acmart sigconf, IEEEtran
conference — on the strength of one paper whose page count overshot. Measured
over the 157 arXiv papers with a tectonic reference, it is better on every count
that matters:
Σ page error 632 → 616 median error 3 → 2 pages
within 2 pages 77 → 83 exact 20 → 21
21 papers closer, 11 further, 125 unchanged; beamer untouched at 40 over 79
decks. GOTEX_TWOCOLUMN=0 turns it back off.
Two things had to be right first, both of which the flag had been hiding:
\onecolumn records a region as soon as the column machinery is live, and both a
float placed and a page built read "there are regions" as "the page is in two
columns". The single-column float placer sent every float of an ordinary article
back to the inline path, and Pages() handed the material to the region pager,
which knows nothing about floatNodes and dropped them. Both now ask whether a
region actually HAS two columns.
Setting a two-column paper in one column is also what makes its figures twice too
wide — \linewidth is a COLUMN there — and half the papers that inflate under
faithful figure widths (issue #146) are two-column classes.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Sep 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GOTEX_TWOCOLUMNgated the two-column output routine for every class whose\twocolumnis not LaTeX's own — revtex reprint, acmart sigconf, IEEEtranconference — on the strength of one paper whose page count overshot. Measured
over the 157 arXiv papers with a tectonic reference, it is better on every count
that matters:
21 papers closer, 11 further, 125 unchanged. beamer untouched at 40 pages of
error over 79 decks.
GOTEX_TWOCOLUMN=0turns it back off.Two things the flag was hiding
\onecolumnrecords a region as soon as the column machinery is live, and boththe float placer and the page builder read "there are regions" as "the page is in
two columns":
doFloatBeginsent every float of an ordinary article back to the inline path;Pages()handed the material to the region pager, which knows nothing aboutfloatNodes and dropped them from the output entirely.Both now ask whether a region actually HAS two columns. The second one gets a
regression test (a
\onecolumndocument with a captured float must still showit) that fails on
main.Why this is on the critical path
Setting a two-column paper in one column is what makes its figures twice too
wide:
\linewidthis a COLUMN there, and 26 of the 57 papers that inflate underthe faithful figure widths of #195 are two-column classes (issue #146). This is
the piece that has to land before those widths can be judged at all.