Why does \usepackage[british]{babel} change the hyphenation to wrong?

Now I know there are hyphenation differences between British and American English but in no dictionary, British or American, could I find the word "alternate" to be broken down to al·tern·ate instead of al·ter·nate (for example). And yet:

\documentclass[a5paper]{article}
\usepackage[british]{babel}
\begin{document}
alternate alternate alternate alternate alternate alternate alternate alternate alternate alternate alternate alternate alternate alternate alternate alternate alternate alternate
\end{document}


If you remove the babel line or change it to american, the hyphenation will be correct:

So how does the British hyphenation work? Is it a complete reimplementation that can be buggy? Or is it just a list of exceptions where British syllabification differs from American? If it is the latter, why would a wrong hyphenation of "alternate" be made part of that word list?

-
I cannot reproduce this error. You example gives the correct hyphenation, and \showhyphens{alternate} returns al-ter-nate in the log file. –  Alex Apr 12 '14 at 12:00
Oh, interesting. My above comment is incomplete. With TeX Live 2009 I get al-ter-nate, with TeX Live 2012 it is al-tern-ate. –  Alex Apr 12 '14 at 12:10
@Alex How odd! A hyphenation regression apparently. I'm using TeX Live 2013 and I do indeed get al-tern-ate with \showhyphens. –  Christian Apr 12 '14 at 12:22
@Christian I'm not saying al-tern-ate is correct, but that probably it has been like this all the time without anybody noticing it. –  egreg Apr 12 '14 at 15:08
FWIW, there's a thread at tex-hyphen about a diverging hyphenation of the word catastrophe with LaTeX using Babel (catas-trophe) and Polyglossia (catastrophe) and plain TeX (catas-tro-phe), all using US hyphenation. None of the examples given shows a hyphenation between t and a, which according to pattern cat1a1s2 from file hyph-en-us.pat.txt should be valid. The discussion ended without results. Note, the script debug_spots.lua mentioned in the initial mail has been renamed to patternize.lua in the repository. –  Stephan Hennig Apr 12 '14 at 16:29

According to the Oxford dictionary the correct hyphenation in British English is

al-ter-nate


The pattern for British English were prepared in 1996 by Dominik Wujastik using a list of hyphenated words made available by Oxford University Press and is present on CTAN as ukhyph.tex. In 2008, the team in charge of maintaining hyphenation patterns for TeX Live made a reorganization of the material; here's the start of hyph-en-gb.tex:

% This file has been renamed from ukhyphen.tex to hyph-en-gb.tex in June 2008
% for consistency with other files with hyphenation patterns in hyph-utf8 package.
% No other changes made. See http://www.tug.org/tex-hyphen for more details.

% File: ukhyphen.tex
% TeX hyphenation patterns for UK English


Some lines later we can read

%       $Log: ukhyph.tex$
%       Revision 2.0  1996/09/10 15:04:04  ucgadkw
%       o  added list of hyphenation exceptions at the end of this file.
%
%
% Version 1.0a.  Released 18th October 2005/PT.
%
% Created by Dominik Wujastyk and Graham Toal using Frank Liang's PATGEN 1.0.
% Like the US patterns, these UK patterns correctly hyphenate about 90% of
% the words in the input list, and produce no hyphens not in the list
% (see TeXbook pp. 451--2).
%
% These patterns are based on a file of 114925 British-hyphenated words
% generously made available to Dominik Wujastyk by Oxford University Press.
% This list of words is copyright to the OUP and may not be redistributed.
% The hyphenation break points in the words in the abovementioned file is
% also copyright to the OUP.


so I argue that the hyphenation patterns have never changed from 1996, except for the addition of a hyphenation exception list that reads, in the original file,

\hyphenation{ % Do NOT make any alterations to this list! --- DW
uni-ver-sity
uni-ver-sit-ies
how-ever
ma-nu-script
ma-nu-scripts
re-ci-pro-city
through-out
some-thing}


and is exactly the same in the reorganized files.

It is true that alternate hyphenates as

al-tern-ate


as the following file to be run with pdflatex shows:

\makeatletter\language\l@british\showhyphens{alternate}\stop


that prints

Underfull \hbox (badness 10000) detected at line 0
[] \OT1/cmr/m/n/10 al-tern-ate


on the terminal.

Hyphenation in TeX doesn't examine a long list of words, but rather uses a method based on patterns, described in Appendix H of the TeXbook. The patgen program distills a set of patterns based on a list of hyphenated words, but some compromise has to be made for efficiency of the algorithm, so it's surely possible that some word slips off and turns out to be hyphenated incorrectly.

That's what the hyphenation exception list is for. You can, until the problem is fixed by adding some suitable patterns or the word in the exception list, add it manually:

\documentclass[a5paper]{article}
\usepackage[british]{babel}

\babelhyphenation[british]{al-ter-nate}

\begin{document}
alternate alternate alternate alternate alternate alternate alternate
alternate alternate alternate alternate alternate alternate alternate
alternate alternate alternate alternate
\end{document}


The command \babelhyphenation requires babel version 3.9; for an earlier version one can use

\begin{hyphenrules}{british}
\hyphenation{al-ter-nate}
\end{hyphenrules}


which has the same effect.

-

this answer will not be as elaborate as the one by egreg, but i have some different information.

essentially everything egreg says is correct, but the clue may lie in exactly which oxford dictionary was the basis for the list of hyphenated words that dominik used.

i have just come into possession of a copy of the dictionary that was purportedly used: "the oxford minidictionary of spelling and word division". in it, the word in question is presented as

al.tern|ate


where the period represents a broken vertical, a "less recommended" place for division.

i agree that i don't find this "attractive", and certainly would question it, but then, i'm from the left side of the pond. (i was offered this dictionary as an aid to my editing of tugboat; since i aim for consistency of style -- either british or u.s. -- i gratefully accepted. i admit to surprise in many instances looking through it, but as i said, i'm from the western side of the atlantic.)

edit: here is a scan of the relevant page of the cited dictionary. in no word beginning "altern" is there a hyphen after the "r"; if there is a hyphen, it's always after the "n" (which i don't understand), but in the case of "alternation", that location is avoided completely, with the primary hyphenation point before the "-tion". a true puzzlement.

note: this image is from "the oxford minidictionary of spelling and word division", copyright by oxford university press, 1986, from a 1992 reprint. (i have neither requested nor received permission for this use.)

-
Actually, this makes even less sense to me for British than American English (and I am from the east side but have also lived on the west side). –  cfr Apr 12 '14 at 23:23
@cfr -- i sure don't disagree. when i next have access to the means to scan the relevant material, i will try to do so, and add a picture; that won't be until early may. –  barbara beeton Apr 13 '14 at 6:09
One really has to wonder why they keep reinventing the wheel in Oxford. That would be the third independent English dictionary from the same publisher. Very enlightening answer though! –  Christian Apr 13 '14 at 8:24
oxford doesn't reinvent the wheel, it merely categorises what it finds. the hyphenations (in the mini-dictionary) are designed to minimise confusion with the split word -- they're based on semantic chunking within the word. it's unfortunate that tex's algorithm can't be doing with these “less good” breakpoints that barbara noted (cf al.tern-ate). (i don't know whence the american patterns come, but one can imagine a similar arrangement being useful there, being as how the two languages are rather closely related.) –  wasteofspace May 22 '14 at 13:34
@barbarabeeton I missed your answer; this seems a case where let not thy left hand know what thy right hand doeth applies. ;-) –  egreg May 22 '14 at 13:35