1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
|
%
% ********** lahyph.tex *************
%
% Copyright 1999 Claudio Beccari
% [latin hyphenation patterns]
%
% -----------------------------------------------------------------
% IMPORTANT NOTICE:
%
% 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.
% -----------------------------------------------------------------
%
% Patterns for the latin language mainly in modern spelling
% (u when u is needed and v when v is needed); medieval spelling
% with the ligatures \ae and \oe and the (uncial) lowercase `v'
% written as a `u' is also supported; apparently there is no conflict
% between the patterns of modern Latin with those of medieval Latin.
%
% Support for font encoding OT1 with 128-character set and
% for font encoding T1 with a 256-character set.
%
% Prepared by Claudio Beccari
% Politecnico di Torino
% Torino, Italy
% e-mail beccari@polito.it
%
% 1999/03/10 Integration of `lahyph7.tex' and `lahyph8.tex' into
% one file `lahyph.tex' supporting fonts in OT1 and T1 encoding by
% Bernd Raichle using the macro code from `dehypht.tex' (this code
% is Copyright 1993,1994,1998,1999 Bernd Raichle/DANTE e.V.).
%
%
% \versionnumber{3.0} \versiondate{1999/12/19}
%
% Information at after \endinput.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\message{Latin Hyphenation Patterns `lahyph' Version 3.0 <1999/12/19>}
%
%
% Next we define some commands which are used inside the patterns.
% To keep them local, we enclose the rest of the file in a group
% (The \patterns command globally changes the hyphenation trie!).
% These initial commands are by Bernd Raichle (see above)
%
\begingroup
%
% Make sure that doublequote is not active:
\catcode`\"=12
%
%
% Ligatures \ae and \oe in font encoding OT1
%
\catcode"1A=11 \lccode"1A="1A % \ae (^^Z)
\catcode"1D=11 \lccode"1D="1D % \AE (^^]) (not used)
\catcode"1B=11 \lccode"1B="1B % \oe (^^[)
\catcode"1E=11 \lccode"1E="1E % \OE (^^^) (not used)
%
% Define \ae and \oe as shorthands for medieval latin
% ligatures in font encoding OT1:
\def\ae{^^Z}
\def\oe{^^[}
%
%
% Then we have to define some macros depending on the TeX version.
% Therefore we have to distinguish TeX version 2.x and 3.x:
%
\ifnum`\@=`\^^40 % true => TeX 3.x
%
% For TeX 3:
% ----------
%
% Ligatures \ae and \oe in font encoding T1
%
\catcode"E6=11 \lccode"E6="E6 % \ae
\catcode"C6=11 \lccode"C6="E6 % \AE (not used)
\catcode"F7=11 \lccode"F7="F7 % \oe
\catcode"D7=11 \lccode"D7="F7 % \OE (not used)
%
% Ligatures \ae and \oe in font encoding T1 are ok:
\def\n#1{#1}
%
% In the following definitions we use ??xy instead of ^^xy
% to avoid errors when reading the macro definitions with
% TeX 2.x (remember ^^e(6) is the comment character):
%
\catcode`\?=7
%
% Define \a and \o to be \ae resp. \oe in font encoding T1:
\def\a{??e6} % \ae
\def\o{??f7} % \oe
%
\catcode`\?=12
%
\else
%
% For TeX 2:
% ----------
%
% Ignore ligatures \ae and \oe in font encoding T1:
\def\n#1{}
%
% Define \a and \o (= \ae, \oe in font encoding T1) to
% signal an error:
\def\a{\errmessage{Hyphenation pattern file corrupted!}}
\def\o{\errmessage{Hyphenation pattern file corrupted!}}
%
\fi
%
%
\lccode`'=`'
\patterns{%
2'2
.ab2s3 .a2b3l
.anti1 .anti3m2n
.ca4p3s .circu2m1
.co2n1iun
.di2s3cine
.e2x1
.o2b3 % .o2b3l .o2b3r .o2b3s
.para1i .para1u
.pre1i .pro1i
.su2b3lu .su2b3r
2s3que. 2s3dem.
3p2sic
3p2neu
\ae1 \oe1 % Ligatures ae and oe (in OT1)
\n{\a1} \n{\o1} % Ligatures ae and oe (in T1)
a1ia a1ie a1io a1iu ae1a ae1o ae1u
e1iu
io1i
o1ia o1ie o1io o1iu
uo3u % quousque
1b 2bb 2bd b2l 2bm 2bn b2r 2bt 2bs 2b.
1c 2cc c2h2 c2l 2cm 2cn 2cq c2r 2cs 2ct 2cz 2c.
1d 2dd 2dg 2dm d2r 2ds 2dv 2d.
1f 2ff f2l 2fn f2r 2ft 2f.
1g 2gg 2gd 2gf g2l 2gm g2n g2r 2gs 2gv 2g.
1h 2hp 2ht 2h.
1j
1k 2kk k2h2
1l 2lb 2lc 2ld 2lf l3f2t 2lg 2lk 2ll 2lm 2ln 2lp 2lq 2lr
2ls 2lt 2lv 2l.
1m 2mm 2mb 2mp 2ml 2mn 2mq 2mr 2mv 2m.
1n 2nb 2nc 2nd 2nf 2ng 2nl 2nm 2nn 2np 2nq 2nr 2ns
n2s3m n2s3f 2nt 2nv 2nx 2n.
1p p2h p2l 2pn 2pp p2r 2ps 2pt 2pz 2php 2pht 2p.
1qu2
1r 2rb 2rc 2rd 2rf 2rg r2h 2rl 2rm 2rn 2rp 2rq 2rr 2rs 2rt
2rv 2rz 2r.
1s2 2s3ph 2s3s 2stb 2stc 2std 2stf 2stg 2st3l 2stm 2stn 2stp 2stq
2sts 2stt 2stv 2s. 2st.
1t 2tb 2tc 2td 2tf 2tg t2h t2l t2r 2tm 2tn 2tp 2tq 2tt
2tv 2t.
1v v2l v2r 2vv
1x 2xt 2xx 2x.
1z 2z.
% For medieval Latin
a1ua a1ue a1ui a1uo a1uu
e1ua e1ue e1ui e1uo e1uu
i1ua i1ue i1ui i1uo i1uu
o1ua o1ue o1ui o1uo o1uu
u1ua u1ue u1ui u1uo u1uu
%
a2l1ua a2l1ue a2l1ui a2l1uo a2l1uu
e2l1ua e2l1ue e2l1ui e2l1uo e2l1uu
i2l1ua i2l1ue i2l1ui i2l1uo i2l1uu
o2l1ua o2l1ue o2l1ui o2l1uo o2l1uu
u2l1ua u2l1ue u2l1ui u2l1uo u2l1uu
%
a2m1ua a2m1ue a2m1ui a2m1uo a2m1uu
e2m1ua e2m1ue e2m1ui e2m1uo e2m1uu
i2m1ua i2m1ue i2m1ui i2m1uo i2m1uu
o2m1ua o2m1ue o2m1ui o2m1uo o2m1uu
u2m1ua u2m1ue u2m1ui u2m1uo u2m1uu
%
a2n1ua a2n1ue a2n1ui a2n1uo a2n1uu
e2n1ua e2n1ue e2n1ui e2n1uo e2n1uu
i2n1ua i2n1ue i2n1ui i2n1uo i2n1uu
o2n1ua o2n1ue o2n1ui o2n1uo o2n1uu
u2n1ua u2n1ue u2n1ui u2n1uo u2n1uu
%
a2r1ua a2r1ue a2r1ui a2r1uo a2r1uu
e2r1ua e2r1ue e2r1ui e2r1uo e2r1uu
i2r1ua i2r1ue i2r1ui i2r1uo i2r1uu
o2r1ua o2r1ue o2r1ui o2r1uo o2r1uu
u2r1ua u2r1ue u2r1ui u2r1uo u2r1uu
%
%
}
\endgroup
%
\endinput
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
For documentation see:
C. Beccari, "Computer aided hyphenation for Italian and Modern
Latin", TUG vol. 13, n. 1, pp. 23-33 (1992)
see also
C. Beccari, "Typesetting of ancient languages",
TUG vol.15, n.1, pp. 9-16 (1994)
In the former paper the code was described as being contained in file ITALAT.TEX;
this is substantially the same code, but the file has been renamed LAHYPH.TEX
in accordance with the ISO name for latin and the convention that all
hyphenation pattern file names should be formed by the agglutination of
two letter language ISO code and the abbreviation HYPH.
A corresponding file (ITHYPH.TEX) has been extracted in order to eliminate
the (few) patterns specific to latin and leave those specific to italian;
ITHYPH.TEX has been further extended with many new patterns in order to
cope with the many neologisms and technical terms with a foreign root.
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.
Compared with the previous versions, this file has been extended so as to cope
also with the medieval Latin spelling, where the letter `V' played the roles of both
`U' and `V', as in the Roman times save that the Romans used only capitals, while
in the middle ages the availability of soft writing supports and the necessity of
copying book with a reasonable speed several scripts had evolved in (practically)
all of which there was a lower case alphabet different from the upper case one,
and where the lower case `v' had the rounded shape of our modern lower case `u',
and where the Latin diphthongs `AE' and `OE', both in upper and lower case, where
written as ligatures, not to mention the habit of substituting them with their sound,
that is a simple `E'.
According to Leon Battista Alberti, who in 1466 wrote a book on cryptography where
he thoroughly analyzed the hyphenation of the Latin language of his (still medieval)
times, the differences from the Tuscan language (the Italian language, as it was
named at his time) were very limited, in particular for what concerns the handling
of the ascending and descending diphthongs; in central and Northern Europe, and
later on in north America, the Scholars perceived the above sound as made of two
distinct vowels; the hyphenation of medieval Latin, therefore, was quite different
in the northern countries compared to the southern ones, at least for what concerns
these diphthongs. If you need hyphenation patterns for medieval Latin that suite you
better according to the habits of northern Europe you should resort to the hyphenation
patterns prepared by Yannis Haralambous (TUGboat, vol.13 n.4 (1992)).
LOADING THE PATTERNS
Use BABEL !
BABEL implies a new hyphen.tex file that substitutes the default one; in
the new hyphen.tex file, new definitions are given for selecting different
languages and typesetting styles. During the initialization of LaTeX,
babel reads another file, language.dat, which contains the names of
the desired languages and the corresponding pattern files. During
document compilation babel seeks a language definition file such as
french.ldf, italian.ldf, or the like, where programming shortcuts and
typesetting style parameters and definitions are established. A latin.ldf
is being prepared but to the present day it is not available.
Therefore in a short while shortcuts will be available for latin as they are
for german, and many other languages. The shortcut I believe is most necessary
for Latin is a short command for inserting a discretionary break at the
compound word boundary of compound words.
1) Edit language.dat by adding a line such as this:
latin lahyph.tex
2) Run the initializer and rebuild the format file latex.fmt.
If you use MiKTeX this is as simple as giving the line command
makefmt latex
or to click on Start|Programs|MiKTeX|Maintainance|Rebuild LaTeX format
(or all formats).
If you use VTeX you must resort to the format manager by clicking the
suitable drop down menu item from the Menu bar.
If you use other TeX/LaTeX systems, rebuild the format file latex.fmt
according to the documentation of your system.
PREFIXES AND SUFFIXES
For what concerns prefixes and suffixes, the latter are generally separated
according to "natural" syllabification, while the former are generally
divided etimologically. In order to avoid an excessive number of patterns,
care has been paid to some prefixes, especially "ex", "trans",
"circum", "prae", but this set of patterns is NOT capable of separating
the prefixes in all circumstances.
In my first paper I suggested the definition of the underscore character,
defined active, in order to perform the task; the latin.ldf file under
preparation will define the double quote " as an active character that in Latin
performs that task; the same double quote plays the role of the "fac totum"
active character in virtually every other language, and in every language it
does different things (unfortunately! but this is obviously due to the
different specific requirements in each one of them). I hope that using latin.ldf
under babel, even for typesetting Latin just as quotations within other documents
with a different main language, it will be easy for the typesetter to take the
habit of typing i.e. trans"ierat so as to have the possible hyphen points as
trans-ie-rat (instead of tran-sie-rat).
|