Back

The microtype package: Subliminal refinements towards typographical perfection [pdf]

91 points8 monthsmirror.clientvps.com
mbork_pl8 months ago

I worked (very part-time) a typesetting job for 10+ years. We were making a journal with (sometimes) pretty narrow columns. Microtype was surprisingly helpful, while remaining (almost) invisible to a layman's eye. (Once you know about it, you can spot the differences in letter widths sometimes.)

Interestingly, Guthenberg used very similar techniques with varying the shapes of letters so that the "blackness" of the page could be more uniform.

kccqzy8 months ago

My favorite feature of this package is how it expands/contracts letters so that hyphenation is almost entirely gone in a fully justified text. I personally hate the hyphenation of words: they sometimes create ambiguity (incidental hyphens at the end of a line vs hyphens in the original word) and the hyphenation points always seem unintuitive to me.

mbork_pl8 months ago

Fun fact: in Polish typography, you repeat the hyphen at the beginning of the next line in the latter case (hyphenation when there is a hyphen already).

vitorsr8 months ago

I should warn you that the stretch that the package performs does not preserve the vertical stem widths. Therefore, especially at small point sizes, there are perceptible weight changes.

In my opinion, the default font expansion value stretch=20 is not conservative enough. I would personally recommend not only reducing it but also using the selected argument to further reduce the expansion of glyphs whose geometry distortion may be more easily perceived.

nextos8 months ago

Came here to say the same thing. Also, it pushes commas, full stops, and hyphens to hang over the margin. The typeset outcome is much more pleasant to the eye.

layer88 months ago

Hyphenation should not be dependent on justification? Meaning, it should be there or gone regardless of justification.

154573452348 months ago

It's hard (impossible?) to justify narrow columns in a fashion which is pleasing to the eye if you don't hyphenate, unless you employ glyph squeezing/stretching techniques such as used by microtype.

layer88 months ago

Yes, but it doesn’t look much better left-aligned, you’d want to use hyphenation there as well.

vitorsr8 months ago

@dang, this URL submission points to a CTAN mirror, can you please change it to the following:

https://mirrors.ctan.org/macros/latex/contrib/microtype/micr...

einpoklum8 months ago

From the fine document:

Micro-typography is the art of enhancing the appearance and readability of a document while exhibiting a minimum degree of visual obtrusion. It is concerned with what happens between or at the margins of characters, words or lines. Whereas the macro-typographical aspects of a document (i.e., its layout) are clearly visible even to the untrained eye, micro-typographical refinements should ideally not even be recognisable.

However, there don't seem to be any major changes to the package since 2021. (Which is not surprising, since it was first released in 2004.)

154573452348 months ago

> there don't seem to be any major changes to the package since 2021

It must be perfect!

Finnucane8 months ago

Does there need to be changes?

esafak8 months ago

What do people use to get microtyping on the web and in native applications?

gjvc8 months ago

A delightful document on a delightful subject!

__mharrison__8 months ago

I wish XeLaTex supported microtype...

Isthatablackgsd8 months ago

It don't? That's weird because I am able to use microtype package with XeLaTeX.

Ohhh I see, I look it up. Apparently, it support specific feature[0] of microtype in XeLaTeX.

[0] https://tex.stackexchange.com/questions/118713/is-microtype-...

pseingatl8 months ago

That's not clear from the document. I couldn't find a clear statement. What about LuaLaTeX?

bradrn8 months ago

It works fine with LuaTeX, in my experience. (And the document does make it clear: see Table 1, on page 6.)

bhickey8 months ago

Does fontspec work with LuaTeX?

bradrn8 months ago

Yes, it does. In general LuaTeX supports everything that XeTeX does.