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}

KOMA-Script: Specifying Binding Correction for RTL Documents

The KOMA-Script bundle provides an option to specify the amount of binding correction needed to compensate for the width lost in the binding process. By default, it is added to the left margin, which is where the binding is applied for left-to-right languages. However, if a document is written in Hebrew or Arabic, it is bound on the right. The KOMA-Script manual does not consider that option. After a bit of playing around, I’ve found that simply using a negative value for the binding correction works.

For example, if in an English document you would use

documentclass[BCOR=8.25mm]{scrreprt}

For Hebrew you would set

documentclass[BCOR=-8.25mm]{scrreprt}