Providing a table of contents for your works can be an effective marketing tool that gives potential buyers a good insight into the organisation and topics contained in your books.

In their most optimal form, ToCs are distributed as HTML text which provides semantic structure to the text, allowing multiple level contents to be specified.

However, when you distribute tables of contents through some metadata aggregators, what began as a well structured and attractive ToC can become a flattened, difficult to read block of simple text. This is because they strip out any HTML markup and carriage returns.

This article demonstrates through example how best to write your ToCs to take advantage of HTML structuring, while allowing the text to be understood as a simple block of text.


Although you may be familiar with HTML as a way of displaying formatted text in a web browser, it is important to recognise that HTML itself does not provide any styling to the text. The appearance of fonts, colours, alignments, text sizes, and list bullet points in a web browser is provided by style sheets.

HTML itself is not intended to provide any styling, and whenever you see HTML text styled to appear in a particular way, you are generally seeing either the result of styles sheets being applied to it, or in their absence to the application just trying to make a sensible choice about what style to provide.

Adding a Table of Contents

In Consonance, a table of contents is a marketing text, similar to a short description or biographical note, so we will concentrate here on what to type in to the marketing text box.


Firstly, please be aware that pasting formatted text into the marketing text box rarely gives good results. The reason for this is that the PC or Mac clipboard on which the copied text is stored does not have any of the semantic information needed for the system to generate sensible HTML.

Even if the table of contents is in a PDF or Word document, and has beautiful indents and bullet points, what is pasted into your web browser is generally an unholy mishmash of text and carriage returns and tabs/spaces and odd characters.

So disappointing as it is, the best way to start with copy and pasting text is to remove all styling from the text. A simple way of doing this is to click the edit button on the External text box.