Fuco1 / justify-kp

Paragraph justification for emacs using Knuth/Plass algorithm
56 stars 7 forks source link

justify-kp

Paragraph justification for emacs using Knuth/Plass algorithm.

Usage

The lowest level interactive command is pj-justify. It justifies current line after the point. You must place the point at the beginning of line and the line must have no line breaks (newlines) inside it.

More convenient set of commands is pj-justify-paragraph and pj-unjustify-paragraph. They can be called from anywhere inside current paragraph to justify or unjustify it. Calling pj-justify-paragraph on an already justified paragraph will re-justify it.

If you want to automatically re-justify paragraphs as you type, you can use pj-auto-justify-mode. This is however a bit rough around the edges, so your mileage might vary.

What it supports so far?

See also: http://www.khirevich.com/latex/microtype/

How it looks?

Here's a youtube video of the algorithm in action: http://www.youtube.com/watch?v=10FbsTP_IRg (note that the dynamic reindentation is very inefficient at the present moment.)

Comparsions of M-q (top) and the present implementation (bottom). Right now there's no support for hyphenation but it is a very high priority.

We can also do mixed-fonts!