
%%%%%%%%%%%%%%%%%%%% file ithyph.tex

%%%%%%%%%%%%%%%%%%%%%%%%%%%  file ithyph.tex  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Prepared by Claudio Beccari   e-mail  beccari@polito.it
%
%                                       Dipartimento di Elettronica
%                                       Politecnico di Torino
%                                       Corso Duca degli Abruzzi, 24
%                                       10129 TORINO
%
% Copyright  1998, 1999 Claudio Beccari
%
% This program can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
%
% \versionnumber{4.8b}   \versiondate{1999/04/05}
%
% These hyphenation patterns for the Italian language are supposed to comply
% with the Reccomendation UNI 6461 on hyphenation issued by the Italian
% Standards Institution (Ente Nazionale di Unificazione UNI).  No guarantee
% or declaration of fitness to any particular purpose is given and any
% liability is disclaimed.
%
% See comments and loading instructions at the end of the file after the
% \endinput line
%
{\lccode`\'=`\'      % Apostrophe has its own lccode so that it is treated
                     % as a letter 
                     %>> 1998/04/14 inserted grouping
                     %
\lccode23=23        % Compound word mark is a letter in encoding T1
\def\W{^^W}         % ^^W =\char23 = \char"17 =\char'27
%
\patterns{
.a3p2n               % After the Garzanti dictionary: a-pnea, a-pnoi-co,...
.anti1  .anti3m2n
.bio1
.ca4p3s
.circu2m1
.di2s3cine
.e2x
.fran2k3
.free3
.narco1
.opto1
.orto3p2
.para1
.poli3p2
.pre1
.p2s
%.ri1a2   .ri1e2    .re1i2  .ri1o2  .ri1u2
.sha2re3
.tran2s3c .tran2s3d .tran2s3f .tran2s3l .tran2s3n .tran2s3p .tran2s3r .tran2s3t
.su2b3lu   .su2b3r
.wa2g3n
.wel2t1
a1ia a1ie  a1io  a1iu a1uo a1ya 2at.
e1iu e2w  
o1ia o1ie  o1io  o1iu
%u1u
%
1\W0a2 1\W0e2 1\W0i2 1\W0o2 1\W0u2
'2
1b   2bb   2bc   2bd  2bf  2bm  2bn  2bp  2bs  2bt  2bv
     b2l   b2r   2b.  2b'. 2b''
1c   2cb   2cc   2cd  2cf  2ck  2cm  2cn  2cq  2cs  2ct  2cz
     2chh  c2h   2chb ch2r 2chn c2l  c2r  2c.  2c'. 2c'' .c2
1d   2db   2dd   2dg  2dl  2dm  2dn  2dp  d2r  2ds  2dt  2dv  2dw
     2d.   2d'.  2d'' .d2
1f   2fb   2fg   2ff  2fn  f2l  f2r  2fs  2ft  2f.  2f'. 2f''
1g   2gb   2gd   2gf  2gg  g2h  g2l  2gm  g2n  2gp  g2r  2gs  2gt
     2gv   2gw   2gz  2gh2t     2g.  2g'. 2g''
1h   2hb   2hd   2hh  hi3p2n    h2l  2hm  2hn  2hr  2hv  2h.  2h'.  2h''
1j   2j.   2j'.  2j''
1k   2kg   2kf   k2h  2kk  k2l  2km  k2r  2ks  2kt  2k.  2k'. 2k''
1l   2lb   2lc   2ld  2l3f2     2lg  l2h  2lk  2ll  2lm  2ln  2lp
     2lq   2lr   2ls  2lt  2lv  2lw  2lz  2l.  2l'. 2l''
1m   2mb   2mc   2mf  2ml  2mm  2mn  2mp  2mq  2mr  2ms  2mt  2mv  2mw
     2m.   2m'.  2m''
1n   2nb   2nc   2nd  2nf  2ng  2nk  2nl  2nm  2nn  2np  2nq  2nr
     2ns   2nt   2nv  2nz  n2g3n     2nheit.   2n.  2n'  2n''
1p   2pd   p2h   p2l  2pn  3p2ne 2pp p2r  2ps  3p2sic 2pt  2pz  2p.  2p'. 2p''
1q   2qq   2q.   2q'. 2q''
1r   2rb   2rc   2rd  2rf  r2h  2rg  2rk  2rl  2rm  2rn  2rp
     2rq   2rr   2rs  2rt  rt2s3 2rv 2rx  2rw  2rz  2r.  2r'. 2r''
1s2  2shm  2s3s  s4s3m 2s3p2n   2stb 2stc 2std 2stf 2stg 2stm 2stn
     2stp  2sts  2stt 2stv 2sz  4s.  4s'. 4s''
1t   2tb   2tc   2td  2tf  2tg  t2h  t2l  2tm  2tn  2tp  t2r  2ts
     3t2sch      2tt  2tv  2tw  t2z  2tzk 2tzs 2t.  2t'. 2t''
1v   2vc   v2l   v2r  2vv  2v.  2v'. 2v''
1w   w2h   wa2r  2w1y 2w.  2w'. 2w''
1x   2xw   2x.   2x'. 2x''
y1ou y1i
1z   2zb   2zd   2zl  2zn  2zp  2zt  2zs  2zv  2zz  2z.  2z'. 2z''  .z2
}}                          % Pattern end

\endinput

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Information %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


                           LOADING THESE PATTERNS

These patterns, as well  as  those  for  any  other  language, do not become
effective until they are loaded in a special form into a format  file;  this
task  is  performed  by  the  TeX  initializer;  any  TeX system has its own
initializer with its special way  of  being activated.  Before loading these
patterns, then, it is necessary to read very carefully the instructions that
come with your TeX system.

Here I describe how to load the patterns with the freeware TeX system  named
MiKTeX;  with minor changes the whole procedure is applicable with other TeX
systems, but the details must be  deduced from your TeX system documentation
at the section/chapter "How to build or to rebuild a format file"

With MikTeX:

a) copy this file and replace  the existing file ithyph.tex in the directory
   c:\texmf\tex\generic\hyphen;

b)  find  and  edit  a  file   named   language.dat   (it   should   be   in
   c:\texmf\tex\generic\hyphen)  or  in  a  .\local  subdirectory; check the
   named languages and comment out  those  you  do  not use while you should
   decomment (or write anew if it is not there) the line

   italian ithyph.tex

c) from a DOS window of your Win95 or Win NT system give the line command

   makefmt latex

d) That's all!  With other systems you might need to move the latex.fmt file
   to another directory or you might need to declare your intention  to  use
   the  babel  package  by  changing  the hyphen.cfg file, but basically the
   operations described here are the  ones  that  must be performed with any
   TeX system.  The fact of opening a DOS window is specific to MikTeX,  but
   more sophisticated systems may have dialog boxes, setup menus, buttons to
   click  on,  that  are supposed to help the user in creating or updating a
   format file.

For the activation of these  patterns  with the specific Italian typesetting
features, use the babel package as this:

\documentclass{article} % Or whatever other class
\usepackage[italian]{babel}
...
\begin{document}
...
\end{document}


                           ON ITALIAN HYPHENATION

I have been working on patterns for the Italian language since 1987; in 1992
I published

C. Beccari, "Computer aided hyphenation for Italian and Modern
      Latin", TUG vol. 13, n. 1, pp. 23-33 (1992)

which contained a set of patterns that allowed hyphenation for both  Italian
and  Latin;  a  slightly  modified  version of the patterns published in the
above paper is contained in LAHYPH.TEX available on the CTAN archives.

From  the  above  patterns  I  extracted  the  minimum  set  necessary   for
hyphenating  Italian  that  was made available on the CTAN archives with the
name ITHYPH.tex the version number  3.5  on  the  16th of August 1994.  File
LAHYPH.TEX, therefore, is now best suited only for the hyphenation of  Latin
in  modern  spelling  or  for  a  babel  setup where Latin is a "dialect" of
Italian.

[If you want to use  both  Italian  and  Latin  with the babel package, edit
language.dat by commenting out the line

italian ithyph.tex

and add the following two lines

italian lahyph.tex
=latin

After updating the format file as described above, use babel as this:

\documentclass{article} % Or whatever other class
\usepackage[latin,italian]{babel} % Italian is the default language
...
\begin{document}
...
\end{document}

Refer to the babel documentation for the details concerning the  composition
of a document in two or more languages.]

The  original  pattern  set  required  37  ops;  being interested in a local
version of TeX/LaTeX  capable  of  dealing  with  half  a dozen languages, I
wanted to reduce memory occupation and therefore the number of ops.

Th new version (4.0 released  in  1996)  of  ITHYPH.TEX is much simpler than
version 3.5 and requires just 29 ops while  it  retains  all  the  power  of
version  3.5;  it  contains  many  more new patterns that allow to hyphenate
unusual words that generally have  a  root borrowed from a foreign language.
Updated versions 4.x contain minor  additions  and  the  number  of  ops  is
increased to 30 (version 4.7 of 1998/06/01).

This new pattern set has been tested  with the same set of difficult Italian
words that was used to test version 3.5 and it yields the  same  results  (a
part  a  minor  change  that was deliberately introduced so as to reduce the
typographical hyphenation  with  hyathi,  since  hyphenated  hyathi  are not
appreciated by Italian readers).   A  new  enlarged  word  set  for  testing
purposes  gets correct hyphen points that were missed or wrongly placed with
version 3.5, although no error had  been reported, because such words are of
very specialized nature and are seldom used.

As the previous version, this new set  of  patterns  does  not  contain  any
accented  character  so  that  the hyphenation algorithm behaves properly in
both cases, that is with cm  and  with dc/ec fonts.  With LaTeXe terminology
the difference is between OT1 and T1 encodings;  with  the  former  encoding
fonts  do  not  contain  accented characters, while with the latter accented
characters are present and sequences  such  as  \`a map directly to slot "E0
that contains "agrave".

Of course if you use dc/ec fonts (or any other real or virtual font with  T1
encoding)  you get the full power of the hyphenation algorithm, while if you
use cm fonts (or any other real or virtual font with OT1 encoding) you  miss
some  possible  break  points;  this  is  not a big inconvenience in Italian
because:

1) The Regulation UNI 6015 on  accents  specifies  that  compulsory  accents
   appear  only  on the ending vowel of oxitone words; this means that it is
   almost indifferent to have or  to  miss  the dc/ec fonts because the only
   difference consists in how TeX evaluates the end of the word; in practice
   if you have these special facilities you get "qua-li-t\`a", while if  you
   miss them, you get "qua-lit\`a" (assuming that \righthyphenmin > 1).

2)  Optional  accents are so rare in Italian, that if you absolutely want to
   use  them  in  those  rare  instances,  and  you  miss  the  T1  encoding
   facilities, you should also provide  explicit discretionary hyphens as in
   "s\'e\-gui\-to".

There is no explicit  hyphenation  exception  list  because  these  patterns
proved  to  hyphenate correctly a very large set of words suitably chosen in
order to test them in the most heavy circumstances; these patterns were used
in the preparation of a number of books and no errors were discovered.

Nevertheless if you frequently use  technical terms that you want hyphenated
differently  from  what  is  normally  done  (for  example  if  you   prefer
etymological  hyphenation  of  prefixed  and/or  suffixed  words) you should
insert a specific hyphenation  list  in  the  preamble of your document, for
example:

\hyphenation{su-per-in-dut-to-re su-per-in-dut-to-ri}

In order to allow  etymological  hyphenation,  this  patter file defines the
compound word mark character (character #23 in the T1 encoding) as a  letter
and  specifies  suitable  patterns  that  include such character.  The babel
package possibly is set up with  some  sort of facility for introducing in a
simple way such character in your source .tex file so that you can get  your
technical  terms,  your  chemical  names  and  the  like  hyphenated on word
boundaries according to the etymology, but  it's up to you to know etymology
well enough so as to place the compound word mark in the proper places.  For
example you might be asked to type  something  such  as  super|induttore  in
order to get the possible break points as in su-per-in-dut-to-re.

Should you find any word that gets hyphenated in a wrong way, please, AFTER
CHECKING ON A RELIABLE MODERN DICTIONARY, report to the author, preferably
by e-mail.


                       Happy multilingual typesetting !
