After an upgrade of Texlive from Debian/testing, the following no longer works:


How to update this command?

  • How to find out the date of the current ngerman package?

  • Or how to provide the old package, which is no longer part of the current Texlive distribution?


The language.dat in TeX Live 2017 contains

% from dehyph-exptl:
german-x-2017-03-31 dehypht-x-2017-03-31.tex
ngerman-x-2017-03-31 dehyphn-x-2017-03-31.tex

The name ngerman-x-2014-05-21 was superseded with TL 2016. But the format of language.dat tells you that you can always refer to those patterns by


and this will work also if the pattern file is updated. So


is the best way.

If you want to reproduce the old breaks, I'm afraid you need to edit the language.dat file yourself and rebuild the formats.

  1. Find a copy of dehypht-x-2014-05-21.tex and dehypht-x-2014-05-21.pat in an old TeX Live distribution.

  2. Save them in $TEXMFLOCAL/tex/generic/dehyph-exptl, creating the tree necessary directory tree; $TEXMFLOCAL refers to the output of kpsewhich -var-value=TEXMFLOCAL.

  3. Run sudo texmflsr

  4. Append the line

    ngerman-x-2014-05-21 dehypht-x-2014-05-21

    to language.dat (you find it by doing kpsewhich language.dat)

  5. Run sudo fmtutil-sys --all

Then \RequirePackage[ngerman=ngerman-x-2014-05-21]{hyphsubst} should work.

  • 2
    @JoachimWuttke One shouldn't rely on “experimental” packages for work that's supposed to be “forever”. – egreg Oct 16 '17 at 12:24
  • This answer helped me to solve a problem that I had after the last MikTeX update, which replace said file from 2017 with the file from 2018 without updating the language.dat This in turn prevented the format files from being build. – kristjan Apr 5 '18 at 23:34

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.