An emulated IEEEtran sets two columns, as the class does - #218
Merged
Conversation
IEEEtran is two-column BY NATURE: its papers never pass [twocolumn], the class simply sets two columns (its `onecolumn' option is the exception). The engine turned its two-column builder on only for a [twocolumn] OPTION, and excluded the classes that "run their own column engine" — right for the real class, wrong for the emulation, where there is no column engine at all and nothing ever turned the columns on. So every emulated IEEEtran paper was set ONE column wide across the whole text block: 2607.20748 came out 43 pages against a reference of 27, its lines running 477pt on a 648pt page where a real IEEEtran column is 252pt. With this it is 21. Guarded by classFileResolvable: a paper that bundles IEEEtran.cls still gets the real class and its own columns, untouched. Measured over the 157 arXiv papers with a reference: page error 583 → 574, exact 21 → 23, within 2 pages 93 → 96. Four papers move and all four improve, two of them to exact. The two geometry tests now assert the TEXT BLOCK (fullWidth) rather than the column measure, and the exclusion test says why IEEEtran is the exception. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Sep 4, 2026
tannevaled
added a commit
that referenced
this pull request
Sep 4, 2026
…ormat does (#220) acmart's conference and journal formats — sigconf, sigplan, acmtog, siggraph, sigchi, acmengage — are two-column by nature: the paper never passes [twocolumn], the format sets it, exactly as IEEEtran does (#218). The emulation (used when a paper does not bundle acmart.cls) applied only the single-column geometry floor, so these papers were set one column wide and over-paginated. Set two columns for the two-column acmart formats, the way #218 did for IEEEtran. The format is read bare ([sigconf]) or as format=… ([format=sigconf]). Measured over the 157 arXiv papers with a tectonic reference: Σ page error 574 → 568, papers within two pages 96 → 98, bias +36 → +30. Two papers change, both improve, none regress; glyph-path counts are stable (no content lost, the content repaginates into two columns). This reaches the emulation path; papers that bundle acmart.cls still render single-column (a separate, larger problem). Full suite, conformance ratchet, go vet and gofmt green. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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.
IEEEtran is two-column by nature: its papers never pass
[twocolumn], the classsimply sets two columns (
onecolumnis the exception). The engine turned itstwo-column builder on only for a
[twocolumn]option, and excluded the classesthat "run their own column engine" — right for the real class, wrong for the
emulation, where there is no column engine at all and nothing ever turned the
columns on.
So every emulated IEEEtran paper was set one column wide across the whole text
block:
Guarded by
classFileResolvable: a paper that bundlesIEEEtran.clsstill gets thereal class and its own columns, untouched.
Measured, 157 arXiv papers with a tectonic reference
Four papers move; all four improve, two of them to exact.
Tests
The two IEEEtran geometry tests now assert the text block (
fullWidth) ratherthan the column measure — 504pt is the block,
e.hsizeis half of it less thegutter — and one of them asserts the two columns directly.
TestTwoColumnClassExclusionkeeps revtex and acmart excluded and says why IEEEtran is the exception: its column
engine lives in the class file, so the exclusion only makes sense when that file is
actually loaded.
🤖 Generated with Claude Code