When converting to MOBI, calibre detects the metadata ToC in the input document and generates an end-of-file ToC in the output MOBI file. One can be accessed directly from the Kindle’s menus, the other cannot. Remember that one is semantically a content ToC and the other is a metadata ToC, even though both might have exactly the same entries and look the same. Now it might well seem to you that the MOBI book has two identical ToCs. When you click Goto Table of Contents on your Kindle, it is to this extra content ToC that the Kindle takes you. A MOBI book simulates the presence of a metadata ToC by putting an extra content ToC at the end of the book. This is because the MOBI format, alone amongst mainstream e-book formats, does not have decent support for a metadata ToC. In the MOBI format, the situation is a little confused. How it is represented is up to the viewer program. This ToC cannot be styled by the book creator.
For example, in the calibre E-book viewer, you use the Show Table of Contents button to see this ToC. A metadata ToC is a ToC that is not part of the book text and is typically accessed by some special button on a reader. This Table of Contents is part of the main document flow and can be styled however you like. One is the traditional Table of Contents, like the ToC you find in paper books. The first thing to realize is that most e-books have two tables of contents. What’s the deal with Table of Contents in MOBI files? ¶
#CALIBRE LIBRARY HOW TO SEND TO KINDLE ZIP#
This is because the HTML to ZIP plugin automatically converts the HTML files to a standard encoding (UTF-8). Note that when converting HTML files, leave the input encoding setting mentioned above blank. A common encoding for many files from the web is cp1252 and I would suggest you try that first. HTML files from different sources often have different encodings, so you may have to change this setting repeatedly. Now when you add HTML files to calibre they will be correctly processed. To do this go to Preferences → Advanced → Plugins → File type and customize the HTML to ZIP plugin, telling it what encoding your HTML files are in. When adding HTML files to calibre, you may need to tell calibre what encoding the files are in. The command-line tools have an ebook-convert-txt-input -input-encoding option. This can be done in the GUI via the Input character encoding field in the Look & feel → Text section of the conversion dialog. Knowing the encoding of the source file: calibre tries to guess what character encoding your source files use, but often, this is impossible, so you need to tell it what encoding to use. How do I convert my file containing non-English characters, or smart quotes? ¶ There are two aspects to this problem: