Typesetting – Part Three: E-Book Styles

Today I conclude my answer to Ankaret Wells‘ question about typesetting Fauxpocalypse, with my process for the ebook versions.

There are many ebook readers, each of which lets the reader control many of the display parameters such as line spacing and font size, and each of which will have one or more different “page” sizes. So most of the typesetting decisions for the print version will not apply. However, the general rules about not deviating from normal type without reason and avoiding drastic changes in size still apply.

Initial Considerations

Most ebook formats are a reduced, compressed, or converted version of an HTML file. Therefore, my first step was to make the text a valid UTC-8 document which I could then convert myself or upload to marketplaces that converted themselves. Because I wanted this to be a clean as possible I decided to mark the text up manually rather than let my word processor do an automatic conversion. So I saved a copy of my master document labelled FauxpocalypseForHTMLConversion.

Using search-and-replace I converted each of the special punctuation (curved quotation marks, ellipses, em-dashes, accents, non-breaking spaces, &c.) to the correct HTML code. Then I used format search to wrap italics in the correct tags; because headers would be controlled in the style menu I did not wrap them in bold tags. Once I had all the special text marked up I saved it as a text file.

Paragraph Styles

As with the print copy I started by setting everything to body text, by wrapping each paragraph in paragraph tags. I then set special paragraphs to not follow the body text, by search-and replacing paragraph followed by a label with paragraph classes, e.g. <p>[TITLE] with <p class="Title">. As with the print styles, this let me control the appearance of each type of text from a single place, in this case the CSS style sheet.

Each eReader would define many of the display qualities, so – instead of choosing point sizes and typefaces – defined a basic paragraph then set everything else as alterations to that:

text-indent: 1.5em;
margin-bottom: 0.2em;

text-indent: 0em;
text-align: center;
font-weight: bold;
font-size: 1.5em;


To make the ebook accessible on mobile phones and for readers who use the largest text size, I decided to limit titles to no larger than twice body text. I also did not create any right-aligned text.

Links and Contents

As well as converting each of the links in authors’ biographies to active links, I added an anchor (<a name="#{CHAPTER NAME}">)to each chapter title so I could make the Table of Contents internal links.

Further Platform Compatibility

Although the document would work for most purposes as is, I discovered later that Apple products read alignment from <span> tags not <p> tags, so for true compatibility each centred title would need to be wrapped in a <span> version of the <p> tag. As the other qualities of the two tags are additive, the <span> tag should only contain alignment; if it is a copy of <p> then 2em text will end up 4 times as large as body text.

However, as I intend to distribute to iPad via Smashwords (who only accept Word documents for upload), I decided not to clutter my HTML with more tags.

How do you typeset your books?

4 thoughts on “Typesetting – Part Three: E-Book Styles

  1. I write in Open Office and I convert to Epub via Calibre, which usually takes me several tries. There are a huge number of options and I have to fiddle with them until I get the results I want.

    For Create Space I simply (hah!) put the page dimentions into Open Office and exported the document as a .pdf file. Again, it took me several times to get all the options set properly.


Share Your Thoughts

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.