5

I simply load the package babel with the options nil and french. I need the language nil to be able to prevent hyphenations of certain words like names of persons or publishers.

In the past, I used the file zerohyph.tex that I declared in the language.dat file but babel works in a totally different way, now.

In the documentation, they say to use the language nil which corresponds to no hyphenation at all. Then why do I have a warning telling me there is no pattern for that language and pdfLaTeX will use the patterns preloaded for english instead?

That package is a nightmare. I can't even find the place that warning is written : it is not in the label.sty file.

  • The babel documentation doesn't say that, and in fact I don't think it's a good idea. Use hyphenrules instead. Except if you are using luatex, babel has not changed the behavior of language.dat. – Javier Bezos Feb 11 '16 at 14:52
4

In texlive 2015 there is no problem. In the miktex the "language" is missing. A bug report has been made. It also contains a description how to add the "nohyphenation" language to miktex.

https://sourceforge.net/p/miktex/bugs/1968/

Run on a command line

 initexmf --edit-config-file languages

This will open the local languages.ini. Then add an entry for nohyphenation.

[nohyphenation]
loader=zerohyph.tex
lefthyphenmin=2
righthyphenmin=3
attributes=

Save the file. Then go to miktex settings. nohyphenation should now be in the language list. Uncheck and recheck it so that language.dat and the formats are updated.

You can find the warning you mentioned in switch.def

Addition

with babel 3.9n and lualatex it seems to be necessary to add also a language "nil".

  • I indeed use the MikTeX distribution. Thank you very much for your answer. It is very complete. – Julien Feb 11 '16 at 8:05

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.