Optimize LaTeX PDF Output for Kindle

Kindle can display PDFs, but usually the result is very hard to read. Normal PDFs are not suitable, especially when it comes to paper size for the relatively small display of the Kindle. For a forthcoming project, which I intend to write in LaTeX and read on Kindle, I looked into optimizing the document settings so the result would be rendered in a readable manner on Kindle.

I’ve started with the normal article class. The result is not good at all:
article While Kindle zooms in automatically to remove the usually very wide margins LaTeX uses, the big (A4) paper size still results in a tiny font on the Kindle display. Switching to KOMA-Script is a bit better, but mainly provides better mechanisms to control the paper size for later experiments.
scrartcl

The next try is simply to use the A5 paper size. The result is getting better, but the paper size is still too big. Setting the paper size manually to 12cm by 9cm (the screen’s physical dimensions) and setting the pagestyle to empty (which removes the page numbering, among other things) results in much better results, but because of the (still) wide margins and the auto-zoom, the font size is too big and not enough content fits on a page:
scrartcl_12x9

Finally, manually setting the text area to be a bit smaller (11cm by 8cm) than the paper size results in small margins and very little auto-zoom. The output can be clearly read on the Kindle, and still quite a bit of text fits on a single page:


The LaTeX code for the last example is:

documentclass[DIV=calc,paper=9cm:12cm,pagesize]{scrartcl}

areaset{8cm}{11cm}
pagestyle{empty}
usepackage{lipsum}
begin{document}
lipsum
end{document}

Kindle Paperwhite “Unable to Open Item”

Recently, I tried transferring some new ebooks to my Kindle Paperwhite (first generation). The books were listed properly. However, when I tried to open them, I got the “Unable to Open Item” error, suggesting that I re-download the books from Amazon. I tried transferring the files again and again, but it didn’t help. Some of the books were mobi files, while others were AZW (which I got from אינדיבוק), and all of them opened fine on my computer.

Finally, I followed advice from a comment on the KindledFans blog and converted the files to AZW3 (the original comment suggested mobi, but AZW3 works better with Hebrew). After converting, I moved the files to my Kindle, and they opened just fine.

The Annoying eBook vs. Paperback Pricing

I’m an avid Kindle user and have been for more than a year. However, once in a while, I come across something like this when I’m shopping for a new book:

As you can see, Amazon sells the Kindle edition for a higher price than a paperback. This book, of course, isn’t the only example of this ridiculous pricing method, and if one browses the Kindle store, he will surely find more.

This really upsets me, as there is no honest reason to price an electronic edition higher than a real dead-tree paper edition. In both cases, the author and the publisher get their royalties and share of the profits. But Kindle editions don’t have many related expenses, like storage, transportation (from the publisher to Amazon), and above all, printing costs.

I don’t know who is to blame for this absurd thing, Amazon or the publisher (or even both). But the few things I know are that this is bad for everyone: the customer, because he pays more, and Amazon/the publisher, as in the long run, this encourages piracy, because the customer feels he’s being unfairly treated, and thus he will be more willing to play an unfair game as well.

Eject Your Kindle and Reconnect under Linux

I am Your User suggested a method to eject your Kindle in Linux. While his method works, you don’t need to specify the partition number. For example:

$ sudo eject /dev/sdd

where /dev/sdd is the device file for the Kindle.

But what if you want to reconnect it without unplugging and replugging the USB cable? You can add the -t switch.

$ sudo eject -t /dev/sdd

Even though it prints the following error:

eject: CD-ROM tray close command failed: Input/output error

it works, and the Kindle reappears in KDE.