Building chapters and a table of contents from a PDF textbook
Updated:
Chapters come from the PDF's own outline when it has one, or from the heading level that repeats across pages. On this Project Gutenberg textbook typeset in LaTeX, every engine scores low on text because of the formulas, ours included.
Original and result
Chapters, running headers, footnotes and many mathematical formulas.


Download source PDF Download the sample EPUB
Source and licence
- Document
- Calculus textbook typeset in LaTeX (Project Gutenberg #33283)
- Licence
- Public domain in the U.S. (Project Gutenberg; its trademark only under its licence)
- Pages
- 292
- Traits
- text PDF, book, chapters, repeated headers, footnotes, formulas
Settings used
- Engine: epublab-core, 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 |
|---|---|
| EPUBLab engine (EPUB output) | 0.487 |
| EPUBLab engine (plain text) | 0.487 |
| pdf_oxide · extract_text | 0.479 |
| pdf_oxide · to_plain_text (XY-cut) | 0.496 |
| pdf_oxide · Markdown | 0.481 |
| PDFium · text().all() | 0.494 |
| OpenDataLoader PDF (local mode) | 0.533 |
| pdftotext (Poppler) | 0.511 |
Limitations we observed
- Formulas are written as plain text; they are not converted to MathML.
- OpenDataLoader has a higher 8-gram recall than our engine on this document.