13

I am using Adobe Minion Pro (mostly because of its maths support), but I don't want to use the 'Th' ligature. This decision is based on guidance from Bringhurst's Elements of Typographic Style.

I have tried using microtype to disable any ligatures starting with 'T', but this also seems to affect kerning pairs starting with 'T'. Here is a working example:

\documentclass{article}

\usepackage{minionpro}
\usepackage{microtype}
%\DisableLigatures[T]{}

\begin{document}
Th
To
\end{document}

When I don't modify the default behaviour of microtype, the output looks like this

enter image description here

But when I uncomment \DisableLigatures[T]{}, I get this output:

enter image description here

This separates the 'Th' ligature successfully, but is no longer any kerning on 'To' (kerning for other characters appears to be unaffected).

How do I disable the 'Th' ligature without interfering with the kerning?

  • 1
    Since Th is not that common, I would define a macro \Th. When you end your document, and you are going to send/print it, just do a Search for Th & Replace for \Th (with a trailing space) and that's all. – Manuel Jan 19 '15 at 0:37
  • @Manuel using a \Th macro is a good idea. I should mention that many of my sentences begin with 'The', so the ligature is actually quite common in my documents. Perhaps this is a problem with my writing style, rather than LaTeX! – onewhaleid Jan 19 '15 at 0:52
  • 1
    I mean it's the most trivial way: you have no problem with defining \makeatletter \newcommand*\Th{T\penalty\@M\hskip\z@ h} \makeatother. – Manuel Jan 19 '15 at 0:53
  • Is the problem specific to Minion Pro? It would help to know which engine you are using. Minion Pro seems to include various... er... quirks.... – cfr Jan 19 '15 at 1:33
  • 6
    This is a known limitation in pdftex (inherited from tex itself): information on ligatures and on kerning is stored in the same table in the font metrics, therefore one cannot switch off ligatures or kerning independently from one another. – Robert Jan 19 '15 at 4:38
12

If switching from pdfLaTeX to LuaLaTeX is an option for you, you could employ the selnolig package to disable the Th ligature globally, while leaving all other ligatures in place. (To disable the operation of selnolig at some point in the document, issue the command \selnoligoff.)

enter image description here

% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Minion Pro}
%%\setmathfont{Minion Pro Math} % check name of math font 
\usepackage{selnolig} % load selnolig w/o a language option
\nolig{Th}{T|h} % disable "Th" ligature globally
\begin{document}
The That Thick Though, Tantrum Test To Tub

\medskip
with \verb+selnolig+ disabled:

\selnoligoff
The That Thick Though, Tantrum Test To Tub
\end{document}
  • Thanks Mico. Your selnolig package is very well-designed, and probably provides the most elegant solution to my problem. But for now I am reluctant to use LuaLaTeX (it compiles very slowly on my computer), so I will probably just put up with the 'Th' ligature. – onewhaleid Jan 20 '15 at 21:47
  • @onewhaleid - Thanks for the compliment! Sorry to read that LuaLaTeX is slow on your system. It's not on mine (MacOSX 10.10.1 "Yosemite", MacTeX2104). What's your TeX setup like? Only the very first time that Lua(La)TeX is run should be slow, because that's when various font cache databases have to be built. After the first run, further compilations should run very quickly. Have you maybe inadvertently set a switch that forces LuaLaTeX to rebuild the font cache files every time? – Mico Jan 20 '15 at 22:14
  • My experience with LuaLaTeX is similar to that described in tex.stackexchange.com/questions/75118/… – onewhaleid Jan 21 '15 at 1:06
  • 2
    @onewhaleid Speed has improved with the latest versions of lualatex as included in texlive 2014. – Andrew Swann Jan 21 '15 at 7:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.