[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