[texhax] special hyphenation
Donald Arseneau
asnd at triumf.ca
Sat Jun 21 00:35:20 CEST 2008
Natércia Fernandes <natercia at eq.uc.pt> writes:
> 1. LaTeX always breaks them in the "-" they have, even if the result would be
> very different if such symbol was absent.
To have other hyphenation points you need to set a different hyphenation
character than the one you type in the text. (Do pdftex and microtype fix
this gaffe in TeX?) That is possible with T1 font encoding: set the
hyphen-character to be the "overhanging" one.
> 2. In portuguese the hyphenation is possible also at the place where the "-"
> is, but in this case the next line should begin with another hyphen
Once "-" is no longer the hyphen character, it should be included
in language hyphenation patterns as if it were a letter, allowing
hyphenation before itelf. Years ago I made such additions to the
Portuguese hyphenation patterns to do this, and sent them to various
people, but either they weren't interested or I never got hold of the
actual maintainers (though one might assume they read comp.text.tex).
The base patterns were pt8hyph.tex:
% (C) 1996 by Pedro J. de Rezende (rezende at dcc.unicamp.br)
% and J.Joao Dias Almeida (jj at di.uminho.pt)
which had very restrictive modification rules...
Looking at CTAN now I see the rules have changed to LPPL, and also
the patterns have changed, so it should already work for you!
Back in 2001, my additions were tha comments:
% A LaTeX user can enable proper hyphenation, including hyphenation
% before explicit hyphens, with the declaractions:
%
% \lccode`\-=`\-
% \defaulthyphenchar=127
% \usepackage[T1]{fontenc}
%
% or
%
% \lccode`\-=`\-
% \defaulthyphenchar=173
% \usepackage[LY1]{fontenc}
and a set of additional patterns:
5-4a4 % allow hyphenation before explicit hyphens, but forbid it
5-4b4 % for at least two letters after.
5-4c4
...
5-4z4
5-4^^e04
5-4^^e14
5-4^^e24
5-4^^e34
5-4^^e74
5-4^^e94
5-4^^e84
5-4^^ea4
5-4^^ed4
5-4^^ee4
5-4^^ef4
5-4^^f34
5-4^^f44
5-4^^f54
5-4^^f64
5-4^^fa4
5-4^^fb4
The new CTAN version has only the single pattern
1-
which should work (but will still allow lines to end like partirem-n-
so I still like my patterns better; the choice of 1 instead of 5 may
be better, allowing for future hyphen patterns to prevent specific
hyphenated words from breaking).
Since the patterns should work, I can only assume the LaTeX declarations
are absent from the babel support. Indeed, I can find no "lccode" in
portugues.def (or .dtx).
So in your document, declare
\lccode`\-=`\-
\defaulthyphenchar=127
\usepackage[T1]{fontenc}
\usepackage[portugues]{babel}
and see how it works. If it does, please suggest to the babel-portuguese
maintainers to provide this feature.
What babel does provide is "- as a macro-based solution (language shorthand)
for explicit hyphens, but it does not appear to put the hyphen on the next
line.
Another thing, is this double-hyphen style used in Brazil as well?
--
Donald Arseneau asnd at triumf.ca
More information about the texhax
mailing list