7

Example:

\documentclass{article}
\usepackage{microtype}
\begin{document}
fi \textls[1]{fi}
\end{document}

Output:

output

Problem: the ligature is lost. How do I keep the ligature (preferably without manually inserting \lslig, since the documentation of microtype says ligature will be preserved automatically)?

Compiler is PDFLaTeX.

I found the related question Letter spacing and ligatures , but it states that it will be resolved in a newer version of microtype, and my microtype version is definitely new enough (that question is 7 years ago) --- my microtype.sty file contains:

\ProvidesPackage
  {microtype}
  [2023/03/13 v3.1a
   Micro-typographical refinements
   (RS)]
1
  • The documentation says The default settings disable ligatures for the character ‘f’ only, i.e., ‘ff’, ‘fi’, ffi’, etc. Feb 13 at 10:54

2 Answers 2

6

First of all, I agree with the advice @egreg gives in his answer. Nevertheless:

The default tracking settings (in microtype.cfg) are as follows:

\SetTracking
  [ name         = default,
    no ligatures = {f} ]
  { encoding     = {OT1,T1,T2A,LY1,OT4,QX,EU2,TU} }
  { }

which will disable only ligatures starting with f: e.g., fl, fi, ffl, but not, for example, -- or !`. You may change this to:

\SetTracking
  [ load         = default,
    no ligatures = {X} ]
  { encoding     = {OT1,T1,T2A,LY1,OT4,QX,EU2,TU} }
  { }

The first line is just to avoid a warning about settings overwriting existing ones. The X in the no ligatures key is a dirty hack: since an empty value would be interpreted as "disable all ligatures", we specify a letter that will probably never start a ligature, leaving all others untouched. (microtype should probably allow keywords such as all and none to prevent the ambiguity of an empty value.)

2
  • Is there any difference to type out the list of all encoding instead of just encoding=*?
    – user202729
    Feb 14 at 12:43
  • @user202729 yes, the asterisk means (somewhat counterintuitively) "default", not "any". That said, if you're only using one encoding in your document, it would be fine to write encoding=* instead of, say, encoding=OT1.
    – Robert
    Feb 14 at 17:17
9
  1. Don't letterspace lowercase (unless you want to reproduce some old German text).

  2. Ligatures generally avoid clashes when some letterforms are next to each other, so they should be split when letterspacing.

Note about point 1. Fraktur has no other way to express emphasis except letterspacing; German typography has used letterspacing also for “Antiqua” to follow that tradition. I've also seen Russian texts where letterspacing is used for emphasis.

I don't think anybody would want

enter image description here

instead of

enter image description here

1
  • This may be a good advice if the user want good typography, but what if the user wants bad typography?
    – user202729
    Feb 13 at 23:05

You must log in to answer this question.

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