Easy Peasy, Make A Simple Index For Your Ebook

One of my earliest efforts at making ebooks was Ehrengraf for the Defense, Lawrence Block’s collection of Martin H. Ehrengraf short stories. It’s also the ebook that set me on the path to learning html. I built the original ebook in Scrivener. While it turned out great and I was very proud of it, it encountered a rather nasty bug that affected older Kindles. It makes the font teeny-tiny and forces users to greatly increase the size of the font in order to read it. It’s not a fatal bug, but a bug nonetheless.**

So ta-da! Ehrengraf for the Defense, New and Improved!

As long as I was rebuilding the file in html, I decided to stick a little something extra in it. Martin Ehrengraf loves poetry and often quotes it. Each of the eleven stories is preceded by a snippet of poetry, too. In the older version I put the poem snippets and poets in the table of contents. In this version I decided it would be tidier to make an index.

Basically, it’s a table of contents. Click on an entry and it takes the user to the quoted poetry.

The only difference between this and a table of contents is that a ToC is listed in order and this index is alphabetized. I also included a few double-entries for the instances of multiple poems by the same poet.

One important thing for Kindle formats (and thank you Paul Salvette for the head’s up about this) is to make sure you use the “div id=” tag as opposed to “a name=” tag. I enclosed the entire quote with “div” and “/div”. This ensures that when the user clicks through to a poem it doesn’t blow out my formatting. What it looks like is this (with extra spaces to keep from triggering wordpress’s helpfulness):

< div id=”parker” >”Men seldom make passes
At girls who wear glasses”
–Dorothy Parker< /div >

Then the index entry would look like:

< a href=”#parker” >Dorothy Parker< /a >

This is very easy to do. The most difficult part is finding and keeping track of the entries. Because I used a special class for the poetry quotes, I did a search for the class name then used my analog word processor (a pencil and notebook) to list items as I found them. A quick task with so few entries. For something more complicated, such as a glossary of terms, I’d have the author tag the terms or passages to be indexed in the source file (by bolding the text, perhaps) then search for the bolding (or other tag) throughout the file, ID the entries, then copy/paste the items with their identifiers into a program that lets me automatically alphabetize the entries. That way I could double-check to make sure each identifier is unique  and make sure the entire list is properly alphabetized.


** Scrivener users. The Kindle bug that makes tiny fonts in older devices is triggered if you use fonts smaller than the default. Make sure your font default size is 12pt throughout the entire file. It doesn’t appear to make any difference if you increase the font size for headers or whatever. Also, when you compile your file for Amazon do NOT compile a Word file. Amazon will allow you to upload a Word file and will convert it with seemingly no problems, but it can cause the font to “lock” and not allow the user to control their font preferences. Compile your files into mobi files. This means you will have to download KindleGen into your computer, but it’s free and easy and it will ensure that your ebook renders properly on various Kindle devices.