Zack
Because the rules for hyphenation are that compound words (words that already
contain a hyphen) are not hyphenated except after the hyphen. See, for example,
the Chicago Manual of Style, section 6.40. TeX is simply obeying those rules.
If these rules result in a terrible line break, I would wait for the final draft
and then insert a \-. I would not globally override the rules.
Scott D. Anderson
ande...@cs.umass.edu
It's TeX
> I have to either give a hyphenation list at the top of the document,
>or put a whole bunch of \- all over the place. Why won't TeX simply use its
>algorithm?
It's generally thought to be bad typesetting practice (in English at
least) to hyphenate words that already have explicit hyphens in them.
When I want to override this behaviour of TeX's, I use the following
(which comes from barbara beeton in the days before comp.text.tex
existed):
\newcommand\hyph{-\penalty0\hskip0pt\relax}
and then say
post\hyph modern
I think it's probably hopeless to make `-' active and \let it to
\hyph, on account of all the ghastly side-effects it would have...
--
Robin (Campaign for Real Radio 3) Fairbairns r...@cl.cam.ac.uk
U of Cambridge Computer Lab, Pembroke St, Cambridge CB2 3QG, UK
Private page: http://www.cl.cam.ac.uk/users/rf/robin.html
TeX won't, because (1) hyphens or ligatures ending in hyphens insert an
automatic \discretionary{}{}{}, and (2) words with discretionaries in
them aren't hyphenated (TeXbook, Chapter 14, pp. 95-96).
This is presumably deliberate, since style guides for English printing
say to avoid introducing a second hyphen into a hyphenated word (Hart's
Rules, p.15).
If you nevertheless want to get this effect, the Cork encoding
(variously called "T1", "DC", "EC", and "Extended TeX Text -- Latin")
has a hack to allow hyphenation of hyphenated words (in some non-English
languages, hyphenation of hyphenated words is acceptable practice). It
includes a duplicate hyphen character; if you set \hyphenchar to this
duplicate hyphen, then TeX will not do anything special to hyphens in
your manuscript -- they'll just be normal characters so far as the
hyphenation routine is concerned.
To make this work you would have to make a TeX format with new
hyphenation patterns that allow breaks before hyphens, because TeX will
no longer know that explicit hyphens are valid break points. But, as a
side effect, hyphenated words broken at the hyphen will have the hyphen
repeated at the start of the next line:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx post-
-modern xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx re-en-
tering xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
To get around that problem, you need to edit the fonts' ligtables so
that "hyphen hyphen1" (where "hyphen1" stands for the duplicate hyphen)
is transformed by the ligature mechanism into a single hyphen. I think.
-- Damian