llt-segmenter 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -3
- data/lib/llt/segmenter/api.rb +3 -0
- data/lib/llt/segmenter/version.rb +1 -1
- data/lib/llt/segmenter/version_info.rb +7 -0
- data/lib/llt/segmenter.rb +34 -3
- data/llt-segmenter.gemspec +1 -1
- data/spec/fixtures/petrov_eleg01_cleaned.xml +203 -0
- data/spec/fixtures/petrov_eleg01_with_endless_loop.xml +204 -0
- data/spec/fixtures/petrov_eleg01_with_endless_loop_no_xml_header.xml +202 -0
- data/spec/fixtures/petrov_eleg02_with_internal_error.xml +255 -0
- data/spec/lib/llt/segmenter_spec.rb +58 -0
- metadata +15 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6c90686915f9e02706f88b650695a4b40aa6867
|
4
|
+
data.tar.gz: 67ed2ade8bb50c0419a82f18b40eeef031c7a243
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e38adead709637f4520233ead966d000c332b8b356f4e2d827ae40b3ce31d6e2a0e6969762b57393bcb02c9a9b647e1e617a5bd81ab20712663ac525de7a5062
|
7
|
+
data.tar.gz: 50fedc9e52883f8458a437a6f6ff6252bbe6e1f6d78cdfb59d5b78873a27da3dfc40481a1008cf7278493196041cc42a5beaa40be2faef9071e5f36aad946769
|
data/Gemfile
CHANGED
@@ -6,9 +6,9 @@ gem 'pry'
|
|
6
6
|
|
7
7
|
gem 'coveralls', require: false
|
8
8
|
|
9
|
-
gem 'llt-core', git: '
|
10
|
-
gem 'llt-constants', git: '
|
11
|
-
gem 'llt-logger', git: '
|
9
|
+
gem 'llt-core', git: 'git://github.com/latin-language-toolkit/llt-core.git'
|
10
|
+
gem 'llt-constants', git: 'git://github.com/latin-language-toolkit/llt-constants.git'
|
11
|
+
gem 'llt-logger', git: 'git://github.com/latin-language-toolkit/llt-logger.git'
|
12
12
|
|
13
13
|
platform :jruby do
|
14
14
|
gem 'jruby-httpclient'
|
data/lib/llt/segmenter/api.rb
CHANGED
@@ -5,6 +5,7 @@ require 'llt/core/api'
|
|
5
5
|
|
6
6
|
class Api < Sinatra::Base
|
7
7
|
register Sinatra::RespondWith
|
8
|
+
register LLT::Core::Api::VersionRoutes
|
8
9
|
helpers LLT::Core::Api::Helpers
|
9
10
|
|
10
11
|
get '/segment' do
|
@@ -17,4 +18,6 @@ class Api < Sinatra::Base
|
|
17
18
|
f.xml { to_xml(sentences, params) }
|
18
19
|
end
|
19
20
|
end
|
21
|
+
|
22
|
+
add_version_route_for('/segment', dependencies: %i{ Core Segmenter })
|
20
23
|
end
|
data/lib/llt/segmenter.rb
CHANGED
@@ -2,6 +2,8 @@ require "llt/constants"
|
|
2
2
|
require "llt/core"
|
3
3
|
require "llt/logger"
|
4
4
|
require "llt/sentence"
|
5
|
+
require "llt/segmenter/version"
|
6
|
+
require "llt/segmenter/version_info"
|
5
7
|
|
6
8
|
module LLT
|
7
9
|
class Segmenter
|
@@ -30,7 +32,7 @@ module LLT
|
|
30
32
|
AWB = ALL_ABBRS_PIPED.split('|').map { |abbr| "(?<=\\s|^|>)#{abbr}" }.join('|')
|
31
33
|
# the xml escaped characters cannot be refactored to something along
|
32
34
|
# &(?:amp|quot); - it's an invalid pattern in the look-behind
|
33
|
-
SENTENCE_CLOSER = /(?<!#{AWB})\.(?!\.)|[
|
35
|
+
SENTENCE_CLOSER = /(?<!#{AWB})\.(?!\.)|[\?!:·]|((?<!&|"|&apos|<|>);)/
|
34
36
|
DIRECT_SPEECH_DELIMITER = /['"”]|&(?:apos|quot);/
|
35
37
|
TRAILERS = /\)|\s*<\/.*?>/
|
36
38
|
|
@@ -51,8 +53,14 @@ module LLT
|
|
51
53
|
@indexing = parse_option(:indexing, options)
|
52
54
|
@id = 0 if @indexing
|
53
55
|
|
56
|
+
# newline_boundary is only active when we aren't working with xml!
|
54
57
|
nl_boundary = parse_option(:newline_boundary, options)
|
55
|
-
|
58
|
+
|
59
|
+
@sentence_closer = build_sentence_closer_regexp(nl_boundary)
|
60
|
+
end
|
61
|
+
|
62
|
+
def build_sentence_closer_regexp(nl_boundary)
|
63
|
+
@xml ? SENTENCE_CLOSER : Regexp.union(SENTENCE_CLOSER, /\n{#{nl_boundary}}/)
|
56
64
|
end
|
57
65
|
|
58
66
|
# Used to normalized wonky whitespace in front of or behind direct speech
|
@@ -115,9 +123,16 @@ module LLT
|
|
115
123
|
|
116
124
|
def scan_through_string(scanner, sentences = [])
|
117
125
|
while scanner.rest?
|
126
|
+
loop_guard = scanner.pos
|
127
|
+
|
118
128
|
sentence = scan_until_next_sentence(scanner, sentences)
|
119
129
|
|
120
|
-
|
130
|
+
raise if scanner.pos == loop_guard
|
131
|
+
|
132
|
+
if @xml
|
133
|
+
rebuild_xml_tags(scanner, sentence, sentences)
|
134
|
+
take_all_closing_tags(scanner, sentence)
|
135
|
+
end
|
121
136
|
sentence << trailing_delimiters(scanner)
|
122
137
|
|
123
138
|
sentence.strip!
|
@@ -130,6 +145,10 @@ module LLT
|
|
130
145
|
sentences
|
131
146
|
end
|
132
147
|
|
148
|
+
def scan_to_first_real_text(scanner)
|
149
|
+
scanner.scan_until(/<.*?>\s*(?=\w)/)
|
150
|
+
end
|
151
|
+
|
133
152
|
def scan_until_next_sentence(scanner, sentences)
|
134
153
|
scanner.scan_until(@sentence_closer) ||
|
135
154
|
rescue_no_delimiters(sentences, scanner)
|
@@ -160,6 +179,18 @@ module LLT
|
|
160
179
|
! sentence.match(/#{@sentence_closer}\s*<.*?>$/)
|
161
180
|
end
|
162
181
|
|
182
|
+
def take_all_closing_tags(scanner, sentence)
|
183
|
+
if closing_tags_only?(scanner.rest)
|
184
|
+
sentence << scanner.rest
|
185
|
+
scanner.terminate
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
def closing_tags_only?(str)
|
190
|
+
str.match(/\A(\s*<\/.*?>\s*|\s*<.*?\/>\s*)+\z/)
|
191
|
+
end
|
192
|
+
|
193
|
+
|
163
194
|
def rescue_no_delimiters(sentences, scanner)
|
164
195
|
if sentences.any?
|
165
196
|
# broken off texts
|
data/llt-segmenter.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.3"
|
22
22
|
spec.add_development_dependency "rake"
|
23
|
-
spec.add_development_dependency "rspec"
|
23
|
+
spec.add_development_dependency "rspec", "~> 2.14"
|
24
24
|
spec.add_development_dependency "simplecov", "~> 0.7"
|
25
25
|
spec.add_dependency "llt-core"
|
26
26
|
spec.add_dependency "llt-constants"
|
@@ -0,0 +1,203 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<?xml-model href="http://www.stoa.org/epidoc/schema/latest/tei-epidoc.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
|
3
|
+
<TEI xmlns="http://www.tei-c.org/ns/1.0">
|
4
|
+
<text xml:lang="lat">
|
5
|
+
<body>
|
6
|
+
<div type="edition" subtype="poesis-elegia" n="urn:cts:croala:petrov02.eleg01.lat1">
|
7
|
+
<lg met="elegiacum">
|
8
|
+
<l n="1">Conjugis ut carae patrio mens debita caelo</l>
|
9
|
+
|
10
|
+
<l n="2"> Pars melior, miseram laeta reliquit humum:</l>
|
11
|
+
|
12
|
+
<l n="3">Postquam, illa rapta, simul omnis rapta voluptas</l>
|
13
|
+
|
14
|
+
<l n="4"> Est mihi (jam ex illo tempore mensis abit)</l>
|
15
|
+
|
16
|
+
<l n="5">Non nisi perpetuos fundunt mea lumina fletus;</l>
|
17
|
+
|
18
|
+
<l n="6">Lux sequitur noctem tristis, et umbra diem.</l>
|
19
|
+
|
20
|
+
<l n="7">Pabula sunt <sic>lacrymae</sic>, <sic>lacrymae</sic> sunt pocula, sed quae</l>
|
21
|
+
|
22
|
+
<l n="8"> Plus, Medea, tuo gramine fellis habent.</l>
|
23
|
+
|
24
|
+
<l n="9">Sic me qui pascit, simul enecat humor, et hospes</l>
|
25
|
+
|
26
|
+
<l n="10"> Ipse mei cordis, cor mihi luctus edit.</l>
|
27
|
+
|
28
|
+
<l n="11">Ac veluti turtur, sociam cui barbarus auceps</l>
|
29
|
+
|
30
|
+
<l n="12"> Exceptam structis perdidit insidiis,</l>
|
31
|
+
|
32
|
+
<l n="13">Si quam forte videt sine vite, et frondibus ulmum,</l>
|
33
|
+
|
34
|
+
<l n="14"> Aequalem sorti, consimilemque suae,</l>
|
35
|
+
|
36
|
+
<l n="15">Flectit iter, ramoque sedens miserabilis ales</l>
|
37
|
+
|
38
|
+
<l n="16"> Gutture subrauco nil nisi triste gemit.</l>
|
39
|
+
|
40
|
+
<l n="17">Non illum exhilarat facies pulcherrima Veris,</l>
|
41
|
+
|
42
|
+
<l n="18"> Nulla sibi in notis pabula quaerit agris:</l>
|
43
|
+
|
44
|
+
<l n="19">Non sociae possunt volucres abducere ramo,</l>
|
45
|
+
|
46
|
+
<l n="20"> Ad prope labentes non sitis urget aquas.</l>
|
47
|
+
|
48
|
+
<l n="21">Sic ego. Sic vitam sine te, dulcissima conjux,</l>
|
49
|
+
|
50
|
+
<l n="22"> Si vitae haec nomen vita meretur, ago.</l>
|
51
|
+
|
52
|
+
<l n="23">Sola queri misero, sola est mihi flere voluptas,</l>
|
53
|
+
|
54
|
+
<l n="24"> Sola loci facies maesta, silensque placet.</l>
|
55
|
+
|
56
|
+
<l n="25">Non aures cantus, non fila loquacia mulcent;</l>
|
57
|
+
|
58
|
+
<l n="26"> Non oculos formae gratia, flosque rapit.</l>
|
59
|
+
|
60
|
+
<l n="27">Unam te in sylvis, unam in florentibus hortis,</l>
|
61
|
+
|
62
|
+
<l n="28">Per juga, per valles quaero, nec invenio.</l>
|
63
|
+
|
64
|
+
<l n="29">Nec magis Eurydice est Vati quaesita marito,</l>
|
65
|
+
|
66
|
+
<l n="30"> Tartareum quamvis viderit ille canem:</l>
|
67
|
+
|
68
|
+
<l n="31">Nec magis est Cephalo Procris defleta, videnti</l>
|
69
|
+
|
70
|
+
<l n="32"> Deceptae errorem, flagitiumque manus;</l>
|
71
|
+
|
72
|
+
<l n="33">Quam totas ego te noctes, mea vita, diesque</l>
|
73
|
+
|
74
|
+
<l n="34"> Quaero, nec inventam maestus abesse queror.</l>
|
75
|
+
|
76
|
+
<l n="35">Et tamen ante oculos errat tua semper imago,</l>
|
77
|
+
|
78
|
+
<l n="36"> (Quid non fingit amans?) et tua verba sonant.</l>
|
79
|
+
|
80
|
+
<l n="37">Si qua avis in densis, Siren innoxia, lucis</l>
|
81
|
+
|
82
|
+
<l n="38"> Est audita mihi fundere dulce melos,</l>
|
83
|
+
|
84
|
+
<l n="39">Sisto gradum, et similis deceptus imagine vocis</l>
|
85
|
+
|
86
|
+
<l n="40"> Est, inquam, est cantus conjugis ille meae.</l>
|
87
|
+
|
88
|
+
<l n="41">Si quando ad fontes, aut ad vernantia prata,</l>
|
89
|
+
|
90
|
+
<l n="42"> Aut maris ad placidas me tulit error aquas,</l>
|
91
|
+
|
92
|
+
<l n="43">Hic locus est, dico, quem visere saepe solebat.</l>
|
93
|
+
|
94
|
+
<l n="44"> Quae mora (jam sol est ortus) abesse facit?</l>
|
95
|
+
|
96
|
+
<l n="45">Sed jam jam veniet; latet illa forte sub umbra,</l>
|
97
|
+
|
98
|
+
<l n="46"> Aut illi pietas est sua causa morae.</l>
|
99
|
+
|
100
|
+
<l n="47">Causa morae est certe pietas: nisi fallimur, haec est,</l>
|
101
|
+
|
102
|
+
<l n="48"> Fundentem ad superos quae videt hora preces.</l>
|
103
|
+
|
104
|
+
<l n="49">Mox sat ut illusum me liquit amabilis error,</l>
|
105
|
+
|
106
|
+
<l n="50"> Protinus ex oculis bina fluenta cadunt.</l>
|
107
|
+
|
108
|
+
<l n="51">Bina fluenta cadunt, quorum hinc dolor elicit unum,</l>
|
109
|
+
|
110
|
+
<l n="52"> Inde aliud, tanti causa doloris, amor.</l>
|
111
|
+
|
112
|
+
<l n="53">Meque ipsum incuso, quod sim tam stultus, et amens,</l>
|
113
|
+
|
114
|
+
<l n="54"> Et pascam aerumnas crudelitate meas:</l>
|
115
|
+
|
116
|
+
<l n="55">Rursus in errores tamen hos delabor, et hujus</l>
|
117
|
+
|
118
|
+
<l n="56"> Erroris rursus paenitet esse reum.</l>
|
119
|
+
|
120
|
+
<l n="57">Sic pugnant mea vota meis contraria votis,</l>
|
121
|
+
|
122
|
+
<l n="58"> Nec placet, heu! misero quod modo dulce fuit.</l>
|
123
|
+
|
124
|
+
<l n="59">Nec quod sim discors, angit modo; saevius angit</l>
|
125
|
+
|
126
|
+
<l n="60"> Vivere me longos te sine posse dies.</l>
|
127
|
+
|
128
|
+
<l n="61">Ah! ubi sunt voces illae, et mea fortia verba?</l>
|
129
|
+
|
130
|
+
<l n="62"> Ah! ubi, quae verbis debet inesse, fides?</l>
|
131
|
+
|
132
|
+
<l n="63">Me quoque rapturam subito, quae te hora tulisset,</l>
|
133
|
+
|
134
|
+
<l n="64"> Et pariter praedam mortis utrumque fore?</l>
|
135
|
+
|
136
|
+
<l n="65">Ecce tamen vivo, nec post nova cornua Phoebes</l>
|
137
|
+
|
138
|
+
<l n="66"> Vis me maeroris perdere longa potest.</l>
|
139
|
+
|
140
|
+
<l n="67">Heu! quae dura silex, quod inexsuperabile robur,</l>
|
141
|
+
|
142
|
+
<l n="68"> Quod ferrum, et triplex aes mihi pectus obit?</l>
|
143
|
+
|
144
|
+
<l n="69">Vivo equidem, vivo, sed morte est tristior ipsa,</l>
|
145
|
+
|
146
|
+
<l n="70"> Quae sine te, conjux, vita relicta mihi est.</l>
|
147
|
+
|
148
|
+
<l n="71">At tu nunc choreis Natorum immixta tuorum,</l>
|
149
|
+
|
150
|
+
<l n="72"> Qui (prona) facili ad Superos te praeiere (via) gradu,</l>
|
151
|
+
|
152
|
+
<l n="73">Plena Deo frueris, nec, quae tibi parta, bonorum</l>
|
153
|
+
|
154
|
+
<l n="74"> Amittendorum te timor ullus habet.</l>
|
155
|
+
|
156
|
+
<l n="75">Nam tua non tristes pietas te duxit in oras:</l>
|
157
|
+
|
158
|
+
<l n="76"> Debetur sedes non nisi laeta piis.</l>
|
159
|
+
|
160
|
+
<l n="77">Te plaga (credo equidem) summi plaga lucida caeli,</l>
|
161
|
+
|
162
|
+
<l n="78"> Te laeta aeterno vere vireta tenent.</l>
|
163
|
+
|
164
|
+
<l n="79">Ipsum ipsum Auctorem rerum, quem qui videt, ultra</l>
|
165
|
+
|
166
|
+
<l n="80"> Nil habet optandum, jam sine nube vides.</l>
|
167
|
+
|
168
|
+
<l n="81">Usque et ubique vides, at non saturata videndo</l>
|
169
|
+
|
170
|
+
<l n="82"> Illo oculos pascis; pressa sed usque fame es.</l>
|
171
|
+
|
172
|
+
<l n="83">Te vis implet opum, sed non (licet impleat) explet;</l>
|
173
|
+
|
174
|
+
<l n="84"> Excipit unum aliud, subsequiturque bonum.</l>
|
175
|
+
|
176
|
+
<l n="85">Non te humiles curae, non te mortalia tangunt;</l>
|
177
|
+
|
178
|
+
<l n="86"> Prae caelo, et stellis quam tibi sordet humus!</l>
|
179
|
+
|
180
|
+
<l n="87">Sordet humus certe. non sic tamen, ut tua nunquam</l>
|
181
|
+
|
182
|
+
<l n="88"> Ad miserum flectas lumina blanda virum;</l>
|
183
|
+
|
184
|
+
<l n="89">Audire aut flentem fugias, et saucia flentis,</l>
|
185
|
+
|
186
|
+
<l n="90"> Qua licet, admota corda fovere manu;</l>
|
187
|
+
|
188
|
+
<l n="91">Iactatumque diu ventisque undisque vocare</l>
|
189
|
+
|
190
|
+
<l n="92"> Ad laeta Eridani littora stelliferi.</l>
|
191
|
+
|
192
|
+
<l n="93">Quam tua sors felix, quam nostra simillima morti est,</l>
|
193
|
+
|
194
|
+
<l n="94"> Felle ego, tu Divum vesceris ambrosia.</l>
|
195
|
+
|
196
|
+
<l n="95">Non tamen invideo tua gaudia, sed miser opto,</l>
|
197
|
+
|
198
|
+
<l n="96"> Laetitiae consors quam prius esse tuae.</l>
|
199
|
+
</lg>
|
200
|
+
</div>
|
201
|
+
</body>
|
202
|
+
</text>
|
203
|
+
</TEI>
|
@@ -0,0 +1,204 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<?xml-model href="http://www.stoa.org/epidoc/schema/latest/tei-epidoc.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
|
3
|
+
<TEI xmlns="http://www.tei-c.org/ns/1.0">
|
4
|
+
<text xml:lang="lat">
|
5
|
+
<body>
|
6
|
+
<div type="edition" subtype="poesis-elegia" n="urn:cts:croala:petrov02.eleg01.lat1">
|
7
|
+
<lg met="elegiacum">
|
8
|
+
<l n="1">Conjugis ut carae patrio mens debita caelo</l>
|
9
|
+
|
10
|
+
<l n="2"> Pars melior, miseram laeta reliquit humum:</l>
|
11
|
+
|
12
|
+
<l n="3">Postquam, illa rapta, simul omnis rapta voluptas</l>
|
13
|
+
|
14
|
+
<l n="4"> Est mihi (jam ex illo tempore mensis abit)</l>
|
15
|
+
|
16
|
+
<l n="5">Non nisi perpetuos fundunt mea lumina fletus;</l>
|
17
|
+
|
18
|
+
<l n="6">Lux sequitur noctem tristis, et umbra diem.</l>
|
19
|
+
|
20
|
+
<l n="7">Pabula sunt <sic>lacrymae</sic>, <sic>lacrymae</sic> sunt pocula, sed
|
21
|
+
quae</l>
|
22
|
+
|
23
|
+
<l n="8"> Plus, Medea, tuo gramine fellis habent.</l>
|
24
|
+
|
25
|
+
<l n="9">Sic me qui pascit, simul enecat humor, et hospes</l>
|
26
|
+
|
27
|
+
<l n="10"> Ipse mei cordis, cor mihi luctus edit.</l>
|
28
|
+
|
29
|
+
<l n="11">Ac veluti turtur, sociam cui barbarus auceps</l>
|
30
|
+
|
31
|
+
<l n="12"> Exceptam structis perdidit insidiis,</l>
|
32
|
+
|
33
|
+
<l n="13">Si quam forte videt sine vite, et frondibus ulmum,</l>
|
34
|
+
|
35
|
+
<l n="14"> Aequalem sorti, consimilemque suae,</l>
|
36
|
+
|
37
|
+
<l n="15">Flectit iter, ramoque sedens miserabilis ales</l>
|
38
|
+
|
39
|
+
<l n="16"> Gutture subrauco nil nisi triste gemit.</l>
|
40
|
+
|
41
|
+
<l n="17">Non illum exhilarat facies pulcherrima Veris,</l>
|
42
|
+
|
43
|
+
<l n="18"> Nulla sibi in notis pabula quaerit agris:</l>
|
44
|
+
|
45
|
+
<l n="19">Non sociae possunt volucres abducere ramo,</l>
|
46
|
+
|
47
|
+
<l n="20"> Ad prope labentes non sitis urget aquas.</l>
|
48
|
+
|
49
|
+
<l n="21">Sic ego. Sic vitam sine te, dulcissima conjux,</l>
|
50
|
+
|
51
|
+
<l n="22"> Si vitae haec nomen vita meretur, ago.</l>
|
52
|
+
|
53
|
+
<l n="23">Sola queri misero, sola est mihi flere voluptas,</l>
|
54
|
+
|
55
|
+
<l n="24"> Sola loci facies maesta, silensque placet.</l>
|
56
|
+
|
57
|
+
<l n="25">Non aures cantus, non fila loquacia mulcent;</l>
|
58
|
+
|
59
|
+
<l n="26"> Non oculos formae gratia, flosque rapit.</l>
|
60
|
+
|
61
|
+
<l n="27">Unam te in sylvis, unam in florentibus hortis,</l>
|
62
|
+
|
63
|
+
<l n="28">Per juga, per valles quaero, nec invenio.</l>
|
64
|
+
|
65
|
+
<l n="29">Nec magis Eurydice est Vati quaesita marito,</l>
|
66
|
+
|
67
|
+
<l n="30"> Tartareum quamvis viderit ille canem:</l>
|
68
|
+
|
69
|
+
<l n="31">Nec magis est Cephalo Procris defleta, videnti</l>
|
70
|
+
|
71
|
+
<l n="32"> Deceptae errorem, flagitiumque manus;</l>
|
72
|
+
|
73
|
+
<l n="33">Quam totas ego te noctes, mea vita, diesque</l>
|
74
|
+
|
75
|
+
<l n="34"> Quaero, nec inventam maestus abesse queror.</l>
|
76
|
+
|
77
|
+
<l n="35">Et tamen ante oculos errat tua semper imago,</l>
|
78
|
+
|
79
|
+
<l n="36"> (Quid non fingit amans?) et tua verba sonant.</l>
|
80
|
+
|
81
|
+
<l n="37">Si qua avis in densis, Siren innoxia, lucis</l>
|
82
|
+
|
83
|
+
<l n="38"> Est audita mihi fundere dulce melos,</l>
|
84
|
+
|
85
|
+
<l n="39">Sisto gradum, et similis deceptus imagine vocis</l>
|
86
|
+
|
87
|
+
<l n="40"> Est, inquam, est cantus conjugis ille meae.</l>
|
88
|
+
|
89
|
+
<l n="41">Si quando ad fontes, aut ad vernantia prata,</l>
|
90
|
+
|
91
|
+
<l n="42"> Aut maris ad placidas me tulit error aquas,</l>
|
92
|
+
|
93
|
+
<l n="43">Hic locus est, dico, quem visere saepe solebat.</l>
|
94
|
+
|
95
|
+
<l n="44"> Quae mora (jam sol est ortus) abesse facit?</l>
|
96
|
+
|
97
|
+
<l n="45">Sed jam jam veniet; latet illa forte sub umbra,</l>
|
98
|
+
|
99
|
+
<l n="46"> Aut illi pietas est sua causa morae.</l>
|
100
|
+
|
101
|
+
<l n="47">Causa morae est certe pietas: nisi fallimur, haec est,</l>
|
102
|
+
|
103
|
+
<l n="48"> Fundentem ad superos quae videt hora preces.</l>
|
104
|
+
|
105
|
+
<l n="49">Mox sat ut illusum me liquit amabilis error,</l>
|
106
|
+
|
107
|
+
<l n="50"> Protinus ex oculis bina fluenta cadunt.</l>
|
108
|
+
|
109
|
+
<l n="51">Bina fluenta cadunt, quorum hinc dolor elicit unum,</l>
|
110
|
+
|
111
|
+
<l n="52"> Inde aliud, tanti causa doloris, amor.</l>
|
112
|
+
|
113
|
+
<l n="53">Meque ipsum incuso, quod sim tam stultus, et amens,</l>
|
114
|
+
|
115
|
+
<l n="54"> Et pascam aerumnas crudelitate meas:</l>
|
116
|
+
|
117
|
+
<l n="55">Rursus in errores tamen hos delabor, et hujus</l>
|
118
|
+
|
119
|
+
<l n="56"> Erroris rursus paenitet esse reum.</l>
|
120
|
+
|
121
|
+
<l n="57">Sic pugnant mea vota meis contraria votis,</l>
|
122
|
+
|
123
|
+
<l n="58"> Nec placet, heu! misero quod modo dulce fuit.</l>
|
124
|
+
|
125
|
+
<l n="59">Nec quod sim discors, angit modo; saevius angit</l>
|
126
|
+
|
127
|
+
<l n="60"> Vivere me longos te sine posse dies.</l>
|
128
|
+
|
129
|
+
<l n="61">Ah! ubi sunt voces illae, et mea fortia verba?</l>
|
130
|
+
|
131
|
+
<l n="62"> Ah! ubi, quae verbis debet inesse, fides?</l>
|
132
|
+
|
133
|
+
<l n="63">Me quoque rapturam subito, quae te hora tulisset,</l>
|
134
|
+
|
135
|
+
<l n="64"> Et pariter praedam mortis utrumque fore?</l>
|
136
|
+
|
137
|
+
<l n="65">Ecce tamen vivo, nec post nova cornua Phoebes</l>
|
138
|
+
|
139
|
+
<l n="66"> Vis me maeroris perdere longa potest.</l>
|
140
|
+
|
141
|
+
<l n="67">Heu! quae dura silex, quod inexsuperabile robur,</l>
|
142
|
+
|
143
|
+
<l n="68"> Quod ferrum, et triplex aes mihi pectus obit?</l>
|
144
|
+
|
145
|
+
<l n="69">Vivo equidem, vivo, sed morte est tristior ipsa,</l>
|
146
|
+
|
147
|
+
<l n="70"> Quae sine te, conjux, vita relicta mihi est.</l>
|
148
|
+
|
149
|
+
<l n="71">At tu nunc choreis Natorum immixta tuorum,</l>
|
150
|
+
|
151
|
+
<l n="72"> Qui (prona) facili ad Superos te praeiere (via) gradu,</l>
|
152
|
+
|
153
|
+
<l n="73">Plena Deo frueris, nec, quae tibi parta, bonorum</l>
|
154
|
+
|
155
|
+
<l n="74"> Amittendorum te timor ullus habet.</l>
|
156
|
+
|
157
|
+
<l n="75">Nam tua non tristes pietas te duxit in oras:</l>
|
158
|
+
|
159
|
+
<l n="76"> Debetur sedes non nisi laeta piis.</l>
|
160
|
+
|
161
|
+
<l n="77">Te plaga (credo equidem) summi plaga lucida caeli,</l>
|
162
|
+
|
163
|
+
<l n="78"> Te laeta aeterno vere vireta tenent.</l>
|
164
|
+
|
165
|
+
<l n="79">Ipsum ipsum Auctorem rerum, quem qui videt, ultra</l>
|
166
|
+
|
167
|
+
<l n="80"> Nil habet optandum, jam sine nube vides.</l>
|
168
|
+
|
169
|
+
<l n="81">Usque et ubique vides, at non saturata videndo</l>
|
170
|
+
|
171
|
+
<l n="82"> Illo oculos pascis; pressa sed usque fame es.</l>
|
172
|
+
|
173
|
+
<l n="83">Te vis implet opum, sed non (licet impleat) explet;</l>
|
174
|
+
|
175
|
+
<l n="84"> Excipit unum aliud, subsequiturque bonum.</l>
|
176
|
+
|
177
|
+
<l n="85">Non te humiles curae, non te mortalia tangunt;</l>
|
178
|
+
|
179
|
+
<l n="86"> Prae caelo, et stellis quam tibi sordet humus!</l>
|
180
|
+
|
181
|
+
<l n="87">Sordet humus certe. non sic tamen, ut tua nunquam</l>
|
182
|
+
|
183
|
+
<l n="88"> Ad miserum flectas lumina blanda virum;</l>
|
184
|
+
|
185
|
+
<l n="89">Audire aut flentem fugias, et saucia flentis,</l>
|
186
|
+
|
187
|
+
<l n="90"> Qua licet, admota corda fovere manu;</l>
|
188
|
+
|
189
|
+
<l n="91">Iactatumque diu ventisque undisque vocare</l>
|
190
|
+
|
191
|
+
<l n="92"> Ad laeta Eridani littora stelliferi.</l>
|
192
|
+
|
193
|
+
<l n="93">Quam tua sors felix, quam nostra simillima morti est,</l>
|
194
|
+
|
195
|
+
<l n="94"> Felle ego, tu Divum vesceris ambrosia.</l>
|
196
|
+
|
197
|
+
<l n="95">Non tamen invideo tua gaudia, sed miser opto,</l>
|
198
|
+
|
199
|
+
<l n="96"> Laetitiae consors quam prius esse tuae.</l>
|
200
|
+
</lg>
|
201
|
+
</div>
|
202
|
+
</body>
|
203
|
+
</text>
|
204
|
+
</TEI>
|
@@ -0,0 +1,202 @@
|
|
1
|
+
<TEI xmlns="http://www.tei-c.org/ns/1.0">
|
2
|
+
<text xml:lang="lat">
|
3
|
+
<body>
|
4
|
+
<div type="edition" subtype="poesis-elegia" n="urn:cts:croala:petrov02.eleg01.lat1">
|
5
|
+
<lg met="elegiacum">
|
6
|
+
<l n="1">Conjugis ut carae patrio mens debita caelo</l>
|
7
|
+
|
8
|
+
<l n="2"> Pars melior, miseram laeta reliquit humum:</l>
|
9
|
+
|
10
|
+
<l n="3">Postquam, illa rapta, simul omnis rapta voluptas</l>
|
11
|
+
|
12
|
+
<l n="4"> Est mihi (jam ex illo tempore mensis abit)</l>
|
13
|
+
|
14
|
+
<l n="5">Non nisi perpetuos fundunt mea lumina fletus;</l>
|
15
|
+
|
16
|
+
<l n="6">Lux sequitur noctem tristis, et umbra diem.</l>
|
17
|
+
|
18
|
+
<l n="7">Pabula sunt <sic>lacrymae</sic>, <sic>lacrymae</sic> sunt pocula, sed
|
19
|
+
quae</l>
|
20
|
+
|
21
|
+
<l n="8"> Plus, Medea, tuo gramine fellis habent.</l>
|
22
|
+
|
23
|
+
<l n="9">Sic me qui pascit, simul enecat humor, et hospes</l>
|
24
|
+
|
25
|
+
<l n="10"> Ipse mei cordis, cor mihi luctus edit.</l>
|
26
|
+
|
27
|
+
<l n="11">Ac veluti turtur, sociam cui barbarus auceps</l>
|
28
|
+
|
29
|
+
<l n="12"> Exceptam structis perdidit insidiis,</l>
|
30
|
+
|
31
|
+
<l n="13">Si quam forte videt sine vite, et frondibus ulmum,</l>
|
32
|
+
|
33
|
+
<l n="14"> Aequalem sorti, consimilemque suae,</l>
|
34
|
+
|
35
|
+
<l n="15">Flectit iter, ramoque sedens miserabilis ales</l>
|
36
|
+
|
37
|
+
<l n="16"> Gutture subrauco nil nisi triste gemit.</l>
|
38
|
+
|
39
|
+
<l n="17">Non illum exhilarat facies pulcherrima Veris,</l>
|
40
|
+
|
41
|
+
<l n="18"> Nulla sibi in notis pabula quaerit agris:</l>
|
42
|
+
|
43
|
+
<l n="19">Non sociae possunt volucres abducere ramo,</l>
|
44
|
+
|
45
|
+
<l n="20"> Ad prope labentes non sitis urget aquas.</l>
|
46
|
+
|
47
|
+
<l n="21">Sic ego. Sic vitam sine te, dulcissima conjux,</l>
|
48
|
+
|
49
|
+
<l n="22"> Si vitae haec nomen vita meretur, ago.</l>
|
50
|
+
|
51
|
+
<l n="23">Sola queri misero, sola est mihi flere voluptas,</l>
|
52
|
+
|
53
|
+
<l n="24"> Sola loci facies maesta, silensque placet.</l>
|
54
|
+
|
55
|
+
<l n="25">Non aures cantus, non fila loquacia mulcent;</l>
|
56
|
+
|
57
|
+
<l n="26"> Non oculos formae gratia, flosque rapit.</l>
|
58
|
+
|
59
|
+
<l n="27">Unam te in sylvis, unam in florentibus hortis,</l>
|
60
|
+
|
61
|
+
<l n="28">Per juga, per valles quaero, nec invenio.</l>
|
62
|
+
|
63
|
+
<l n="29">Nec magis Eurydice est Vati quaesita marito,</l>
|
64
|
+
|
65
|
+
<l n="30"> Tartareum quamvis viderit ille canem:</l>
|
66
|
+
|
67
|
+
<l n="31">Nec magis est Cephalo Procris defleta, videnti</l>
|
68
|
+
|
69
|
+
<l n="32"> Deceptae errorem, flagitiumque manus;</l>
|
70
|
+
|
71
|
+
<l n="33">Quam totas ego te noctes, mea vita, diesque</l>
|
72
|
+
|
73
|
+
<l n="34"> Quaero, nec inventam maestus abesse queror.</l>
|
74
|
+
|
75
|
+
<l n="35">Et tamen ante oculos errat tua semper imago,</l>
|
76
|
+
|
77
|
+
<l n="36"> (Quid non fingit amans?) et tua verba sonant.</l>
|
78
|
+
|
79
|
+
<l n="37">Si qua avis in densis, Siren innoxia, lucis</l>
|
80
|
+
|
81
|
+
<l n="38"> Est audita mihi fundere dulce melos,</l>
|
82
|
+
|
83
|
+
<l n="39">Sisto gradum, et similis deceptus imagine vocis</l>
|
84
|
+
|
85
|
+
<l n="40"> Est, inquam, est cantus conjugis ille meae.</l>
|
86
|
+
|
87
|
+
<l n="41">Si quando ad fontes, aut ad vernantia prata,</l>
|
88
|
+
|
89
|
+
<l n="42"> Aut maris ad placidas me tulit error aquas,</l>
|
90
|
+
|
91
|
+
<l n="43">Hic locus est, dico, quem visere saepe solebat.</l>
|
92
|
+
|
93
|
+
<l n="44"> Quae mora (jam sol est ortus) abesse facit?</l>
|
94
|
+
|
95
|
+
<l n="45">Sed jam jam veniet; latet illa forte sub umbra,</l>
|
96
|
+
|
97
|
+
<l n="46"> Aut illi pietas est sua causa morae.</l>
|
98
|
+
|
99
|
+
<l n="47">Causa morae est certe pietas: nisi fallimur, haec est,</l>
|
100
|
+
|
101
|
+
<l n="48"> Fundentem ad superos quae videt hora preces.</l>
|
102
|
+
|
103
|
+
<l n="49">Mox sat ut illusum me liquit amabilis error,</l>
|
104
|
+
|
105
|
+
<l n="50"> Protinus ex oculis bina fluenta cadunt.</l>
|
106
|
+
|
107
|
+
<l n="51">Bina fluenta cadunt, quorum hinc dolor elicit unum,</l>
|
108
|
+
|
109
|
+
<l n="52"> Inde aliud, tanti causa doloris, amor.</l>
|
110
|
+
|
111
|
+
<l n="53">Meque ipsum incuso, quod sim tam stultus, et amens,</l>
|
112
|
+
|
113
|
+
<l n="54"> Et pascam aerumnas crudelitate meas:</l>
|
114
|
+
|
115
|
+
<l n="55">Rursus in errores tamen hos delabor, et hujus</l>
|
116
|
+
|
117
|
+
<l n="56"> Erroris rursus paenitet esse reum.</l>
|
118
|
+
|
119
|
+
<l n="57">Sic pugnant mea vota meis contraria votis,</l>
|
120
|
+
|
121
|
+
<l n="58"> Nec placet, heu! misero quod modo dulce fuit.</l>
|
122
|
+
|
123
|
+
<l n="59">Nec quod sim discors, angit modo; saevius angit</l>
|
124
|
+
|
125
|
+
<l n="60"> Vivere me longos te sine posse dies.</l>
|
126
|
+
|
127
|
+
<l n="61">Ah! ubi sunt voces illae, et mea fortia verba?</l>
|
128
|
+
|
129
|
+
<l n="62"> Ah! ubi, quae verbis debet inesse, fides?</l>
|
130
|
+
|
131
|
+
<l n="63">Me quoque rapturam subito, quae te hora tulisset,</l>
|
132
|
+
|
133
|
+
<l n="64"> Et pariter praedam mortis utrumque fore?</l>
|
134
|
+
|
135
|
+
<l n="65">Ecce tamen vivo, nec post nova cornua Phoebes</l>
|
136
|
+
|
137
|
+
<l n="66"> Vis me maeroris perdere longa potest.</l>
|
138
|
+
|
139
|
+
<l n="67">Heu! quae dura silex, quod inexsuperabile robur,</l>
|
140
|
+
|
141
|
+
<l n="68"> Quod ferrum, et triplex aes mihi pectus obit?</l>
|
142
|
+
|
143
|
+
<l n="69">Vivo equidem, vivo, sed morte est tristior ipsa,</l>
|
144
|
+
|
145
|
+
<l n="70"> Quae sine te, conjux, vita relicta mihi est.</l>
|
146
|
+
|
147
|
+
<l n="71">At tu nunc choreis Natorum immixta tuorum,</l>
|
148
|
+
|
149
|
+
<l n="72"> Qui (prona) facili ad Superos te praeiere (via) gradu,</l>
|
150
|
+
|
151
|
+
<l n="73">Plena Deo frueris, nec, quae tibi parta, bonorum</l>
|
152
|
+
|
153
|
+
<l n="74"> Amittendorum te timor ullus habet.</l>
|
154
|
+
|
155
|
+
<l n="75">Nam tua non tristes pietas te duxit in oras:</l>
|
156
|
+
|
157
|
+
<l n="76"> Debetur sedes non nisi laeta piis.</l>
|
158
|
+
|
159
|
+
<l n="77">Te plaga (credo equidem) summi plaga lucida caeli,</l>
|
160
|
+
|
161
|
+
<l n="78"> Te laeta aeterno vere vireta tenent.</l>
|
162
|
+
|
163
|
+
<l n="79">Ipsum ipsum Auctorem rerum, quem qui videt, ultra</l>
|
164
|
+
|
165
|
+
<l n="80"> Nil habet optandum, jam sine nube vides.</l>
|
166
|
+
|
167
|
+
<l n="81">Usque et ubique vides, at non saturata videndo</l>
|
168
|
+
|
169
|
+
<l n="82"> Illo oculos pascis; pressa sed usque fame es.</l>
|
170
|
+
|
171
|
+
<l n="83">Te vis implet opum, sed non (licet impleat) explet;</l>
|
172
|
+
|
173
|
+
<l n="84"> Excipit unum aliud, subsequiturque bonum.</l>
|
174
|
+
|
175
|
+
<l n="85">Non te humiles curae, non te mortalia tangunt;</l>
|
176
|
+
|
177
|
+
<l n="86"> Prae caelo, et stellis quam tibi sordet humus!</l>
|
178
|
+
|
179
|
+
<l n="87">Sordet humus certe. non sic tamen, ut tua nunquam</l>
|
180
|
+
|
181
|
+
<l n="88"> Ad miserum flectas lumina blanda virum;</l>
|
182
|
+
|
183
|
+
<l n="89">Audire aut flentem fugias, et saucia flentis,</l>
|
184
|
+
|
185
|
+
<l n="90"> Qua licet, admota corda fovere manu;</l>
|
186
|
+
|
187
|
+
<l n="91">Iactatumque diu ventisque undisque vocare</l>
|
188
|
+
|
189
|
+
<l n="92"> Ad laeta Eridani littora stelliferi.</l>
|
190
|
+
|
191
|
+
<l n="93">Quam tua sors felix, quam nostra simillima morti est,</l>
|
192
|
+
|
193
|
+
<l n="94"> Felle ego, tu Divum vesceris ambrosia.</l>
|
194
|
+
|
195
|
+
<l n="95">Non tamen invideo tua gaudia, sed miser opto,</l>
|
196
|
+
|
197
|
+
<l n="96"> Laetitiae consors quam prius esse tuae.</l>
|
198
|
+
</lg>
|
199
|
+
</div>
|
200
|
+
</body>
|
201
|
+
</text>
|
202
|
+
</TEI>
|
@@ -0,0 +1,255 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<?xml-model href="http://www.stoa.org/epidoc/schema/latest/tei-epidoc.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
|
3
|
+
<TEI xmlns="http://www.tei-c.org/ns/1.0">
|
4
|
+
<text xml:lang="lat">
|
5
|
+
<body>
|
6
|
+
<div type="edition" subtype="poesis-elegia" n="urn:cts:croala:petrov02.eleg02.lat1">
|
7
|
+
<lg>
|
8
|
+
<l n="1">Siccine dividimur, vita mihi carior Uxor,</l>
|
9
|
+
|
10
|
+
<l n="2">Morte tua nostrum dissociante thorum?</l>
|
11
|
+
|
12
|
+
<l n="3">Siccine me miserum, nunquam relictura, relinquis</l>
|
13
|
+
|
14
|
+
<l n="4">Me miserum, et Natos, pignora cara, tuos?</l>
|
15
|
+
|
16
|
+
<l n="5">Non te Bactra tenent, non me nunc ultima Thule,</l>
|
17
|
+
|
18
|
+
<l n="6">Longius est spatium, nos quod abesse facit.</l>
|
19
|
+
|
20
|
+
<l n="7">Nunc mihi, nunc cantum ventosque, amnesque morantem,</l>
|
21
|
+
|
22
|
+
<l n="8">Nunc cuperem auditas Manibus esse fides.</l>
|
23
|
+
|
24
|
+
<l n="9">Non summo ut faciam quercus descendere ab Aemo;</l>
|
25
|
+
|
26
|
+
<l n="10">Aut stare immotas voce canentis aves.</l>
|
27
|
+
|
28
|
+
<l n="11">Sed carae ut repetam fugientem conjugis Umbram</l>
|
29
|
+
|
30
|
+
<l n="12">Nunc prece, nunc <sic>cythara</sic> consociante preces</l>
|
31
|
+
|
32
|
+
<l n="13">Irem audax (amor ipse facem praeferret eunti)</l>
|
33
|
+
|
34
|
+
<l n="14">Plena tenebrarum per loca, plena metus.</l>
|
35
|
+
|
36
|
+
<l n="15">Atque aliquis miserans maesta de gente silentum,</l>
|
37
|
+
|
38
|
+
<l n="16">Quos olim simili vulnere stravit amor,</l>
|
39
|
+
|
40
|
+
<l n="17">Ostendens procul Elysium, loca laeta piorum,</l>
|
41
|
+
|
42
|
+
<l n="18">„Quam petis, ille tenet“, diceret, „ille locus“.</l>
|
43
|
+
|
44
|
+
<l n="19">Non me, non novies Styx interfusa teneret</l>
|
45
|
+
|
46
|
+
<l n="20">Viminea et novies trajicienda rate.</l>
|
47
|
+
|
48
|
+
<l n="21">Non fera vipereo terreret crine Megaera,</l>
|
49
|
+
|
50
|
+
<l n="22">Majestas Stygii non truculenta Jovis.</l>
|
51
|
+
|
52
|
+
<l n="23">Forsan et ille pius <sic>lacrymas</sic> ad verba precantis</l>
|
53
|
+
|
54
|
+
<l n="24">Funderet, et reditum Conjugis annueret.</l>
|
55
|
+
|
56
|
+
<l n="25">Quid loquor ah! demens? non est revocabilis ultra,</l>
|
57
|
+
|
58
|
+
<l n="26">Transvecta est Stygios quae semel Umbra lacus.</l>
|
59
|
+
|
60
|
+
<l n="27">Non redit ad fontem, quae fontem deserit unda.</l>
|
61
|
+
|
62
|
+
<l n="28">Non reflorescunt, quae cecidere, rosae.</l>
|
63
|
+
|
64
|
+
<l n="29">Ergo, quod est miseris reliquum solumque levamen,</l>
|
65
|
+
|
66
|
+
<l n="30">Quo lever, heu! superest nil nisi flere mihi,</l>
|
67
|
+
|
68
|
+
<l n="31">Nil nisi flere meos, saevissima vulnera, casus,</l>
|
69
|
+
|
70
|
+
<l n="32">Dum cineri uxoris jungar et ipse cinis.</l>
|
71
|
+
|
72
|
+
<l n="33">Vix afflicta Domus geminati insignia luctus</l>
|
73
|
+
|
74
|
+
<l n="34">Exuerat, madidas non bene sicca genas:</l>
|
75
|
+
|
76
|
+
<l n="35">Ecce cadit saevae jam tertia victima Morti</l>
|
77
|
+
|
78
|
+
<l n="36">Uxor, vulneribus victima caesa tribus.</l>
|
79
|
+
|
80
|
+
<l n="37">Non fuit illa tibi communi lege necanda,</l>
|
81
|
+
|
82
|
+
<l n="38">Impia Mors, plagis percutienda fuit.</l>
|
83
|
+
|
84
|
+
<l n="39">Cuncta tui in miseram <sic>consumpsti</sic> tela furoris,</l>
|
85
|
+
|
86
|
+
<l n="40">In sola haeserunt sed tua tela cute.</l>
|
87
|
+
|
88
|
+
<l n="41">Membra malis cessere, animus fuit altior illis,</l>
|
89
|
+
|
90
|
+
<l n="42">Tu fragilis victrix corporis, ille tui.</l>
|
91
|
+
|
92
|
+
<l n="43">Saepe opus igne fuit, ferroque; ullumne dolentis</l>
|
93
|
+
|
94
|
+
<l n="44">Inter eas poenas edidit illa sonum?</l>
|
95
|
+
|
96
|
+
<l n="45">Num viso extimuit ferro, ingemuitve recepto?</l>
|
97
|
+
|
98
|
+
<l n="46">Non patiens gemitum, sed miser ipse dabam.</l>
|
99
|
+
|
100
|
+
<l n="47">Ah! chalybe immiti languentis caesa rigabat</l>
|
101
|
+
|
102
|
+
<l n="48">Membra cruor: <sic>lacrymis</sic> non maduere genae.</l>
|
103
|
+
|
104
|
+
<l n="49">Num, quando monita est, momenta novissima vitae</l>
|
105
|
+
|
106
|
+
<l n="50">Instare, et celeri jam properare gradu?</l>
|
107
|
+
|
108
|
+
<l n="51">Scilicet hos animos illi mens inscia noxae,</l>
|
109
|
+
|
110
|
+
<l n="52">Inque Deum pietas, et proba vita dabat,</l>
|
111
|
+
|
112
|
+
<l n="53">Hos amor in miseros, miserisque intenta juvandis,</l>
|
113
|
+
|
114
|
+
<l n="54">Clausa sibi, reliquis semper aperta manus:</l>
|
115
|
+
|
116
|
+
<l n="55">Et vigil in Natos cura, et studium acre tuendae</l>
|
117
|
+
|
118
|
+
<l n="56">In nivea morum simplicitate domus:</l>
|
119
|
+
|
120
|
+
<l n="57">Et tormenta per haec candentis atrocia ferri,</l>
|
121
|
+
|
122
|
+
<l n="58">Quae toties visa est sustinuisse libens,</l>
|
123
|
+
|
124
|
+
<l n="59">Posthuma vitandi tormenta, piantia Manes,</l>
|
125
|
+
|
126
|
+
<l n="60">Spes prope certa, sibi si qua pianda forent.</l>
|
127
|
+
|
128
|
+
<l n="61">Hos animos etiam illa dabant, quae pectore forti</l>
|
129
|
+
|
130
|
+
<l n="62">Ex gemina amissa vulnera prole tulit.</l>
|
131
|
+
|
132
|
+
<l n="63">O Superi, quantum vidit maeroris amari,</l>
|
133
|
+
|
134
|
+
<l n="64">Et quantum vidit roboris illa dies!</l>
|
135
|
+
|
136
|
+
<l n="65">Quae caruere genae <sic>lacrymis</sic>, et questibus ora?</l>
|
137
|
+
|
138
|
+
<l n="66">Fundere nec <sic>lacrymas</sic> visa, nec illa queri.</l>
|
139
|
+
|
140
|
+
<l n="67">Exuerat Matrem coram, Matrem intus agebat,</l>
|
141
|
+
|
142
|
+
<l n="68">Non se, sed miserum commiserata Virum.</l>
|
143
|
+
|
144
|
+
<l n="69">Dotibus his tantis quid nunc bona corporis addam?</l>
|
145
|
+
|
146
|
+
<l n="70">Quid cultum ingenuis artibus ingenium?</l>
|
147
|
+
|
148
|
+
<l n="71">Quid quam dulce melos manabat ab ore loquentis,</l>
|
149
|
+
|
150
|
+
<l n="72">In quo opifex mellis fecerat ipsa favos?</l>
|
151
|
+
|
152
|
+
<l n="73">Talem fata mihi rapuere, immitia fata,</l>
|
153
|
+
|
154
|
+
<l n="74">Consortem thalami, subsidiumque mei.</l>
|
155
|
+
|
156
|
+
<l n="75">Post duo dilectae crudelia funera prolis,</l>
|
157
|
+
|
158
|
+
<l n="76">Praesto illa, auxilium quae mihi ferret, erat.</l>
|
159
|
+
|
160
|
+
<l n="77">Tota videbatur gens esse superstes in illa</l>
|
161
|
+
|
162
|
+
<l n="78">Nullaque, ea salva, membra recisa Domus.</l>
|
163
|
+
|
164
|
+
<l n="79">Nec me illa omnino miserum solante putabam,</l>
|
165
|
+
|
166
|
+
<l n="80">Illa levamen erat levantis, et illa comes.</l>
|
167
|
+
|
168
|
+
<l n="81">Decrescit siquidem fidas diffusus in aures</l>
|
169
|
+
|
170
|
+
<l n="82">Luctus, ut in rivos secta fit unda minor.</l>
|
171
|
+
|
172
|
+
<l n="83">Adde alios casus, et quae mala plurima passus,</l>
|
173
|
+
|
174
|
+
<l n="84">Insontem invidiae vi superante, fui:</l>
|
175
|
+
|
176
|
+
<l n="85">Nunc mihi fraude mala jus libertatis ademptum,</l>
|
177
|
+
|
178
|
+
<l n="86">Nunc raptae, parcus quas dabat usus, opes.</l>
|
179
|
+
|
180
|
+
<l n="87">Dum tu aderas, uxor, felix dicebar, eramque,</l>
|
181
|
+
|
182
|
+
<l n="88">Nil nocuit telis sors mihi saeva suis.</l>
|
183
|
+
|
184
|
+
<l n="89">Vim mala perdebant in dulci conjugis ore,</l>
|
185
|
+
|
186
|
+
<l n="90">Et quam tu, poterant aspera fata minus.</l>
|
187
|
+
|
188
|
+
<l n="91">Cui querar infelix? cui nunc mea tristia dicam?</l>
|
189
|
+
|
190
|
+
<l n="92">Quae <sic>lacrymas</sic> posthac terget amica manus?</l>
|
191
|
+
|
192
|
+
<l n="93">Cuncta, illa rapta, rapuit manus invida Parcae,</l>
|
193
|
+
|
194
|
+
<l n="94">Unde afflicta malis mens capiebat opem.</l>
|
195
|
+
|
196
|
+
<l n="95">Nec, quia ter denos mecum una exegerit annos</l>
|
197
|
+
|
198
|
+
<l n="96">Est mihi, ceu sero rapta, dolenda minus.</l>
|
199
|
+
|
200
|
+
<l n="97">Ah! magis illa ligant, quorum est diuturnior usus,</l>
|
201
|
+
|
202
|
+
<l n="98">Et plus, quae plus sunt nexa, dirempta dolent.</l>
|
203
|
+
|
204
|
+
<l n="99">Sic tener, ac mollis ramo si ramus adhaesit,</l>
|
205
|
+
|
206
|
+
<l n="100">Disjungas facili vincla novella manu.</l>
|
207
|
+
|
208
|
+
<l n="101">Frangitur annosus, vel vix victusque gemensque</l>
|
209
|
+
|
210
|
+
<l n="102">Alter ab amplexu solvitur alterius.</l>
|
211
|
+
|
212
|
+
<l n="103">Nullaque sat longa est, quae desinit esse, voluptas,</l>
|
213
|
+
|
214
|
+
<l n="104">Et nulla est magno longa in amore mora.</l>
|
215
|
+
|
216
|
+
<l n="105">Longa mora est tali mihi nunc uxore carenti,</l>
|
217
|
+
|
218
|
+
<l n="106">Omnis mense dies longior, hora die est.</l>
|
219
|
+
|
220
|
+
<l n="107">Quid moror ergo miser? cur non invisa relinquo</l>
|
221
|
+
|
222
|
+
<l n="108">Lumina? cur te non, o mea vita, sequor?</l>
|
223
|
+
|
224
|
+
<l n="109">Tu mihi dicebas, sine me nil dulce futurum,</l>
|
225
|
+
|
226
|
+
<l n="110">Non si ipsum flueret nectar in ora, tibi.</l>
|
227
|
+
|
228
|
+
<l n="111">Quo sola ergo fugis, comitem aspernata maritum?</l>
|
229
|
+
|
230
|
+
<l n="112">In rapidos abeunt cur tua dicta Notos?</l>
|
231
|
+
|
232
|
+
<l n="113">Sed non sola fugis: me tecum, ubicumque moraris,</l>
|
233
|
+
|
234
|
+
<l n="114">Qui bene nos junxit, vivere cogit amor.</l>
|
235
|
+
|
236
|
+
<l n="115">Una mei pars tecum abiit, minor altera mecum est,</l>
|
237
|
+
|
238
|
+
<l n="116">Pars abiit melior, plena dolore manet.</l>
|
239
|
+
|
240
|
+
<l n="117">Ast haec ipsa brevi tua post vestigia curret,</l>
|
241
|
+
|
242
|
+
<l n="118">A majore nequit pars procul esse minor.</l>
|
243
|
+
|
244
|
+
<l n="119">O volet illa dies, quae partes uniat ambas,</l>
|
245
|
+
|
246
|
+
<l n="120">Meque addat comitem tempus in omne tibi!</l>
|
247
|
+
|
248
|
+
<l n="121">Mors tua divisit, mea nos conjungat, et urna</l>
|
249
|
+
|
250
|
+
<l n="122">Consociet, thalamus quos sociare nequit.</l>
|
251
|
+
</lg>
|
252
|
+
</div>
|
253
|
+
</body>
|
254
|
+
</text>
|
255
|
+
</TEI>
|
@@ -1,6 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe LLT::Segmenter do
|
4
|
+
def load_fixture(filename)
|
5
|
+
File.read(File.expand_path("../../../fixtures/#{filename}", __FILE__))
|
6
|
+
end
|
7
|
+
|
4
8
|
let(:segmenter) { LLT::Segmenter.new }
|
5
9
|
describe "#segment" do
|
6
10
|
it "returns an array of LLT::Sentence elements" do
|
@@ -102,6 +106,7 @@ describe LLT::Segmenter do
|
|
102
106
|
it "doesn't break with punctuation in element names II" do
|
103
107
|
txt = '<grc.test>text.</grc.test> text 2.'
|
104
108
|
sentences = segmenter.segment(txt, xml: true)
|
109
|
+
puts sentences
|
105
110
|
sentences.should have(2).items
|
106
111
|
sentences[0].to_s.should == '<grc.test>text.</grc.test>'
|
107
112
|
sentences[1].to_s.should == 'text 2.'
|
@@ -140,6 +145,19 @@ describe LLT::Segmenter do
|
|
140
145
|
sentences = segmenter.segment(txt, xml: true)
|
141
146
|
sentences.should have(1).item
|
142
147
|
end
|
148
|
+
|
149
|
+
it "doesn't fall with multiple closing tags at the end" do
|
150
|
+
txt = '<div type="div1" xml:id="c097"> <l>Numen inest vati, vatum mens consona caelo est, </l> <l n="100">Nec certus scit fallere Apollo. </l> </div>'
|
151
|
+
sentences = segmenter.segment(txt, xml: true)
|
152
|
+
puts sentences
|
153
|
+
sentences.should have(1).item
|
154
|
+
end
|
155
|
+
|
156
|
+
it "doesn't fall with empty tags" do
|
157
|
+
txt = '<div type="div1" xml:id="c097"> <l>Numen inest vati, vatum mens consona caelo est, </l> <l n="100">Nec certus scit fallere Apollo. </l> <milestone unit="page" n="210"/> </div>'
|
158
|
+
sentences = segmenter.segment(txt, xml: true)
|
159
|
+
sentences.should have(1).item
|
160
|
+
end
|
143
161
|
end
|
144
162
|
|
145
163
|
context "with xml escaped characters" do
|
@@ -163,6 +181,16 @@ describe LLT::Segmenter do
|
|
163
181
|
sentences.should have(2).item
|
164
182
|
sentences[1].to_s.should == 'success.'
|
165
183
|
end
|
184
|
+
|
185
|
+
describe "when CGI.unescaping HTML characters" do
|
186
|
+
it "acknowledges ' as potentially trailing delimiter" do
|
187
|
+
txt = ''text.' success.'
|
188
|
+
unescaped = CGI.unescapeHTML(txt)
|
189
|
+
sentences = segmenter.segment(unescaped)
|
190
|
+
sentences.should have(2).item
|
191
|
+
sentences[1].to_s.should == 'success.'
|
192
|
+
end
|
193
|
+
end
|
166
194
|
end
|
167
195
|
|
168
196
|
context "newline (\\n) handling" do
|
@@ -319,6 +347,36 @@ describe LLT::Segmenter do
|
|
319
347
|
end
|
320
348
|
end
|
321
349
|
|
350
|
+
context "with full TEI files" do
|
351
|
+
it "doesn't go into an endless loop when something is wrong" do
|
352
|
+
txt = load_fixture('petrov_eleg01_with_endless_loop.xml')
|
353
|
+
sentences = segmenter.segment(txt, xml: true)
|
354
|
+
sentences.should_not be_empty
|
355
|
+
sentences.should have(60).items
|
356
|
+
end
|
357
|
+
|
358
|
+
it "example II" do
|
359
|
+
txt = load_fixture('petrov_eleg01_with_endless_loop_no_xml_header.xml')
|
360
|
+
sentences = segmenter.segment(txt, xml: true)
|
361
|
+
sentences.should_not be_empty
|
362
|
+
sentences.should have(60).items
|
363
|
+
end
|
364
|
+
|
365
|
+
it "example III" do
|
366
|
+
txt = load_fixture('petrov_eleg01_cleaned.xml')
|
367
|
+
sentences = segmenter.segment(txt, xml: true)
|
368
|
+
sentences.should_not be_empty
|
369
|
+
sentences.should have(60).items
|
370
|
+
end
|
371
|
+
|
372
|
+
it "example IV" do
|
373
|
+
txt = load_fixture('petrov_eleg02_with_internal_error.xml')
|
374
|
+
sentences = segmenter.segment(txt, xml: true)
|
375
|
+
sentences.should_not be_empty
|
376
|
+
sentences.should have(74).items
|
377
|
+
end
|
378
|
+
end
|
379
|
+
|
322
380
|
describe "takes an optional keyword argument add_to" do
|
323
381
|
class ParagraphDummy
|
324
382
|
attr_reader :sentences
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: llt-segmenter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gernot Höflechner, Robert Lichstensteiner, Christof Sirk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '2.14'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '2.14'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: simplecov
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,8 +127,13 @@ files:
|
|
127
127
|
- lib/llt/segmenter.rb
|
128
128
|
- lib/llt/segmenter/api.rb
|
129
129
|
- lib/llt/segmenter/version.rb
|
130
|
+
- lib/llt/segmenter/version_info.rb
|
130
131
|
- lib/llt/sentence.rb
|
131
132
|
- llt-segmenter.gemspec
|
133
|
+
- spec/fixtures/petrov_eleg01_cleaned.xml
|
134
|
+
- spec/fixtures/petrov_eleg01_with_endless_loop.xml
|
135
|
+
- spec/fixtures/petrov_eleg01_with_endless_loop_no_xml_header.xml
|
136
|
+
- spec/fixtures/petrov_eleg02_with_internal_error.xml
|
132
137
|
- spec/lib/llt/segmenter/api_spec.rb
|
133
138
|
- spec/lib/llt/segmenter_spec.rb
|
134
139
|
- spec/spec_helper.rb
|
@@ -157,6 +162,10 @@ signing_key:
|
|
157
162
|
specification_version: 4
|
158
163
|
summary: Segments text into sentences
|
159
164
|
test_files:
|
165
|
+
- spec/fixtures/petrov_eleg01_cleaned.xml
|
166
|
+
- spec/fixtures/petrov_eleg01_with_endless_loop.xml
|
167
|
+
- spec/fixtures/petrov_eleg01_with_endless_loop_no_xml_header.xml
|
168
|
+
- spec/fixtures/petrov_eleg02_with_internal_error.xml
|
160
169
|
- spec/lib/llt/segmenter/api_spec.rb
|
161
170
|
- spec/lib/llt/segmenter_spec.rb
|
162
171
|
- spec/spec_helper.rb
|