Converting a two-column paper to EPUB
Updated:
Two-column papers break when a converter reads straight across both columns. On the OLMo paper (arXiv, CC BY 4.0) the EpubCC engine keeps the columns apart, but pdf_oxide's extract_text scores higher on continuity for this document.
Original and result
Two columns per page, tables, figures and footnotes. Reading across the column gap mixes two unrelated sentences on every line.


Download source PDF Download the sample EPUB
Source and licence
- Document
- OLMo paper (arXiv 2402.00838)
- Licence
- CC BY 4.0
- Pages
- 21
- Traits
- text PDF, two columns, tables, footnotes, figures, academic paper
Groeneveld et al., “OLMo: Accelerating the Science of Language Models”, arXiv:2402.00838v4, licensed CC BY 4.0. Pages shown unmodified; the EPUB is our conversion.
Settings used
- Engine: EpubCC engine, build of 2026-11-03 (the one measured in the benchmark).
- Pages: the whole document.
- Options: none. The engine has no per-document settings yet; the same defaults apply to every file.
Validation and results
EPUBCheck EPUBCheck on our EPUB: 0 errors, 0 warnings.
| Engine | 8-gram recall |
|---|---|
| EpubCC engine (EPUB output) | 0.800 |
| EpubCC engine (plain text) | 0.800 |
| pdf_oxide · extract_text | 0.854 |
| pdf_oxide · to_plain_text (XY-cut) | 0.273 |
| pdf_oxide · Markdown | 0.719 |
| PDFium · text().all() | 0.761 |
| OpenDataLoader PDF (local mode) | 0.820 |
| pdftotext (Poppler) | 0.781 |
Limitations we observed
- pdf_oxide extract_text has a higher 8-gram recall than our engine on this document.
- Tables are written as text in reading order; they are not rebuilt as tables.