This is the support web page for the article “Epic Rhythm: Metrical Shapes in Greek Hexameter”.

Sansom, Stephen A. and Fifield, David. 2024. “Epic Rhythm: Metrical Shapes in Greek Hexameter”. Greek, Roman, and Byzantine Studies 64(3). Available at: https://grbs.library.duke.edu/index.php/grbs/article/view/17015

Last updated: .

Online appendix

This is the article's full online appendix.

Two appendices report expectancy x and z data for the metrical shapes of words and appositive groups in major poems of the hexameter corpus. The Appendix linked to this paper is a synopsis of the distribution of metrical shapes in epic, while the second appendix (online) provides the diachronic distribution of each shape by text.

Tables of expectancy for every attested metrical shape, by work

tables.html

Archival download

In order to reproduce the experimental data, you need both the epic-rhythm source code and the SEDES source code.

PDF and OOXML of the article itself

EpicRhythm.pdf
EpicRhythm.docx

EpicAppendix.pdf
EpicAppendix.docx

Zip file and Git bundle of the epic-rhythm source code at tag grbs2024

epic-rhythm.grbs2024.zip
epic-rhythm.grbs2024.bundle

Which were created like this:

git archive --prefix=epic-rhythm.grbs2024/ --output=epic-rhythm.grbs2024.zip grbs2024
git checkout grbs2024; git bundle create epic-rhythm.grbs2024.bundle HEAD master grbs2024
Zip file and Git bundle of the SEDES source code at tag epic-rhythm

sedes.epic-rhythm.zip
sedes.epic-rhythm.bundle

Which were created like this:

git archive --prefix=sedes.epic-rhythm/ --output=sedes.epic-rhythm.zip epic-rhythm
git checkout epic-rhythm; git bundle create sedes.epic-rhythm.bundle HEAD master epic-rhythm

Reproducing the source environment

In order to reproduce our tables and figures, you will need the epic-rhythm source code (at tag grbs2024, commit 4891970f) and the SEDES source code (at tag epic-rhythm, commit 2ec2a124) as archived above. You will also need the appropriate version of dependencies: specifically cltk and its grc_models_cltk corpus, which is independently versioned. The dependencies notably affect lemmatization, so you will need to use the same versions we used in order to obtain the same results.

Clone the source code repositories in sibling subdirectories and check out the appropriate tags.

$ git clone -b grbs2024 https://github.com/sasansom/epic-rhythm
$ git clone -b epic-rhythm https://github.com/sasansom/sedes

Enter the sedes subdirectory and follow the documented setup instructions, but specify particular versions for cltk and nltk:

$ cd sedes
sedes$ python3 -m venv venv
sedes$ source venv/bin/activate
sedes$ pip3 install -U pip setuptools wheel
sedes$ pip3 install --force-reinstall cltk==v1.1.7 bs4 lxml

Install the grc_models_cltk corpus. The command below will install the latest version; later we will revert it to an older version if necessary.

sedes$ python3 -c 'from cltk.data.fetch import FetchCorpus; FetchCorpus("grc").import_corpus("grc_models_cltk")'

The proper version of grc_models_cltk is 94c04acac4405e264322d825978a2f2a80d01da5. You will have to manually check out an old version if CLTK has installed a newer one. By default, CLTK installs a shallow clone of the corpus, which you will first have to promote into a full clone.

$ cd ~/cltk_data/grc/model/grc_models_cltk
~/cltk_data/grc/model/grc_models_cltk$ git fetch --unshallow
~/cltk_data/grc/model/grc_models_cltk$ git checkout 94c04acac4405e264322d825978a2f2a80d01da5
Note: switching to '94c04acac4405e264322d825978a2f2a80d01da5'.
~/cltk_data/grc/model/grc_models_cltk$ git log -1
commit 94c04acac4405e264322d825978a2f2a80d01da5 (HEAD, origin/master, origin/HEAD, master)
Merge: 3ded3be a325a05
Author: Kyle P. Johnson <kyle@kyle-p-johnson.com>
Date:   Fri Apr 30 07:49:41 2021 -0700

    Merge pull request #4 from diyclassics/lemma-refactor
    
    Remove blank lemmas from greek_lemmatized_sents

Be aware the CLTK corpora are a system-wide shared resource, and checking out an old version for SEDES may affect other projects you have on the same computer that use CLTK.

Now go into the epic-rhythm subdirectory. Install its dependencies. Then run make, giving it the path to the sedes checkout.

sedes$ cd ../epic-rhythm
epic-rhythm$ pip3 install --force-reinstall pandas
epic-rhythm$ make SEDES=../sedes

This will create various CSV files, HTML tables, and graphics. unexpected.txt supports the calculations that are reported in the text.

Calculations

Here we show our reasoning and justification for some specific claims and how to reproduce our calculations.


…the percentage of windows of 181 shapes that have 0 or 1 unexpected shapes is 0.72%.

unexpected.txt:

          0           1           2           3           4           5           6           7           8           9          10          11          12          13          14          15          16          17          18          19 
  0.1004825   0.7232407   2.6633718   7.4877026  15.9241474  28.1415402  42.3329478  56.8976597  71.5967378  82.6334607  89.8080316  94.3209833  96.9954549  98.3414537  99.1546613  99.7003050  99.9170435  99.9818898  99.9988316 100.0000000 

…the shape of ἐγείνατο (⏑ ‒ ⏑ ⏑) is very unexpected (z = −5.40) at sedes 2.5; it is much more common, for example, at sedes 6.5.

expectancy.sedes-metrical_shape.archaic.csv:

⏑–⏑⏑,2.5,158,-5.39801722238418
⏑–⏑⏑,4.5,2,-5.56034176297879
⏑–⏑⏑,6.5,5523,+0.184490215372676
⏑–⏑⏑,8.5,28,-5.53328767287969

By this definition, 3.30% (13,160/399,327) of words or appositive groups in the epic corpus have a metrical shape that is unexpected at the sedes at which it appears…

unexpected.txt:

Percentage of unexpected words 13160/399327 = 3.30%

4.00% (3,551/88,796) of shapes in the Iliad are unexpected (an average of 147.96 per book, which themselves average roughly 3,700 shapes)…

unexpected.txt:

Iliad
Percentage of unexpected words 3551/88796 = 4.00%
Unexpected words per book 3551/24 = 147.96
Average words per book 88796/24 = 3699.83

Book 10 having the least proportion of unexpected shapes at 3.27% (108/3,303) and Book 2 having the greatest at 4.68% (227/4,850).

unexpected.txt:

   book_n num_words num_unexpected pct_unexpected era
   <chr>      <int>          <int>          <dbl> <fct>
 1 10          3303            108           3.27 archaic
 2 3           2589             87           3.36 archaic
 3 16          4903            167           3.41 archaic
 4 24          4627            161           3.48 archaic
 5 17          4284            155           3.62 archaic
 6 13          4757            174           3.66 archaic
 7 11          4825            183           3.79 archaic
 8 15          4231            164           3.88 archaic
 9 1           3518            137           3.89 archaic
10 19          2404             94           3.91 archaic
11 9           3960            159           4.02 archaic
12 20          2857            116           4.06 archaic
13 8           3132            128           4.09 archaic
14 6           2974            123           4.14 archaic
15 7           2709            113           4.17 archaic
16 22          2993            125           4.18 archaic
17 21          3504            147           4.20 archaic
18 5           5152            218           4.23 archaic
19 18          3544            150           4.23 archaic
20 12          2628            112           4.26 archaic
21 4           3030            134           4.42 archaic
22 14          2981            134           4.50 archaic
23 23          5041            235           4.66 archaic
24 2           4850            227           4.68 archaic