7

According to R. Bringhurst's "The Elements of Typographic Style" (version 3.1, 2004, pp. 190-192), the best justification is achieved by a combination of three methods:

  1. flexibly altering the space between words (wordspacing)
  2. flexibly altering the space between letters within words (letterspacing)
  3. flexibly altering the width of characters (glyph reshaping)

As far as I know, LaTeX uses only wordspacing by default. As for glyph reshaping, there is the microtype package with the feature font expansion. However, this works only in certain scenarios, e.g. not with XeTeX (which I am using). It also has the disadvantage of distorting the actual letter shape.

My question is regarding letterspacing: Is there any way in LaTeX to make use of elastic letterspacing (altering interletter space) in order to improve justification?

I am aware that the microtype package supports so-called tracking, i.e. adjusting the letterspacing by a certain amount. However, this appears to be a fixed amount and can therefore not be used for justification purposes.

Update: It seems that opinions are very much divided on whether letterspacing and glyph reshaping are acceptable means for improving justification, see e.g. here for a compilation of differing opinions and here (in Norwegian) for some critical remarks.

6
  • 2
    letterspacing, when taken beyond a very small amount, is an abomination in ordinary text, and drastically reduces readability. (except where it is used "culturally", as in german texts, as an alternative to other kinds of emphasis, and there the amount of spacing doesn't vary from line to line.) when "regular" spacing is untenable for reasons of appearance, it's generally better to choose ragged right, unless glyph reshaping is available; the latter has been shown to produce even color with almost unnoticeable effect on readability. Apr 30, 2014 at 14:09
  • barbara, the author of the mentioned book is talking about a ±3% change in letterspacing. I doubt that this small amount will affect the readability.
    – lvcivs
    Apr 30, 2014 at 14:16
  • thanks for the clarification. 3% is probably okay, but one so often sees much greater (mis)use of the technique especially in newspapers and magazines. actually, i was under the impression that "tracking" was simply another term for letterspacing for entire lines, so you might want to take another look at that. Apr 30, 2014 at 14:19
  • 2
    The soul package provides the \sloppyword macro to add glue between the letters of a word. For luatex, there is the chickenize package and its letterspaceadjust function.
    – Robert
    Apr 30, 2014 at 14:30
  • While I agree with most things Bringhurst says, I disagree with using letterspacing for “improving” justification. Very slight glyph reshaping is perhaps a better method, but only when interword spacing would be too wide.
    – egreg
    Apr 30, 2014 at 17:46

1 Answer 1

1

You can have letterspacing with XeLaTeX without microtype; I suppose you load fontspec, you can use, say:

\addfontfeature{LetterSpace=2.0}

which add 2% of the font size between characters. Use this very sparingly; it is mainly useful in titles or posters, for instance. More details in § 12.2 of the fontspec documentation.

3
  • 1
    That adds a fixed amount of space, though, doesn't it? If so, it is not useful for the present purpose (improving justification).
    – lvcivs
    Apr 30, 2014 at 17:25
  • @Ulmo -- of course the \addfontfeature works insofar as you can apply it to individual words, even individual letters in words (but that would be a terrible idea; and you could already abuse \kern for that anyway). It is just not an automatic, global, per-word solution, but would be a manual intervention that you could apply in the final "proofing" stages.
    – jon
    Apr 30, 2014 at 18:06
  • Thanks, I can see how that could work as manual fix for an individual problematic line. However, what I'm looking for is a general, automatic solution (like what we currently have for wordspacing).
    – lvcivs
    May 28, 2014 at 11:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .