Single or multiple chapter files in your ePUB?

Up until now I’ve not thought it made much difference in your design whether you publish your ePUB as a single chapter (= single XHTML file) or multiple chapters (= multiple files). Granted you’d lose the ability to provide navigation by a table of contents. But for a book, particularly a fiction novel, how often would you need that? How often do you read a novel and wish you could jump straight to chapter 7?

Well it turns out there is a valid reason for separating your chapters. And that’s for performance. Apologies to whoever first reported this, but apparently when rendering an ePUB and determining pages the base unit to work with is the current chapter file. This means if your entire novel is one chapter that’s how much has to be massaged to work out the page numbers (total and current) each time you change the view or open/close the book.

That makes sense. Your E-Reader is going to have to work harder to know you’re on page 137 of 452, compared to page 23 of 34, in chapter 3.

As a result recommended you always produce your ePUBS with separate chapter files. And note you can do this without necessarily including them in the table of contents. Just ensure each chapter file is listed in content.opf but don’t add them to toc.ncx. The former gives you the navigation through the chapters (so click next at the end of chapter 5 to start chapter 6). The latter optionally gives you a table of contents presented depending on your reader.

How to split a single Indesign document into multiple chapter files

How to split a single Indesign document into multiple chapter files

And for bonus points, if you’re using InDesign there’s an option to automatically split your single document content into separate chapter files. It’s part of the Export to ePUB options:

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>