Parallel hypertext: Storyspace metamorphosed 2

metasspace29

Having worked out a framework for displaying parallel hypertext, my next task was to load it up with the whole of the Perseus versions of Book 1 of Ovid’s Metamorphoses, in both Latin and English translation.

To do this, I worked on text files containing the versions provided on Perseus. This editorial phase required me to divide those texts up into the chunks to go into each writing space, check the text and the numbering of Latin lines (there is one significant textual issue in the book which I had to reconcile), and match the division of the English translation to the Latin. There are no shortcuts here, but working methodically in BBEdit with printed versions was fairly straightforward and swift.

metasspace21

I then created all 38 writing spaces to accommodate the Latin text, copying and pasting the content in from BBEdit. Each writing space is named according to the range of line numbers which it contains, and the text formatted to a common standard.

One minor change which I have made is in the treatment of line numbers (Latin text only). It might have been nice to have placed them in a margin, but shrinking their size and putting them at the start and end, and at the beginning of intermediate lines, makes them accessible but inconspicuous. Your taste and preferred solution may be different.

metasspace22

The matching English writing spaces are named identically – made possible by keeping them in separate containers – and have no formatting or adornments beyond the text colour.

metasspace23

I then generated the composite writing spaces one by one, arranged them according to the sections within the book, and linked them using plain links. These were the most demanding task, made much simpler and more rhythmic by Storyspace’s wonderful Duplicate command. This was my workflow:

metasspace24

I selected the last-created writing space (in Edit mode), and invoked the Duplicate command in the Edit menu.

metasspace25

For writing spaces with a title ending in a number, Storyspace conveniently creates a new identical writing space with that number incremented, so in most cases I did not even have to edit the title of the duplicate. However, the references to the names of the included writing spaces had to be changed to bring in the content from the next Latin and English sections.

metasspace26

That was simply done by referring to my edited Latin text (in BBEdit), which shows the line numbers for each section. One convenience which I did not use was to give these writing spaces a prototype with smart quotes disabled. When editing the ^include commands, the plain quotes will normally be automatically converted to smart quotes, which do not work with ^include. I was content to correct these as they occurred, by replacing them with Control-Shift-” quotes, but you can disable smart quotes in the Inspector, and apply that to their prototype.

metasspace27

Once I was happy with the conditional include commands to bring in that writing space’s content, I switched to Read mode and checked that the code had worked.

metasspace28

All that remained was to drag the new writing space into the right location in the Map view, and connect its plain link up with the previous writing space in sequence.

metasspace29

The end result is a Storyspace/Tinderbox document which now contains the whole of Book 1 in Latin and English parallel text. You can download a copy from here: ovidmetamorphosesbook1a

As far as hypertext goes, this is only a start, of course. My next task is to add in the paintings which I have been showing in my articles here. There are many other really neat things which you can do with the text alone, though. For example, Ovid used certain rhetorical modes, such as ecphrasis, repeatedly, and used parallel structures and words in different sections of text. Writing spaces can be added to examine those, and to draw comparisons between the myths of Daphne and Io.

I will be looking at those in future articles here, as well as adding the other books of Metamorphoses.