Devlog · World & Lore

Getting Print-Ready: The KDP Pipeline Behind the Quintet

A finished manuscript and a publishable book are two different deliverables. This is the pipeline that closes that gap for Books II through IV — and the specific margin bug that took three attempts to actually solve.

Published26 July 2026
CategoryWorld & Lore
Books TouchedII, III, IV

A manuscript that reads perfectly in a document editor can still fail at KDP for reasons that have nothing to do with the writing — broken EPUB accessibility, wrong print margins, illustrations that leak onto the wrong page. This pass covered all three, across three books at once.

EPUB Accessibility, Fixed at the Container Level

EPUB files are technically zip archives with strict internal rules, and the most common way to break one is subtle: the mimetype file has to be the very first entry in the archive, stored uncompressed, or e-readers reject the file outright. The fix is mechanical but exact — zip -X mimetype first, then zip -X -rD for everything else — and it had to be applied consistently across Books II, III, and IV.

The Margin Bug That Took Three Tries

Print interiors run through XeLaTeX at 6×9 trim with asymmetric margins for binding. Chapter illustrations were originally placed using LaTeX's newgeometry/restoregeometry pattern — and it was quietly leaking margin changes onto the page immediately following every single illustration, an error that's invisible until someone actually flips through a printed proof.

The actual fix: stop changing the page geometry at all. Illustrations now place via TikZ absolute overlay instead — positioned directly on the page canvas rather than by temporarily altering the document's margins. No margin change means nothing to leak.

Smaller settings got locked at the same time: documentclass openany instead of openright, which stops chapters from forcing stacked blank pages, and explicit hyphenation controls so line breaks read cleanly at 6×9 trim instead of the wider defaults built for a standard page.

Covers, Built Programmatically

Cover builds run through Python and PIL rather than a design tool, specifically so the same exact palette, font, and logo placement apply identically across every book in the series. The COGHEIM logo composites onto each cover via chroma-key transparency rather than being redrawn per cover, and back-cover margins are deliberately asymmetric — wider on the spine side — to protect text from the binding.

One Naming Detail That Had to Hold

Book IV's title carries a diacritic — The EinwechtĂ«ran Line — and that exact spelling has to appear identically everywhere it's referenced: the cover, the interior, and the series pages inside Books II and III that mention it ahead of time. A single missed diacritic in a cross-reference is a small thing that reads as sloppy the moment a reader notices it.

What's Left

  1. Native 300dpi regeneration of the illustration plates currently upscaled from lower-resolution originals, before final KDP submission.
  2. Book IV's expansion to match the series' established page-count depth, the same discipline already applied to Book V.
  3. A final cross-series pass checking names, formatting, and page numbering hold consistently across all five books at once.
Publishing KDP Pipeline Novels

Nobody notices a margin that's correct. Everybody notices one that isn't.

← All Devlog Posts