Update 2013/05/28: The selnolig package is now on the CTAN, at https://ctan.org/pkg/selnolig. Comments and critiques always welcome! The email address you may use to contact me is given at the bottom of the titlepage of the package's user guide.

I'm getting close to releasing a package, which I'm calling selnolig, that lets users suppress automatically typographic ligatures for selected words and word patterns, for both German and English language documents. For German language documents, the focus in on breaking up various f-ligatures -- not only the "usual five" f-ligatures (ff, fi, fl, ffi, and ffl), but also also ligatures for the ft, fft, fb, ffb, fh, ffh, fj, ffj, fk, and ffk character pairs and triples -- that cross morpheme boundaries. For English language documents, the list of rules for breaking up f-ligatures is much shorter than it is for German documents; to make up for this, for English documents ligature suppression rules are also provided for "historic ligatures" (e.g., ct, st, sp, and sk) and "discretionary ligatures" (e.g., th, as, is, us, at, et, and a few more).

All of the package's files may be found at https://github.com/micoloretan/selnolig. The package's main files are:

  • The user guide is in a file called selnolig.pdf. Additional pdf files contains lists of German and English language words for which ligatures should be suppressed (and are indeed suppressed if selnolig is loaded!). The source code for the pdf files is contained in files with extension .tex.

  • The files required to let the package do its work are five style files -- selnolig.sty, selnolig-english-patterns.sty, selnolig-german-patterns.sty, ``selnolig-english-hyphex.sty, and selnolig-german-hyphex.sty-- as well as a file namedselnolig.lua`; the latter file contains the package's lua code.

To start using the package on your system, be sure to download the five .sty files and the .lua file to a directory in your TeX distribution's search path and to update TeX's filename database. If you place the file selnolig.pdf in a directory that's in TeX's search path, you can access the documentation by typing "texdoc selnolig".

The package is almost ready for official release to the CTAN. However, there are still a couple of bugs that need to be fumigated to make the package ready for show time. Nevertheless, I believe the package is already quite usable and useful. I'd therefore like to encourage LaTeX users who are interested in matters related to typographic ligatures -- and especially their selective suppression -- to download the package's files and give them a thorough workout on their own documents. Comments and critiques are most welcome; I provide an email address in the user guide to be used to send me questions, comments, and critiques.

Experts in lua and programming for luatex are especially encouraged to peruse the list of bugs I've compiled in a section of the user guide. Suggestions for improvements and outright bug fixes would be most welcome. Of course, any and all further feedback about the package, such as about its choices of ligature suppression rules, will also be much appreciated.

This package wouldn't have been possible without the various answers and suggestions I've received in the TeX.SE group to questions I posed about how one might go about suppressing ligatures selectively. To all of you who provided such contributions, I hereby express my sincere thanks.

Happy TeXing!

  • 8
    Yay, congrats for this awesome project! :) Nov 17, 2012 at 8:33
  • I'm excited to see this project progress, and I'm happy I have been able to make some contributions and hopefully will be able to in the future. (People can now start looking for my real name in the documentation ;)). This is an amazing package that can really improve the typographic quality of documents, and it might be just another step in LuaTeX's journey to become the standard‽ (If only otfload was faster ...)
    – doncherry
    Nov 17, 2012 at 19:44
  • The documentation looks absolutely awesome! Great job! :) Nov 17, 2012 at 23:15
  • 1
    The package was created because of Mico's question Can one (more or less) automatically suppress ligatures for certain words?
    – koppor
    Mar 7, 2018 at 7:02
  • 1
    @koppor - I'm not sure that the "because of" clause in your comment is all that illuminating. Stating that the selnolig package was an outcome of a project that included, among many other things and activities, the posting you referenced is probably more informative.
    – Mico
    Mar 7, 2018 at 7:12
  • 1
    @Mico also presents a long discussion about babel's "| shortcut at tex.stackexchange.com/a/389439/9075.
    – koppor
    Mar 13, 2018 at 6:26
  • For German documents, ligtype is a alternative. It claims to be faster than selnolig. It uses selnolig's word list. It remains a mystery how to use ligtype for English texts.
    – koppor
    Nov 8, 2023 at 23:25


You must log in to answer this question.

Browse other questions tagged .